/* =====================================================================
   NC SKIN – 1:1 Optik-Portierung des Lovable-Frontends nach Storefront
   Quelle der Werte: src/index.css, tailwind.config.ts,
   src/components/Navbar.tsx, src/components/Footer.tsx
   NUR Optik. Keine Funktions-/Checkout-/Plugin-Logik.
   Alles unter body.nc-skin gescoped.
   ===================================================================== */

body.nc-skin {
  /* --- Design Tokens: exakt aus src/index.css --- */
  --background: 230 30% 10%;
  --foreground: 40 30% 96%;
  --card: 230 28% 13%;
  --card-foreground: 40 30% 96%;
  --popover: 230 28% 13%;
  --popover-foreground: 40 30% 96%;
  --primary: 328 100% 54%;
  --primary-foreground: 0 0% 100%;
  --primary-glow: 328 100% 68%;
  --secondary: 193 100% 50%;
  --secondary-foreground: 230 30% 10%;
  --muted: 230 20% 20%;
  --muted-foreground: 230 12% 70%;
  --accent: 280 100% 70%;
  --accent-foreground: 0 0% 100%;
  --destructive: 0 72% 55%;
  --destructive-foreground: 0 0% 100%;
  --border: 230 20% 24%;
  --input: 230 20% 24%;
  --ring: 328 100% 54%;
  --radius: 0.75rem;

  --gradient-primary: linear-gradient(135deg, hsl(328 100% 54%) 0%, hsl(280 100% 70%) 50%, hsl(193 100% 50%) 100%);
  --gradient-secondary: linear-gradient(135deg, hsl(193 100% 50%), hsl(280 100% 70%));
  --gradient-accent: linear-gradient(135deg, hsl(280 100% 70%), hsl(328 100% 54%));
  --gradient-text: linear-gradient(to right, hsl(328 100% 68%), hsl(193 100% 65%));
  --gradient-hot: linear-gradient(135deg, hsl(328 100% 54%), hsl(280 100% 70%));

  --rare-border: 280 100% 70%;
  --wanted-border: 193 100% 50%;
  --hot-border: 328 100% 54%;

  --shadow-soft: 0 4px 20px -2px hsl(230 30% 5% / 0.5);
  --shadow-glow: 0 0 24px hsl(328 100% 54% / 0.35);
  --shadow-neon: 0 0 16px hsl(193 100% 50% / 0.3);
  --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);

  --nc-font-sans: 'Inter', system-ui, sans-serif;
  --nc-font-category: 'Outfit', system-ui, sans-serif;

  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: var(--nc-font-sans);
  -webkit-font-smoothing: antialiased;
}

body.nc-skin,
body.nc-skin p,
body.nc-skin li,
body.nc-skin td,
body.nc-skin th,
body.nc-skin label,
body.nc-skin input,
body.nc-skin select,
body.nc-skin textarea,
body.nc-skin button {
  font-family: var(--nc-font-sans);
}

body.nc-skin h1,
body.nc-skin h2,
body.nc-skin h3,
body.nc-skin h4,
body.nc-skin h5,
body.nc-skin h6 {
  font-family: var(--nc-font-category);
  font-weight: 600;
  letter-spacing: -0.025em; /* tracking-tight */
  color: hsl(var(--foreground));
}

body.nc-skin a { color: hsl(var(--foreground)); }
body.nc-skin a:hover { color: hsl(var(--primary)); }

/* Tailwind-Container: center, padding 2rem, 2xl max-width 1400px */
.nc-container {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (min-width: 1536px) { .nc-container { max-width: 1400px; } }

.nc-glass {
  background-color: hsl(var(--card) / 0.4);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid hsl(var(--border) / 0.3);
}

.nc-gradient-text {
  background: var(--gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* =====================================================================
   TOP BAR  (Navbar.tsx: hidden sm:block, bg-muted/30, py-2 px-4, text-xs)
   ===================================================================== */
.nc-topbar {
  display: none;
  background-color: hsl(var(--muted) / 0.3);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border-bottom: 1px solid hsl(var(--border) / 0.3);
  padding: 0.5rem 1rem;
}
@media (min-width: 640px) { .nc-topbar { display: block; } }

.nc-topbar__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-size: 0.75rem;
  line-height: 1rem;
  color: hsl(var(--muted-foreground));
  overflow-x: auto;
}
@media (min-width: 768px) { .nc-topbar__inner { gap: 1.5rem; } }

.nc-topbar__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
}
.nc-topbar__item i { font-style: normal; color: hsl(var(--primary)); }
.nc-topbar__item--md,
.nc-topbar__item--lg,
.nc-topbar__item--xl { display: none; }
@media (min-width: 768px)  { .nc-topbar__item--md { display: flex; } }
@media (min-width: 1024px) { .nc-topbar__item--lg { display: flex; } }
@media (min-width: 1280px) { .nc-topbar__item--xl { display: flex; } }

/* =====================================================================
   HEADER / NAVBAR
   ===================================================================== */
.nc-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background-color: hsl(var(--background) / 0.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid hsl(var(--border) / 0.3);
}
.nc-header__inner { padding-top: 0.5rem; padding-bottom: 0.5rem; }
@media (min-width: 640px) { .nc-header__inner { padding-top: 1rem; padding-bottom: 1rem; } }

.nc-header__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (min-width: 1024px) {
  .nc-header__row {
    display: grid;
    grid-template-columns: 200px 1fr 200px;
    align-items: center;
  }
}

/* Left: Social icons (lg+) */
.nc-header__social { display: none; }
@media (min-width: 1024px) {
  .nc-header__social { display: flex; align-items: center; gap: 0.75rem; width: 200px; }
}

.nc-iconbtn {
  width: 2.5rem;
  height: 2.5rem;
  aspect-ratio: 1 / 1;
  flex-shrink: 0;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: hsl(var(--card) / 0.4);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid hsl(var(--border) / 0.3);
  transition: var(--transition-smooth);
  color: hsl(var(--muted-foreground));
}
.nc-iconbtn:hover { background-color: hsl(var(--muted) / 0.5); }
.nc-iconbtn svg { width: 1.25rem; height: 1.25rem; }
.nc-iconbtn--sm { width: 2rem; height: 2rem; }
.nc-iconbtn--sm svg { width: 1rem; height: 1rem; }
@media (min-width: 640px) {
  .nc-iconbtn--sm { width: 2.5rem; height: 2.5rem; }
  .nc-iconbtn--sm svg { width: 1.25rem; height: 1.25rem; }
}
.nc-iconbtn--facebook  { color: #1877F2; }
.nc-iconbtn--youtube   { color: #FF0000; }
.nc-iconbtn--instagram { color: #E1306C; }
.nc-iconbtn--whatsapp  { color: #25D366; }

/* Logo */
.nc-header__logo {
  flex: 1 1 0%;
  display: flex;
  justify-content: flex-start;
}
@media (min-width: 1024px) {
  .nc-header__logo { flex: none; justify-content: center; }
}
.nc-header__logo a { display: flex; align-items: center; }
.nc-header__logo img {
  width: auto;
  height: 2.5rem;
  object-fit: contain;
  transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
}
@media (min-width: 640px)  { .nc-header__logo img { height: 4rem; } }
@media (min-width: 1024px) { .nc-header__logo img { height: 8rem; } }
body.nc-scrolled .nc-header__logo img { height: 2.5rem; }
@media (min-width: 640px)  { body.nc-scrolled .nc-header__logo img { height: 4rem; } }
@media (min-width: 1024px) { body.nc-scrolled .nc-header__logo img { height: 4rem; } }

/* Right: actions */
.nc-header__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media (min-width: 640px)  { .nc-header__actions { gap: 0.75rem; } }
@media (min-width: 1024px) { .nc-header__actions { justify-content: flex-end; } }

.nc-hide-sm { display: none; }
@media (min-width: 640px) { .nc-hide-sm { display: flex; } }
.nc-only-mobile { display: flex; }
@media (min-width: 1024px) { .nc-only-mobile { display: none; } }

/* Cart button – exakt wie CartDrawer.tsx Trigger (Gradient-Border) */
.nc-cartbtn {
  position: relative;
  width: 2rem;
  height: 2rem;
  aspect-ratio: 1 / 1;
  flex-shrink: 0;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
  border: 2px solid transparent;
  background-image:
    linear-gradient(hsl(230 30% 12%), hsl(230 30% 12%)),
    linear-gradient(135deg, hsl(328 100% 54%) 0%, hsl(193 100% 50%) 50%, hsl(280 100% 70%) 100%);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  color: hsl(var(--primary));
}
@media (min-width: 640px) { .nc-cartbtn { width: 2.5rem; height: 2.5rem; } }
.nc-cartbtn:hover { transform: scale(1.1); color: hsl(var(--secondary)); }
.nc-cartbtn svg { width: 1rem; height: 1rem; }
@media (min-width: 640px) { .nc-cartbtn svg { width: 1.25rem; height: 1.25rem; } }
.nc-cartbtn__count {
  position: absolute;
  top: -0.25rem;
  right: -0.25rem;
  height: 1.25rem;
  min-width: 1.25rem;
  padding: 0 0.25rem;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
  color: #fff;
  background-image: linear-gradient(135deg, hsl(280 100% 70%) 0%, hsl(328 100% 54%) 100%);
}

/* =====================================================================
   KATEGORIE-LEISTE
   Desktop: Icon-Kreise 44px, gap-2, mittig; Mobile: Liste
   ===================================================================== */
.nc-catbar {
  display: none;
  align-items: center;
  justify-content: center;
  margin-top: 1rem;
  padding-bottom: 0.5rem;
}
@media (min-width: 1024px) { .nc-catbar { display: flex; margin-top: 1.5rem; } }
body.nc-menu-open .nc-catbar { display: block; }
@media (min-width: 1024px) { body.nc-menu-open .nc-catbar { display: flex; } }

/* Desktop icon nav */
.nc-catnav-desktop { display: none; }
@media (min-width: 1024px) {
  .nc-catnav-desktop {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
  }
}
.nc-cat {
  position: relative;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid hsl(var(--border) / 0.4);
  transition: all 0.2s;
  color: hsl(var(--muted-foreground));
}
.nc-cat:hover { border-color: hsl(var(--border) / 0.7); background-color: hsl(var(--muted) / 0.4); }
.nc-cat svg { width: 1.25rem; height: 1.25rem; }
.nc-cat--active {
  background-color: hsl(var(--primary) / 0.1);
  border-color: hsl(var(--primary) / 0.3);
}
.nc-cat--center {
  background-color: hsl(var(--primary));
  border-color: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
}
.nc-cat--center:hover { background-color: hsl(var(--primary) / 0.85); }
/* Tooltip (nur Optik, CSS-only) */
.nc-cat::after {
  content: attr(data-label);
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 50%;
  transform: translateX(-50%);
  padding: 0.25rem 0.6rem;
  border-radius: calc(var(--radius) - 4px);
  background-color: hsl(var(--popover));
  color: hsl(var(--popover-foreground));
  border: 1px solid hsl(var(--border));
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s;
  z-index: 60;
}
.nc-cat:hover::after { opacity: 1; }

/* Mobile category list */
.nc-catnav-mobile {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0 0.75rem 0.75rem;
}
@media (min-width: 1024px) { .nc-catnav-mobile { display: none; } }
.nc-catnav-mobile a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-radius: 0.5rem;
  transition: all 0.2s;
  background-color: hsl(var(--card) / 0.4);
  border: 1px solid hsl(var(--border) / 0.3);
  color: hsl(var(--foreground) / 0.9);
  font-family: var(--nc-font-category);
  font-weight: 500;
  font-size: 1rem;
}
.nc-catnav-mobile a:hover { border-color: hsl(var(--primary) / 0.3); background-color: hsl(var(--muted) / 0.4); }
.nc-catnav-mobile a svg { width: 1.25rem; height: 1.25rem; flex-shrink: 0; color: hsl(var(--muted-foreground)); }
.nc-catnav-mobile a.nc-catnav-mobile__cta {
  justify-content: center;
  gap: 0.5rem;
  background-color: hsl(var(--primary));
  border-color: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  font-weight: 600;
}
.nc-catnav-mobile a.nc-catnav-mobile__cta svg { color: hsl(var(--primary-foreground)); }
.nc-catnav-mobile a.nc-catnav-mobile__cta:hover { background-color: hsl(var(--primary) / 0.85); }

/* =====================================================================
   FOOTER  (Footer.tsx: 4 Spalten, py-8 sm:py-12, border-t, bg-card/50)
   ===================================================================== */
.nc-footer {
  padding: 2rem 1rem;
  border-top: 1px solid hsl(var(--border) / 0.5);
  background-color: hsl(var(--card) / 0.5);
  color: hsl(var(--foreground));
}
@media (min-width: 640px) { .nc-footer { padding: 3rem 1.5rem; } }
@media (min-width: 1024px) { .nc-footer { padding-left: 2rem; padding-right: 2rem; } }

.nc-footer__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 640px) { .nc-footer__grid { gap: 2rem; margin-bottom: 2rem; } }
@media (min-width: 768px) { .nc-footer__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.nc-footer__brand { grid-column: span 2 / span 2; display: flex; flex-direction: column; gap: 0.75rem; }
@media (min-width: 640px) { .nc-footer__brand { grid-column: span 1 / span 1; gap: 1rem; } }
.nc-footer__brand h3 {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
  word-break: break-word;
}
@media (min-width: 640px) { .nc-footer__brand h3 { font-size: 1.5rem; } }
.nc-footer__brand p { font-size: 0.75rem; color: hsl(var(--muted-foreground)); margin: 0; }
@media (min-width: 640px) { .nc-footer__brand p { font-size: 0.875rem; } }
.nc-footer__social { display: flex; gap: 0.5rem; }
@media (min-width: 640px) { .nc-footer__social { gap: 0.75rem; } }
.nc-footer__social .nc-iconbtn { width: 2rem; height: 2rem; }
.nc-footer__social .nc-iconbtn svg { width: 1rem; height: 1rem; }
@media (min-width: 640px) {
  .nc-footer__social .nc-iconbtn { width: 2.5rem; height: 2.5rem; }
  .nc-footer__social .nc-iconbtn svg { width: 1.25rem; height: 1.25rem; }
}

.nc-footer__col { display: flex; flex-direction: column; gap: 0.75rem; }
@media (min-width: 640px) { .nc-footer__col { gap: 1rem; } }
.nc-footer__col h4 {
  font-weight: 600;
  font-size: 0.875rem;
  margin: 0;
}
@media (min-width: 640px) { .nc-footer__col h4 { font-size: 1rem; } }
.nc-footer__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.nc-footer__col li { margin: 0; }
.nc-footer__col a {
  font-size: 0.75rem;
  color: hsl(var(--foreground) / 0.88);
  transition: var(--transition-smooth);
}
@media (min-width: 640px) { .nc-footer__col a { font-size: 0.875rem; } }
.nc-footer__col a:hover,
.nc-footer__col a:focus-visible { color: hsl(var(--primary)); text-shadow: 0 0 12px hsl(var(--primary) / 0.45); }

/* Zahlungs-/Versand-Chips mit Icons */
.nc-footer__chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 0.75rem; }
.nc-footer__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.6rem;
  border-radius: 0.5rem;
  border: 1px solid hsl(var(--border) / 0.5);
  background: hsl(var(--card) / 0.5);
  color: hsl(var(--foreground) / 0.9);
  font-size: 0.7rem;
  line-height: 1;
  transition: var(--transition-smooth);
}
.nc-footer__chip svg { width: 1rem; height: 1rem; color: hsl(var(--accent)); flex: 0 0 auto; }
.nc-footer__chip b { font-weight: 500; white-space: nowrap; }
.nc-footer__chip:hover { border-color: hsl(var(--primary) / 0.6); color: hsl(var(--primary)); }
.nc-footer__chip:hover svg { color: hsl(var(--primary)); }
.nc-footer__metalink { display: inline-block; font-size: 0.72rem; }


.nc-footer__meta {
  border-top: 1px solid hsl(var(--border) / 0.3);
  padding-top: 1.5rem;
  padding-bottom: 0.5rem;
  display: grid;
  gap: 1rem;
}
@media (min-width: 768px) { .nc-footer__meta { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.nc-footer__meta p {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: hsl(var(--muted-foreground));
  margin: 0 0 0.5rem;
}
.nc-footer__meta a {
  font-size: 0.75rem;
  color: hsl(var(--accent));
  text-align: left;
  transition: var(--transition-smooth);
}
@media (min-width: 640px) { .nc-footer__meta a { font-size: 0.875rem; } }
.nc-footer__meta a:hover { color: hsl(var(--primary)); }

.nc-footer__b2b { display: flex; justify-content: center; padding: 1rem 0; }
.nc-footer__b2b a {
  font-size: 0.875rem;
  font-weight: 500;
  color: hsl(var(--muted-foreground));
  transition: var(--transition-smooth);
}
.nc-footer__b2b a:hover { color: hsl(var(--primary)); }

.nc-footer__bottom {
  padding-top: 1.5rem;
  border-top: 1px solid hsl(var(--border) / 0.3);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}
@media (min-width: 640px) { .nc-footer__bottom { padding-top: 2rem; } }
.nc-footer__bottom p {
  font-size: 0.75rem;
  color: hsl(var(--muted-foreground));
  text-align: center;
  margin: 0;
}
@media (min-width: 640px) { .nc-footer__bottom p { font-size: 0.875rem; } }

/* =====================================================================
   INHALT: Storefront-Flächen an das Theme angleichen (nur Optik)
   ===================================================================== */
body.nc-skin #page,
body.nc-skin .site-content,
body.nc-skin .content-area,
body.nc-skin #content { background: transparent; }

body.nc-skin .site-header { padding: 0 !important; margin: 0 !important; border: 0 !important; }
body.nc-skin .site-header,
body.nc-skin .storefront-breadcrumb,
body.nc-skin .site-footer { background: transparent; }

body.nc-skin ul.products li.product { background-color: hsl(var(--card) / 0.4); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); }
body.nc-skin ul.products li.product,
body.nc-skin .woocommerce-tabs,
body.nc-skin .cart_totals,
body.nc-skin .woocommerce-Address,
body.nc-skin .woocommerce-order,
body.nc-skin #order_review {
  background-color: hsl(var(--card) / 0.6);
  border: 1px solid hsl(var(--border) / 0.4);
  border-radius: var(--radius);
  padding: 0.75rem;
  transition: var(--transition-smooth);
}
body.nc-skin ul.products li.product:hover {
  border-color: hsl(var(--primary) / 0.45);
  box-shadow: var(--shadow-glow);
  transform: translateY(-2px);
}
body.nc-skin ul.products li.product img { border-radius: calc(var(--radius) - 2px); }
body.nc-skin ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--nc-font-category);
  font-size: 0.95rem;
  color: hsl(var(--foreground));
}
body.nc-skin ul.products li.product .price,
body.nc-skin .price ins,
body.nc-skin .price > .amount { color: hsl(var(--primary)); font-weight: 600; }
body.nc-skin .price del { color: hsl(var(--muted-foreground)); }

body.nc-skin .button,
body.nc-skin button.button,
body.nc-skin input[type="submit"],
body.nc-skin a.button,
body.nc-skin .woocommerce #respond input#submit,
body.nc-skin .added_to_cart {
  background-image: var(--gradient-primary);
  background-color: transparent;
  color: hsl(var(--primary-foreground));
  border: 0;
  border-radius: 9999px;
  font-family: var(--nc-font-category);
  font-weight: 600;
  text-shadow: none;
  transition: var(--transition-smooth);
}
body.nc-skin .button:hover,
body.nc-skin button.button:hover,
body.nc-skin input[type="submit"]:hover,
body.nc-skin a.button:hover {
  filter: brightness(1.08);
  box-shadow: var(--shadow-glow);
  color: hsl(var(--primary-foreground));
}
body.nc-skin .button.alt { background-image: var(--gradient-accent); }

body.nc-skin input[type="text"],
body.nc-skin input[type="email"],
body.nc-skin input[type="tel"],
body.nc-skin input[type="password"],
body.nc-skin input[type="search"],
body.nc-skin input[type="number"],
body.nc-skin select,
body.nc-skin textarea,
body.nc-skin .select2-container .select2-selection {
  background-color: hsl(var(--card) / 0.7);
  border: 1px solid hsl(var(--input));
  color: hsl(var(--foreground));
  border-radius: calc(var(--radius) - 2px);
  box-shadow: none;
}
body.nc-skin input::placeholder,
body.nc-skin textarea::placeholder { color: hsl(var(--muted-foreground)); }
body.nc-skin input:focus,
body.nc-skin select:focus,
body.nc-skin textarea:focus {
  outline: none;
  border-color: hsl(var(--ring));
  box-shadow: 0 0 0 2px hsl(var(--ring) / 0.35);
}

body.nc-skin table,
body.nc-skin table th,
body.nc-skin table td {
  background-color: transparent;
  color: hsl(var(--foreground));
  border-color: hsl(var(--border) / 0.5);
}

body.nc-skin .woocommerce-message,
body.nc-skin .woocommerce-info,
body.nc-skin .woocommerce-error {
  background-color: hsl(var(--card) / 0.7);
  border-top-color: hsl(var(--primary));
  color: hsl(var(--foreground));
  border-radius: var(--radius);
}

/* Kategorie-Badges (rein visuell) */
.nc-badge {
  display: inline-block;
  padding: 0.15rem 0.6rem;
  border-radius: 9999px;
  font-family: var(--nc-font-category);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 0.35rem;
  color: hsl(var(--foreground));
}
.nc-badge--stock { background: hsl(150 60% 40% / 0.18); border: 1px solid hsl(150 60% 45% / 0.6); color: hsl(150 70% 70%); }
.nc-badge--hot   { background: hsl(var(--hot-border) / 0.15); border: 1px solid hsl(var(--hot-border) / 0.7); color: hsl(328 100% 74%); }
.nc-badge--rare  { background: hsl(var(--rare-border) / 0.15); border: 1px solid hsl(var(--rare-border) / 0.7); color: hsl(280 100% 82%); }

/* Storefront-Reste, die die Kopie stören würden */
body.nc-skin .storefront-handheld-footer-bar {
  background-color: hsl(var(--card));
  border-top: 1px solid hsl(var(--border) / 0.5);
}
body.nc-skin .storefront-handheld-footer-bar a { color: hsl(var(--foreground)); }

/* =====================================================================
   CONTENT AREA — 1:1 Angleichung an das Lovable-Frontend
   Quelle: ProductHero.tsx, TrustBar.tsx, Testimonials.tsx,
   NewsletterCta.tsx, ProductCard.tsx, CategoryHero.tsx,
   Category.tsx, ProductDetail.tsx, CartDrawer.tsx, Checkout.tsx
   ===================================================================== */

/* ---------- Home: Product Hero (3 Kacheln) ---------- */
.nc-hero {
  position: relative;
  overflow: hidden;
  background-image:
    radial-gradient(1200px 500px at 15% -10%, hsl(var(--primary) / 0.28), transparent 60%),
    radial-gradient(900px 500px at 100% 110%, hsl(var(--secondary) / 0.22), transparent 60%),
    linear-gradient(180deg, hsl(var(--background)) 0%, hsl(var(--card)) 100%);
}
.nc-hero__grain {
  pointer-events: none;
  position: absolute;
  inset: 0;
  opacity: 0.06;
  mix-blend-mode: overlay;
  background-image: radial-gradient(hsl(var(--foreground)) 1px, transparent 1px);
  background-size: 3px 3px;
}
.nc-hero__inner { position: relative; padding-top: 2.5rem; padding-bottom: 2.5rem; max-width: 80rem; }
@media (min-width: 640px) { .nc-hero__inner { padding-top: 4rem; padding-bottom: 4rem; padding-left: 1.5rem; padding-right: 1.5rem; } }
@media (min-width: 1024px) { .nc-hero__inner { padding-top: 6rem; padding-bottom: 6rem; padding-left: 2rem; padding-right: 2rem; } }

.nc-hero__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  align-items: center;
}
@media (min-width: 768px) { .nc-hero__grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; } }
@media (min-width: 1024px) { .nc-hero__grid { grid-template-columns: repeat(3, 1fr); gap: 2rem; } }

.nc-tile { position: relative; aspect-ratio: 1 / 1; width: 100%; }
.nc-tile__glow {
  position: absolute; inset: 0; border-radius: 2rem;
  filter: blur(48px); opacity: 0.6;
}
.nc-tile__card {
  position: relative; display: block; width: 100%; height: 100%;
  border-radius: 2rem; overflow: hidden;
  border: 1px solid hsl(var(--border));
  box-shadow: 0 25px 50px -12px hsl(230 30% 3% / 0.7);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  background-image: linear-gradient(180deg, hsl(var(--card)) 0%, hsl(var(--background)) 100%);
}
.nc-tile__card:hover { transform: translateY(-2px); }
.nc-tile__card img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nc-tile__fade {
  position: absolute; left: 0; right: 0; bottom: 0; height: 10rem;
  background-image: linear-gradient(to top, hsl(var(--background) / 0.95), hsl(var(--background) / 0.6) 45%, transparent);
}
.nc-tile__chips { position: absolute; top: 1rem; left: 1rem; display: flex; flex-direction: column; gap: 0.5rem; align-items: flex-start; }
.nc-chip {
  display: inline-flex; align-items: center; gap: 0.375rem;
  padding: 0.375rem 0.75rem; border-radius: 9999px;
  font-size: 0.75rem; font-weight: 700; color: #fff;
  box-shadow: 0 10px 15px -3px hsl(230 30% 3% / 0.5);
}
.nc-chip svg { width: 0.875rem; height: 0.875rem; }
.nc-chip--primary { background-image: var(--gradient-hot); }
.nc-chip--cyan { background-image: var(--gradient-secondary); color: hsl(var(--background)); }
.nc-chip--green { background-image: linear-gradient(135deg, hsl(150 60% 40%), hsl(170 60% 42%)); }
.nc-chip--secondary { background-color: hsl(var(--card) / 0.85); border: 1px solid hsl(var(--primary) / 0.4); color: hsl(var(--foreground)); backdrop-filter: blur(8px); }
.nc-tile__meta {
  position: absolute; left: 0.75rem; right: 0.75rem; bottom: 0.75rem;
  display: flex; align-items: center; justify-content: space-between; gap: 0.5rem;
  padding: 0.5rem 0.75rem; border-radius: 0.625rem;
  height: 4.5rem;
  background-color: hsl(var(--card) / 0.82);
  backdrop-filter: blur(10px);
  border: 1px solid hsl(var(--primary) / 0.25);
}
.nc-tile__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 0.1rem; }
.nc-tile__label {
  font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.02em; font-weight: 800;
  color: hsl(var(--primary)); line-height: 1.15;
  overflow-wrap: anywhere;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.nc-tile__title {
  font-size: 0.625rem; font-weight: 500; line-height: 1.25; color: hsl(var(--foreground) / 0.85);
  white-space: normal; text-overflow: clip;
  overflow-wrap: anywhere; hyphens: auto;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
@media (min-width: 1024px) { .nc-tile__label { font-size: 0.75rem; line-height: 1.15; } .nc-tile__title { font-size: 0.625rem; line-height: 1.25; } }


.nc-tile__cta {
  flex-shrink: 0; display: inline-flex; align-items: center; gap: 0.375rem;
  height: 2.25rem; padding: 0 0.75rem; border-radius: calc(var(--radius) - 2px);
  background-color: hsl(var(--secondary)); color: hsl(var(--secondary-foreground));
  font-size: 0.875rem; font-weight: 500;
}
.nc-tile__cta svg { width: 0.875rem; height: 0.875rem; }
.nc-chip--gold { background-image: linear-gradient(135deg, hsl(45 95% 55%), hsl(30 90% 55%)); color: #111; }
.nc-chip--blue { background-image: linear-gradient(135deg, hsl(220 80% 55%), hsl(260 70% 55%)); }
.nc-chip--purple { background-image: linear-gradient(135deg, hsl(280 90% 60%), hsl(320 90% 60%)); }

/* Hero-Carousel (ProductHero.tsx: Seiten à 1/2/3 Kacheln, Pfeile, Dots) */
.nc-hero__carousel { position: relative; }
.nc-hero__viewport { overflow: hidden; }
.nc-hero__track { display: flex; transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1); }
.nc-hero__track > .nc-tile { flex: 0 0 100%; max-width: 100%; padding: 0 0.5rem; }
@media (min-width: 768px) { .nc-hero__track > .nc-tile { flex-basis: 50%; max-width: 50%; padding: 0 0.75rem; } }
@media (min-width: 1024px) { .nc-hero__track > .nc-tile { flex-basis: 33.3333%; max-width: 33.3333%; padding: 0 1rem; } }
.nc-hero__arrow {
  display: none; position: absolute; top: 50%; z-index: 10;
  width: 3rem; height: 3rem; border-radius: 9999px;
  border: 1px solid hsl(var(--border) / 0.6);
  background-color: hsl(var(--card) / 0.8);
  color: hsl(var(--foreground));
  backdrop-filter: blur(8px);
  align-items: center; justify-content: center; cursor: pointer;
  box-shadow: 0 10px 15px -3px hsl(230 30% 3% / 0.5);
  transition: background-color 0.2s ease;
}
.nc-hero__arrow:hover { background-color: hsl(var(--card)); }
.nc-hero__arrow svg { width: 1.5rem !important; height: 1.5rem !important; flex: 0 0 auto; }
.nc-hero__arrow--prev { left: 0; transform: translate(-50%, -50%); }
.nc-hero__arrow--next { right: 0; transform: translate(50%, -50%); }
@media (min-width: 640px) { .nc-hero__arrow { display: inline-flex; } }
@media (min-width: 1024px) {
  .nc-hero__arrow--prev { transform: translate(-33%, -50%); }
  .nc-hero__arrow--next { transform: translate(33%, -50%); }
}
.nc-hero__dots { display: flex; align-items: center; justify-content: center; gap: 0.5rem; margin-top: 2rem; }
.nc-hero__dots button {
  height: 0.375rem; border-radius: 9999px; background-color: hsl(var(--border));
  width: 0.5rem; border: 0; padding: 0; cursor: pointer; transition: all 0.3s ease;
}
.nc-hero__dots button.is-active { width: 2rem; background-color: hsl(var(--primary)); }

/* ---------- Home: Themenbereiche im Slider-Muster (UnifiedProductSlider.tsx) ---------- */
.nc-sec { padding: 1rem 0; position: relative; }
@media (min-width: 640px) { .nc-sec { padding: 2rem 0; } }
.nc-sec__box {
  border: 1px solid hsl(var(--primary) / 0.3);
  border-radius: 0.75rem; padding: 1rem;
  background-color: hsl(var(--card) / 0.3);
  backdrop-filter: blur(4px);
}
@media (min-width: 640px) { .nc-sec__box { padding: 1.5rem; } }
.nc-sec__head { text-align: center; margin-bottom: 0.75rem; }
@media (min-width: 640px) { .nc-sec__head { margin-bottom: 1.5rem; } }
.nc-sec__eyebrow {
  display: flex; align-items: center; justify-content: center; gap: 0.5rem; margin-bottom: 0.5rem;
  font-size: 0.6875rem; font-weight: 500; letter-spacing: 0.15em; text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}
.nc-sec__eyebrow svg { width: 0.75rem !important; height: 0.75rem !important; flex: 0 0 auto; color: hsl(var(--primary)); }
.nc-sec__title {
  font-size: 1rem; font-weight: 700; margin: 0;
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
@media (min-width: 640px) { .nc-sec__title { font-size: 1.5rem; } }
.nc-sec__sub { font-size: 0.75rem; color: hsl(var(--muted-foreground)); margin-top: 0.25rem; }
.nc-sec__rel { position: relative; }
.nc-sec__arrow {
  position: absolute; top: 50%; z-index: 20;
  width: 1.5rem; height: 1.5rem; border-radius: calc(var(--radius) - 2px);
  border: 1px solid hsl(var(--primary) / 0.3);
  background-color: hsl(var(--card) / 0.9); color: hsl(var(--foreground));
  backdrop-filter: blur(4px); cursor: pointer; padding: 0;
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 15px -3px hsl(230 30% 3% / 0.5);
  transition: background-color .2s ease, color .2s ease;
}
@media (min-width: 640px) { .nc-sec__arrow { width: 1.75rem; height: 1.75rem; } }
.nc-sec__arrow svg { width: 0.75rem !important; height: 0.75rem !important; flex: 0 0 auto; }
@media (min-width: 640px) { .nc-sec__arrow svg { width: 1rem !important; height: 1rem !important; } }
.nc-sec__arrow--prev { left: 0; transform: translate(-0.25rem, -50%); }
.nc-sec__arrow--next { right: 0; transform: translate(0.25rem, -50%); }
@media (min-width: 640px) {
  .nc-sec__arrow--prev { transform: translate(-0.5rem, -50%); }
  .nc-sec__arrow--next { transform: translate(0.5rem, -50%); }
}
.nc-sec__track {
  display: flex; gap: 0.5rem; overflow-x: auto; scroll-snap-type: x mandatory;
  padding-bottom: 0.5rem; padding-right: 1rem; scrollbar-width: none; -ms-overflow-style: none;
  list-style: none; margin: 0;
}
@media (min-width: 768px) { .nc-sec__track { gap: 1rem; } }
.nc-sec__track::-webkit-scrollbar { display: none; }

/* ---- Produktkarte 1:1 wie UnifiedProductSlider.tsx ---- */
.nc-card {
  flex: 0 0 calc(100% - 8px); scroll-snap-align: start; cursor: pointer;
  margin: 0 !important; max-width: none !important; list-style: none;
}
@media (min-width: 640px) { .nc-card { flex-basis: calc(33.333% - 8px); } }
@media (min-width: 768px) { .nc-card { flex-basis: calc(33.333% - 11px); } }
/* Desktop: exakt 6 Karten gleichzeitig sichtbar (5x gap 1rem + 1rem Track-Padding) */
@media (min-width: 1024px) { .nc-card { flex-basis: calc((100% - 6rem) / 6); } }
.nc-card__inner {
  position: relative; border-radius: 0.5rem; overflow: hidden;
  background-color: hsl(var(--card) / 0.4);
  backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
  border: 1px solid hsl(var(--border) / 0.3);
  transition: transform .3s ease, box-shadow .3s ease;
  height: 100%; display: flex; flex-direction: column;
  border: 1px solid transparent; background-origin: border-box;
  background-clip: padding-box, border-box;
}
.nc-card:hover .nc-card__inner { transform: scale(1.02); box-shadow: 0 0 24px hsl(var(--primary) / 0.35); }
.nc-card__status {
  position: absolute; top: 0.25rem; left: 0.25rem; z-index: 10;
  display: inline-flex; align-items: center; gap: 0.25rem;
  font-size: 10px; font-weight: 500; padding: 0.125rem 0.375rem; border-radius: 9999px;
  border: 1px solid; backdrop-filter: blur(4px); white-space: nowrap;
}
@media (min-width: 640px) { .nc-card__status { top: 0.5rem; left: 0.5rem; } }
.nc-card__status svg { width: 0.75rem !important; height: 0.75rem !important; }
.nc-card__status--in-stock { background: hsl(160 84% 39% / .2); color: hsl(158 64% 52%); border-color: hsl(160 84% 39% / .3); }
.nc-card__status--supplier { background: hsl(258 90% 66% / .2); color: hsl(255 92% 76%); border-color: hsl(258 90% 66% / .3); }
.nc-card__status--pre-order { background: hsl(217 91% 60% / .2); color: hsl(213 94% 68%); border-color: hsl(217 91% 60% / .3); }
.nc-card__status--coming-soon { background: hsl(38 92% 50% / .2); color: hsl(43 96% 56%); border-color: hsl(38 92% 50% / .3); }
.nc-card__status--sold-out { background: hsl(0 84% 60% / .2); color: hsl(0 91% 71%); border-color: hsl(0 84% 60% / .3); }
.nc-card__flags {
  position: absolute; top: 0.25rem; right: 0.25rem; z-index: 10;
  display: flex; flex-direction: column; gap: 0.125rem; align-items: flex-end;
}
@media (min-width: 640px) { .nc-card__flags { top: 0.5rem; right: 0.5rem; } }
.nc-card__sale {
  padding: 0.125rem 0.25rem; font-size: 6px; font-weight: 700; border-radius: 9999px;
  background-color: hsl(var(--destructive)); color: #fff; text-align: center;
}
@media (min-width: 640px) { .nc-card__sale { font-size: 8px; } }
.nc-card__media {
  aspect-ratio: 4 / 5; overflow: hidden; position: relative;
  display: flex; align-items: center; justify-content: center;
  background-color: hsl(var(--background) / 0.5);
}
.nc-card__media img {
  width: 100%; height: 100%; object-fit: contain; padding: 0.25rem;
  transition: transform .5s ease;
}
.nc-card:hover .nc-card__media img { transform: scale(1.1); }
.nc-card__media--out::after { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.6); z-index: 5; }
.nc-card__body { padding: 0.375rem; display: flex; flex-direction: column; flex: 1; }
@media (min-width: 640px) { .nc-card__body { padding: 0.5rem; } }
.nc-card__title {
  font-weight: 600; font-size: 9px; line-height: 1.25; margin: 0 0 0.25rem;
  color: hsl(var(--foreground)); min-height: 1.5rem;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  transition: color .2s ease;
}
@media (min-width: 640px) { .nc-card__title { font-size: 0.75rem; min-height: 2rem; } }
.nc-card:hover .nc-card__title { color: hsl(var(--primary)); }
.nc-card__foot { margin-top: auto; }
.nc-card__prices { display: flex; align-items: center; gap: 0.25rem; flex-wrap: wrap; }
.nc-card__old { font-size: 8px; color: hsl(var(--muted-foreground)); text-decoration: line-through; }
@media (min-width: 640px) { .nc-card__old { font-size: 10px; } }
.nc-card__price { font-size: 10px; font-weight: 700; color: hsl(var(--primary)); }
@media (min-width: 640px) { .nc-card__price { font-size: 0.875rem; } }
.nc-card__vat { font-size: 6px; color: hsl(var(--muted-foreground)); margin: 0.125rem 0 0; }
@media (min-width: 640px) { .nc-card__vat { font-size: 8px; } }
.nc-card a { text-decoration: none; color: inherit; display: block; height: 100%; }

.nc-sec__cta { text-align: center; margin-top: 1rem; }
.nc-sec__cta a {
  display: inline-block; padding: 0.5rem 1rem; border-radius: calc(var(--radius) - 2px);
  font-size: 0.75rem; font-weight: 600; color: #fff; text-decoration: none;
  transition: transform 0.3s ease;
}
.nc-sec__cta a:hover { transform: scale(1.05); }
.nc-sec--plain .nc-sec__box { border-color: hsl(var(--border) / 0.6); }


/* ---------- Home: Trust-Leiste ---------- */
.nc-trustbar {
  border-top: 1px solid hsl(var(--border) / 0.5);
  border-bottom: 1px solid hsl(var(--border) / 0.5);
  background-color: hsl(var(--card) / 0.3);
  backdrop-filter: blur(4px);
}
.nc-trustbar ul {
  list-style: none; margin: 0; padding: 0.75rem 0;
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.75rem;
}
@media (min-width: 640px) { .nc-trustbar ul { grid-template-columns: repeat(3, 1fr); gap: 1rem; padding: 1rem 0; } }
@media (min-width: 1024px) { .nc-trustbar ul { grid-template-columns: repeat(5, 1fr); } }
.nc-trustbar li { display: flex; align-items: center; gap: 0.5rem; margin: 0; }
@media (min-width: 640px) { .nc-trustbar li { gap: 0.75rem; } }
.nc-trustbar__icon {
  flex-shrink: 0; width: 2.25rem; height: 2.25rem; border-radius: 9999px;
  display: flex; align-items: center; justify-content: center;
  background-color: hsl(var(--primary) / 0.1);
  border: 1px solid hsl(var(--primary) / 0.2);
}
.nc-trustbar__icon svg { width: 1rem; height: 1rem; color: hsl(var(--primary)); }
@media (min-width: 640px) {
  .nc-trustbar__icon { width: 2.5rem; height: 2.5rem; }
  .nc-trustbar__icon svg { width: 1.25rem; height: 1.25rem; }
}
.nc-trustbar__t { font-size: 0.75rem; font-weight: 600; line-height: 1.25; color: hsl(var(--foreground)); margin: 0; }
.nc-trustbar__s { font-size: 0.625rem; line-height: 1.25; color: hsl(var(--muted-foreground)); margin: 0; }
@media (min-width: 640px) {
  .nc-trustbar__t { font-size: 0.875rem; }
  .nc-trustbar__s { font-size: 0.75rem; }
}

/* ---------- Home: Testimonials / Trust ---------- */
.nc-trust { padding: 3rem 0; }
@media (min-width: 640px) { .nc-trust { padding: 5rem 0; } }
.nc-trust__wrap { max-width: 72rem; margin: 0 auto; }
.nc-trust__head { text-align: center; margin-bottom: 2.5rem; }
@media (min-width: 640px) { .nc-trust__head { margin-bottom: 3.5rem; } }
.nc-trust__eyebrow { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.2em; color: hsl(var(--muted-foreground)); margin: 0 0 0.5rem; }
.nc-trust__head h2 { font-size: 1.875rem; font-weight: 700; color: hsl(var(--foreground)); margin: 0; }
@media (min-width: 640px) { .nc-trust__head h2 { font-size: 2.25rem; } }
.nc-trust__head p.sub { font-size: 0.875rem; color: hsl(var(--muted-foreground)); margin: 0.75rem auto 0; max-width: 36rem; }
.nc-trust__agg {
  border-radius: 1rem; border: 1px solid hsl(var(--border) / 0.6);
  background-color: hsl(var(--card) / 0.4); backdrop-filter: blur(4px);
  overflow: hidden; margin-bottom: 2rem;
  display: grid; grid-template-columns: 1fr;
}
@media (min-width: 768px) { .nc-trust__agg { grid-template-columns: repeat(3, 1fr); } }
.nc-trust__cell {
  padding: 1.5rem; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0.5rem;
  border-top: 1px solid hsl(var(--border) / 0.4);
}
.nc-trust__cell:first-child { border-top: 0; }
@media (min-width: 768px) {
  .nc-trust__cell { padding: 2rem; border-top: 0; border-left: 1px solid hsl(var(--border) / 0.4); }
  .nc-trust__cell:first-child { border-left: 0; }
}
.nc-trust__cell p { margin: 0; }
.nc-trust__shield { width: 3rem; height: 3rem; border-radius: 9999px; background-color: hsl(var(--primary) / 0.1); display: flex; align-items: center; justify-content: center; }
.nc-trust__shield svg { width: 1.5rem; height: 1.5rem; color: hsl(var(--primary)); }
.nc-trust__caps { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: hsl(var(--muted-foreground)); }
.nc-trust__big { font-size: 2.25rem; font-weight: 700; color: hsl(var(--foreground)); letter-spacing: -0.025em; }
.nc-trust__big span { font-size: 1.25rem; color: hsl(var(--muted-foreground)); font-weight: 500; }
.nc-trust__stars { display: flex; align-items: center; gap: 0.25rem; margin-bottom: 0.25rem; }
.nc-trust__stars svg { width: 1.25rem; height: 1.25rem; fill: hsl(var(--foreground)); color: hsl(var(--foreground)); }
.nc-trust__strong { font-size: 0.875rem; font-weight: 500; color: hsl(var(--foreground)); }
.nc-trust__muted { font-size: 0.75rem; color: hsl(var(--muted-foreground)); }
.nc-trust__nets { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.75rem; margin-bottom: 2.5rem; }
@media (min-width: 768px) { .nc-trust__nets { grid-template-columns: repeat(4, 1fr); } }
.nc-trust__net {
  display: block; border-radius: 0.75rem; border: 1px solid hsl(var(--border) / 0.6);
  background-color: hsl(var(--card) / 0.3); padding: 1rem; text-decoration: none;
  transition: background-color 0.2s, border-color 0.2s;
}
.nc-trust__net:hover { border-color: hsl(var(--primary) / 0.4); background-color: hsl(var(--card) / 0.6); }
.nc-trust__net .row { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 0.25rem; }
.nc-trust__net .lbl { font-size: 0.875rem; font-weight: 600; color: hsl(var(--foreground)); margin: 0; }
.nc-trust__net .val { font-size: 1.5rem; font-weight: 700; color: hsl(var(--foreground)); line-height: 1.2; margin: 0; }
.nc-trust__net .meta { font-size: 0.6875rem; color: hsl(var(--muted-foreground)); margin: 0.125rem 0 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nc-trust__net svg { width: 0.75rem; height: 0.75rem; color: hsl(var(--muted-foreground) / 0.6); }
.nc-trust__awards { border-radius: 1rem; border: 1px solid hsl(var(--border) / 0.6); background-color: hsl(var(--card) / 0.2); padding: 1.25rem; }
@media (min-width: 640px) { .nc-trust__awards { padding: 1.75rem; } }
.nc-trust__awards > p { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.2em; color: hsl(var(--muted-foreground)); text-align: center; margin: 0 0 1.25rem; }
.nc-trust__badges { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
@media (min-width: 768px) { .nc-trust__badges { grid-template-columns: repeat(3, 1fr); } }
.nc-trust__badge {
  display: flex; align-items: center; gap: 0.75rem;
  border-radius: 0.5rem; border: 1px solid hsl(var(--border) / 0.4);
  background-color: hsl(var(--background) / 0.4); padding: 0.75rem;
}
.nc-trust__badge .ic { flex-shrink: 0; width: 2.5rem; height: 2.5rem; border-radius: 9999px; background-color: hsl(var(--muted) / 0.6); display: flex; align-items: center; justify-content: center; }
.nc-trust__badge .ic svg { width: 1.25rem; height: 1.25rem; color: hsl(var(--foreground)); }
.nc-trust__badge .t { font-size: 0.875rem; font-weight: 600; color: hsl(var(--foreground)); margin: 0; }
.nc-trust__badge .s { font-size: 0.6875rem; color: hsl(var(--muted-foreground)); margin: 0; }

/* ---------- Home: Newsletter CTA ---------- */
.nc-news { padding: 2rem 0; }
@media (min-width: 640px) { .nc-news { padding: 3.5rem 0; } }
.nc-news__box {
  position: relative; overflow: hidden; max-width: 56rem; margin: 0 auto;
  border-radius: 1rem; border: 1px solid hsl(var(--primary) / 0.3);
  padding: 1.5rem; text-align: center;
  background-image:
    radial-gradient(ellipse at top, hsl(var(--primary) / 0.15), transparent 60%),
    linear-gradient(135deg, hsl(var(--card)) 0%, hsl(var(--background)) 100%);
}
@media (min-width: 640px) { .nc-news__box { padding: 2.5rem; } }
.nc-news__chip {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.25rem 0.75rem; border-radius: 9999px;
  background-color: hsl(var(--primary) / 0.1);
  border: 1px solid hsl(var(--primary) / 0.3);
  color: hsl(var(--primary)); font-size: 0.75rem; font-weight: 600; margin-bottom: 0.75rem;
}
.nc-news__chip svg { width: 0.875rem; height: 0.875rem; }
.nc-news__box h2 { font-size: 1.5rem; font-weight: 700; margin: 0 0 0.5rem; }
@media (min-width: 640px) { .nc-news__box h2 { font-size: 1.875rem; } }
.nc-news__box .lead { font-size: 0.875rem; color: hsl(var(--muted-foreground)); max-width: 36rem; margin: 0 auto 1.5rem; }
.nc-news__box .lead strong { color: hsl(var(--foreground)); }
.nc-news__form { display: flex; flex-direction: column; gap: 0.5rem; max-width: 28rem; margin: 0 auto; }
@media (min-width: 640px) { .nc-news__form { flex-direction: row; } }
.nc-news__field { position: relative; flex: 1 1 auto; }
.nc-news__field svg { position: absolute; left: 0.75rem; top: 50%; transform: translateY(-50%); width: 1rem; height: 1rem; color: hsl(var(--muted-foreground)); }
body.nc-skin .nc-news__field input[type="email"] { padding-left: 2.25rem; width: 100%; height: 2.5rem; }
.nc-news__fine { font-size: 0.625rem; color: hsl(var(--muted-foreground)); margin: 0.75rem 0 0; }

/* ---------- Produktarchiv / Shop / Kategorie ---------- */
body.nc-skin.woocommerce ul.products,
body.nc-skin ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1rem;
  margin: 0 0 2rem;
  list-style: none;
}
@media (min-width: 768px) { body.nc-skin.woocommerce ul.products, body.nc-skin ul.products { grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)) !important; } }
@media (min-width: 1024px) { body.nc-skin ul.products { gap: 1.5rem; } }
body.nc-skin ul.products::before,
body.nc-skin ul.products::after { display: none !important; }

body.nc-skin ul.products li.product {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  clear: none !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--radius);
  background-color: hsl(var(--card) / 0.4);
  backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
  border: 1px solid hsl(var(--border) / 0.3);
  transition: var(--transition-smooth);
  text-align: left;
}
body.nc-skin ul.products li.product:hover { box-shadow: var(--shadow-neon); }
body.nc-skin ul.products li.product > a.woocommerce-LoopProduct-link { display: block; }
body.nc-skin ul.products li.product .nc-badge {
  margin: 0;
}
body.nc-skin ul.products li.product .nc-loopbadges {
  display: flex; flex-wrap: wrap; gap: 0.25rem; align-items: center;
  padding: 0.5rem; background-color: hsl(var(--background) / 0.5);
  min-height: 2.25rem;
}
body.nc-skin ul.products li.product img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  padding: 0.5rem;
  margin: 0;
  background-image: linear-gradient(to bottom right, hsl(var(--background) / 0.8), hsl(var(--muted) / 0.3));
  border-radius: 0;
  transition: var(--transition-smooth);
}
body.nc-skin ul.products li.product:hover img { transform: scale(1.05); }
body.nc-skin ul.products li.product .woocommerce-loop-product__title {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.3;
  color: hsl(var(--foreground));
  padding: 0.75rem 1rem 0;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 3rem;
}
body.nc-skin ul.products li.product .price {
  display: block;
  padding: 0.25rem 1rem 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: hsl(var(--primary));
}
body.nc-skin ul.products li.product .price del { font-size: 0.875rem; font-weight: 400; opacity: 1; color: hsl(var(--muted-foreground)); margin-right: 0.375rem; }
body.nc-skin ul.products li.product .price ins { text-decoration: none; }
body.nc-skin ul.products li.product .nc-vat {
  display: block; padding: 0.125rem 1rem 0;
  font-size: 0.75rem; color: hsl(var(--muted-foreground));
}
body.nc-skin ul.products li.product .button,
body.nc-skin ul.products li.product .added_to_cart {
  margin: auto 1rem 1rem;
  display: flex; align-items: center; justify-content: center; gap: 0.375rem;
  width: calc(100% - 2rem);
  height: 2.25rem;
  font-size: 0.875rem;
}
body.nc-skin ul.products li.product .onsale { display: none; }
body.nc-skin ul.products li.product .star-rating { margin: 0.25rem 1rem; font-size: 0.75rem; }

/* Sortier-Dropdown + Ergebniszähler */
body.nc-skin .woocommerce-ordering,
body.nc-skin .woocommerce-result-count { margin-bottom: 1.5rem; }
body.nc-skin .woocommerce-result-count { color: hsl(var(--muted-foreground)); font-size: 0.875rem; line-height: 2.5rem; }
body.nc-skin .woocommerce-ordering select {
  height: 2.5rem; padding: 0 2rem 0 0.75rem; font-size: 0.875rem;
  border-radius: calc(var(--radius) - 2px);
}

/* Sidebar / Filter */
body.nc-skin .widget-area .widget,
body.nc-skin #secondary .widget {
  border-radius: var(--radius);
  background-color: hsl(var(--card) / 0.4);
  backdrop-filter: blur(16px);
  border: 1px solid hsl(var(--border) / 0.3);
  padding: 1.25rem;
  margin-bottom: 1.5rem;
}
body.nc-skin .widget-area .widget .widget-title,
body.nc-skin #secondary .widget .widget-title {
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  margin: 0 0 0.875rem;
  background: var(--gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
body.nc-skin .widget-area ul,
body.nc-skin #secondary ul { list-style: none; margin: 0; padding: 0; }
body.nc-skin .widget-area li,
body.nc-skin #secondary li { margin: 0 0 0.5rem; }
body.nc-skin .widget-area a,
body.nc-skin #secondary a {
  color: hsl(var(--muted-foreground));
  text-decoration: none;
  font-size: 0.875rem;
  transition: var(--transition-smooth);
}
body.nc-skin .widget-area a:hover,
body.nc-skin #secondary a:hover { color: hsl(var(--primary)); }
body.nc-skin .widget_price_filter .ui-slider .ui-slider-range { background-image: var(--gradient-primary); }
body.nc-skin .widget_price_filter .ui-slider .ui-slider-handle { background-color: hsl(var(--primary)); border: 0; }
body.nc-skin .widget_price_filter .price_slider_wrapper .ui-widget-content { background-color: hsl(var(--muted)); }

/* Suchfeld / Autocomplete-Look */
body.nc-skin .widget_product_search input[type="search"],
body.nc-skin .search-field {
  height: 2.5rem;
  border-radius: 9999px;
  padding: 0 1rem;
  width: 100%;
}

/* ---------- Produktdetailseite ---------- */
body.nc-skin.single-product div.product { display: block; }
body.nc-skin .woocommerce-product-gallery {
  border-radius: var(--radius);
  overflow: hidden;
  background-color: hsl(var(--card) / 0.4);
  border: 1px solid hsl(var(--border) / 0.3);
  backdrop-filter: blur(16px);
  padding: 0.75rem;
}
body.nc-skin .woocommerce-product-gallery img { border-radius: calc(var(--radius) - 2px); }
body.nc-skin .product_title {
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 0.75rem;
}
@media (min-width: 768px) { body.nc-skin .product_title { font-size: 2.25rem; } }
body.nc-skin div.product p.price,
body.nc-skin div.product span.price {
  font-size: 2rem;
  font-weight: 700;
  color: hsl(var(--primary));
  margin-bottom: 0.25rem;
}
body.nc-skin div.product p.price del { font-size: 1.125rem; color: hsl(var(--muted-foreground)); font-weight: 400; }
body.nc-skin div.product p.price ins { text-decoration: none; }
body.nc-skin .woocommerce-product-details__short-description { color: hsl(var(--muted-foreground)); font-size: 0.9375rem; }
body.nc-skin .stock.in-stock { color: hsl(150 70% 65%); font-weight: 600; font-size: 0.875rem; }
body.nc-skin .stock.out-of-stock { color: hsl(var(--destructive)); font-weight: 600; font-size: 0.875rem; }

body.nc-skin div.product form.cart {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem;
  padding: 1rem;
  border-radius: var(--radius);
  background-color: hsl(var(--card) / 0.4);
  border: 1px solid hsl(var(--border) / 0.3);
  backdrop-filter: blur(16px);
  margin: 1.25rem 0;
}
body.nc-skin .quantity {
  display: inline-flex; align-items: center;
  border: 1px solid hsl(var(--border)); border-radius: calc(var(--radius) - 2px);
  background-color: hsl(var(--background) / 0.6);
  overflow: hidden;
}
body.nc-skin .quantity .qty {
  width: 3.5rem; height: 2.5rem; text-align: center;
  border: 0; background: transparent; font-weight: 600;
}
body.nc-skin div.product form.cart .single_add_to_cart_button {
  flex: 1 1 12rem;
  height: 2.75rem;
  font-size: 0.9375rem;
  font-weight: 600;
  background-image: var(--gradient-primary);
  box-shadow: var(--shadow-glow);
}
body.nc-skin .product_meta { font-size: 0.8125rem; color: hsl(var(--muted-foreground)); border-top: 1px solid hsl(var(--border) / 0.4); padding-top: 1rem; }
body.nc-skin .product_meta a { color: hsl(var(--secondary)); }

/* Tabs */
body.nc-skin .woocommerce-tabs {
  padding: 0;
  background-color: hsl(var(--card) / 0.4);
  border: 1px solid hsl(var(--border) / 0.3);
  border-radius: var(--radius);
  overflow: hidden;
  backdrop-filter: blur(16px);
  margin-top: 2rem;
}
body.nc-skin .woocommerce-tabs ul.tabs {
  display: flex; flex-wrap: wrap; gap: 0.25rem;
  list-style: none; margin: 0; padding: 0.375rem;
  background-color: hsl(var(--muted) / 0.4);
  border-bottom: 1px solid hsl(var(--border) / 0.4);
}
body.nc-skin .woocommerce-tabs ul.tabs::before,
body.nc-skin .woocommerce-tabs ul.tabs::after,
body.nc-skin .woocommerce-tabs ul.tabs li::before,
body.nc-skin .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.nc-skin .woocommerce-tabs ul.tabs li {
  margin: 0; padding: 0; background: transparent; border: 0; border-radius: calc(var(--radius) - 4px);
}
body.nc-skin .woocommerce-tabs ul.tabs li a {
  display: block; padding: 0.5rem 1rem; font-size: 0.875rem; font-weight: 600;
  color: hsl(var(--muted-foreground)); text-decoration: none; border-radius: calc(var(--radius) - 4px);
}
body.nc-skin .woocommerce-tabs ul.tabs li.active { background-color: hsl(var(--background)); }
body.nc-skin .woocommerce-tabs ul.tabs li.active a { color: hsl(var(--foreground)); }
body.nc-skin .woocommerce-tabs .panel { padding: 1.5rem; margin: 0; color: hsl(var(--muted-foreground)); }
body.nc-skin .woocommerce-tabs .panel h2 { color: hsl(var(--foreground)); font-size: 1.125rem; }
body.nc-skin .related.products > h2,
body.nc-skin .upsells.products > h2 { font-size: 1.5rem; font-weight: 700; margin-bottom: 1.25rem; }

/* ---------- Warenkorb ---------- */
body.nc-skin .woocommerce-cart-form {
  border-radius: var(--radius);
  background-color: hsl(var(--card) / 0.4);
  border: 1px solid hsl(var(--border) / 0.3);
  backdrop-filter: blur(16px);
  padding: 1rem;
}
body.nc-skin table.shop_table {
  border: 0; border-radius: 0; background: transparent; border-collapse: collapse;
}
body.nc-skin table.shop_table th {
  font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.1em;
  color: hsl(var(--muted-foreground)); font-weight: 600; border-bottom: 1px solid hsl(var(--border) / 0.5);
}
body.nc-skin table.shop_table td { border-bottom: 1px solid hsl(var(--border) / 0.3); }
body.nc-skin table.cart img { border-radius: calc(var(--radius) - 2px); border: 1px solid hsl(var(--border) / 0.4); background-color: hsl(var(--background) / 0.6); }
body.nc-skin table.cart .product-name a { color: hsl(var(--foreground)); font-weight: 600; text-decoration: none; }
body.nc-skin table.cart .product-name a:hover { color: hsl(var(--primary)); }
body.nc-skin .product-remove a.remove {
  color: hsl(var(--destructive)) !important; background: transparent !important;
  border: 1px solid hsl(var(--destructive) / 0.4); border-radius: 9999px;
  width: 1.75rem; height: 1.75rem; line-height: 1.55rem;
}
body.nc-skin .coupon {
  display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap;
  padding: 0.75rem; border-radius: calc(var(--radius) - 2px);
  border: 1px dashed hsl(var(--primary) / 0.4);
  background-color: hsl(var(--primary) / 0.06);
}
body.nc-skin .coupon #coupon_code { height: 2.5rem; min-width: 12rem; }
body.nc-skin .cart_totals,
body.nc-skin .cross-sells {
  border-radius: var(--radius);
  background-color: hsl(var(--card) / 0.4);
  border: 1px solid hsl(var(--border) / 0.3);
  backdrop-filter: blur(16px);
  padding: 1.25rem;
}
body.nc-skin .cart_totals h2 { font-size: 1.125rem; font-weight: 700; margin-bottom: 1rem; }
body.nc-skin .cart_totals .order-total .amount { color: hsl(var(--primary)); font-size: 1.25rem; }
body.nc-skin .wc-proceed-to-checkout .checkout-button {
  display: flex; align-items: center; justify-content: center;
  height: 2.75rem; font-weight: 600; font-size: 0.9375rem;
  background-image: var(--gradient-primary);
  box-shadow: var(--shadow-glow);
}
body.nc-skin .woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; }
body.nc-skin .woocommerce-shipping-methods li { margin-bottom: 0.375rem; font-size: 0.875rem; }

/* ---------- Checkout ---------- */
body.nc-skin .woocommerce-checkout .col2-set .col-1,
body.nc-skin .woocommerce-checkout .col2-set .col-2,
body.nc-skin #order_review,
body.nc-skin .woocommerce-checkout-review-order,
body.nc-skin #customer_details {
  border-radius: var(--radius);
}
body.nc-skin .woocommerce-billing-fields,
body.nc-skin .woocommerce-shipping-fields,
body.nc-skin .woocommerce-additional-fields,
body.nc-skin #order_review {
  background-color: hsl(var(--card) / 0.4);
  border: 1px solid hsl(var(--border) / 0.3);
  backdrop-filter: blur(16px);
  border-radius: var(--radius);
  padding: 1.25rem;
  margin-bottom: 1.5rem;
}
body.nc-skin .woocommerce-billing-fields h3,
body.nc-skin .woocommerce-shipping-fields h3,
body.nc-skin #order_review_heading {
  font-size: 1.125rem; font-weight: 700; margin: 0 0 1rem;
  display: flex; align-items: center; gap: 0.5rem;
}
body.nc-skin .form-row label { font-size: 0.8125rem; font-weight: 500; color: hsl(var(--foreground)); margin-bottom: 0.25rem; }
body.nc-skin .form-row input.input-text,
body.nc-skin .form-row textarea,
body.nc-skin .form-row select { height: 2.5rem; }
body.nc-skin .form-row textarea { height: auto; min-height: 5rem; }
body.nc-skin #payment {
  background-color: hsl(var(--background) / 0.5) !important;
  border-radius: calc(var(--radius) - 2px);
  border: 1px solid hsl(var(--border) / 0.4);
}
body.nc-skin #payment ul.payment_methods { border-bottom: 1px solid hsl(var(--border) / 0.4); padding: 0.75rem; }
body.nc-skin #payment ul.payment_methods li {
  border-radius: calc(var(--radius) - 2px);
  border: 1px solid hsl(var(--border) / 0.35);
  background-color: hsl(var(--card) / 0.5);
  padding: 0.75rem;
  margin-bottom: 0.5rem;
  list-style: none;
}
body.nc-skin #payment div.payment_box {
  background-color: hsl(var(--muted) / 0.5) !important;
  color: hsl(var(--muted-foreground));
  border-radius: calc(var(--radius) - 2px);
  font-size: 0.8125rem;
}
body.nc-skin #payment div.payment_box::before { border-bottom-color: hsl(var(--muted) / 0.5) !important; }
body.nc-skin #place_order {
  width: 100%; height: 3rem; font-size: 1rem; font-weight: 700;
  background-image: var(--gradient-primary);
  box-shadow: var(--shadow-glow);
}
body.nc-skin .woocommerce-checkout .order-total .amount { color: hsl(var(--primary)); font-size: 1.25rem; }

/* ---------- Mein Konto ---------- */
body.nc-skin .woocommerce-MyAccount-navigation {
  border-radius: var(--radius);
  background-color: hsl(var(--card) / 0.4);
  border: 1px solid hsl(var(--border) / 0.3);
  backdrop-filter: blur(16px);
  padding: 0.75rem;
}
body.nc-skin .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
body.nc-skin .woocommerce-MyAccount-navigation li { margin: 0 0 0.25rem; border: 0; }
body.nc-skin .woocommerce-MyAccount-navigation li a {
  display: block; padding: 0.625rem 0.875rem;
  border-radius: calc(var(--radius) - 4px);
  color: hsl(var(--muted-foreground)); font-size: 0.875rem; font-weight: 500; text-decoration: none;
  transition: var(--transition-smooth);
}
body.nc-skin .woocommerce-MyAccount-navigation li a:hover { background-color: hsl(var(--muted) / 0.5); color: hsl(var(--foreground)); }
body.nc-skin .woocommerce-MyAccount-navigation li.is-active a {
  background-color: hsl(var(--primary) / 0.12);
  border: 1px solid hsl(var(--primary) / 0.35);
  color: hsl(var(--primary));
}
body.nc-skin .woocommerce-MyAccount-content {
  border-radius: var(--radius);
  background-color: hsl(var(--card) / 0.4);
  border: 1px solid hsl(var(--border) / 0.3);
  backdrop-filter: blur(16px);
  padding: 1.5rem;
}
body.nc-skin .woocommerce-MyAccount-content h2,
body.nc-skin .woocommerce-MyAccount-content h3 { font-size: 1.125rem; font-weight: 700; }
body.nc-skin .woocommerce-orders-table__cell-order-status { color: hsl(var(--secondary)); font-weight: 600; }
body.nc-skin .woocommerce-form-login,
body.nc-skin .woocommerce-form-register,
body.nc-skin .woocommerce-EditAccountForm {
  border: 0; padding: 0;
}

/* Überschriften auf Content-Seiten */
body.nc-skin .entry-title,
body.nc-skin .page-title,
body.nc-skin .woocommerce-products-header__title {
  font-size: 2rem; font-weight: 700; letter-spacing: -0.02em; color: hsl(var(--foreground));
}
body.nc-skin .term-description, body.nc-skin .page-description { color: hsl(var(--muted-foreground)); }


/* Loop-Feinschliff: exakte Preis-/Hinweiszeilen wie in ProductCard.tsx */
body.nc-skin .nc-badge--new { background: hsl(var(--primary) / 0.12); border: 1px solid hsl(var(--primary) / 0.35); color: hsl(var(--primary)); }
body.nc-skin ul.products li.product .nc-loopbadges { order: -1; }
body.nc-skin ul.products li.product .price .wgm-sale-label {
  font-size: 0.6875rem; font-weight: 600; color: hsl(var(--muted-foreground)); vertical-align: middle;
}
body.nc-skin ul.products li.product .price del { display: inline-block; }
body.nc-skin ul.products li.product .price .screen-reader-text { position: absolute; left: -9999px; }
body.nc-skin ul.products li.product .wgm-info {
  font-size: 0.6875rem; line-height: 1.35; color: hsl(var(--muted-foreground));
  padding: 0 1rem; margin: 0;
}
body.nc-skin ul.products li.product .wgm-info a { color: hsl(var(--muted-foreground)); text-decoration: underline; text-underline-offset: 2px; }
body.nc-skin ul.products li.product .wgm-info a:hover { color: hsl(var(--primary)); }
body.nc-skin ul.products li.product .shipping_de {
  display: none !important;
}
body.nc-skin ul.products li.product .shipping_de small { text-decoration: none; }
body.nc-skin ul.products li.product .delivery-time-ca-3-4-werktage,
body.nc-skin ul.products li.product .delivery-time-sofort-lieferbar { color: hsl(150 70% 65%); }
body.nc-skin ul.products li.product .delivery-time-ca-5-9-werktage { color: hsl(280 90% 78%); }
body.nc-skin ul.products li.product .nc-loop-delivery,
body.nc-skin .nc-card__delivery {
  display: flex; align-items: flex-start; gap: 0.35rem;
  margin: 0.35rem 0 0.55rem; color: hsl(var(--muted-foreground));
  font-size: 0.76rem; line-height: 1.35; font-weight: 500;
}
body.nc-skin ul.products li.product .nc-loop-delivery svg,
body.nc-skin .nc-card__delivery svg {
  width: 0.9rem; height: 0.9rem; flex: none; margin-top: 0.05rem;
}
body.nc-skin ul.products li.product > .button:last-of-type,
body.nc-skin ul.products li.product .added_to_cart { margin-top: 0.75rem; }
body.nc-skin ul.products li.product .price { margin-bottom: 0.25rem; }


/* Breitere Inhaltsflaeche wie im Lovable-Frontend (max-w-7xl) */
body.nc-skin .col-full { max-width: 1400px; padding-left: 1rem; padding-right: 1rem; }
@media (min-width: 768px) {
  body.nc-skin.woocommerce-shop #primary,
  body.nc-skin.tax-product_cat #primary,
  body.nc-skin.archive #primary { width: 78%; }
  body.nc-skin.woocommerce-shop #secondary,
  body.nc-skin.tax-product_cat #secondary,
  body.nc-skin.archive #secondary { width: 20%; }
}
body.nc-skin ul.products li.product .price ins .amount,
body.nc-skin ul.products li.product .price > .amount,
body.nc-skin ul.products li.product .price ins bdi { color: hsl(var(--primary)) !important; }
body.nc-skin ul.products li.product .price del .amount,
body.nc-skin ul.products li.product .price del bdi { color: hsl(var(--muted-foreground)) !important; font-size: 0.875rem; }

/* Produktdetail: Tabs horizontal wie im Lovable-Frontend */
body.nc-skin.single-product .woocommerce-tabs { display: block; margin-top: 2.5rem; }
body.nc-skin.single-product .woocommerce-tabs ul.tabs {
  display: flex; flex-wrap: wrap; gap: 0.5rem; width: 100%; float: none; padding: 0.35rem;
  margin: 0 0 1.25rem; border: 1px solid hsl(var(--border)); border-radius: 0.75rem;
  background: hsl(var(--card) / 0.5); list-style: none;
}
body.nc-skin.single-product .woocommerce-tabs ul.tabs::before,
body.nc-skin.single-product .woocommerce-tabs ul.tabs::after { display: none; }
body.nc-skin.single-product .woocommerce-tabs ul.tabs li {
  margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0.5rem;
}
body.nc-skin.single-product .woocommerce-tabs ul.tabs li::before,
body.nc-skin.single-product .woocommerce-tabs ul.tabs li::after { display: none; }
body.nc-skin.single-product .woocommerce-tabs ul.tabs li a {
  display: block; padding: 0.55rem 1.1rem; font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 600; font-size: 0.9rem; color: hsl(var(--muted-foreground));
}
body.nc-skin.single-product .woocommerce-tabs ul.tabs li.active {
  background: hsl(var(--primary) / 0.15); border: 1px solid hsl(var(--primary) / 0.4);
}
body.nc-skin.single-product .woocommerce-tabs ul.tabs li.active a { color: hsl(var(--foreground)); }
body.nc-skin.single-product .woocommerce-tabs .panel {
  width: 100%; float: none; margin: 0; padding: 1.5rem;
  border: 1px solid hsl(var(--border)); border-radius: 1rem; background: hsl(var(--card) / 0.4);
}
/* Leere Sidebar-Widgets ausblenden */
body.nc-skin #secondary .widget:empty,
body.nc-skin #secondary .widget_block:empty { display: none; }

/* Globale Woo-Elemente (auch in Slidern/Cross-Sells) */
body.nc-skin .woocommerce span.onsale,
body.nc-skin span.onsale {
  background: hsl(var(--primary) / 0.15) !important; color: hsl(var(--primary)) !important;
  border: 1px solid hsl(var(--primary) / 0.4); border-radius: 999px !important;
  font-family: 'Outfit', system-ui, sans-serif; font-size: 0.6875rem !important; font-weight: 700;
  letter-spacing: 0.04em; text-transform: uppercase; padding: 0.2rem 0.6rem !important;
  min-height: 0 !important; min-width: 0 !important; line-height: 1.4 !important; box-shadow: none !important;
}
body.nc-skin .price ins .amount, body.nc-skin .price ins bdi,
body.nc-skin .price > .amount, body.nc-skin .price > bdi { color: hsl(var(--primary)) !important; font-weight: 700; }
body.nc-skin .price del .amount, body.nc-skin .price del bdi { color: hsl(var(--muted-foreground)) !important; }
body.nc-skin a.button.add_to_cart_button,
body.nc-skin a.added_to_cart,
body.nc-skin .wc-block-components-button {
  background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--accent))) !important;
  color: hsl(var(--primary-foreground)) !important; border: 0 !important; border-radius: 0.6rem !important;
  font-family: 'Outfit', system-ui, sans-serif; font-weight: 600 !important;
}
body.nc-skin a.button.add_to_cart_button:hover { filter: brightness(1.08); }
body.nc-skin .cart-empty, body.nc-skin .wc-empty-cart-message {
  border: 1px solid hsl(var(--border)); border-radius: 1rem; background: hsl(var(--card) / 0.4);
  padding: 2rem; text-align: center;
}

/* Bestehende Seiteninhalte: Ueberschriften/Text lesbar auf dunklem Grund */
body.nc-skin .site-main h1, body.nc-skin .site-main h2, body.nc-skin .site-main h3,
body.nc-skin .site-main h4, body.nc-skin .entry-content h1, body.nc-skin .entry-content h2,
body.nc-skin .entry-content h3, body.nc-skin .entry-content h4,
body.nc-skin .wp-block-heading { color: hsl(var(--foreground)) !important; }
body.nc-skin .site-main p, body.nc-skin .entry-content p, body.nc-skin .site-main li { color: hsl(var(--foreground) / 0.85); }

/* =====================================================================
   Content-Bereich: volle Breite wie im Lovable-Frontend
   ===================================================================== */
body.nc-skin.woocommerce-shop #secondary,
body.nc-skin.tax-product_cat #secondary,
body.nc-skin.archive #secondary,
body.nc-skin.single-product #secondary,
body.nc-skin.woocommerce-cart #secondary,
body.nc-skin.woocommerce-checkout #secondary,
body.nc-skin.woocommerce-account #secondary,
body.nc-skin.woocommerce-shop .widget-area,
body.nc-skin.tax-product_cat .widget-area,
body.nc-skin.archive .widget-area,
body.nc-skin.single-product .widget-area,
body.nc-skin.woocommerce-cart .widget-area,
body.nc-skin.woocommerce-checkout .widget-area,
body.nc-skin.woocommerce-account .widget-area { display: none !important; }

body.nc-skin.woocommerce-shop #primary,
body.nc-skin.tax-product_cat #primary,
body.nc-skin.archive #primary,
body.nc-skin.single-product #primary,
body.nc-skin.woocommerce-cart #primary,
body.nc-skin.woocommerce-checkout #primary,
body.nc-skin.woocommerce-account #primary,
body.nc-skin .content-area {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
body.nc-skin .site-content { padding-top: 1.5rem; }
body.nc-skin .site-content .col-full > .woocommerce:empty { display: none; }

/* ---------- Archiv-Hero (wie CategoryHero.tsx) ---------- */
.nc-archhero {
  position: relative; overflow: hidden;
  border-radius: 1.25rem;
  border: 1px solid hsl(var(--border) / 0.5);
  background-image: linear-gradient(135deg, hsl(var(--card) / 0.75), hsl(var(--background) / 0.9));
  padding: 2.25rem 1.75rem;
  margin: 0 0 1.75rem;
}
.nc-archhero::after {
  content: ''; position: absolute; inset: -40% -10% auto auto; width: 420px; height: 420px;
  background: radial-gradient(circle, hsl(var(--primary) / 0.22), transparent 65%); pointer-events: none;
}
.nc-archhero__chip {
  display: inline-flex; align-items: center; gap: 0.4rem;
  padding: 0.3rem 0.75rem; border-radius: 999px;
  background: hsl(var(--primary) / 0.15); border: 1px solid hsl(var(--primary) / 0.4);
  color: hsl(var(--primary)); font-size: 0.75rem; font-weight: 700;
  font-family: 'Outfit', system-ui, sans-serif; letter-spacing: 0.03em;
}
.nc-archhero__title {
  font-family: 'Outfit', system-ui, sans-serif; font-weight: 700;
  font-size: clamp(1.9rem, 4vw, 3rem); line-height: 1.08;
  margin: 0.9rem 0 0.5rem; color: hsl(var(--foreground));
}
.nc-archhero__title span {
  background: var(--gradient-text); -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
.nc-archhero__sub { max-width: 46rem; color: hsl(var(--muted-foreground)); margin: 0; font-size: 1rem; }
.nc-archbar { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; margin: 0 0 1rem; }
.nc-archbar__search {
  position: relative; flex: 1 1 320px; display: flex; align-items: center; gap: 0.5rem;
  height: 2.75rem; padding: 0 1rem; border-radius: 999px;
  background: hsl(var(--card) / 0.6); border: 1px solid hsl(var(--border) / 0.6);
}
.nc-archbar__search svg { width: 1rem; height: 1rem; color: hsl(var(--muted-foreground)); }
.nc-archbar__search input {
  flex: 1; background: transparent; border: 0; outline: none; color: hsl(var(--foreground));
  font-size: 0.9rem; height: 100%; padding: 0;
}
.nc-archchips { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin: 0 0 1.5rem; }
.nc-archchips__label { color: hsl(var(--muted-foreground)); font-size: 0.8rem; }
.nc-archchips a {
  display: inline-block; padding: 0.3rem 0.7rem; border-radius: 999px;
  background: hsl(var(--muted) / 0.5); border: 1px solid hsl(var(--border) / 0.5);
  color: hsl(var(--foreground)); font-size: 0.78rem; font-weight: 600; text-decoration: none;
}
.nc-archchips a:hover { background: hsl(var(--primary) / 0.18); border-color: hsl(var(--primary) / 0.45); color: hsl(var(--primary)); }

/* ---------- Buttons in Loops/Slidern immer im Lovable-Look ---------- */
body.nc-skin ul.products li.product .button,
body.nc-skin .cross-sells .button,
body.nc-skin .up-sells .button,
body.nc-skin .related .button {
  background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--accent))) !important;
  color: hsl(var(--primary-foreground)) !important;
  border: 0 !important; border-radius: 0.6rem !important; font-weight: 600 !important;
}

/* ---------- Produktdetail: zweispaltig wie ProductDetail.tsx ---------- */
@media (min-width: 900px) {
  body.nc-skin.single-product div.product > .woocommerce-product-gallery { width: 52% !important; float: left !important; margin-right: 4%; }
  body.nc-skin.single-product div.product > .summary { width: 44% !important; float: right !important; margin: 0 !important; }
  body.nc-skin.single-product div.product::after { content: ''; display: table; clear: both; }
}
body.nc-skin.single-product .summary .product_title {
  font-family: 'Outfit', system-ui, sans-serif; font-size: 1.6rem; line-height: 1.2; margin: 0.5rem 0 0.75rem;
}
body.nc-skin.single-product .summary .price { font-size: 1.9rem; font-weight: 700; }
body.nc-skin.single-product .summary form.cart {
  border: 1px solid hsl(var(--border) / 0.6); border-radius: 1rem;
  background: hsl(var(--card) / 0.45); padding: 1.1rem; margin-bottom: 1.25rem;
}
body.nc-skin.single-product .summary form.cart .button {
  width: 100%; height: 2.9rem; font-size: 1rem;
  background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--accent))) !important;
  color: hsl(var(--primary-foreground)) !important; border: 0 !important; border-radius: 0.75rem !important;
}
body.nc-skin.single-product .product_meta {
  font-size: 0.8rem; color: hsl(var(--muted-foreground));
  border-top: 1px solid hsl(var(--border) / 0.5); padding-top: 0.9rem; margin-top: 0.9rem;
}

/* ---------- Warenkorb: Karten-Optik ---------- */
body.nc-skin .cart-empty, body.nc-skin .wc-empty-cart-message,
body.nc-skin .return-to-shop { text-align: center; }
body.nc-skin .cross-sells > h2, body.nc-skin .related > h2, body.nc-skin .up-sells > h2 {
  font-family: 'Outfit', system-ui, sans-serif; font-size: 1.5rem; font-weight: 700;
  text-align: left; margin: 2rem 0 1.25rem;
}
body.nc-skin table.shop_table {
  border: 1px solid hsl(var(--border) / 0.5) !important; border-radius: 1rem; overflow: hidden;
  background: hsl(var(--card) / 0.4); border-collapse: separate !important; border-spacing: 0;
}
body.nc-skin table.shop_table th { font-family: 'Outfit', system-ui, sans-serif; color: hsl(var(--foreground)); }
body.nc-skin table.shop_table td, body.nc-skin table.shop_table th { border-color: hsl(var(--border) / 0.35) !important; }
body.nc-skin .cart_totals, body.nc-skin .checkout_coupon, body.nc-skin .woocommerce-checkout-review-order {
  border: 1px solid hsl(var(--border) / 0.5); border-radius: 1rem; background: hsl(var(--card) / 0.4); padding: 1.25rem;
}
body.nc-skin .quantity input.qty {
  height: 2.4rem; border-radius: 0.6rem; background: hsl(var(--muted) / 0.5);
  border: 1px solid hsl(var(--border) / 0.6); color: hsl(var(--foreground));
}

/* ---------- Mein Konto ---------- */
body.nc-skin.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none; margin: 0; padding: 0.5rem; border-radius: 1rem;
  border: 1px solid hsl(var(--border) / 0.5); background: hsl(var(--card) / 0.4);
}
body.nc-skin.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block; padding: 0.6rem 0.85rem; border-radius: 0.6rem;
  color: hsl(var(--muted-foreground)); text-decoration: none; font-weight: 600; font-size: 0.9rem;
}
body.nc-skin.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.nc-skin.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  background: hsl(var(--primary) / 0.15); color: hsl(var(--foreground));
}
body.nc-skin.woocommerce-account .woocommerce-MyAccount-content {
  border: 1px solid hsl(var(--border) / 0.5); border-radius: 1rem;
  background: hsl(var(--card) / 0.4); padding: 1.5rem;
}

/* Feinschliff Archiv */
.nc-archhero__chip svg { width: 0.9rem; height: 0.9rem; flex: 0 0 auto; }
.nc-archhero__chip { white-space: nowrap; }
body.nc-skin .woocommerce-breadcrumb { margin-bottom: 1rem !important; }
body.nc-skin .site-main { padding-top: 0 !important; }
body.nc-skin .storefront-breadcrumb { padding: 0.75rem 0 0 !important; margin-bottom: 0 !important; }
@media (min-width: 1024px) {
  body.nc-skin.woocommerce-shop ul.products,
  body.nc-skin.tax-product_cat ul.products,
  body.nc-skin.archive ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}

/* ---------- Block-Grids (Warenkorb-Empfehlungen, Blöcke) ---------- */
body.nc-skin .wc-block-grid__products {
  display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.5rem;
  list-style: none; margin: 0 0 2rem; padding: 0;
}
@media (min-width: 1024px) { body.nc-skin .wc-block-grid__products { grid-template-columns: repeat(4, minmax(0,1fr)); } }
body.nc-skin .wc-block-grid__product {
  width: 100% !important; margin: 0 !important; padding: 0 0 1rem !important; text-align: left;
  border-radius: var(--radius); background-color: hsl(var(--card) / 0.4); backdrop-filter: blur(16px);
  border: 1px solid hsl(var(--border) / 0.3); position: relative; overflow: hidden;
  display: flex; flex-direction: column;
}
body.nc-skin .wc-block-grid__product:hover { box-shadow: var(--shadow-neon); }
body.nc-skin .wc-block-grid__product-link { text-decoration: none; }
body.nc-skin .wc-block-grid__product-image img {
  width: 100%; aspect-ratio: 1 / 1; object-fit: contain; padding: 0.5rem; margin: 0;
  background-image: linear-gradient(to bottom right, hsl(var(--background) / 0.8), hsl(var(--muted) / 0.3));
}
body.nc-skin .wc-block-grid__product-onsale {
  position: absolute; top: 0.6rem; left: 0.6rem; right: auto; margin: 0 !important;
  background: hsl(var(--primary) / 0.15) !important; color: hsl(var(--primary)) !important;
  border: 1px solid hsl(var(--primary) / 0.4) !important; border-radius: 999px !important;
  font-family: 'Outfit', system-ui, sans-serif; font-size: 0.6875rem !important; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.04em; padding: 0.2rem 0.6rem !important;
  min-height: 0 !important; min-width: 0 !important; line-height: 1.4 !important;
}
body.nc-skin .wc-block-grid__product-title {
  font-size: 0.875rem; font-weight: 600; line-height: 1.3; color: hsl(var(--foreground));
  padding: 0.75rem 1rem 0; margin: 0;
}
body.nc-skin .wc-block-grid__product-price {
  padding: 0.35rem 1rem 0; font-size: 1.25rem; font-weight: 700; color: hsl(var(--primary));
}
body.nc-skin .wc-block-grid__product .wgm-info { padding: 0 1rem; font-size: 0.6875rem; line-height: 1.35; color: hsl(var(--muted-foreground)); }
body.nc-skin .wc-block-grid__product .shipping_de { color: hsl(193 90% 70%); font-weight: 500; text-decoration: none; padding-top: 0.25rem; }
body.nc-skin .wc-block-grid__product .wp-block-button { margin: auto 1rem 0; padding-top: 0.75rem; }
body.nc-skin .wc-block-grid__product .wp-block-button__link,
body.nc-skin .wc-block-grid__product .add_to_cart_button {
  display: flex; align-items: center; justify-content: center; width: 100%; height: 2.25rem;
  font-size: 0.875rem; font-family: 'Outfit', system-ui, sans-serif; font-weight: 600 !important;
  background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--accent))) !important;
  color: hsl(var(--primary-foreground)) !important; border: 0 !important; border-radius: 0.6rem !important;
}
body.nc-skin .wp-block-woocommerce-empty-cart-block > .wp-block-heading:first-child {
  border: 1px solid hsl(var(--border) / 0.5); border-radius: 1rem; background: hsl(var(--card) / 0.4);
  padding: 1.5rem; font-family: 'Outfit', system-ui, sans-serif;
}
body.nc-skin .wp-block-woocommerce-empty-cart-block h2 { color: hsl(var(--foreground)) !important; }

/* Block-Grid: Spalten hart erzwingen */
body.nc-skin ul.wc-block-grid__products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  flex-wrap: nowrap !important;
}
@media (min-width: 1024px) {
  body.nc-skin ul.wc-block-grid__products { grid-template-columns: repeat(4, minmax(0,1fr)) !important; }
}
body.nc-skin ul.wc-block-grid__products > li.wc-block-grid__product {
  flex: 1 1 auto !important; max-width: none !important; min-width: 0 !important; width: auto !important;
}
body.nc-skin .wc-block-grid__product-title {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; min-height: 2.6rem; margin-bottom: 0.35rem !important;
}

/* Mein Konto: Login/Registrierung als Karten */
body.nc-skin.woocommerce-account form.login,
body.nc-skin.woocommerce-account form.register,
body.nc-skin.woocommerce-account form.lost_reset_password {
  border: 1px solid hsl(var(--border) / 0.5) !important; border-radius: 1rem;
  background: hsl(var(--card) / 0.4); padding: 1.5rem; backdrop-filter: blur(16px);
}
body.nc-skin.woocommerce-account .u-column1 > h2,
body.nc-skin.woocommerce-account .u-column2 > h2 {
  font-family: 'Outfit', system-ui, sans-serif; font-size: 1.35rem; margin-bottom: 0.85rem;
}
body.nc-skin.woocommerce-account input[type="text"],
body.nc-skin.woocommerce-account input[type="email"],
body.nc-skin.woocommerce-account input[type="password"] {
  background: hsl(var(--muted) / 0.4); border: 1px solid hsl(var(--border) / 0.6);
  border-radius: 0.6rem; color: hsl(var(--foreground)); height: 2.6rem;
}
body.nc-skin.woocommerce-account form .button {
  background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--accent))) !important;
  color: hsl(var(--primary-foreground)) !important; border: 0 !important;
  border-radius: 0.6rem !important; font-weight: 600 !important; height: 2.6rem; padding: 0 1.25rem;
}

body.nc-skin .nc-sec__body .wc-block-grid__products { margin-bottom: 0; }

/* =====================================================================
   MOBILE-OPTIMIERUNG (<= 1023px) – Vorschau-Skin
   ===================================================================== */
@media (max-width: 639px) {
  /* --- Top-Bar: kompakte Variante statt komplett ausgeblendet --- */
  .nc-topbar { display: block; padding: 0.375rem 0.75rem; }
  .nc-topbar__inner { gap: 0.75rem; font-size: 0.6875rem; justify-content: flex-start; scrollbar-width: none; }
  .nc-topbar__inner::-webkit-scrollbar { display: none; }

  /* --- Header: nichts abschneiden, Touch-Targets >= 44px --- */
  .nc-container { padding-left: 0.75rem; padding-right: 0.75rem; }
  .nc-header__row { gap: 0.5rem; flex-wrap: nowrap; }
  .nc-header__logo { min-width: 0; flex: 1 1 auto; }
  .nc-header__logo img { height: 2.75rem; max-width: 42vw; }
  body.nc-scrolled .nc-header__logo img { height: 2.25rem; }
  .nc-header__actions { gap: 0.375rem; flex: 0 0 auto; }
  .nc-iconbtn--sm,
  .nc-cartbtn { width: 2.75rem !important; height: 2.75rem !important; min-width: 2.75rem; }
  .nc-iconbtn--sm svg,
  .nc-cartbtn svg { width: 1.15rem; height: 1.15rem; }

  /* --- Mobile-Menü: Social-Icons mit ins Menü --- */
  .nc-catnav-mobile a { min-height: 2.75rem; }
  .nc-catnav-mobile__social { display: flex; gap: 0.75rem; justify-content: center; padding: 0.5rem 0 0.25rem; }
  .nc-catnav-mobile__social .nc-iconbtn { width: 2.75rem; height: 2.75rem; }

  /* --- Hero: Pfeile auch mobil bedienbar --- */
  .nc-hero__inner { padding-left: 0.75rem; padding-right: 0.75rem; }
  .nc-hero__arrow {
    display: inline-flex !important;
    width: 2.75rem; height: 2.75rem;
    background-color: hsl(var(--card) / 0.92);
  }
  .nc-hero__arrow svg { width: 1.25rem !important; height: 1.25rem !important; }
  .nc-hero__arrow--prev { left: 0; transform: translate(-25%, -50%); }
  .nc-hero__arrow--next { right: 0; transform: translate(25%, -50%); }
  .nc-hero__dots { margin-top: 1.25rem; }
  .nc-hero__dots button { min-height: 1.25rem; }
  .nc-tile__label { font-size: 0.75rem; line-height: 1.15; }
  .nc-tile__title { font-size: 0.625rem; line-height: 1.25; }

  .nc-tile__meta { height: 4.25rem; }
  .nc-tile__cta { min-height: 2.75rem; }


  /* --- Produkt-Slider: Swipe statt Mini-Pfeile, 2 Karten sichtbar --- */
  .nc-sec__arrow { display: none !important; }
  .nc-sec__track { gap: 0.5rem; scroll-padding-left: 0.25rem; -webkit-overflow-scrolling: touch; }
  .nc-card { flex-basis: calc(47% - 6px); min-width: calc(47% - 6px); }
  .nc-card__title { font-size: 0.6875rem; min-height: 2.1rem; }
  .nc-card__price { font-size: 0.8125rem; }
  .nc-card__old { font-size: 0.625rem; }
  .nc-card__vat { font-size: 0.5rem; }
  .nc-sec__cta a { min-height: 2.75rem; display: inline-flex; align-items: center; }

  /* --- Archiv / Shop --- */
  .nc-archhero { padding: 1.25rem 1rem; }
  .nc-archhero__title { font-size: 1.5rem; }
  .nc-archhero__sub { font-size: 0.875rem; }
  .nc-archbar__search { width: 100%; }
  .nc-archchips a { min-height: 2.25rem; display: inline-flex; align-items: center; }
  body.nc-skin ul.products { gap: 0.75rem; }
  body.nc-skin ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.8125rem; padding: 0.6rem 0.7rem 0; min-height: 2.6rem;
  }
  body.nc-skin ul.products li.product .price { font-size: 1rem; padding: 0.25rem 0.7rem 0; }
  body.nc-skin ul.products li.product .price del { font-size: 0.75rem; }
  body.nc-skin ul.products li.product .nc-vat,
  body.nc-skin ul.products li.product .shipping_de,
  body.nc-skin ul.products li.product .wgm-info { padding-left: 0.7rem; padding-right: 0.7rem; font-size: 0.6875rem; }
  body.nc-skin ul.products li.product .button,
  body.nc-skin ul.products li.product .added_to_cart {
    margin: auto 0.7rem 0.7rem; width: calc(100% - 1.4rem); height: 2.75rem; font-size: 0.8125rem;
  }
  body.nc-skin ul.products li.product .nc-loopbadges { padding: 0.4rem; min-height: 0; }

  /* --- Empfehlungs-Kacheln (wc-block-grid): keine Überlappung --- */
  body.nc-skin ul.wc-block-grid__products { gap: 0.75rem; }
  body.nc-skin .wc-block-grid__product {
    display: flex !important; flex-direction: column; padding: 0.6rem !important; margin: 0 !important;
  }
  body.nc-skin .wc-block-grid__product-title {
    font-size: 0.8125rem !important; line-height: 1.25 !important;
    min-height: 2.1rem !important; margin: 0 0 0.35rem !important; overflow: hidden;
  }
  body.nc-skin .wc-block-grid__product-price { font-size: 0.9rem !important; margin: 0 0 0.4rem !important; display: block; }
  body.nc-skin .wc-block-grid__product-price del { font-size: 0.75rem !important; }
  body.nc-skin .wc-block-grid__product-onsale { position: static !important; margin: 0 0 0.35rem !important; display: inline-block; }
  body.nc-skin .wc-block-grid__product-add-to-cart .wp-block-button__link { width: 100%; min-height: 2.75rem; font-size: 0.8125rem; }

  /* --- Produktdetail: alles untereinander --- */
  body.nc-skin div.product div.images,
  body.nc-skin div.product div.summary { float: none !important; width: 100% !important; margin: 0 0 1.25rem !important; }
  body.nc-skin div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 0.4rem; padding: 0 !important; }
  body.nc-skin div.product .woocommerce-tabs ul.tabs li { margin: 0 !important; }
  body.nc-skin div.product form.cart .single_add_to_cart_button { width: 100%; min-height: 3rem; }
  body.nc-skin div.product form.cart .quantity input.qty { height: 3rem; min-width: 4rem; font-size: 1rem; }
  body.nc-skin div.product p.price, body.nc-skin div.product span.price { font-size: 1.5rem; }

  /* --- Warenkorb / Checkout: keine horizontalen Überläufe --- */
  body.nc-skin .woocommerce-cart-form table.shop_table,
  body.nc-skin .woocommerce-cart-form table.shop_table tbody,
  body.nc-skin .woocommerce-cart-form table.shop_table tr,
  body.nc-skin .woocommerce-cart-form table.shop_table td { display: block; width: 100% !important; }
  body.nc-skin .woocommerce-cart-form table.shop_table thead { display: none; }
  body.nc-skin .woocommerce-cart-form table.shop_table tr {
    border: 1px solid hsl(var(--border) / 0.4); border-radius: 0.9rem;
    background: hsl(var(--card) / 0.4); padding: 0.75rem; margin-bottom: 0.85rem;
  }
  body.nc-skin .woocommerce-cart-form table.shop_table td { border: 0 !important; padding: 0.25rem 0 !important; text-align: left !important; }
  body.nc-skin .woocommerce-cart-form td.product-thumbnail img { width: 4.5rem; height: auto; }
  body.nc-skin .woocommerce-cart-form td.product-quantity .quantity input.qty { height: 2.75rem; width: 4.5rem; }
  body.nc-skin .coupon { display: flex; flex-wrap: wrap; gap: 0.5rem; width: 100%; }
  body.nc-skin .coupon #coupon_code { flex: 1 1 100%; height: 2.75rem; }
  body.nc-skin .coupon .button { width: 100%; min-height: 2.75rem; }
  body.nc-skin .cart_totals, body.nc-skin .cart-collaterals, body.nc-skin .cart-collaterals > div { width: 100% !important; float: none !important; }
  body.nc-skin .wc-proceed-to-checkout a.checkout-button { width: 100%; min-height: 3rem; display: flex; align-items: center; justify-content: center; }
  body.nc-skin form.checkout .col2-set .col-1,
  body.nc-skin form.checkout .col2-set .col-2,
  body.nc-skin #order_review, body.nc-skin #customer_details { width: 100% !important; float: none !important; }
  body.nc-skin form.checkout input, body.nc-skin form.checkout select, body.nc-skin form.checkout textarea { width: 100% !important; min-height: 2.75rem; font-size: 16px; }
  body.nc-skin #place_order { width: 100%; min-height: 3rem; }
  body.nc-skin table.shop_table_responsive,
  body.nc-skin .woocommerce-checkout-review-order-table { font-size: 0.875rem; }

  /* --- Konto --- */
  body.nc-skin.woocommerce-account .woocommerce-MyAccount-navigation,
  body.nc-skin.woocommerce-account .woocommerce-MyAccount-content { width: 100% !important; float: none !important; }
  body.nc-skin.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 0; }
  body.nc-skin.woocommerce-account .woocommerce-MyAccount-navigation li a { min-height: 2.5rem; display: flex; align-items: center; }

  /* --- Footer: 2 Spalten statt gequetscht --- */
  .nc-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
  .nc-footer__brand { grid-column: 1 / -1; }
  .nc-footer__col a { min-height: 1.9rem; display: flex; align-items: center; }
  .nc-footer__meta { grid-template-columns: 1fr; }
}

/* Kein horizontaler Überlauf global */
@media (max-width: 1023px) {
  html, body.nc-skin { overflow-x: hidden; max-width: 100%; }
  body.nc-skin img, body.nc-skin table, body.nc-skin iframe { max-width: 100%; }
}
.nc-catnav-mobile__social { display: flex; gap: 0.75rem; justify-content: center; padding: 0.75rem 0 0.25rem; }
.nc-catnav-mobile__social a { width: 2.75rem; height: 2.75rem; padding: 0 !important; border-radius: 9999px !important; justify-content: center; }
@media (min-width: 1024px) { .nc-catnav-mobile__social { display: none; } }

@media (max-width: 639px) {
  /* Hero-Pfeile vollständig sichtbar innerhalb des Viewports */
  .nc-hero__arrow--prev { left: 0.25rem; transform: translateY(-50%); }
  .nc-hero__arrow--next { right: 0.25rem; transform: translateY(-50%); }
  /* Kartentitel sauber auf 2 Zeilen begrenzen */
  .nc-card__title { -webkit-line-clamp: 2; max-height: 2.2rem; min-height: 2.2rem; }
}
@media (max-width: 639px) {
  .nc-card__title {
    display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
    overflow: hidden; line-height: 1.2; height: 2.4em; min-height: 0; max-height: 2.4em;
  }
  .nc-header__actions { padding-right: 0.125rem; }
}
body.nc-skin .wc-block-grid__product-title {
  line-height: 1.25 !important; height: 2.5em !important; min-height: 0 !important; max-height: 2.5em !important;
}
body.nc-skin .wc-block-grid__product-price { margin-top: 0.35rem !important; }
/* Empfehlungs-Kacheln: kein Clipping, Titel darf umbrechen */
body.nc-skin .wc-block-grid__product-title {
  display: block !important; height: auto !important; max-height: none !important;
  min-height: 0 !important; overflow: visible !important; -webkit-line-clamp: none !important;
  line-height: 1.3 !important; word-break: break-word;
}

/* =====================================================================
   Kategorie-Archive: Original-Layout je Kategorie
   Quelle: src/components/CategoryHero.tsx, src/pages/Category.tsx,
           src/pages/HotDeals.tsx, src/components/deals/*
   ===================================================================== */

body.nc-skin .nc-chero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid hsl(var(--border) / 0.4);
  margin: 0 0 1.5rem;
  border-radius: 1rem;
}
body.nc-skin .nc-chero__pattern,
body.nc-skin .nc-chero__bg { position: absolute; inset: 0; pointer-events: none; }
body.nc-skin .nc-chero__pattern { opacity: 0.7; }
body.nc-skin .nc-chero__bg { opacity: 0.8; }
body.nc-skin .nc-chero__grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: center;
  padding: 3rem 1.5rem;
  max-width: 80rem;
  margin: 0 auto;
}
@media (min-width: 1024px) {
  body.nc-skin .nc-chero__grid { grid-template-columns: 1fr 1fr; padding: 4rem 2rem; }
}
body.nc-skin .nc-chero__chip {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.375rem 0.75rem; border-radius: 9999px;
  color: #fff; font-size: 0.75rem; font-weight: 700;
  background-image: var(--nc-ch-icon);
  box-shadow: 0 10px 15px -3px rgba(0,0,0,0.35);
}
body.nc-skin .nc-chero__chip svg { width: 0.875rem; height: 0.875rem; flex: 0 0 auto; }
body.nc-skin .nc-chero__title {
  margin: 1rem 0 0; font-family: var(--nc-font-category);
  font-size: 2.25rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.05;
  color: hsl(var(--foreground));
}
@media (min-width: 768px) { body.nc-skin .nc-chero__title { font-size: 3rem; } }
@media (min-width: 1024px) { body.nc-skin .nc-chero__title { font-size: 3.75rem; } }
body.nc-skin .nc-chero__title span { color: var(--nc-ch-accent); }
body.nc-skin .nc-chero__desc {
  margin: 1.25rem 0 0; font-size: 1.125rem; line-height: 1.7;
  color: hsl(var(--muted-foreground)); max-width: 36rem;
}
body.nc-skin .nc-chero__stats { margin-top: 1.5rem; display: flex; flex-wrap: wrap; gap: 0.75rem; }
body.nc-skin .nc-chero__stat {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.5rem 1rem; border-radius: 9999px;
  border: 1px solid hsl(var(--border) / 0.4);
  color: hsl(var(--muted-foreground)); font-size: 0.875rem;
  background: hsl(var(--background) / 0.4); backdrop-filter: blur(6px);
}
body.nc-skin .nc-chero__stat--accent {
  border-color: var(--nc-ch-border); color: var(--nc-ch-accent); font-weight: 600;
}
body.nc-skin .nc-chero__stat svg { width: 1rem; height: 1rem; }
body.nc-skin .nc-chero__features {
  margin-top: 1.5rem; display: flex; flex-direction: column; flex-wrap: wrap;
  gap: 0.75rem; font-size: 0.875rem;
}
@media (min-width: 640px) { body.nc-skin .nc-chero__features { flex-direction: row; gap: 1rem; } }
body.nc-skin .nc-chero__feature {
  display: inline-flex; align-items: center; gap: 0.5rem; color: hsl(var(--foreground) / 0.8);
}
body.nc-skin .nc-chero__tick {
  display: inline-flex; align-items: center; justify-content: center;
  width: 1.25rem; height: 1.25rem; border-radius: 9999px;
  background-image: var(--nc-ch-icon); flex: 0 0 auto;
}
body.nc-skin .nc-chero__tick svg { width: 0.75rem; height: 0.75rem; color: #fff; stroke-width: 3; }
body.nc-skin .nc-chero__media { position: relative; width: 100%; max-width: 28rem; margin: 0 auto; aspect-ratio: 1 / 1; }
body.nc-skin .nc-chero__blur {
  position: absolute; inset: -1rem; border-radius: 2.5rem;
  filter: blur(48px); opacity: 0.6; background-image: var(--nc-ch-grad);
}
body.nc-skin .nc-chero__frame {
  position: relative; width: 100%; height: 100%; overflow: hidden;
  border-radius: 2rem; border: 1px solid var(--nc-ch-border);
  box-shadow: 0 25px 50px -12px rgba(0,0,0,0.6), 0 0 40px var(--nc-ch-glow);
}
body.nc-skin .nc-chero__frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.nc-skin .nc-chero__tint {
  position: absolute; inset: 0; opacity: 0.3; mix-blend-mode: overlay;
  background-image: var(--nc-ch-grad);
}
body.nc-skin .nc-chero__fade {
  position: absolute; inset: 0;
  background: linear-gradient(to top, hsl(var(--background) / 0.7), hsl(var(--background) / 0.1) 50%, transparent);
}
body.nc-skin .nc-chero__badge {
  position: absolute; left: 1rem; right: 1rem; bottom: 1rem;
  display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem;
  border-radius: 1rem; border: 1px solid var(--nc-ch-border);
  background: hsl(var(--background) / 0.7); backdrop-filter: blur(10px);
  box-shadow: 0 10px 15px -3px rgba(0,0,0,0.4);
}
body.nc-skin .nc-chero__badgeicon {
  width: 2.5rem; height: 2.5rem; border-radius: 0.75rem; flex: 0 0 auto;
  display: inline-flex; align-items: center; justify-content: center;
  background-image: var(--nc-ch-icon);
}
body.nc-skin .nc-chero__badgeicon svg { width: 1.25rem; height: 1.25rem; color: #fff; }
body.nc-skin .nc-chero__badgetext { min-width: 0; display: block; }
body.nc-skin .nc-chero__badgesub {
  display: block; font-size: 0.75rem; color: hsl(var(--muted-foreground));
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
body.nc-skin .nc-chero__badgename {
  display: block; font-size: 0.875rem; font-weight: 700; color: var(--nc-ch-accent);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* --- Such-/Sortierleiste (Category.tsx) --- */
body.nc-skin .nc-filterbar {
  display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0.85rem;
  align-items: stretch; margin: 0 0 1.5rem;
}
body.nc-skin .nc-filterbar__search {
  position: relative; display: flex; align-items: center; gap: 0.5rem; flex: 0 0 auto; width: 100%;
  max-width: 36rem; padding: 0 0.75rem; height: 2.5rem; border-radius: 0.6rem;
  background: hsl(var(--card) / 0.6); border: 1px solid hsl(var(--border) / 0.6);
  backdrop-filter: blur(10px);
}
body.nc-skin .nc-filterbar__search svg { width: 1rem; height: 1rem; color: hsl(var(--muted-foreground)); flex: 0 0 auto; }
body.nc-skin .nc-filterbar__search input {
  flex: 1; background: transparent; border: 0; outline: none; box-shadow: none;
  color: hsl(var(--foreground)); font-size: 0.875rem; height: 100%; padding: 0;
}
body.nc-skin .nc-filterbar__sort {
  display: flex; align-items: center; gap: 0.5rem; margin: 0;
}
body.nc-skin .nc-filterbar__sortlabel { font-size: 0.8rem; color: hsl(var(--muted-foreground)); }
body.nc-skin .nc-filterbar__sort select {
  height: 2.5rem; border-radius: 0.6rem; padding: 0 0.75rem; font-size: 0.875rem;
  background: hsl(var(--card) / 0.6); border: 1px solid hsl(var(--border) / 0.6);
  color: hsl(var(--foreground));
}

/* --- Hot Deals: DealSliderSection.tsx --- */
body.nc-skin .nc-deal { margin: 0 0 3rem; }
body.nc-skin .nc-deal__head {
  position: relative; display: flex; flex-direction: column; gap: 1rem;
  padding: 1rem; border-radius: 0.75rem; margin: 0 0 1.5rem;
  background: hsl(var(--card) / 0.55); backdrop-filter: blur(12px);
  border: 1px solid var(--nc-deal-shadow);
  box-shadow: 0 0 25px var(--nc-deal-shadow);
}
@media (min-width: 640px) {
  body.nc-skin .nc-deal__head { flex-direction: row; align-items: center; justify-content: space-between; padding: 1.5rem; }
}
body.nc-skin .nc-deal__headleft { display: flex; align-items: center; gap: 1rem; min-width: 0; }
body.nc-skin .nc-deal__icon {
  width: 3rem; height: 3rem; border-radius: 0.75rem; flex: 0 0 auto;
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 0 20px var(--nc-deal-shadow);
}
@media (min-width: 640px) { body.nc-skin .nc-deal__icon { width: 3.5rem; height: 3.5rem; } }
body.nc-skin .nc-deal__icon svg { width: 1.5rem; height: 1.5rem; color: #fff; }
body.nc-skin .nc-deal__titles { min-width: 0; display: block; }
body.nc-skin .nc-deal__titlerow { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
body.nc-skin .nc-deal__titlerow h2 {
  margin: 0; font-family: var(--nc-font-category); font-size: 1.125rem;
  font-weight: 700; color: hsl(var(--foreground));
}
@media (min-width: 640px) { body.nc-skin .nc-deal__titlerow h2 { font-size: 1.5rem; } }
body.nc-skin .nc-deal__badge {
  display: inline-flex; align-items: center; padding: 0.125rem 0.5rem; border-radius: 9999px;
  font-size: 0.625rem; font-weight: 600; letter-spacing: 0.04em;
  color: var(--nc-deal-text); border: 1px solid var(--nc-deal-shadow);
  background: color-mix(in srgb, var(--nc-deal-text) 18%, transparent);
}
@media (min-width: 640px) { body.nc-skin .nc-deal__badge { font-size: 0.75rem; } }
body.nc-skin .nc-deal__sub { display: block; margin-top: 0.25rem; font-size: 0.875rem; color: hsl(var(--muted-foreground)); }
body.nc-skin .nc-deal__timer { display: flex; align-items: center; gap: 0.5rem; flex: 0 0 auto; }
body.nc-skin .nc-deal__unit {
  min-width: 3rem; text-align: center; padding: 0.375rem 0.5rem; border-radius: 0.5rem;
  border: 1px solid var(--nc-deal-shadow);
  background: color-mix(in srgb, var(--nc-deal-text) 10%, transparent);
  backdrop-filter: blur(8px);
}
body.nc-skin .nc-deal__unit b {
  display: block; font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 1.25rem; font-weight: 700; color: var(--nc-deal-text); line-height: 1.1;
}
@media (min-width: 640px) { body.nc-skin .nc-deal__unit b { font-size: 1.5rem; } }
body.nc-skin .nc-deal__unit i {
  display: block; font-style: normal; font-size: 0.625rem;
  text-transform: uppercase; letter-spacing: 0.08em; color: hsl(var(--muted-foreground));
}
body.nc-skin .nc-deal__colon { font-weight: 700; font-size: 1.125rem; color: var(--nc-deal-text); }
body.nc-skin .nc-deal__more {
  display: flex; align-items: center; gap: 0.5rem; margin: 3rem 0 1.5rem;
  font-family: var(--nc-font-category); font-size: 1.5rem; font-weight: 700;
  color: hsl(var(--foreground));
}
body.nc-skin .nc-deal__more svg { width: 1.5rem; height: 1.5rem; color: hsl(var(--primary)); }

@media (max-width: 640px) {
  body.nc-skin .nc-chero__grid { padding: 1.75rem 1rem; gap: 1.75rem; }
  body.nc-skin .nc-chero__title { font-size: 1.75rem; }
  body.nc-skin .nc-chero__desc { font-size: 0.95rem; }
  body.nc-skin .nc-chero__media { max-width: 20rem; }
  body.nc-skin .nc-filterbar__search { flex: 1 1 100%; max-width: none; }
  body.nc-skin .nc-filterbar__sort { width: 100%; }
  body.nc-skin .nc-filterbar__sort select { flex: 1; }
  body.nc-skin .nc-deal__timer { width: 100%; justify-content: flex-start; }
  body.nc-skin .nc-deal .nc-sec__arrow { display: none !important; }
}

/* ── Header-Such-Overlay ─────────────────────────────────── */
body.nc-skin .nc-search-overlay {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
  padding-top: 30vh;
  background: hsl(var(--background) / 0.96);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  opacity: 0; pointer-events: none; visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
body.nc-skin.nc-search-open .nc-search-overlay {
  opacity: 1; pointer-events: auto; visibility: visible;
}
body.nc-skin .nc-search-overlay__close {
  position: absolute; top: 1.5rem; right: 1.5rem;
  width: 3rem; height: 3rem; border-radius: 9999px;
  display: flex; align-items: center; justify-content: center;
  background: hsl(var(--card) / 0.5); border: 1px solid hsl(var(--border) / 0.3);
  color: hsl(var(--foreground)); cursor: pointer;
  transition: var(--transition-smooth);
}
body.nc-skin .nc-search-overlay__close:hover {
  background: hsl(var(--muted) / 0.5); color: hsl(var(--primary)); transform: rotate(90deg);
}
body.nc-skin .nc-search-overlay__close svg { width: 1.5rem; height: 1.5rem; }
body.nc-skin .nc-search-overlay__form {
  width: min(90vw, 42rem); display: flex; flex-direction: column; gap: 1rem;
}
body.nc-skin .nc-search-overlay__field {
  position: relative; display: flex; align-items: center; gap: 0.75rem;
  padding: 0.75rem 1rem; border-radius: 1rem;
  background: hsl(var(--card) / 0.6);
  border: 1px solid hsl(var(--border) / 0.4);
  box-shadow: 0 0 40px hsl(var(--primary) / 0.12);
  transition: var(--transition-smooth);
}
body.nc-skin .nc-search-overlay__field:focus-within {
  border-color: hsl(var(--primary) / 0.6);
  box-shadow: 0 0 60px hsl(var(--primary) / 0.22);
}
body.nc-skin .nc-search-overlay__field > svg:first-child {
  width: 1.5rem; height: 1.5rem; color: hsl(var(--muted-foreground)); flex-shrink: 0;
}
body.nc-skin .nc-search-overlay__input,
body.nc-skin input[type="search"].nc-search-overlay__input,
body.nc-skin input[type="text"].nc-search-overlay__input {
  flex: 1 1 auto; min-width: 0; width: 100%; max-width: 100%;
  box-sizing: border-box !important;
  background: transparent !important; background-color: transparent !important;
  border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  outline: none !important;
  margin: 0 !important; padding: 0 !important; height: auto !important; line-height: 1.4 !important;
  font-family: var(--nc-font-body); font-size: 1.25rem; font-weight: 500;
  color: hsl(var(--foreground)) !important;
  -webkit-appearance: none; appearance: none;
}
body.nc-skin .nc-search-overlay__input::placeholder { color: hsl(var(--muted-foreground)); }
body.nc-skin .nc-search-overlay__input::-webkit-search-cancel-button { display: none; }
body.nc-skin .nc-search-overlay__submit,
body.nc-skin button.nc-search-overlay__submit {
  width: 3rem !important; height: 3rem !important; min-width: 3rem; flex: 0 0 auto;
  box-sizing: border-box !important; padding: 0 !important; margin: 0 !important;
  border-radius: 0.75rem;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--secondary))) !important;
  border: none !important; color: hsl(var(--primary-foreground)) !important; cursor: pointer;
  transition: var(--transition-smooth);
}
body.nc-skin .nc-search-overlay__submit:hover {
  transform: translateX(2px); box-shadow: 0 0 20px hsl(var(--primary) / 0.35);
}
body.nc-skin .nc-search-overlay__submit svg { width: 1.25rem; height: 1.25rem; }
@media (max-width: 640px) {
  /* Kompakte Suchleiste direkt unter der Kopfzeile statt riesigem Feld in der Bildmitte */
  body.nc-skin .nc-search-overlay { padding-top: 4.5rem; }
  body.nc-skin .nc-search-overlay__form { width: calc(100vw - 1.5rem); max-width: 100%; gap: 0.75rem; }
  body.nc-skin .nc-search-overlay__field { padding: 0.5rem 0.75rem; gap: 0.5rem; border-radius: 0.875rem; }
  body.nc-skin .nc-search-overlay__field > svg:first-child { width: 1.125rem; height: 1.125rem; }
  body.nc-skin .nc-search-overlay__input { font-size: 1rem; }
  body.nc-skin .nc-search-overlay__submit,
  body.nc-skin button.nc-search-overlay__submit { width: 2.25rem !important; height: 2.25rem !important; min-width: 2.25rem; border-radius: 0.625rem; }
  body.nc-skin .nc-search-overlay__submit svg { width: 1rem; height: 1rem; }
  body.nc-skin .nc-search-overlay__close { top: 0.75rem; right: 0.75rem; width: 2.25rem; height: 2.25rem; padding: 0 !important; }
  body.nc-skin .nc-search-overlay__close svg { width: 1.125rem; height: 1.125rem; }
}

/* ---- Wunschliste ---- */
.nc-card { position: relative; }
.nc-wl-btn {
  position: absolute; top: 0.5rem; right: 0.5rem; z-index: 20;
  width: 2rem; height: 2rem; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid hsl(var(--border)); border-radius: 9999px;
  background: hsl(230 30% 10% / 0.75); backdrop-filter: blur(6px);
  color: hsl(var(--foreground) / 0.7); cursor: pointer; padding: 0;
  transition: color .2s, transform .2s, border-color .2s;
}
.nc-wl-btn svg { width: 1rem; height: 1rem; }
.nc-wl-btn:hover { color: hsl(var(--primary)); border-color: hsl(var(--primary) / 0.6); transform: scale(1.08); }
.nc-wl-btn.is-on { color: hsl(var(--primary)); border-color: hsl(var(--primary) / 0.7); }
.nc-wl-btn.is-on svg { fill: currentColor; }
.nc-wl-btn--loop { top: 0.5rem; right: 0.5rem; }
/* Fix: .nc-card a { display:block; height:100% } hat den Herz-Button auf Mobile
   auf volle Kartenhöhe gestreckt – hier mit höherer Spezifität zurücksetzen. */
body.nc-skin .nc-card a.nc-wl-btn,
body.nc-skin li.product a.nc-wl-btn,
body.nc-skin a.nc-wl-btn,
body.nc-skin button.nc-wl-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2rem; height: 2rem; min-height: 2rem; max-height: 2rem;
  min-width: 2rem; max-width: 2rem; flex: 0 0 auto; padding: 0; line-height: 1;
  box-sizing: border-box; overflow: hidden;
}
body.nc-skin .nc-wl-btn--single { position: static; width: 2.5rem; height: 2.5rem; min-width: 2.5rem; max-width: 2.5rem; min-height: 2.5rem; max-height: 2.5rem; }
li.product { position: relative; }
.nc-cartbtn--wl .nc-wl-count.is-empty { display: none; }
.nc-wl-single {
  display: flex; align-items: center; gap: 0.6rem; margin: 0.75rem 0 1rem;
}
.nc-wl-btn--single { position: static; width: 2.5rem; height: 2.5rem; }
.nc-wl-single__label { font-size: 0.875rem; color: hsl(var(--foreground) / 0.8); }
/* ── Wunschlisten-Seite: 1:1 nach src/pages/Wishlist.tsx ── */
/* main: container px-3/px-4 py-6/py-12, innen max-w-6xl (72rem) */
.nc-wl-page { max-width: 72rem; margin: 0 auto; padding: 1.5rem 0.75rem; }
@media (min-width: 640px) { .nc-wl-page { padding: 3rem 1rem; } }

/* Button variant="ghost" + gap-2 + -ml-2 + mb-4 */
.nc-wl-back {
  display: inline-flex; align-items: center; gap: 0.5rem; margin: 0 0 1rem -0.5rem;
  height: 2.5rem; padding: 0 0.75rem; border: 0; border-radius: 0.5rem; cursor: pointer;
  background: transparent; color: hsl(var(--muted-foreground));
  font-size: 0.875rem; font-weight: 500; font-family: inherit;
  transition: background .2s, color .2s;
}
.nc-wl-back:hover { background: hsl(var(--accent) / 0.1); color: hsl(var(--foreground)); }
.nc-wl-back svg { width: 1rem; height: 1rem; }

/* flex-col sm:flex-row justify-between gap-4 mb-6/mb-8 */
.nc-wl-head { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 1.5rem; }
@media (min-width: 640px) { .nc-wl-head { flex-direction: row; align-items: center; justify-content: space-between; margin-bottom: 2rem; } }
.nc-wl-title {
  font-family: Outfit, sans-serif; font-weight: 700; line-height: 1.15;
  font-size: 1.5rem; margin: 0 0 0.25rem;
}
@media (min-width: 640px) { .nc-wl-title { font-size: 1.875rem; margin-bottom: 0.5rem; } }
@media (min-width: 768px) { .nc-wl-title { font-size: 2.25rem; } }
.nc-wl-sub { color: hsl(var(--muted-foreground)); font-size: 0.875rem; margin: 0; }
@media (min-width: 640px) { .nc-wl-sub { font-size: 1rem; } }

/* Button variant="outline" gap-2 h-9 sm:h-10 */
.nc-wl-clear {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  height: 2.25rem; padding: 0 0.75rem; border-radius: 0.5rem; cursor: pointer;
  border: 1px solid hsl(var(--border)); background: hsl(var(--background) / 0.4);
  color: hsl(var(--foreground)); font-size: 0.875rem; font-weight: 500; font-family: inherit;
  transition: background .2s, color .2s, border-color .2s;
}
@media (min-width: 640px) { .nc-wl-clear { height: 2.5rem; } }
.nc-wl-clear:hover { background: hsl(var(--accent) / 0.12); border-color: hsl(var(--primary) / 0.5); }
.nc-wl-clear svg { width: 1rem; height: 1rem; }
.nc-wl-only-lg { display: none; }
@media (min-width: 640px) { .nc-wl-only-lg { display: inline; } .nc-wl-only-sm { display: none; } }

/* leerer Zustand / Login-Hinweis: text-center py-12 sm:py-16 glass rounded-lg */
.nc-wl-state {
  text-align: center; padding: 3rem 1.25rem; border-radius: 0.5rem;
  background-color: hsl(var(--card) / 0.4);
  backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
  border: 1px solid hsl(var(--border) / 0.5);
}
@media (min-width: 640px) { .nc-wl-state { padding: 4rem 1.5rem; } }
.nc-wl-state__icon { width: 3rem; height: 3rem; margin: 0 auto 0.75rem; color: hsl(var(--muted-foreground)); display: block; }
@media (min-width: 640px) { .nc-wl-state__icon { width: 4rem; height: 4rem; margin-bottom: 1rem; } }
.nc-wl-state h2 { font-size: 1.25rem; font-weight: 600; margin: 0 0 0.5rem; color: hsl(var(--foreground)); }
@media (min-width: 640px) { .nc-wl-state h2 { font-size: 1.5rem; } }
.nc-wl-state p { color: hsl(var(--muted-foreground)); font-size: 0.875rem; margin: 0 0 1rem; }
@media (min-width: 640px) { .nc-wl-state p { font-size: 1rem; margin-bottom: 1.5rem; } }

/* grid-cols-2 md:3 lg:4, gap-3 sm:gap-4 md:gap-6 */
.nc-wl-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
@media (min-width: 640px) { .nc-wl-grid { gap: 1rem; } }
@media (min-width: 768px) { .nc-wl-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; } }
@media (min-width: 1024px) { .nc-wl-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Karte: glass rounded-lg overflow-hidden group hover:shadow-xl */
.nc-wl-item {
  position: relative; border-radius: 0.5rem; overflow: hidden; display: flex; flex-direction: column;
  background-color: hsl(var(--card) / 0.4);
  backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
  border: 1px solid hsl(var(--border) / 0.5);
  transition: box-shadow .3s, transform .3s;
}
.nc-wl-item:hover { box-shadow: 0 20px 25px -5px hsl(0 0% 0% / 0.35), 0 8px 10px -6px hsl(0 0% 0% / 0.3); }
.nc-wl-item__media { display: block; aspect-ratio: 1 / 1; overflow: hidden; background: hsl(230 30% 10%); }
.nc-wl-item__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.nc-wl-item:hover .nc-wl-item__media img { transform: scale(1.1); }
.nc-wl-item__media span { display: flex; align-items: center; justify-content: center; height: 100%; color: hsl(var(--muted-foreground)); }
.nc-wl-item__body { padding: 0.5rem; display: flex; flex-direction: column; flex: 1; }
@media (min-width: 640px) { .nc-wl-item__body { padding: 1rem; } }
.nc-wl-item__title {
  font-weight: 600; font-size: 0.875rem; color: hsl(var(--foreground)); text-decoration: none;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  margin-bottom: 0.25rem; transition: color .2s;
}
@media (min-width: 640px) { .nc-wl-item__title { font-size: 1rem; margin-bottom: 0.5rem; } }
.nc-wl-item__title:hover { color: hsl(var(--primary)); }
.nc-wl-item__price { font-weight: 700; font-size: 1rem; }
@media (min-width: 640px) { .nc-wl-item__price { font-size: 1.25rem; } }
.nc-wl-item__price del { -webkit-text-fill-color: hsl(var(--muted-foreground)); background: none; font-weight: 400; margin-right: .35rem; }
.nc-wl-item__vat { font-size: 0.625rem; color: hsl(var(--muted-foreground)); margin-bottom: 0.5rem; }
@media (min-width: 640px) { .nc-wl-item__vat { font-size: 0.75rem; margin-bottom: 1rem; } }
.nc-wl-item__actions { margin-top: auto; display: flex; flex-direction: column; gap: 0.5rem; }
@media (min-width: 640px) { .nc-wl-item__actions { flex-direction: row; } }

/* Primary-Button wie im Original (Gradient-Stil des Skins) */
.nc-wl-add, .nc-wl-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.25rem;
  flex: 1; height: 2rem; padding: 0 0.625rem; border: 0; border-radius: 0.5rem;
  font-size: 0.75rem; font-weight: 600; text-decoration: none; cursor: pointer;
  color: hsl(var(--primary-foreground)); background-image: var(--gradient-primary);
  transition: filter .2s, transform .2s;
}
@media (min-width: 640px) { .nc-wl-add, .nc-wl-cta { height: 2.25rem; font-size: 0.875rem; gap: 0.5rem; } }
.nc-wl-add svg { width: 0.75rem; height: 0.75rem; }
@media (min-width: 640px) { .nc-wl-add svg { width: 1rem; height: 1rem; } }
.nc-wl-add:hover, .nc-wl-cta:hover { filter: brightness(1.08); color: hsl(var(--primary-foreground)); }
.nc-wl-add.is-disabled { opacity: .5; pointer-events: none; }
.nc-wl-cta { flex: 0 0 auto; width: auto; padding: 0 1.25rem; height: 2.5rem; font-size: 0.875rem; }

/* Entfernen: Button variant="outline" size="icon" text-destructive */
.nc-wl-remove {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
  width: 100%; height: 2rem; border-radius: 0.5rem; cursor: pointer;
  border: 1px solid hsl(var(--border)); background: transparent;
  color: hsl(var(--destructive, 0 84% 60%)); transition: background .2s;
}
@media (min-width: 640px) { .nc-wl-remove { width: 2.25rem; height: 2.25rem; } }
.nc-wl-remove:hover { background: hsl(var(--destructive, 0 84% 60%) / 0.1); }
.nc-wl-remove svg { width: 0.75rem; height: 0.75rem; }
@media (min-width: 640px) { .nc-wl-remove svg { width: 1rem; height: 1rem; } }

.nc-wl-empty {
  border: 1px solid hsl(var(--border)); border-radius: 1rem; padding: 2rem;
  background: hsl(var(--card) / 0.5); text-align: center; color: hsl(var(--muted-foreground));
}


/* Herz nicht von Sale-Flags ueberdeckt */
.nc-card .nc-card__flags { top: 2.75rem; }
@media (min-width: 640px) { .nc-card .nc-card__flags { top: 3rem; } }

/* ── Footer-Links: Theme-Regel .site-footer a:not(.button) (#333) ueberschreiben ── */
body .site-footer .nc-footer a,
body .nc-footer a { color: hsl(var(--foreground) / 0.88) !important; text-decoration: none; }
body .site-footer .nc-footer a:hover,
body .site-footer .nc-footer a:focus-visible,
body .nc-footer a:hover,
body .nc-footer a:focus-visible { color: hsl(var(--primary)) !important; }
body .nc-footer .nc-footer__brandname,
body .nc-footer .nc-footer__head { color: hsl(var(--foreground)) !important; }
body .nc-footer .nc-footer__social a { color: hsl(var(--muted-foreground)) !important; }
body .nc-footer .nc-footer__social a:hover { color: hsl(var(--primary)) !important; }

/* ── Header-Icon-Buttons: Theme-Padding/Shrink neutralisieren (Icons waren 0px breit) ── */
body .nc-iconbtn,
body button.nc-iconbtn,
body .nc-cartbtn,
body a.nc-cartbtn {
  padding: 0 !important; box-sizing: border-box !important; line-height: 1 !important;
  background-image: none; text-shadow: none;
}
body .nc-iconbtn svg,
body .nc-cartbtn svg { flex: 0 0 auto !important; min-width: 0; }
body .nc-iconbtn svg { width: 1.25rem !important; height: 1.25rem !important; }
body .nc-iconbtn--sm svg { width: 1rem !important; height: 1rem !important; }
@media (min-width: 640px) { body .nc-iconbtn--sm svg { width: 1.25rem !important; height: 1.25rem !important; } }
body .nc-cartbtn svg { width: 1.25rem !important; height: 1.25rem !important; }

/* ============ Warenkorb-Feinschliff (Vorbild: Checkout.tsx) ============ */
body.nc-skin.woocommerce-cart .marketpress-salesman-fsn,
body.nc-skin .marketpress-salesman-fsn {
  background: hsl(var(--card) / 0.5) !important;
  border: 1px solid hsl(var(--border) / 0.4) !important;
  border-radius: var(--radius) !important;
  padding: 0.875rem 1.125rem !important;
  color: hsl(var(--foreground)) !important;
  box-shadow: none !important;
}
body.nc-skin .marketpress-salesman-fsn p,
body.nc-skin .marketpress-salesman-fsn span { color: hsl(var(--foreground) / 0.9) !important; }
body.nc-skin .marketpress-salesman-fsn .woocommerce-Price-amount { color: hsl(var(--secondary)) !important; font-weight: 700; }
body.nc-skin .marketpress-salesman-fsn progress,
body.nc-skin .marketpress-salesman-fsn .marketpress-salesman-fsn-bar {
  accent-color: hsl(var(--primary)); border-radius: 9999px; overflow: hidden;
}
body.nc-skin.woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item {
  background: hsl(var(--card) / 0.45);
}
body.nc-skin.woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item td {
  border-bottom: 1px solid hsl(var(--border) / 0.35);
  padding-top: 1rem; padding-bottom: 1rem;
}
body.nc-skin.woocommerce-cart .quantity input.qty,
body.nc-skin.woocommerce-cart .quantity .plus,
body.nc-skin.woocommerce-cart .quantity .minus {
  background: hsl(var(--background) / 0.6) !important;
  border: 1px solid hsl(var(--border) / 0.5) !important;
  color: hsl(var(--foreground)) !important;
  border-radius: calc(var(--radius) - 4px);
}
body.nc-skin.woocommerce-cart .quantity .plus:hover,
body.nc-skin.woocommerce-cart .quantity .minus:hover { border-color: hsl(var(--primary) / 0.7) !important; color: hsl(var(--primary)) !important; }
body.nc-skin .cart-collaterals .cart_totals,
body.nc-skin .cart_totals {
  box-shadow: var(--shadow-elegant);
}
body.nc-skin .cart_totals table th,
body.nc-skin .cart_totals table td { border-bottom: 1px solid hsl(var(--border) / 0.25); }
body.nc-skin .wc-proceed-to-checkout .checkout-button,
body.nc-skin .wc-proceed-to-checkout a.button {
  background-image: var(--gradient-primary) !important;
  color: hsl(var(--primary-foreground)) !important;
  border: 0 !important; border-radius: calc(var(--radius) - 2px) !important;
  box-shadow: var(--shadow-glow) !important;
}
body.nc-skin .woocommerce-message,
body.nc-skin .woocommerce-info,
body.nc-skin .wc-points-rewards-message,
body.nc-skin .woocommerce-cart .cart-collaterals .cross-sells {
  background: hsl(var(--card) / 0.5) !important;
  border: 1px solid hsl(var(--border) / 0.4) !important;
  border-radius: var(--radius) !important;
  color: hsl(var(--foreground)) !important;
}
body.nc-skin .woocommerce-message a, body.nc-skin .woocommerce-info a { color: hsl(var(--primary)); }

/* ============ Vorbestellungs-Bestätigung ============ */
.nc-preorder {
  margin: 1rem 0 1.25rem; padding: 1rem;
  border-radius: var(--radius);
  border: 1px solid hsl(210 90% 60% / 0.35);
  border-left: 4px solid hsl(210 90% 60%);
  background: hsl(210 90% 60% / 0.1);
  backdrop-filter: blur(12px);
}
.nc-preorder__head { display: flex; gap: 0.75rem; align-items: flex-start; }
.nc-preorder__head > svg { width: 1.25rem; height: 1.25rem; flex: none; margin-top: 0.15rem; color: hsl(210 95% 70%); }
.nc-preorder__title { margin: 0 0 0.25rem; font-size: 0.95rem; font-weight: 700; color: hsl(210 95% 72%); }
.nc-preorder__text { margin: 0; font-size: 0.85rem; line-height: 1.55; color: hsl(var(--muted-foreground)); }
.nc-preorder__check { display: flex; gap: 0.75rem; align-items: flex-start; margin: 0.9rem 0 0 2rem; font-size: 0.85rem; line-height: 1.55; cursor: pointer; }
.nc-preorder__check input { width: 1.05rem; height: 1.05rem; margin-top: 0.15rem; accent-color: hsl(210 90% 55%); flex: none; }
body.nc-skin .single_add_to_cart_button.nc-disabled,
body.nc-skin #place_order.nc-disabled { opacity: 0.6; cursor: not-allowed; }

/* ============ Produktsicherheit ============ */
.nc-safety { display: flex; flex-direction: column; gap: 1.1rem; }
.nc-safety__block--sep { border-top: 1px solid hsl(var(--border) / 0.4); padding-top: 1.1rem; }
.nc-safety__h { display: flex; align-items: center; gap: 0.5rem; font-size: 0.9rem; font-weight: 700; margin: 0 0 0.5rem; }
.nc-safety__h svg { width: 1rem; height: 1rem; }
.nc-safety__h--warn { color: hsl(var(--destructive)); }
.nc-safety__h--primary { color: hsl(var(--primary)); }
.nc-safety__p, .nc-safety__hint { font-size: 0.85rem; color: hsl(var(--muted-foreground)); margin: 0 0 0.6rem; }
.nc-safety__docs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; }
@media (min-width: 640px) { .nc-safety__docs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.nc-safety__doc {
  display: flex; align-items: center; justify-content: space-between; gap: 0.5rem;
  padding: 0.55rem 0.7rem; border-radius: calc(var(--radius) - 2px);
  background: hsl(var(--secondary) / 0.14); border: 1px solid hsl(var(--border) / 0.5);
  color: hsl(var(--foreground)) !important; text-decoration: none; font-size: 0.8rem; font-weight: 600;
  transition: all 0.2s ease;
}
.nc-safety__doc:hover { background: hsl(var(--secondary) / 0.28); border-color: hsl(var(--primary) / 0.5); }
.nc-safety__doclabel { display: flex; align-items: center; gap: 0.4rem; min-width: 0; }
.nc-safety__doc svg { width: 0.95rem; height: 0.95rem; flex: none; color: hsl(var(--primary)); }
.nc-safety__importer { font-size: 0.85rem; color: hsl(var(--muted-foreground)); line-height: 1.6; }

/* Glassmorphism der Produktkarten wie im Original (.glass = bg-card/40 + backdrop-blur-xl) */
body.nc-skin .nc-card__inner,
body.nc-skin ul.products li.product {
  background-color: transparent !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
  border: 1px solid hsl(var(--border) / 0.3);
}
@media (max-width: 767px) {
  body.nc-skin .nc-card__inner,
  body.nc-skin ul.products li.product {
    background-color: hsl(var(--card) / 0.7) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
  }
}

/* Vorbestellungs-Badge (Cyan/Sekundärfarbe) */
body.nc-skin .nc-badge--preorder {
  background: hsl(193 100% 50% / 0.15);
  border: 1px solid hsl(193 100% 50% / 0.6);
  color: hsl(193 100% 72%);
}
/* Zulieferungs-Badge (Violett) */
body.nc-skin .nc-badge--supplier {
  background: hsl(258 90% 66% / 0.18);
  border: 1px solid hsl(258 90% 66% / 0.6);
  color: hsl(255 92% 80%);
}
/* "Letztes Exemplar"-Badge (Rot/Orange, Dringlichkeit) */
body.nc-skin .nc-badge--last {
  background: linear-gradient(135deg, hsl(8 90% 55% / 0.22), hsl(28 95% 55% / 0.22));
  border: 1px solid hsl(14 92% 58% / 0.75);
  color: hsl(20 100% 76%);
  box-shadow: 0 0 12px hsl(12 95% 55% / 0.25);
}
body.nc-skin .nc-loopbadges--single { display: flex; gap: 0.4rem; flex-wrap: wrap; margin: 0 0 0.6rem; position: static; }

/* ── Infinite Scroll ─────────────────────────────────────── */
.nc-inf { margin: 24px 0 8px; text-align: center; }
.nc-inf__sentinel { height: 1px; }
.nc-inf__spinner {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 10px 18px; border-radius: 999px;
  background: hsl(var(--card) / 0.4);
  -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px);
  border: 1px solid hsl(var(--border) / 0.6);
  color: hsl(var(--muted-foreground)); font-size: 14px;
}
.nc-inf__dot {
  width: 16px; height: 16px; border-radius: 50%;
  border: 2px solid hsl(var(--primary) / 0.25);
  border-top-color: hsl(var(--primary));
  animation: nc-inf-spin 0.7s linear infinite;
}
@keyframes nc-inf-spin { to { transform: rotate(360deg); } }
.nc-inf__end {
  margin: 8px 0 0; font-size: 14px; letter-spacing: .02em;
  color: hsl(var(--muted-foreground));
}
body.nc-inf-on .woocommerce-pagination,
body.nc-inf-on nav.woocommerce-pagination { display: none !important; }
@media (prefers-reduced-motion: reduce) { .nc-inf__dot { animation-duration: 2s; } }
.nc-inf__spinner[hidden], .nc-inf__end[hidden] { display: none !important; }

/* ── Glass-Fix: Slider-Karten dürfen nicht opak überdeckt werden ──
   Die Inline-Füllung der Karte liefert bg-card/60 (wie UnifiedProductSlider.tsx),
   die background-color muss deshalb transparent bleiben. Blur wie im Original. */
body.nc-skin .nc-card .nc-card__inner {
  background-color: transparent !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}
/* Shop-/Kategorie-Grid = .glass im Original (bg-card/40 + backdrop-blur-xl) */
body.nc-skin ul.products li.product {
  background-color: hsl(var(--card) / 0.4) !important;
  background-image: none !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
}

/* Wunschlisten-Seite: Theme-Seitentitel/Breadcrumb ausblenden – im Original
   (src/pages/Wishlist.tsx) beginnt der Content direkt mit dem Zurück-Button. */
body.nc-skin.page-id-4786720 .entry-title,
body.nc-skin.page-id-4786720 .page-title,
body.nc-skin.page-id-4786720 .woocommerce-breadcrumb,
body.nc-skin.page-id-4786720 .storefront-breadcrumb { display: none !important; }
body.nc-skin.page-id-4786720 .nc-wl-page { padding-top: 0.5rem; }
/* Trash-Icon: gegen globale svg-Regeln absichern (width wurde auf 0 berechnet) */
body.nc-skin .nc-wl-remove svg { width: 1rem !important; height: 1rem !important; flex: 0 0 auto; }
body.nc-skin .nc-wl-add svg { width: 1rem !important; height: 1rem !important; flex: 0 0 auto; }
@media (min-width: 640px) { body.nc-skin .nc-wl-remove { flex: 0 0 2.25rem; width: 2.25rem; } }

/* ══════════ NC v7 ══════════ */

/* Header: einheitliche Kreis-Optik für Warenkorb & Kategorie-Icons */
body.nc-skin .nc-cartbtn,
body.nc-skin .nc-header__actions .nc-iconbtn {
  border: 1px solid hsl(var(--border) / 0.6);
  background-color: hsl(var(--card) / 0.5);
  border-radius: 9999px;
}
body.nc-skin .nc-cartbtn:hover,
body.nc-skin .nc-header__actions .nc-iconbtn:hover {
  border-color: hsl(var(--primary) / 0.6);
  background-color: hsl(var(--primary) / 0.12);
}
body.nc-skin .nc-catnav-desktop .nc-cat {
  border: 1px solid hsl(var(--border) / 0.5);
  background-color: hsl(var(--card) / 0.4);
  border-radius: 9999px;
}
body.nc-skin .nc-catnav-desktop .nc-cat:hover {
  border-color: hsl(var(--primary) / 0.6);
  background-color: hsl(var(--primary) / 0.12);
}

/* Produktkarten: Glas-Look mit Glow (wie ProductCard.tsx im Original) */
body.nc-skin ul.products li.product {
  background-color: hsl(var(--card) / 0.4) !important;
  background-image: none !important;
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid hsl(var(--border) / 0.3);
  box-shadow: 0 8px 32px hsl(230 40% 4% / 0.35);
}
body.nc-skin ul.products li.product:hover {
  border-color: hsl(var(--primary) / 0.5);
  box-shadow: 0 0 28px hsl(var(--primary) / 0.28);
}
body.nc-skin .nc-card__inner { box-shadow: 0 8px 32px hsl(230 40% 4% / 0.35); }

/* Filterleiste */
.nc-flt { position: relative; width: 100%; }
.nc-flt__sum {
  list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 0.6rem;
  padding: 0.8rem 1.35rem; border-radius: 9999px; font-weight: 800; font-size: 0.95rem;
  letter-spacing: 0.01em; text-transform: uppercase;
  border: 2px solid hsl(var(--primary) / 0.65);
  background-color: hsl(var(--primary) / 0.14);
  color: hsl(var(--foreground));
  box-shadow: 0 0 18px hsl(var(--primary) / 0.25);
  transition: box-shadow .2s ease, background-color .2s ease, border-color .2s ease;
}
.nc-flt__sum:hover { background-color: hsl(var(--primary) / 0.22); box-shadow: 0 0 26px hsl(var(--primary) / 0.4); }
.nc-flt[open] .nc-flt__sum { border-color: hsl(var(--primary)); box-shadow: 0 0 30px hsl(var(--primary) / 0.45); }
.nc-flt__sum::-webkit-details-marker { display: none; }
.nc-flt__sum svg { width: 1.15rem; height: 1.15rem; color: hsl(var(--primary)); }
.nc-flt__count {
  display: inline-flex; align-items: center; justify-content: center; min-width: 1.4rem; height: 1.4rem;
  border-radius: 9999px; background: hsl(var(--primary)); color: hsl(var(--primary-foreground));
  font-size: 0.75rem; font-weight: 800;
}
.nc-flt__form {
  display: grid; grid-template-columns: 1fr; gap: 0.875rem; margin-top: 0.85rem; padding: 1.25rem;
  border-radius: var(--radius); border: 2px solid hsl(var(--primary) / 0.4);
  background-color: hsl(var(--card) / 0.75); backdrop-filter: blur(24px);
  box-shadow: 0 0 28px hsl(var(--primary) / 0.18);
}
@media (min-width: 900px) { .nc-flt__form { grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: end; } }
.nc-flt__f {
  display: flex; flex-direction: column; gap: 0.4rem; font-size: 0.8rem;
  font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase;
  color: hsl(var(--foreground) / 0.85);
}
.nc-flt__f select, .nc-flt__f input {
  width: 100%; padding: 0.7rem 0.8rem; border-radius: calc(var(--radius) - 2px);
  border: 1px solid hsl(var(--primary) / 0.35); background-color: hsl(var(--background) / 0.85);
  color: hsl(var(--foreground)); font-size: 0.9rem; font-weight: 500; text-transform: none; letter-spacing: 0;
}
.nc-flt__f select:focus, .nc-flt__f input:focus {
  outline: none; border-color: hsl(var(--primary)); box-shadow: 0 0 0 3px hsl(var(--primary) / 0.2);
}
.nc-flt__row { display: flex; gap: 0.5rem; }
.nc-flt__actions { display: flex; gap: 0.75rem; align-items: center; }
.nc-flt__go {
  padding: 0.75rem 1.5rem; border: 0; border-radius: 9999px; cursor: pointer; font-weight: 800;
  font-size: 0.95rem; letter-spacing: 0.02em;
  background-image: var(--gradient-primary, linear-gradient(135deg, hsl(193 100% 50%), hsl(328 100% 54%)));
  color: #fff; box-shadow: 0 0 20px hsl(var(--primary) / 0.35);
}
.nc-flt__go:hover { box-shadow: 0 0 28px hsl(var(--primary) / 0.55); }
.nc-flt__reset { font-size: 0.85rem; font-weight: 600; color: hsl(var(--foreground) / 0.8); text-decoration: underline; }

/* Leerzustand */
.nc-empty {
  grid-column: 1 / -1; text-align: center; padding: 3rem 1rem; border-radius: var(--radius);
  border: 1px dashed hsl(var(--border) / 0.6); background-color: hsl(var(--card) / 0.4);
}
.nc-empty svg { width: 2.5rem; height: 2.5rem; color: hsl(var(--muted-foreground)); }
.nc-empty p { margin: 0.75rem 0 1.25rem; color: hsl(var(--muted-foreground)); }
.nc-empty__btn {
  display: inline-block; padding: 0.7rem 1.4rem; border-radius: 9999px; color: #fff; font-weight: 700;
  background-image: var(--gradient-primary, linear-gradient(135deg, hsl(193 100% 50%), hsl(328 100% 54%)));
}

/* Luckyboxes */
.nc-lb-hero { position: relative; padding: 3rem 0 2rem; }
.nc-lb-hero::before {
  content: ''; position: absolute; inset: -10% -20% 0; pointer-events: none;
  background-image: radial-gradient(700px 340px at 20% 0%, hsl(280 90% 60% / 0.35), transparent 60%),
                    radial-gradient(600px 340px at 100% 100%, hsl(45 95% 55% / 0.25), transparent 60%);
}
.nc-lb-hero__text { position: relative; max-width: 46rem; }
.nc-lb-chip {
  display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.4rem 0.9rem; border-radius: 9999px;
  background: #a855f7; color: #fff; font-size: 0.75rem; font-weight: 700;
}
.nc-lb-chip svg { width: 0.9rem; height: 0.9rem; }
.nc-lb-hero h1 { margin: 1rem 0 0; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.05; font-weight: 800; }
.nc-lb-hero h1 span { color: hsl(var(--primary)); }
.nc-lb-hero p { margin-top: 1rem; font-size: 1.05rem; color: hsl(var(--muted-foreground)); }
.nc-lb-hero__facts { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1.25rem; font-size: 0.875rem; color: hsl(var(--muted-foreground)); }
.nc-lb-hero__facts span { display: inline-flex; align-items: center; gap: 0.4rem; }
.nc-lb-hero__facts svg { width: 1rem; height: 1rem; color: #34d399; }
.nc-lb-sec { padding: 2.5rem 0; }
.nc-lb-sec h2 { font-size: clamp(1.5rem, 3vw, 2.25rem); font-weight: 800; text-align: center; }
.nc-lb-sub { text-align: center; color: hsl(var(--muted-foreground)); margin: 0.5rem auto 2rem; max-width: 40rem; }
.nc-lb-grid { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .nc-lb-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .nc-lb-grid { grid-template-columns: repeat(4, 1fr); } }
.nc-lb-card {
  position: relative; overflow: hidden; padding: 1.5rem; border-radius: 1rem;
  border: 1px solid var(--lb-border); background-color: hsl(var(--card) / 0.5); background-image: var(--lb-grad);
  backdrop-filter: blur(24px); display: flex; flex-direction: column;
}
.nc-lb-card__label { font-size: 0.875rem; font-weight: 600; color: hsl(var(--muted-foreground)); }
.nc-lb-card__price { display: flex; align-items: baseline; gap: 0.5rem; margin-top: 0.25rem; }
.nc-lb-card__price b { font-size: 2.25rem; font-weight: 800; }
.nc-lb-card__price s { color: hsl(var(--muted-foreground) / 0.8); font-size: 0.875rem; }
.nc-lb-card__tag { margin-top: 0.75rem; font-size: 0.875rem; color: hsl(var(--muted-foreground)); }
.nc-lb-card__perks { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; gap: 0.5rem; font-size: 0.875rem; }
.nc-lb-card__perks li { display: flex; gap: 0.5rem; align-items: flex-start; }
.nc-lb-card__perks svg { width: 1rem; height: 1rem; margin-top: 0.15rem; color: var(--lb-accent); flex: none; }
.nc-lb-card__buy { margin-top: auto; padding-top: 1.25rem; }
.nc-lb-card__buy > span { font-size: 0.75rem; color: hsl(var(--muted-foreground)); }
.nc-lb-card__btns { display: grid; gap: 0.5rem; margin-top: 0.5rem; }
.nc-lb-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.65rem 0.9rem;
  border-radius: 9999px; font-weight: 700; font-size: 0.85rem; color: #fff; text-decoration: none;
  background-image: var(--gradient-primary, linear-gradient(135deg, hsl(193 100% 50%), hsl(328 100% 54%)));
}
.nc-lb-btn svg { width: 1rem; height: 1rem; }
.nc-lb-themes { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 768px) { .nc-lb-themes { grid-template-columns: repeat(2, 1fr); } }
.nc-lb-theme {
  padding: 2rem; border-radius: 1rem; border: 1px solid hsl(var(--primary) / 0.4);
  background-image: linear-gradient(135deg, hsl(var(--primary) / 0.2), hsl(var(--secondary) / 0.1));
}
.nc-lb-theme svg { width: 2.5rem; height: 2.5rem; }
.nc-lb-theme h3 { margin: 1rem 0 0; font-size: 1.5rem; font-weight: 800; }
.nc-lb-theme p { margin-top: 0.75rem; color: hsl(var(--muted-foreground)); }
.nc-lb-steps { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 768px) { .nc-lb-steps { grid-template-columns: repeat(3, 1fr); } }
.nc-lb-step {
  text-align: center; padding: 1.5rem; border-radius: 1rem;
  border: 1px solid hsl(var(--border) / 0.4); background-color: hsl(var(--card) / 0.5);
}
.nc-lb-step svg { width: 1.75rem; height: 1.75rem; color: hsl(var(--primary)); }
.nc-lb-step b { display: block; margin-top: 0.6rem; }
.nc-lb-step span { display: block; font-size: 0.875rem; color: hsl(var(--muted-foreground)); margin-top: 0.25rem; }

/* Newsletter */
div.nc-news { max-width: 34rem; margin-left: auto; margin-right: auto; }
.nc-news--compact { margin: 0 auto; }
section.nc-news { max-width: none; width: 100%; }
.nc-news__form { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.nc-news__form input {
  flex: 1 1 14rem; padding: 0.75rem 1rem; border-radius: 9999px;
  border: 1px solid hsl(var(--border) / 0.6); background-color: hsl(var(--background) / 0.7); color: hsl(var(--foreground));
}
.nc-news__form button {
  padding: 0.75rem 1.4rem; border: 0; border-radius: 9999px; font-weight: 700; color: #fff; cursor: pointer;
  background-image: var(--gradient-primary, linear-gradient(135deg, hsl(193 100% 50%), hsl(328 100% 54%)));
}
.nc-news__hint { display: flex; gap: 0.5rem; margin-top: 0.75rem; font-size: 0.8rem; color: hsl(var(--muted-foreground)); }
.nc-news__hint svg { width: 1rem; height: 1rem; flex: none; margin-top: 0.15rem; }
.nc-news__ok, .nc-news__err {
  display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.9rem; padding: 0.8rem 1rem;
  border-radius: calc(var(--radius) - 2px); font-size: 0.9rem;
}
.nc-news__ok { border: 1px solid rgba(16,185,129,0.4); background: rgba(16,185,129,0.12); color: #6ee7b7; }
.nc-news__err { border: 1px solid rgba(239,68,68,0.4); background: rgba(239,68,68,0.12); color: #fca5a5; }
.nc-news__ok svg { width: 1.1rem; height: 1.1rem; flex: none; }
.nc-newscta { padding: 3rem 0; }
.nc-newscta__box {
  text-align: center; padding: 2.5rem 1.5rem; border-radius: 1.25rem;
  border: 1px solid hsl(var(--primary) / 0.35); background-color: hsl(var(--card) / 0.5); backdrop-filter: blur(24px);
  background-image: radial-gradient(600px 260px at 50% 0%, hsl(328 100% 54% / 0.18), transparent 70%);
}
.nc-newscta__chip {
  display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.35rem 0.9rem; border-radius: 9999px;
  font-size: 0.75rem; font-weight: 700; color: #fff;
  background-image: var(--gradient-primary, linear-gradient(135deg, hsl(193 100% 50%), hsl(328 100% 54%)));
}
.nc-newscta__chip svg { width: 0.9rem; height: 0.9rem; }
.nc-newscta h2 { margin: 1rem 0 0.5rem; font-size: clamp(1.5rem, 3vw, 2.25rem); font-weight: 800; }
.nc-newscta p { color: hsl(var(--muted-foreground)); margin-bottom: 1.5rem; }

/* Inhaltsseiten (Rechtliches & Service) im Skin-Look */
body.nc-contentpage .entry-header .entry-title,
body.nc-contentpage .entry-content h1 {
  font-size: clamp(2rem, 4vw, 3rem); font-weight: 800;
  background-image: var(--gradient-text, linear-gradient(135deg, hsl(193 100% 50%), hsl(328 100% 54%)));
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
body.nc-contentpage .entry-content {
  padding: 1.75rem; border-radius: 1rem; border: 1px solid hsl(var(--border) / 0.35);
  background-color: hsl(var(--card) / 0.4); backdrop-filter: blur(24px);
  line-height: 1.75; color: hsl(var(--foreground) / 0.92);
}
body.nc-contentpage .entry-content h2,
body.nc-contentpage .entry-content h3 {
  margin-top: 2rem; font-weight: 800;
  background-image: var(--gradient-text, linear-gradient(135deg, hsl(193 100% 50%), hsl(328 100% 54%)));
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
body.nc-contentpage .entry-content h2 { font-size: 1.5rem; }
body.nc-contentpage .entry-content h3 { font-size: 1.2rem; }
body.nc-contentpage .entry-content p > strong:only-child {
  display: inline-block; margin-top: 1.25rem; color: hsl(var(--primary)); font-size: 1.05rem;
}
body.nc-contentpage .entry-content a { color: hsl(var(--primary)); text-decoration: underline; text-underline-offset: 2px; }
body.nc-contentpage .entry-content ul,
body.nc-contentpage .entry-content ol { padding-left: 1.25rem; }
body.nc-contentpage .entry-content li { margin: 0.35rem 0; }
body.nc-contentpage .entry-content table {
  width: 100%; border-collapse: collapse; margin: 1rem 0;
  border: 1px solid hsl(var(--border) / 0.4); border-radius: var(--radius); overflow: hidden;
}
body.nc-contentpage .entry-content th,
body.nc-contentpage .entry-content td { padding: 0.6rem 0.8rem; border-bottom: 1px solid hsl(var(--border) / 0.3); text-align: left; }
body.nc-contentpage .entry-content th { background-color: hsl(var(--primary) / 0.12); font-weight: 700; }
body.nc-contentpage .entry-content input[type="text"],
body.nc-contentpage .entry-content input[type="email"],
body.nc-contentpage .entry-content input[type="tel"],
body.nc-contentpage .entry-content textarea,
body.nc-contentpage .entry-content select {
  width: 100%; padding: 0.65rem 0.85rem; border-radius: calc(var(--radius) - 2px);
  border: 1px solid hsl(var(--border) / 0.6); background-color: hsl(var(--background) / 0.7); color: hsl(var(--foreground));
}
body.nc-contentpage .entry-content button,
body.nc-contentpage .entry-content input[type="submit"] {
  padding: 0.7rem 1.4rem; border: 0; border-radius: 9999px; font-weight: 700; color: #fff; cursor: pointer;
  background-image: var(--gradient-primary, linear-gradient(135deg, hsl(193 100% 50%), hsl(328 100% 54%)));
}

/* Luckyboxes-Seite: doppelten Seitentitel ausblenden (Hero hat eigene H1) */
body.page-id-4786743 .entry-header,
body.page-id-4786743 .page-title { display: none; }
body.page-id-4786743 .entry-content { padding: 0; border: 0; background: none; backdrop-filter: none; }
body.page-id-4786743 h1.entry-title,
body.page-id-4786743 .woocommerce-products-header__title { display: none; }

/* Sortier-Dropdown entfaellt (eigene Filterleiste) */
body.nc-skin .woocommerce-ordering,
body.nc-skin .storefront-sorting form.woocommerce-ordering { display: none !important; }
body.nc-contentpage .entry-content tr,
body.nc-contentpage .entry-content tbody tr:nth-child(even),
body.nc-contentpage .entry-content tbody tr:nth-child(odd) { background-color: transparent !important; }
body.nc-contentpage .entry-content tbody tr:nth-child(even) { background-color: hsl(var(--muted) / 0.18) !important; }
body.nc-contentpage .entry-content tbody tr:hover { background-color: hsl(var(--primary) / 0.08) !important; }
body.nc-contentpage .entry-content td { color: hsl(var(--foreground) / 0.92); }
body.nc-contentpage .entry-content details {
  border: 1px solid hsl(var(--border) / 0.4); border-radius: calc(var(--radius) - 2px);
  padding: 0.75rem 1rem; margin: 0.5rem 0; background-color: hsl(var(--muted) / 0.12);
}
body.nc-contentpage .entry-content summary { cursor: pointer; font-weight: 600; }

/* =====================================================================
   v8 – Fix: weiße Tabellen-/Storefront-Flächen, Konto-Sidebar links,
   dezente Sekundär-Buttons in der Bestellübersicht
   ===================================================================== */

/* ---------- 1) Keine weißen Flächen mehr (global) ---------- */
body.nc-skin table,
body.nc-skin table thead,
body.nc-skin table tbody,
body.nc-skin table tfoot,
body.nc-skin table tr,
body.nc-skin table th,
body.nc-skin table td,
body.nc-skin table tbody tr:nth-child(2n),
body.nc-skin table tbody tr:nth-child(odd),
body.nc-skin table tbody tr:hover,
body.nc-skin .entry-content table td,
body.nc-skin .woocommerce table.shop_table td,
body.nc-skin .woocommerce table.shop_table tbody th,
body.nc-skin .woocommerce table.shop_table tfoot td,
body.nc-skin .woocommerce table.shop_table tfoot th {
  background-color: transparent !important;
  color: hsl(var(--foreground));
}
body.nc-skin table { border-collapse: collapse; width: 100%; }
body.nc-skin table th {
  color: hsl(var(--foreground));
  background-color: hsl(var(--primary) / 0.10) !important;
  font-weight: 700;
}
body.nc-skin table td,
body.nc-skin table th { border-bottom: 1px solid hsl(var(--border) / 0.35) !important; }
body.nc-skin table tbody tr:hover td { background-color: hsl(var(--primary) / 0.06) !important; }

/* Storefront-Container, die einen hellen Hintergrund erben könnten */
body.nc-skin #page,
body.nc-skin #content,
body.nc-skin .site-content,
body.nc-skin .content-area,
body.nc-skin .site-main,
body.nc-skin .entry-content,
body.nc-skin .hentry,
body.nc-skin .type-page,
body.nc-skin .page-content,
body.nc-skin .woocommerce-MyAccount-content > *,
body.nc-skin .col-full,
body.nc-skin article,
body.nc-skin section {
  background-color: transparent;
}
body.nc-skin .entry-content,
body.nc-skin .entry-content p,
body.nc-skin .entry-content li,
body.nc-skin .entry-content td,
body.nc-skin .entry-content th,
body.nc-skin .entry-content dd,
body.nc-skin .entry-content dt { color: hsl(var(--foreground)); }

/* ---------- 2) Mein Konto: Navigation links ---------- */
body.nc-skin.woocommerce-account .woocommerce-MyAccount-navigation,
body.nc-skin.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  margin: 0 !important;
}
body.nc-skin.woocommerce-account .entry-content > .woocommerce,
body.nc-skin.woocommerce-account .site-main > .woocommerce,
body.nc-skin.woocommerce-account .woocommerce-account-wrapper,
body.nc-skin.woocommerce-account div.woocommerce {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1.5rem;
}
body.nc-skin.woocommerce-account div.woocommerce > .woocommerce-notices-wrapper,
body.nc-skin.woocommerce-account div.woocommerce > .woocommerce-message,
body.nc-skin.woocommerce-account div.woocommerce > .woocommerce-error,
body.nc-skin.woocommerce-account div.woocommerce > .woocommerce-info { flex: 0 0 100%; width: 100%; }
body.nc-skin.woocommerce-account .woocommerce-MyAccount-navigation {
  order: 0;
  flex: 0 0 260px;
  width: 260px !important;
  max-width: 260px;
}
body.nc-skin.woocommerce-account .woocommerce-MyAccount-content {
  order: 1;
  flex: 1 1 0%;
  width: auto !important;
  min-width: 0;
}
body.nc-skin.woocommerce-account .woocommerce-MyAccount-navigation li a {
  white-space: normal;
  line-height: 1.35;
}
@media (max-width: 767px) {
  body.nc-skin.woocommerce-account div.woocommerce { display: block !important; }
  body.nc-skin.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100% !important; max-width: none; margin-bottom: 1rem !important;
  }
}

/* ---------- 3) Bestellungen: Buttons im Skin-Design ---------- */
body.nc-skin .woocommerce-orders-table__cell-order-actions a.button,
body.nc-skin .woocommerce-orders-table__cell-order-actions a.woocommerce-button,
body.nc-skin .woocommerce-MyAccount-content td.woocommerce-orders-table__cell-order-actions a,
body.nc-skin .woocommerce-MyAccount-content .woocommerce-button:not(#place_order) {
  background-image: none !important;
  background-color: transparent !important;
  color: hsl(var(--foreground)) !important;
  border: 1px solid hsl(var(--border) / 0.7) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-weight: 600;
  font-size: 0.8rem;
  height: 2.25rem;
  padding: 0 0.85rem !important;
  border-radius: calc(var(--radius) - 2px);
  margin: 0 0.35rem 0.35rem 0;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
/* v37: dezent statt Volltonfarbe */
body.nc-skin .woocommerce-orders-table__cell-order-actions a.button.view,
body.nc-skin .woocommerce-MyAccount-content .woocommerce-button.view:not(#place_order),
body.nc-skin .woocommerce-MyAccount-content .woocommerce-button.pay:not(#place_order) {
  background-color: hsl(var(--muted) / .35) !important;
  color: hsl(var(--foreground)) !important;
  border-color: hsl(var(--border) / .8) !important;
}
body.nc-skin .woocommerce-orders-table__cell-order-actions a.button:hover,
body.nc-skin .woocommerce-MyAccount-content .woocommerce-button:not(#place_order):hover {
  background-color: hsl(var(--muted) / 0.5) !important;
  color: hsl(var(--foreground)) !important;
  border-color: hsl(var(--primary) / 0.55) !important;
}
body.nc-skin .woocommerce-MyAccount-content .woocommerce-button.view:not(#place_order):hover,
body.nc-skin .woocommerce-MyAccount-content .woocommerce-button.pay:not(#place_order):hover {
  background-color: hsl(var(--muted) / .6) !important;
  color: hsl(var(--foreground)) !important;
}

body.nc-skin .woocommerce-orders-table__cell-order-actions { white-space: normal; text-align: right; }

/* ══════════ NC v8 – Produktkarten: endgültiger Lovable-Look ══════════
   Das WordPress-Archiv liegt auf einer anderen Compositing-Ebene als das React-Original.
   Deshalb muss die sichtbare Kartenflaeche die solide --card-Farbe erhalten, damit der
   finale Pixelwert dem Original entspricht und kein heller Seitenhintergrund durchscheint.
   Slider   : bg-card/60 + backdrop-blur-sm(4px), Glow nur im Hover (shadow-neon)
   Mobile   : identische dunkle Kartenflaeche */

body.nc-skin ul.products li.product,
body.nc-skin .nc-card .nc-card__inner {
  box-shadow: none !important;
}
body.nc-skin ul.products li.product {
  background-color: hsl(var(--card)) !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid hsl(var(--border) / 0.3) !important;
}
body.nc-skin ul.products li.product:hover {
  box-shadow: 0 0 16px hsl(193 100% 50% / 0.3) !important;
  border-color: hsl(var(--border) / 0.3) !important;
}
/* Slider-Karte: eine einzige halbtransparente Fuellung, keine doppelte Ueberlagerung */
body.nc-skin .nc-card .nc-card__inner {
  background-color: hsl(var(--card) / 0.6) !important;
  background-image: none !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  border: 1px solid hsl(var(--border) / 0.3) !important;
}
body.nc-skin .nc-card:hover .nc-card__inner {
  box-shadow: 0 0 16px hsl(193 100% 50% / 0.3) !important;
}
/* Badge-Leiste + Bildflaeche exakt wie ProductCard.tsx (bg-background/50 bzw. Verlauf) */
body.nc-skin ul.products li.product .nc-loopbadges {
  background-color: hsl(var(--background) / 0.5) !important;
}
body.nc-skin ul.products li.product img {
  background-image: linear-gradient(to bottom right, hsl(var(--background) / 0.55), hsl(var(--muted) / 0.25)) !important;
  background-color: transparent !important;
}
body.nc-skin .nc-card__media {
  background-color: hsl(var(--background) / 0.5) !important;
}
body.nc-skin .nc-card__media img { background-color: transparent !important; background-image: none !important; }
@media (max-width: 767px) {
  body.nc-skin ul.products li.product {
    background-color: hsl(var(--card)) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  body.nc-skin .nc-card .nc-card__inner {
    background-color: hsl(var(--card) / 0.6) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
  }
}

/* ══════════ NC v9 – Header-Icon-Ringe wiederherstellen ══════════
   Der Gradient-Ring des Warenkorb-Buttons wurde durch
   `background-image: none` (Icon-Fix) + flachen v7-Border ueberschrieben.
   Hier wird der blauviolette Ring verbindlich wiederhergestellt und
   zusaetzlich auf das Kategorie-Icon "Alle Produkte" angewendet. */
body.nc-skin a.nc-cartbtn,
body.nc-skin .nc-cartbtn,
body.nc-skin .nc-catnav-desktop .nc-cat--all,
body.nc-skin .nc-catnav-desktop a.nc-cat[aria-label="Alle Produkte"] {
  border: 2px solid transparent !important;
  border-radius: 9999px !important;
  background-color: transparent !important;
  background-image:
    linear-gradient(hsl(230 30% 12%), hsl(230 30% 12%)),
    linear-gradient(135deg, hsl(328 100% 54%) 0%, hsl(193 100% 50%) 50%, hsl(280 100% 70%) 100%) !important;
  background-origin: border-box !important;
  background-clip: padding-box, border-box !important;
  box-shadow: 0 0 12px hsl(280 100% 70% / 0.35) !important;
}
body.nc-skin a.nc-cartbtn:hover,
body.nc-skin .nc-cartbtn:hover,
body.nc-skin .nc-catnav-desktop .nc-cat--all:hover,
body.nc-skin .nc-catnav-desktop a.nc-cat[aria-label="Alle Produkte"]:hover {
  box-shadow: 0 0 18px hsl(280 100% 70% / 0.55) !important;
  transform: scale(1.06);
}
/* Weitere Header-Icons: sichtbarer Ring (war durch Kartenfix zu blass) */
body.nc-skin .nc-header__actions .nc-iconbtn,
body.nc-skin .nc-catnav-desktop .nc-cat {
  border: 1px solid hsl(var(--border) / 0.7) !important;
  border-radius: 9999px !important;
}
body.nc-skin .nc-header__actions .nc-iconbtn:hover,
body.nc-skin .nc-catnav-desktop .nc-cat:hover {
  border-color: hsl(var(--primary) / 0.7) !important;
}
body.nc-skin .nc-footer__social .nc-iconbtn {
  border: 1px solid hsl(var(--border) / 0.6) !important;
  border-radius: 9999px !important;
}

/* ══════════ NC v10 – Karten-Hover exakt wie Lovable-Original ══════════
   ProductCard.tsx: "glass ... hover:shadow-neon transition-smooth"
   UnifiedProductSlider.tsx: "hover:scale-[1.02] hover:shadow-neon"
   => KEIN Hintergrundwechsel beim Hover, nur Neon-Glow + Border-Highlight. */
body.nc-skin ul.products li.product:hover,
body.nc-skin ul.products li.product:focus-within {
  background-color: hsl(var(--card)) !important;
  background-image: none !important;
  filter: none !important;
  transform: none !important;
  border-color: hsl(193 100% 50% / 0.55) !important;
  box-shadow: 0 0 16px hsl(193 100% 50% / 0.3) !important;
}
body.nc-skin ul.products li.product:hover > *,
body.nc-skin ul.products li.product:hover a,
body.nc-skin ul.products li.product a:hover {
  background-color: transparent;
}
body.nc-skin ul.products li.product:hover .nc-loopbadges {
  background-color: hsl(var(--background) / 0.5) !important;
}
body.nc-skin .nc-card:hover .nc-card__inner,
body.nc-skin .nc-card:focus-within .nc-card__inner {
  background-color: hsl(var(--card) / 0.6) !important;
  background-image: none !important;
  filter: none !important;
  border-color: hsl(193 100% 50% / 0.55) !important;
  box-shadow: 0 0 16px hsl(193 100% 50% / 0.3) !important;
  transform: scale(1.02);
}

/* ══════════ Admin-Bearbeiten-Button (nc-editbar) ══════════ */
body.nc-skin .edit-link { display: none !important; }
body.nc-skin .nc-editbar {
  max-width: 1280px; margin: 2rem auto 3rem; padding: 0 1rem;
  display: flex; justify-content: center;
}
body.nc-skin .nc-editbtn {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.5rem 1rem; border-radius: 9999px;
  font-size: 0.8125rem; font-weight: 600; line-height: 1;
  text-decoration: none !important;
  color: hsl(var(--foreground) / 0.9) !important;
  background-color: hsl(var(--card) / 0.6);
  border: 1px solid hsl(var(--border) / 0.5);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  transition: var(--transition-smooth, all 0.3s ease);
}
body.nc-skin .nc-editbtn svg { flex: 0 0 auto; }
body.nc-skin .nc-editbtn:hover {
  border-color: hsl(193 100% 50% / 0.6);
  color: hsl(193 100% 50%) !important;
  box-shadow: 0 0 16px hsl(193 100% 50% / 0.3);
}
@media (max-width: 640px) {
  body.nc-skin .nc-editbar { margin: 1.5rem auto 2rem; }
  body.nc-skin .nc-editbtn { font-size: 0.75rem; padding: 0.5rem 0.85rem; }
}

/* ===== v11: Hero-Dots garantiert horizontal zentriert (Desktop + Mobile) ===== */
body.nc-skin .nc-hero__dots,
.nc-hero .nc-hero__dots {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem;
  width: 100%;
  max-width: 100%;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: center;
  float: none !important;
  list-style: none;
}
body.nc-skin .nc-hero__dots > * { flex: 0 0 auto; margin: 0 !important; }
@media (max-width: 640px) {
  body.nc-skin .nc-hero__dots { justify-content: center !important; row-gap: 0.4rem; }
}

/* ===== v12: Admin-Bearbeiten eindeutig sichtbar + leere Content-Sidebar entfernen =====
   Der vom Nutzer als kaputter Button gemeldete leere Rahmen ist auf Inhaltsseiten
   tatsächlich das ungeladene Woo-Preisfilter-Widget (#block-89) im #secondary.
   Die echte .nc-editbar wird unabhängig davon gegen globale Link-/SVG-Regeln gehärtet. */
body.nc-skin.nc-contentpage #secondary,
body.nc-skin.nc-contentpage .widget-area,
body.nc-skin.nc-contentpage .wp-block-woocommerce-filter-wrapper:has(.is-loading:only-child) {
  display: none !important;
}
body.nc-skin .nc-editbar {
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 2.5rem;
}
body.nc-skin .nc-editbar > a.nc-editbtn {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-width: 8.5rem;
  min-height: 2.5rem;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  color: hsl(var(--foreground)) !important;
  -webkit-text-fill-color: hsl(var(--foreground)) !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 0.8125rem !important;
  line-height: 1.2 !important;
  background: hsl(var(--card) / 0.92) !important;
  border: 1px solid hsl(var(--primary) / 0.55) !important;
  box-shadow: 0 0 14px hsl(var(--primary) / 0.18) !important;
}
body.nc-skin .nc-editbar > a.nc-editbtn > span {
  display: inline !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: inherit !important;
  line-height: inherit !important;
  white-space: nowrap;
}
body.nc-skin .nc-editbar > a.nc-editbtn > svg {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 1rem !important;
  height: 1rem !important;
  color: hsl(var(--primary)) !important;
  stroke: currentColor !important;
  fill: none !important;
}
body.nc-skin .nc-editbar > a.nc-editbtn:hover {
  color: hsl(var(--primary)) !important;
  -webkit-text-fill-color: hsl(var(--primary)) !important;
  border-color: hsl(var(--primary) / 0.85) !important;
  background: hsl(var(--card)) !important;
  box-shadow: 0 0 18px hsl(var(--primary) / 0.3) !important;
}

/* ============ NC Cookie-Hinweis (Ersatz für CookieYes) ============ */
body.nc-skin .nc-cookie {
  position: fixed; left: 1.5rem; bottom: 1.5rem; z-index: 9998; max-width: 24rem;
  opacity: 0; transform: translateY(1rem); pointer-events: none;
  transition: opacity .5s ease, transform .5s ease;
}
body.nc-skin .nc-cookie.is-visible { opacity: 1; transform: translateY(0); pointer-events: auto; }
body.nc-skin .nc-cookie__card {
  display: flex; align-items: flex-start; gap: .75rem;
  border-radius: .75rem; padding: 1rem;
  background: hsl(var(--card)); border: 1px solid hsl(var(--border) / .5);
  box-shadow: 0 10px 30px rgba(0,0,0,.45);
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
}
body.nc-skin .nc-cookie__icon {
  width: 2.5rem; height: 2.5rem; flex: 0 0 auto; border-radius: 9999px;
  display: flex; align-items: center; justify-content: center;
  background: hsl(var(--primary) / .15); border: 1px solid hsl(var(--primary) / .2);
  color: hsl(var(--primary));
}
body.nc-skin .nc-cookie__body { flex: 1 1 auto; min-width: 0; }
body.nc-skin .nc-cookie__title { margin: 0 0 .25rem; font-size: .875rem; font-weight: 600; color: hsl(var(--foreground)); }
body.nc-skin .nc-cookie__text { margin: 0 0 .75rem; font-size: .75rem; line-height: 1.5; color: hsl(var(--muted-foreground)); }
body.nc-skin .nc-cookie__text a { color: hsl(var(--primary)) !important; text-decoration: none; }
body.nc-skin .nc-cookie__text a:hover { text-decoration: underline; }
body.nc-skin .nc-cookie__actions { display: flex; gap: .5rem; }
body.nc-skin .nc-cookie__btn {
  height: 2rem; padding: 0 .75rem; border-radius: .5rem; font-size: .75rem; font-weight: 600;
  cursor: pointer; line-height: 1; transition: var(--transition-smooth, all .3s ease);
}
body.nc-skin .nc-cookie__btn--primary {
  background: hsl(var(--primary)); color: hsl(var(--primary-foreground)); border: 1px solid hsl(var(--primary));
}
body.nc-skin .nc-cookie__btn--primary:hover { filter: brightness(1.1); }
body.nc-skin .nc-cookie__btn--ghost {
  background: transparent; color: hsl(var(--foreground)); border: 1px solid hsl(var(--border));
}
body.nc-skin .nc-cookie__btn--ghost:hover { border-color: hsl(var(--primary) / .6); color: hsl(var(--primary)); }
body.nc-skin .nc-cookie__close {
  background: none; border: 0; padding: 0; cursor: pointer; color: hsl(var(--muted-foreground));
  transition: color .2s ease;
}
body.nc-skin .nc-cookie__close:hover { color: hsl(var(--foreground)); }
@media (max-width: 640px) {
  body.nc-skin .nc-cookie { left: .75rem; right: .75rem; bottom: .75rem; max-width: none; }
}

/* ==== v13: Produktfilter – einheitliche Höhen, Breiten und Zentrierung ==== */
body.nc-skin .nc-flt__form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  align-items: end;
}
@media (min-width: 900px) {
  body.nc-skin .nc-flt__form {
    grid-template-columns: minmax(200px, 1.3fr) minmax(190px, 1fr) minmax(170px, 1fr) minmax(210px, 1.2fr) auto;
    align-items: end;
  }
}
body.nc-skin .nc-flt__f { display: flex; flex-direction: column; gap: 0.4rem; min-width: 0; }
body.nc-skin .nc-flt__f > span:first-child { line-height: 1.2; }
body.nc-skin .nc-flt__f select,
body.nc-skin .nc-flt__f input[type="number"],
body.nc-skin .nc-flt__go {
  box-sizing: border-box;
  height: 46px;
  min-height: 46px;
  line-height: 1.2;
  font-size: 0.9rem;
}
body.nc-skin .nc-flt__f select,
body.nc-skin .nc-flt__f input[type="number"] {
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  width: 100%; min-width: 0;
  padding: 0 2.25rem 0 0.85rem;
  display: block;
  border-radius: calc(var(--radius) - 2px);
  border: 1px solid hsl(var(--primary) / 0.35);
  background-color: hsl(var(--background) / 0.85);
  color: hsl(var(--foreground));
  font-weight: 500; text-transform: none; letter-spacing: 0;
}
body.nc-skin .nc-flt__f select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a6b0d6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  text-overflow: ellipsis;
}
body.nc-skin .nc-flt__f input[type="number"] {
  padding: 0 0.85rem;
  text-align: center;
  -moz-appearance: textfield;
}
body.nc-skin .nc-flt__f input[type="number"]::-webkit-outer-spin-button,
body.nc-skin .nc-flt__f input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body.nc-skin .nc-flt__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
body.nc-skin .nc-flt__actions {
  display: flex; align-items: flex-end; gap: 0.9rem; min-width: 0;
}
body.nc-skin .nc-flt__go {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0 1.75rem; min-width: 130px; border: 0; border-radius: 9999px; cursor: pointer;
  font-weight: 800; letter-spacing: 0.02em;
}
body.nc-skin .nc-flt__reset { align-self: center; white-space: nowrap; }
@media (max-width: 899px) {
  body.nc-skin .nc-flt__form { grid-template-columns: 1fr 1fr; }
  body.nc-skin .nc-flt__f--price { grid-column: 1 / -1; }
  body.nc-skin .nc-flt__actions { grid-column: 1 / -1; }
  body.nc-skin .nc-flt__go { width: 100%; }
}
@media (max-width: 560px) {
  body.nc-skin .nc-flt__form { grid-template-columns: 1fr; }
}

/* ── v14: Newsletter-CTA zentrieren (Fix: div.nc-news max-width traf auch section.nc-news) ── */
body.nc-skin section.nc-news { max-width: none !important; width: 100%; margin: 0 auto; }
body.nc-skin section.nc-news > .nc-container { max-width: 80rem; margin-left: auto; margin-right: auto; padding-left: 1rem; padding-right: 1rem; }
body.nc-skin section.nc-news .nc-news__box { max-width: 56rem; margin-left: auto; margin-right: auto; text-align: center; }
body.nc-skin section.nc-news .nc-news__box .nc-news { max-width: 28rem; margin-left: auto; margin-right: auto; }
body.nc-skin section.nc-news .nc-news__form { justify-content: center; }
body.nc-skin section.nc-news .nc-news__form { flex-wrap: wrap; }
body.nc-skin section.nc-news .nc-news__form input[type="email"] { flex: 1 1 14rem; height: 2.75rem; min-height: 2.75rem; padding-top: 0; padding-bottom: 0; }
body.nc-skin section.nc-news .nc-news__form button { flex: 0 0 auto; height: 2.75rem; padding-top: 0; padding-bottom: 0; }
@media (max-width: 639px) {
  body.nc-skin section.nc-news .nc-news__form { flex-direction: column; }
  body.nc-skin section.nc-news .nc-news__form input[type="email"],
  body.nc-skin section.nc-news .nc-news__form button { flex: 0 0 auto; width: 100%; }
}

/* ══════════════════════════════════════════════════════════
   v15 – Mein Konto (Aufbau nach src/pages/Account.tsx)
   Navigation mit Icons, Karten-Layout, einheitliche Buttons
   ══════════════════════════════════════════════════════════ */
body.nc-skin.woocommerce-account .woocommerce-MyAccount-navigation ul { display: block; }
body.nc-skin.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0 0 0.35rem; }
body.nc-skin.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: flex; align-items: center; gap: 0.6rem;
  min-height: 2.5rem; padding: 0.5rem 0.75rem;
  border-radius: calc(var(--radius) - 2px);
  border: 1px solid transparent;
  background: transparent; color: hsl(var(--muted-foreground));
  font-size: 0.875rem; font-weight: 500; text-decoration: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
body.nc-skin.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  background-color: hsl(var(--muted) / 0.5); color: hsl(var(--foreground)); border-color: hsl(var(--border) / 0.6);
}
body.nc-skin.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background-color: hsl(var(--secondary) / 0.9); color: hsl(var(--foreground));
  border-color: hsl(var(--primary) / 0.45);
}
body.nc-skin .nc-acctnav__ic { display: inline-flex; width: 1rem; height: 1rem; flex: none; }
body.nc-skin .nc-acctnav__ic svg { width: 1rem; height: 1rem; }
body.nc-skin .woocommerce-MyAccount-navigation li.nc-acctnav--customer-logout a { color: hsl(var(--destructive)); }
body.nc-skin .woocommerce-MyAccount-navigation li.nc-acctnav--customer-logout a:hover {
  color: hsl(var(--destructive)); background-color: hsl(var(--destructive) / 0.12); border-color: hsl(var(--destructive) / 0.35);
}

/* Karten im Konto */
body.nc-skin .nc-acctcard {
  border: 1px solid hsl(var(--border) / 0.6);
  background-color: hsl(var(--card));
  border-radius: var(--radius);
  padding: 1rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 640px) { body.nc-skin .nc-acctcard { padding: 1.5rem; } }
body.nc-skin .nc-acctcard__head h2 {
  display: flex; align-items: center; gap: 0.5rem;
  margin: 0 0 0.25rem; font-size: 1.125rem; font-weight: 700; color: hsl(var(--foreground));
}
body.nc-skin .nc-acctcard__head h2 svg { width: 1.15rem; height: 1.15rem; color: hsl(var(--primary)); }
body.nc-skin .nc-acctcard__head p { margin: 0 0 1rem; font-size: 0.85rem; color: hsl(var(--muted-foreground)); }

/* Einheitliche Buttons im Konto */
body.nc-skin .nc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  height: 2.5rem; padding: 0 1rem; border: 1px solid transparent;
  border-radius: calc(var(--radius) - 2px);
  font-size: 0.875rem; font-weight: 600; line-height: 1; cursor: pointer;
  text-decoration: none; transition: transform .15s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease;
}
body.nc-skin .nc-btn svg { width: 1rem; height: 1rem; }
body.nc-skin .nc-btn--primary { background-color: hsl(var(--primary)); color: hsl(var(--primary-foreground)); }
body.nc-skin .nc-btn--primary:hover { box-shadow: 0 0 0 1px hsl(var(--primary) / 0.5), 0 8px 24px -12px hsl(var(--primary) / 0.8); }
body.nc-skin .nc-btn--ghost {
  background-color: transparent; color: hsl(var(--foreground)); border-color: hsl(var(--border) / 0.7);
}
body.nc-skin .nc-btn--ghost:hover { background-color: hsl(var(--muted) / 0.5); border-color: hsl(var(--primary) / 0.5); }
body.nc-skin .nc-btn--block { width: 100%; }

/* Woo-eigene Buttons im Konto auf denselben Stil bringen */
body.nc-skin.woocommerce-account .woocommerce-MyAccount-content .button,
body.nc-skin.woocommerce-account .woocommerce-MyAccount-content button[type="submit"],
body.nc-skin.woocommerce-account .woocommerce-MyAccount-content input[type="submit"],
body.nc-skin.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 0.5rem;
  height: 2.5rem; min-height: 2.5rem; padding: 0 1rem !important;
  border-radius: calc(var(--radius) - 2px) !important;
  background-color: hsl(var(--primary)) !important; color: hsl(var(--primary-foreground)) !important;
  border: 1px solid transparent !important; font-size: 0.875rem !important; font-weight: 600 !important;
  line-height: 1 !important; text-transform: none !important; letter-spacing: 0 !important; width: auto;
}
body.nc-skin.woocommerce-account .woocommerce-MyAccount-content .button:hover,
body.nc-skin.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:hover,
body.nc-skin.woocommerce-account .woocommerce-MyAccount-content input[type="submit"]:hover,
body.nc-skin.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button:hover {
  box-shadow: 0 0 0 1px hsl(var(--primary) / 0.5), 0 8px 24px -12px hsl(var(--primary) / 0.8);
}
/* Sekundäre Aktionen (Ansehen/Erneut kaufen/Adresse bearbeiten) als Ghost-Buttons */
body.nc-skin.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions .button,
body.nc-skin.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .edit {
  background-color: transparent !important; color: hsl(var(--foreground)) !important;
  border-color: hsl(var(--border) / 0.7) !important;
}
body.nc-skin.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions .button:hover,
body.nc-skin.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .edit:hover {
  background-color: hsl(var(--muted) / 0.5) !important; border-color: hsl(var(--primary) / 0.5) !important;
}
body.nc-skin.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions .button + .button { margin-left: 0.4rem; }

/* Formularfelder im Konto */
body.nc-skin.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
body.nc-skin.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
body.nc-skin.woocommerce-account .woocommerce-MyAccount-content input[type="tel"],
body.nc-skin.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
body.nc-skin.woocommerce-account .woocommerce-MyAccount-content select,
body.nc-skin .nc-acct-form input[type="text"] {
  height: 2.5rem; padding: 0 0.75rem; border-radius: calc(var(--radius) - 2px);
  border: 1px solid hsl(var(--border) / 0.7); background-color: hsl(var(--background) / 0.6);
  color: hsl(var(--foreground)); width: 100%;
}
body.nc-skin .nc-acct-form textarea {
  min-height: 170px; width: 100%; padding: 0.7rem 0.75rem; resize: vertical;
  border-radius: calc(var(--radius) - 2px); border: 1px solid hsl(var(--border) / 0.7);
  background-color: hsl(var(--background) / 0.6); color: hsl(var(--foreground));
}
body.nc-skin .nc-acct-field { display: flex; flex-direction: column; gap: 0.35rem; margin: 0 0 1rem; }
body.nc-skin .nc-acct-field label { font-size: 0.85rem; font-weight: 600; color: hsl(var(--foreground)); }

/* Offene Zahlungen */
body.nc-skin .nc-acct-paylist { display: flex; flex-direction: column; gap: 1rem; }
body.nc-skin .nc-acct-pay {
  border: 1px solid hsl(var(--border) / 0.5); border-radius: calc(var(--radius) - 2px);
  background-color: hsl(var(--background) / 0.5); padding: 0.9rem;
}
body.nc-skin .nc-acct-pay__top { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: space-between; align-items: flex-start; }
body.nc-skin .nc-acct-pay__no { font-weight: 700; font-size: 0.95rem; color: hsl(var(--foreground)); }
body.nc-skin .nc-acct-pay__meta { margin: 0.2rem 0 0; font-size: 0.8rem; color: hsl(var(--muted-foreground)); }
body.nc-skin .nc-acct-pay__amt { text-align: right; }
body.nc-skin .nc-acct-pay__amt span { display: block; font-size: 0.75rem; color: hsl(var(--muted-foreground)); }
body.nc-skin .nc-acct-pay__amt strong { font-size: 1.05rem; font-weight: 800; color: hsl(var(--primary)); }
body.nc-skin .nc-acct-badge {
  display: inline-block; margin-left: 0.4rem; padding: 0.1rem 0.5rem; border-radius: 9999px;
  font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
  border: 1px solid hsl(var(--primary) / 0.45); color: hsl(var(--primary)); background-color: hsl(var(--primary) / 0.12);
}
body.nc-skin .nc-acct-badge--failed { border-color: hsl(var(--destructive) / 0.5); color: hsl(var(--destructive)); background-color: hsl(var(--destructive) / 0.12); }
/* v66: eigener Status "Zahlung offen" */
body.nc-skin .nc-acct-badge--zahlung-offen { border-color: hsl(38 92% 50% / 0.5); color: hsl(38 92% 55%); background-color: hsl(38 92% 50% / 0.12); }
body.nc-skin .nc-acct-bank {
  margin-top: 0.85rem; padding: 0.85rem; border-radius: calc(var(--radius) - 4px);
  border: 1px solid hsl(var(--primary) / 0.25); background-color: hsl(var(--primary) / 0.07);
}
body.nc-skin .nc-acct-bank__h { display: flex; align-items: center; gap: 0.5rem; font-weight: 700; font-size: 0.85rem; margin-bottom: 0.6rem; }
body.nc-skin .nc-acct-bank__h svg { width: 1rem; height: 1rem; color: hsl(var(--primary)); }
body.nc-skin .nc-acct-bank dl { display: grid; grid-template-columns: 1fr; gap: 0.3rem; margin: 0; }
@media (min-width: 560px) { body.nc-skin .nc-acct-bank dl { grid-template-columns: 1fr 1fr; gap: 0.4rem 1.25rem; } }
body.nc-skin .nc-acct-bank dl > div { display: flex; justify-content: space-between; gap: 0.75rem; font-size: 0.83rem; }
body.nc-skin .nc-acct-bank dt { color: hsl(var(--muted-foreground)); margin: 0; }
body.nc-skin .nc-acct-bank dd { margin: 0; color: hsl(var(--foreground)); text-align: right; }
body.nc-skin .nc-acct-bank__note { margin: 0.7rem 0 0; font-size: 0.78rem; color: hsl(var(--muted-foreground)); }
body.nc-skin .nc-acct-pay__actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.85rem; }
body.nc-skin .nc-acct-empty { text-align: center; padding: 2rem 1rem; color: hsl(var(--muted-foreground)); }
body.nc-skin .nc-acct-empty svg { width: 2.5rem; height: 2.5rem; margin: 0 auto 0.6rem; display: block; opacity: 0.6; }
body.nc-skin .nc-acct-empty p { margin: 0; font-weight: 600; color: hsl(var(--foreground)); }
body.nc-skin .nc-acct-empty span { font-size: 0.8rem; }

/* Kontakt */
body.nc-skin .nc-acct-sep { height: 1px; background-color: hsl(var(--border) / 0.6); margin: 1.4rem 0; }
body.nc-skin .nc-acct-contactinfo h4 { margin: 0 0 0.6rem; font-size: 0.95rem; font-weight: 700; }
body.nc-skin .nc-acct-contactinfo p { display: flex; align-items: center; gap: 0.5rem; margin: 0 0 0.4rem; font-size: 0.86rem; color: hsl(var(--muted-foreground)); }
body.nc-skin .nc-acct-contactinfo svg { width: 1rem; height: 1rem; color: hsl(var(--primary)); }
body.nc-skin .nc-acct-contactinfo a { color: inherit; text-decoration: none; }
body.nc-skin .nc-acct-contactinfo a:hover { color: hsl(var(--primary)); }
body.nc-skin .nc-acct-note {
  display: flex; align-items: center; gap: 0.5rem; margin-bottom: 1rem;
  padding: 0.7rem 0.9rem; border-radius: calc(var(--radius) - 2px); font-size: 0.87rem;
}
body.nc-skin .nc-acct-note svg { width: 1.05rem; height: 1.05rem; flex: none; }
body.nc-skin .nc-acct-note--ok { border: 1px solid rgba(16,185,129,0.4); background: rgba(16,185,129,0.12); color: #6ee7b7; }
body.nc-skin .nc-acct-note--err { border: 1px solid rgba(239,68,68,0.4); background: rgba(239,68,68,0.12); color: #fca5a5; }

/* v15b – Konto: Buttonfarben durchsetzen, Theme-Icons in der Konto-Nav ersetzen */
body.nc-skin .nc-btn--primary { background-color: hsl(var(--primary)) !important; color: hsl(var(--primary-foreground)) !important; }
body.nc-skin .nc-btn--ghost { color: hsl(var(--foreground)) !important; }
body.nc-skin .nc-btn svg { color: currentColor; }
body.nc-skin .woocommerce-MyAccount-navigation li a::after,
body.nc-skin .woocommerce-MyAccount-navigation li a::before { content: none !important; display: none !important; }
body.nc-skin .woocommerce-MyAccount-navigation li a > i,
body.nc-skin .woocommerce-MyAccount-navigation li a > svg:not(.nc-acctnav__ic svg),
body.nc-skin .woocommerce-MyAccount-navigation li a > span:not(.nc-acctnav__ic) > svg { display: none !important; }
body.nc-skin .woocommerce-MyAccount-navigation li a .nc-acctnav__ic,
body.nc-skin .woocommerce-MyAccount-navigation li a .nc-acctnav__ic svg { display: inline-flex !important; }
body.nc-skin .nc-acct-pay__amt strong { white-space: nowrap; }

/* v15c – Konto: Aktions-Buttons in der Bestellliste + Betragsspalte */
body.nc-skin.woocommerce-account .woocommerce-orders-table__cell-order-actions a,
body.nc-skin.woocommerce-account .woocommerce-orders-table__cell-order-actions .button,
body.nc-skin.woocommerce-account .woocommerce-MyAccount-content td.woocommerce-orders-table__cell-order-actions a {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 0.4rem;
  height: 2.25rem; min-height: 2.25rem; padding: 0 0.85rem !important; margin: 0 0 0.35rem !important;
  border-radius: calc(var(--radius) - 2px) !important;
  background: transparent !important; background-color: transparent !important;
  color: hsl(var(--foreground)) !important; border: 1px solid hsl(var(--border) / 0.7) !important;
  font-size: 0.8rem !important; font-weight: 600 !important; box-shadow: none !important; text-shadow: none !important;
}
body.nc-skin.woocommerce-account .woocommerce-orders-table__cell-order-actions a:hover {
  background-color: hsl(var(--muted) / 0.5) !important; border-color: hsl(var(--primary) / 0.55) !important;
  color: hsl(var(--foreground)) !important;
}
body.nc-skin.woocommerce-account .woocommerce-orders-table__cell-order-actions a.view,
body.nc-skin.woocommerce-account .woocommerce-orders-table__cell-order-actions a.pay {
  background-color: hsl(var(--muted) / .35) !important; color: hsl(var(--foreground)) !important; border-color: hsl(var(--border) / .8) !important;
}
body.nc-skin .nc-acct-pay__amt { min-width: 8.5rem; }
body.nc-skin .nc-acct-pay__amt strong, body.nc-skin .nc-acct-pay__amt bdi { white-space: nowrap !important; }

/* v15d – höhere Spezifität gegen Theme-Buttonstile im Konto */
html body.nc-skin .woocommerce-MyAccount-content a.woocommerce-button.button,
html body.nc-skin .woocommerce-MyAccount-content td.woocommerce-orders-table__cell-order-actions a.button {
  background: transparent !important; background-color: transparent !important; background-image: none !important;
  color: hsl(var(--foreground)) !important; border: 1px solid hsl(var(--border) / 0.7) !important;
  border-radius: calc(var(--radius) - 2px) !important; box-shadow: none !important; text-shadow: none !important;
  display: inline-flex !important; align-items: center; justify-content: center;
  height: 2.25rem; min-height: 2.25rem; padding: 0 0.85rem !important; margin: 0 0.35rem 0.35rem 0 !important;
  font-size: 0.8rem !important; font-weight: 600 !important; text-transform: none !important;
}
html body.nc-skin .woocommerce-MyAccount-content a.woocommerce-button.button:hover {
  background-color: hsl(var(--muted) / 0.5) !important; border-color: hsl(var(--primary) / 0.55) !important;
  color: hsl(var(--foreground)) !important;
}
html body.nc-skin .woocommerce-MyAccount-content a.woocommerce-button.button.view,
html body.nc-skin .woocommerce-MyAccount-content a.woocommerce-button.button.pay {
  background-color: hsl(var(--muted) / .35) !important; color: hsl(var(--foreground)) !important; border-color: hsl(var(--border) / .8) !important;
}

/* ══ v16: Profil-Kopfbereich "Mein Konto" ══════════════════ */
body.nc-skin .nc-acctprofile{
  display:flex;align-items:center;gap:1rem;
  background:hsl(var(--card));border:1px solid hsl(var(--border));
  border-radius:1rem;padding:1rem 1.15rem;margin:0 0 1rem;
}
body.nc-skin .nc-acctprofile__av{
  width:64px;height:64px;flex:0 0 64px;border-radius:9999px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)));
  box-shadow:0 0 22px hsl(var(--primary)/.35);
}
body.nc-skin .nc-acctprofile__av img{width:100%;height:100%;object-fit:cover;border-radius:9999px}
body.nc-skin .nc-acctprofile__av svg{width:30px;height:30px;color:#fff;stroke:#fff}
body.nc-skin .nc-acctprofile__info{min-width:0}
body.nc-skin .nc-acctprofile__name{font-weight:800;font-size:1.15rem;line-height:1.2;color:hsl(var(--foreground));
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.nc-skin .nc-acctprofile__mail{font-size:.82rem;color:hsl(var(--muted-foreground));margin-top:.15rem;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.nc-skin .nc-acctprofile__badge{
  display:inline-flex;align-items:center;gap:.35rem;margin-top:.5rem;
  padding:.22rem .6rem;border-radius:9999px;font-size:.72rem;font-weight:700;
  background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border:1px solid hsl(var(--border));
}
body.nc-skin .nc-acctprofile__badge svg{width:14px;height:14px}
body.nc-skin .nc-acctprofile__badge--vip{
  background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--accent)));color:#fff;border:none;
  box-shadow:0 0 16px hsl(var(--primary)/.45);
}
body.nc-skin .nc-acctprofile__badge--premium{
  background:hsl(var(--accent)/.18);color:hsl(var(--accent));border-color:hsl(var(--accent)/.4);
}
@media(max-width:560px){
  body.nc-skin .nc-acctprofile{padding:.85rem}
  body.nc-skin .nc-acctprofile__av{width:52px;height:52px;flex:0 0 52px}
}

/* ── v17: Treuepunkte-Seite (Salesman) im Skin-Design ───────── */
body.nc-skin #marketpress-salesman-bonus-points-my-account,
body.nc-skin .salesman-user-bonus-points-my-account{
  color:hsl(var(--foreground));font-family:inherit;
}
body.nc-skin .salesman-user-bonus-points-my-account *::selection{
  background:hsl(var(--primary)/.35);color:#fff;
}
body.nc-skin .salesman-user-bonus-points-my-account > p:first-of-type{
  display:block;margin:0 0 1rem;padding:1.1rem 1.25rem;
  background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1rem;
  font-size:1.15rem;font-weight:800;color:hsl(var(--foreground));
  box-shadow:0 0 22px hsl(var(--primary)/.14);
}
body.nc-skin .salesman-user-bonus-points-my-account .history,
body.nc-skin .salesman-user-bonus-points-redeeming{
  background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1rem;
  padding:1.1rem 1.25rem;margin:0 0 1rem;
}
body.nc-skin #salesman-user-bonus-points-history-frontend{margin-top:1rem;overflow-x:auto}
body.nc-skin #salesman-user-bonus-points-history-frontend table,
body.nc-skin #salesman-user-bonus-points-history-frontend table.widefat{
  width:100%;border-collapse:collapse;background:transparent;border:0;box-shadow:none;
  color:hsl(var(--foreground));font-size:.9rem;
}
body.nc-skin #salesman-user-bonus-points-history-frontend th,
body.nc-skin #salesman-user-bonus-points-history-frontend td{
  background:transparent;color:hsl(var(--foreground));
  border:0;border-bottom:1px solid hsl(var(--border));
  padding:.6rem .5rem;text-align:left;
}
body.nc-skin #salesman-user-bonus-points-history-frontend th{
  color:hsl(var(--muted-foreground));font-weight:700;font-size:.78rem;
  text-transform:uppercase;letter-spacing:.04em;
}
body.nc-skin #salesman-user-bonus-points-history-frontend tr:last-child td{border-bottom:0}
body.nc-skin #salesman-user-bonus-points-history-frontend tr:hover td{background:hsl(var(--muted)/.35)}
body.nc-skin #salesman-user-bonus-points-history-frontend .color.plus{
  color:#34d399;font-weight:700;background:transparent;
}
body.nc-skin #salesman-user-bonus-points-history-frontend .color.minus{
  color:hsl(var(--destructive));font-weight:700;background:transparent;
}
body.nc-skin .salesman-user-bonus-points-redeeming fieldset{
  border:0;padding:0;margin:0;background:transparent;
}
body.nc-skin .salesman-user-bonus-points-redeeming legend{
  display:block;width:100%;padding:0 0 .85rem;margin:0;
  font-size:1.02rem;font-weight:800;color:hsl(var(--foreground));background:transparent;
}
body.nc-skin .salesman-user-bonus-points-redeeming legend.bonus-points-disabled{
  color:hsl(var(--muted-foreground));font-weight:700;
}
body.nc-skin .salesman-user-bonus-points-redeeming ul.coupon-options{
  list-style:none;margin:0;padding:0;display:grid;gap:.6rem;
}
body.nc-skin .salesman-user-bonus-points-redeeming li.coupon-option{
  display:flex;align-items:flex-start;gap:.7rem;margin:0;
  padding:.8rem .9rem;border-radius:.85rem;
  background:hsl(var(--muted)/.35);border:1px solid hsl(var(--border));
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
body.nc-skin .salesman-user-bonus-points-redeeming li.coupon-option:hover{
  border-color:hsl(var(--primary)/.6);box-shadow:0 0 18px hsl(var(--primary)/.2);
}
body.nc-skin .salesman-user-bonus-points-redeeming li.coupon-option input[type=radio]{
  margin-top:.25rem;accent-color:hsl(var(--primary));width:16px;height:16px;flex:0 0 16px;
}
body.nc-skin .salesman-user-bonus-points-redeeming label{
  display:block;color:hsl(var(--foreground));font-weight:600;line-height:1.35;cursor:pointer;
}
body.nc-skin .salesman-user-bonus-points-redeeming label small{
  display:block;margin-top:.2rem;color:hsl(var(--muted-foreground));font-weight:500;font-size:.8rem;
}
body.nc-skin .salesman-user-bonus-points-redeeming .bonus-points-disabled label,
body.nc-skin .salesman-user-bonus-points-redeeming label.bonus-points-disabled{
  color:hsl(var(--muted-foreground));
}
body.nc-skin .salesman-user-bonus-points-redeeming li.coupon-option:has(input:disabled){opacity:.75}
body.nc-skin .salesman-user-bonus-points-my-account .coupon-info{
  background:hsl(var(--card));border:1px solid hsl(var(--primary)/.45);border-radius:1rem;
  padding:1rem 1.15rem;margin:0 0 1rem;color:hsl(var(--foreground));
  box-shadow:0 0 22px hsl(var(--primary)/.18);
}
body.nc-skin .salesman-user-bonus-points-my-account .coupon-info code{
  background:hsl(var(--muted)/.5);color:hsl(var(--primary));padding:.1rem .4rem;border-radius:.35rem;
}
body.nc-skin .salesman-user-bonus-points-my-account p{color:hsl(var(--foreground))}
@media(max-width:560px){
  body.nc-skin .salesman-user-bonus-points-my-account .history,
  body.nc-skin .salesman-user-bonus-points-redeeming{padding:.9rem}
  body.nc-skin #salesman-user-bonus-points-history-frontend table{font-size:.82rem}
}

/* ── v18: Gutscheine im Kundenkonto ─────────────────────── */
.nc-acct-coupons{display:flex;flex-direction:column;gap:14px}
.nc-acct-coupon{display:flex;gap:16px;align-items:center;flex-wrap:wrap;
  padding:16px;border-radius:16px;background:hsl(var(--card));
  border:1px solid hsl(var(--border));transition:border-color .2s,box-shadow .2s}
.nc-acct-coupon:hover{border-color:hsl(var(--primary));box-shadow:0 0 24px hsl(var(--primary)/.25)}
.nc-acct-coupon__val{flex:0 0 auto;min-width:92px;text-align:center;padding:14px 10px;border-radius:14px;
  font-weight:800;font-size:1.15rem;color:#fff;
  background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)))}
.nc-acct-coupon__body{flex:1 1 240px;min-width:0}
.nc-acct-coupon__code{font-weight:800;letter-spacing:.06em;font-size:1.05rem;color:hsl(var(--foreground))}
.nc-acct-coupon__desc{margin:2px 0 8px;color:hsl(var(--muted-foreground));font-size:.9rem}
.nc-acct-coupon__meta{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;
  font-size:.85rem;color:hsl(var(--muted-foreground))}
.nc-acct-coupon__meta li{display:flex;align-items:center;gap:6px}
.nc-acct-coupon__meta svg{width:15px;height:15px}
.nc-acct-coupon__meta strong{color:hsl(var(--foreground))}
.nc-acct-coupon__actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:560px){.nc-acct-coupon{flex-direction:column;align-items:stretch}
  .nc-acct-coupon__val{min-width:0}.nc-acct-coupon__actions .nc-btn{flex:1 1 auto;justify-content:center}}

/* ── v19: Checkout-Strecke komplett im Dark-Skin ─────────── */
/* Warenkorb, Kasse, Bestellung erhalten, Bestellung bezahlen */

/* Leerer Warenkorb: Text sichtbar machen */
body.nc-skin .cart-empty,
body.nc-skin .wc-empty-cart-message,
body.nc-skin .wc-block-cart__empty-cart__title,
body.nc-skin .wc-block-components-notice-banner__content {
  color: hsl(var(--foreground)) !important;
}
body.nc-skin .wc-block-cart__empty-cart__title { font-family: 'Outfit', system-ui, sans-serif; font-weight: 700; }

/* Generische Woo-Boxen dunkel */
body.nc-skin .woocommerce-order,
body.nc-skin .woocommerce-thankyou-order-details,
body.nc-skin .woocommerce-order-details,
body.nc-skin .woocommerce-customer-details,
body.nc-skin .woocommerce-order-downloads,
body.nc-skin .woocommerce-checkout-payment,
body.nc-skin #payment,
body.nc-skin .payment_box,
body.nc-skin .wc_payment_methods,
body.nc-skin .woocommerce-checkout .shop_table,
body.nc-skin .woocommerce-Address,
body.nc-skin .woocommerce-column__title ~ address {
  background: transparent;
  color: hsl(var(--foreground));
}

/* Bestellung erhalten: order-overview Kachelliste */
body.nc-skin ul.order_details,
body.nc-skin ul.woocommerce-order-overview,
body.nc-skin ul.woocommerce-thankyou-order-details {
  list-style: none !important;
  margin: 0 0 2rem !important;
  padding: 1.25rem !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 0.75rem;
  background: hsl(var(--card)) !important;
  border: 1px solid hsl(var(--border)) !important;
  border-radius: 1rem !important;
  box-shadow: none !important;
}
body.nc-skin ul.order_details::before,
body.nc-skin ul.order_details::after { display: none !important; }
body.nc-skin ul.order_details li {
  float: none !important;
  margin: 0 !important;
  padding: 0.9rem 1rem !important;
  border: 1px solid hsl(var(--border) / 0.6) !important;
  border-radius: 0.75rem !important;
  background: hsl(var(--background) / 0.55) !important;
  color: hsl(var(--muted-foreground)) !important;
  font-size: 0.75rem !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 1.35;
  list-style: none !important;
}
body.nc-skin ul.order_details li strong {
  display: block;
  margin-top: 0.35rem;
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  color: hsl(var(--foreground)) !important;
}
body.nc-skin ul.order_details li.total strong,
body.nc-skin ul.order_details li strong .amount,
body.nc-skin ul.order_details li strong bdi { color: hsl(var(--primary)) !important; }

/* Danke-Text + Überschriften */
body.nc-skin .woocommerce-thankyou-order-received,
body.nc-skin p.woocommerce-notice--success {
  background: linear-gradient(135deg, hsl(var(--primary) / 0.14), hsl(var(--accent) / 0.14)) !important;
  border: 1px solid hsl(var(--primary) / 0.45) !important;
  border-radius: 1rem;
  padding: 1.1rem 1.25rem !important;
  color: hsl(var(--foreground)) !important;
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 600;
}
body.nc-skin .woocommerce-order h2,
body.nc-skin .woocommerce-column__title,
body.nc-skin .woocommerce-order-details__title,
body.nc-skin .woocommerce-customer-details h2 {
  font-family: 'Outfit', system-ui, sans-serif;
  color: hsl(var(--foreground));
}

/* Bestelldetails-Tabelle (order-received / view-order) */
body.nc-skin table.woocommerce-table--order-details,
body.nc-skin table.order_details {
  width: 100%;
  background: hsl(var(--card)) !important;
  border: 1px solid hsl(var(--border)) !important;
  border-radius: 1rem;
  border-collapse: separate !important;
  border-spacing: 0;
  overflow: hidden;
}
body.nc-skin table.woocommerce-table--order-details th,
body.nc-skin table.woocommerce-table--order-details td,
body.nc-skin table.order_details th,
body.nc-skin table.order_details td {
  background: transparent !important;
  color: hsl(var(--foreground)) !important;
  border-bottom: 1px solid hsl(var(--border) / 0.5) !important;
  padding: 0.85rem 1rem !important;
}
body.nc-skin table.woocommerce-table--order-details thead th {
  color: hsl(var(--muted-foreground)) !important;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
}
body.nc-skin table.woocommerce-table--order-details tfoot th,
body.nc-skin table.woocommerce-table--order-details tfoot td { color: hsl(var(--foreground)) !important; }
body.nc-skin table.woocommerce-table--order-details tfoot tr:last-child td bdi,
body.nc-skin table.woocommerce-table--order-details tfoot tr:last-child .amount { color: hsl(var(--primary)) !important; font-weight: 800; }
body.nc-skin table.woocommerce-table--order-details a { color: hsl(var(--primary)); }

/* Kundendaten-Adressen */
body.nc-skin .woocommerce-customer-details .woocommerce-columns,
body.nc-skin .woocommerce-customer-details address {
  background: hsl(var(--card)) !important;
  border: 1px solid hsl(var(--border)) !important;
  border-radius: 1rem;
  padding: 1rem 1.15rem;
  color: hsl(var(--foreground)) !important;
  font-style: normal;
}

/* Zahlungsarten-Auswahl auf der Kasse */
body.nc-skin ul.wc_payment_methods {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid hsl(var(--border)) !important;
  border-radius: 1rem;
  overflow: hidden;
  background: hsl(var(--card)) !important;
}
body.nc-skin ul.wc_payment_methods li.wc_payment_method {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid hsl(var(--border) / 0.55);
  background: transparent !important;
}
body.nc-skin ul.wc_payment_methods li.wc_payment_method:last-child { border-bottom: 0; }
body.nc-skin ul.wc_payment_methods li.wc_payment_method > label {
  display: flex !important;
  align-items: center;
  gap: 0.6rem;
  padding: 1rem 1.15rem;
  margin: 0 !important;
  cursor: pointer;
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 600;
  color: hsl(var(--foreground)) !important;
}
body.nc-skin ul.wc_payment_methods li.wc_payment_method > input[type="radio"] { margin: 0 0 0 1.15rem; accent-color: hsl(var(--primary)); }
body.nc-skin ul.wc_payment_methods li.wc_payment_method > label img { max-height: 24px; width: auto; }
body.nc-skin .payment_box,
body.nc-skin div.payment_box {
  background: hsl(var(--background) / 0.6) !important;
  border: 1px solid hsl(var(--border) / 0.6) !important;
  border-radius: 0.85rem !important;
  margin: 0 1.15rem 1.15rem !important;
  padding: 1rem 1.15rem !important;
  color: hsl(var(--foreground)) !important;
  font-size: 0.9rem;
}
body.nc-skin .payment_box::before,
body.nc-skin div.payment_box::before { display: none !important; }
body.nc-skin .payment_box p,
body.nc-skin .payment_box li,
body.nc-skin .payment_box label,
body.nc-skin .payment_box span { color: hsl(var(--foreground)) !important; }
body.nc-skin .payment_box fieldset { border: 0; padding: 0; margin: 0; background: transparent; }

/* Stripe / Karten-Felder */
body.nc-skin .wc-stripe-upe-element,
body.nc-skin .StripeElement,
body.nc-skin .wc-payment-form,
body.nc-skin #wc-stripe-upe-form {
  background: transparent !important;
  border: 0 !important;
  color: hsl(var(--foreground));
}

/* Bestellen-Button + Terms */
body.nc-skin .woocommerce-terms-and-conditions-wrapper,
body.nc-skin .woocommerce-privacy-policy-text,
body.nc-skin .wc-terms-and-conditions { color: hsl(var(--muted-foreground)); }
body.nc-skin .woocommerce-terms-and-conditions-wrapper a { color: hsl(var(--primary)); }
body.nc-skin #place_order {
  width: 100%;
  padding: 0.95rem 1.5rem;
  border: 0;
  border-radius: 0.75rem;
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--accent)));
}
body.nc-skin #place_order:hover { filter: brightness(1.08); }

/* Vorbestellungs-Hinweis auf der Kasse */
body.nc-skin .nc-preorder-note,
body.nc-skin .nc-checkout-preorder,
body.nc-skin .woocommerce-checkout .nc-preorder-box {
  background: hsl(var(--card)) !important;
  border: 1px solid hsl(var(--primary) / 0.45) !important;
  color: hsl(var(--foreground)) !important;
  border-radius: 1rem;
}

/* "Für Bestellung bezahlen" (order-pay) */
body.nc-skin table.order_details tfoot th,
body.nc-skin #order_review table.shop_table th { color: hsl(var(--foreground)) !important; }
body.nc-skin .woocommerce-order-pay #payment,
body.nc-skin form#order_review { background: transparent; }

/* Restliche helle Woo-Flächen im Checkout-Bereich neutralisieren */
body.nc-skin.woocommerce-checkout .woocommerce > form,
body.nc-skin.woocommerce-order-received .woocommerce,
body.nc-skin.woocommerce-cart .woocommerce { background: transparent; }

/* v19b: helle Restflächen im Zahlungsbereich */
body.nc-skin .woocommerce-checkout #payment,
body.nc-skin .woocommerce-checkout #payment div.form-row,
body.nc-skin .woocommerce-checkout #payment .place-order,
body.nc-skin .woocommerce-order-pay #payment,
body.nc-skin .woocommerce-order-pay #payment div.form-row,
body.nc-skin #payment .form-row.place-order {
  background: transparent !important;
  border-radius: 1rem;
  color: hsl(var(--foreground));
}
body.nc-skin .woocommerce-checkout #payment .place-order { padding: 1.25rem 0 0 !important; }
body.nc-skin #payment ul.wc_payment_methods { margin-bottom: 0 !important; }
body.nc-skin .woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table {
  background: hsl(var(--card)) !important;
  border: 1px solid hsl(var(--border)) !important;
  border-radius: 1rem;
  overflow: hidden;
}
body.nc-skin .woocommerce-checkout-review-order-table th,
body.nc-skin .woocommerce-checkout-review-order-table td {
  background: transparent !important;
  color: hsl(var(--foreground)) !important;
}

/* ── v20: WooCommerce-Notices als Skin-Toasts/Glass-Cards ── */
@keyframes nc-toast-in {
  from { opacity: 0; transform: translateY(1rem) scale(.97); }
  to   { opacity: 1; transform: none; }
}
@keyframes nc-toast-out {
  to { opacity: 0; transform: translateY(0.75rem) scale(.98); visibility: hidden; }
}

/* Basis: kompakte Glass-Card statt WooCommerce-Standardbanner */
body.nc-skin .woocommerce-message,
body.nc-skin .woocommerce-info,
body.nc-skin .woocommerce-error,
body.nc-skin ul.woocommerce-error {
  position: relative;
  display: flex !important;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  width: 100%;
  max-width: 760px;
  margin: 0 auto 1.5rem !important;
  padding: 1rem 1.25rem !important;
  background: hsl(var(--card) / 0.85) !important;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border: 1px solid hsl(var(--border) / 0.7) !important;
  border-left: 3px solid hsl(var(--primary)) !important;
  border-radius: 1rem !important;
  box-shadow: 0 18px 45px -22px hsl(var(--primary) / 0.55), 0 0 0 1px hsl(var(--primary) / 0.08) inset !important;
  color: hsl(var(--foreground)) !important;
  font-size: 0.92rem;
  line-height: 1.5;
  list-style: none !important;
}
body.nc-skin .woocommerce-message > *,
body.nc-skin .woocommerce-info > *,
body.nc-skin .woocommerce-error > * { margin: 0; }
body.nc-skin .woocommerce-info { border-left-color: hsl(200 90% 60%) !important; }
body.nc-skin .woocommerce-error,
body.nc-skin ul.woocommerce-error { border-left-color: hsl(0 80% 62%) !important; }
body.nc-skin ul.woocommerce-error li { list-style: none; margin: 0; }

/* Buttons in Notices sauber ausrichten */
body.nc-skin .woocommerce-message .button,
body.nc-skin .woocommerce-info .button,
body.nc-skin .woocommerce-error .button {
  order: 2;
  margin: 0 0 0 auto !important;
  padding: 0 1.15rem !important;
  height: 42px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  white-space: nowrap;
  font-family: var(--nc-font-category, 'Outfit', system-ui, sans-serif);
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1;
  border: 0 !important;
  border-radius: 0.7rem !important;
  background-image: var(--gradient-primary) !important;
  color: hsl(var(--primary-foreground)) !important;
  text-shadow: none;
  box-shadow: var(--shadow-glow);
  transition: filter .2s ease, transform .2s ease;
}
body.nc-skin .woocommerce-message .button:hover { filter: brightness(1.08); transform: translateY(-1px); }

/* Add-to-Cart-Bestätigung als Toast unten rechts (wie im Original) */
body.nc-skin:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)
  .woocommerce-notices-wrapper > .woocommerce-message,
body.nc-skin:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)
  #content > .col-full > .woocommerce > .woocommerce-message {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  left: auto;
  z-index: 9999;
  width: min(400px, calc(100vw - 2.5rem));
  max-width: none;
  margin: 0 !important;
  flex-direction: column;
  align-items: stretch;
  gap: 0.85rem;
  padding: 1.1rem 1.15rem !important;
  animation: nc-toast-in .4s cubic-bezier(.16,1,.3,1) both,
             nc-toast-out .5s ease-in 8s forwards;
}
body.nc-skin:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)
  .woocommerce-notices-wrapper > .woocommerce-message .button,
body.nc-skin:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)
  #content > .col-full > .woocommerce > .woocommerce-message .button {
  order: 2;
  width: 100%;
  margin: 0 !important;
}
/* Wrapper darf im Fluss keinen Platz mehr belegen */
body.nc-skin:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)
  .woocommerce-notices-wrapper:not(:has(.woocommerce-error)):not(:has(.woocommerce-info)) {
  margin: 0 !important;
  min-height: 0;
}

/* WooCommerce-Blocks-Notices angleichen */
body.nc-skin .wc-block-components-notice-banner {
  background: hsl(var(--card) / 0.85) !important;
  border: 1px solid hsl(var(--border) / 0.7) !important;
  border-left: 3px solid hsl(var(--primary)) !important;
  border-radius: 1rem !important;
  color: hsl(var(--foreground)) !important;
  box-shadow: 0 18px 45px -22px hsl(var(--primary) / 0.55) !important;
}
body.nc-skin .wc-block-components-notice-banner.is-error { border-left-color: hsl(0 80% 62%) !important; }
body.nc-skin .wc-block-components-notice-banner.is-info { border-left-color: hsl(200 90% 60%) !important; }
body.nc-skin .wc-block-components-notice-banner > svg { fill: hsl(var(--primary)); background: transparent !important; }

@media (max-width: 640px) {
  body.nc-skin:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)
    .woocommerce-notices-wrapper .woocommerce-message {
    right: 0.75rem; left: 0.75rem; bottom: 0.75rem; width: auto;
  }
}

/* Icon der Notices: WooCommerce-Glyph durch Skin-Icon ersetzen */
body.nc-skin .woocommerce-message::before,
body.nc-skin .woocommerce-info::before,
body.nc-skin .woocommerce-error::before {
  content: "" !important;
  position: static !important;
  flex: none;
  order: 0;
  width: 1.15rem;
  height: 1.15rem;
  margin: 0 !important;
  padding: 0 !important;
  background-color: hsl(var(--primary));
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='m8.5 12.5 2.5 2.5 4.5-5'/></svg>") center/contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='m8.5 12.5 2.5 2.5 4.5-5'/></svg>") center/contain no-repeat;
}
body.nc-skin .woocommerce-info::before { background-color: hsl(200 90% 62%); }
body.nc-skin .woocommerce-error::before { background-color: hsl(0 80% 62%); }
/* Toast: Icon + Text in einer Zeile */
body.nc-skin:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)
  #content > .col-full > .woocommerce > .woocommerce-message,
body.nc-skin:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)
  .woocommerce-notices-wrapper > .woocommerce-message { padding-left: 1.15rem !important; }

/* v20b: Toast-Feinschliff – Icon neben Text, Button darunter */
body.nc-skin:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)
  #content > .col-full > .woocommerce > .woocommerce-message,
body.nc-skin:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)
  .woocommerce-notices-wrapper > .woocommerce-message {
  display: grid !important;
  grid-template-columns: auto 1fr;
  align-items: start;
  column-gap: 0.7rem;
  row-gap: 0.9rem;
  border: 1px solid hsl(var(--border) / 0.45) !important;
}
body.nc-skin:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)
  #content > .col-full > .woocommerce > .woocommerce-message::before,
body.nc-skin:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)
  .woocommerce-notices-wrapper > .woocommerce-message::before {
  margin-top: 0.12rem !important;
}
body.nc-skin:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)
  #content > .col-full > .woocommerce > .woocommerce-message .button,
body.nc-skin:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)
  .woocommerce-notices-wrapper > .woocommerce-message .button {
  grid-column: 1 / -1;
}

/* v20c: Blocks-Validierungsfehler lesbar */
body.nc-skin .wc-block-components-validation-error,
body.nc-skin .wc-block-components-validation-error p {
  color: hsl(0 85% 72%) !important;
  font-size: 0.85rem;
  line-height: 1.4;
}
body.nc-skin .wc-block-components-validation-error svg { fill: hsl(0 85% 72%) !important; }

/* ── v21: Warenkorb-/Kassen-Container-Fixes ── */
/* Produkttabelle: volle Breite, kein Bordeaux-Band im Kopf */
body.nc-skin table.wc-block-cart-items,
body.nc-skin .wc-block-cart-items {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: auto;
  border-collapse: collapse;
  background: transparent !important;
}
body.nc-skin .wc-block-cart-items__header th,
body.nc-skin .wc-block-cart-items__header td,
body.nc-skin tr.wc-block-cart-items__header {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid hsl(var(--border) / 0.5) !important;
  color: hsl(var(--muted-foreground)) !important;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.6rem 0.8rem !important;
}
body.nc-skin tr.wc-block-cart-items__row,
body.nc-skin tr.wc-block-cart-items__row td {
  background: transparent !important;
  border-color: hsl(var(--border) / 0.4) !important;
}
body.nc-skin tr.wc-block-cart-items__row:hover td { background: hsl(var(--muted) / 0.25) !important; }
body.nc-skin .wc-block-cart-items__header-total,
body.nc-skin .wc-block-cart-item__total { padding-right: 0.25rem !important; }

/* Express-Zahlungsbuttons sauber in der Summen-Box ausrichten */
body.nc-skin .wc-block-components-express-payment,
body.nc-skin .wc-block-components-express-payment__content,
body.nc-skin .wc-block-components-express-payment__event-buttons {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
  list-style: none !important;
}
body.nc-skin .wc-block-components-express-payment__event-buttons > li {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 0.6rem !important;
  padding: 0 !important;
  list-style: none !important;
}
body.nc-skin .wc-block-components-express-payment .paypal-buttons,
body.nc-skin .wc-block-components-express-payment iframe,
body.nc-skin .wc-block-components-express-payment button {
  width: 100% !important;
  max-width: 100% !important;
}

/* Generelle Overflow-Bremse in Warenkorb & Kasse */
body.nc-skin.woocommerce-cart .entry-content iframe,
body.nc-skin.woocommerce-checkout .entry-content iframe,
body.nc-skin.woocommerce-cart .paypal-buttons,
body.nc-skin.woocommerce-checkout .paypal-buttons,
body.nc-skin.woocommerce-cart .wc-block-components-totals-wrapper > *,
body.nc-skin.woocommerce-checkout #payment .payment_box,
body.nc-skin.woocommerce-checkout .woocommerce-checkout-review-order-table {
  max-width: 100% !important;
  box-sizing: border-box;
}
body.nc-skin.woocommerce-checkout .woocommerce-checkout-review-order-table { width: 100% !important; }

/* v21b: Mengenauswahl im Warenkorb sauber einpassen */
body.nc-skin .wc-block-components-quantity-selector {
  display: inline-flex !important;
  align-items: center;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  border-radius: 0.75rem;
}
body.nc-skin .wc-block-components-quantity-selector__button {
  position: static !important;
  flex: 0 0 auto;
  width: 2.4rem !important;
  min-width: 2.4rem !important;
  height: 2.4rem !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.nc-skin .wc-block-components-quantity-selector__input {
  flex: 0 0 auto;
  width: 3rem !important;
  min-width: 3rem !important;
  text-align: center;
  padding: 0 !important;
}
body.nc-skin .wc-block-cart-item__quantity { display: flex; align-items: center; gap: 0.85rem; flex-wrap: wrap; }
body.nc-skin .wc-block-cart-item__remove-link { margin: 0 !important; }
/* Express-Iframes exakt bündig */
body.nc-skin .wc-block-components-express-payment iframe { margin: 0 !important; left: 0 !important; }

/* ═══ v22: Warenkorb-Drawer (Vorbild CartDrawer.tsx) ═══ */
.nc-drawer-overlay{position:fixed;inset:0;background:rgba(4,6,16,.72);backdrop-filter:blur(4px);opacity:0;transition:opacity .25s ease;z-index:99998}
.nc-drawer-overlay.is-open{opacity:1}
body.nc-drawer-lock{overflow:hidden}
.nc-drawer{position:fixed;top:0;right:0;height:100%;width:min(440px,100%);max-width:100%;z-index:99999;
  background:linear-gradient(180deg,hsl(230 30% 10%) 0%,hsl(230 32% 8%) 100%);
  border-left:1px solid hsla(193,100%,50%,.22);box-shadow:-24px 0 60px rgba(0,0,0,.6);
  transform:translateX(100%);transition:transform .3s cubic-bezier(.22,.61,.36,1);display:flex;flex-direction:column;color:#e8ecf7}
.nc-drawer.is-open{transform:translateX(0)}
.nc-drawer.is-busy{opacity:.7;pointer-events:none}
.nc-drawer__inner{display:flex;flex-direction:column;height:100%;min-height:0}
.nc-drawer__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 18px 14px;border-bottom:1px solid rgba(255,255,255,.08)}
.nc-drawer__title{margin:0;font-size:1.15rem;font-weight:700;color:#fff}
.nc-drawer__sub{margin:4px 0 0;font-size:.82rem;color:rgba(232,236,247,.6)}
.nc-drawer__close{background:transparent;border:0;color:rgba(232,236,247,.7);cursor:pointer;padding:4px;line-height:0}
.nc-drawer__close:hover{color:hsl(193 100% 60%)}
.nc-drawer__close svg{width:20px;height:20px}
.nc-drawer__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px 18px;display:flex;flex-direction:column;gap:12px}
.nc-drawer__item{display:flex;gap:12px;align-items:flex-start;padding:10px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.03)}
.nc-drawer__thumb{width:60px;height:60px;flex:0 0 60px;border-radius:10px;overflow:hidden;background:rgba(255,255,255,.05)}
.nc-drawer__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.nc-drawer__meta{flex:1 1 auto;min-width:0}
.nc-drawer__name{margin:0;font-size:.9rem;font-weight:600;line-height:1.3}
.nc-drawer__name a{color:#fff;text-decoration:none}
.nc-drawer__var{margin:2px 0 0;font-size:.75rem;color:rgba(232,236,247,.55)}
.nc-drawer__var p{margin:0}
.nc-drawer__price{margin:6px 0 0;font-weight:700;color:hsl(193 100% 62%);font-size:.95rem}
.nc-drawer__price del{color:rgba(232,236,247,.45);font-weight:400}
.nc-drawer__actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:0 0 auto}
.nc-drawer__remove{background:transparent;border:0;color:rgba(232,236,247,.55);cursor:pointer;padding:2px;line-height:0}
.nc-drawer__remove:hover{color:hsl(328 100% 62%)}
.nc-drawer__remove svg{width:16px;height:16px}
.nc-drawer__qty{display:flex;align-items:center;gap:2px;border:1px solid rgba(255,255,255,.14);border-radius:9px;overflow:hidden}
.nc-drawer__qtybtn{width:26px;height:26px;background:rgba(255,255,255,.04);border:0;color:#e8ecf7;cursor:pointer;font-size:.95rem;line-height:1}
.nc-drawer__qtybtn:hover{background:rgba(0,209,255,.16);color:#fff}
.nc-drawer__qtyval{min-width:28px;text-align:center;font-size:.85rem}
.nc-drawer__empty{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:rgba(232,236,247,.6);padding:30px}
.nc-drawer__empty svg{width:44px;height:44px;opacity:.45}
.nc-drawer__foot{flex:0 0 auto;padding:16px 18px calc(16px + env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.09);background:rgba(0,0,0,.2)}
.nc-drawer__row{display:flex;align-items:center;justify-content:space-between;font-size:.95rem;margin-bottom:12px}
.nc-drawer__sum{font-weight:700;color:#fff}
.nc-drawer__sum .woocommerce-Price-amount{color:#fff}
.nc-drawer__cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px 16px;border-radius:12px;font-weight:700;color:#fff !important;text-decoration:none;
  background:linear-gradient(135deg,hsl(328 100% 54%) 0%,hsl(280 100% 66%) 50%,hsl(193 100% 50%) 100%);box-shadow:0 10px 26px rgba(255,0,128,.22)}
.nc-drawer__cta:hover{filter:brightness(1.08)}
.nc-drawer__cta svg{width:18px;height:18px}
.nc-drawer__link{display:block;text-align:center;margin-top:10px;font-size:.85rem;color:rgba(232,236,247,.7);text-decoration:none}
.nc-drawer__link:hover{color:hsl(193 100% 62%)}
@media (max-width:600px){.nc-drawer{width:100%;border-left:0}}

/* ═══ v23: Produktdetailseite + Scroll-to-Top (ProductDetail.tsx) ═══ */
body.nc-skin .nc-pdp-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0 0 .35rem;font-size:.85rem}
body.nc-skin .nc-pdp-kicker__cat{color:hsl(var(--primary));font-weight:600}
body.nc-skin .nc-pdp-kicker__sep,body.nc-skin .nc-pdp-kicker__man{color:hsl(var(--muted-foreground))}
body.nc-skin .nc-pdp-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 .25rem}
body.nc-skin .nc-pdp-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .7rem;border-radius:9999px;font-size:.82rem;font-weight:700;border:1px solid}
body.nc-skin .nc-pdp-badge--pre{background:hsl(214 100% 60% / .18);border-color:hsl(214 100% 60% / .4);color:hsl(214 100% 76%)}
body.nc-skin .nc-pdp-badge--sale{background:hsl(0 84% 60% / .16);border-color:hsl(0 84% 60% / .4);color:hsl(0 90% 76%)}
body.nc-skin .single-product .summary p.price,body.nc-skin.single-product .summary p.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:.6rem;margin:.35rem 0 .2rem}
body.nc-skin .single-product .summary p.price ins,
body.nc-skin.single-product .summary p.price ins,
body.nc-skin .single-product .summary p.price > .woocommerce-Price-amount,body.nc-skin.single-product .summary p.price > .woocommerce-Price-amount{font-size:1.65rem;font-weight:800;color:hsl(var(--primary));text-decoration:none;background:none}
body.nc-skin .single-product .summary p.price del,body.nc-skin.single-product .summary p.price del{font-size:1rem;color:hsl(var(--muted-foreground));opacity:.85}
body.nc-skin .single-product .summary .wgm-sale-label,body.nc-skin.single-product .summary .wgm-sale-label{font-size:.8rem;color:hsl(var(--muted-foreground))}
body.nc-skin .single-product .summary .woocommerce-de_price_taxrate,
body.nc-skin.single-product .summary .woocommerce-de_price_taxrate,
body.nc-skin .single-product .summary .woocommerce_de_versandkosten,
body.nc-skin.single-product .summary .woocommerce_de_versandkosten{display:none}
body.nc-skin .nc-pdp-vat{flex:1 0 100%;margin:.15rem 0 .35rem;font-size:.8rem;color:hsl(var(--muted-foreground))}
body.nc-skin .nc-pdp-vat a{color:hsl(var(--muted-foreground));text-decoration:underline;text-underline-offset:2px}
body.nc-skin .nc-pdp-vat a:hover{color:hsl(var(--primary))}
body.nc-skin .nc-pdp-sku{font-size:.78rem;color:hsl(var(--muted-foreground));margin:.35rem 0 .8rem}
body.nc-skin .nc-pdp-sku span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
body.nc-skin .single-product .product_meta .sku_wrapper,body.nc-skin.single-product .product_meta .sku_wrapper{display:none}
body.nc-skin .nc-pdp-delivery{display:flex;align-items:center;gap:.85rem;padding:.9rem 1rem;border-radius:.75rem;border:2px solid;margin:0 0 1rem;
  background:hsl(var(--card) / .4);backdrop-filter:blur(24px)}
body.nc-skin .nc-pdp-delivery__ico{width:2.5rem;height:2.5rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;flex:none}
body.nc-skin .nc-pdp-delivery__ico svg{width:1.25rem;height:1.25rem}
body.nc-skin .nc-pdp-delivery__label{margin:0;font-weight:700}
body.nc-skin .nc-pdp-delivery__text{margin:.1rem 0 0;font-size:.85rem;color:hsl(var(--muted-foreground))}
body.nc-skin .nc-pdp-delivery--in-stock{border-color:hsl(160 84% 39% / .3);background-color:hsl(160 84% 39% / .06)}
body.nc-skin .nc-pdp-delivery--in-stock .nc-pdp-delivery__ico{background:hsl(160 84% 39% / .2);color:hsl(158 74% 60%)}
body.nc-skin .nc-pdp-delivery--in-stock .nc-pdp-delivery__label{color:hsl(158 74% 60%)}
body.nc-skin .nc-pdp-delivery--pre-order{border-color:hsl(214 100% 60% / .3);background-color:hsl(214 100% 60% / .06)}
body.nc-skin .nc-pdp-delivery--pre-order .nc-pdp-delivery__ico{background:hsl(214 100% 60% / .2);color:hsl(214 100% 76%)}
body.nc-skin .nc-pdp-delivery--pre-order .nc-pdp-delivery__label{color:hsl(214 100% 76%)}
body.nc-skin .nc-pdp-delivery--supplier{border-color:hsl(258 90% 66% / .3);background-color:hsl(258 90% 66% / .06)}
body.nc-skin .nc-pdp-delivery--supplier .nc-pdp-delivery__ico{background:hsl(258 90% 66% / .2);color:hsl(255 92% 80%)}
body.nc-skin .nc-pdp-delivery--supplier .nc-pdp-delivery__label{color:hsl(255 92% 80%)}
body.nc-skin .nc-pdp-trust{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}
body.nc-skin .nc-pdp-trust__pill{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .7rem;border-radius:9999px;font-size:.78rem;font-weight:600;border:1px solid}
body.nc-skin .nc-pdp-trust__pill svg{width:.85rem;height:.85rem}
body.nc-skin .nc-pdp-trust__pill--ship{color:hsl(193 100% 62%);border-color:hsl(193 100% 50% / .3);background:hsl(193 100% 50% / .1)}
body.nc-skin .nc-pdp-trust__pill--pack{color:hsl(280 100% 78%);border-color:hsl(280 100% 70% / .3);background:hsl(280 100% 70% / .1)}
body.nc-skin .nc-pdp-trust__pill--safe{color:hsl(var(--primary));border-color:hsl(var(--primary) / .3);background:hsl(var(--primary) / .1)}
body.nc-skin .nc-pdp-card{background:hsl(var(--card) / .4);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border:1px solid hsl(var(--border) / .4);border-radius:.75rem;padding:1rem 1.1rem;margin:0 0 1rem}
body.nc-skin .nc-pdp-card__h{margin:0;font-size:1.05rem;font-weight:700;color:hsl(var(--primary))}
body.nc-skin .nc-pdp-card__head{display:flex;align-items:center;gap:.5rem;margin-bottom:.7rem}
body.nc-skin .nc-pdp-card__head .nc-pdp-card__h{color:hsl(var(--foreground))}
body.nc-skin .nc-pdp-card__bar{width:.25rem;height:1.25rem;border-radius:9999px;background:hsl(var(--primary));display:inline-block}
body.nc-skin .nc-pdp-details__grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.7rem;font-size:.88rem}
body.nc-skin .nc-pdp-details__grid span{color:hsl(var(--muted-foreground))}
body.nc-skin .nc-pdp-details__grid p{margin:.1rem 0 0;font-weight:600}
body.nc-skin .nc-pdp-desc__body{font-size:.9rem;line-height:1.7;color:hsl(var(--muted-foreground))}
body.nc-skin .nc-pdp-desc__body p:last-child{margin-bottom:0}
body.nc-skin .nc-pdp-safety{padding:0}
body.nc-skin .nc-pdp-safety__sum{display:flex;align-items:center;gap:.6rem;cursor:pointer;list-style:none;padding:1rem 1.1rem;font-weight:700}
body.nc-skin .nc-pdp-safety__sum::-webkit-details-marker{display:none}
body.nc-skin .nc-pdp-safety__sum svg{width:1.1rem;height:1.1rem;color:hsl(38 92% 62%)}
body.nc-skin .nc-pdp-safety__sum svg:last-child{margin-left:auto;color:hsl(var(--muted-foreground));transition:transform .2s ease}
body.nc-skin .nc-pdp-safety[open] .nc-pdp-safety__sum svg:last-child{transform:rotate(180deg)}
body.nc-skin .nc-pdp-safety__body{padding:0 1.1rem 1.1rem}
body.nc-skin .nc-pdp-report{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .9rem;border-radius:.6rem;font-size:.82rem;
  color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border) / .5);background:hsl(var(--card) / .3);text-decoration:none;margin:0 0 1.5rem}
body.nc-skin .nc-pdp-report:hover{color:hsl(38 92% 62%);border-color:hsl(38 92% 62% / .5)}
body.nc-skin .nc-pdp-report svg{width:.95rem;height:.95rem}
@media (max-width:600px){body.nc-skin .nc-pdp-details__grid{grid-template-columns:1fr}}
/* Scroll-to-Top (alle Seiten) */
.nc-totop{position:fixed;right:20px;bottom:20px;width:46px;height:46px;border-radius:9999px;z-index:9990;cursor:pointer;
  display:flex;align-items:center;justify-content:center;border:2px solid transparent;color:hsl(193 100% 62%);
  background-image:linear-gradient(hsl(230 30% 12%),hsl(230 30% 12%)),linear-gradient(135deg,hsl(328 100% 54%) 0%,hsl(193 100% 50%) 50%,hsl(280 100% 70%) 100%);
  background-origin:border-box;background-clip:padding-box,border-box;
  opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease,visibility .25s}
.nc-totop.is-on{opacity:1;visibility:visible;transform:translateY(0)}
.nc-totop:hover{transform:translateY(-2px) scale(1.06)}
.nc-totop svg{width:20px;height:20px}
/* Theme-Button-Padding hat den Pfeil auf 0px Breite gequetscht (leerer Kreis) */
body.nc-skin button.nc-totop{padding:0;width:46px;height:46px;min-width:46px;max-width:46px;min-height:46px;max-height:46px;box-sizing:border-box}
body.nc-skin button.nc-totop svg{width:20px;height:20px;flex:0 0 auto}
@media (max-width:600px){.nc-totop{right:14px;bottom:76px}}

/* ═══ v23b: PDP-Feinschliff ═══ */
body.nc-skin .single-product .summary p.price .wgm-sale-label,body.nc-skin.single-product .summary p.price .wgm-sale-label{font-size:.78rem;font-weight:600;color:hsl(var(--muted-foreground));align-self:center}
body.nc-skin .single-product .summary p.price ins .woocommerce-Price-amount,body.nc-skin.single-product .summary p.price ins .woocommerce-Price-amount{font-size:1.65rem;font-weight:800;color:hsl(var(--primary))}
body.nc-skin .single-product .summary p.price del .woocommerce-Price-amount,body.nc-skin.single-product .summary p.price del .woocommerce-Price-amount{font-size:1rem;font-weight:500;color:hsl(var(--muted-foreground))}
body.nc-skin .single-product .summary .legacy-itemprop-offers,body.nc-skin.single-product .summary .legacy-itemprop-offers{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem}
body.nc-skin .single-product .summary .legacy-itemprop-offers p.price,body.nc-skin.single-product .summary .legacy-itemprop-offers p.price{flex:1 0 100%}
body.nc-skin .single-product .summary .wgm-info.shipping_de,body.nc-skin.single-product .summary .wgm-info.shipping_de{flex:1 0 100%;margin-top:.15rem}
body.nc-skin .single-product .summary .wgm-info.shipping_de span,body.nc-skin.single-product .summary .wgm-info.shipping_de span{color:hsl(158 74% 60%);font-size:.8rem}
body.nc-skin .single-product .product_meta,body.nc-skin.single-product .product_meta{display:none !important}
body.nc-skin .nc-pdp-trust__pill svg{width:1rem;height:1rem}
/* v82: YITH-Anzahlungsauswahl auf der Produktseite ausblenden – der Block
   "Zahle den gesamten Betrag / Anzahlung (Reservierung)" duplizierte
   "Vollzahlung / Teilzahlung 50 %" aus dem NC-Zahlungsoptionen-Block.
   Es bleibt genau EIN Auswahl-Block (.nc-vip-pay). */
body.nc-skin .single-product .yith-wcdp-payment-types,
body.nc-skin.single-product .yith-wcdp-payment-types,
body.nc-skin .single-product .yith-wcdp-deposit-form,
body.nc-skin.single-product .yith-wcdp-deposit-form,
body.nc-skin .single-product .yith-wcdp-deposit,
body.nc-skin.single-product .yith-wcdp-deposit{display:none !important}


/* ═══ v23c: Hinweis-Box in Produkt-Tabs ═══ */
body.nc-skin .woocommerce-Tabs-panel .woocommerce-info,
body.nc-skin #reviews .woocommerce-info,
body.nc-skin.single-product .woocommerce-info{background:hsl(var(--card) / .5) !important;border:1px solid hsl(193 100% 50% / .35) !important;
  color:hsl(var(--foreground)) !important;border-radius:.7rem;box-shadow:none}
body.nc-skin .woocommerce-Tabs-panel .woocommerce-info::before,
body.nc-skin #reviews .woocommerce-info::before{color:hsl(193 100% 62%) !important}

/* ── v24: Zahlungsweise-Sektion – klare, flache Struktur ─────────── */
/* PayPal Pay-Later-Werbetext (schwarz auf dunkel, keine echte Zahlart) */
body.nc-skin .ppcp-messages,
body.nc-skin .woocommerce-checkout .ppcp-messages,
body.nc-skin .woocommerce-cart .ppcp-messages { display: none !important; }

/* Sektionsüberschrift */
body.nc-skin #payment > h3,
body.nc-skin .woocommerce-checkout-payment > h3 {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 700;
  margin: 0 0 .75rem;
  color: hsl(var(--foreground));
}

/* Zahlungsarten-Liste: eine Ebene, deutliche Auswahl */
body.nc-skin ul.wc_payment_methods li.wc_payment_method {
  position: relative;
  padding: 0 !important;
  transition: background .18s, border-color .18s;
}
body.nc-skin ul.wc_payment_methods li.wc_payment_method:has(> input[type="radio"]:checked) {
  background: hsl(var(--primary) / .07) !important;
  box-shadow: inset 3px 0 0 hsl(var(--primary));
}
body.nc-skin ul.wc_payment_methods li.wc_payment_method > input[type="radio"] {
  width: 18px; height: 18px; flex: 0 0 18px;
  margin: 0 0 0 1.15rem !important;
  accent-color: hsl(var(--primary));
  position: absolute; top: 1.05rem; left: 0;
}
body.nc-skin ul.wc_payment_methods li.wc_payment_method > label {
  padding: 1rem 1.15rem 1rem 3rem !important;
  font-size: 1rem;
}
body.nc-skin ul.wc_payment_methods li.wc_payment_method:has(> input:checked) > label { color: hsl(var(--foreground)) !important; }

/* Verschachtelte Box unter der gewählten Zahlart entschachteln */
body.nc-skin ul.wc_payment_methods li.wc_payment_method > .payment_box {
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid hsl(var(--border) / .5) !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 1rem 1.15rem 1.25rem 3rem !important;
}
body.nc-skin .payment_box .wc-stripe-upe-element,
body.nc-skin .payment_box #wc-stripe-upe-form { margin: 0 !important; padding: 0 !important; }
body.nc-skin .payment_box .woocommerce-SavedPaymentMethods:empty { display: none !important; }
@media (max-width: 640px) {
  body.nc-skin ul.wc_payment_methods li.wc_payment_method > label { padding-left: 2.6rem !important; }
  body.nc-skin ul.wc_payment_methods li.wc_payment_method > .payment_box { padding-left: 1rem !important; }
}

/* ── v25: VIP-Zahlungsoptionen auf der Produktseite ────────── */
body.nc-skin .nc-vip-pay {
  margin: 0 0 1rem; padding: 1rem;
  border: 1px solid hsl(var(--nc-border, 217 33% 20%));
  border-radius: 0.9rem;
  background: hsl(230 32% 11% / 0.65);
  backdrop-filter: blur(8px);
}
body.nc-skin .nc-vip-pay__h {
  display: flex; align-items: center; gap: 0.5rem;
  margin: 0 0 0.75rem; font-weight: 700; font-size: 1rem;
}
body.nc-skin .nc-vip-pay__h svg { width: 18px; height: 18px; }
body.nc-skin .nc-vip-pay__opt {
  position: relative;
  display: flex; align-items: flex-start; gap: 0.65rem;
  padding: 0.7rem 3.2rem 0.7rem 0.85rem; margin-bottom: 0.5rem;
  border: 1px solid hsl(217 33% 22%); border-radius: 0.7rem;
  background: hsl(230 30% 9% / 0.6); cursor: pointer; transition: all .18s ease;
}
body.nc-skin .nc-vip-pay__opt:hover { border-color: hsl(186 100% 50% / 0.5); }
body.nc-skin .nc-vip-pay__opt.is-off { opacity: .5; cursor: not-allowed; }
body.nc-skin .nc-vip-pay__opt.is-off:hover { border-color: hsl(217 33% 22%); }
body.nc-skin .nc-vip-pay__opt.is-off input { cursor: not-allowed; pointer-events: none; }
body.nc-skin .nc-vip-pay__opt input { margin-top: .25rem; }
body.nc-skin .nc-vip-pay__opt span { display: flex; flex-direction: column; gap: .15rem; }
body.nc-skin .nc-vip-pay__opt b { font-weight: 600; font-size: .95rem; }
body.nc-skin .nc-vip-pay__opt small { font-size: .78rem; opacity: .72; }
body.nc-skin .nc-vip-pay__badge {
  position: absolute; top: .55rem; right: .7rem;
  display: inline-block; padding: .05rem .4rem;
  font-size: .65rem; font-style: normal; font-weight: 700; letter-spacing: .04em;
  border-radius: 999px; background: hsl(280 85% 60% / .2); color: hsl(280 90% 78%);
  border: 1px solid hsl(280 85% 60% / .45); vertical-align: middle;
}

body.nc-skin .nc-vip-pay__plans {
  display: grid; grid-template-columns: 1fr 1fr; gap: .5rem;
  margin: 0 0 .6rem .9rem;
}
body.nc-skin .nc-vip-pay__plan {
  display: flex; align-items: flex-start; gap: .5rem;
  padding: .55rem .65rem; border-radius: .6rem;
  border: 1px solid hsl(217 33% 20%); background: hsl(230 30% 9% / .5); cursor: pointer;
}
body.nc-skin .nc-vip-pay__plan b { display: block; font-size: .82rem; font-weight: 600; }
body.nc-skin .nc-vip-pay__plan small { font-size: .8rem; opacity: .85; }
body.nc-skin .nc-vip-pay__note { margin: .35rem 0 0; font-size: .75rem; opacity: .6; }
@media (max-width: 640px) { body.nc-skin .nc-vip-pay__plans { grid-template-columns: 1fr; } }

/* ── v26: PDP – linke Spalte (Galerie + Beschreibung + Sicherheit) ── */
body.nc-skin.single-product div.product > .nc-pdp-left{width:52%;float:left;margin-right:4%}
body.nc-skin.single-product div.product > .nc-pdp-left > .woocommerce-product-gallery{width:100% !important;float:none !important;margin:0 0 1.25rem !important}
body.nc-skin.single-product div.product > .nc-pdp-left > *+*{margin-top:1rem}
@media (max-width:900px){body.nc-skin.single-product div.product > .nc-pdp-left{width:100%;float:none;margin-right:0}}
body.nc-skin .nc-pdp-report{display:flex;width:100%;text-align:left;gap:.7rem}
body.nc-skin .nc-pdp-report__txt{display:flex;flex-direction:column;line-height:1.3}
body.nc-skin .nc-pdp-report__txt small{color:hsl(var(--muted-foreground));font-size:.75rem}
body.nc-skin .nc-pdp-report__btn{margin-left:auto;font-size:.78rem;font-weight:700;padding:.3rem .7rem;border-radius:.5rem;border:1px solid hsl(var(--border));white-space:nowrap}
body.nc-skin .nc-safety__sec+.nc-safety__sec{margin-top:1rem;padding-top:1rem;border-top:1px solid hsl(var(--border) / .4)}
body.nc-skin .nc-safety__h--doc{color:hsl(var(--primary))}
body.nc-skin .nc-safety__h--imp{color:hsl(var(--foreground))}
body.nc-skin .nc-safety__age{font-size:.82rem;font-weight:600;color:hsl(38 92% 62%);margin:.4rem 0 0}
body.nc-skin .nc-safety__note{font-size:.8rem;color:hsl(var(--muted-foreground));margin:0 0 .6rem}
body.nc-skin .nc-safety__dl{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1rem;border-radius:.6rem;cursor:pointer;
  background:hsl(var(--secondary) / .35);border:1px solid hsl(var(--primary) / .4);color:hsl(var(--foreground));font-size:.85rem;font-weight:600}
body.nc-skin .nc-safety__dl:hover{background:hsl(var(--primary) / .18);border-color:hsl(var(--primary))}
body.nc-skin .nc-safety__dl svg{width:1rem;height:1rem;color:hsl(var(--primary))}
body.nc-skin .nc-safety__ext{margin-top:.9rem}
body.nc-skin .nc-safety__ext-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
@media (min-width:640px){body.nc-skin .nc-safety__ext-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
body.nc-skin .nc-safety__ext-item{display:block;padding:.45rem .6rem;border-radius:.5rem;font-size:.8rem;text-align:center;
  background:hsl(var(--secondary) / .25);border:1px solid hsl(var(--border))}
body.nc-skin .nc-safety__ext-item:hover{border-color:hsl(var(--primary) / .6)}
body.nc-skin .nc-safety__imp{font-size:.85rem;color:hsl(var(--muted-foreground));line-height:1.6}
body.nc-skin .nc-safety__imp p{margin:0}

/* ── v27: Checkout – bounded two-column rebuild ───────────── */
body.nc-skin.woocommerce-checkout:not(.woocommerce-order-received) .site-main,
body.nc-skin.woocommerce-checkout:not(.woocommerce-order-received) .entry-content,
body.nc-skin.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce,
body.nc-skin.woocommerce-checkout:not(.woocommerce-order-received) form.checkout {
  width:100%;max-width:100%;min-width:0;box-sizing:border-box;
}
body.nc-skin.woocommerce-checkout:not(.woocommerce-order-received) form.checkout {
  display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:clamp(1rem,3vw,2.25rem);align-items:start;
}
body.nc-skin.woocommerce-checkout form.checkout > #customer_details {
  grid-column:1;grid-row:1 / span 3;width:100%;min-width:0;margin:0!important;
}
body.nc-skin.woocommerce-checkout form.checkout > #order_review_heading,
body.nc-skin.woocommerce-checkout form.checkout > #order_review {
  grid-column:2;width:100%;min-width:0;margin:0!important;float:none!important;
}
body.nc-skin.woocommerce-checkout form.checkout > #order_review_heading {grid-row:1;padding:0 0 .75rem}
body.nc-skin.woocommerce-checkout form.checkout > #order_review {grid-row:2}
body.nc-skin.woocommerce-checkout #customer_details,
body.nc-skin.woocommerce-checkout #customer_details .col-1,
body.nc-skin.woocommerce-checkout #customer_details .col-2 {
  display:block;float:none!important;width:100%!important;min-width:0;max-width:100%;box-sizing:border-box;
}
body.nc-skin.woocommerce-checkout #customer_details .col-2 {margin-top:1rem}
body.nc-skin.woocommerce-checkout .woocommerce-billing-fields,
body.nc-skin.woocommerce-checkout .woocommerce-shipping-fields,
body.nc-skin.woocommerce-checkout .woocommerce-additional-fields,
body.nc-skin.woocommerce-checkout #order_review {
  padding:clamp(1rem,2.2vw,1.5rem);border:1px solid hsl(var(--border));border-radius:1rem;
  background:hsl(var(--card) / .72);box-shadow:0 18px 50px -36px hsl(var(--primary) / .55);
}
body.nc-skin.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.nc-skin.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1rem;
}
body.nc-skin.woocommerce-checkout .form-row {float:none!important;width:100%!important;min-width:0;margin:0!important;padding:0!important}
body.nc-skin.woocommerce-checkout .form-row-wide,
body.nc-skin.woocommerce-checkout #billing_company_field,
body.nc-skin.woocommerce-checkout #billing_country_field,
body.nc-skin.woocommerce-checkout #billing_address_1_field,
body.nc-skin.woocommerce-checkout #billing_address_2_field,
body.nc-skin.woocommerce-checkout #billing_email_field,
body.nc-skin.woocommerce-checkout #shipping_company_field,
body.nc-skin.woocommerce-checkout #shipping_country_field,
body.nc-skin.woocommerce-checkout #shipping_address_1_field,
body.nc-skin.woocommerce-checkout #shipping_address_2_field {grid-column:1 / -1}
body.nc-skin.woocommerce-checkout .form-row label {display:block;margin:0 0 .4rem;color:hsl(var(--muted-foreground));font-size:.82rem;font-weight:650}
body.nc-skin.woocommerce-checkout .input-text,
body.nc-skin.woocommerce-checkout input[type=email],
body.nc-skin.woocommerce-checkout input[type=tel],
body.nc-skin.woocommerce-checkout input[type=text],
body.nc-skin.woocommerce-checkout select,
body.nc-skin.woocommerce-checkout textarea,
body.nc-skin.woocommerce-checkout .select2-container,
body.nc-skin.woocommerce-checkout .select2-selection {
  display:block;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;
}
body.nc-skin.woocommerce-checkout .input-text,
body.nc-skin.woocommerce-checkout select,
body.nc-skin.woocommerce-checkout .select2-selection {min-height:46px!important;padding:.65rem .8rem!important;border:1px solid hsl(var(--border))!important;border-radius:.65rem!important;background:hsl(var(--background) / .68)!important;color:hsl(var(--foreground))!important;box-shadow:none!important}
body.nc-skin.woocommerce-checkout textarea.input-text {min-height:110px!important;resize:vertical}
body.nc-skin.woocommerce-checkout #order_review table {table-layout:fixed;width:100%!important;margin:0 0 1rem!important}
body.nc-skin.woocommerce-checkout #order_review th,
body.nc-skin.woocommerce-checkout #order_review td {min-width:0;overflow-wrap:anywhere;padding:.75rem .55rem!important}
body.nc-skin.woocommerce-checkout #order_review th:last-child,
body.nc-skin.woocommerce-checkout #order_review td:last-child {width:38%;text-align:right}
body.nc-skin.woocommerce-checkout #payment,
body.nc-skin.woocommerce-checkout #payment > *,
body.nc-skin.woocommerce-checkout #payment iframe {width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
body.nc-skin.woocommerce-checkout ul.wc_payment_methods {display:grid!important;gap:.65rem;border:0!important;background:transparent!important;overflow:visible}
body.nc-skin.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method {border:1px solid hsl(var(--border))!important;border-radius:.8rem!important;background:hsl(var(--background) / .48)!important;overflow:hidden}
body.nc-skin.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method:has(> input:checked) {border-color:hsl(var(--primary) / .7)!important;box-shadow:0 0 0 1px hsl(var(--primary) / .25),0 10px 30px -24px hsl(var(--primary))!important}
body.nc-skin.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method > label {min-height:58px;box-sizing:border-box;overflow-wrap:anywhere}
body.nc-skin.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method > label img {margin-left:auto;max-width:min(42%,150px)!important;object-fit:contain}
body.nc-skin.woocommerce-checkout .payment_box {overflow:hidden!important}
body.nc-skin.woocommerce-checkout .payment_box * {max-width:100%;box-sizing:border-box}
@media(max-width:900px){
  body.nc-skin.woocommerce-checkout:not(.woocommerce-order-received) form.checkout {grid-template-columns:minmax(0,1fr)}
  body.nc-skin.woocommerce-checkout form.checkout > #customer_details,
  body.nc-skin.woocommerce-checkout form.checkout > #order_review_heading,
  body.nc-skin.woocommerce-checkout form.checkout > #order_review {grid-column:1;grid-row:auto}
}
@media(max-width:600px){
  body.nc-skin.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.nc-skin.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {grid-template-columns:minmax(0,1fr)}
  body.nc-skin.woocommerce-checkout .form-row {grid-column:1!important}
  body.nc-skin.woocommerce-checkout .woocommerce-billing-fields,
  body.nc-skin.woocommerce-checkout .woocommerce-shipping-fields,
  body.nc-skin.woocommerce-checkout .woocommerce-additional-fields,
  body.nc-skin.woocommerce-checkout #order_review {padding:1rem}
  body.nc-skin.woocommerce-checkout #order_review th:last-child,
  body.nc-skin.woocommerce-checkout #order_review td:last-child {width:42%}
}

/* ── v28: PDP Sicherheitsbereich – Icons, Abstände, Importeur-Hervorhebung ── */
body.nc-skin .nc-pdp-report{align-items:center;gap:.85rem;padding:.9rem 1.1rem;border-left:3px solid hsl(var(--destructive) / .8)}
body.nc-skin .nc-pdp-report svg{width:1.15rem;height:1.15rem;flex:0 0 auto;color:hsl(var(--destructive))}
body.nc-skin .nc-pdp-report__txt{gap:.2rem;line-height:1.4;min-width:0}
body.nc-skin .nc-pdp-report__txt b{font-size:.9rem}
body.nc-skin .nc-pdp-report__txt small{font-size:.78rem;line-height:1.45}
body.nc-skin .nc-pdp-report__btn{margin-left:auto;padding:.45rem .9rem;background:hsl(var(--destructive) / .12);
  border-color:hsl(var(--destructive) / .35);color:hsl(var(--destructive))}
body.nc-skin .nc-pdp-report:hover .nc-pdp-report__btn{background:hsl(var(--destructive) / .2)}
@media (max-width:520px){
  body.nc-skin .nc-pdp-report{flex-wrap:wrap}
  body.nc-skin .nc-pdp-report__btn{margin-left:2rem;margin-top:.6rem}
}
body.nc-skin .nc-safety__h--doc svg,
body.nc-skin .nc-safety__h--imp svg,
body.nc-skin .nc-safety__h--warn svg{width:1rem;height:1rem;flex:0 0 auto}
/* EU-Importeur als eigene, dezent hervorgehobene Karte */
body.nc-skin .nc-safety__sec--imp{margin-top:1rem;padding:1rem 1.1rem;border:1px solid hsl(var(--border) / .7);
  border-radius:.75rem;background:hsl(var(--secondary) / .18)}
body.nc-skin .nc-safety__sec--imp .nc-safety__h--imp{font-size:.95rem;font-weight:800;color:hsl(var(--foreground));margin-bottom:.6rem}
body.nc-skin .nc-safety__sec--imp .nc-safety__h--imp svg{width:1.1rem;height:1.1rem;color:hsl(var(--primary))}
body.nc-skin .nc-safety__sec--imp .nc-safety__imp p b{color:hsl(var(--foreground));font-size:.9rem}
body.nc-skin .nc-safety__sec--imp .nc-safety__imp a{color:hsl(var(--primary))}

/* ═══ v29: Events, Conventions & "Das sind wir" ═══════════ */
.nc-evpage { max-width: 1140px; margin: 0 auto; padding: 0 16px 64px; }
.nc-evpage h2 { color: #f4f6ff; }
.nc-evhero { text-align: center; padding: 48px 12px 32px; }
.nc-evhero__chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 999px;
  background: rgba(0,224,255,0.08); border: 1px solid rgba(0,224,255,0.25); color: #6fe6ff; font-size: 13px; font-weight: 600; }
.nc-evhero__chip svg, .nc-evstats svg, .nc-evquick svg { width: 16px; height: 16px; }
.nc-evhero__title { margin: 18px 0 12px; font-size: clamp(32px, 5vw, 56px); font-weight: 800; line-height: 1.05;
  background: linear-gradient(135deg, hsl(193 100% 50%) 0%, hsl(328 100% 54%) 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent; }
.nc-evhero__sub { color: #a8b0c8; font-size: 17px; max-width: 640px; margin: 0 auto; }
.nc-evstats, .nc-evquick { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px 36px;
  padding: 18px 12px; margin: 8px 0 28px; border-top: 1px solid rgba(255,255,255,0.08);
  border-bottom: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.02); border-radius: 14px; }
.nc-evstats span, .nc-evquick span { display: inline-flex; align-items: center; gap: 8px; color: #a8b0c8; font-size: 14px; }

.nc-convgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 18px; }
.nc-convcard { position: relative; padding: 20px; border-radius: 18px; border: 1px solid rgba(255,255,255,0.09);
  background: linear-gradient(135deg, rgba(20,24,40,0.95) 0%, rgba(13,16,28,0.95) 100%); transition: transform .2s, border-color .2s, box-shadow .2s; }
.nc-convcard:hover { transform: translateY(-3px); border-color: rgba(0,224,255,0.35); box-shadow: 0 12px 34px rgba(0,224,255,0.12); }
.nc-convcard__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.nc-convcard__icon { font-size: 30px; line-height: 1; }
.nc-convcard__badge { padding: 4px 10px; border-radius: 999px; font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .04em; background: rgba(255,255,255,0.07); color: #a8b0c8; border: 1px solid rgba(255,255,255,0.12); }
.nc-convcard__badge.is-ok { background: rgba(34,197,94,0.12); color: #6ee7a8; border-color: rgba(34,197,94,0.35); }
.nc-convcard__name { margin: 0 0 10px; font-size: 20px; font-weight: 700; color: #f4f6ff; }
.nc-convcard__meta { display: flex; align-items: center; gap: 8px; margin: 4px 0; color: #a8b0c8; font-size: 14px; }
.nc-convcard__meta svg { width: 15px; height: 15px; color: #6fe6ff; flex: 0 0 auto; }
.nc-convcard__desc { margin: 10px 0 14px; color: #8f97ae; font-size: 14px; line-height: 1.5; }
.nc-convcard__link { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: #6fe6ff; text-decoration: none; }
.nc-convcard__link svg { width: 14px; height: 14px; }
.nc-convcard__link:hover { color: #ff5cc8; }

.nc-evcta { margin-top: 36px; padding: 28px; border-radius: 20px; text-align: center;
  border: 1px solid rgba(255,255,255,0.09); background: rgba(255,255,255,0.03); }
.nc-evcta p { color: #a8b0c8; margin: 8px 0 18px; }
.nc-evcta__btns { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }

.nc-evcats { margin-bottom: 36px; text-align: center; }
.nc-evcats__sub { color: #8f97ae; margin: 6px 0 22px; }
.nc-evcats__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
.nc-evcat { display: block; text-align: left; padding: 22px; border-radius: 18px; text-decoration: none;
  border: 1px solid rgba(255,255,255,0.09); background: linear-gradient(135deg, rgba(20,24,40,0.95), rgba(13,16,28,0.95));
  transition: transform .2s, border-color .2s; }
.nc-evcat:hover { transform: translateY(-3px); border-color: rgba(0,224,255,0.35); }
.nc-evcat__icon { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px;
  border-radius: 14px; background-image: var(--nc-evgrad); color: #fff; margin-bottom: 12px; }
.nc-evcat__icon svg { width: 22px; height: 22px; }
.nc-evcat h3 { margin: 0 0 4px; font-size: 19px; color: #f4f6ff; }
.nc-evcat p { margin: 0 0 12px; color: #8f97ae; font-size: 14px; }
.nc-evcat ul { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.nc-evcat li { padding: 4px 10px; border-radius: 999px; font-size: 12px; color: #a8b0c8;
  background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.09); }
.nc-evcat__go { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: #6fe6ff; }
.nc-evcat__go svg { width: 15px; height: 15px; }

.nc-evgaming { margin-bottom: 36px; }
.nc-evgaming h2 { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.nc-evgaming h2 svg { width: 22px; height: 22px; color: #34d399; }
.nc-evgaming__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.nc-evgame { padding: 18px; border-radius: 16px; border: 1px solid rgba(52,211,153,0.22); background: rgba(16,185,129,0.06); }
.nc-evgame h3 { margin: 0 0 8px; font-size: 17px; color: #f4f6ff; }
.nc-evgame__meta { display: flex; align-items: center; gap: 8px; margin: 3px 0; color: #a8b0c8; font-size: 13px; }
.nc-evgame__meta svg { width: 14px; height: 14px; color: #34d399; }
.nc-evgame__desc { margin-top: 10px; color: #8f97ae; font-size: 13px; }
.nc-evgaming__note { margin-top: 14px; color: #8f97ae; font-size: 14px; }

.nc-evnews { text-align: center; padding: 32px 24px; border-radius: 20px; margin-bottom: 26px;
  border: 1px solid rgba(255,92,200,0.25); background: linear-gradient(135deg, rgba(255,92,200,0.08), rgba(0,224,255,0.06)); }
.nc-evnews__icon { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px;
  border-radius: 50%; background: linear-gradient(135deg, hsl(328 100% 54%), hsl(280 100% 70%)); color: #fff; margin-bottom: 12px; }
.nc-evnews__icon svg { width: 24px; height: 24px; }
.nc-evnews p { color: #a8b0c8; max-width: 560px; margin: 8px auto 18px; }

/* Das sind wir */
.nc-abshots { margin-bottom: 32px; }
.nc-abshots__main { position: relative; border-radius: 20px; overflow: hidden; border: 2px solid rgba(255,92,200,0.35); }
.nc-abshots__main img { display: block; width: 100%; height: clamp(240px, 42vw, 420px); object-fit: cover; }
.nc-abshots__pin { position: absolute; left: 16px; bottom: 16px; display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 14px; border-radius: 999px; font-size: 13px; color: #f4f6ff;
  background: rgba(10,12,22,0.75); backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,0.15); }
.nc-abshots__pin svg { width: 15px; height: 15px; color: #ff5cc8; }
.nc-abshots__thumbs { display: flex; gap: 10px; margin-top: 12px; }
.nc-abshots__thumb { width: 84px; height: 56px; padding: 0; border-radius: 12px; overflow: hidden; cursor: pointer;
  background: none; border: 1px solid rgba(255,255,255,0.15); }
.nc-abshots__thumb.is-active { border-color: rgba(0,224,255,0.7); box-shadow: 0 0 0 2px rgba(0,224,255,0.25); }
.nc-abshots__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nc-abgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.nc-abcard { padding: 22px; border-radius: 20px; border: 1px solid rgba(255,255,255,0.09);
  background: linear-gradient(135deg, rgba(20,24,40,0.95), rgba(13,16,28,0.95)); }
.nc-abcard__head { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.nc-abcard__icon { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%;
  background: linear-gradient(135deg, hsl(328 100% 54%), hsl(280 100% 70%)); color: #fff; }
.nc-abcard__head h2 { margin: 0; font-size: 19px; }
.nc-abcard__head p { margin: 0; color: #8f97ae; font-size: 13px; }
.nc-abrow { display: flex; gap: 14px; padding: 14px; border-radius: 14px; margin-bottom: 12px;
  background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07); }
.nc-abrow > svg { width: 20px; height: 20px; color: #6fe6ff; flex: 0 0 auto; }
.nc-abrow h3 { margin: 0 0 6px; font-size: 15px; color: #f4f6ff; }
.nc-abrow p, .nc-abrow em { color: #a8b0c8; font-size: 14px; margin: 0; }
.nc-abrow em { display: block; margin-top: 8px; font-size: 12px; color: #79809a; }
.nc-abrow a { color: #a8b0c8; text-decoration: none; }
.nc-abrow a:hover { color: #6fe6ff; }
.nc-abhours { display: flex; justify-content: space-between; gap: 16px; margin: 4px 0 !important; }
.nc-abhours__off { color: #6b7189; }
.nc-abbtns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.nc-abbtns svg { width: 16px; height: 16px; }
.nc-abside { display: flex; flex-direction: column; gap: 16px; }
.nc-abmap { border-radius: 20px; overflow: hidden; border: 2px solid rgba(0,224,255,0.25); aspect-ratio: 16/10; }
.nc-abmap iframe { width: 100%; height: 100%; display: block; }
.nc-abtravel { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.nc-abtravel > div { text-align: center; padding: 16px; border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.03); }
.nc-abtravel svg { width: 26px; height: 26px; color: #6fe6ff; }
.nc-abtravel h3 { margin: 8px 0 4px; font-size: 14px; color: #f4f6ff; }
.nc-abtravel p { margin: 0; font-size: 12px; color: #8f97ae; }
.nc-abfeat { margin-top: 40px; text-align: center; }
.nc-abfeat__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; margin-top: 18px; }
.nc-abfeat__item { padding: 20px; border-radius: 16px; border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.03); }
.nc-abfeat__item svg { width: 24px; height: 24px; color: #ff5cc8; }
.nc-abfeat__item h3 { margin: 10px 0 4px; font-size: 15px; color: #f4f6ff; }
.nc-abfeat__item p { margin: 0; font-size: 13px; color: #8f97ae; }

@media (max-width: 860px) {
  .nc-abgrid { grid-template-columns: 1fr; }
}

/* ── v30: Sicherheitshinweise & Importeur als zwei getrennte Karten ── */
.nc-pdp-safety, .nc-pdp-importer { display: block; }
.nc-pdp-card__bar--warn { background: linear-gradient(180deg, hsl(38 100% 60%), hsl(0 84% 60%)); }
.nc-pdp-card__bar--imp  { background: linear-gradient(180deg, hsl(193 100% 50%), hsl(328 100% 54%)); }
.nc-pdp-card__h svg { width: 18px; height: 18px; margin-right: .5rem; vertical-align: -3px; }
.nc-pdp-safety__body { display: flex; flex-direction: column; gap: 1rem; }
.nc-pdp-safety .nc-safety__p { margin: 0; line-height: 1.6; }
.nc-pdp-safety .nc-safety__age { margin: 0; font-weight: 600; color: hsl(38 100% 65%); }
.nc-pdp-safety .nc-safety__sec { margin: 0; padding-top: 1rem; border-top: 1px solid hsl(0 0% 100% / .08); }
.nc-pdp-safety .nc-safety__h { display: flex; align-items: center; gap: .5rem; margin: 0 0 .5rem; font-size: 1rem; }
.nc-pdp-safety .nc-safety__h svg { width: 17px; height: 17px; }
.nc-pdp-safety .nc-safety__note { margin: 0 0 .6rem; font-size: .85rem; opacity: .75; }
.nc-pdp-safety .nc-safety__docs { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .8rem; }
.nc-pdp-safety .nc-safety__doc { display: inline-flex; align-items: center; gap: .5rem; padding: .5rem .75rem;
  border: 1px solid hsl(0 0% 100% / .12); border-radius: 10px; background: hsl(0 0% 100% / .04); font-size: .85rem; }
.nc-pdp-safety .nc-safety__doc:hover { border-color: hsl(193 100% 50% / .5); }
.nc-pdp-safety .nc-safety__doc svg { width: 15px; height: 15px; }
.nc-safety__dl { display: inline-flex; align-items: center; gap: .55rem; padding: .65rem 1rem; border-radius: 12px;
  border: 1px solid hsl(193 100% 50% / .35); background: hsl(193 100% 50% / .1); color: inherit; cursor: pointer;
  font-weight: 600; font-size: .9rem; }
.nc-safety__dl:hover { background: hsl(193 100% 50% / .18); border-color: hsl(193 100% 50% / .6); }
.nc-safety__dl svg { width: 16px; height: 16px; }
.nc-safety__ext-grid { display: flex; flex-wrap: wrap; gap: .4rem; }
.nc-safety__ext-item { padding: .35rem .6rem; border-radius: 8px; border: 1px solid hsl(0 0% 100% / .12); font-size: .8rem; }
.nc-pdp-importer { border-color: hsl(193 100% 50% / .25) !important; background: hsl(193 100% 50% / .05); }
.nc-pdp-importer__sub { margin: -.25rem 0 .75rem; font-size: .82rem; opacity: .7; }
.nc-pdp-importer .nc-safety__imp p { margin: 0 0 .15rem; line-height: 1.55; }
.nc-pdp-importer .nc-safety__imp p b { font-size: 1.02rem; }

/* ── v31: Meine Daten / Passwort ändern ───────────────────── */
.nc-acctdata + .nc-acctpw { margin-top: 1.25rem; }
.nc-acctcard__sub { display:block; font-size:.82rem; opacity:.7; margin-top:.2rem; }
.nc-acctcard__head h2 svg { width:18px; height:18px; }
.nc-acctdata__grid { display:grid; gap:1rem; }
.nc-acctdata__row { display:flex; align-items:flex-start; gap:.75rem; }
.nc-acctdata__row svg { width:18px; height:18px; margin-top:.15rem; flex:0 0 auto; color: hsl(var(--nc-primary, 187 96% 52%)); }
.nc-acctdata__label { margin:0; font-weight:600; font-size:.95rem; }
.nc-acctdata__val { margin:.1rem 0 0; font-size:.85rem; opacity:.72; word-break:break-word; }
.nc-acctdata__edit { display:flex; justify-content:center; margin-top:1.5rem; width:100%; }
.nc-acctform { display:grid; gap:1rem; }
.nc-acctform__f { display:grid; gap:.4rem; margin:0; }
.nc-acctform__f label { font-size:.85rem; font-weight:500; opacity:.9; }
.nc-acctform__f input {
  width:100%; height:44px; padding:0 .85rem; border-radius:.6rem;
  background: rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12);
  color:inherit; font-size:.92rem;
}
.nc-acctform__f input:focus { outline:none; border-color: rgba(34,211,238,.55); box-shadow:0 0 0 3px rgba(34,211,238,.12); }
.nc-acctform__hint { margin:0; font-size:.8rem; opacity:.65; }
.nc-acctform__actions { display:flex; gap:.75rem; flex-wrap:wrap; }
.nc-acctform__actions .nc-btn { flex:1 1 160px; justify-content:center; }

/* ── v31: Community-Seite (Community.tsx) ─────────────────── */
.nc-community { max-width: 1024px; margin: 0 auto; padding: 2.5rem 1rem 4rem; }
.nc-community__head { text-align: center; margin-bottom: 2.5rem; }
.nc-community__eyebrow { display:inline-flex; align-items:center; gap:.5rem; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; opacity:.65; margin-bottom:.75rem; }
.nc-community__eyebrow svg { width:16px; height:16px; }
.nc-community__title { font-size: clamp(1.9rem, 4vw, 3rem); font-weight: 800; margin: 0; }
.nc-community__sub { max-width: 42rem; margin: 1rem auto 0; font-size: .95rem; opacity: .7; }
.nc-community__grid { display: grid; gap: 1rem; }
@media (min-width: 640px) { .nc-community__grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.nc-commcard {
  display:flex; flex-direction:column; gap:.75rem; padding:1.4rem;
  border:1px solid rgba(255,255,255,.12); border-radius:1rem;
  background: rgba(255,255,255,.03); text-decoration:none; color:inherit;
  transition: border-color .2s, background .2s, transform .2s;
}
.nc-commcard:hover { border-color: rgba(34,211,238,.45); background: rgba(255,255,255,.06); transform: translateY(-2px); }
.nc-commcard__top { display:flex; align-items:center; gap:.75rem; }
.nc-commcard__ic { width:44px; height:44px; border-radius:999px; background: rgba(255,255,255,.07); display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.nc-commcard__ic svg { width:20px; height:20px; }
.nc-commcard__name { margin:0; font-size:1.05rem; font-weight:600; }
.nc-commcard__desc { margin:0; font-size:.88rem; opacity:.7; line-height:1.55; }
.nc-commcard__cta { margin-top:auto; font-size:.88rem; font-weight:500; }
.nc-commcard:hover .nc-commcard__cta { color: hsl(187 96% 60%); }
.nc-community__foot { text-align:center; margin-top:2.5rem; font-size:.78rem; opacity:.55; }

/* ── v32: Eventkalender ───────────────────────────────── */
.nc-evcal { max-width:1600px; margin:0 auto 4rem; padding:0 1rem; }
.nc-evcal__head { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:1.5rem; }
.nc-evcal__head h2 { font-size:clamp(1.5rem,3vw,2.1rem); font-weight:700; margin:.6rem 0 .3rem; }
.nc-evcal__head p { opacity:.65; font-size:.92rem; margin:0; }
/* v104: Details + naechste Events stehen UNTER dem Kalender, volle Breite. */
.nc-evcal__grid { display:grid; grid-template-columns:minmax(0,1fr); gap:1.25rem; align-items:start; }

.nc-evcal__cal { border:1px solid hsl(210 20% 100% / .10); border-radius:1rem; background:hsl(222 30% 10% / .6); overflow:hidden; }
.nc-evcal__bar { display:flex; align-items:center; justify-content:space-between; padding:.75rem 1rem; border-bottom:1px solid hsl(210 20% 100% / .08); }
.nc-evcal__barr { display:inline-flex; gap:.25rem; align-items:center; }
.nc-evcal__month { font-weight:700; }
.nc-evcal__nav, .nc-evcal__today { background:transparent; border:1px solid hsl(210 20% 100% / .12); color:inherit; border-radius:.6rem; padding:.35rem .6rem; cursor:pointer; display:inline-flex; align-items:center; }
.nc-evcal__nav:hover, .nc-evcal__today:hover { background:hsl(210 20% 100% / .08); }
.nc-evcal__nav svg { width:18px; height:18px; }
.nc-evcal__week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); background:hsl(210 20% 100% / .04); }
.nc-evcal__week span { text-align:center; padding:.45rem 0; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; opacity:.6; min-width:0; }
.nc-evcal__days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:3px; padding:3px; background:hsl(222 30% 10% / .55); }
.nc-evcal__day { min-height:92px; min-width:0; text-align:left; padding:.55rem; background:hsl(222 28% 12% / .55); color:inherit; border:1px solid hsl(210 20% 100% / .18); border-radius:.5rem; cursor:pointer; display:flex; flex-direction:column; gap:.35rem; }

.nc-evcal__day:hover { background:hsl(210 20% 100% / .07); }
.nc-evcal__day.is-out { opacity:.35; }
.nc-evcal__day.is-sel { box-shadow:inset 0 0 0 2px hsl(187 96% 60% / .85); background:hsl(187 96% 60% / .08); }
.nc-evcal__num { font-size:.75rem; font-weight:600; width:1.5rem; height:1.5rem; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; margin-bottom:.15rem; }
.nc-evcal__day.is-today .nc-evcal__num { background:hsl(187 96% 45%); color:#04141a; }
.nc-evcal__chip { display:block; font-size:.62rem; padding:.12rem .35rem; border-radius:.35rem; border:1px solid color-mix(in srgb, var(--c) 45%, transparent); background:color-mix(in srgb, var(--c) 18%, transparent); color:var(--c); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:.1rem; }
.nc-evcal__more { font-size:.6rem; opacity:.6; }
.nc-evcal__legend { display:flex; flex-wrap:wrap; gap:.75rem; padding:.85rem 1rem; border-top:1px solid hsl(210 20% 100% / .08); background:hsl(210 20% 100% / .03); }
.nc-evcal__legend span { display:inline-flex; align-items:center; gap:.4rem; font-size:.75rem; opacity:.75; }
.nc-evcal__legend i { width:.7rem; height:.7rem; border-radius:.25rem; display:inline-block; }
.nc-evcal__side { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; align-items:start; }
.nc-evcal__card { border:1px solid hsl(210 20% 100% / .10); border-radius:1rem; background:hsl(222 30% 10% / .6); padding:1rem; }
.nc-evcal__kicker { display:block; font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; opacity:.55; }
.nc-evcal__card > strong { display:block; margin-top:.25rem; font-size:.95rem; }
.nc-evcal__daylist { margin-top:.85rem; display:flex; flex-direction:column; gap:.6rem; }
.nc-evcal__item { display:flex; gap:.7rem; border:1px solid hsl(210 20% 100% / .1); border-left:3px solid var(--c); border-radius:.75rem; padding:.6rem; }
.nc-evcal__item img { width:56px; height:56px; object-fit:cover; border-radius:.5rem; }
.nc-evcal__item strong { display:block; font-size:.85rem; }
.nc-evcal__meta { display:block; font-size:.7rem; opacity:.6; }
.nc-evcal__item p { margin:.35rem 0 0; font-size:.74rem; opacity:.7; }
.nc-evcal__empty { font-size:.82rem; opacity:.6; margin:.6rem 0 0; }
.nc-evcal__upcoming { margin-top:.75rem; display:flex; flex-direction:column; gap:.4rem; }
.nc-evcal__up { display:flex; align-items:center; gap:.6rem; width:100%; text-align:left; background:transparent; color:inherit; border:1px solid hsl(210 20% 100% / .08); border-radius:.6rem; padding:.5rem; cursor:pointer; }
.nc-evcal__up:hover { background:hsl(210 20% 100% / .06); }
.nc-evcal__updot { width:.6rem; height:.6rem; border-radius:999px; background:var(--c); flex:0 0 auto; }
.nc-evcal__up strong { display:block; font-size:.82rem; }
.nc-evcal__up em { font-style:normal; font-size:.68rem; opacity:.6; }
@media (max-width:1024px) { .nc-evcal__day { min-height:74px; } }
@media (max-width:720px) { .nc-evcal__side { grid-template-columns:minmax(0,1fr); } }
@media (max-width:560px) { .nc-evcal__day { min-height:60px; } .nc-evcal__chip { display:none; } .nc-evcal__day.is-sel { box-shadow:inset 0 0 0 2px hsl(187 96% 60% / .6); } }


/* v32b: Button-Resets im Kalender (globale Skin-Buttons neutralisieren) */
.nc-evcal button, .nc-evcal .nc-evcal__day, .nc-evcal .nc-evcal__up,
.nc-evcal .nc-evcal__nav, .nc-evcal .nc-evcal__today {
  background-image:none !important; box-shadow:none !important; text-transform:none !important;
  font-weight:inherit; letter-spacing:normal; min-height:0 !important; color:inherit !important;
}
.nc-evcal .nc-evcal__days { gap:3px !important; padding:3px !important; background:hsl(222 30% 10% / .55) !important; }
.nc-evcal .nc-evcal__day { border-radius:.5rem !important; padding:.55rem !important; border:1px solid hsl(210 20% 100% / .18) !important; background:hsl(222 28% 12% / .55) !important; align-items:flex-start !important; }
.nc-evcal .nc-evcal__day:hover { background-color:hsl(210 20% 100% / .07) !important; }
.nc-evcal .nc-evcal__day.is-sel { box-shadow:inset 0 0 0 2px hsl(187 96% 60% / .85) !important; background:hsl(187 96% 60% / .08) !important; }
.nc-evcal .nc-evcal__day.is-today .nc-evcal__num { background:hsl(187 96% 45%) !important; color:#04141a !important; }
.nc-evcal .nc-evcal__nav, .nc-evcal .nc-evcal__today { border-radius:.6rem !important; padding:.35rem .6rem !important; border:1px solid hsl(210 20% 100% / .14) !important; }
.nc-evcal .nc-evcal__nav:hover, .nc-evcal .nc-evcal__today:hover { background-color:hsl(210 20% 100% / .08) !important; }
.nc-evcal .nc-evcal__up { border-radius:.6rem !important; padding:.5rem !important; border:1px solid hsl(210 20% 100% / .1) !important; }
.nc-evcal .nc-evcal__up:hover { background-color:hsl(210 20% 100% / .06) !important; }
.nc-evcal .nc-evcal__updot { background:var(--c) !important; }
.nc-evcal .nc-evcal__chip { background-color:color-mix(in srgb, var(--c) 18%, transparent) !important; color:var(--c) !important; margin-top:.1rem !important; }
.nc-evcal .nc-evcal__num { margin-bottom:.15rem !important; }
.nc-evcal .nc-evcal__day { min-height:92px !important; }
@media (max-width:1024px){ .nc-evcal .nc-evcal__day { min-height:74px !important; } }
@media (max-width:560px){ .nc-evcal .nc-evcal__day { min-height:60px !important; } }
/* v104: volle Breite, Detailkarten unter dem Kalender, exakt gleiche Spalten */
.nc-evcal { max-width:1600px !important; }
.nc-evpage { max-width:1400px !important; }

.nc-evcal .nc-evcal__grid { grid-template-columns:minmax(0,1fr) !important; }
.nc-evcal .nc-evcal__side { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:1rem !important; }
.nc-evcal .nc-evcal__week { grid-template-columns:repeat(7,minmax(0,1fr)) !important; }
.nc-evcal .nc-evcal__days { grid-template-columns:repeat(7,minmax(0,1fr)) !important; }
.nc-evcal .nc-evcal__day { min-width:0 !important; }
@media (max-width:720px){ .nc-evcal .nc-evcal__side { grid-template-columns:minmax(0,1fr) !important; } }

/* v33 – Newsletter-Frequenz & Präferenz-Seite */
.nc-news__form select{height:46px;border-radius:12px;border:1px solid rgba(148,163,184,.28);background:rgba(15,23,42,.75);color:#e5e7eb;padding:0 12px;font-size:14px;}
.nc-newspref{max-width:520px;margin:0 auto;padding:26px;border-radius:18px;border:1px solid rgba(148,163,184,.18);background:rgba(15,23,42,.65);}
.nc-newspref__title{margin:0 0 4px;font-size:22px;color:#f3f4f6;}
.nc-newspref__mail{margin:0 0 18px;color:#9ca3af;font-size:14px;}
.nc-newspref__label{display:block;margin:0 0 8px;color:#cbd5e1;font-size:14px;}
.nc-newspref__form select{width:100%;height:46px;border-radius:12px;border:1px solid rgba(148,163,184,.28);background:rgba(2,6,23,.7);color:#e5e7eb;padding:0 12px;}
.nc-newspref__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.nc-newspref__unsub{background:transparent !important;border:1px solid rgba(148,163,184,.32) !important;color:#9ca3af !important;}
/* v34 – Event-Dialog (Frontend-Anlage wie im Original) */
body.nc-evdlg-open{overflow:hidden;}
.nc-evdlg{position:fixed;inset:0;z-index:99999;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.nc-evdlg[hidden]{display:none;}
.nc-evdlg__ov{position:absolute;inset:0;background:rgba(2,6,23,.72);backdrop-filter:blur(6px);}
.nc-evdlg__box{position:relative;width:min(560px,100%);max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch;margin:auto 0;padding:24px;border-radius:20px;border:1px solid rgba(148,163,184,.22);background:rgba(15,23,42,.98);box-shadow:0 30px 80px rgba(0,0,0,.55);}
.nc-evdlg__box h3{margin:0 0 16px;font-size:20px;color:#f3f4f6;}
.nc-evdlg__box label{display:block;margin:0 0 12px;color:#cbd5e1;font-size:13px;}
.nc-evdlg__box input,.nc-evdlg__box select,.nc-evdlg__box textarea{width:100%;margin-top:6px;padding:10px 12px;border-radius:12px;border:1px solid rgba(148,163,184,.28);background:rgba(2,6,23,.7);color:#e5e7eb;font-size:14px;font-family:inherit;}
.nc-evdlg__box textarea{resize:vertical;}
.nc-evdlg__row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.nc-evdlg__err{margin:0 0 10px;color:#fca5a5;font-size:13px;}
.nc-evdlg__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px;}
.nc-evdlg__cancel{background:transparent !important;border:1px solid rgba(148,163,184,.32) !important;color:#9ca3af !important;}
.nc-evcal__adm{display:flex;gap:8px;margin-top:10px;}
.nc-evcal__adm button{padding:5px 12px;border-radius:999px;border:1px solid rgba(148,163,184,.3);background:transparent;color:#9ca3af;font-size:12px;cursor:pointer;}
.nc-evcal__adm button:hover{color:#22d3ee;border-color:rgba(34,211,238,.5);}
@media (max-width:560px){.nc-evdlg__row{grid-template-columns:1fr;}}
.nc-evdlg__box select option{background:#0f172a;color:#e5e7eb;}

/* ══ v35: Kasse – Struktur, kompakte Felder, Zahlungsliste ══ */

/* Expliziter Aussenrahmen um die gesamte Kasse. */
body.nc-skin.nc-co35 .col-full {
  box-sizing: border-box;
  width: calc(100% - 48px) !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}
body.nc-skin.nc-co35 #primary,
body.nc-skin.nc-co35 .site-main,
body.nc-skin.nc-co35 .entry-content,
body.nc-skin.nc-co35 .entry-content > .woocommerce {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Alte, tote Kasse-Regeln neutralisieren (col2-set existiert nicht mehr) */
body.nc-co35 .col2-set .col-1,
body.nc-co35 .col2-set .col-2 { float: none !important; width: 100% !important; }

/* Zwei Spalten, beide oben buendig */
body.nc-co35 form.checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
  gap: clamp(1rem, 2.4vw, 2rem);
  align-items: start !important;
}
body.nc-co35 form.checkout > #customer_details { grid-column: 1; grid-row: 1 / span 4; }
body.nc-co35 form.checkout > #order_review_heading { grid-column: 2; grid-row: 1; margin: 0 0 .75rem !important; padding: 0 !important; }
body.nc-co35 form.checkout > #order_review { grid-column: 2; grid-row: 2; margin: 0 !important; }
body.nc-co35 form.checkout > * { min-width: 0; }

/* Kompakte Rechnungs-/Versandfelder */
body.nc-co35 .woocommerce-billing-fields__field-wrapper,
body.nc-co35 .woocommerce-shipping-fields__field-wrapper {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem .7rem;
}
body.nc-co35 .form-row { margin: 0 !important; padding: 0 !important; }
body.nc-co35 .form-row label { margin: 0 0 .2rem !important; font-size: .78rem; line-height: 1.25; }
body.nc-skin.nc-co35.woocommerce-checkout .input-text,
body.nc-skin.nc-co35.woocommerce-checkout select,
body.nc-skin.nc-co35.woocommerce-checkout .select2-selection {
  min-height: 38px !important; height: 38px !important;
  padding: .3rem .6rem !important; font-size: .88rem !important; line-height: 1.2 !important;
}
body.nc-skin.nc-co35.woocommerce-checkout .select2-selection__rendered { line-height: 30px !important; padding-left: 0 !important; }
body.nc-skin.nc-co35.woocommerce-checkout .select2-selection__arrow { height: 36px !important; }
body.nc-skin.nc-co35.woocommerce-checkout textarea.input-text { height: auto !important; min-height: 76px !important; }
body.nc-co35 .woocommerce-billing-fields h3,
body.nc-co35 .woocommerce-additional-fields h3 { margin: 0 0 .7rem !important; font-size: 1.05rem; }
body.nc-co35 .woocommerce-billing-fields,
body.nc-co35 .woocommerce-shipping-fields,
body.nc-co35 .woocommerce-additional-fields,
body.nc-co35 #order_review { padding: clamp(.85rem, 1.6vw, 1.15rem) !important; }
body.nc-co35 #customer_details .col-2 { margin-top: .8rem; }

/* Lieferadresse: einklappbar mit vorausgewaehlter Checkbox */
body.nc-co35 #ship-to-different-address { display: none !important; }
body.nc-co35 .nc-co35-same {
  display: flex; align-items: center; gap: .6rem; margin: 0 0 .2rem;
  font-size: .88rem; font-weight: 600; cursor: pointer; color: hsl(var(--foreground));
}
body.nc-co35 .nc-co35-same input { width: 1.05rem; height: 1.05rem; accent-color: hsl(var(--primary)); }
body.nc-co35 .shipping_address { margin-top: .8rem; }

/* Versandart als Dropdown */
body.nc-co35 select.nc-co35-ship { width: 100% !important; margin: .35rem 0 0; }
body.nc-co35 tr.shipping td { padding-top: .5rem !important; }

/* Zahlungsart: Ueberschrift direkt ueber der Liste, kein Leerraum */
body.nc-co35 #payment { margin-top: 1rem !important; padding: 0 !important; }
body.nc-co35 #payment > h3,
body.nc-co35 .woocommerce-checkout-payment > h3 { margin: 0 0 .6rem !important; padding: 0 !important; font-size: 1.05rem; }
body.nc-co35 #payment > *:empty,
body.nc-co35 #payment .ppcp-messages,
body.nc-co35 #payment .woocommerce-SavedPaymentMethods:empty { display: none !important; margin: 0 !important; }
body.nc-co35 ul.wc_payment_methods {
  display: grid !important; gap: .5rem; margin: 0 !important; padding: 0 !important;
  border: 0 !important; background: transparent !important;
}
body.nc-co35 ul.wc_payment_methods li.wc_payment_method > label {
  min-height: 0 !important; padding: .7rem 1rem .7rem 2.6rem !important; font-size: .93rem;
}
body.nc-co35 ul.wc_payment_methods li.wc_payment_method > input[type="radio"] { top: .78rem !important; }
body.nc-co35 #payment .place-order { padding: 1rem 0 0 !important; }

/* v36: EIN gesammelter Vorbestellungs-Hinweis bei der AGB-Checkbox */
body.nc-co35 .nc-preorder--summary {
  display: block; width: 100%; box-sizing: border-box;
  margin: 0 0 .9rem; padding: .8rem .9rem; border-radius: .7rem;
  border: 1px solid hsl(214 100% 60% / .38); background: hsl(214 100% 60% / .07);
}
body.nc-co35 .nc-preorder--summary .nc-preorder__head { display: flex; align-items: flex-start; gap: .55rem; }
body.nc-co35 .nc-preorder--summary .nc-preorder__title { font-size: .88rem; margin: 0 0 .15rem; }
body.nc-co35 .nc-preorder--summary .nc-preorder__text { font-size: .8rem; line-height: 1.45; margin: 0; }
body.nc-co35 .nc-preorder--summary .nc-preorder__check {
  display: flex; align-items: flex-start; gap: .5rem;
  margin: .6rem 0 0; font-size: .8rem; cursor: pointer;
}
body.nc-co35 .nc-preorder--summary .nc-preorder__check input {
  flex: 0 0 auto; margin-top: .12rem; accent-color: hsl(var(--primary));
  width: 1rem !important; height: 1rem !important; min-height: 0 !important; padding: 0 !important;
}
body.nc-co35 #place_order.nc-disabled,
body.nc-co35 #place_order[disabled] { opacity: .5; cursor: not-allowed; filter: grayscale(.3); }


@media (max-width: 900px) {
  body.nc-co35 form.checkout { grid-template-columns: minmax(0, 1fr); }
  body.nc-co35 form.checkout > #customer_details,
  body.nc-co35 form.checkout > #order_review_heading,
  body.nc-co35 form.checkout > #order_review { grid-column: 1; grid-row: auto; }
}
@media (max-width: 600px) {
  body.nc-co35 .woocommerce-billing-fields__field-wrapper,
  body.nc-co35 .woocommerce-shipping-fields__field-wrapper { grid-template-columns: minmax(0, 1fr); }
  body.nc-skin.nc-co35.woocommerce-checkout .input-text,
  body.nc-skin.nc-co35.woocommerce-checkout select { min-height: 42px !important; height: 42px !important; font-size: 16px !important; }
}
/* v35: eingeklappte Lieferadresse ohne leere Restfläche */
body.nc-co35 .woocommerce-shipping-fields { padding: .7rem .9rem !important; }
body.nc-co35 .woocommerce-shipping-fields > h3 { display: none !important; }
body.nc-co35 .woocommerce-shipping-fields .shipping_address:not([style*="block"]) { display: none !important; }
body.nc-co35 .woocommerce-shipping-fields__field-wrapper:empty { display: none !important; }
/* v35: Vorbestellungs-Box mobil lesbar halten */
  flex: 0 0 auto; width: 1rem !important; height: 1rem !important; min-height: 0 !important; padding: 0 !important;
}
@media (max-width: 700px) {
  body.nc-skin.nc-co35 .col-full {
    width: calc(100% - 32px) !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  body.nc-skin.nc-co35.woocommerce-checkout .woocommerce-checkout-review-order-table { table-layout: auto !important; }
  body.nc-co35 .woocommerce-checkout-review-order-table tr.cart_item { display: block; width: 100%; }
  body.nc-co35 .woocommerce-checkout-review-order-table tr.cart_item > td { display: block; width: 100% !important; text-align: left !important; }
  body.nc-co35 .woocommerce-checkout-review-order-table tr.cart_item > td.product-total { text-align: right !important; padding-top: 0 !important; }
}
@media (max-width: 700px) {
  body.nc-co35 .entry-content { padding-left: 0 !important; padding-right: 0 !important; }
  body.nc-co35 .woocommerce-checkout-review-order-table tr.cart_item,
  body.nc-co35 .woocommerce-checkout-review-order-table { width: 100% !important; }
}
@media (max-width: 700px) {
  body.nc-co35 .woocommerce-checkout-review-order-table,
  body.nc-co35 .woocommerce-checkout-review-order-table thead,
  body.nc-co35 .woocommerce-checkout-review-order-table tbody,
  body.nc-co35 .woocommerce-checkout-review-order-table tfoot,
  body.nc-co35 .woocommerce-checkout-review-order-table tfoot tr,
  body.nc-co35 .woocommerce-checkout-review-order-table thead tr { display: block !important; width: 100% !important; }
  body.nc-co35 .woocommerce-checkout-review-order-table thead tr,
  body.nc-co35 .woocommerce-checkout-review-order-table tfoot tr { display: flex !important; justify-content: space-between; gap: .6rem; }
  body.nc-co35 .woocommerce-checkout-review-order-table thead th,
  body.nc-co35 .woocommerce-checkout-review-order-table tfoot th,
  body.nc-co35 .woocommerce-checkout-review-order-table tfoot td { display: block !important; }
}
/* v35: Checkboxen im Checkout einheitlich klein halten */
body.nc-co35 form.checkout input[type="checkbox"],
body.nc-co35 #payment input[type="checkbox"] {
  width: 1rem !important; height: 1rem !important; min-height: 0 !important; min-width: 0 !important;
  flex: 0 0 auto; padding: 0 !important; accent-color: hsl(var(--primary)); vertical-align: middle;
}

/* ── Conventions Inline-Admin ─────────────────────────────── */
.nc-convadmin{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 18px;padding:16px 18px;border-radius:18px;border:1px dashed rgba(0,224,255,.35);background:rgba(0,224,255,.05);}
.nc-convadmin__hint{margin:8px 0 0;color:#a8b0c8;font-size:13px;}
.nc-convcard__badgewrap{display:inline-flex;align-items:center;gap:6px;}
.nc-convcard .nc-convcard__act{width:28px;height:28px;min-width:0;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;border:1px solid rgba(148,163,184,.28)!important;background:rgba(2,6,23,.6)!important;background-image:none!important;color:#cbd5e1!important;font-size:13px;line-height:1;box-shadow:none!important;cursor:pointer;transition:.18s;}
.nc-convcard .nc-convcard__act:hover{border-color:rgba(0,224,255,.45);color:#6fe6ff;}
.nc-convcard .nc-convcard__act.is-del:hover{border-color:rgba(248,113,113,.5);color:#f87171;}

/* v36: Vorbestellungs-Sammelhinweis – Checkbox-Zeile sicher ausrichten */
body.nc-co35 .place-order .nc-preorder--summary .nc-preorder__check {
  display: flex !important; align-items: flex-start; gap: .5rem; margin: .7rem 0 0 !important;
}
body.nc-co35 .place-order .nc-preorder--summary .nc-preorder__check input[type="checkbox"] {
  flex: 0 0 auto; margin: .15rem 0 0 !important; width: 1rem !important; height: 1rem !important;
}

/* ══ v37: Bestellungen – dezente Buttons + Widerrufs-Dialog ══ */
/* Alle Aktionen in der Bestelluebersicht dezent (wie "Rechnung herunterladen") */
html body.nc-skin .woocommerce-MyAccount-content td.woocommerce-orders-table__cell-order-actions a.button,
html body.nc-skin .woocommerce-MyAccount-content td.woocommerce-orders-table__cell-order-actions a.button.view,
html body.nc-skin .woocommerce-MyAccount-content td.woocommerce-orders-table__cell-order-actions a.button.pay,
html body.nc-skin .woocommerce-MyAccount-content a.woocommerce-button.button.view,
html body.nc-skin .woocommerce-MyAccount-content a.woocommerce-button.button.pay {
  background: hsl(var(--muted) / .35) !important;
  background-image: none !important;
  color: hsl(var(--foreground)) !important;
  border: 1px solid hsl(var(--border) / .8) !important;
  box-shadow: none !important;
}
html body.nc-skin .woocommerce-MyAccount-content td.woocommerce-orders-table__cell-order-actions a.button:hover,
html body.nc-skin .woocommerce-MyAccount-content a.woocommerce-button.button.view:hover,
html body.nc-skin .woocommerce-MyAccount-content a.woocommerce-button.button.pay:hover {
  background: hsl(var(--muted) / .6) !important;
  border-color: hsl(var(--primary) / .5) !important;
  color: hsl(var(--foreground)) !important;
}
/* Widerrufen-Button: deaktiviert nach Fristablauf */
html body.nc-skin a.nc-wd-btn--off,
html body.nc-skin a.nc-wd-btn--off:hover {
  opacity: .45 !important;
  cursor: not-allowed !important;
  pointer-events: auto;
  color: hsl(var(--muted-foreground)) !important;
  border-color: hsl(var(--border) / .5) !important;
  background: transparent !important;
}
/* Dialog */
body.nc-skin .nc-wd__box { max-width: 520px; width: 100%; }
body.nc-skin .nc-wd__title { margin: 0 0 .25rem; font-size: 1.15rem; font-weight: 800; color: hsl(var(--foreground)); }
body.nc-skin .nc-wd__sub { margin: 0 0 .9rem; font-size: .9rem; color: hsl(var(--muted-foreground)); }
body.nc-skin .nc-wd__list { display: grid; gap: .5rem; margin-bottom: .9rem; }
body.nc-skin .nc-wd__item {
  display: flex; align-items: flex-start; gap: .6rem; padding: .65rem .75rem;
  border: 1px solid hsl(var(--border) / .7); border-radius: calc(var(--radius) - 2px);
  background: hsl(var(--card) / .6); font-size: .9rem; color: hsl(var(--foreground)); cursor: pointer;
}
body.nc-skin .nc-wd__item:hover { border-color: hsl(var(--primary) / .5); }
body.nc-skin .nc-wd__item input { margin-top: .2rem; accent-color: hsl(var(--primary)); width: 16px; height: 16px; }
body.nc-skin .nc-wd__item em { font-style: normal; color: hsl(var(--muted-foreground)); }
body.nc-skin .nc-wd__reasonlbl { display: block; font-size: .85rem; color: hsl(var(--muted-foreground)); margin-bottom: .9rem; }
body.nc-skin .nc-wd__reason {
  width: 100%; margin-top: .35rem; background: hsl(var(--input) / .6); color: hsl(var(--foreground));
  border: 1px solid hsl(var(--border) / .8); border-radius: calc(var(--radius) - 2px); padding: .55rem .7rem;
}
body.nc-skin .nc-wd__msg { font-size: .85rem; color: hsl(var(--primary)); margin: 0 0 .6rem; }
body.nc-skin .nc-wd__actions { display: flex; justify-content: flex-end; gap: .6rem; }

/* v39 – Bestellungen: dezente Cyan/Violett-Ring-Optik wie Header-Warenkorb-Button */
html body.nc-skin .woocommerce-orders-table__cell-order-actions a.button:not(#place_order),
html body.nc-skin .woocommerce-orders-table__cell-order-actions a.woocommerce-button:not(#place_order),
html body.nc-skin .woocommerce-orders-table__cell-order-actions a.view:not(#place_order),
html body.nc-skin .woocommerce-orders-table__cell-order-actions a.pay:not(#place_order),
html body.nc-skin .woocommerce-orders-table__cell-order-actions a.nc-wd-btn:not(#place_order),
html body.nc-skin .woocommerce-MyAccount-content .woocommerce-orders-table a.button:not(#place_order) {
  border: 1px solid transparent !important;
  border-radius: 9999px !important;
  background-color: transparent !important;
  background-image:
    linear-gradient(hsl(230 30% 12% / 0.55), hsl(230 30% 12% / 0.55)),
    linear-gradient(135deg, hsl(193 100% 50% / 0.75) 0%, hsl(280 100% 70% / 0.75) 100%) !important;
  background-origin: border-box !important;
  background-clip: padding-box, border-box !important;
  color: hsl(var(--foreground) / 0.92) !important;
  box-shadow: 0 0 10px hsl(280 100% 70% / 0.18) !important;
  text-shadow: none !important;
  opacity: 0.92;
}
html body.nc-skin .woocommerce-orders-table__cell-order-actions a.button:not(#place_order):hover,
html body.nc-skin .woocommerce-orders-table__cell-order-actions a.woocommerce-button:not(#place_order):hover,
html body.nc-skin .woocommerce-orders-table__cell-order-actions a.view:not(#place_order):hover,
html body.nc-skin .woocommerce-orders-table__cell-order-actions a.pay:not(#place_order):hover,
html body.nc-skin .woocommerce-orders-table__cell-order-actions a.nc-wd-btn:not(#place_order):hover {
  background-image:
    linear-gradient(hsl(230 30% 14% / 0.7), hsl(230 30% 14% / 0.7)),
    linear-gradient(135deg, hsl(193 100% 50%) 0%, hsl(280 100% 70%) 100%) !important;
  box-shadow: 0 0 16px hsl(193 100% 50% / 0.3) !important;
  color: hsl(var(--foreground)) !important;
  opacity: 1;
}
/* Abgelaufener Widerrufs-Button bleibt klar deaktiviert */
html body.nc-skin .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions a.nc-wd-btn.nc-wd-btn--off:not(#place_order),
html body.nc-skin .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions span.nc-wd-btn.nc-wd-btn--off:not(#place_order),
html body.nc-skin .woocommerce-orders-table__cell-order-actions a.nc-wd-btn--off:not(#place_order) {
  background-image: none !important;
  background-color: hsl(var(--muted) / 0.25) !important;
  border: 1px solid hsl(var(--border) / 0.6) !important;
  color: hsl(var(--muted-foreground) / 0.7) !important;
  box-shadow: none !important;
  opacity: 0.6;
}

/* ── v40: Admin "Produkt hinzufügen" auf Kategorie-Seiten ───────── */
.nc-paadmin { margin: 0 0 20px; }
.nc-padlg .nc-evdlg__box { max-width: 640px; }
.nc-padlg__heo {
  display: flex; gap: 12px; align-items: flex-end; flex-wrap: wrap;
  padding: 12px; margin-bottom: 14px; border-radius: 14px;
  border: 1px solid hsl(193 100% 50% / .28); background: hsl(222 47% 9% / .6);
}
.nc-padlg__heo label { flex: 1 1 240px; margin: 0; }
.nc-padlg__note {
  margin: -6px 0 12px; font-size: .86rem; color: hsl(193 100% 72%);
}
.nc-panew {
  position: relative; border: 1px solid hsl(193 100% 50% / .45);
  border-radius: 16px; padding: 10px; background: hsl(222 47% 10% / .7);
}
.nc-panew img { border-radius: 12px; }
.nc-panew__ph {
  display: block; height: 140px; border-radius: 12px;
  background: hsl(222 47% 14% / .8); color: hsl(220 12% 65%);
  display: flex; align-items: center; justify-content: center; font-size: .85rem;
}
.nc-panew__meta { display: block; font-size: .8rem; color: hsl(220 12% 70%); margin: 6px 0; }
.nc-panew__edit { display: inline-block; font-size: .78rem; padding: 6px 12px; }
@media (max-width: 640px) {
  .nc-padlg__heo { flex-direction: column; align-items: stretch; }
}
.nc-padlg select, .nc-padlg input[type="text"], .nc-padlg input[type="url"] { min-height: 44px; line-height: 1.3; }
.nc-padlg input[type="file"] { padding: 10px; }

/* v42: Treuepunkte-Erklärungsblock */
.nc-pts-info { margin: 0 0 2rem; }
.nc-pts-info__title { font-size: 1.35rem; margin: 0 0 1rem; }
.nc-pts-info__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; }
.nc-pts-card {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  padding: 1.1rem 1.2rem;
  backdrop-filter: blur(8px);
}
.nc-pts-card h3 { margin: 0 0 .6rem; font-size: 1.02rem; letter-spacing: .01em; }
.nc-pts-card ul { margin: 0; padding-left: 1.1rem; }
.nc-pts-card li { margin: 0 0 .4rem; font-size: .93rem; line-height: 1.5; opacity: .88; }
.nc-pts-lead { margin: 0 0 .7rem; font-size: .96rem; line-height: 1.5; }
.nc-pts-note { margin: .7rem 0 0; font-size: .86rem; opacity: .72; }
.nc-pts-table { width: 100%; border-collapse: collapse; margin: 0; font-size: .93rem; }
.nc-pts-table th, .nc-pts-table td { text-align: left; padding: .38rem .2rem; border-bottom: 1px solid rgba(255,255,255,.07); }
.nc-pts-table th { font-weight: 600; opacity: .7; font-size: .82rem; text-transform: uppercase; letter-spacing: .04em; }
.nc-pts-table tr:last-child td { border-bottom: 0; }
@media (max-width: 600px) { .nc-pts-info__grid { grid-template-columns: 1fr; } }

/* v43: Zahlungsweisen-Seite */
.nc-paypage__head { text-align: center; max-width: 720px; margin: 0 auto 28px; }
.nc-paypage__head h1 { font-size: 34px; margin: 0 0 10px; background: linear-gradient(90deg,#22d3ee,#a855f7); -webkit-background-clip: text; background-clip: text; color: transparent; }
.nc-paypage__head p { color: #98a1b8; font-size: 15px; margin: 0; }
.nc-paypage__h2 { display: flex; align-items: center; gap: 10px; font-size: 20px; color: #f4f6ff; margin: 34px 0 16px; }
.nc-paypage__h2 svg { width: 20px; height: 20px; color: #22d3ee; }
.nc-paypage__h2--vip svg { color: #c084fc; }
.nc-paypage__hint { font-size: 12px; font-weight: 500; color: #8f97ae; border: 1px solid rgba(192,132,252,.35); border-radius: 999px; padding: 3px 10px; }
.nc-paycards { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }
.nc-paycard { padding: 20px; border-radius: 18px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.03); backdrop-filter: blur(8px); }
.nc-paycard--vip { border-color: rgba(192,132,252,.28); background: linear-gradient(180deg, rgba(168,85,247,.08), rgba(255,255,255,.02)); }
.nc-paycard__top { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 10px; }
.nc-paycard__ico { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 12px; background: rgba(34,211,238,.10); border: 1px solid rgba(34,211,238,.25); }
.nc-paycard__ico svg { width: 20px; height: 20px; color: #22d3ee; }
.nc-paycard--vip .nc-paycard__ico { background: rgba(168,85,247,.12); border-color: rgba(192,132,252,.3); }
.nc-paycard--vip .nc-paycard__ico svg { color: #c084fc; }
.nc-paycard h3 { margin: 0 0 3px; font-size: 16px; color: #f4f6ff; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.nc-paycard__badge { font-size: 11px; font-weight: 600; color: #e9d5ff; background: rgba(168,85,247,.16); border: 1px solid rgba(192,132,252,.35); border-radius: 999px; padding: 2px 9px; }
.nc-paycard__sub { margin: 0; font-size: 13px; color: #22d3ee; }
.nc-paycard--vip .nc-paycard__sub { color: #c084fc; }
.nc-paycard__txt { margin: 0; font-size: 13.5px; line-height: 1.6; color: #98a1b8; }
.nc-paynote { display: flex; gap: 14px; margin-top: 22px; padding: 18px 20px; border-radius: 18px; border: 1px solid rgba(192,132,252,.25); background: rgba(168,85,247,.06); }
.nc-paynote--safe { border-color: rgba(34,211,238,.25); background: rgba(34,211,238,.05); }
.nc-paynote svg { flex: 0 0 auto; width: 22px; height: 22px; color: #c084fc; }
.nc-paynote--safe svg { color: #22d3ee; }
.nc-paynote h3 { margin: 0 0 6px; font-size: 15px; color: #f4f6ff; }
.nc-paynote p { margin: 0; font-size: 13.5px; line-height: 1.6; color: #98a1b8; }
.nc-paynote a { color: #22d3ee; }
@media (max-width: 640px) {
  .nc-paypage__head h1 { font-size: 26px; }
  .nc-paycards { grid-template-columns: 1fr; }
}

/* v43: Luckybox-Hero mit Original-Bild + Boxenauswahl-Fallback */
.nc-lb-hero { display: grid; grid-template-columns: 1.05fr .95fr; gap: 36px; align-items: center; }
.nc-lb-hero__media { position: relative; max-width: 460px; width: 100%; margin: 0 auto; }
.nc-lb-hero__media::before { content: ""; position: absolute; inset: 6%; border-radius: 32px; filter: blur(48px); opacity: .6; background: linear-gradient(135deg, rgba(168,85,247,.55), rgba(234,179,8,.32)); }
.nc-lb-hero__media img { position: relative; display: block; width: 100%; height: auto; aspect-ratio: 1/1; object-fit: cover; border-radius: 32px; border: 1px solid rgba(168,85,247,.45); box-shadow: 0 30px 70px -30px rgba(0,0,0,.85); }
.nc-lb-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0 4px; }
.nc-lb-btn--soon { opacity: .55; cursor: default; }
.nc-lb-btn--soon em { font-style: normal; font-size: 11px; margin-left: 6px; opacity: .8; }
.nc-lb-ask { display: inline-block; margin-top: 6px; font-size: 12.5px; color: #22d3ee; }
@media (max-width: 900px) { .nc-lb-hero { grid-template-columns: 1fr; } .nc-lb-hero__media { max-width: 380px; } }

/* ── v44: PDP-Galerie als Slider ── */
body.nc-skin .woocommerce-product-gallery.nc-gal { position: relative; overflow: visible; }
body.nc-skin .nc-gal__nav {
  position: absolute; top: calc(50% - 60px); transform: translateY(-50%); z-index: 6;
  width: 40px; height: 40px; display: flex; align-items: center; justify-content: center;
  border-radius: 9999px; cursor: pointer;
  background: hsl(var(--card) / .75); color: hsl(var(--foreground));
  border: 1px solid hsl(var(--border) / .6); backdrop-filter: blur(10px);
  box-shadow: 0 8px 24px -12px rgba(0,0,0,.8); transition: background .2s, border-color .2s;
}
body.nc-skin .nc-gal__nav:hover { background: hsl(var(--card) / .95); border-color: hsl(var(--primary) / .6); }
body.nc-skin .nc-gal__nav--prev { left: 14px; }
body.nc-skin .nc-gal__nav--next { right: 14px; }
body.nc-skin .nc-gal__count {
  position: absolute; right: 16px; top: 16px; z-index: 6;
  font-size: .72rem; padding: .2rem .55rem; border-radius: 9999px;
  background: hsl(var(--card) / .75); border: 1px solid hsl(var(--border) / .5);
  color: hsl(var(--muted-foreground)); backdrop-filter: blur(10px);
}
/* Thumbnails: kompakte, horizontal scrollbare Leiste statt gestapeltem Raster */
body.nc-skin .woocommerce-product-gallery .flex-control-thumbs {
  display: flex !important; flex-wrap: nowrap !important;
  gap: .5rem; margin: .75rem 0 0 !important; padding: 0 0 .35rem !important;
  overflow-x: auto; overflow-y: hidden; scroll-behavior: smooth;
  scrollbar-width: thin; scrollbar-color: hsl(var(--primary) / .5) transparent;
  -webkit-overflow-scrolling: touch; list-style: none;
}
body.nc-skin .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar { height: 6px; }
body.nc-skin .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar-thumb { background: hsl(var(--primary) / .45); border-radius: 9999px; }
body.nc-skin .woocommerce-product-gallery .flex-control-thumbs li {
  flex: 0 0 auto !important; width: 72px !important; height: 72px; margin: 0 !important; padding: 0 !important; float: none !important;
}
body.nc-skin .woocommerce-product-gallery .flex-control-thumbs li img {
  width: 72px; height: 72px; object-fit: cover; opacity: .55; cursor: pointer;
  border: 1px solid hsl(var(--border) / .5); border-radius: 10px; transition: opacity .2s, border-color .2s;
}
body.nc-skin .woocommerce-product-gallery .flex-control-thumbs li img:hover { opacity: .9; }
body.nc-skin .woocommerce-product-gallery .flex-control-thumbs li img.flex-active { opacity: 1; border-color: hsl(var(--primary)); box-shadow: 0 0 0 1px hsl(var(--primary) / .6); }
@media (max-width: 640px) {
  body.nc-skin .nc-gal__nav { width: 34px; height: 34px; }
  body.nc-skin .woocommerce-product-gallery .flex-control-thumbs li,
  body.nc-skin .woocommerce-product-gallery .flex-control-thumbs li img { width: 60px !important; height: 60px; }
}
/* v44.1: Pfeil-Icons sichtbar, Zaehler nicht unter dem Zoom-Button */
body.nc-skin .nc-gal__nav svg { width: 20px !important; height: 20px !important; display: block; stroke: currentColor; fill: none; opacity: 1; }
body.nc-skin .nc-gal__count { right: auto; left: 16px; }
body.nc-skin .nc-gal__nav svg { min-width: 20px !important; flex: 0 0 20px !important; }

/* ── PDP: Sicherheitshinweise & EU-Importeur (zentriert + aufklappbar, v45) ── */
body.nc-skin .nc-pdp-collap{padding:0;max-width:640px;margin-left:auto;margin-right:auto;width:100%}
body.nc-skin .nc-pdp-collap .nc-collap{width:100%}
body.nc-skin .nc-collap__sum{display:flex;align-items:center;gap:.6rem;cursor:pointer;list-style:none;
  padding:1rem 1.1rem;font-weight:700;transition:background .2s ease}
body.nc-skin .nc-collap__sum::-webkit-details-marker{display:none}
body.nc-skin .nc-collap__sum:hover{background:hsl(var(--secondary) / .2)}
body.nc-skin .nc-collap__sum .nc-pdp-card__head{display:flex;align-items:center;gap:.55rem;margin:0;flex:1 1 auto;min-width:0}
body.nc-skin .nc-collap__sum .nc-pdp-card__h{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;margin:0}
body.nc-skin .nc-collap__chev{margin-left:auto;display:inline-flex;align-items:center;color:hsl(var(--muted-foreground));
  transition:transform .2s ease}
body.nc-skin .nc-collap__chev svg{width:1.15rem;height:1.15rem;min-width:1.15rem;flex:0 0 auto}
body.nc-skin details.nc-collap[open] .nc-collap__chev{transform:rotate(180deg)}
body.nc-skin .nc-collap__body{padding:0 1.1rem 1.1rem}
body.nc-skin .nc-pdp-importer.nc-pdp-collap .nc-pdp-importer__sub{margin:0 0 .6rem}

/* v46 – Admin: bestehendes Produkt einer Kategorie zuordnen */
.nc-paadmin__btns{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.nc-pasearch{max-height:46vh;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:.5rem;margin:.5rem 0}
.nc-pasearch__row{display:flex;align-items:center;gap:.7rem;padding:.5rem .65rem;border:1px solid hsl(190 80% 60% / .18);border-radius:.75rem;background:hsl(230 25% 10% / .6)}
.nc-pasearch__row.is-done{border-color:hsl(150 60% 50% / .45)}
.nc-pasearch__row img,.nc-pasearch__ph{width:44px;height:44px;border-radius:.5rem;object-fit:cover;flex:0 0 44px;background:hsl(230 20% 16%)}
.nc-pasearch__info{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}
.nc-pasearch__info b{font-size:.9rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nc-pasearch__info small{opacity:.7;font-size:.75rem}
.nc-pasearch__row .nc-btn{flex:0 0 auto;padding:.35rem .7rem;font-size:.8rem}
@media(max-width:600px){.nc-paadmin__btns{width:100%}.nc-paadmin__btns .nc-btn{flex:1 1 auto;justify-content:center}}

/* --- Sale-Preis: Screenreader-Text global unsichtbar + Abstand del/ins --- */
body.nc-skin .price .screen-reader-text,
body.nc-skin .woocommerce-Price-amount .screen-reader-text,
body.nc-skin .wc-block-components-product-price .screen-reader-text,
body.nc-skin .wc-block-grid__product-price .screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  margin: -1px; padding: 0; border: 0;
  clip: rect(0 0 0 0); clip-path: inset(50%);
  overflow: hidden; white-space: nowrap;
}
body.nc-skin .price del { display: inline-block; margin-right: 0.4rem; }
body.nc-skin .price ins { display: inline-block; text-decoration: none; }

/* ══ v62: Gemeinsamer Container-Fix fuer ALLE WooCommerce-(Blocks-)Seiten ══
   Ursache: Warenkorb, Kasse und "Bestellung erhalten" werden von WooCommerce-
   Blocks bzw. Storefront ausserhalb der Standard-Container-Klasse (.nc-container)
   gerendert. Dadurch erbten sie fremde/negative Aussenmasse und die
   nc-contentpage-Kartenoptik – Ergebnis: schiefe Links/Rechts-Abstaende.
   Loesung: einmalig die Aussenmasse von .nc-container (16px, max 1400px) auf
   den Seitenrahmen legen und allen inneren Block-Wrappern eigene
   Horizontalmasse entziehen. */
body.nc-skin.woocommerce-cart .col-full,
body.nc-skin.woocommerce-checkout .col-full,
body.nc-skin.woocommerce-order-received .col-full {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}
body.nc-skin.woocommerce-cart #primary,
body.nc-skin.woocommerce-cart .site-main,
body.nc-skin.woocommerce-cart .entry-content,
body.nc-skin.woocommerce-cart .entry-content > .woocommerce,
body.nc-skin.woocommerce-checkout #primary,
body.nc-skin.woocommerce-checkout .site-main,
body.nc-skin.woocommerce-checkout .entry-content,
body.nc-skin.woocommerce-checkout .entry-content > .woocommerce,
body.nc-skin.woocommerce-order-received #primary,
body.nc-skin.woocommerce-order-received .site-main,
body.nc-skin.woocommerce-order-received .entry-content,
body.nc-skin.woocommerce-order-received .entry-content > .woocommerce {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* Die Inhaltsseiten-Kartenoptik (nc-contentpage) darf diese Seiten nicht
   zusaetzlich einruecken – sie erzeugte die schiefen Aussenabstaende. */
body.nc-skin.woocommerce-cart .entry-content,
body.nc-skin.woocommerce-checkout .entry-content,
body.nc-skin.woocommerce-order-received .entry-content {
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  backdrop-filter: none !important;
  border-radius: 0 !important;
}
/* WooCommerce-Blocks setzt an den Wrappern eigene (teils negative) Aussenmasse. */
body.nc-skin.woocommerce-cart .wc-block-cart,
body.nc-skin.woocommerce-cart .wp-block-woocommerce-cart,
body.nc-skin.woocommerce-cart .wc-block-cart__submit,
body.nc-skin.woocommerce-cart .wc-block-components-sidebar-layout,
body.nc-skin.woocommerce-checkout .wc-block-checkout,
body.nc-skin.woocommerce-checkout .wp-block-woocommerce-checkout,
body.nc-skin.woocommerce-checkout .wc-block-checkout__form,
body.nc-skin.woocommerce-checkout .wc-block-components-sidebar-layout,
body.nc-skin.woocommerce-order-received .woocommerce-order,
body.nc-skin.woocommerce-order-received .wp-block-woocommerce-order-confirmation,
body.nc-skin.woocommerce-order-received [class*="wc-block-order-confirmation"] {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.nc-skin.woocommerce-cart .wc-block-cart__totals-title,
body.nc-skin.woocommerce-cart .wc-block-components-totals-wrapper,
body.nc-skin.woocommerce-checkout .wc-block-components-totals-wrapper {
  padding-right: 0 !important;
}
@media (max-width: 700px) {
  body.nc-skin.woocommerce-cart .col-full,
  body.nc-skin.woocommerce-checkout .col-full,
  body.nc-skin.woocommerce-order-received .col-full {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
}


/* ══ v59: Startseite – leeren Inhaltsrahmen ausblenden ══
   Die Startseite (page-id-19) traegt ebenfalls die Klasse nc-contentpage, ihr
   .entry-content ist aber leer (die Slider haengen an storefront_before_footer).
   Ein leerer, gestylter Kasten unter der Trust-Leiste war die Folge. */
body.nc-skin.nc-contentpage .entry-content:empty,
body.nc-skin.nc-contentpage .entry-content:blank {
  display: none !important;
}


/* Info-Box (Kartenoptik) */
.nc-cartinfo { margin: 1.5rem 0 0; }
.nc-cartinfo__grid { display: grid; gap: 0.85rem; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.nc-cartinfo__card {
  display: flex; gap: 0.75rem; align-items: flex-start;
  background: hsl(var(--card) / 0.7);
  border: 1px solid hsl(var(--border));
  border-radius: 1rem; padding: 1rem 1.1rem;
}
.nc-cartinfo__ico { flex: 0 0 auto; font-size: 1.15rem; line-height: 1.4; }
.nc-cartinfo__card h3 {
  margin: 0 0 0.3rem !important; font-size: 0.95rem !important; font-weight: 700;
  color: hsl(var(--foreground)) !important;
}
.nc-cartinfo__card p { margin: 0 !important; font-size: 0.85rem !important; line-height: 1.55; color: hsl(var(--muted-foreground)) !important; }
.nc-cartinfo__links { margin: 0.85rem 0 0 !important; font-size: 0.82rem !important; color: hsl(var(--muted-foreground)) !important; }
.nc-cartinfo__links a { color: hsl(var(--primary)); text-decoration: underline; text-underline-offset: 2px; }

/* ══════════ NC v49 – Glow-Ring fuer Suche & Mein Konto ══════════
   Suche- und Konto-Icon im Header erhalten exakt denselben
   blauviolett/cyanen Gradient-Ring wie der Warenkorb-Button. */
body.nc-skin .nc-header__actions #nc-search-toggle,
body.nc-skin .nc-header__actions a.nc-iconbtn[aria-label="Mein Konto"],
body.nc-skin .nc-header__actions a.nc-iconbtn[aria-label="Eventkalender"] {
  border: 2px solid transparent !important;
  border-radius: 9999px !important;
  background-color: transparent !important;
  background-image:
    linear-gradient(hsl(230 30% 12%), hsl(230 30% 12%)),
    linear-gradient(135deg, hsl(328 100% 54%) 0%, hsl(193 100% 50%) 50%, hsl(280 100% 70%) 100%) !important;
  background-origin: border-box !important;
  background-clip: padding-box, border-box !important;
  box-shadow: 0 0 12px hsl(280 100% 70% / 0.35) !important;
  transition: box-shadow .3s ease, transform .3s ease, color .3s ease;
}
body.nc-skin .nc-header__actions #nc-search-toggle:hover,
body.nc-skin .nc-header__actions a.nc-iconbtn[aria-label="Mein Konto"]:hover,
body.nc-skin .nc-header__actions a.nc-iconbtn[aria-label="Eventkalender"]:hover {
  box-shadow: 0 0 18px hsl(280 100% 70% / 0.55) !important;
  transform: scale(1.06);
  color: hsl(var(--secondary)) !important;
}

/* v50: Community "Bald verfügbar" (Discord/WhatsApp ohne Link) */
.nc-commcard--soon { cursor: default; opacity: .82; }
.nc-commcard--soon:hover { transform: none; }
.nc-commcard__soon {
  margin-top: auto; align-self: flex-start; font-size: .78rem; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase; padding: 5px 10px; border-radius: 999px;
  border: 1px solid rgba(148,163,184,.35); background: rgba(148,163,184,.12); color: #cbd5e1;
}

/* v50: Offizielle Turnierkalender (Wizards / Play! Pokémon) */
.nc-evlocator { margin: 40px 0; }
.nc-evlocator__grid { display: grid; gap: 18px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); margin-top: 18px; }
.nc-evlocator__card {
  display: flex; flex-direction: column; gap: 8px; padding: 22px; border-radius: 18px;
  border: 1px solid rgba(148,163,184,.25); background: rgba(15,23,42,.45); text-decoration: none; color: inherit;
  transition: transform .2s ease, border-color .2s ease;
}
.nc-evlocator__card:hover { transform: translateY(-2px); border-color: rgba(111,230,255,.55); }
.nc-evlocator__ic svg { width: 26px; height: 26px; color: #6fe6ff; }
.nc-evlocator__card h3 { margin: 0; font-size: 1.05rem; }
.nc-evlocator__card p { margin: 0; font-size: .88rem; opacity: .75; }
.nc-evlocator__card ul { margin: 6px 0 12px; padding-left: 18px; font-size: .85rem; opacity: .8; }
.nc-evlocator__card li { margin: 2px 0; }
.nc-evlocator > h2 { display: flex; align-items: center; gap: 10px; }
.nc-evlocator > h2 svg { width: 24px; height: 24px; flex: 0 0 24px; color: #6fe6ff; }

/* ── NC v55: Feinschliff Bestellabschluss & Warenkorb ────────── */
/* Leere Bankdaten-Liste auf der "Bestellung erhalten"-Seite ausblenden
   (Bankverbindung wird bereits im eigenen NC-Block ausgegeben). */
body ul.wc-bacs-bank-details.order_details.bacs_details:not(:has(li)) { display: none !important; }
ul.wc-bacs-bank-details:empty { display: none !important; }
/* Warenkorb: Kurzbeschreibung, die identisch mit dem Produktnamen ist,
   nicht doppelt anzeigen. */
.wc-block-cart-items .wc-block-components-product-metadata__description { display: none !important; }

/* ── NC v60: "Ähnliche Produkte" / Up-Sells identisch zum Shop-Grid ────────── */
/* Auf single-product greift die Archiv-Grid-Logik nicht überall (Storefront
   setzt dort eigene columns-N/float-Regeln). Hier explizit dieselbe Grid- und
   Kartenhöhen-Logik erzwingen, damit alle Karten exakt gleich groß sind. */
body.nc-skin .related.products ul.products,
body.nc-skin .up-sells.products ul.products,
body.nc-skin .cross-sells ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  margin: 0 0 2rem !important;
  padding: 0 !important;
  list-style: none;
  align-items: stretch !important;
}
@media (min-width: 768px) {
  body.nc-skin .related.products ul.products,
  body.nc-skin .up-sells.products ul.products,
  body.nc-skin .cross-sells ul.products {
    grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)) !important;
  }
}
@media (min-width: 1024px) {
  body.nc-skin .related.products ul.products,
  body.nc-skin .up-sells.products ul.products { gap: 1.5rem !important; }
}
body.nc-skin .related.products ul.products::before,
body.nc-skin .related.products ul.products::after,
body.nc-skin .up-sells.products ul.products::before,
body.nc-skin .up-sells.products ul.products::after,
body.nc-skin .cross-sells ul.products::before,
body.nc-skin .cross-sells ul.products::after { content: none !important; display: none !important; }

/* Storefront-Spaltenklassen (first/last/columns-3/columns-4) neutralisieren */
body.nc-skin .related.products ul.products li.product,
body.nc-skin .up-sells.products ul.products li.product,
body.nc-skin .cross-sells ul.products li.product {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  overflow: hidden;
  border-radius: var(--radius);
  background-color: hsl(var(--card) / 0.4);
  backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
  border: 1px solid hsl(var(--border) / 0.3);
  transition: var(--transition-smooth);
  text-align: left;
}
body.nc-skin .related.products ul.products li.product:hover,
body.nc-skin .up-sells.products ul.products li.product:hover { box-shadow: var(--shadow-neon); }
/* Gleiche Bildhöhe wie im Haupt-Raster */
body.nc-skin .related.products ul.products li.product img,
body.nc-skin .up-sells.products ul.products li.product img,
body.nc-skin .cross-sells ul.products li.product img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  padding: 0.5rem;
  margin: 0 !important;
  background-image: linear-gradient(to bottom right, hsl(var(--background) / 0.8), hsl(var(--muted) / 0.3));
  border-radius: 0;
}
/* Gleiche Titelhöhe -> gleiche Kartenhöhe */
body.nc-skin .related.products ul.products li.product .woocommerce-loop-product__title,
body.nc-skin .up-sells.products ul.products li.product .woocommerce-loop-product__title,
body.nc-skin .cross-sells ul.products li.product .woocommerce-loop-product__title {
  font-size: 0.875rem; font-weight: 600; line-height: 1.3;
  color: hsl(var(--foreground));
  padding: 0.75rem 1rem 0; margin: 0;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; min-height: 3rem;
}
/* Button immer bündig unten */
body.nc-skin .related.products ul.products li.product .button,
body.nc-skin .related.products ul.products li.product .added_to_cart,
body.nc-skin .up-sells.products ul.products li.product .button,
body.nc-skin .cross-sells ul.products li.product .button {
  margin: auto 1rem 1rem !important;
  display: flex; align-items: center; justify-content: center; gap: 0.375rem;
  width: calc(100% - 2rem); height: 2.25rem; font-size: 0.875rem;
}

/* ── NC v60: Warenkorb-Button in den Startseiten-Slidern ──────────────────── */
.nc-card__link { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.nc-card a.nc-card__link { height: auto; }
.nc-card a.nc-card__cart,
.nc-card__cart {
  display: flex !important; align-items: center; justify-content: center; gap: 0.25rem;
  margin: 0.375rem; padding: 0 0.5rem; height: 2rem;
  font-size: 0.7rem; font-weight: 700; line-height: 1;
  text-align: center; text-decoration: none; white-space: nowrap;
  border-radius: calc(var(--radius) - 4px);
  border: 1px solid hsl(var(--border) / 0.6);
  background: hsl(var(--muted) / 0.5);
  color: hsl(var(--foreground));
  transition: var(--transition-smooth);
}
@media (min-width: 640px) {
  .nc-card a.nc-card__cart, .nc-card__cart { margin: 0.5rem; height: 2.25rem; font-size: 0.8rem; }
}
.nc-card a.nc-card__cart:hover,
.nc-card__cart:hover { background: hsl(var(--muted) / 0.85); border-color: hsl(var(--primary) / 0.5); color: hsl(var(--primary)); }
.nc-card__cart.loading { opacity: .6; pointer-events: none; }
.nc-card__cart--disabled { opacity: .5; pointer-events: none; }
/* Woo hängt nach dem AJAX-Add einen "Warenkorb anzeigen"-Link an */
.nc-card a.added_to_cart {
  display: block; margin: 0 0.5rem 0.5rem; font-size: 0.7rem; text-align: center;
  color: hsl(var(--primary)); text-decoration: underline;
}
/* v60b: Slider-Warenkorb-Button dezent halten (Theme-.button-Stile ueberschreiben) */
body.nc-skin .nc-card a.nc-card__cart,
body.nc-skin .nc-card a.nc-card__cart.button,
body.nc-skin .nc-card a.nc-card__cart.button:hover,
body.nc-skin .nc-card a.nc-card__cart.button:focus {
  background-image: none !important;
  background-color: hsl(var(--muted) / 0.55) !important;
  color: hsl(var(--foreground)) !important;
  border: 1px solid hsl(var(--border) / 0.6) !important;
  box-shadow: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 600 !important;
  padding: 0 0.5rem !important;
}
body.nc-skin .nc-card a.nc-card__cart.button:hover {
  background-color: hsl(var(--muted) / 0.9) !important;
  border-color: hsl(var(--primary) / 0.45) !important;
  color: hsl(var(--primary)) !important;
}
body.nc-skin .nc-card a.nc-card__cart svg { width: 0.9rem; height: 0.9rem; flex: 0 0 auto; }

/* ── NC v63: Bestellbestätigung – Meilenstein-Gutschein, Empfehlungen, Punkte ── */
.nc-ou { display: flex; flex-direction: column; gap: 1.5rem; margin: 2rem 0 0; }
.nc-ou-card {
  background: hsl(var(--card) / 0.7);
  border: 1px solid hsl(var(--border) / 0.7);
  border-radius: var(--radius);
  padding: 1.25rem;
  backdrop-filter: blur(8px);
}
.nc-ou-h {
  font-family: var(--nc-font-category);
  font-size: 1.15rem; font-weight: 700; margin: 0 0 1rem;
  color: hsl(var(--foreground));
}
.nc-ou-card--gift { display: flex; gap: 1rem; align-items: flex-start; border-color: hsl(var(--primary) / 0.45); }
.nc-ou-gift__icon {
  flex: 0 0 auto; width: 3rem; height: 3rem; display: flex; align-items: center; justify-content: center;
  border-radius: var(--radius); background: hsl(var(--primary) / 0.14); color: hsl(var(--primary));
}
.nc-ou-gift__icon svg { width: 1.65rem; height: 1.65rem; }
.nc-ou-gift__body { min-width: 0; }
.nc-ou-gift__body h2 { font-family: var(--nc-font-category); font-size: 1.25rem; margin: 0.35rem 0 0.25rem; }
.nc-ou-gift__body p { margin: 0 0 0.5rem; color: hsl(var(--muted-foreground)); font-size: 0.9rem; }
.nc-ou-badge {
  display: inline-block; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
  padding: 0.2rem 0.5rem; border-radius: calc(var(--radius) - 4px);
  background: hsl(var(--primary) / 0.16); color: hsl(var(--primary)); border: 1px solid hsl(var(--primary) / 0.3);
}
.nc-ou-code { margin: 0.5rem 0; }
.nc-ou-code code {
  display: inline-block; font-size: 1.05rem; font-weight: 700; letter-spacing: 0.08em;
  padding: 0.5rem 0.9rem; border-radius: calc(var(--radius) - 2px);
  background: hsl(var(--muted) / 0.6); border: 1px dashed hsl(var(--primary) / 0.5);
  color: hsl(var(--foreground));
}
.nc-ou-meta, .nc-ou-note { font-size: 0.8rem; color: hsl(var(--muted-foreground)); margin: 0.35rem 0 0; }
.nc-ou-note a { color: hsl(var(--primary)); }

.nc-ou-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
@media (min-width: 768px) { .nc-ou-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; } }
.nc-ou-item {
  display: flex; flex-direction: column; text-decoration: none; overflow: hidden;
  border-radius: var(--radius); border: 1px solid hsl(var(--border) / 0.6);
  background: hsl(var(--card) / 0.6); transition: var(--transition-smooth);
}
.nc-ou-item:hover { border-color: hsl(var(--primary) / 0.5); transform: translateY(-2px); }
.nc-ou-item__media { display: block; aspect-ratio: 1 / 1; overflow: hidden; background: hsl(var(--muted) / 0.35); }
.nc-ou-item__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nc-ou-item__title {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  padding: 0.5rem 0.5rem 0.25rem; font-size: 0.78rem; font-weight: 600; line-height: 1.25;
  min-height: 2.6rem; color: hsl(var(--foreground));
}
.nc-ou-item:hover .nc-ou-item__title { color: hsl(var(--primary)); }
.nc-ou-item__price { margin-top: auto; padding: 0 0.5rem 0.6rem; font-size: 0.8rem; font-weight: 700; color: hsl(var(--primary)); }
.nc-ou-item__price del { color: hsl(var(--muted-foreground)); font-weight: 500; margin-right: 0.25rem; }

.nc-ou-bar { height: 0.5rem; border-radius: 999px; background: hsl(var(--muted) / 0.6); overflow: hidden; margin-top: 0.5rem; }
.nc-ou-bar span { display: block; height: 100%; background: hsl(var(--primary) / 0.8); border-radius: 999px; }

/* =====================================================================
   v65 – Konto (Mein Konto → Bestellungen / Offene Zahlungen) auf Mobile
   1) Aktions-Buttons: volle Breite, Icon+Text einzeilig, gleiche Höhe
   2) Verschachtelte Rahmen ("dünne vertikale Linien") entfernen
   ===================================================================== */

/* --- 1) Buttons --- */
@media (max-width: 640px) {
  html body.nc-skin .nc-acct-pay__actions,
  html body.nc-skin .nc-acctcard .nc-acct-pay__actions {
    display: flex; flex-direction: column; align-items: stretch;
    flex-wrap: nowrap; gap: 0.6rem; margin-top: 1rem;
  }
  html body.nc-skin .nc-acct-pay__actions > .nc-btn,
  html body.nc-skin .nc-acct-pay__actions > a {
    display: flex !important; width: 100%; box-sizing: border-box;
    min-height: 3rem; height: auto; padding: 0.75rem 1rem !important;
    align-items: center; justify-content: center; gap: 0.5rem;
    flex-wrap: nowrap; white-space: nowrap; text-align: center;
    font-size: 0.95rem; line-height: 1.1;
  }
  html body.nc-skin .nc-acct-pay__actions > .nc-btn svg {
    flex: 0 0 auto; width: 1.05rem; height: 1.05rem;
  }
  /* Kopfbereich der Karte sauber untereinander statt gequetscht */
  html body.nc-skin .nc-acct-pay__top { flex-direction: column; align-items: stretch; gap: 0.5rem; }
  html body.nc-skin .nc-acct-pay__amt { text-align: left; min-width: 0; }
}

/* --- 2) Rahmen-/Linien-Problem: keine doppelt verschachtelten Boxen --- */
/* Gleiche Ursache wie bei Warenkorb / Bestellung erhalten: der Theme-Wrapper
   (.entry-content / .col-full / article) bringt einen eigenen Rahmen samt
   Padding mit, der sich hinter den nc-Karten als durchgehende senkrechte
   Linie über die ganze Seitenhöhe zeigt. Auf Kontoseiten neutralisieren. */
body.nc-skin.woocommerce-account .entry-content,
body.nc-skin.woocommerce-account article .entry-content,
body.nc-skin.woocommerce-account .site-main > article,
body.nc-skin.woocommerce-account .woocommerce-MyAccount-content > .woocommerce {
  border: 0 !important;
  background: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
@media (max-width: 640px) {
  body.nc-skin.woocommerce-account .woocommerce-MyAccount-content { padding: 0 !important; }
  body.nc-skin .nc-acctcard { padding: 1rem; }
  body.nc-skin .nc-acct-pay { padding: 0.85rem; }
}

/* SEO: sichtbare H1 auf der Startseite */
body.nc-skin .nc-hero__h1 {
  margin: 0 0 1.25rem; font-family: var(--nc-font-category);
  font-size: 1.35rem; font-weight: 700; line-height: 1.25; letter-spacing: -0.01em;
  color: hsl(var(--foreground) / 0.92); text-align: center;
}
@media (min-width: 768px) { body.nc-skin .nc-hero__h1 { font-size: 1.75rem; } }

/* SEO/A11y: visuell verborgener Zusatztext in Links */
body.nc-skin .nc-sr-only {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
/* Karten: Link umfasst nur Bild + Titel, Meta-Block steht darunter */
body.nc-skin .nc-card__body--head { padding-bottom: 0; flex: 0 0 auto; }
body.nc-skin .nc-card__body--meta { padding-top: 0.25rem; flex: 1; display: flex; flex-direction: column; }
body.nc-skin .nc-card a.nc-card__link { flex: 0 0 auto; }

/* Stretched Link fuer Hero-Kacheln (kurzer Ankertext) */
body.nc-skin .nc-tile__link {
  position: absolute; inset: 0; z-index: 4; font-size: 0; line-height: 0; color: transparent;
  text-decoration: none; border-radius: inherit;
}
body.nc-skin .nc-tile__link:focus-visible { outline: 2px solid hsl(var(--primary)); outline-offset: 2px; }

/* Upsell-Karten: Link umfasst nur Bild + Titel (kurzer Ankertext) */
body.nc-skin .nc-ou-item__link { display: contents; color: inherit; text-decoration: none; }

/* SEO v76: Kartentitel/Slogans sind keine Ueberschriften mehr -> Typografie sichern */
body.nc-skin p.nc-card__title,
body.nc-skin p.nc-chero__title,
body.nc-skin p.woocommerce-loop-product__title { margin: 0; }
body.nc-skin p.woocommerce-loop-product__title {
  font-size: 0.95rem; font-weight: 600; line-height: 1.3; padding: 0.5rem 0;
}

/* SEO v77: Startseiten-Intro-Text (Thin-Content-Fix) */
body.nc-skin .nc-intro {
  padding: 2.5rem 0 3rem;
  background: linear-gradient(180deg, hsl(var(--background)) 0%, hsl(var(--card) / 0.25) 100%);
}
body.nc-skin .nc-intro__box {
  max-width: 56rem;
  margin: 0 auto;
  padding: 2rem 1.5rem;
  border-radius: var(--radius);
  background: hsl(var(--card) / 0.45);
  border: 1px solid hsl(var(--border) / 0.35);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: var(--shadow-soft);
}
body.nc-skin .nc-intro__box h2 {
  margin: 0 0 1.25rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  background: var(--gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
body.nc-skin .nc-intro__box p {
  margin: 0 0 1rem;
  font-size: 1.05rem;
  line-height: 1.75;
  color: hsl(var(--foreground) / 0.85);
}
body.nc-skin .nc-intro__box p:last-child { margin-bottom: 0; }
body.nc-skin .nc-intro__box h3 {
  margin: 1.75rem 0 0.75rem;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: hsl(var(--foreground));
}
body.nc-skin .nc-intro__box a {
  color: hsl(var(--primary));
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
body.nc-skin .nc-intro__box a:hover { color: hsl(var(--primary-glow)); }
@media (min-width: 768px) {
  body.nc-skin .nc-intro { padding: 3.5rem 0 4rem; }
  body.nc-skin .nc-intro__box { padding: 2.5rem; }
  body.nc-skin .nc-intro__box h2 { font-size: 1.85rem; }
  body.nc-skin .nc-intro__box p { font-size: 1.1rem; }
}

/* v87: SEO-Intro auf Mobilgeräten aufklappbar (voller Text bleibt im HTML) */
body.nc-skin .nc-intro__content {
  /* Desktop: Text immer voll sichtbar, Toggle ausgeblendet */
}
body.nc-skin .nc-intro__toggle {
  display: none;
}
@media (max-width: 767px) {
  body.nc-skin .nc-intro__content {
    position: relative;
    max-height: 7.2rem; /* ca. 3-4 Zeilen Text */
    overflow: hidden;
    transition: max-height 0.35s ease;
  }
  body.nc-skin .nc-intro__content::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3.5rem;
    pointer-events: none;
    background: linear-gradient(to bottom, transparent, hsl(var(--card)) 90%);
    transition: opacity 0.25s ease;
  }
  body.nc-skin .nc-intro__content.is-open {
    max-height: none;
  }
  body.nc-skin .nc-intro__content.is-open::after {
    opacity: 0;
  }
  body.nc-skin .nc-intro__toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.75rem;
    padding: 0;
    background: transparent;
    border: none;
    font-size: 0.95rem;
    font-weight: 600;
    color: hsl(var(--primary));
    text-decoration: underline;
    text-underline-offset: 0.2em;
    cursor: pointer;
  }
  body.nc-skin .nc-intro__toggle:hover {
    color: hsl(var(--primary-glow));
  }
}

/* ══════════════════════════════════════════════════════════
   v86 – Mein Konto: Mobile einspaltig (Fix Quetsch-Spalte)
   Ursache: Der Konto-Wrapper blieb auf Mobil ein Flex-Container
   (nur "div.woocommerce" wurde zurueckgesetzt), waehrend die
   Navigation width:100% erzwang -> der Inhaltsbereich wurde in
   die wenigen Restpixel gequetscht.
   ══════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
  body.nc-skin.woocommerce-account .entry-content > .woocommerce,
  body.nc-skin.woocommerce-account .site-main > .woocommerce,
  body.nc-skin.woocommerce-account .woocommerce-account-wrapper,
  body.nc-skin.woocommerce-account div.woocommerce {
    display: block !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
  }
  body.nc-skin.woocommerce-account .woocommerce-MyAccount-navigation,
  body.nc-skin.woocommerce-account .woocommerce-MyAccount-content {
    display: block !important;
    float: none !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
  }
  body.nc-skin.woocommerce-account .woocommerce-MyAccount-navigation { margin: 0 0 1rem !important; }
  body.nc-skin.woocommerce-account .woocommerce-MyAccount-content { margin: 0 !important; overflow-wrap: anywhere; }
  body.nc-skin.woocommerce-account .woocommerce-MyAccount-content table { display: block; width: 100%; overflow-x: auto; }
}

/* ============================================================
   SCROLL-PERFORMANCE (v88)
   Ursache des Ruckelns: 250+ Elemente pro Seite mit backdrop-filter
   (Produktkarten, Status-Badges, Wunschlisten-Buttons, Slider-Pfeile).
   Jeder dieser Layer wird beim Scrollen neu geblurrt -> ~13 fps.
   Loesung: Blur nur noch fuer die wenigen Overlay-Flaechen
   (Header, Topbar, Suche, Drawer, Cookie-Banner). Alle wiederholten
   Inhaltselemente bekommen stattdessen einen etwas deckenderen
   Hintergrund - optisch nahezu identisch, aber ohne Kosten.
   ============================================================ */
body.nc-skin ul.products li.product,
body.nc-skin .nc-card__inner,
body.nc-skin .nc-card .nc-card__inner,
body.nc-skin .nc-card__status,
body.nc-skin .nc-wl-btn,
body.nc-skin .nc-tile__meta,
body.nc-skin .nc-sec__box,
body.nc-skin .nc-sec__arrow,
body.nc-skin .nc-hero__arrow,
body.nc-skin .nc-iconbtn,
body.nc-skin .nc-chip,
body.nc-skin .nc-chip--secondary,
body.nc-skin .nc-intro__box,
body.nc-skin .nc-trustbar,
body.nc-skin .nc-trust__agg {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.nc-skin ul.products li.product,
body.nc-skin .nc-card__inner,
body.nc-skin .nc-card .nc-card__inner,
body.nc-skin .nc-sec__box,
body.nc-skin .nc-intro__box,
body.nc-skin .nc-tile__meta {
  background-color: hsl(var(--card) / 0.92) !important;
}

body.nc-skin .nc-card__status,
body.nc-skin .nc-sec__arrow,
body.nc-skin .nc-hero__arrow,
body.nc-skin .nc-iconbtn,
body.nc-skin .nc-wl-btn {
  background-color: hsl(230 30% 12% / 0.88) !important;
}

/* Overlay-Flaechen (wenige Elemente) behalten den Glas-Effekt,
   werden aber als eigene Compositing-Layer gehalten. */
body.nc-skin .nc-header,
body.nc-skin .nc-topbar,
body.nc-skin .nc-search-overlay,
body.nc-skin .nc-drawer-overlay,
body.nc-skin .nc-cookie__card {
  will-change: backdrop-filter;
}

/* ══════════ v107 – Special-Deals-Adminpanel auf der Deals-Seite ══════════ */
body.nc-skin .nc-sdadmin {
  max-width: 1400px;
  margin: 1.5rem auto;
  padding: 1.25rem 1.5rem;
  border: 1px solid hsl(var(--border) / 0.7);
  border-radius: 1rem;
  background-color: hsl(var(--card) / 0.55);
}
body.nc-skin .nc-sdadmin__note {
  margin: 0 0 0.9rem;
  padding: 0.6rem 0.9rem;
  border-radius: 0.6rem;
  border: 1px solid hsl(193 100% 50% / 0.35);
  background: hsl(193 100% 50% / 0.08);
  font-size: 0.9rem;
}
body.nc-skin .nc-sdadmin__form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.75rem 1rem;
  margin-top: 0.5rem;
}
body.nc-skin .nc-sdadmin__form label {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  font-size: 0.82rem;
  color: hsl(var(--muted-foreground));
}
body.nc-skin .nc-sdadmin__form input[type="text"],
body.nc-skin .nc-sdadmin__form input:not([type]),
body.nc-skin .nc-sdadmin__form input[type="number"],
body.nc-skin .nc-sdadmin__form select {
  width: 100%;
  padding: 0.5rem 0.7rem;
  border-radius: 0.55rem;
  border: 1px solid hsl(var(--border) / 0.7);
  background: hsl(230 30% 10% / 0.85);
  color: hsl(var(--foreground));
  font-size: 0.9rem;
}
body.nc-skin .nc-sdadmin__check {
  flex-direction: row !important;
  align-items: center;
  gap: 0.5rem !important;
}
body.nc-skin .nc-sdadmin__btns {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 0.25rem;
}
body.nc-skin .nc-sdadmin__list {
  list-style: none;
  margin: 1.1rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.5rem;
}
body.nc-skin .nc-sdadmin__list li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  padding: 0.6rem 0.8rem;
  border: 1px solid hsl(var(--border) / 0.5);
  border-radius: 0.7rem;
  font-size: 0.85rem;
}
body.nc-skin .nc-sdadmin__list form { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0; }
body.nc-skin .nc-sdadmin__list .nc-btn { font-size: 0.78rem; padding: 0.35rem 0.7rem; }

/* Sprungmarke aus der Zahlungsinformations-Mail: betreffende Bestellung hervorheben */
.nc-acct-pay:target{
  scroll-margin-top:100px;
  box-shadow:inset 0 0 0 2px var(--nc-cyan,#00c8ff);
  border-radius:14px;
}
