/**
 * Folienmarie — Welt-spezifische Styles
 * ANIMAL CROSSING als durchgehende Designsprache.
 * Jede Welt = ein AC-Zimmer-Thema: eigene Palette, aber immer cute, rund, warm.
 * Aktiviert durch body.world-{slug} (gesetzt in woo-mod.php).
 */

/* ============================================================
   AC DESIGN-SYSTEM — Globale Basis
   Runde Ecken, weiche Schatten, pastellige Wärme überall.
   ============================================================ */
/* YOOtheme-Parent setzt html { background: white } — überschreiben */
body.has-world {
  background-attachment: fixed !important;
  min-height: 100vh;
}

/* html-Hintergrund pro Welt — Fallback wenn body-Gradient endet */
html:has(body.world-sunset-strip) { background: #1A0A2E !important; }
html:has(body.world-kosmos) { background: #0D0828 !important; }
html:has(body.world-darkside) { background: #1A1228 !important; }
html:has(body.world-zauberwald) { background: #1A3A28 !important; }
html:has(body.world-kreaturenreich) { background: #F0FAF0 !important; }
html:has(body.world-kawaii-chaos) { background: #FFF5FA !important; }
html:has(body.world-home) { background: #FFD6E0 !important; }

:root {
  /* --- Radii (Nintendo: konsistent, nie zu rund, nie eckig) --- */
  --fm-radius-card: 12px;
  --fm-radius-btn: 999px;
  --fm-radius-nav: 8px;
  --fm-radius-img: 12px 12px 0 0;

  /* --- Spacing Scale (8px Grid — Nintendo-Standard) --- */
  --fm-space-xs: 4px;
  --fm-space-sm: 8px;
  --fm-space-md: 16px;
  --fm-space-lg: 24px;
  --fm-space-xl: 32px;
  --fm-space-2xl: 48px;
  --fm-space-3xl: 64px;

  /* --- Typography Scale --- */
  --fm-text-xs: 0.7rem;     /* Meta, SKU */
  --fm-text-sm: 0.82rem;    /* Beschreibung, Breadcrumb */
  --fm-text-base: 0.95rem;  /* Body */
  --fm-text-md: 1.05rem;    /* Card-Titel */
  --fm-text-lg: 1.15rem;    /* Preis, Button */
  --fm-text-xl: 1.6rem;     /* Seitenüberschrift */
  --fm-text-2xl: 2.2rem;    /* Hero-Überschrift */
  --fm-text-3xl: 2.8rem;    /* Kategorie-Titel */

  /* --- Shadows (Nintendo: subtil, zentriert, nie Offset) --- */
  --fm-shadow-card: 0 2px 8px rgba(0,0,0,0.06);
  --fm-shadow-card-hover: 0 4px 16px rgba(0,0,0,0.10);

  /* --- Fonts --- */
  --fm-font-body: 'Varela Round', 'Nunito Sans', sans-serif;
  --fm-font-heading: 'Fredoka One', 'Varela Round', cursive;

  /* --- Transitions (Nintendo: smooth ease-out, nie bounce) --- */
  --fm-transition-bounce: cubic-bezier(0.4, 0, 0.2, 1);
  --fm-transition-smooth: cubic-bezier(0.4, 0, 0.2, 1);

  /* --- Card Inner Spacing (8px Grid) --- */
  --fm-card-padding: 16px;
  --fm-card-gap: 8px;
  --fm-card-border-width: 1px;

  /* --- Nintendo-Farben (entsättigt, warm) --- */
  --fm-white: #FAF7F2;
  --fm-black: #3A3530;
  --fm-rose: #E8607E;
  --fm-gold: #F0C850;
  --fm-turquoise: #6DCEC2;
}

/* ============================================================
   PORTAL CARDS — Shop-Startseite
   ============================================================ */
.fm-portal-intro {
  text-align: center;
  max-width: 550px;
  margin: 1rem auto 2rem;
  color: rgba(120,80,110,0.65);
  font-family: var(--fm-font-body);
  font-size: 1.3rem;
  letter-spacing: 0.05em;
  position: relative;
  z-index: 5;
}
.fm-portal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
  max-width: 1200px;
  margin: 0 auto 4rem;
  padding: 0 1rem;
  position: relative;
  z-index: 5;
}
.fm-portal-card {
  height: 260px;
  overflow: hidden;
  cursor: pointer;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.8rem;
  transition: transform 0.4s var(--fm-transition-bounce), box-shadow 0.4s;
  text-decoration: none !important;
  border-radius: var(--fm-radius-card);
}
.fm-portal-card:hover {
  transform: translateY(-8px) scale(1.03);
}
.fm-portal-title {
  position: relative;
  z-index: 2;
  margin: 0 0 0.3rem 0;
  font-size: 1.8rem;
  line-height: 1.15;
  word-break: break-word;
  hyphens: auto;
}
.fm-portal-sub {
  position: relative;
  z-index: 2;
  font-size: 0.85rem;
  opacity: 0.8;
  margin: 0;
}
.fm-portal-count {
  position: absolute;
  top: 1rem;
  right: 1.2rem;
  font-size: 0.7rem;
  opacity: 0.4;
  z-index: 2;
}

/* Portal: Kreaturenreich (AC Museum-Eingang) */
.portal-kreatur {
  background: linear-gradient(160deg, #78D68C 0%, #A8E8B8 30%, #C8F0E0 60%, #E0F8FF 100%);
  border: 4px solid #5EC48A;
  box-shadow: 6px 8px 0 rgba(94,196,138,0.35), 0 12px 24px rgba(0,0,0,0.08);
  position: relative;
  overflow: hidden;
}
.portal-kreatur::before {
  content: '🦋';
  position: absolute;
  top: 12px;
  left: 16px;
  font-size: 1.8rem;
  opacity: 0.7;
  z-index: 3;
  animation: fm-float 3s ease-in-out infinite;
}
.portal-kreatur:hover { box-shadow: 6px 8px 0 rgba(139,195,74,0.5), 0 16px 32px rgba(0,0,0,0.15); }
.portal-kreatur .fm-portal-title { font-family: 'Varela Round', sans-serif; font-weight: bold; font-size: 2rem; color: #2D6A4F; text-shadow: 1px 1px 0 rgba(255,255,255,0.6); }
.portal-kreatur .fm-portal-sub { font-family: 'Varela Round', sans-serif; color: #5E9C7A; font-weight: bold; }
.portal-kreatur .fm-portal-count { font-family: 'Varela Round', sans-serif; font-weight: bold; color: #F9A825; }

/* Portal: Kosmos (AC Celeste - Sternenhimmel) */
.portal-kosmos {
  background: linear-gradient(160deg, #1a1040 0%, #2d1b5e 40%, #3d2878 70%, #4a3090 100%);
  border: 4px solid #6B5BAE;
  box-shadow: 6px 8px 0 rgba(107,91,174,0.3), 0 12px 24px rgba(0,0,0,0.1), inset 0 0 30px rgba(196,168,255,0.1);
}
.portal-kosmos::before {
  content: '🌙';
  position: absolute;
  top: 12px;
  left: 16px;
  font-size: 1.6rem;
  opacity: 0.7;
  z-index: 3;
  filter: drop-shadow(0 0 8px rgba(196,168,255,0.5));
}
@keyframes fm-twinkle {
  0%, 100% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 0.8; transform: scale(1.2); }
}
.portal-kosmos .fm-portal-count {
  animation: fm-twinkle 2s ease-in-out infinite;
}
.portal-kosmos:hover { box-shadow: 6px 8px 0 rgba(107,91,174,0.5), 0 16px 32px rgba(0,0,0,0.15); }
.portal-kosmos .fm-portal-title { font-family: 'Fredoka One', cursive; font-size: 2rem; color: #E8D5FF; text-shadow: 2px 2px 0 rgba(107,91,174,0.5); }
.portal-kosmos .fm-portal-sub { font-family: 'Varela Round', sans-serif; color: #B8A8E0; font-weight: bold; }
.portal-kosmos .fm-portal-count { font-family: 'Varela Round', sans-serif; font-weight: bold; color: #C4A8FF; }

/* Portal: Kawaii Chaos (Sticker-Explosion) */
.portal-kawaii {
  background: linear-gradient(160deg, #FFE4F0, #FFF0F5 60%, #F0E6FF);
  border: 4px dashed #FF69B4;
  box-shadow: 6px 8px 0 rgba(255,105,180,0.3), 0 12px 24px rgba(0,0,0,0.06);
  transform: rotate(0.5deg);
}
.portal-kawaii::before {
  content: '💖';
  position: absolute;
  top: 12px;
  left: 16px;
  font-size: 1.6rem;
  opacity: 0.8;
  z-index: 3;
  animation: fm-wiggle 2s ease-in-out infinite;
}
.portal-kawaii:hover {
  transform: translateY(-8px) scale(1.03) rotate(-0.5deg) !important;
}
.portal-kawaii:hover { box-shadow: 6px 8px 0 rgba(255,105,180,0.5), 0 16px 32px rgba(0,0,0,0.1); }
.portal-kawaii .fm-portal-title { font-family: 'Fredoka One', cursive; font-size: 2.2rem; color: #FF1493; text-shadow: 2px 2px 0 rgba(255,20,147,0.2); }
.portal-kawaii .fm-portal-sub { font-family: 'Comic Neue', cursive; font-weight: 700; color: #DA70D6; }
.portal-kawaii .fm-portal-count { font-family: 'Fredoka One', cursive; color: #FF69B4; }

/* Portal: Zauberwald (AC Bambushain / Pilzinsel) */
.portal-zauber {
  background: linear-gradient(160deg, #2d5a3a 0%, #3a7050 40%, #4a8a62 70%, #5ea878 100%);
  border: 4px solid #7EB896;
  box-shadow: 6px 8px 0 rgba(126,184,150,0.3), 0 12px 24px rgba(0,0,0,0.1);
}
.portal-zauber::before {
  content: '🍄';
  position: absolute;
  top: 12px;
  left: 16px;
  font-size: 1.6rem;
  opacity: 0.6;
  z-index: 3;
}
.portal-zauber:hover { box-shadow: 6px 8px 0 rgba(126,184,150,0.5), 0 16px 32px rgba(0,0,0,0.15); }
.portal-zauber .fm-portal-title { font-family: 'Fredoka One', cursive; font-size: 2rem; color: #E8FFE8; text-shadow: 2px 2px 0 rgba(46,139,87,0.5); }
.portal-zauber .fm-portal-sub { font-family: 'Varela Round', sans-serif; color: #B8E8C8; font-weight: bold; }
.portal-zauber .fm-portal-count { font-family: 'Varela Round', sans-serif; font-weight: bold; color: #A8D8B8; }

/* Portal: Sunset Strip (Postkarten-Look) */
.portal-sunset {
  background: linear-gradient(160deg, #FF9A6C 0%, #FF7E8A 30%, #D47AE8 60%, #8B7EE8 100%);
  border: 6px solid #fff;
  box-shadow: 6px 8px 0 rgba(232,168,120,0.3), 0 12px 24px rgba(0,0,0,0.1), inset 0 0 20px rgba(255,240,220,0.15);
  transform: rotate(-0.5deg);
}
.portal-sunset::before {
  content: '🌅';
  position: absolute;
  top: 12px;
  left: 16px;
  font-size: 1.6rem;
  opacity: 0.7;
  z-index: 3;
}
.portal-sunset:hover {
  transform: translateY(-8px) scale(1.03) rotate(0.5deg) !important;
}
.portal-sunset:hover { box-shadow: 6px 8px 0 rgba(232,168,120,0.5), 0 16px 32px rgba(0,0,0,0.15); }
.portal-sunset .fm-portal-title { font-family: 'Fredoka One', cursive; font-size: 2rem; color: #FFF5E8; text-shadow: 2px 2px 0 rgba(200,100,60,0.4); }
.portal-sunset .fm-portal-sub { font-family: 'Varela Round', sans-serif; color: #FFE8D8; font-weight: bold; }
.portal-sunset .fm-portal-count { font-family: 'Varela Round', sans-serif; font-weight: bold; color: #FFD4B8; }

/* Portal: Darkside (AC Gothic-Fenster) */
.portal-dark {
  background: linear-gradient(160deg, #2a1a30 0%, #3d2845 40%, #4a3055 70%, #352040 100%);
  border: 4px solid #6B4A78;
  box-shadow: 6px 8px 0 rgba(107,74,120,0.3), 0 12px 24px rgba(0,0,0,0.1), inset 0 0 25px rgba(255,107,138,0.06);
  border-radius: var(--fm-radius-card) var(--fm-radius-card) var(--fm-radius-card) var(--fm-radius-card);
}
.portal-dark::before {
  content: '👻';
  position: absolute;
  top: 12px;
  left: 16px;
  font-size: 1.6rem;
  opacity: 0.6;
  z-index: 3;
  animation: fm-float 4s ease-in-out infinite;
}
.portal-dark:hover { box-shadow: 6px 8px 0 rgba(107,74,120,0.5), 0 16px 32px rgba(0,0,0,0.15); }
.portal-dark .fm-portal-title { font-family: 'Fredoka One', cursive; font-size: 2rem; color: #E8D0F0; text-shadow: 2px 2px 0 rgba(80,40,90,0.5); }
.portal-dark .fm-portal-sub { font-family: 'Varela Round', sans-serif; color: #C0A0D0; font-weight: bold; }
.portal-dark .fm-portal-count { font-family: 'Varela Round', sans-serif; font-weight: bold; color: #FF6B8A; }

/* Portal-Card Shimmer-Hover (holografischer Schimmer) */
.fm-portal-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.15) 0%, rgba(255,215,0,0.1) 25%, rgba(255,182,193,0.12) 50%, rgba(64,224,208,0.1) 75%, rgba(255,255,255,0.15) 100%);
  background-size: 400% 400%;
  animation: fm-shimmer-shift 6s ease infinite;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.4s;
  border-radius: inherit;
}
.fm-portal-card:hover::after { opacity: 1; }

/* Slogan unter dem Logo */
#fm-slogan {
  position: relative;
  z-index: 10;
}

/* ============================================================
   CUSTOM CURSORS — SVG pro Welt
   ============================================================ */
body.world-kreaturenreich {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M8 28 Q16 8 16 4 Q16 8 24 28 Q16 22 8 28Z' fill='%2390c463' stroke='%23507830' stroke-width='1.5'/%3E%3Cline x1='16' y1='6' x2='16' y2='26' stroke='%23507830' stroke-width='0.8'/%3E%3C/svg%3E") 16 16, auto;
}
body.world-kosmos {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M16 2 L18 12 L28 16 L18 20 L16 30 L14 20 L4 16 L14 12Z' fill='%23C4A8FF' stroke='%236B5BAE' stroke-width='1'/%3E%3C/svg%3E") 16 16, auto;
}
body.world-kawaii-chaos {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M16 28 C16 28 4 18 4 11 C4 6 8 3 12 5 C14 6.5 16 9 16 9 C16 9 18 6.5 20 5 C24 3 28 6 28 11 C28 18 16 28 16 28Z' fill='%23FF69B4' stroke='%23E8508A' stroke-width='1.5'/%3E%3C/svg%3E") 16 16, auto;
}
body.world-zauberwald {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cellipse cx='16' cy='12' rx='8' ry='10' fill='%23d45050' stroke='%23a03030' stroke-width='1.5'/%3E%3Crect x='14.5' y='20' width='3' height='8' rx='1' fill='%23c5a86a' stroke='%23a08050' stroke-width='1'/%3E%3Ccircle cx='12' cy='10' r='2' fill='rgba(255,255,255,0.4)'/%3E%3Ccircle cx='19' cy='8' r='1.5' fill='rgba(255,255,255,0.3)'/%3E%3C/svg%3E") 16 16, auto;
}
body.world-darkside {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M10 8 L8 2 L14 6 L16 0 L18 6 L24 2 L22 8' fill='%236B4A78' stroke='%234a2855' stroke-width='1'/%3E%3Cellipse cx='16' cy='14' rx='10' ry='8' fill='%236B4A78' stroke='%234a2855' stroke-width='1.5'/%3E%3Ccircle cx='12' cy='13' r='2.5' fill='%23FFE0F0'/%3E%3Ccircle cx='20' cy='13' r='2.5' fill='%23FFE0F0'/%3E%3Ccircle cx='12' cy='13' r='1' fill='%232a1a30'/%3E%3Ccircle cx='20' cy='13' r='1' fill='%232a1a30'/%3E%3C/svg%3E") 16 16, auto;
}
body.world-sunset-strip {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect x='14' y='10' width='4' height='18' rx='2' fill='%23c5865a' stroke='%23a06840' stroke-width='1'/%3E%3Cpath d='M16 2 Q22 6 24 10 Q20 8 16 10 Q12 8 8 10 Q10 6 16 2Z' fill='%2350a858' stroke='%23408048' stroke-width='1'/%3E%3Cpath d='M16 5 Q24 8 28 14 Q22 10 16 14 Q10 10 4 14 Q8 8 16 5Z' fill='%2360b868' stroke='%23408048' stroke-width='0.8'/%3E%3C/svg%3E") 16 4, auto;
}

/* ============================================================
   GLOBAL WORLD OVERRIDES — AC Design DNA
   Professionelle Basis: Konsistente Typografie, Bildgrößen,
   Abstände und Interaktionen über alle Welten hinweg.
   ============================================================ */

/* --- Typography Reset — Welt-Fonts statt YOOtheme-Default --- */
body.has-world {
  font-family: var(--fm-font-body) !important;
  font-size: var(--fm-text-base);
  line-height: 1.6;
  transition: background-color 0.4s var(--fm-transition-smooth);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body.has-world h1, body.has-world h2, body.has-world h3,
body.has-world h4, body.has-world h5, body.has-world h6 {
  font-family: var(--fm-font-heading) !important;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

/* --- Produkt-Grid — Konsistente Spalten + Gap --- */
body.has-world .products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  gap: var(--fm-space-lg) !important;
  padding: 0 var(--fm-space-md);
}

/* --- UNIFIED CARD COMPONENT — Nintendo-Polish: konsistent über alle Welten --- */
body.has-world .products .product,
body.has-world .products .type-product,
body.has-world .el-item.uk-card,
body.has-world .uk-card-default {
  border-radius: var(--fm-radius-card) !important;
  border-width: var(--fm-card-border-width) !important;
  border-style: solid !important;
  box-shadow: var(--fm-shadow-card) !important;
  transition: transform 0.2s var(--fm-transition-smooth),
              box-shadow 0.2s var(--fm-transition-smooth),
              border-color 0.2s var(--fm-transition-smooth);
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
body.has-world .products .product:hover,
body.has-world .products .type-product:hover,
body.has-world .el-item.uk-card:hover,
body.has-world .uk-card-default:hover {
  transform: translateY(-2px);
  box-shadow: var(--fm-shadow-card-hover) !important;
}

/* --- Card Inner Layout — Flex-Push für gleichmäßige Höhen --- */
body.has-world .el-item .uk-card-body,
body.has-world .uk-card-default .uk-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: var(--fm-card-padding) !important;
  gap: var(--fm-card-gap);
}

/* --- Produktbilder — Einheitliches Aspect Ratio --- */
body.has-world .products .product img,
body.has-world .products .type-product img,
body.has-world .el-item.uk-card img,
body.has-world .uk-card-default img,
body.has-world .uk-card-media-top img {
  width: 100% !important;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: var(--fm-radius-img);
}

/* --- Card Titel — Konsistente Hierarchie --- */
body.has-world .products .product .woocommerce-loop-product__title,
body.has-world .el-item .uk-card-title,
body.has-world .el-item .el-title {
  padding: var(--fm-card-padding) var(--fm-card-padding) 0 !important;
  margin: 0 0 2px 0 !important;
  font-size: var(--fm-text-md) !important;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.01em;
}
/* YOOtheme card-body Titel brauchen kein extra Padding */
body.has-world .uk-card-body .uk-card-title,
body.has-world .uk-card-body .el-title {
  padding: 0 !important;
  margin-bottom: 4px !important;
}

/* --- Preis — Pill-Badge --- */
body.has-world .products .product .price {
  padding: 0 var(--fm-card-padding) var(--fm-card-gap) !important;
  font-size: var(--fm-text-lg) !important;
  font-family: var(--fm-font-heading) !important;
}

/* --- Meta / Kategorie-Label — Dezent unter dem Titel --- */
body.has-world .el-item .el-meta {
  font-size: 0.65rem !important;
  opacity: 0.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-family: var(--fm-font-body) !important;
  margin-top: 2px !important;
  margin-bottom: 0 !important;
}

/* --- SKU / Artikelnummer --- */
body.has-world .products .product .sku,
body.has-world .products .product [class*="sku"] {
  font-size: 0.65rem !important;
  opacity: 0.35;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* --- Kategorie-Labels — Dezent --- */
body.has-world .products .product .posted_in,
body.has-world .products .product .tagged_as {
  font-size: var(--fm-text-xs) !important;
  opacity: 0.35;
  padding: 0 var(--fm-card-padding);
}

/* --- Beschreibungen — max 3 Zeilen, fade --- */
body.has-world .products .product .woocommerce-product-details__short-description,
body.has-world .el-item .el-content {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: var(--fm-text-sm) !important;
  line-height: 1.6;
  opacity: 0.75;
  margin-top: var(--fm-card-gap);
}

/* --- YOOtheme Grid — Kartenhöhe + Gap --- */
body.has-world .uk-grid > * > .el-item,
body.has-world .fs-grid-item-holder {
  height: 100%;
  display: flex;
  flex-direction: column;
}
body.has-world .fs-grid-item-holder > .el-item {
  flex: 1;
}
body.has-world .fs-load-more-container {
  row-gap: var(--fm-space-lg) !important;
}

/* --- Warenkorb-Button auf Karten — am Ende fixiert --- */
body.has-world .products .product .add_to_cart_button,
body.has-world .products .product .button {
  margin: auto var(--fm-card-padding) var(--fm-card-padding) !important;
  text-align: center;
  display: block;
}

/* --- YOOtheme Card Links — Button-Stil --- */
body.has-world .el-item .el-link {
  margin-top: auto;
  padding-top: var(--fm-space-sm);
}

/* --- Alle Buttons: Pill-Shape, ruhig, konsistent --- */
body.has-world .button,
body.has-world .add_to_cart_button,
body.has-world .single_add_to_cart_button {
  border-radius: var(--fm-radius-btn) !important;
  font-family: var(--fm-font-body) !important;
  font-weight: 700 !important;
  font-size: var(--fm-text-sm) !important;
  padding: 0.6em 1.8em !important;
  transition: all 0.2s var(--fm-transition-smooth) !important;
  border-width: var(--fm-card-border-width) !important;
  border-style: solid !important;
  letter-spacing: 0.02em;
  cursor: pointer;
  text-decoration: none !important;
}
body.has-world .button:hover,
body.has-world .add_to_cart_button:hover,
body.has-world .single_add_to_cart_button:hover {
  transform: scale(1.03);
}
body.has-world .button:active,
body.has-world .add_to_cart_button:active,
body.has-world .single_add_to_cart_button:active {
  transform: scale(0.98);
}

/* --- Einzelprodukt — Layout --- */
body.has-world.single-product .product {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--fm-space-md);
}
body.has-world.single-product .woocommerce-product-gallery img {
  border-radius: var(--fm-radius-card);
}
body.has-world.single-product .quantity .qty {
  border-radius: 12px !important;
  border: 2px solid currentColor !important;
  padding: 0.4em 0.8em !important;
  font-family: var(--fm-font-heading) !important;
  font-size: var(--fm-text-base);
  width: 60px;
  text-align: center;
}
body.has-world.single-product .woocommerce-tabs {
  margin-top: var(--fm-space-xl);
}
body.has-world.single-product .woocommerce-tabs .tabs li a {
  font-family: var(--fm-font-heading) !important;
  border-radius: 14px 14px 0 0 !important;
  font-size: var(--fm-text-sm);
}

/* --- WooCommerce Notices --- */
body.has-world .woocommerce-message,
body.has-world .woocommerce-info {
  border-radius: var(--fm-radius-card) !important;
  border: none !important;
  font-family: var(--fm-font-body) !important;
  padding: var(--fm-space-md) var(--fm-space-lg) !important;
}
body.has-world .woocommerce-error {
  border-radius: var(--fm-radius-card) !important;
  font-family: var(--fm-font-body) !important;
}

/* --- 404-Seite --- */
body.has-world.error404 h1 {
  font-family: var(--fm-font-heading) !important;
  color: inherit !important;
  opacity: 0.7;
}
body.has-world.error404 .uk-search-input,
body.has-world.error404 input[type="search"] {
  border-radius: var(--fm-radius-btn) !important;
  border: 2px solid currentColor !important;
  background: rgba(255,255,255,0.1) !important;
  color: inherit !important;
  padding: 0.8em 1.5em !important;
  font-family: var(--fm-font-body) !important;
}
body.has-world.error404 p {
  opacity: 0.6;
  font-family: var(--fm-font-body) !important;
}

/* --- Pagination — Pill-Style --- */
body.has-world .woocommerce-pagination .page-numbers {
  display: flex;
  gap: var(--fm-space-sm);
  justify-content: center;
  list-style: none;
  padding: var(--fm-space-xl) 0;
}
body.has-world .woocommerce-pagination .page-numbers li a,
body.has-world .woocommerce-pagination .page-numbers li span {
  display: inline-block;
  padding: 0.5em 1em;
  border-radius: var(--fm-radius-btn);
  font-family: var(--fm-font-heading);
  font-size: var(--fm-text-sm);
  transition: all 0.2s var(--fm-transition-smooth);
}
body.has-world .woocommerce-pagination .page-numbers li .current {
  font-weight: 700;
}

/* --- Footer transparent --- */
body.has-world .tm-footer,
body.has-world footer {
  background: transparent !important;
}

/* --- Builder-Nav (Kategorie-Links unterhalb Header) --- */
body.has-world .builder .uk-section-secondary a,
body.has-world .builder .uk-subnav a {
  font-family: var(--fm-font-body) !important;
  font-size: var(--fm-text-sm) !important;
  transition: color 0.2s, opacity 0.2s;
}
/* Helle Welten: dunklere Nav-Links + World-Font */
body.world-kreaturenreich .builder .uk-section-secondary a { color: rgba(45,106,79,0.7) !important; font-family: 'Caveat', cursive !important; font-size: 1.1em !important; font-weight: 700; }
body.world-kreaturenreich .builder .uk-section-secondary a:hover { color: #2D6A4F !important; }
body.world-kawaii-chaos .builder .uk-section-secondary a { color: rgba(139,64,112,0.7) !important; font-family: 'Bangers', cursive !important; letter-spacing: 0.04em; }
body.world-kawaii-chaos .builder .uk-section-secondary a:hover { color: #E0408A !important; }
body.world-home .builder .uk-section-secondary a { color: rgba(90,64,96,0.6) !important; }
body.world-home .builder .uk-section-secondary a:hover { color: #E75480 !important; }
/* Dunkle Welten: hellere Nav-Links + World-Font */
body.world-kosmos .builder .uk-section-secondary a { color: rgba(200,184,232,0.7) !important; font-family: 'Space Mono', monospace !important; font-size: 0.85em !important; text-transform: uppercase; letter-spacing: 0.06em; }
body.world-kosmos .builder .uk-section-secondary a:hover { color: #C4A8FF !important; }
body.world-darkside .builder .uk-section-secondary a { color: rgba(200,176,216,0.7) !important; font-family: 'Silkscreen', cursive !important; font-size: 0.8em !important; text-transform: uppercase; letter-spacing: 0.04em; }
body.world-darkside .builder .uk-section-secondary a:hover { color: #C8B0D8 !important; }
body.world-zauberwald .builder .uk-section-secondary a { color: rgba(200,232,208,0.6) !important; font-family: 'MedievalSharp', cursive !important; font-size: 1.05em !important; }
body.world-zauberwald .builder .uk-section-secondary a:hover { color: #C8E8D0 !important; }
body.world-sunset-strip .builder .uk-section-secondary a { color: rgba(255,224,240,0.6) !important; font-family: 'Bebas Neue', cursive !important; letter-spacing: 0.1em; text-transform: uppercase; font-size: 1.05em !important; }
body.world-sunset-strip .builder .uk-section-secondary a:hover { color: #FFE0F0 !important; }

/* --- Breadcrumb --- */
body.has-world .woocommerce-breadcrumb {
  padding: var(--fm-space-md) var(--fm-space-lg) !important;
  margin-bottom: var(--fm-space-sm) !important;
  font-size: var(--fm-text-sm) !important;
  font-family: var(--fm-font-body) !important;
}

/* --- Sections transparent (alle Welten) --- */
body.has-world .tm-page,
body.has-world .uk-section,
body.has-world .uk-section-default,
body.has-world .uk-section-secondary,
body.has-world .uk-section-muted,
body.has-world .uk-section-primary {
  background: transparent !important;
}

/* --- Warenkorb + Checkout --- */
body.has-world .woocommerce-cart .cart-collaterals,
body.has-world .woocommerce-checkout .checkout {
  font-family: var(--fm-font-body) !important;
}
body.has-world .woocommerce table.cart td,
body.has-world .woocommerce table.cart th {
  font-family: var(--fm-font-body) !important;
}
body.has-world .woocommerce table {
  border-radius: var(--fm-radius-card) !important;
  overflow: hidden;
}

/* --- Kategorie-Titel — Konsistente Größe alle Welten --- */
body.has-world .woocommerce-products-header__title,
body.has-world .page-title {
  font-family: var(--fm-font-heading) !important;
  font-size: var(--fm-text-3xl) !important;
  line-height: 1.15;
  margin-bottom: var(--fm-space-sm) !important;
}
body.has-world .term-description,
body.has-world .woocommerce-products-header p {
  font-family: var(--fm-font-body) !important;
  font-size: var(--fm-text-base);
  margin-bottom: var(--fm-space-lg);
}

/* ============================================================
   KREATURENREICH — AC-Insel × Tierliebe × Museum
   Die Welt für alle, die Tiere lieben. Wie draußen auf der
   AC-Insel: Wiese, Himmel, Schmetterlinge, Blumen. Die Folien
   hier zeigen Eisbärchen, bunte Tiermotive, Zootopia-Vibes.
   Farbpalette: Wiesengrün + Himmelblau + Blüten-Akzente.
   ============================================================ */
body.world-kreaturenreich {
  background-image: linear-gradient(180deg,
    #87CEEB 0%,     /* Himmelblau — AC-Himmel oben */
    #A8DFF0 10%,    /* Hellblau */
    #B8E8D0 22%,    /* Übergang zu Grün */
    #A8E0B0 35%,    /* Frisches Wiesengrün */
    #98D8A0 48%,    /* Saftiges Grün */
    #B0E0B8 60%,    /* Helleres Grün */
    #C8ECCC 72%,    /* Mintgrün */
    #E0F4E0 84%,    /* Ganz hell */
    #F0FAF0 100%    /* Fast-Weiß — Wiese trifft Horizont */
  ) !important;
  color: #3D6A50;
}

/* Kreaturenreich: Pfötchen-Muster im Hintergrund */
body.world-kreaturenreich::before {
  content: '';
  position: fixed;
  inset: 0;
  background:
    /* Große Pfote */
    radial-gradient(circle 4px at 15px 18px, rgba(94,160,100,0.07) 100%, transparent 100%),
    radial-gradient(circle 2.5px at 8px 10px, rgba(94,160,100,0.06) 100%, transparent 100%),
    radial-gradient(circle 2.5px at 22px 10px, rgba(94,160,100,0.06) 100%, transparent 100%),
    radial-gradient(circle 2px at 5px 5px, rgba(94,160,100,0.05) 100%, transparent 100%),
    radial-gradient(circle 2px at 25px 5px, rgba(94,160,100,0.05) 100%, transparent 100%);
  background-size: 60px 50px;
  z-index: 0;
  pointer-events: none;
}

/* Kreaturenreich: Sections — global transparent (siehe GLOBAL OVERRIDES) */

/* Überschrift: handgemaltes Holzschild im Museum */
body.world-kreaturenreich .woocommerce-products-header__title,
body.world-kreaturenreich .page-title {
  font-family: 'Indie Flower', cursive !important;
  color: #2D6A4F !important;
  text-shadow: 2px 2px 0 rgba(168,232,192,0.5);
  letter-spacing: 0.02em;
}
body.world-kreaturenreich .term-description,
body.world-kreaturenreich .woocommerce-products-header p {
  color: #5E8C70 !important;
}

/* Produkt-Cards: Kreaturenreich — warm, naturhaft */
body.world-kreaturenreich .products .product,
body.world-kreaturenreich .products .type-product {
  background: rgba(255,255,248,0.92) !important;
  border-color: #A8D8B4 !important;
}
body.world-kreaturenreich .products .product:hover,
body.world-kreaturenreich .products .type-product:hover {
  border-color: #5EC48A !important;
}

/* Card-Deko: Tier-Emojis als Sticker */
body.world-kreaturenreich .products .product::before,
body.world-kreaturenreich .products .type-product::before {
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 1.4rem;
  z-index: 5;
  filter: drop-shadow(1px 2px 3px rgba(0,0,0,0.12));
  animation: fm-float 3.5s ease-in-out infinite;
}
body.world-kreaturenreich .products .product:nth-child(5n+1)::before { content: '🦋'; animation-delay: 0s; }
body.world-kreaturenreich .products .product:nth-child(5n+2)::before { content: '🐾'; animation-delay: 0.7s; }
body.world-kreaturenreich .products .product:nth-child(5n+3)::before { content: '🌿'; animation-delay: 1.4s; }
body.world-kreaturenreich .products .product:nth-child(5n+4)::before { content: '🐣'; animation-delay: 2.1s; }
body.world-kreaturenreich .products .product:nth-child(5n+5)::before { content: '🦔'; animation-delay: 2.8s; }

/* Produkttitel: Handschrift-Stil, wie handgeschriebenes Etikett */
body.world-kreaturenreich .woocommerce-loop-product__title {
  font-family: 'Caveat', cursive !important;
  color: #2D6A4F !important;
  font-weight: 700;
  font-size: 1.15em !important;
}
body.world-kreaturenreich .price {
  font-family: 'Fredoka One', cursive !important;
  color: #F9A825 !important;
  font-weight: 700;
  background: rgba(249,168,37,0.1);
  padding: 3px 10px;
  border-radius: 999px;
  display: inline-block;
}
body.world-kreaturenreich .price::before {
  content: '🔔 ';
  font-size: 0.9em;
}

/* Buttons: Wiesengrün mit warmem Hover */
body.world-kreaturenreich .button,
body.world-kreaturenreich .add_to_cart_button {
  background: #68D088 !important;
  color: #2D5A40 !important;
  border-color: #4CAF6E !important;
}
body.world-kreaturenreich .button:hover,
body.world-kreaturenreich .add_to_cart_button:hover {
  background: #F9A825 !important;
  color: #5A4020 !important;
  border-color: #E09020 !important;
  box-shadow: 0 4px 15px rgba(249,168,37,0.35);
}

/* Links & Breadcrumbs */
body.world-kreaturenreich a {
  color: #4CAF6E;
}
body.world-kreaturenreich .woocommerce-breadcrumb {
  font-family: 'Varela Round', sans-serif !important;
  color: #78A890 !important;
}
body.world-kreaturenreich .woocommerce-breadcrumb a {
  color: #5EC48A !important;
}

/* Kreaturenreich: Schmetterling flattert über die Seite */
body.world-kreaturenreich::after {
  content: '🦋';
  position: fixed;
  top: 30%;
  right: -30px;
  font-size: 1.4rem;
  z-index: 999;
  pointer-events: none;
  animation: fm-butterfly-drift 20s ease-in-out infinite;
  filter: drop-shadow(1px 2px 3px rgba(0,0,0,0.1));
}
@keyframes fm-butterfly-drift {
  0%   { right: -30px; top: 30%; transform: rotate(-10deg); opacity: 0; }
  5%   { opacity: 1; }
  25%  { right: 40%; top: 20%; transform: rotate(5deg); }
  50%  { right: 70%; top: 35%; transform: rotate(-8deg); }
  75%  { right: 90%; top: 15%; transform: rotate(12deg); }
  95%  { opacity: 1; }
  100% { right: calc(100% + 30px); top: 25%; transform: rotate(-5deg); opacity: 0; }
}

/* ============================================================
   KOSMOS — AC Celeste / Observatorium / Sternschnuppen-Nacht
   Wie Celestes gemütlicher Sternenhimmel: warm-lila, nicht kalt.
   Tiefes Indigo mit schimmernden Sternen, Konstellations-Linien,
   und dem Gefühl einer lauen AC-Nacht auf der Insel.
   Folien: Galaxienacht, Galaxie, Kosmischer Glanz, Mitternachtsfunke.
   ============================================================ */
body.world-kosmos {
  background-image: linear-gradient(180deg,
    #0D0828 0%,     /* Tiefe Nacht */
    #1a1048 15%,    /* Indigo */
    #2a1860 30%,    /* Warmes Lila */
    #3d2878 45%,    /* Celeste-Lila */
    #2d2068 60%,    /* Zurück zu dunkler */
    #1a1048 75%,    /* Indigo */
    #100838 90%,    /* Tiefe Nacht */
    #0D0828 100%
  ) !important;
  color: #C8B8E8;
}

/* Kosmos: Sternfeld — viele kleine Punkte, wie eine Sternkarte */
body.world-kosmos::before {
  content: '';
  position: fixed;
  inset: 0;
  background:
    /* Helle Sterne */
    radial-gradient(1.5px 1.5px at 10% 15%, rgba(255,255,255,0.6) 50%, transparent 100%),
    radial-gradient(1px 1px at 25% 40%, rgba(196,168,255,0.5) 50%, transparent 100%),
    radial-gradient(2px 2px at 40% 8%, rgba(255,215,0,0.4) 50%, transparent 100%),
    radial-gradient(1px 1px at 55% 65%, rgba(232,213,255,0.5) 50%, transparent 100%),
    radial-gradient(1.5px 1.5px at 70% 25%, rgba(255,255,255,0.5) 50%, transparent 100%),
    radial-gradient(1px 1px at 85% 50%, rgba(196,168,255,0.4) 50%, transparent 100%),
    radial-gradient(1.5px 1.5px at 15% 70%, rgba(255,255,255,0.4) 50%, transparent 100%),
    radial-gradient(1px 1px at 35% 85%, rgba(155,143,238,0.5) 50%, transparent 100%),
    radial-gradient(2px 2px at 60% 35%, rgba(255,215,0,0.3) 50%, transparent 100%),
    radial-gradient(1px 1px at 78% 75%, rgba(232,213,255,0.4) 50%, transparent 100%),
    radial-gradient(1px 1px at 92% 12%, rgba(255,255,255,0.5) 50%, transparent 100%),
    radial-gradient(1.5px 1.5px at 5% 45%, rgba(196,168,255,0.3) 50%, transparent 100%),
    radial-gradient(1px 1px at 48% 92%, rgba(255,255,255,0.4) 50%, transparent 100%),
    radial-gradient(1.5px 1.5px at 88% 88%, rgba(255,215,0,0.3) 50%, transparent 100%);
  z-index: 0;
  pointer-events: none;
  animation: fm-stars-twinkle 4s ease-in-out infinite alternate;
}
@keyframes fm-stars-twinkle {
  0%   { opacity: 0.7; }
  100% { opacity: 1; }
}

/* Kosmos: Sections transparent */
/* Kosmos: Sections — global transparent */

/* Überschrift: Sternkarten-Terminal — geometrisch, leuchtend */
body.world-kosmos .woocommerce-products-header__title,
body.world-kosmos .page-title {
  font-family: 'Orbitron', sans-serif !important;
  color: #E8D5FF !important;
  text-shadow: 2px 2px 0 rgba(107,91,174,0.5), 0 0 20px rgba(196,168,255,0.2);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 700;
}
body.world-kosmos .term-description,
body.world-kosmos .woocommerce-products-header p {
  color: #B8A8E0 !important;
}

/* Produkt-Cards: Kosmos — Glasmorphism, subtiler Glow */
body.world-kosmos .products .product,
body.world-kosmos .products .type-product {
  background: rgba(30, 20, 60, 0.8) !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border-color: rgba(107,91,174,0.5) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15), 0 0 1px rgba(196,168,255,0.3);
}
body.world-kosmos .products .product:hover,
body.world-kosmos .products .type-product:hover {
  border-color: #9B8FEE !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.2), 0 0 12px rgba(155,143,238,0.15);
}

/* Card-Deko: Himmelskörper als Sticker */
body.world-kosmos .products .product::before,
body.world-kosmos .products .type-product::before {
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 1.3rem;
  z-index: 5;
  filter: drop-shadow(0 0 6px rgba(196,168,255,0.4));
  animation: fm-twinkle 3s ease-in-out infinite;
}
body.world-kosmos .products .product:nth-child(5n+1)::before { content: '⭐'; animation-delay: 0s; }
body.world-kosmos .products .product:nth-child(5n+2)::before { content: '🌙'; animation-delay: 0.6s; }
body.world-kosmos .products .product:nth-child(5n+3)::before { content: '✨'; animation-delay: 1.2s; }
body.world-kosmos .products .product:nth-child(5n+4)::before { content: '💫'; animation-delay: 1.8s; }
body.world-kosmos .products .product:nth-child(5n+5)::before { content: '🌟'; animation-delay: 2.4s; }

/* Produkttitel: Technisch, monospace — wie eine Sternkarte */
body.world-kosmos .woocommerce-loop-product__title {
  font-family: 'Space Mono', monospace !important;
  font-weight: 700;
  color: #E8D5FF !important;
  font-size: 0.85em !important;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
body.world-kosmos .price {
  font-family: 'Fredoka One', cursive !important;
  color: #FFD700 !important;
  background: rgba(255,215,0,0.1);
  padding: 3px 10px;
  border-radius: 999px;
  display: inline-block;
  text-shadow: 0 0 8px rgba(255,215,0,0.3);
}
body.world-kosmos .price::before {
  content: '⭐ ';
  font-size: 0.9em;
}

/* Buttons: Lila mit Stern-Glow */
body.world-kosmos .button,
body.world-kosmos .add_to_cart_button {
  background: #6B5BAE !important;
  color: #F0E8FF !important;
  border-color: #8B7BD0 !important;
}
body.world-kosmos .button:hover,
body.world-kosmos .add_to_cart_button:hover {
  background: #8B7BD0 !important;
  box-shadow: 0 4px 15px rgba(139,123,208,0.4), 0 0 20px rgba(196,168,255,0.2);
}

/* Links & Breadcrumbs */
body.world-kosmos a {
  color: #C4A8FF;
}
body.world-kosmos .woocommerce-breadcrumb {
  font-family: 'Varela Round', sans-serif !important;
  color: #7868A8 !important;
}
body.world-kosmos .woocommerce-breadcrumb a {
  color: #B8A8E0 !important;
}

/* Kosmos: Sternschnuppe schießt diagonal über die Seite */
body.world-kosmos::after {
  content: '💫';
  position: fixed;
  top: -30px;
  left: -30px;
  font-size: 1.2rem;
  z-index: 999;
  pointer-events: none;
  opacity: 0;
  animation: fm-shooting-star 12s ease-in-out infinite;
}
@keyframes fm-shooting-star {
  0%   { top: -30px; left: -30px; opacity: 0; transform: rotate(0deg); }
  2%   { opacity: 1; }
  15%  { top: 60%; left: 80%; opacity: 1; transform: rotate(20deg); }
  18%  { opacity: 0; }
  100% { opacity: 0; top: 60%; left: 80%; }
}

/* ============================================================
   KAWAII CHAOS — AC Kawaii-Zimmer × Candy Shop × Sanrio Fever
   ALLES ist pink. ALLES hat Herzen. ALLES ist zu viel — und
   genau das ist der Punkt. Wie ein AC-Zimmer, in dem jemand
   NUR die süßesten Items platziert hat. Ostereierfreude,
   Retrobogen, Herzensregenbogen — pure Farbexplosion.
   Farbpalette: Hot Pink + Lavendel + Mint + Pfirsich.
   ============================================================ */
body.world-kawaii-chaos {
  background-image: linear-gradient(180deg,
    #FFE0F0 0%,      /* Zuckerwatte-Rosa oben */
    #FFD6EC 8%,      /* Wärmeres Pink */
    #FFECF5 18%,     /* Hauch Weiß */
    #F8E0FF 28%,     /* Lavendel-Schimmer */
    #FFE8F8 40%,     /* Zurück zu Rosa */
    #FFF0F5 52%,     /* Lavender Blush — Mitte */
    #F0E6FF 62%,     /* Flieder */
    #FFE8F0 74%,     /* Rosa */
    #FFECF5 85%,     /* Hell-Rosa */
    #FFF5FA 100%     /* Fast-Weiß mit Pink-Hauch */
  ) !important;
  color: #8B4070;
}

/* Kawaii: Herz-Konfetti-Muster im Hintergrund */
body.world-kawaii-chaos::before {
  content: '';
  position: fixed;
  inset: 0;
  background:
    /* Große Herzen (verstreut) */
    radial-gradient(circle 6px at 20px 25px, rgba(255,105,180,0.06) 100%, transparent 100%),
    radial-gradient(circle 6px at 22px 22px, rgba(255,105,180,0.06) 100%, transparent 100%),
    radial-gradient(circle 4px at 16px 30px, rgba(255,105,180,0.05) 100%, transparent 100%),
    /* Kleine Sterne */
    radial-gradient(circle 2px at 50px 15px, rgba(218,112,214,0.06) 100%, transparent 100%),
    radial-gradient(circle 2px at 55px 40px, rgba(255,182,193,0.05) 100%, transparent 100%),
    /* Konfetti-Punkte */
    radial-gradient(circle 1.5px at 35px 8px, rgba(255,20,147,0.04) 100%, transparent 100%),
    radial-gradient(circle 1.5px at 70px 35px, rgba(147,112,219,0.04) 100%, transparent 100%),
    radial-gradient(circle 1.5px at 10px 45px, rgba(255,182,193,0.05) 100%, transparent 100%);
  background-size: 80px 55px;
  z-index: 0;
  pointer-events: none;
}

/* Kawaii: Hüpfender Hamster-Animation */
@keyframes fm-kawaii-hamster {
  0%      { left: -40px; top: 85%; opacity: 0; transform: scaleX(1) rotate(0deg); }
  3%      { opacity: 1; }
  8%      { top: 82%; transform: scaleX(1) rotate(-5deg); }
  12%     { top: 85%; transform: scaleX(1) rotate(0deg); }
  18%     { top: 80%; transform: scaleX(1) rotate(-8deg); }
  22%     { top: 85%; transform: scaleX(1) rotate(0deg); }
  28%     { top: 81%; transform: scaleX(1) rotate(-5deg); }
  32%     { top: 85%; transform: scaleX(1) rotate(0deg); }
  /* Pause in der Mitte — Hamster knabbert */
  40%     { left: 45%; top: 85%; transform: scaleX(1) rotate(0deg); }
  42%     { transform: scaleX(1) rotate(8deg); }
  44%     { transform: scaleX(1) rotate(-5deg); }
  46%     { transform: scaleX(1) rotate(8deg); }
  48%     { transform: scaleX(1) rotate(-5deg); }
  50%     { transform: scaleX(1) rotate(0deg); }
  /* Weiterhüpfen */
  55%     { top: 82%; transform: scaleX(1) rotate(-5deg); }
  58%     { top: 85%; transform: scaleX(1) rotate(0deg); }
  64%     { top: 80%; transform: scaleX(1) rotate(-8deg); }
  68%     { top: 85%; transform: scaleX(1) rotate(0deg); }
  74%     { top: 82%; transform: scaleX(1) rotate(-5deg); }
  78%     { top: 85%; transform: scaleX(1) rotate(0deg); }
  92%     { left: 105%; opacity: 1; }
  95%     { opacity: 0; }
  100%    { left: 105%; top: 85%; opacity: 0; }
}
body.world-kawaii-chaos::after {
  content: '🐹';
  position: fixed;
  font-size: 2rem;
  z-index: 2;
  pointer-events: none;
  animation: fm-kawaii-hamster 22s linear infinite;
  filter: drop-shadow(0 2px 4px rgba(255,105,180,0.3));
}

/* Kawaii: Sections — global transparent */

/* Überschrift: Bonbon-Schild mit Regenbogen-Schatten */
body.world-kawaii-chaos .woocommerce-products-header__title,
body.world-kawaii-chaos .page-title {
  color: #FF1493 !important;
  text-shadow:
    2px 2px 0 rgba(255,105,180,0.2),
    4px 4px 0 rgba(218,112,214,0.1);
  letter-spacing: 0.04em;
  position: relative;
}
/* Funkelnder Stern nach der Überschrift */
body.world-kawaii-chaos .woocommerce-products-header__title::after,
body.world-kawaii-chaos .page-title::after {
  content: ' ✨';
  font-size: 0.7em;
}

/* Beschreibung: Comic-Vibe in Orchidee */
body.world-kawaii-chaos .term-description,
body.world-kawaii-chaos .woocommerce-products-header p {
  color: #C060A0 !important;
  font-size: 1.05rem;
}

/* Produktkarten: Kawaii-Chaos — bunt, aber konsistenter Rahmen */
body.world-kawaii-chaos .products .product,
body.world-kawaii-chaos .products .type-product {
  background: rgba(255, 255, 255, 0.92) !important;
  border-color: #FFB6C1 !important;
}
body.world-kawaii-chaos .products .product:hover,
body.world-kawaii-chaos .products .type-product:hover {
  border-color: #FF69B4 !important;
}

/* Kawaii-Sticker: Emoji-Deko auf jeder Karte (rotierend) */
body.world-kawaii-chaos .products .product::before,
body.world-kawaii-chaos .products .type-product::before {
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 1.4rem;
  z-index: 10;
  filter: drop-shadow(1px 2px 3px rgba(255,105,180,0.3));
  animation: fm-sticker-pop 4s ease-in-out infinite;
}
body.world-kawaii-chaos .products .product:nth-child(6n+1)::before,
body.world-kawaii-chaos .products .type-product:nth-child(6n+1)::before { content: '💖'; --fm-rot: 10deg; }
body.world-kawaii-chaos .products .product:nth-child(6n+2)::before,
body.world-kawaii-chaos .products .type-product:nth-child(6n+2)::before { content: '🌈'; --fm-rot: -8deg; }
body.world-kawaii-chaos .products .product:nth-child(6n+3)::before,
body.world-kawaii-chaos .products .type-product:nth-child(6n+3)::before { content: '⭐'; --fm-rot: 12deg; }
body.world-kawaii-chaos .products .product:nth-child(6n+4)::before,
body.world-kawaii-chaos .products .type-product:nth-child(6n+4)::before { content: '🎀'; --fm-rot: -6deg; }
body.world-kawaii-chaos .products .product:nth-child(6n+5)::before,
body.world-kawaii-chaos .products .type-product:nth-child(6n+5)::before { content: '🍬'; --fm-rot: 15deg; }
body.world-kawaii-chaos .products .product:nth-child(6n+6)::before,
body.world-kawaii-chaos .products .type-product:nth-child(6n+6)::before { content: '🦄'; --fm-rot: -10deg; }

/* Produkttitel: Comic-Bubble — laut und bunt */
body.world-kawaii-chaos .woocommerce-loop-product__title {
  font-family: 'Bangers', cursive !important;
  color: #E0408A !important;
  letter-spacing: 0.06em;
  font-size: 1.1em !important;
}
body.world-kawaii-chaos .woocommerce-loop-product__title::before {
  content: '♡ ';
  color: #FF69B4;
  font-size: 0.85em;
}

/* Preise: Pink mit Sparkle */
body.world-kawaii-chaos .price {
  font-family: 'Fredoka One', cursive !important;
  color: #FF1493 !important;
  text-shadow: 0 0 8px rgba(255,20,147,0.15);
}
body.world-kawaii-chaos .price::before {
  content: '💖 ';
}

/* Buttons: Bonbon-Pink, rund, bouncig */
body.world-kawaii-chaos .button,
body.world-kawaii-chaos .add_to_cart_button {
  background: linear-gradient(135deg, #FF69B4, #FF85C8) !important;
  color: #fff !important;
  border-color: #E8508A !important;
  text-shadow: 0 1px 2px rgba(180,40,100,0.3);
}
body.world-kawaii-chaos .button:hover,
body.world-kawaii-chaos .add_to_cart_button:hover {
  background: linear-gradient(135deg, #FF1493, #FF69B4) !important;
  box-shadow: 0 4px 18px rgba(255,20,147,0.4), 0 0 12px rgba(255,105,180,0.2);
  border-color: #D0307A !important;
}

/* Links: Deep Pink */
body.world-kawaii-chaos a {
  color: #E0408A;
}
body.world-kawaii-chaos a:hover {
  color: #FF1493;
  text-shadow: 0 0 6px rgba(255,20,147,0.2);
}

/* Breadcrumbs: Comic-Schrift, zart */
body.world-kawaii-chaos .woocommerce-breadcrumb {
  font-family: 'Comic Neue', cursive !important;
  font-weight: 700;
  color: rgba(200,80,140,0.45) !important;
}
body.world-kawaii-chaos .woocommerce-breadcrumb a {
  color: #FF69B4 !important;
}
body.world-kawaii-chaos .woocommerce-breadcrumb a:hover {
  color: #FF1493 !important;
}

/* ============================================================
   ZAUBERWALD — Studio Ghibli × AC Märchenwald × Pilzinsel
   Wie ein Ghibli-Film in Animal Crossing: warmer, verzauberter
   Wald voller Pilze, Glühwürmchen, Moos und sanftem Licht.
   NICHT düster — sondern gemütlich, magisch, zum Hineinlegen.
   Produkt: Tiefseegarten (Blumen + Glitzer in Türkis).
   Farbpalette: Moosgrün + Warmgold + Türkis + Pilzrot.
   ============================================================ */
body.world-zauberwald {
  background-image: linear-gradient(180deg,
    #1A3A28 0%,       /* Tiefer Waldboden — Nacht unter dem Blätterdach */
    #1E4230 8%,       /* Dunkelgrün */
    #264D38 16%,      /* Moos */
    #2E5A42 26%,      /* Waldgrün */
    #36684D 38%,      /* Lichtung beginnt */
    #3E7658 50%,      /* Ghibli-Grün — Mitte */
    #367050 62%,      /* Leicht dunkler */
    #2E6244 74%,      /* Wald wird tiefer */
    #265838 84%,      /* Farn-Schatten */
    #1E4A2E 92%,      /* Fast am Boden */
    #1A3A28 100%      /* Waldboden — Loop */
  ) !important;
  color: #C8E8D0;
}

/* Zauberwald: Glühwürmchen-Muster im Hintergrund */
body.world-zauberwald::before {
  content: '';
  position: fixed;
  inset: 0;
  background:
    /* Glühwürmchen — warme goldene Punkte */
    radial-gradient(circle 2px at 25px 30px, rgba(255,220,100,0.12) 100%, transparent 100%),
    radial-gradient(circle 1.5px at 60px 15px, rgba(200,255,180,0.08) 100%, transparent 100%),
    radial-gradient(circle 2px at 45px 50px, rgba(255,240,140,0.10) 100%, transparent 100%),
    radial-gradient(circle 1px at 80px 25px, rgba(180,255,200,0.06) 100%, transparent 100%),
    radial-gradient(circle 1.5px at 15px 60px, rgba(255,210,80,0.08) 100%, transparent 100%),
    /* Moos-Flecken */
    radial-gradient(circle 8px at 40px 70px, rgba(100,180,120,0.04) 100%, transparent 100%),
    radial-gradient(circle 6px at 75px 45px, rgba(80,160,100,0.03) 100%, transparent 100%);
  background-size: 100px 80px;
  z-index: 0;
  pointer-events: none;
  animation: fm-zauber-glow 6s ease-in-out infinite alternate;
}
@keyframes fm-zauber-glow {
  0% { opacity: 0.6; }
  100% { opacity: 1; }
}

/* Zauberwald: Wanderndes Glühwürmchen (groß, gold, schwebt) */
@keyframes fm-firefly {
  0%      { left: 10%; top: 30%; opacity: 0; }
  5%      { opacity: 0.8; }
  15%     { left: 25%; top: 20%; }
  25%     { left: 35%; top: 35%; opacity: 1; }
  35%     { left: 50%; top: 15%; }
  45%     { left: 60%; top: 40%; opacity: 0.6; }
  55%     { left: 70%; top: 25%; opacity: 1; }
  65%     { left: 75%; top: 45%; }
  75%     { left: 85%; top: 20%; opacity: 0.7; }
  88%     { left: 92%; top: 35%; opacity: 0.4; }
  95%     { opacity: 0; }
  100%    { left: 95%; top: 30%; opacity: 0; }
}
body.world-zauberwald::after {
  content: '✨';
  position: fixed;
  font-size: 1.4rem;
  z-index: 2;
  pointer-events: none;
  animation: fm-firefly 18s ease-in-out infinite;
  filter: drop-shadow(0 0 8px rgba(255,220,100,0.6)) drop-shadow(0 0 20px rgba(255,200,50,0.3));
}

/* Zauberwald: Sections — global transparent */

/* Überschrift: Alte Schriftrolle, mittelalterlich */
body.world-zauberwald .woocommerce-products-header__title,
body.world-zauberwald .page-title {
  font-family: 'Cinzel', serif !important;
  color: #B8E8C0 !important;
  text-shadow:
    2px 2px 0 rgba(30,60,40,0.5),
    0 0 20px rgba(180,255,200,0.15);
  letter-spacing: 0.08em;
  font-weight: 900;
}
body.world-zauberwald .woocommerce-products-header__title::after,
body.world-zauberwald .page-title::after {
  content: ' 🍃';
  font-size: 0.6em;
}

/* Beschreibung: Warm, erzählerisch */
body.world-zauberwald .term-description,
body.world-zauberwald .woocommerce-products-header p {
  color: #A0D0B0 !important;
  font-size: 1.05rem;
}

/* Produktkarten: Zauberwald — Glasmorphism, Waldgrün */
body.world-zauberwald .products .product,
body.world-zauberwald .products .type-product {
  background: rgba(40, 75, 50, 0.75) !important;
  backdrop-filter: blur(4px);
  border-color: rgba(160,216,184,0.35) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12), 0 0 1px rgba(180,255,200,0.2);
}
body.world-zauberwald .products .product:hover,
body.world-zauberwald .products .type-product:hover {
  border-color: rgba(180,255,200,0.5) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.18), 0 0 12px rgba(180,255,200,0.1);
}

/* Wald-Sticker: Pilze, Blätter, Tiere */
body.world-zauberwald .products .product::before,
body.world-zauberwald .products .type-product::before {
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 1.4rem;
  z-index: 10;
  filter: drop-shadow(1px 2px 3px rgba(0,0,0,0.3));
  animation: fm-sticker-pop 5s ease-in-out infinite;
}
body.world-zauberwald .products .product:nth-child(6n+1)::before,
body.world-zauberwald .products .type-product:nth-child(6n+1)::before { content: '🍄'; --fm-rot: 8deg; }
body.world-zauberwald .products .product:nth-child(6n+2)::before,
body.world-zauberwald .products .type-product:nth-child(6n+2)::before { content: '🌿'; --fm-rot: -10deg; }
body.world-zauberwald .products .product:nth-child(6n+3)::before,
body.world-zauberwald .products .type-product:nth-child(6n+3)::before { content: '🦌'; --fm-rot: 5deg; }
body.world-zauberwald .products .product:nth-child(6n+4)::before,
body.world-zauberwald .products .type-product:nth-child(6n+4)::before { content: '🌸'; --fm-rot: -12deg; }
body.world-zauberwald .products .product:nth-child(6n+5)::before,
body.world-zauberwald .products .type-product:nth-child(6n+5)::before { content: '🐸'; --fm-rot: 7deg; }
body.world-zauberwald .products .product:nth-child(6n+6)::before,
body.world-zauberwald .products .type-product:nth-child(6n+6)::before { content: '🍃'; --fm-rot: -8deg; }

/* Produkttitel: Mittelalterliche Runen-Schrift */
body.world-zauberwald .woocommerce-loop-product__title {
  font-family: 'MedievalSharp', cursive !important;
  color: #C8F0D0 !important;
  letter-spacing: 0.04em;
  font-size: 1.05em !important;
}

/* Preise: Goldglühen wie Glühwürmchen */
body.world-zauberwald .price {
  font-family: 'Fredoka One', cursive !important;
  color: #E8D890 !important;
  text-shadow: 0 0 10px rgba(255,220,100,0.2);
}
body.world-zauberwald .price::before {
  content: '🍄 ';
  font-size: 0.9em;
}

/* Buttons: Moos-Grün mit Gold-Hover */
body.world-zauberwald .button,
body.world-zauberwald .add_to_cart_button {
  background: linear-gradient(135deg, #4A8A62, #5EA878) !important;
  color: #E8FFE8 !important;
  border-color: #6AA880 !important;
  text-shadow: 0 1px 2px rgba(30,60,40,0.3);
}
body.world-zauberwald .button:hover,
body.world-zauberwald .add_to_cart_button:hover {
  background: linear-gradient(135deg, #5EA878, #78C090) !important;
  box-shadow: 0 4px 18px rgba(126,184,150,0.4), 0 0 12px rgba(180,255,200,0.15);
  border-color: #88D0A0 !important;
}

/* Links: Türkis-Grün */
body.world-zauberwald a {
  color: #88D8A8;
}
body.world-zauberwald a:hover {
  color: #B8F0C8;
  text-shadow: 0 0 6px rgba(180,255,200,0.2);
}

/* Breadcrumbs: Zart, fast wie Nebel */
body.world-zauberwald .woocommerce-breadcrumb {
  font-family: 'Varela Round', sans-serif !important;
  color: rgba(160,208,176,0.5) !important;
}
body.world-zauberwald .woocommerce-breadcrumb a {
  color: #88C8A0 !important;
}
body.world-zauberwald .woocommerce-breadcrumb a:hover {
  color: #B8E8C8 !important;
}

/* ============================================================
   DARKSIDE — Pastel Goth × AC Gothic-Zimmer × Romantisch Dunkel
   NICHT Halloween. NICHT Kürbisse. Sondern: Schmiedeeiserne
   Tore, Rosenranken, Mondlicht, viktorianische Eleganz — aber
   cute. Wie das Gothic-Set in AC: dunkel, aber mit runden Ecken
   und weichem Licht. Romantisch-melancholisch, nie aggressiv.
   Produkt: Tiefschwarz (Glossy Black).
   Farbpalette: Mitternachts-Violett + Rosé-Pink + Lavendel + Silber.
   ============================================================ */
body.world-darkside {
  background-image: linear-gradient(180deg,
    #1A1228 0%,       /* Tiefste Mitternacht */
    #201838 8%,       /* Violett-Schwarz */
    #2A2048 18%,      /* Dunkles Lila */
    #322858 28%,      /* Wird wärmer */
    #382E62 40%,      /* Romantisches Violett */
    #342A5A 52%,      /* Mitte — Mondlicht-Violett */
    #2E2450 62%,      /* Zurück ins Dunkel */
    #262048 72%,      /* Tieflila */
    #201838 84%,      /* Fast am Boden */
    #1A1228 100%      /* Mitternacht — Loop */
  ) !important;
  color: #C8B0D8;
}

/* Darkside: Schmiedeeisen-Gitter-Muster im Hintergrund */
body.world-darkside::before {
  content: '';
  position: fixed;
  inset: 0;
  background:
    /* Rosenranken-Andeutung */
    radial-gradient(circle 3px at 30px 35px, rgba(255,107,138,0.05) 100%, transparent 100%),
    radial-gradient(circle 2px at 28px 32px, rgba(255,107,138,0.04) 100%, transparent 100%),
    radial-gradient(circle 2px at 32px 38px, rgba(255,107,138,0.04) 100%, transparent 100%),
    /* Eisengitter-Kreuzungen */
    radial-gradient(circle 1.5px at 50px 50px, rgba(200,180,220,0.06) 100%, transparent 100%),
    radial-gradient(circle 1px at 0px 50px, rgba(200,180,220,0.04) 100%, transparent 100%),
    radial-gradient(circle 1px at 50px 0px, rgba(200,180,220,0.04) 100%, transparent 100%),
    /* Vertikale Gitterstäbe */
    linear-gradient(0deg, transparent 48%, rgba(180,160,200,0.03) 49%, rgba(180,160,200,0.03) 51%, transparent 52%),
    /* Horizontale Gitterstäbe */
    linear-gradient(90deg, transparent 48%, rgba(180,160,200,0.03) 49%, rgba(180,160,200,0.03) 51%, transparent 52%);
  background-size: 100px 100px;
  z-index: 0;
  pointer-events: none;
}

/* Darkside: Schwebende Rose — driftet langsam durch den Raum */
@keyframes fm-dark-rose {
  0%      { right: -40px; top: 20%; opacity: 0; transform: rotate(0deg); }
  5%      { opacity: 0.7; }
  20%     { right: 15%; top: 30%; transform: rotate(-15deg); }
  40%     { right: 35%; top: 18%; transform: rotate(10deg); }
  60%     { right: 55%; top: 35%; transform: rotate(-20deg); opacity: 0.8; }
  80%     { right: 75%; top: 22%; transform: rotate(5deg); }
  92%     { right: 95%; top: 30%; opacity: 0.5; }
  97%     { opacity: 0; }
  100%    { right: 105%; top: 28%; opacity: 0; transform: rotate(-10deg); }
}
body.world-darkside::after {
  content: '🥀';
  position: fixed;
  font-size: 1.8rem;
  z-index: 2;
  pointer-events: none;
  animation: fm-dark-rose 25s ease-in-out infinite;
  filter: drop-shadow(0 0 6px rgba(255,107,138,0.3)) drop-shadow(0 0 15px rgba(200,100,150,0.15));
}

/* Darkside: Sections — global transparent */

/* Überschrift: 8-Bit Pixel-Font — Gaming-Goth */
body.world-darkside .woocommerce-products-header__title,
body.world-darkside .page-title {
  font-family: 'Silkscreen', cursive !important;
  color: #E0C8F0 !important;
  text-shadow:
    2px 2px 0 rgba(40,20,60,0.6),
    0 0 20px rgba(200,140,220,0.15),
    0 0 40px rgba(255,107,138,0.08);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
body.world-darkside .woocommerce-products-header__title::after,
body.world-darkside .page-title::after {
  content: ' 🌙';
  font-size: 0.6em;
}

/* Beschreibung: Silber-Lavendel */
body.world-darkside .term-description,
body.world-darkside .woocommerce-products-header p {
  color: #A890B8 !important;
  font-size: 1.05rem;
}

/* Produktkarten: Darkside — dunkel, subtiler Neon-Glow */
body.world-darkside .products .product,
body.world-darkside .products .type-product {
  background: rgba(35, 25, 50, 0.85) !important;
  backdrop-filter: blur(4px);
  border-color: rgba(180,140,220,0.25) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15), 0 0 1px rgba(255,107,138,0.2);
}
body.world-darkside .products .product:hover,
body.world-darkside .products .type-product:hover {
  border-color: rgba(255,107,138,0.5) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.2), 0 0 12px rgba(255,107,138,0.12);
}

/* Gothic-Sticker: Rosen, Monde, Fledermäuse — romantisch, nicht gruselig */
body.world-darkside .products .product::before,
body.world-darkside .products .type-product::before {
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 1.4rem;
  z-index: 10;
  filter: drop-shadow(0 0 4px rgba(200,140,220,0.3));
  animation: fm-sticker-pop 5s ease-in-out infinite;
}
body.world-darkside .products .product:nth-child(6n+1)::before,
body.world-darkside .products .type-product:nth-child(6n+1)::before { content: '🥀'; --fm-rot: -8deg; }
body.world-darkside .products .product:nth-child(6n+2)::before,
body.world-darkside .products .type-product:nth-child(6n+2)::before { content: '🌙'; --fm-rot: 10deg; }
body.world-darkside .products .product:nth-child(6n+3)::before,
body.world-darkside .products .type-product:nth-child(6n+3)::before { content: '🦇'; --fm-rot: -5deg; }
body.world-darkside .products .product:nth-child(6n+4)::before,
body.world-darkside .products .type-product:nth-child(6n+4)::before { content: '🔮'; --fm-rot: 12deg; }
body.world-darkside .products .product:nth-child(6n+5)::before,
body.world-darkside .products .type-product:nth-child(6n+5)::before { content: '🕯️'; --fm-rot: -10deg; }
body.world-darkside .products .product:nth-child(6n+6)::before,
body.world-darkside .products .type-product:nth-child(6n+6)::before { content: '✨'; --fm-rot: 7deg; }

/* Produkttitel: Pixel-Font — retro-gaming */
body.world-darkside .woocommerce-loop-product__title {
  font-family: 'Silkscreen', cursive !important;
  color: #D8C0E8 !important;
  letter-spacing: 0.04em;
  font-size: 0.8em !important;
  text-transform: uppercase;
}

/* Preise: Rosé-Pink mit sanftem Glow */
body.world-darkside .price {
  font-family: 'Fredoka One', cursive !important;
  color: #FF8CA8 !important;
  text-shadow: 0 0 10px rgba(255,107,138,0.2);
}
body.world-darkside .price::before {
  content: '🖤 ';
  font-size: 0.9em;
}

/* Buttons: Tiefviolett mit Rosé-Hover */
body.world-darkside .button,
body.world-darkside .add_to_cart_button {
  background: linear-gradient(135deg, #5A3A6A, #6B4A78) !important;
  color: #F0D8FF !important;
  border-color: #7A5A88 !important;
  text-shadow: 0 1px 2px rgba(30,15,40,0.4);
}
body.world-darkside .button:hover,
body.world-darkside .add_to_cart_button:hover {
  background: linear-gradient(135deg, #7A4A8A, #8B5A98) !important;
  box-shadow: 0 4px 18px rgba(200,140,220,0.3), 0 0 12px rgba(255,107,138,0.15);
  border-color: #9B6AA8 !important;
}

/* Links: Rosé-Pink */
body.world-darkside a {
  color: #E090B0;
}
body.world-darkside a:hover {
  color: #FF8CA8;
  text-shadow: 0 0 6px rgba(255,107,138,0.2);
}

/* Breadcrumbs: Flüstern im Dunkeln */
body.world-darkside .woocommerce-breadcrumb {
  font-family: 'Varela Round', sans-serif !important;
  color: rgba(168,136,192,0.5) !important;
}
body.world-darkside .woocommerce-breadcrumb a {
  color: #A888C0 !important;
}
body.world-darkside .woocommerce-breadcrumb a:hover {
  color: #C8A8D8 !important;
}

/* ============================================================
   HOME / SHOP — AC-Insel-Hauptplatz / Isabelles Büro
   Der Ort, von dem alle Abenteuer starten. Warm, bunt, einladend.
   Wie das Rathaus in Animal Crossing: pastellig, freundlich, voller
   kleiner Details die zum Entdecken einladen.
   ============================================================ */
body.world-home {
  background-image: linear-gradient(180deg,
    #FFD6E0 0%,    /* Rosa — wie der AC-Sonnenaufgang */
    #FFE0EC 12%,
    #FFE8D8 24%,   /* Pfirsich */
    #FFF0D0 36%,   /* Zitronengelb */
    #E8F8E0 48%,   /* Mintgrün */
    #D8F0FF 60%,   /* Himmelblau */
    #E0E0FF 72%,   /* Lavendel */
    #F0D8FF 84%,   /* Flieder */
    #FFD6E0 100%   /* zurück zu Rosa — Loop-Effekt */
  ) !important;
  color: #5A4060;
}

/* Home: Subtiles Rauten-Muster (AC-Tapete) */
body.world-home::before {
  content: '';
  position: fixed;
  inset: 0;
  background:
    repeating-linear-gradient(
      45deg,
      transparent,
      transparent 20px,
      rgba(255,255,255,0.12) 20px,
      rgba(255,255,255,0.12) 21px
    ),
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 20px,
      rgba(255,255,255,0.12) 20px,
      rgba(255,255,255,0.12) 21px
    );
  z-index: 0;
  pointer-events: none;
}

/* Home: Sections — global transparent */

/* Home: Überschrift */
body.world-home .woocommerce-products-header__title,
body.world-home .page-title {
  color: #E75480 !important;
  text-shadow: 2px 2px 0 rgba(255,215,0,0.3);
}
body.world-home .term-description,
body.world-home .woocommerce-products-header p {
  color: rgba(120,80,110,0.7) !important;
}

/* Home: Produkt-Cards — bunt, verspielt, wie Geschenkpakete */
body.world-home .products .product,
body.world-home .products .type-product {
  background: rgba(255,255,255,0.75) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-color: rgba(231,84,128,0.2) !important;
}
body.world-home .products .product:hover,
body.world-home .products .type-product:hover {
  border-color: #E75480 !important;
}

/* Home: Sticker-Deko auf Cards — rotierende Emojis pro Card */
body.world-home .products .product::before,
body.world-home .products .type-product::before {
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 1.4rem;
  z-index: 5;
  filter: drop-shadow(1px 2px 3px rgba(0,0,0,0.15));
  animation: fm-float 3s ease-in-out infinite;
}
body.world-home .products .product:nth-child(6n+1)::before { content: '🌈'; animation-delay: 0s; }
body.world-home .products .product:nth-child(6n+2)::before { content: '⭐'; animation-delay: 0.5s; }
body.world-home .products .product:nth-child(6n+3)::before { content: '🦋'; animation-delay: 1s; }
body.world-home .products .product:nth-child(6n+4)::before { content: '🌸'; animation-delay: 1.5s; }
body.world-home .products .product:nth-child(6n+5)::before { content: '💎'; animation-delay: 2s; }
body.world-home .products .product:nth-child(6n+6)::before { content: '🍭'; animation-delay: 2.5s; }

/* Home: Produkttitel & Preis */
body.world-home .woocommerce-loop-product__title {
  font-family: 'Varela Round', sans-serif !important;
  color: #5A3050 !important;
  font-weight: bold;
}
body.world-home .price {
  font-family: 'Fredoka One', cursive !important;
  color: #E75480 !important;
  background: rgba(231,84,128,0.08);
  padding: 3px 10px;
  border-radius: 999px;
  display: inline-block;
}
body.world-home .price::before {
  content: '🔔 ';
  font-size: 0.9em;
}

/* Home: Buttons — Primärfarbe Rosa mit Gold-Hover */
body.world-home .button,
body.world-home .add_to_cart_button {
  background: #E75480 !important;
  color: #fff !important;
  border-color: #C4406A !important;
}
body.world-home .button:hover,
body.world-home .add_to_cart_button:hover {
  background: #FFD700 !important;
  color: #5A3050 !important;
  border-color: #E8B800 !important;
  box-shadow: 0 4px 15px rgba(255,215,0,0.35);
}

/* Home: Links & Breadcrumbs */
body.world-home a {
  color: #E75480;
}
body.world-home .woocommerce-breadcrumb {
  font-family: 'Varela Round', sans-serif !important;
  color: rgba(120,80,110,0.5) !important;
}
body.world-home .woocommerce-breadcrumb a {
  color: #E75480 !important;
}

/* Home: Single Product */
body.world-home.single-product .product_title {
  font-family: 'Fredoka One', cursive !important;
  color: #E75480 !important;
}
body.world-home.single-product .woocommerce-product-details__short-description {
  font-family: 'Varela Round', sans-serif !important;
  color: #5A4060 !important;
}

/* Home: YOOtheme Cards */
body.world-home .el-item.uk-card,
body.world-home .uk-card-default {
  background: rgba(255,255,255,0.75) !important;
  backdrop-filter: blur(8px);
  border: 3px solid rgba(231,84,128,0.2) !important;
  border-radius: var(--fm-radius-card) !important;
  box-shadow: 4px 6px 0 rgba(231,84,128,0.12), 0 8px 24px rgba(0,0,0,0.06) !important;
  color: #5A4060 !important;
}
body.world-home .el-item.uk-card:hover,
body.world-home .uk-card-default:hover {
  border-color: #E75480 !important;
  box-shadow: 6px 10px 0 rgba(231,84,128,0.18), 0 12px 32px rgba(0,0,0,0.1) !important;
}
body.world-home .uk-card-title { font-family: 'Fredoka One', cursive !important; color: #E75480 !important; }
body.world-home .uk-card-body { color: #5A4060 !important; }

/* Home: WooCommerce Description + Meta */
body.world-home .tm-element-woo-description,
body.world-home .tm-element-woo-description p { font-family: 'Varela Round', sans-serif !important; color: #5A4060 !important; }
body.world-home .tm-element-woo-meta,
body.world-home .product_meta { font-family: 'Varela Round', sans-serif !important; color: rgba(120,80,110,0.5) !important; }

/* ============================================================
   HOME — Laufender Igel (CSS-only Animation!)
   Ein kleiner Igel wandert am unteren Bildschirmrand entlang.
   Cute, unauffällig, detailverliebt.
   ============================================================ */
body.world-home::after {
  content: '🦔';
  position: fixed;
  bottom: 12px;
  left: -40px;
  font-size: 1.6rem;
  z-index: 999;
  pointer-events: none;
  animation: fm-hedgehog-walk 25s linear infinite;
  filter: drop-shadow(1px 2px 3px rgba(0,0,0,0.15));
}
@keyframes fm-hedgehog-walk {
  0%   { left: -40px; transform: scaleX(1); }
  45%  { left: calc(100vw + 10px); transform: scaleX(1); }
  50%  { left: calc(100vw + 10px); transform: scaleX(-1); }
  95%  { left: -40px; transform: scaleX(-1); }
  100% { left: -40px; transform: scaleX(1); }
}

/* ============================================================
   SUNSET STRIP — GTA Vice City × AC Strand × Synthwave
   Neon-Pink und Cyan vor dunklem Abendhimmel. Palmensilhouetten,
   Retrowave-Gitter, 80er Miami-Vibes. Wie die Strandpromenade
   in Vice City bei Sonnenuntergang: warm, gefährlich stylish,
   und irgendwo läuft „Take On Me" aus einem Autoradio.
   Farbpalette: Neon-Pink + Cyan + Orange-Gold + Dunkellila.
   ============================================================ */
body.world-sunset-strip {
  background-image: linear-gradient(180deg,
    #1A0A2E 0%,       /* Nachthimmel — Vice City Nacht */
    #2A1248 8%,       /* Dunkles Violett */
    #3A1A5A 16%,      /* Lila Horizont */
    #5A2068 24%,      /* Magenta-Schimmer */
    #8A2870 32%,      /* Neon beginnt */
    #C83878 40%,      /* Hot Pink Horizon */
    #E85070 48%,      /* Flamingo-Pink */
    #F07040 56%,      /* Orange-Glut */
    #F89050 64%,      /* Gold */
    #E87048 72%,      /* Zurück zu Orange */
    #C85068 80%,      /* Pink */
    #882858 88%,      /* Dunkel-Magenta */
    #3A1A4A 100%      /* Nacht unten */
  ) !important;
  color: #FFE0E8;
}

/* Sunset Strip: Retrowave-Gitter im Hintergrund */
body.world-sunset-strip::before {
  content: '';
  position: fixed;
  inset: 0;
  background:
    /* Horizontale Gitterlinien — Retrowave-Boden */
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 60px,
      rgba(255,100,200,0.04) 60px,
      rgba(255,100,200,0.04) 61px
    ),
    /* Vertikale Gitterlinien — perspektivisch */
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 80px,
      rgba(100,255,255,0.03) 80px,
      rgba(100,255,255,0.03) 81px
    ),
    /* Neon-Glow-Spots */
    radial-gradient(circle 3px at 40px 30px, rgba(255,100,200,0.06) 100%, transparent 100%),
    radial-gradient(circle 2px at 80px 60px, rgba(100,255,255,0.05) 100%, transparent 100%),
    radial-gradient(circle 2px at 20px 70px, rgba(255,180,50,0.04) 100%, transparent 100%);
  background-size: 120px 80px;
  z-index: 0;
  pointer-events: none;
}

/* Sunset Strip: Fahrende Palme — Silhouette wandert am Horizont */
@keyframes fm-sunset-palm {
  0%      { left: -50px; opacity: 0; }
  5%      { opacity: 0.6; }
  50%     { opacity: 0.8; }
  92%     { opacity: 0.5; }
  97%     { opacity: 0; }
  100%    { left: 105%; opacity: 0; }
}
body.world-sunset-strip::after {
  content: '🌴';
  position: fixed;
  top: 55%;
  font-size: 2.5rem;
  z-index: 2;
  pointer-events: none;
  animation: fm-sunset-palm 30s linear infinite;
  filter: brightness(0.4) drop-shadow(0 0 8px rgba(255,100,200,0.2));
}

/* Sunset Strip: Sections — global transparent */

/* Überschrift: Retro-Neon-Sign — 80er Outline */
body.world-sunset-strip .woocommerce-products-header__title,
body.world-sunset-strip .page-title {
  font-family: 'Monoton', cursive !important;
  color: #FFE0F0 !important;
  text-shadow:
    0 0 10px rgba(255,100,200,0.5),
    0 0 30px rgba(255,100,200,0.2),
    0 0 60px rgba(255,100,200,0.1),
    2px 2px 0 rgba(100,50,80,0.4);
  letter-spacing: 0.06em;
}
body.world-sunset-strip .woocommerce-products-header__title::after,
body.world-sunset-strip .page-title::after {
  content: ' 🌴';
  font-size: 0.6em;
}

/* Beschreibung: Warmes Cremeweiß */
body.world-sunset-strip .term-description,
body.world-sunset-strip .woocommerce-products-header p {
  color: #F0C8D8 !important;
  font-size: 1.05rem;
}

/* Produktkarten: Sunset-Strip — Glasmorphism, Neon-Akzent */
body.world-sunset-strip .products .product,
body.world-sunset-strip .products .type-product {
  background: rgba(30, 15, 50, 0.65) !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-color: transparent !important;
  background-clip: padding-box !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15), 0 0 0 2px rgba(255,100,200,0.25);
}
body.world-sunset-strip .products .product:hover,
body.world-sunset-strip .products .type-product:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.2), 0 0 0 2px rgba(100,255,255,0.4), 0 0 12px rgba(255,100,200,0.08);
}

/* Vice-City-Sticker: Palmen, Cocktails, Sonnen, Flamingos */
body.world-sunset-strip .products .product::before,
body.world-sunset-strip .products .type-product::before {
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 1.4rem;
  z-index: 10;
  filter: drop-shadow(0 0 4px rgba(255,100,200,0.4));
  animation: fm-sticker-pop 5s ease-in-out infinite;
}
body.world-sunset-strip .products .product:nth-child(6n+1)::before,
body.world-sunset-strip .products .type-product:nth-child(6n+1)::before { content: '🌴'; --fm-rot: 10deg; }
body.world-sunset-strip .products .product:nth-child(6n+2)::before,
body.world-sunset-strip .products .type-product:nth-child(6n+2)::before { content: '🍹'; --fm-rot: -8deg; }
body.world-sunset-strip .products .product:nth-child(6n+3)::before,
body.world-sunset-strip .products .type-product:nth-child(6n+3)::before { content: '🌅'; --fm-rot: 12deg; }
body.world-sunset-strip .products .product:nth-child(6n+4)::before,
body.world-sunset-strip .products .type-product:nth-child(6n+4)::before { content: '🦩'; --fm-rot: -6deg; }
body.world-sunset-strip .products .product:nth-child(6n+5)::before,
body.world-sunset-strip .products .type-product:nth-child(6n+5)::before { content: '🎸'; --fm-rot: 15deg; }
body.world-sunset-strip .products .product:nth-child(6n+6)::before,
body.world-sunset-strip .products .type-product:nth-child(6n+6)::before { content: '🌺'; --fm-rot: -10deg; }

/* Produkttitel: Bebas Neue — Bold, Retro, Condensed */
body.world-sunset-strip .woocommerce-loop-product__title {
  font-family: 'Bebas Neue', cursive !important;
  color: #FFE8F0 !important;
  letter-spacing: 0.08em;
  font-size: 1.15em !important;
  text-transform: uppercase;
}

/* Preise: Neon-Cyan mit Glow */
body.world-sunset-strip .price {
  font-family: 'Fredoka One', cursive !important;
  color: #80F0E0 !important;
  text-shadow: 0 0 10px rgba(100,255,255,0.3);
}
body.world-sunset-strip .price::before {
  content: '🌴 ';
  font-size: 0.9em;
}

/* Buttons: Neon-Pink mit Cyan-Hover */
body.world-sunset-strip .button,
body.world-sunset-strip .add_to_cart_button {
  background: linear-gradient(135deg, rgba(255,100,200,0.7), rgba(200,60,150,0.8)) !important;
  color: #fff !important;
  border-color: rgba(255,140,220,0.5) !important;
  text-shadow: 0 1px 3px rgba(100,20,60,0.5);
}
body.world-sunset-strip .button:hover,
body.world-sunset-strip .add_to_cart_button:hover {
  background: linear-gradient(135deg, rgba(100,255,255,0.6), rgba(60,200,200,0.7)) !important;
  color: #1A0A2E !important;
  box-shadow: 0 4px 18px rgba(100,255,255,0.3), 0 0 15px rgba(100,255,255,0.2);
  border-color: rgba(100,255,255,0.6) !important;
  text-shadow: none;
}

/* Links: Neon-Pink */
body.world-sunset-strip a {
  color: #FF90C0;
}
body.world-sunset-strip a:hover {
  color: #80F0E0;
  text-shadow: 0 0 6px rgba(100,255,255,0.3);
}

/* Breadcrumbs: Gedämpfter Neon */
body.world-sunset-strip .woocommerce-breadcrumb {
  font-family: 'Varela Round', sans-serif !important;
  color: rgba(255,180,220,0.4) !important;
}
body.world-sunset-strip .woocommerce-breadcrumb a {
  color: rgba(255,180,220,0.6) !important;
}
body.world-sunset-strip .woocommerce-breadcrumb a:hover {
  color: #80F0E0 !important;
}

/* ============================================================
   SINGLE PRODUCT — Welt-spezifische Anpassungen
   ============================================================ */
body.world-kreaturenreich.single-product .product_title {
  font-family: 'Indie Flower', cursive !important;
  color: #2D6A4F !important;
}
body.world-kreaturenreich.single-product .woocommerce-product-details__short-description {
  font-family: 'Varela Round', sans-serif !important;
  color: #5E8C70 !important;
}

body.world-kosmos.single-product .product_title {
  font-family: 'Orbitron', sans-serif !important;
  color: #E8D5FF !important;
  text-shadow: 2px 2px 0 rgba(107,91,174,0.3);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
body.world-kosmos.single-product .woocommerce-product-details__short-description {
  font-family: 'Varela Round', sans-serif !important;
  color: #C8B8E8 !important;
}

body.world-kawaii-chaos.single-product .product_title {
  font-family: 'Bangers', cursive !important;
  color: #FF1493 !important;
  text-shadow: 2px 2px 0 rgba(255,105,180,0.15);
  letter-spacing: 0.06em;
}
body.world-kawaii-chaos.single-product .product_title::after {
  content: ' 💖';
  font-size: 0.6em;
}
body.world-kawaii-chaos.single-product .woocommerce-product-details__short-description {
  font-family: 'Comic Neue', cursive !important;
  font-weight: 700;
  color: #C060A0 !important;
}
body.world-kawaii-chaos.single-product .price {
  font-size: 1.4rem;
}
body.world-kawaii-chaos.single-product .single_add_to_cart_button {
  background: linear-gradient(135deg, #FF69B4, #FF85C8) !important;
  font-size: 1.1rem !important;
  padding: 0.8em 2.5em !important;
}

body.world-zauberwald.single-product .product_title {
  font-family: 'Cinzel', serif !important;
  color: #B8E8C0 !important;
  text-shadow: 2px 2px 0 rgba(30,60,40,0.5), 0 0 15px rgba(180,255,200,0.1);
  letter-spacing: 0.06em;
  font-weight: 900;
}
body.world-zauberwald.single-product .product_title::after {
  content: ' 🍃';
  font-size: 0.5em;
}
body.world-zauberwald.single-product .woocommerce-product-details__short-description {
  font-family: 'Varela Round', sans-serif !important;
  color: #A0D0B0 !important;
}
body.world-zauberwald.single-product .price {
  font-size: 1.4rem;
}
body.world-zauberwald.single-product .single_add_to_cart_button {
  background: linear-gradient(135deg, #4A8A62, #5EA878) !important;
  font-size: 1.1rem !important;
  padding: 0.8em 2.5em !important;
}

body.world-darkside.single-product .product_title {
  font-family: 'Silkscreen', cursive !important;
  color: #E0C8F0 !important;
  text-shadow: 2px 2px 0 rgba(40,20,60,0.5), 0 0 15px rgba(200,140,220,0.1);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
body.world-darkside.single-product .product_title::after {
  content: ' 🌙';
  font-size: 0.5em;
}
body.world-darkside.single-product .woocommerce-product-details__short-description {
  font-family: 'Varela Round', sans-serif !important;
  color: #A890B8 !important;
}
body.world-darkside.single-product .price {
  font-size: 1.4rem;
}
body.world-darkside.single-product .single_add_to_cart_button {
  background: linear-gradient(135deg, #5A3A6A, #6B4A78) !important;
  font-size: 1.1rem !important;
  padding: 0.8em 2.5em !important;
}

body.world-sunset-strip.single-product .product_title {
  font-family: 'Monoton', cursive !important;
  color: #FFE0F0 !important;
  text-shadow: 0 0 10px rgba(255,100,200,0.4), 0 0 30px rgba(255,100,200,0.15), 2px 2px 0 rgba(100,20,60,0.4);
  letter-spacing: 0.04em;
}
body.world-sunset-strip.single-product .product_title::after {
  content: ' 🌴';
  font-size: 0.5em;
}
body.world-sunset-strip.single-product .woocommerce-product-details__short-description {
  font-family: 'Varela Round', sans-serif !important;
  color: #F0C8D8 !important;
}
body.world-sunset-strip.single-product .price {
  font-size: 1.4rem;
}
body.world-sunset-strip.single-product .single_add_to_cart_button {
  background: linear-gradient(135deg, rgba(255,100,200,0.7), rgba(200,60,150,0.8)) !important;
  font-size: 1.1rem !important;
  padding: 0.8em 2.5em !important;
}

/* ============================================================
   YOOTHEME CARD OVERRIDES (el-item, uk-card)
   ============================================================ */

/* Sections transparent — siehe GLOBAL OVERRIDES */

/* --- KREATURENREICH Cards --- */
body.world-kreaturenreich .el-item.uk-card,
body.world-kreaturenreich .uk-card-default {
  background: rgba(255,255,255,0.88) !important;
  border: 3px solid #88D0A0 !important;
  border-radius: var(--fm-radius-card) !important;
  box-shadow: 4px 6px 0 rgba(94,196,138,0.2), 0 8px 24px rgba(0,0,0,0.06) !important;
  color: #3D6A50 !important;
}
body.world-kreaturenreich .el-item.uk-card:hover,
body.world-kreaturenreich .uk-card-default:hover {
  border-color: #5EC48A !important;
  box-shadow: 6px 10px 0 rgba(94,196,138,0.3), 0 12px 32px rgba(0,0,0,0.1) !important;
}
body.world-kreaturenreich .uk-card-title { font-family: 'Fredoka One', cursive !important; color: #2D6A4F !important; }
body.world-kreaturenreich .uk-card-body { color: #3D6A50 !important; }
body.world-kreaturenreich .el-item .el-meta { color: #78A890 !important; font-family: 'Varela Round', sans-serif !important; }
body.world-kreaturenreich .el-item .el-content { font-family: 'Varela Round', sans-serif !important; color: #3D6A50 !important; }

/* --- KOSMOS Cards --- */
body.world-kosmos .el-item.uk-card,
body.world-kosmos .uk-card-default {
  background: rgba(30, 20, 60, 0.8) !important;
  backdrop-filter: blur(4px);
  border: 3px solid rgba(107,91,174,0.5) !important;
  border-radius: var(--fm-radius-card) !important;
  box-shadow: 4px 6px 0 rgba(107,91,174,0.15), 0 8px 24px rgba(0,0,0,0.2), inset 0 0 20px rgba(196,168,255,0.04) !important;
  color: #C8B8E8 !important;
}
body.world-kosmos .el-item.uk-card:hover,
body.world-kosmos .uk-card-default:hover {
  border-color: #9B8FEE !important;
  box-shadow: 6px 10px 0 rgba(107,91,174,0.25), 0 12px 32px rgba(0,0,0,0.25), 0 0 20px rgba(155,143,238,0.15) !important;
}
body.world-kosmos .uk-card-title { font-family: 'Fredoka One', cursive !important; color: #E8D5FF !important; }
body.world-kosmos .uk-card-body { color: #C8B8E8 !important; }
body.world-kosmos .el-item .el-meta { color: #8878B8 !important; font-family: 'Varela Round', sans-serif !important; }
body.world-kosmos .el-item .el-content { font-family: 'Varela Round', sans-serif !important; color: #C8B8E8 !important; }

/* --- KAWAII CHAOS Cards --- */
body.world-kawaii-chaos .el-item.uk-card,
body.world-kawaii-chaos .uk-card-default {
  background: rgba(255,255,255,0.9) !important;
  border: 4px solid #FFB6C1 !important;
  border-radius: var(--fm-radius-card) !important;
  box-shadow: 4px 6px 0 rgba(255,105,180,0.25), 0 8px 24px rgba(255,20,147,0.08) !important;
  color: #8B4070 !important;
}
body.world-kawaii-chaos .el-item.uk-card:hover,
body.world-kawaii-chaos .uk-card-default:hover {
  transform: translateY(-6px) rotate(1.5deg) scale(1.02);
  border-color: #FF69B4 !important;
  box-shadow: 6px 10px 0 rgba(255,105,180,0.35), 0 14px 32px rgba(255,20,147,0.12) !important;
}
body.world-kawaii-chaos .uk-card-title { font-family: 'Fredoka One', cursive !important; color: #E0408A !important; }
body.world-kawaii-chaos .uk-card-body { color: #8B4070 !important; }
body.world-kawaii-chaos .el-item .el-meta { color: #FF69B4 !important; font-family: 'Comic Neue', cursive !important; }
body.world-kawaii-chaos .el-item .el-content { font-family: 'Comic Neue', cursive !important; font-weight: 700 !important; color: #C060A0 !important; }

/* --- ZAUBERWALD Cards --- */
body.world-zauberwald .el-item.uk-card,
body.world-zauberwald .uk-card-default {
  background: rgba(40, 75, 50, 0.75) !important;
  backdrop-filter: blur(4px);
  border: 3px solid rgba(160,216,184,0.35) !important;
  border-radius: var(--fm-radius-card) !important;
  box-shadow: 4px 6px 0 rgba(30,60,40,0.3), 0 8px 24px rgba(0,0,0,0.15), inset 0 0 15px rgba(180,255,200,0.04) !important;
  color: #C8E8D0 !important;
}
body.world-zauberwald .el-item.uk-card:hover,
body.world-zauberwald .uk-card-default:hover {
  border-color: rgba(180,255,200,0.5) !important;
  box-shadow: 6px 10px 0 rgba(30,60,40,0.35), 0 14px 32px rgba(0,0,0,0.2), 0 0 16px rgba(180,255,200,0.08) !important;
}
body.world-zauberwald .uk-card-title { font-family: 'Fredoka One', cursive !important; color: #B8E8C0 !important; }
body.world-zauberwald .uk-card-body { color: #C8E8D0 !important; }
body.world-zauberwald .el-item .el-meta { color: #78B890 !important; font-family: 'Varela Round', sans-serif !important; }
body.world-zauberwald .el-item .el-content { font-family: 'Varela Round', sans-serif !important; color: #A0D0B0 !important; }

/* --- DARKSIDE Cards --- */
body.world-darkside .el-item.uk-card,
body.world-darkside .uk-card-default {
  background: rgba(35, 25, 50, 0.8) !important;
  backdrop-filter: blur(4px);
  border: 3px solid rgba(180,140,220,0.25) !important;
  border-radius: var(--fm-radius-card) !important;
  box-shadow: 4px 6px 0 rgba(40,20,60,0.4), 0 8px 24px rgba(0,0,0,0.2), inset 0 0 18px rgba(200,160,255,0.04) !important;
  color: #C8B0D8 !important;
}
body.world-darkside .el-item.uk-card:hover,
body.world-darkside .uk-card-default:hover {
  border-color: rgba(255,140,180,0.45) !important;
  box-shadow: 6px 10px 0 rgba(40,20,60,0.45), 0 14px 32px rgba(0,0,0,0.25), 0 0 18px rgba(255,107,138,0.1) !important;
}
body.world-darkside .uk-card-title { font-family: 'Fredoka One', cursive !important; color: #E0C8F0 !important; }
body.world-darkside .uk-card-body { color: #C8B0D8 !important; }
body.world-darkside .el-item .el-meta { color: #8878A8 !important; font-family: 'Varela Round', sans-serif !important; }
body.world-darkside .el-item .el-content { font-family: 'Varela Round', sans-serif !important; color: #A890B8 !important; }

/* --- SUNSET STRIP Cards --- */
body.world-sunset-strip .el-item.uk-card,
body.world-sunset-strip .uk-card-default {
  background: rgba(30, 15, 50, 0.6) !important;
  backdrop-filter: blur(6px);
  border: 2px solid rgba(255,100,200,0.3) !important;
  border-radius: var(--fm-radius-card) !important;
  box-shadow: 4px 6px 0 rgba(80,20,60,0.3), 0 8px 24px rgba(0,0,0,0.2), inset 0 0 15px rgba(255,100,200,0.03) !important;
  color: #FFE0E8 !important;
}
body.world-sunset-strip .el-item.uk-card:hover,
body.world-sunset-strip .uk-card-default:hover {
  border-color: rgba(100,255,255,0.5) !important;
  box-shadow: 6px 10px 0 rgba(80,20,60,0.35), 0 14px 32px rgba(0,0,0,0.25), 0 0 18px rgba(100,255,255,0.1) !important;
}
body.world-sunset-strip .uk-card-title { font-family: 'Fredoka One', cursive !important; color: #FFE8F0 !important; }
body.world-sunset-strip .uk-card-body { color: #FFE0E8 !important; }
body.world-sunset-strip .el-item .el-meta { color: #FF90C0 !important; font-family: 'Varela Round', sans-serif !important; }
body.world-sunset-strip .el-item .el-content { font-family: 'Varela Round', sans-serif !important; color: #F0C8D8 !important; }

/* ============================================================
   YOOTHEME CARD STICKERS — Emoji-Deko auf Builder-Karten
   Gleiche Sticker wie auf WooCommerce-Karten, aber für
   YOOtheme .el-item Elemente.
   ============================================================ */

/* Basis: Position + Animation für alle Welt-Card-Sticker */
body.has-world .el-item.uk-card {
  position: relative;
  overflow: visible !important;
}
body.has-world .el-item.uk-card::before {
  position: absolute;
  top: -10px;
  right: -4px;
  font-size: 1.3rem;
  z-index: 10;
  animation: fm-sticker-pop 5s ease-in-out infinite;
  pointer-events: none;
}

/*
 * nth-child auf den Grid-Wrapper (.fs-grid-item-holder), weil
 * jede .el-item.uk-card einziges Kind in ihrem Wrapper ist.
 * Selektor: Wrapper:nth-child → Card::before
 */

/* Kreaturenreich Sticker */
body.world-kreaturenreich .fs-grid-item-holder:nth-child(6n+1) .el-item.uk-card::before { content: '🦋'; --fm-rot: 8deg; }
body.world-kreaturenreich .fs-grid-item-holder:nth-child(6n+2) .el-item.uk-card::before { content: '🐾'; --fm-rot: -10deg; }
body.world-kreaturenreich .fs-grid-item-holder:nth-child(6n+3) .el-item.uk-card::before { content: '🌿'; --fm-rot: 12deg; }
body.world-kreaturenreich .fs-grid-item-holder:nth-child(6n+4) .el-item.uk-card::before { content: '🐣'; --fm-rot: -6deg; }
body.world-kreaturenreich .fs-grid-item-holder:nth-child(6n+5) .el-item.uk-card::before { content: '🦔'; --fm-rot: 15deg; }
body.world-kreaturenreich .fs-grid-item-holder:nth-child(6n+6) .el-item.uk-card::before { content: '🌸'; --fm-rot: -8deg; }

/* Kosmos Sticker */
body.world-kosmos .fs-grid-item-holder:nth-child(6n+1) .el-item.uk-card::before { content: '⭐'; --fm-rot: -8deg; filter: drop-shadow(0 0 3px rgba(255,215,0,0.4)); }
body.world-kosmos .fs-grid-item-holder:nth-child(6n+2) .el-item.uk-card::before { content: '🌙'; --fm-rot: 10deg; filter: drop-shadow(0 0 3px rgba(196,168,255,0.3)); }
body.world-kosmos .fs-grid-item-holder:nth-child(6n+3) .el-item.uk-card::before { content: '✨'; --fm-rot: 12deg; }
body.world-kosmos .fs-grid-item-holder:nth-child(6n+4) .el-item.uk-card::before { content: '💫'; --fm-rot: -6deg; }
body.world-kosmos .fs-grid-item-holder:nth-child(6n+5) .el-item.uk-card::before { content: '🌟'; --fm-rot: 15deg; }
body.world-kosmos .fs-grid-item-holder:nth-child(6n+6) .el-item.uk-card::before { content: '🪐'; --fm-rot: -10deg; }

/* Kawaii Chaos Sticker */
body.world-kawaii-chaos .fs-grid-item-holder:nth-child(6n+1) .el-item.uk-card::before { content: '💖'; --fm-rot: 10deg; }
body.world-kawaii-chaos .fs-grid-item-holder:nth-child(6n+2) .el-item.uk-card::before { content: '🌈'; --fm-rot: -8deg; }
body.world-kawaii-chaos .fs-grid-item-holder:nth-child(6n+3) .el-item.uk-card::before { content: '⭐'; --fm-rot: 12deg; }
body.world-kawaii-chaos .fs-grid-item-holder:nth-child(6n+4) .el-item.uk-card::before { content: '🎀'; --fm-rot: -6deg; }
body.world-kawaii-chaos .fs-grid-item-holder:nth-child(6n+5) .el-item.uk-card::before { content: '🍬'; --fm-rot: 15deg; }
body.world-kawaii-chaos .fs-grid-item-holder:nth-child(6n+6) .el-item.uk-card::before { content: '🦄'; --fm-rot: -10deg; }

/* Zauberwald Sticker */
body.world-zauberwald .fs-grid-item-holder:nth-child(6n+1) .el-item.uk-card::before { content: '🍄'; --fm-rot: 8deg; }
body.world-zauberwald .fs-grid-item-holder:nth-child(6n+2) .el-item.uk-card::before { content: '🌿'; --fm-rot: -10deg; }
body.world-zauberwald .fs-grid-item-holder:nth-child(6n+3) .el-item.uk-card::before { content: '🦌'; --fm-rot: 5deg; }
body.world-zauberwald .fs-grid-item-holder:nth-child(6n+4) .el-item.uk-card::before { content: '🌸'; --fm-rot: -12deg; }
body.world-zauberwald .fs-grid-item-holder:nth-child(6n+5) .el-item.uk-card::before { content: '🐸'; --fm-rot: 7deg; }
body.world-zauberwald .fs-grid-item-holder:nth-child(6n+6) .el-item.uk-card::before { content: '🍃'; --fm-rot: -8deg; }

/* Darkside Sticker */
body.world-darkside .fs-grid-item-holder:nth-child(6n+1) .el-item.uk-card::before { content: '🥀'; --fm-rot: -8deg; filter: drop-shadow(0 0 4px rgba(200,140,220,0.3)); }
body.world-darkside .fs-grid-item-holder:nth-child(6n+2) .el-item.uk-card::before { content: '🌙'; --fm-rot: 10deg; }
body.world-darkside .fs-grid-item-holder:nth-child(6n+3) .el-item.uk-card::before { content: '🦇'; --fm-rot: -5deg; }
body.world-darkside .fs-grid-item-holder:nth-child(6n+4) .el-item.uk-card::before { content: '🔮'; --fm-rot: 12deg; }
body.world-darkside .fs-grid-item-holder:nth-child(6n+5) .el-item.uk-card::before { content: '🕯️'; --fm-rot: -10deg; }
body.world-darkside .fs-grid-item-holder:nth-child(6n+6) .el-item.uk-card::before { content: '✨'; --fm-rot: 7deg; }

/* Sunset Strip Sticker */
body.world-sunset-strip .fs-grid-item-holder:nth-child(6n+1) .el-item.uk-card::before { content: '🌴'; --fm-rot: 10deg; filter: drop-shadow(0 0 4px rgba(255,100,200,0.3)); }
body.world-sunset-strip .fs-grid-item-holder:nth-child(6n+2) .el-item.uk-card::before { content: '🍹'; --fm-rot: -8deg; }
body.world-sunset-strip .fs-grid-item-holder:nth-child(6n+3) .el-item.uk-card::before { content: '🌅'; --fm-rot: 12deg; }
body.world-sunset-strip .fs-grid-item-holder:nth-child(6n+4) .el-item.uk-card::before { content: '🦩'; --fm-rot: -6deg; }
body.world-sunset-strip .fs-grid-item-holder:nth-child(6n+5) .el-item.uk-card::before { content: '🎸'; --fm-rot: 15deg; }
body.world-sunset-strip .fs-grid-item-holder:nth-child(6n+6) .el-item.uk-card::before { content: '🌺'; --fm-rot: -10deg; }

/* Home Sticker */
body.world-home .fs-grid-item-holder:nth-child(6n+1) .el-item.uk-card::before { content: '🌈'; --fm-rot: -8deg; }
body.world-home .fs-grid-item-holder:nth-child(6n+2) .el-item.uk-card::before { content: '⭐'; --fm-rot: 10deg; }
body.world-home .fs-grid-item-holder:nth-child(6n+3) .el-item.uk-card::before { content: '🦋'; --fm-rot: 12deg; }
body.world-home .fs-grid-item-holder:nth-child(6n+4) .el-item.uk-card::before { content: '🌸'; --fm-rot: -6deg; }
body.world-home .fs-grid-item-holder:nth-child(6n+5) .el-item.uk-card::before { content: '💎'; --fm-rot: 15deg; }
body.world-home .fs-grid-item-holder:nth-child(6n+6) .el-item.uk-card::before { content: '🍭'; --fm-rot: -10deg; }

/* ============================================================
   SINGLE PRODUCT — WooCommerce Elemente (alle Welten AC-Stil)
   ============================================================ */

body.world-kreaturenreich .tm-element-woo-description,
body.world-kreaturenreich .tm-element-woo-description p { font-family: 'Varela Round', sans-serif !important; color: #5E8C70 !important; }
body.world-kreaturenreich .tm-element-woo-meta,
body.world-kreaturenreich .product_meta { font-family: 'Varela Round', sans-serif !important; color: #78A890 !important; }

body.world-kosmos .tm-element-woo-description,
body.world-kosmos .tm-element-woo-description p { font-family: 'Varela Round', sans-serif !important; color: #C8B8E8 !important; }
body.world-kosmos .tm-element-woo-meta,
body.world-kosmos .product_meta { font-family: 'Varela Round', sans-serif !important; color: #8878B8 !important; }

body.world-kawaii-chaos .tm-element-woo-description,
body.world-kawaii-chaos .tm-element-woo-description p { font-family: 'Comic Neue', cursive !important; font-weight: 700 !important; color: #C060A0 !important; }
body.world-kawaii-chaos .tm-element-woo-meta,
body.world-kawaii-chaos .product_meta { font-family: 'Comic Neue', cursive !important; color: #FF69B4 !important; }
body.world-kawaii-chaos .woocommerce-tabs .panel h2 { font-family: 'Fredoka One', cursive !important; color: #E0408A !important; }
body.world-kawaii-chaos .woocommerce-tabs .panel p { font-family: 'Comic Neue', cursive !important; color: #8B4070 !important; }

body.world-zauberwald .tm-element-woo-description,
body.world-zauberwald .tm-element-woo-description p { font-family: 'Varela Round', sans-serif !important; color: #A0D0B0 !important; }
body.world-zauberwald .tm-element-woo-meta,
body.world-zauberwald .product_meta { font-family: 'Varela Round', sans-serif !important; color: #78B890 !important; }
body.world-zauberwald .woocommerce-tabs .panel h2 { font-family: 'Fredoka One', cursive !important; color: #B8E8C0 !important; }
body.world-zauberwald .woocommerce-tabs .panel p { font-family: 'Varela Round', sans-serif !important; color: #C8E8D0 !important; }

body.world-darkside .tm-element-woo-description,
body.world-darkside .tm-element-woo-description p { font-family: 'Varela Round', sans-serif !important; color: #A890B8 !important; }
body.world-darkside .tm-element-woo-meta,
body.world-darkside .product_meta { font-family: 'Varela Round', sans-serif !important; color: #8878A8 !important; }
body.world-darkside .woocommerce-tabs .panel h2 { font-family: 'Fredoka One', cursive !important; color: #E0C8F0 !important; }
body.world-darkside .woocommerce-tabs .panel p { font-family: 'Varela Round', sans-serif !important; color: #C8B0D8 !important; }

body.world-sunset-strip .tm-element-woo-description,
body.world-sunset-strip .tm-element-woo-description p { font-family: 'Varela Round', sans-serif !important; color: #F0C8D8 !important; }
body.world-sunset-strip .tm-element-woo-meta,
body.world-sunset-strip .product_meta { font-family: 'Varela Round', sans-serif !important; color: #FF90C0 !important; }
body.world-sunset-strip .woocommerce-tabs .panel h2 { font-family: 'Fredoka One', cursive !important; color: #FFE0F0 !important; }
body.world-sunset-strip .woocommerce-tabs .panel p { font-family: 'Varela Round', sans-serif !important; color: #FFE0E8 !important; }

/* ============================================================
   NAVIGATION + HEADER — Alles AC-Stil
   Konsistente runde Buttons, Varela Round/Fredoka, weiche Hovers
   ============================================================ */

/* Alle Welten: Header-Basis */
body.has-world .tm-header {
  position: relative;
}

/* Alle Welten: Nav-Links als runde AC-Buttons */
body.has-world .uk-navbar-nav > li > a {
  font-family: var(--fm-font-body) !important;
  font-weight: bold !important;
  font-size: 0.9rem !important;
  border-radius: var(--fm-radius-nav) !important;
  margin: 6px 3px !important;
  padding: 6px 14px !important;
  transition: all 0.25s var(--fm-transition-bounce) !important;
}

/* --- HOME — Rosa-Glasmorphism, schwebt über dem Regenbogen --- */
body.world-home .tm-header,
body.world-home .tm-header .uk-navbar-container,
body.world-home .tm-headerbar-top,
body.world-home .tm-headerbar-bottom {
  background: rgba(255,230,240,0.7) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 8px 32px rgba(231,84,128,0.08);
}
body.world-home .tm-header-mobile,
body.world-home .tm-header-mobile .uk-navbar-container {
  background: rgba(255,230,240,0.9) !important;
}
body.world-home .uk-navbar-nav > li > a {
  color: #E75480 !important;
  background: rgba(231,84,128,0.06) !important;
}
body.world-home .uk-navbar-nav > li > a:hover {
  background: rgba(231,84,128,0.15) !important;
  color: #C4406A !important;
  transform: scale(1.08);
  box-shadow: 2px 3px 0 rgba(231,84,128,0.2);
}
body.world-home .uk-navbar-nav > li.uk-active > a {
  background: rgba(231,84,128,0.18) !important;
  color: #C4406A !important;
}
body.world-home .tm-header [uk-icon],
body.world-home .tm-header .uk-icon { color: #E75480 !important; }
body.world-home .tm-header [uk-icon]:hover { color: #FFD700 !important; }

/* --- KREATURENREICH — Himmelfarbener Header mit Wolken-Feeling --- */
body.world-kreaturenreich .tm-header,
body.world-kreaturenreich .tm-header .uk-navbar-container,
body.world-kreaturenreich .tm-headerbar-top,
body.world-kreaturenreich .tm-headerbar-bottom {
  background: linear-gradient(180deg, rgba(200,230,255,0.9) 0%, rgba(180,230,210,0.85) 100%) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 4px 24px rgba(94,196,138,0.1);
}
body.world-kreaturenreich .tm-header-mobile,
body.world-kreaturenreich .tm-header-mobile .uk-navbar-container {
  background: rgba(200,230,255,0.95) !important;
}
body.world-kreaturenreich .uk-navbar-nav > li > a {
  color: #3A7A58 !important;
  background: rgba(104,208,136,0.12) !important;
  font-family: 'Caveat', cursive !important;
  font-size: 1.05rem !important;
  font-weight: 700;
}
body.world-kreaturenreich .uk-navbar-nav > li > a:hover {
  background: #68D088 !important;
  color: #2D5A40 !important;
  transform: scale(1.08);
  box-shadow: 2px 3px 0 rgba(94,196,138,0.3);
}
body.world-kreaturenreich .uk-navbar-nav > li.uk-active > a {
  background: rgba(104,208,136,0.3) !important;
  color: #2D5A40 !important;
}
body.world-kreaturenreich .tm-header [uk-icon],
body.world-kreaturenreich .tm-header .uk-icon { color: #5E8C70 !important; }
body.world-kreaturenreich .tm-header [uk-icon]:hover { color: #F9A825 !important; }

/* --- KOSMOS — Verschmilzt mit dem Sternenhimmel, glühende Nebelkante --- */
body.world-kosmos .tm-header,
body.world-kosmos .tm-header .uk-navbar-container,
body.world-kosmos .tm-headerbar-top,
body.world-kosmos .tm-headerbar-bottom {
  background: linear-gradient(180deg, rgba(26,16,64,0.98) 0%, rgba(45,24,88,0.85) 100%) !important;
  box-shadow: 0 0 40px rgba(196,168,255,0.12);
}
body.world-kosmos .tm-header-mobile,
body.world-kosmos .tm-header-mobile .uk-navbar-container {
  background: rgba(26,16,64,0.95) !important;
}
body.world-kosmos .uk-navbar-nav > li > a { color: #C4A8FF !important; font-family: 'Space Mono', monospace !important; font-size: 0.78rem !important; text-transform: uppercase; letter-spacing: 0.05em; }
body.world-kosmos .uk-navbar-nav > li > a:hover {
  background: rgba(107,91,174,0.3) !important;
  color: #E8D5FF !important;
  transform: scale(1.08);
}
body.world-kosmos .uk-navbar-nav > li.uk-active > a { background: rgba(107,91,174,0.25) !important; color: #E8D5FF !important; }
body.world-kosmos .tm-header [uk-icon],
body.world-kosmos .tm-header .uk-icon { color: #C4A8FF !important; }
body.world-kosmos .tm-header [uk-icon]:hover { color: #E8D5FF !important; }

/* --- KAWAII CHAOS — Zuckerwatte-Header mit Herz-Wellen --- */
body.world-kawaii-chaos .tm-header,
body.world-kawaii-chaos .tm-header .uk-navbar-container,
body.world-kawaii-chaos .tm-headerbar-top,
body.world-kawaii-chaos .tm-headerbar-bottom {
  background: linear-gradient(180deg, #FFF0F5 0%, #FFE8F2 100%) !important;
  box-shadow: 0 4px 20px rgba(255,105,180,0.08);
}
body.world-kawaii-chaos .tm-header-mobile,
body.world-kawaii-chaos .tm-header-mobile .uk-navbar-container {
  background: #FFF0F5 !important;
}
body.world-kawaii-chaos .uk-navbar-nav > li > a { color: #D0408A !important; font-family: 'Bangers', cursive !important; letter-spacing: 0.04em; }
body.world-kawaii-chaos .uk-navbar-nav > li > a:hover {
  background: rgba(255,105,180,0.12) !important;
  color: #FF1493 !important;
  transform: scale(1.08);
  animation: fm-wiggle 0.4s ease !important;
}
body.world-kawaii-chaos .uk-navbar-nav > li.uk-active > a { background: rgba(255,105,180,0.18) !important; color: #FF1493 !important; }
body.world-kawaii-chaos .tm-header [uk-icon],
body.world-kawaii-chaos .tm-header .uk-icon { color: #FF69B4 !important; }
body.world-kawaii-chaos .tm-header [uk-icon]:hover { color: #FF1493 !important; }

/* --- ZAUBERWALD — Blätterdach-Header, Nebel nach unten --- */
body.world-zauberwald .tm-header,
body.world-zauberwald .tm-header .uk-navbar-container,
body.world-zauberwald .tm-headerbar-top,
body.world-zauberwald .tm-headerbar-bottom {
  background: linear-gradient(180deg, rgba(26,58,40,0.97) 0%, rgba(40,75,50,0.88) 100%) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.2), 0 0 30px rgba(180,255,200,0.04);
}
body.world-zauberwald .tm-header-mobile,
body.world-zauberwald .tm-header-mobile .uk-navbar-container {
  background: rgba(26,58,40,0.95) !important;
}
body.world-zauberwald .uk-navbar-nav > li > a { color: #A0D8B8 !important; font-family: 'MedievalSharp', cursive !important; font-size: 0.95rem !important; }
body.world-zauberwald .uk-navbar-nav > li > a:hover {
  background: rgba(126,184,150,0.2) !important;
  color: #C8F0D0 !important;
  transform: scale(1.08);
  text-shadow: 0 0 8px rgba(180,255,200,0.2);
}
body.world-zauberwald .uk-navbar-nav > li.uk-active > a { background: rgba(126,184,150,0.15) !important; color: #C8F0D0 !important; }
body.world-zauberwald .tm-header [uk-icon],
body.world-zauberwald .tm-header .uk-icon { color: #88C8A0 !important; }
body.world-zauberwald .tm-header [uk-icon]:hover { color: #B8E8C8 !important; }

/* --- DARKSIDE — Viktorianischer Header mit Rosé-Neon-Glow --- */
body.world-darkside .tm-header,
body.world-darkside .tm-header .uk-navbar-container,
body.world-darkside .tm-headerbar-top,
body.world-darkside .tm-headerbar-bottom {
  background: linear-gradient(180deg, rgba(26,18,40,0.98) 0%, rgba(42,30,58,0.92) 100%) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.3), 0 0 20px rgba(200,140,220,0.05);
}
body.world-darkside .tm-header-mobile,
body.world-darkside .tm-header-mobile .uk-navbar-container {
  background: rgba(26,18,40,0.96) !important;
}
body.world-darkside .uk-navbar-nav > li > a { color: #B898C8 !important; font-family: 'Silkscreen', cursive !important; font-size: 0.7rem !important; text-transform: uppercase; letter-spacing: 0.03em; }
body.world-darkside .uk-navbar-nav > li > a:hover {
  background: rgba(180,140,220,0.15) !important;
  color: #FF8CA8 !important;
  transform: scale(1.08);
  text-shadow: 0 0 8px rgba(255,107,138,0.2);
}
body.world-darkside .uk-navbar-nav > li.uk-active > a { background: rgba(180,140,220,0.12) !important; color: #E0C8F0 !important; }
body.world-darkside .tm-header [uk-icon],
body.world-darkside .tm-header .uk-icon { color: #A888C0 !important; }
body.world-darkside .tm-header [uk-icon]:hover { color: #FF8CA8 !important; }

/* --- SUNSET STRIP — Vice-City-Neon-Header --- */
body.world-sunset-strip .tm-header,
body.world-sunset-strip .tm-header .uk-navbar-container,
body.world-sunset-strip .tm-headerbar-top,
body.world-sunset-strip .tm-headerbar-bottom {
  background: linear-gradient(180deg, rgba(26,10,46,0.98) 0%, rgba(50,20,70,0.92) 100%) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.3), 0 0 20px rgba(255,100,200,0.05);
}
body.world-sunset-strip .tm-header-mobile,
body.world-sunset-strip .tm-header-mobile .uk-navbar-container {
  background: rgba(26,10,46,0.96) !important;
}
body.world-sunset-strip .uk-navbar-nav > li > a { color: #FF90C0 !important; font-family: 'Bebas Neue', cursive !important; font-size: 1rem !important; letter-spacing: 0.08em; text-transform: uppercase; }
body.world-sunset-strip .uk-navbar-nav > li > a:hover {
  background: rgba(255,100,200,0.15) !important;
  color: #80F0E0 !important;
  transform: scale(1.08);
  text-shadow: 0 0 8px rgba(100,255,255,0.3);
}
body.world-sunset-strip .uk-navbar-nav > li.uk-active > a { background: rgba(255,100,200,0.12) !important; color: #FFE0F0 !important; }
body.world-sunset-strip .tm-header [uk-icon],
body.world-sunset-strip .tm-header .uk-icon { color: #FF90C0 !important; }
body.world-sunset-strip .tm-header [uk-icon]:hover { color: #80F0E0 !important; }

/* ============================================================
   SHIMMER UTILITY — Holografischer Effekt
   ============================================================ */
@keyframes fm-shimmer-shift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
.fm-shimmer {
  background: linear-gradient(135deg, rgba(255,182,193,0.08) 0%, rgba(255,215,0,0.08) 25%, rgba(64,224,208,0.08) 50%, rgba(218,112,214,0.08) 75%, rgba(255,182,193,0.08) 100%);
  background-size: 400% 400%;
  animation: fm-shimmer-shift 8s ease infinite;
}

/* ============================================================
   AC WORLD ENHANCEMENTS — Gemütliche Animationen
   Alles cute, alles rund, alles weich.
   ============================================================ */

/* ---- KEYFRAMES ---- */
@keyframes fm-wiggle {
  0%, 100% { transform: rotate(0deg); }
  25% { transform: rotate(-3deg) scale(1.05); }
  75% { transform: rotate(3deg) scale(1.05); }
}
@keyframes fm-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
@keyframes fm-pulse-soft {
  0%, 100% { box-shadow: 0 4px 0 var(--fm-pulse-color, rgba(0,0,0,0.1)); }
  50% { box-shadow: 0 4px 0 var(--fm-pulse-color, rgba(0,0,0,0.1)), 0 0 15px var(--fm-pulse-color, rgba(0,0,0,0.1)); }
}
@keyframes fm-sticker-pop {
  0% { transform: scale(1) rotate(var(--fm-rot, 0deg)); }
  50% { transform: scale(1.08) rotate(0deg); }
  100% { transform: scale(1) rotate(var(--fm-rot, 0deg)); }
}
@keyframes fm-neon-border-soft {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* ============================================================
   🌿 KREATURENREICH — Enhancements
   Blatt-Deko und Preisschild sind jetzt inline im Haupt-Block.
   Schmetterling + Pfötchen-Muster auch dort definiert.
   ============================================================ */

/* Kreaturenreich: Header-Übergang — sanfter Himmel-zu-Wiese-Nebel */
body.world-kreaturenreich .tm-header::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 0;
  right: 0;
  height: 16px;
  background: linear-gradient(180deg, rgba(180,230,210,0.5) 0%, rgba(168,224,192,0.2) 50%, transparent 100%);
  filter: blur(4px);
  pointer-events: none;
  z-index: 50;
}

/* ============================================================
   ⭐ KOSMOS — Enhancements
   Sternfeld, Sternschnuppe, Card-Dekos → im Haupt-Block oben.
   ============================================================ */

/* Kosmos: Nebel-Glow unter dem Header */
body.world-kosmos .tm-header::after {
  content: '';
  position: absolute;
  bottom: -12px;
  left: 5%;
  right: 5%;
  height: 24px;
  background: radial-gradient(ellipse at center, rgba(196,168,255,0.18) 0%, rgba(107,91,174,0.08) 50%, transparent 80%);
  filter: blur(10px);
  pointer-events: none;
  z-index: 50;
}

/* ============================================================
   💖 KAWAII CHAOS — Herz-Wellen / Sticker-Karten / Knabber-Hamster
   ============================================================ */

/* Kawaii: Herz-Wellen-Unterkante vom Header */
body.world-kawaii-chaos .tm-header::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 0;
  right: 0;
  height: 14px;
  background: linear-gradient(180deg, #FFE8F2, rgba(255,232,242,0.4));
  clip-path: polygon(
    0% 0%, 3% 50%, 6% 0%, 9% 50%, 12% 0%, 15% 50%, 18% 0%, 21% 50%, 24% 0%,
    27% 50%, 30% 0%, 33% 50%, 36% 0%, 39% 50%, 42% 0%, 45% 50%, 48% 0%,
    51% 50%, 54% 0%, 57% 50%, 60% 0%, 63% 50%, 66% 0%, 69% 50%, 72% 0%,
    75% 50%, 78% 0%, 81% 50%, 84% 0%, 87% 50%, 90% 0%, 93% 50%, 96% 0%,
    100% 50%, 100% 100%, 0% 100%
  );
  opacity: 0.8;
  z-index: 100;
  pointer-events: none;
}

/* Karten: Sticker-Effekt — leicht gedreht, jede anders */
body.world-kawaii-chaos .products .product:nth-child(odd),
body.world-kawaii-chaos .products .type-product:nth-child(odd) {
  --fm-rot: 1.5deg;
  transform: rotate(1.5deg);
}
body.world-kawaii-chaos .products .product:nth-child(even),
body.world-kawaii-chaos .products .type-product:nth-child(even) {
  --fm-rot: -1.5deg;
  transform: rotate(-1.5deg);
}
body.world-kawaii-chaos .products .product:nth-child(3n),
body.world-kawaii-chaos .products .type-product:nth-child(3n) {
  --fm-rot: 2.5deg;
  transform: rotate(2.5deg);
}
body.world-kawaii-chaos .products .product:nth-child(4n),
body.world-kawaii-chaos .products .type-product:nth-child(4n) {
  --fm-rot: -2deg;
  transform: rotate(-2deg);
}
body.world-kawaii-chaos .products .product:hover,
body.world-kawaii-chaos .products .type-product:hover {
  animation: fm-sticker-pop 0.35s ease forwards !important;
  z-index: 10;
}

/* Kawaii: Schwimmende Herz-Konfetti unten */
@keyframes fm-kawaii-hearts-float {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-8px) rotate(3deg); }
  50% { transform: translateY(-4px) rotate(-2deg); }
  75% { transform: translateY(-10px) rotate(5deg); }
}

/* ============================================================
   🍄 ZAUBERWALD — Ghibli-Nebel / Glühwürmchen / Moos
   ============================================================ */

/* Zauberwald: Nebel-Gradient unter dem Header — löst sich in Wald auf */
body.world-zauberwald .tm-header::after {
  content: '';
  position: absolute;
  bottom: -18px;
  left: 0;
  right: 0;
  height: 36px;
  background: linear-gradient(180deg,
    rgba(40,75,50,0.5) 0%,
    rgba(40,75,50,0.2) 30%,
    rgba(26,58,40,0.08) 60%,
    transparent 100%
  );
  filter: blur(8px);
  pointer-events: none;
  z-index: 50;
}

/* ============================================================
   🌙 DARKSIDE — Pastel Goth / Rosé-Neon / Viktorianisch
   ============================================================ */

/* Darkside: Neon-Linie mit Rosé-Glow — blutet ins Content */
body.world-darkside .tm-header::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 10%;
  right: 10%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(255,140,180,0.6), rgba(200,160,255,0.4), rgba(255,140,180,0.6), transparent);
  box-shadow: 0 2px 15px rgba(255,107,138,0.2), 0 6px 30px rgba(200,140,220,0.1);
  z-index: 100;
  pointer-events: none;
}

/* ============================================================
   🌴 SUNSET STRIP — Vice City Neon / Retrowave
   ============================================================ */

/* Sunset Strip: Neon-Linie unter Header — Pink + Cyan */
body.world-sunset-strip .tm-header::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 5%;
  right: 5%;
  height: 2px;
  background: linear-gradient(90deg,
    transparent,
    rgba(100,255,255,0.5),
    rgba(255,100,200,0.6),
    rgba(100,255,255,0.5),
    transparent
  );
  box-shadow: 0 2px 15px rgba(255,100,200,0.2), 0 4px 25px rgba(100,255,255,0.1);
  z-index: 100;
  pointer-events: none;
  animation: fm-neon-border-soft 6s linear infinite;
}

/* Sunset Strip: ::after wird für Palme genutzt (definiert im Haupt-Block oben) */

/* Zauberwald: ::after wird für Glühwürmchen genutzt (definiert im Haupt-Block oben) */

/* Darkside: Schmiedeeisen-Muster + Rose → definiert im Haupt-Block oben */

/* Kreaturenreich: Pfötchen-Muster + Schmetterling → definiert im Haupt-Block oben */

/* Kosmos: Sternfeld + Sternschnuppe → definiert im Haupt-Block oben */

/* Kawaii Chaos: Herz-Konfetti + Hamster → definiert im Haupt-Block oben */

/* ============================================================
   🏠 HOME — AC Insel-Hauptplatz
   ============================================================ */

body.world-home .tm-header::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg,
    #FF6B8A,   /* Rosa */
    #FFD700,   /* Gold */
    #40E0D0,   /* Türkis */
    #DA70D6,   /* Orchidee */
    #FF6B8A    /* zurück zu Rosa */
  );
  background-size: 300% 100%;
  animation: fm-neon-border-soft 8s linear infinite;
  opacity: 0.6;
  z-index: 100;
  pointer-events: none;
}
body.world-home .uk-navbar-nav > li > a:hover {
  text-shadow: 0 0 8px rgba(255,215,0,0.3) !important;
}

/* ============================================================
   BURGER MENU + OFFCANVAS — Mobile Navigation
   ============================================================ */

/* ---- Hamburger-Button ---- */
.fm-burger-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.fm-burger-icon {
  display: block;
}
.fm-burger-line {
  fill: currentColor;
  transition: transform 0.3s var(--fm-transition-smooth),
              opacity 0.2s var(--fm-transition-smooth);
  transform-origin: center;
}

/* Burger-Farbe pro Welt */
body.world-kreaturenreich .fm-burger-toggle { color: #2D6A4F; }
body.world-kosmos .fm-burger-toggle { color: #C4A8FF; }
body.world-kawaii-chaos .fm-burger-toggle { color: #FF69B4; }
body.world-zauberwald .fm-burger-toggle { color: #B8E8C0; }
body.world-darkside .fm-burger-toggle { color: #C8B0D8; }
body.world-sunset-strip .fm-burger-toggle { color: #FFE0F0; }
body.world-home .fm-burger-toggle { color: #E75480; }

/* ---- Offcanvas Panel ---- */
.fm-offcanvas-bar {
  padding: var(--fm-space-xl) var(--fm-space-lg) !important;
  width: 280px !important;
  font-family: var(--fm-font-body) !important;
}
.fm-offcanvas-heading {
  font-family: var(--fm-font-heading) !important;
  font-size: 1.6rem;
  margin-bottom: var(--fm-space-xs);
  letter-spacing: 0.02em;
}
.fm-offcanvas-divider {
  border: none;
  height: 2px;
  margin: var(--fm-space-md) 0;
  border-radius: 1px;
  opacity: 0.2;
}
.fm-offcanvas-nav {
  list-style: none;
  padding: 0;
  margin: 0;
}
.fm-offcanvas-nav li {
  margin: 0;
}
.fm-offcanvas-link {
  display: flex;
  align-items: center;
  gap: var(--fm-space-sm);
  padding: 0.65em 0.8em !important;
  border-radius: var(--fm-radius-nav) !important;
  font-family: var(--fm-font-heading) !important;
  font-size: 1rem !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s, transform 0.15s var(--fm-transition-bounce);
}
.fm-offcanvas-link:hover {
  transform: translateX(4px);
}
.fm-offcanvas-nav .uk-active .fm-offcanvas-link {
  font-weight: 700;
}
.fm-offcanvas-cart {
  margin-top: var(--fm-space-sm);
}

/* ---- Offcanvas Farbschema pro Welt ---- */

/* Kreaturenreich */
.fm-offcanvas-kreaturenreich .fm-offcanvas-bar { background: #E8FFF0 !important; }
.fm-offcanvas-kreaturenreich .fm-offcanvas-heading { color: #2D6A4F; }
.fm-offcanvas-kreaturenreich .fm-offcanvas-divider { background: #5EC48A; }
.fm-offcanvas-kreaturenreich .fm-offcanvas-link { color: #3D6A50 !important; }
.fm-offcanvas-kreaturenreich .fm-offcanvas-link:hover { background: rgba(94,196,138,0.15); color: #2D6A4F !important; }
.fm-offcanvas-kreaturenreich .uk-active .fm-offcanvas-link { background: rgba(94,196,138,0.2); color: #2D6A4F !important; }
.fm-offcanvas-kreaturenreich .uk-offcanvas-close { color: #2D6A4F !important; }

/* Kosmos */
.fm-offcanvas-kosmos .fm-offcanvas-bar { background: #1A1048 !important; }
.fm-offcanvas-kosmos .fm-offcanvas-heading { color: #E8D5FF; }
.fm-offcanvas-kosmos .fm-offcanvas-divider { background: #6B5BAE; }
.fm-offcanvas-kosmos .fm-offcanvas-link { color: #C8B8E8 !important; }
.fm-offcanvas-kosmos .fm-offcanvas-link:hover { background: rgba(107,91,174,0.2); color: #E8D5FF !important; }
.fm-offcanvas-kosmos .uk-active .fm-offcanvas-link { background: rgba(107,91,174,0.3); color: #E8D5FF !important; }
.fm-offcanvas-kosmos .uk-offcanvas-close { color: #C4A8FF !important; }

/* Kawaii Chaos */
.fm-offcanvas-kawaii-chaos .fm-offcanvas-bar { background: #FFF0F5 !important; }
.fm-offcanvas-kawaii-chaos .fm-offcanvas-heading { color: #E0408A; }
.fm-offcanvas-kawaii-chaos .fm-offcanvas-divider { background: #FF69B4; }
.fm-offcanvas-kawaii-chaos .fm-offcanvas-link { color: #8B4070 !important; }
.fm-offcanvas-kawaii-chaos .fm-offcanvas-link:hover { background: rgba(255,105,180,0.12); color: #E0408A !important; }
.fm-offcanvas-kawaii-chaos .uk-active .fm-offcanvas-link { background: rgba(255,105,180,0.2); color: #E0408A !important; }
.fm-offcanvas-kawaii-chaos .uk-offcanvas-close { color: #E0408A !important; }

/* Zauberwald */
.fm-offcanvas-zauberwald .fm-offcanvas-bar { background: #1A3A28 !important; }
.fm-offcanvas-zauberwald .fm-offcanvas-heading { color: #B8E8C0; }
.fm-offcanvas-zauberwald .fm-offcanvas-divider { background: #5EA878; }
.fm-offcanvas-zauberwald .fm-offcanvas-link { color: #A0D0B0 !important; }
.fm-offcanvas-zauberwald .fm-offcanvas-link:hover { background: rgba(94,168,120,0.15); color: #B8E8C0 !important; }
.fm-offcanvas-zauberwald .uk-active .fm-offcanvas-link { background: rgba(94,168,120,0.25); color: #B8E8C0 !important; }
.fm-offcanvas-zauberwald .uk-offcanvas-close { color: #B8E8C0 !important; }

/* Darkside */
.fm-offcanvas-darkside .fm-offcanvas-bar { background: #1A1228 !important; }
.fm-offcanvas-darkside .fm-offcanvas-heading { color: #E0C8F0; }
.fm-offcanvas-darkside .fm-offcanvas-divider { background: #6B4A78; }
.fm-offcanvas-darkside .fm-offcanvas-link { color: #C8B0D8 !important; }
.fm-offcanvas-darkside .fm-offcanvas-link:hover { background: rgba(107,74,120,0.2); color: #E0C8F0 !important; }
.fm-offcanvas-darkside .uk-active .fm-offcanvas-link { background: rgba(107,74,120,0.3); color: #E0C8F0 !important; }
.fm-offcanvas-darkside .uk-offcanvas-close { color: #C8B0D8 !important; }

/* Sunset Strip */
.fm-offcanvas-sunset-strip .fm-offcanvas-bar { background: #1A0A2E !important; }
.fm-offcanvas-sunset-strip .fm-offcanvas-heading { color: #FFE0F0; }
.fm-offcanvas-sunset-strip .fm-offcanvas-divider { background: linear-gradient(90deg, #FF64C8, #64FFFF); height: 2px; }
.fm-offcanvas-sunset-strip .fm-offcanvas-link { color: #F0C8D8 !important; }
.fm-offcanvas-sunset-strip .fm-offcanvas-link:hover { background: rgba(255,100,200,0.12); color: #FFE0F0 !important; }
.fm-offcanvas-sunset-strip .uk-active .fm-offcanvas-link { background: rgba(255,100,200,0.2); color: #FFE0F0 !important; }
.fm-offcanvas-sunset-strip .uk-offcanvas-close { color: #FFE0F0 !important; }

/* Home */
.fm-offcanvas-home .fm-offcanvas-bar { background: #FFF5F8 !important; }
.fm-offcanvas-home .fm-offcanvas-heading { color: #E75480; }
.fm-offcanvas-home .fm-offcanvas-divider { background: #E75480; }
.fm-offcanvas-home .fm-offcanvas-link { color: #5A4060 !important; }
.fm-offcanvas-home .fm-offcanvas-link:hover { background: rgba(231,84,128,0.1); color: #E75480 !important; }
.fm-offcanvas-home .uk-active .fm-offcanvas-link { background: rgba(231,84,128,0.15); color: #E75480 !important; }
.fm-offcanvas-home .uk-offcanvas-close { color: #E75480 !important; }

/* ============================================================
   RESPONSIVE — Mobile → Tablet → Desktop
   4 Breakpoints: 340px (Tiny), 639px (Phone), 959px (Tablet), 960px+ (Desktop)
   ============================================================ */

/* ---- Tablet + Mobile (≤959px) ---- */
@media (max-width: 959px) {
  /* Design-Tokens für Tablet */
  body.has-world {
    --fm-card-padding: 14px;
    --fm-text-3xl: 2rem;
  }

  /* Builder-Nav auf Mobile/Tablet verstecken (jetzt im Burger-Menu) */
  body.has-world .builder {
    display: none !important;
  }

  /* Mobile Header — welt-spezifische Hintergründe */
  body.world-kosmos .tm-header-mobile { background: rgba(13,8,40,0.96) !important; }
  body.world-darkside .tm-header-mobile { background: rgba(26,18,40,0.96) !important; }
  body.world-sunset-strip .tm-header-mobile { background: rgba(26,10,46,0.96) !important; }
  body.world-zauberwald .tm-header-mobile { background: rgba(26,58,40,0.96) !important; }
  body.world-kreaturenreich .tm-header-mobile { background: rgba(135,206,235,0.92) !important; }
  body.world-kawaii-chaos .tm-header-mobile { background: rgba(255,224,240,0.92) !important; }
  body.world-home .tm-header-mobile { background: rgba(255,214,224,0.92) !important; }

  /* Mobile Nav — Offcanvas */
  body.has-world .tm-header-mobile .uk-navbar-dropdown,
  body.has-world .tm-header-mobile .uk-nav,
  body.has-world .uk-offcanvas-bar {
    font-family: var(--fm-font-heading) !important;
  }
  body.has-world .uk-offcanvas-bar .uk-nav > li > a {
    font-family: var(--fm-font-heading) !important;
    font-size: var(--fm-text-md) !important;
    padding: 0.6em 0 !important;
  }

  /* Builder-Nav kompakter */
  body.has-world .builder .uk-section {
    padding-top: var(--fm-space-sm) !important;
    padding-bottom: var(--fm-space-sm) !important;
  }
  body.has-world .builder .uk-subnav {
    flex-wrap: wrap;
    gap: var(--fm-space-xs) var(--fm-space-md);
  }

  /* Sticker-Emojis kleiner */
  body.has-world .el-item.uk-card::before,
  body.has-world .products .product::before,
  body.has-world .products .type-product::before {
    font-size: 1rem;
    top: -6px;
    right: -2px;
  }

  /* Background-Animationen dezenter */
  body.has-world::after {
    font-size: 1.5rem !important;
    opacity: 0.5;
  }

  /* Kategorie-Titel */
  body.has-world .woocommerce-products-header__title,
  body.has-world .page-title {
    font-size: var(--fm-text-2xl) !important;
    padding: 0 var(--fm-space-md);
  }

  /* Kategorie-Beschreibung */
  body.has-world .term-description,
  body.has-world .woocommerce-products-header p {
    padding: 0 var(--fm-space-md);
    font-size: var(--fm-text-sm) !important;
  }

  /* Portal-Titel Tablet */
  .fm-portal-title {
    font-size: 1.4rem !important;
  }
  .fm-portal-sub {
    font-size: 0.75rem !important;
  }

  /* YOOtheme Grid: 2 Spalten auf Tablet */
  body.has-world .fs-load-more-container > *,
  body.has-world .uk-grid-match[class*="uk-child-width"] > * {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
}

/* ---- Tablet Only (640px – 959px) ---- */
@media (min-width: 640px) and (max-width: 959px) {
  .fm-logo-random .fm-logo-folien,
  .fm-logo-random .fm-logo-marie {
    font-size: 2.5rem !important;
  }
  .fm-portal-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--fm-space-md);
  }
  .fm-portal-card {
    height: 200px;
    padding: var(--fm-space-lg);
  }
  .fm-portal-title {
    font-size: 1.3rem !important;
  }

  /* WooCommerce-Beschreibung auf Tablet kürzen */
  body.has-world .products .product .woocommerce-product-details__short-description {
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: var(--fm-text-sm) !important;
  }
}

/* ---- Phone (≤639px) ---- */
@media (max-width: 639px) {
  body.has-world {
    --fm-card-padding: 10px;
    --fm-card-gap: 6px;
    --fm-radius-card: 18px;
    --fm-text-3xl: 1.6rem;
    --fm-text-2xl: 1.3rem;
    --fm-text-md: 0.9rem;
    --fm-text-sm: 0.78rem;
  }

  /* Logo */
  .fm-logo-random .fm-logo-folien,
  .fm-logo-random .fm-logo-marie {
    font-size: 1.8rem !important;
  }
  #fm-slogan {
    font-size: var(--fm-text-xs) !important;
  }

  /* Portal-Grid — 2 Spalten, kompakt */
  .fm-portal-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--fm-space-sm);
    padding: 0 var(--fm-space-sm);
    margin-bottom: var(--fm-space-xl);
  }
  .fm-portal-card {
    height: 140px;
    padding: var(--fm-space-sm) var(--fm-space-md);
    border-radius: 16px;
  }
  .fm-portal-title {
    font-size: 1rem !important;
    line-height: 1.2;
  }
  .fm-portal-sub {
    font-size: 0.65rem !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .fm-portal-count {
    font-size: 0.6rem;
    top: 0.5rem;
    right: 0.6rem;
  }
  .fm-portal-card::before {
    font-size: 1.2rem !important;
  }
  .fm-portal-intro {
    font-size: var(--fm-text-sm);
    margin: var(--fm-space-sm) auto var(--fm-space-md);
    padding: 0 var(--fm-space-md);
  }

  /* WooCommerce Grid: 2 Spalten */
  body.has-world .products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: var(--fm-space-sm) !important;
    padding: 0 var(--fm-space-sm);
  }

  /* YOOtheme Grid: 2 Spalten — Flex-Override */
  body.has-world .fs-load-more-container > *,
  body.has-world .uk-grid-match[class*="uk-child-width"] > * {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
  body.has-world .fs-load-more-container,
  body.has-world .uk-grid-match {
    row-gap: var(--fm-space-sm) !important;
  }

  /* Card-Bilder: kompakter auf Phone */
  body.has-world .el-item.uk-card img,
  body.has-world .uk-card-media-top img,
  body.has-world .products .product img {
    aspect-ratio: 4 / 5 !important;
  }

  /* Card-Titel kleiner */
  body.has-world .products .product .woocommerce-loop-product__title,
  body.has-world .el-item .el-title,
  body.has-world .el-item .uk-card-title {
    font-size: var(--fm-text-sm) !important;
    line-height: 1.25;
    padding: var(--fm-space-xs) var(--fm-space-sm) 0 !important;
  }
  body.has-world .products .product .price {
    font-size: var(--fm-text-base) !important;
    padding: 0 var(--fm-space-sm) !important;
  }

  /* WooCommerce-Beschreibung auf Phone ausblenden */
  body.has-world .products .product .woocommerce-product-details__short-description {
    display: none !important;
  }

  /* Meta/SKU auf Phone ausblenden (zu eng) */
  body.has-world .el-item .el-meta {
    display: none !important;
  }

  /* Beschreibung auf Phone ausblenden (Cards zu klein) */
  body.has-world .el-item .el-content {
    display: none !important;
  }

  /* Kategorie-Titel Emojis auf Phone ausblenden (Platz sparen) */
  body.has-world .woocommerce-products-header__title::after,
  body.has-world .page-title::after {
    display: none;
  }

  /* Breadcrumb kompakter */
  body.has-world .woocommerce-breadcrumb {
    font-size: var(--fm-text-xs) !important;
    padding: var(--fm-space-xs) var(--fm-space-md) !important;
    margin-bottom: 0 !important;
  }

  /* Preis-Emojis auf Phone ausblenden (Platz sparen) */
  body.has-world .price::before {
    display: none !important;
  }

  /* Card-Body Padding kompakter */
  body.has-world .el-item .uk-card-body,
  body.has-world .uk-card-default .uk-card-body {
    padding: var(--fm-space-sm) !important;
  }

  /* Buttons kompakter + Kreis-Bug Fix */
  body.has-world .products .product .add_to_cart_button,
  body.has-world .products .product .button {
    font-size: var(--fm-text-xs) !important;
    padding: 0.4em 0.8em !important;
    margin: var(--fm-space-xs) var(--fm-space-sm) var(--fm-space-sm) !important;
    border-radius: 12px !important;
    text-align: center !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Card-Overflow sicherstellen (Sticker + Content-Overflow) */
  body.has-world .products .product {
    overflow: hidden !important;
  }

  /* Einzelprodukt: Stack + bessere Abstände */
  body.has-world.single-product .woocommerce-product-gallery {
    margin-bottom: var(--fm-space-lg);
  }
  body.has-world.single-product .product {
    padding: 0 var(--fm-space-sm);
  }
  body.has-world.single-product .product_title {
    font-size: var(--fm-text-xl) !important;
    line-height: 1.2;
  }
  body.has-world.single-product .woocommerce-product-details__short-description {
    font-size: var(--fm-text-sm) !important;
  }
  body.has-world.single-product .single_add_to_cart_button {
    width: 100% !important;
    font-size: var(--fm-text-md) !important;
    padding: 0.8em 1.5em !important;
  }
  body.has-world.single-product .quantity .qty {
    width: 60px !important;
    font-size: var(--fm-text-md) !important;
  }

  /* Ähnliche Produkte — Section als Block-Layout (h2 ÜBER Grid, nicht daneben) */
  body.has-world.single-product section.related,
  body.has-world.single-product .related.products {
    display: block !important;
    width: 100% !important;
    clear: both !important;
  }

  /* Ähnliche Produkte (Related Products) — Heading */
  body.has-world.single-product .related > h2,
  body.has-world.single-product section.related > h2,
  body.has-world.single-product .related.products > h2 {
    font-size: 1.3rem !important;
    margin-bottom: var(--fm-space-sm) !important;
    padding: 0 var(--fm-space-sm);
    width: 100% !important;
    display: block !important;
    float: none !important;
  }

  /* Related: Grid volle Breite + 2 Spalten */
  body.has-world.single-product .related .products,
  body.has-world.single-product .related.products > ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: var(--fm-space-sm) !important;
    padding: 0 !important;
  }

  /* Related: Sticker-Emojis auf Phone ausblenden (kein Platz) */
  body.has-world.single-product .related .products .product::before {
    display: none !important;
  }

  /* Related: Bilder nicht abschneiden */
  body.has-world.single-product .related .products .product img {
    aspect-ratio: 1 / 1 !important;
    object-fit: cover;
  }

  /* Upsells (Produkt-Empfehlungen) — gleiche Behandlung */
  body.has-world.single-product section.upsells,
  body.has-world.single-product .upsells {
    display: block !important;
    width: 100% !important;
    clear: both !important;
  }
  body.has-world.single-product .upsells > h2 {
    font-size: 1.3rem !important;
    margin-bottom: var(--fm-space-sm) !important;
    padding: 0 var(--fm-space-sm);
    width: 100% !important;
    display: block !important;
    float: none !important;
  }
  body.has-world.single-product .upsells .products,
  body.has-world.single-product .upsells > ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: var(--fm-space-sm) !important;
    padding: 0 !important;
  }
  body.has-world.single-product .upsells .products .product::before {
    display: none !important;
  }

  /* Warenkorb + Checkout responsiv */
  body.has-world .woocommerce-cart .cart-collaterals,
  body.has-world .woocommerce-checkout .checkout {
    padding: var(--fm-space-sm) !important;
  }
  body.has-world .woocommerce table.shop_table {
    font-size: var(--fm-text-sm) !important;
  }
  body.has-world .woocommerce table.shop_table img {
    max-width: 50px !important;
  }
}

/* ---- Tiny Phone (≤340px) — Galaxy S3, alte SE etc. ---- */
@media (max-width: 340px) {
  body.has-world .products {
    grid-template-columns: 1fr !important;
  }
  body.has-world .fs-load-more-container > *,
  body.has-world .uk-grid-match[class*="uk-child-width"] > * {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  .fm-portal-grid {
    grid-template-columns: 1fr !important;
  }
  .fm-portal-card {
    height: auto;
    min-height: 120px;
  }
  .fm-portal-title {
    font-size: 1.2rem !important;
  }
  .fm-portal-sub {
    display: block !important;
    -webkit-line-clamp: unset;
  }
  /* Bei voller Breite: Beschreibung + Meta wieder zeigen */
  body.has-world .el-item .el-content {
    display: -webkit-box !important;
  }
  body.has-world .el-item .el-meta {
    display: block !important;
  }
}

/* ============================================================
   WOOCOMMERCE GLOBAL RESPONSIVE (ohne has-world)
   Warenkorb, Checkout, Mein Konto — basis-mobil
   ============================================================ */
@media (max-width: 639px) {
  /* Tabellen horizontal scrollbar */
  .woocommerce table.shop_table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    font-size: 0.85rem;
  }

  /* Warenkorb: Bilder kleiner */
  .woocommerce table.shop_table img {
    max-width: 50px;
    height: auto;
  }

  /* Checkout: Felder volle Breite */
  .woocommerce-checkout .form-row {
    width: 100% !important;
    float: none !important;
  }

  /* Buttons volle Breite */
  .woocommerce .checkout_coupon .button,
  .woocommerce .cart .button,
  .woocommerce #payment #place_order {
    width: 100%;
    box-sizing: border-box;
  }

  /* Bestellübersicht: Padding */
  .woocommerce .cart-collaterals,
  .woocommerce-checkout #order_review {
    padding: 0 8px;
  }

  /* Mein Konto: Nav als Stack */
  .woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100% !important;
    float: none !important;
    margin-bottom: 1rem;
  }
  .woocommerce-account .woocommerce-MyAccount-content {
    width: 100% !important;
    float: none !important;
  }
}

/* ============================================================
   ACCESSIBILITY — prefers-reduced-motion
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  body.has-world,
  body.has-world *,
  body.has-world *::before,
  body.has-world *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  /* Schwebende Emojis ausblenden */
  body.has-world::after {
    display: none !important;
  }
}
