/* TarotTarot – lunq */
:root {
  --lunq-bg: #14102a;
  --lunq-bg-2: #1c1636;
  --lunq-primary: #221a38;
  --lunq-card: #261d42;
  --lunq-gold: #d6b25e;
  --lunq-gold-soft: #ecd9a6;
  --lunq-text: #ece6f5;
  --lunq-muted: #b6acca;
  --lunq-line: rgba(214, 178, 94, 0.24);
  --lunq-ja: #8fd6a4;
  --lunq-nein: #ee9a9a;
  --lunq-vielleicht: #e9cf86;
  --lunq-r: 10px;
  --lunq-r-lg: 14px;
  --lunq-space: 16px;
  --lunq-glow: 0 0 22px rgba(214, 178, 94, 0.18);
  --lunq-font-h: "Cormorant Garamond", "Cormorant", Georgia, "Times New Roman", serif;
  --lunq-font-b: "Karla", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --lunq-cw: 92px;
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--lunq-bg);
  background-image:
    radial-gradient(1200px 600px at 50% -10%, rgba(126, 92, 196, 0.28), transparent 70%),
    radial-gradient(700px 400px at 90% 30%, rgba(214, 178, 94, 0.07), transparent 70%);
  background-repeat: no-repeat;
  color: var(--lunq-text);
  font: 400 1rem/1.65 var(--lunq-font-b);
  overflow-x: hidden;
}
img, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: var(--lunq-gold-soft); text-underline-offset: 3px; }
a:hover { color: #fff; }
h1, h2, h3 { font-family: var(--lunq-font-h); font-weight: 600; line-height: 1.15; letter-spacing: 0.01em; margin: 0 0 0.5em; }
h1 { font-size: clamp(2rem, 5vw, 2.8rem); }
h2 { font-size: clamp(1.55rem, 3.4vw, 2rem); margin-top: 1.6em; }
h3 { font-size: 1.35rem; margin-top: 1.3em; }
:focus-visible { outline: 2px solid var(--lunq-gold); outline-offset: 3px; border-radius: 4px; }

.lunq-wrap { width: 100%; max-width: 1080px; margin: 0 auto; padding: 0 var(--lunq-space); }
.lunq-narrow { max-width: 780px; }
.lunq-skip { position: absolute; left: -9999px; }
.lunq-skip:focus { left: 12px; top: 12px; z-index: 10; background: var(--lunq-gold); color: #000; padding: 8px 12px; border-radius: var(--lunq-r); }

/* Kopf */
.lunq-head { border-bottom: 1px solid var(--lunq-line); background: rgba(20, 16, 42, 0.85); backdrop-filter: blur(8px); position: sticky; top: 0; z-index: 5; }
.lunq-head-in { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 60px; }
.lunq-logo { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; color: var(--lunq-text); font: 600 1.55rem/1 var(--lunq-font-h); white-space: nowrap; }
.lunq-logo em { font-style: normal; color: var(--lunq-gold); }
.lunq-logo-ico { width: 22px; height: 22px; color: var(--lunq-gold); }
.lunq-nav ul { list-style: none; display: flex; gap: 4px; margin: 0; padding: 0; }
.lunq-nav a { display: block; padding: 8px 12px; border-radius: 999px; text-decoration: none; color: var(--lunq-muted); font-size: 0.95rem; white-space: nowrap; }
.lunq-nav a:hover, .lunq-nav a[aria-current] { color: var(--lunq-text); background: rgba(214, 178, 94, 0.12); }

/* Hero */
.lunq-hero { text-align: center; padding: 36px 0 28px; }
.lunq-hero-home { padding-top: 56px; }
.lunq-intro { color: var(--lunq-muted); font-size: 1.08rem; max-width: 640px; margin: 0 auto 24px; }
.lunq-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; padding: 0; margin: 0 0 14px; font-size: 0.85rem; color: var(--lunq-muted); }
.lunq-crumbs li + li::before { content: "›"; margin-right: 6px; opacity: 0.6; }
.lunq-crumbs a { color: var(--lunq-muted); }
.lunq-narrow .lunq-crumbs ol { justify-content: flex-start; margin-top: 28px; }

/* Werkzeug-Kacheln */
.lunq-tools { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; padding: 0; margin: 8px 0 0; text-align: left; }
.lunq-tools > li { flex: 1 1 180px; max-width: 200px; }
.lunq-tile { display: flex; flex-direction: column; gap: 6px; padding: 16px; height: 100%; border: 1px solid var(--lunq-line); border-radius: var(--lunq-r-lg); background: linear-gradient(160deg, rgba(38, 29, 66, 0.9), rgba(28, 22, 54, 0.9)); text-decoration: none; color: var(--lunq-text); transition: box-shadow 0.2s, border-color 0.2s; hyphens: auto; overflow-wrap: break-word; min-width: 0; }
.lunq-tile:hover { color: var(--lunq-text); border-color: rgba(214, 178, 94, 0.6); box-shadow: var(--lunq-glow); }
.lunq-tile .lunq-ico { flex: none; width: 40px; height: 40px; padding: 8px; border-radius: 50%; color: var(--lunq-gold); background: rgba(214, 178, 94, 0.1); }
.lunq-tile strong { font: 600 1.25rem/1.2 var(--lunq-font-h); }
.lunq-tile span { color: var(--lunq-muted); font-size: 0.92rem; line-height: 1.45; }

/* Kartentisch */
.lunq-table { scroll-margin-top: 76px; position: relative; margin: 0 auto; max-width: 860px; padding: 22px var(--lunq-space) 26px; border: 1px solid var(--lunq-line); border-radius: 22px; background: radial-gradient(ellipse at 50% 0%, rgba(126, 92, 196, 0.22), transparent 70%), rgba(28, 22, 54, 0.75); box-shadow: var(--lunq-glow); }
.lunq-hint { margin: 0 0 10px; color: var(--lunq-gold-soft); font-weight: 600; min-height: 1.65em; }
.lunq-ask { display: block; max-width: 520px; margin: 0 auto 16px; text-align: left; }
.lunq-ask span { display: block; font-size: 0.85rem; color: var(--lunq-muted); margin-bottom: 4px; }
.lunq-ask input { width: 100%; padding: 12px 14px; font: inherit; color: var(--lunq-text); background: rgba(10, 8, 24, 0.6); border: 1px solid var(--lunq-line); border-radius: var(--lunq-r); }
.lunq-ask input:focus { outline: none; border-color: var(--lunq-gold); }

.lunq-fan { position: relative; height: calc(var(--lunq-cw) * 1.72 + 40px); margin: 6px auto 0; max-width: 100%; }
.lunq-fan[hidden] { display: none; }
.lunq-back { position: absolute; left: 50%; bottom: 10px; width: var(--lunq-cw); aspect-ratio: 1 / 1.72; margin-left: calc(var(--lunq-cw) / -2); padding: 0; border: 0; border-radius: 8px; cursor: pointer; transform-origin: 50% 120%; transform: translateX(var(--x, 0)) rotate(var(--r, 0deg)); transition: transform 0.25s ease, opacity 0.3s, filter 0.2s; background: none; }
.lunq-back:hover, .lunq-back:focus-visible { transform: translateX(var(--x, 0)) rotate(var(--r, 0deg)) translateY(-14px); filter: brightness(1.15); z-index: 3; }
.lunq-back.is-taken { opacity: 0; pointer-events: none; transform: translateX(var(--x, 0)) rotate(var(--r, 0deg)) translateY(-40px); }
.lunq-fan.is-shuffling .lunq-back { transform: translateX(0) rotate(0deg); }

/* Kartenrücken & -vorderseiten */
.lunq-cardface { width: 100%; height: 100%; border-radius: 8px; overflow: hidden; }
.lunq-cardback { display: block; width: 100%; height: 100%; border-radius: 8px; border: 2px solid var(--lunq-gold); box-shadow: 0 6px 14px rgba(0, 0, 0, 0.45); background:
  radial-gradient(circle at 50% 50%, rgba(214, 178, 94, 0.35) 0 9%, transparent 10%),
  repeating-linear-gradient(45deg, rgba(214, 178, 94, 0.12) 0 2px, transparent 2px 10px),
  repeating-linear-gradient(-45deg, rgba(214, 178, 94, 0.12) 0 2px, transparent 2px 10px),
  linear-gradient(160deg, #3a2a66, #1d1538); position: relative; }
.lunq-cardback::after { content: ""; position: absolute; inset: 5px; border: 1px solid rgba(214, 178, 94, 0.55); border-radius: 5px; }
[data-deck="engel"] .lunq-cardback { border-color: #e9e2f7; background:
  radial-gradient(circle at 50% 42%, rgba(255, 255, 255, 0.55) 0 7%, rgba(255, 255, 255, 0.12) 8% 24%, transparent 25%),
  linear-gradient(170deg, #8b7fc4, #4b3f86 55%, #2b2257); }
[data-deck="engel"] .lunq-cardback::after { border-color: rgba(255, 255, 255, 0.5); }

.lunq-flip { width: 100%; aspect-ratio: 1 / 1.72; perspective: 900px; }
.lunq-flip-in { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1); }
.lunq-flip.is-open .lunq-flip-in { transform: rotateY(180deg); }
.lunq-flip-in > * { position: absolute; inset: 0; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.lunq-flip-front { transform: rotateY(180deg); box-shadow: 0 10px 26px rgba(0, 0, 0, 0.5); border-radius: 8px; }
.lunq-flip-front img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px; }

/* Ersatzkarte ohne Bild */
.lunq-fallback { display: flex; flex-direction: column; align-items: center; justify-content: space-between; height: 100%; padding: 10% 8%; border-radius: 8px; background: linear-gradient(170deg, #f3e7c9, #dcc897); color: #3a2a20; border: 2px solid #b8975a; text-align: center; }
.lunq-fallback b { font: 700 1.1em/1 var(--lunq-font-h); letter-spacing: 0.08em; }
.lunq-fallback i { font-style: normal; font-size: 2.4em; line-height: 1; color: #7a5326; }
.lunq-fallback i svg { width: 2.6em; height: 2.6em; }
.lunq-fallback span { font: 600 0.95em/1.15 var(--lunq-font-h); }

/* Engelkarte vorne */
.lunq-angel { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10%; height: 100%; padding: 10% 8%; border-radius: 8px; text-align: center; color: #241b40; background: radial-gradient(circle at 50% 38%, #fff 0 18%, transparent 52%), linear-gradient(175deg, var(--a, #e8c97a), #f7f2ff); border: 2px solid rgba(255, 255, 255, 0.85); }
.lunq-angel svg { width: 46%; height: auto; color: #3d2f6e; }
.lunq-angel span { font: 700 1em/1.15 var(--lunq-font-h); }

/* Ergebnis */
.lunq-result { margin-top: 18px; text-align: left; animation: lunq-fade 0.6s ease both; }
.lunq-result:focus { outline: none; }
.lunq-res-grid { display: grid; grid-template-columns: minmax(150px, 220px) 1fr; gap: 26px; align-items: start; }
.lunq-res-card { width: 100%; }
.lunq-res-body h2 { margin-top: 0; }
.lunq-sub { color: var(--lunq-muted); margin: -6px 0 12px; font-size: 0.95rem; }
.lunq-chips { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 0 0 14px; }
.lunq-chips li { padding: 3px 10px; border: 1px solid var(--lunq-line); border-radius: 999px; font-size: 0.85rem; color: var(--lunq-gold-soft); }
.lunq-res-body h3 { font-size: 1.15rem; margin: 16px 0 4px; color: var(--lunq-gold-soft); }
.lunq-res-body p { margin: 0 0 8px; }
.lunq-rat { margin-top: 14px; padding: 12px 14px; border-left: 3px solid var(--lunq-gold); background: rgba(214, 178, 94, 0.08); border-radius: 0 var(--lunq-r) var(--lunq-r) 0; }
.lunq-answer { display: inline-block; font: 700 clamp(2.4rem, 8vw, 3.6rem)/1 var(--lunq-font-h); letter-spacing: 0.06em; margin: 0 0 6px; }
.lunq-answer.is-ja { color: var(--lunq-ja); }
.lunq-answer.is-nein { color: var(--lunq-nein); }
.lunq-answer.is-vielleicht { color: var(--lunq-vielleicht); }
.lunq-question { color: var(--lunq-muted); font-style: italic; margin: 0 0 10px; }
.lunq-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.lunq-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 20px; border-radius: 999px; border: 1px solid var(--lunq-gold); background: var(--lunq-gold); color: #1a1230; font: 700 0.98rem/1.2 var(--lunq-font-b); text-decoration: none; cursor: pointer; transition: box-shadow 0.2s, filter 0.2s; }
.lunq-btn:hover { color: #1a1230; box-shadow: var(--lunq-glow); filter: brightness(1.08); }
.lunq-btn-ghost { background: transparent; color: var(--lunq-gold-soft); }
.lunq-btn-ghost:hover { color: #fff; }

/* Drei-Karten-Legung */
.lunq-slots { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 130px)); justify-content: center; gap: 14px; padding: 0; margin: 10px auto 0; }
.lunq-slots li { display: flex; flex-direction: column; align-items: center; gap: 6px; font-size: 0.85rem; color: var(--lunq-muted); }
.lunq-slot { width: 100%; aspect-ratio: 1 / 1.72; border: 1px dashed var(--lunq-line); border-radius: 8px; }
.lunq-slot.is-filled { border: 0; }
.lunq-verdict { text-align: center; margin-bottom: 8px; }
.lunq-verdict h2 { margin: 0 0 4px; }
.lunq-meter { display: flex; justify-content: center; gap: 4px; margin: 6px 0 4px; color: var(--lunq-gold); }
.lunq-meter svg { width: 22px; height: 22px; }
.lunq-meter .is-off { opacity: 0.25; }
.lunq-three { display: grid; gap: 14px; margin-top: 12px; }
.lunq-three section { padding: 14px 16px; border: 1px solid var(--lunq-line); border-radius: var(--lunq-r-lg); background: rgba(20, 16, 42, 0.5); }
.lunq-three h3 { margin: 0 0 4px; font-size: 1.15rem; color: var(--lunq-gold-soft); }
.lunq-three .lunq-pos { display: block; font: 600 0.78rem/1 var(--lunq-font-b); text-transform: uppercase; letter-spacing: 0.08em; color: var(--lunq-muted); margin-bottom: 4px; }
.lunq-three p { margin: 0; }

/* Partner, Anzeigen */
.lunq-partner { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 28px 0 8px; padding: 16px 18px; border: 1px solid var(--lunq-line); border-radius: var(--lunq-r-lg); background: rgba(38, 29, 66, 0.6); }
.lunq-partner p { margin: 2px 0 0; color: var(--lunq-muted); font-size: 0.93rem; }
.lunq-partner strong { font: 600 1.2rem/1.2 var(--lunq-font-h); }
.lunq-partner .lunq-btn { flex: none; }
.lunq-ad[hidden], .lunq-partner[hidden] { display: none; }

/* Fließtext */
.lunq-prose { padding-bottom: 12px; }
.lunq-prose p, .lunq-prose li { color: #dcd4ea; }
.lunq-prose ul, .lunq-prose ol { padding-left: 1.3em; }
.lunq-prose li { margin-bottom: 4px; }
.lunq-prose strong { color: var(--lunq-text); }
.lunq-todo { background: rgba(238, 154, 154, 0.2); color: #ffd1d1; padding: 0 4px; border-radius: 4px; }
.lunq-faq details { border: 1px solid var(--lunq-line); border-radius: var(--lunq-r); margin: 0 0 10px; background: rgba(28, 22, 54, 0.6); }
.lunq-faq summary { cursor: pointer; padding: 12px 16px; font-weight: 600; list-style: none; position: relative; padding-right: 40px; }
.lunq-faq summary::-webkit-details-marker { display: none; }
.lunq-faq summary::after { content: "+"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); color: var(--lunq-gold); font-size: 1.3rem; }
.lunq-faq details[open] summary::after { content: "–"; }
.lunq-faq details p { margin: 0; padding: 0 16px 14px; }
.lunq-more { padding: 8px 0 40px; }

/* Fuß */
.lunq-foot { margin-top: 30px; border-top: 1px solid var(--lunq-line); background: rgba(10, 8, 24, 0.5); padding: 32px 0 24px; font-size: 0.92rem; color: var(--lunq-muted); }
.lunq-foot-cols { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 24px; }
.lunq-foot strong { color: var(--lunq-text); display: block; margin-bottom: 6px; }
.lunq-foot ul { list-style: none; padding: 0; margin: 0; }
.lunq-foot li { margin-bottom: 4px; }
.lunq-foot a { color: var(--lunq-muted); }
.lunq-foot a:hover { color: var(--lunq-text); }
.lunq-foot-note { margin: 24px 0 0; padding-top: 16px; border-top: 1px solid rgba(214, 178, 94, 0.12); font-size: 0.82rem; }

@keyframes lunq-fade { from { opacity: 0; } to { opacity: 1; } }

@media (max-width: 760px) {
  :root { --lunq-cw: 66px; }
  .lunq-head-in { flex-direction: column; align-items: stretch; gap: 0; padding-top: 8px; }
  .lunq-logo { justify-content: center; }
  .lunq-nav { overflow-x: auto; scrollbar-width: none; margin: 0 calc(var(--lunq-space) * -1); padding: 6px var(--lunq-space); }
  .lunq-nav::-webkit-scrollbar { display: none; }
  .lunq-nav ul { justify-content: center; min-width: max-content; margin: 0 auto; }
  .lunq-nav a { padding: 6px 10px; font-size: 0.9rem; }
  .lunq-hide-s { display: none; }
}
@media (max-width: 560px) {
  .lunq-tools > li { flex-basis: 100%; max-width: none; }
  .lunq-hero { padding-top: 24px; }
  .lunq-res-grid { grid-template-columns: 1fr; gap: 16px; }
  .lunq-res-card { max-width: 150px; margin: 0 auto; }
  .lunq-partner { flex-direction: column; align-items: flex-start; }
  .lunq-foot-cols { grid-template-columns: 1fr 1fr; }
  .lunq-foot-cols > div:first-child { grid-column: 1 / -1; }
  .lunq-slots { gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

/* ===== Etappe 2: Tarot-Welt ===== */
.lunq-btn-s { min-height: 34px; padding: 5px 14px; font-size: 0.88rem; }
.lunq-linkbtn { background: none; border: 0; padding: 0; color: var(--lunq-gold-soft); font: inherit; text-decoration: underline; cursor: pointer; }
.lunq-small { font-size: 0.85rem; color: var(--lunq-muted); }
.lunq-center { text-align: center; }

/* Menü */
.lunq-menu-btn { display: none; align-items: center; gap: 8px; min-height: 40px; padding: 6px 14px; border: 1px solid var(--lunq-line); border-radius: 999px; background: transparent; color: var(--lunq-text); font: 600 0.95rem var(--lunq-font-b); cursor: pointer; }
.lunq-menu-btn span, .lunq-menu-btn span::before, .lunq-menu-btn span::after { display: block; width: 16px; height: 2px; background: currentColor; border-radius: 2px; position: relative; }
.lunq-menu-btn span::before, .lunq-menu-btn span::after { content: ""; position: absolute; left: 0; }
.lunq-menu-btn span::before { top: -5px; } .lunq-menu-btn span::after { top: 5px; }

/* Hero-Bilder */
.lunq-heroimg { margin: 22px 0 6px; position: relative; border-radius: var(--lunq-r-lg); overflow: hidden; border: 1px solid var(--lunq-line); }
.lunq-heroimg img { width: 100%; max-height: 340px; object-fit: cover; filter: saturate(0.9); }
.lunq-heroimg figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 12px 6px; font-size: 0.72rem; color: #d8cfe8; background: linear-gradient(transparent, rgba(10, 8, 24, 0.85)); }
.lunq-heroimg figcaption a { color: inherit; }
.lunq-heroimg.is-mini { display: block; margin: 0; border: 0; border-radius: 0; }
.lunq-heroimg.is-mini img { max-height: 180px; height: 180px; }
.lunq-heroimg.is-mini figcaption { display: none; }

/* Startseite */
.lunq-band { margin: 34px 0; }
.lunq-band-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.lunq-band-head h2 { margin: 0; }
.lunq-band-head a { white-space: nowrap; }
.lunq-band-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lunq-feature { display: block; overflow: hidden; border: 1px solid var(--lunq-line); border-radius: var(--lunq-r-lg); background: rgba(38, 29, 66, 0.6); text-decoration: none; color: var(--lunq-text); transition: box-shadow 0.2s, border-color 0.2s; }
.lunq-feature:hover { color: var(--lunq-text); border-color: rgba(214, 178, 94, 0.6); box-shadow: var(--lunq-glow); }
.lunq-feature > div { padding: 14px 16px 16px; }
.lunq-feature h2 { margin: 0 0 4px; font-size: 1.5rem; }
.lunq-feature p { margin: 0; color: var(--lunq-muted); font-size: 0.95rem; }
.lunq-strip { display: flex; gap: 12px; overflow-x: auto; padding: 6px 2px 10px; scrollbar-width: thin; }
.lunq-strip a { flex: 1 0 96px; max-width: 120px; }
.lunq-strip a { text-decoration: none; color: var(--lunq-muted); font-size: 0.78rem; text-align: center; transition: transform 0.2s; }
.lunq-strip a:hover { transform: translateY(-4px); color: var(--lunq-text); }
.lunq-strip img { border-radius: 6px; box-shadow: 0 6px 14px rgba(0, 0, 0, 0.4); margin-bottom: 4px; }

/* Legesysteme-Kacheln */
.lunq-spreads { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; padding: 0; margin: 8px 0 0; text-align: left; }
.lunq-spreads a { display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 14px; border: 1px solid var(--lunq-line); border-radius: var(--lunq-r-lg); background: linear-gradient(160deg, rgba(38, 29, 66, 0.9), rgba(28, 22, 54, 0.9)); text-decoration: none; color: var(--lunq-text); transition: box-shadow 0.2s, border-color 0.2s; }
.lunq-spreads a:hover { color: var(--lunq-text); border-color: rgba(214, 178, 94, 0.6); box-shadow: var(--lunq-glow); }
.lunq-spreads strong { font: 600 1.2rem/1.2 var(--lunq-font-h); }
.lunq-spreads span { color: var(--lunq-muted); font-size: 0.88rem; line-height: 1.4; }
.lunq-spreadsvg { height: 96px; width: 100%; margin-bottom: 4px; }
.lunq-spreadsvg rect { fill: rgba(214, 178, 94, 0.14); stroke: var(--lunq-gold); stroke-width: 0.05; }
.lunq-spreadsvg text { fill: var(--lunq-gold-soft); font: 700 0.55px var(--lunq-font-b); text-anchor: middle; }
.lunq-posgrid { display: grid; grid-template-columns: 200px 1fr; gap: 20px; align-items: start; }
.lunq-posgrid .lunq-spreadsvg { height: auto; max-height: 260px; }
.lunq-poslist li { margin-bottom: 6px; }

/* Lexikon */
.lunq-filter { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin: 0 0 18px; }
.lunq-filter button { min-height: 38px; padding: 6px 14px; border-radius: 999px; border: 1px solid var(--lunq-line); background: transparent; color: var(--lunq-muted); font: 600 0.9rem var(--lunq-font-b); cursor: pointer; }
.lunq-filter button[aria-pressed="true"] { background: var(--lunq-gold); border-color: var(--lunq-gold); color: #1a1230; }
.lunq-filter input { flex: 1 1 220px; max-width: 320px; min-height: 40px; padding: 8px 14px; font: inherit; color: var(--lunq-text); background: rgba(10, 8, 24, 0.6); border: 1px solid var(--lunq-line); border-radius: 999px; }
.lunq-count { font-size: 0.85rem; color: var(--lunq-muted); min-width: 70px; }
.lunq-cgrid { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(108px, 1fr)); gap: 14px; padding: 0; margin: 0; }
.lunq-cgrid[hidden], .lunq-cgrid li[hidden] { display: none; }
.lunq-cgrid a { display: flex; flex-direction: column; align-items: center; gap: 6px; text-decoration: none; color: var(--lunq-muted); font-size: 0.85rem; line-height: 1.25; text-align: center; transition: transform 0.2s, color 0.2s; }
.lunq-cgrid a:hover { color: var(--lunq-text); transform: translateY(-4px); }
.lunq-cgrid img, .lunq-noimg { width: 100%; height: auto; aspect-ratio: 348 / 600; border-radius: 6px; box-shadow: 0 6px 14px rgba(0, 0, 0, 0.4); }
.lunq-noimg { display: flex; align-items: center; justify-content: center; padding: 8px; background: #e9dcb8; color: #3a2a20; font-size: 0.8rem; }

/* Kartenseite */
.lunq-cardhero { text-align: left; }
.lunq-cardhero .lunq-crumbs ol { justify-content: flex-start; }
.lunq-cardpage { display: grid; grid-template-columns: minmax(200px, 300px) 1fr; gap: 36px; align-items: start; }
.lunq-cardcol { display: flex; flex-direction: column; gap: 12px; position: sticky; top: 80px; }
.lunq-cardpic { padding: 0; border: 0; background: none; cursor: zoom-in; border-radius: 10px; }
.lunq-cardpic img { border-radius: 10px; box-shadow: 0 14px 34px rgba(0, 0, 0, 0.55), var(--lunq-glow); transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1); }
.lunq-cardpic.is-rev img { transform: rotate(180deg); }
.lunq-lage { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--lunq-line); border-radius: 999px; padding: 3px; }
.lunq-lage button { min-height: 36px; border: 0; border-radius: 999px; background: transparent; color: var(--lunq-muted); font: 600 0.9rem var(--lunq-font-b); cursor: pointer; }
.lunq-lage button[aria-pressed="true"] { background: var(--lunq-gold); color: #1a1230; }
.lunq-zoom { padding: 0; border: 0; background: transparent; max-width: min(92vw, 460px); }
.lunq-zoom::backdrop { background: rgba(5, 4, 14, 0.85); }
.lunq-zoom img { width: 100%; border-radius: 12px; }
.lunq-zoom p { text-align: center; color: var(--lunq-muted); font-size: 0.85rem; margin: 8px 0 0; }
.lunq-cardinfo h1 { margin-top: 0; }
.lunq-lead { font-size: 1.1rem; color: #e6def3; }
.lunq-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; margin: 16px 0; }
.lunq-facts div { padding: 10px 12px; border: 1px solid var(--lunq-line); border-radius: var(--lunq-r); background: rgba(20, 16, 42, 0.5); }
.lunq-facts dt { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--lunq-muted); }
.lunq-facts dd { margin: 2px 0 0; font-weight: 600; }
.lunq-jn { display: inline-block; padding: 1px 10px; border-radius: 999px; font-weight: 700; font-size: 0.9rem; }
.lunq-jn.is-ja { background: rgba(143, 214, 164, 0.18); color: var(--lunq-ja); }
.lunq-jn.is-nein { background: rgba(238, 154, 154, 0.18); color: var(--lunq-nein); }
.lunq-jn.is-vielleicht { background: rgba(233, 207, 134, 0.18); color: var(--lunq-vielleicht); }
.lunq-symbols { display: grid; gap: 8px; margin: 12px 0 8px; }
.lunq-symbols div { padding: 10px 14px; border-left: 3px solid var(--lunq-gold); background: rgba(214, 178, 94, 0.06); border-radius: 0 var(--lunq-r) var(--lunq-r) 0; }
.lunq-symbols dt { font-weight: 700; color: var(--lunq-gold-soft); }
.lunq-symbols dd { margin: 2px 0 0; color: #dcd4ea; }
.lunq-kombis { list-style: none; padding: 0 !important; display: grid; gap: 12px; }
.lunq-kombis li { display: grid; grid-template-columns: 70px 1fr; gap: 14px; align-items: start; padding: 12px; border: 1px solid var(--lunq-line); border-radius: var(--lunq-r-lg); background: rgba(28, 22, 54, 0.6); }
.lunq-kombis img { border-radius: 5px; }
.lunq-kombis h3 { margin: 0 0 4px; font-size: 1.15rem; }
.lunq-kombis p { margin: 0; }
.lunq-prevnext { display: flex; justify-content: space-between; gap: 12px; margin: 20px 0; padding: 14px 0; border-top: 1px solid var(--lunq-line); border-bottom: 1px solid var(--lunq-line); }
.lunq-tarotlink { display: grid; grid-template-columns: 110px 1fr; gap: 16px; align-items: start; }
.lunq-tarotlink img { border-radius: 6px; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.45); }

/* Schalter umgekehrt */
.lunq-switch { display: inline-flex; align-items: center; gap: 8px; font-size: 0.88rem; color: var(--lunq-muted); cursor: pointer; margin: 0 auto 10px; }
.lunq-table > .lunq-switch { display: flex; justify-content: center; }
.lunq-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.lunq-switch span { width: 38px; height: 22px; border-radius: 999px; background: rgba(255, 255, 255, 0.12); border: 1px solid var(--lunq-line); position: relative; transition: background 0.2s; flex: none; }
.lunq-switch span::after { content: ""; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: var(--lunq-muted); transition: transform 0.2s, background 0.2s; }
.lunq-switch input:checked + span { background: rgba(214, 178, 94, 0.35); }
.lunq-switch input:checked + span::after { transform: translateX(16px); background: var(--lunq-gold); }
.lunq-switch input:focus-visible + span { outline: 2px solid var(--lunq-gold); outline-offset: 2px; }
.lunq-flip.is-rev .lunq-flip-front > * { transform: rotate(180deg); }
.lunq-revtag { display: inline-block; vertical-align: middle; padding: 1px 8px; border-radius: 999px; border: 1px solid rgba(238, 154, 154, 0.5); color: var(--lunq-nein); font: 600 0.72rem/1.6 var(--lunq-font-b); text-transform: uppercase; letter-spacing: 0.06em; }

/* Legetisch */
.lunq-controls { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px 18px; margin-bottom: 6px; }
.lunq-controls .lunq-switch { margin: 0; }
.lunq-controls [data-auto][hidden] { display: none; }
.lunq-board { position: relative; margin: 14px auto 0; width: 100%; }
.lunq-pslot { position: absolute; aspect-ratio: 1 / 1.72; border: 1px dashed rgba(214, 178, 94, 0.4); border-radius: 7px; display: flex; align-items: center; justify-content: center; transition: transform 0.3s; }
.lunq-pslot.is-cross { z-index: 2; }
.lunq-pslot.is-filled { border-color: transparent; }
.lunq-pslot .lunq-flip { position: absolute; inset: 0; width: 100%; }
.lunq-pnum { position: relative; z-index: 3; min-width: 22px; height: 22px; padding: 0 5px; border-radius: 999px; background: rgba(20, 16, 42, 0.85); color: var(--lunq-gold-soft); font: 700 0.75rem/22px var(--lunq-font-b); text-align: center; }
.lunq-pslot.is-filled .lunq-pnum { position: absolute; top: -9px; left: -9px; background: var(--lunq-gold); color: #1a1230; }
.lunq-pslot.is-cross.is-filled .lunq-pnum { transform: rotate(-90deg); }
.lunq-sumbox { margin: 10px 0 18px; padding: 14px 18px; border: 1px solid var(--lunq-line); border-radius: var(--lunq-r-lg); background: rgba(214, 178, 94, 0.07); }
.lunq-sumbox h3 { margin: 0 0 6px; color: var(--lunq-gold-soft); }
.lunq-summary { margin: 0; padding-left: 1.1em; }
.lunq-summary li { margin-bottom: 4px; }
.lunq-reading { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.lunq-reading > li { display: grid; grid-template-columns: 74px 1fr; gap: 16px; align-items: start; padding: 14px 16px; border: 1px solid var(--lunq-line); border-radius: var(--lunq-r-lg); background: rgba(20, 16, 42, 0.5); }
.lunq-reading h3 { margin: 0 0 2px; font-size: 1.2rem; }
.lunq-reading .lunq-sub { margin: 0 0 6px; }
.lunq-reading p { margin: 0 0 6px; }
.lunq-rcard .lunq-flip { width: 74px; }

/* Lernwerkzeuge */
.lunq-app { max-width: 820px; margin: 0 auto; padding: 20px var(--lunq-space); border: 1px solid var(--lunq-line); border-radius: 22px; background: rgba(28, 22, 54, 0.75); box-shadow: var(--lunq-glow); text-align: left; }
.lunq-app label { display: inline-flex; flex-direction: column; gap: 4px; font-size: 0.85rem; color: var(--lunq-muted); }
.lunq-app select, .lunq-app input, .lunq-finder input { min-height: 42px; padding: 8px 12px; font: inherit; font-size: 1rem; color: var(--lunq-text); background: rgba(10, 8, 24, 0.6); border: 1px solid var(--lunq-line); border-radius: var(--lunq-r); color-scheme: dark; }
.lunq-kk-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 12px; margin-bottom: 14px; }
.lunq-kk-stat { color: var(--lunq-gold-soft); font-weight: 600; }
.lunq-kk-main { display: grid; grid-template-columns: 200px 1fr; gap: 22px; align-items: start; }
.lunq-kk-face { display: flex; flex-direction: column; align-items: center; gap: 8px; width: 100%; padding: 0; border: 0; background: none; color: var(--lunq-muted); font-size: 0.85rem; cursor: pointer; }
.lunq-kk-face img { border-radius: 8px; box-shadow: 0 10px 24px rgba(0, 0, 0, 0.5); }
.lunq-kk-card.is-open .lunq-kk-face span { visibility: hidden; }
.lunq-kk-info h3 { margin-top: 0; }
.lunq-kk-done { font: 600 1.4rem var(--lunq-font-h); color: var(--lunq-gold-soft); }
.lunq-quiz-head { color: var(--lunq-muted); font-size: 0.9rem; margin: 0 0 10px; }
.lunq-quiz-q { text-align: center; }
.lunq-quiz-img { width: 170px; margin: 0 auto 8px; border-radius: 8px; box-shadow: 0 10px 24px rgba(0, 0, 0, 0.5); }
.lunq-quiz-opts { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.lunq-quiz-opts.is-img { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lunq-quiz-pick { padding: 4px; border: 2px solid transparent; border-radius: 8px; background: none; cursor: pointer; }
.lunq-quiz-pick img { border-radius: 5px; }
.is-right { border-color: var(--lunq-ja) !important; box-shadow: 0 0 0 2px var(--lunq-ja); }
.is-wrong { border-color: var(--lunq-nein) !important; box-shadow: 0 0 0 2px var(--lunq-nein); opacity: 0.8; }
.lunq-quiz-fb { margin: 14px 0 0; font-weight: 600; }
.lunq-quiz-fb span { display: block; font-weight: 400; color: var(--lunq-muted); font-size: 0.9rem; }
.lunq-calc form, .lunq-finder form { display: flex; flex-wrap: wrap; align-items: end; justify-content: center; gap: 12px; }
.lunq-calc-out { margin-top: 18px; }
.lunq-calc-out h2 { margin-top: 6px; }
.lunq-calc-cards { display: grid; gap: 14px; }
.lunq-calc-cards section { display: grid; grid-template-columns: 120px 1fr; gap: 16px; align-items: start; padding: 14px; border: 1px solid var(--lunq-line); border-radius: var(--lunq-r-lg); background: rgba(20, 16, 42, 0.5); }
.lunq-calc-cards img { border-radius: 6px; }
.lunq-calc-cards h3 { margin: 0 0 6px; }
.lunq-kombi-sel { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin-bottom: 16px; }
.lunq-kombi-sel label { flex: 1 1 200px; }
.lunq-kombi-cards { display: flex; align-items: center; justify-content: center; gap: 14px; margin-bottom: 8px; }
.lunq-kombi-cards img { width: 120px; border-radius: 7px; box-shadow: 0 10px 24px rgba(0, 0, 0, 0.5); }
.lunq-kombi-cards span { font: 600 2rem var(--lunq-font-h); color: var(--lunq-gold); }
.lunq-kombi-out h2 { text-align: center; margin-top: 4px; }
.lunq-tb-empty { text-align: center; }
.lunq-tb-item { padding: 14px 0; border-bottom: 1px solid var(--lunq-line); }
.lunq-tb-item header { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.lunq-tb-item time { color: var(--lunq-muted); font-size: 0.88rem; }
.lunq-tb-cards { list-style: none; display: flex; flex-wrap: wrap; gap: 12px; padding: 0; margin: 10px 0; }
.lunq-tb-cards li { width: 84px; font-size: 0.78rem; text-align: center; color: var(--lunq-muted); }
.lunq-tb-cards li span { display: block; min-height: 2.4em; }
.lunq-tb-cards img { border-radius: 5px; margin-bottom: 4px; }
.lunq-tb-cards img.is-rev { transform: rotate(180deg); }
.lunq-tb-note { display: flex !important; width: 100%; margin-bottom: 8px; }
.lunq-tb-note textarea { width: 100%; padding: 8px 12px; font: inherit; color: var(--lunq-text); background: rgba(10, 8, 24, 0.6); border: 1px solid var(--lunq-line); border-radius: var(--lunq-r); resize: vertical; }

/* Engelszahlen */
.lunq-finder { max-width: 620px; margin: 0 auto 22px; }
.lunq-finder .lunq-ask { margin: 0; flex: 1 1 240px; }
.lunq-finder-out { min-height: 1.6em; margin: 10px 0 0; color: var(--lunq-gold-soft); }
.lunq-zgrid { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; padding: 0; margin: 0; text-align: left; }
.lunq-zgrid a { display: block; height: 100%; padding: 12px 14px; border: 1px solid var(--lunq-line); border-radius: var(--lunq-r-lg); background: rgba(38, 29, 66, 0.6); text-decoration: none; color: var(--lunq-muted); font-size: 0.82rem; line-height: 1.35; transition: border-color 0.2s, box-shadow 0.2s; }
.lunq-zgrid a:hover { border-color: rgba(214, 178, 94, 0.6); box-shadow: var(--lunq-glow); color: var(--lunq-text); }
.lunq-zgrid b { display: block; font: 600 1.6rem/1.1 var(--lunq-font-h); color: var(--lunq-gold); margin-bottom: 4px; }
.lunq-bignum { font: 600 clamp(4rem, 16vw, 8rem)/1 var(--lunq-font-h); letter-spacing: 0.06em; color: transparent; background: linear-gradient(180deg, #f5e5b8, var(--lunq-gold) 60%, #8a6a2c); -webkit-background-clip: text; background-clip: text; text-shadow: 0 0 40px rgba(214, 178, 94, 0.25); }

/* Sternzeichen */
.lunq-signs { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; padding: 0; margin: 0; text-align: center; }
.lunq-signs a { display: flex; flex-direction: column; align-items: center; gap: 4px; height: 100%; padding: 10px; border: 1px solid var(--lunq-line); border-radius: var(--lunq-r-lg); background: rgba(38, 29, 66, 0.6); text-decoration: none; color: var(--lunq-muted); font-size: 0.8rem; transition: border-color 0.2s, box-shadow 0.2s; }
.lunq-signs a:hover { border-color: rgba(214, 178, 94, 0.6); box-shadow: var(--lunq-glow); color: var(--lunq-text); }
.lunq-signs img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; filter: sepia(0.25); }
.lunq-signs b { font: 600 1.15rem var(--lunq-font-h); color: var(--lunq-text); }
.lunq-signhead { display: grid; grid-template-columns: 260px 1fr; gap: 24px; align-items: center; text-align: left; max-width: 860px; margin: 0 auto; }
.lunq-signimg { width: 100%; border-radius: var(--lunq-r-lg); border: 1px solid var(--lunq-line); filter: sepia(0.2); }
.lunq-twocol { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lunq-twocol h3 { margin-top: 0.6em; }

@media (max-width: 900px) {
  .lunq-menu-btn { display: inline-flex; }
  .lunq-head-in { flex-direction: row !important; align-items: center !important; padding-top: 0 !important; }
  .lunq-logo { justify-content: flex-start !important; }
  .lunq-head.has-menu .lunq-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; margin: 0; padding: 8px var(--lunq-space) 16px; background: #14102a; border-bottom: 1px solid var(--lunq-line); box-shadow: 0 18px 30px rgba(0, 0, 0, 0.5); }
  .lunq-head.has-menu.is-open .lunq-nav { display: block; }
  .lunq-head.has-menu .lunq-nav ul { flex-direction: column; min-width: 0; }
  .lunq-head.has-menu .lunq-nav a { padding: 12px 14px; font-size: 1.05rem; border-radius: var(--lunq-r); }
  .lunq-cardpage { grid-template-columns: 220px 1fr; gap: 24px; }
}
@media (max-width: 760px) {
  .lunq-head-in { min-height: 56px; }
  .lunq-cardpage { grid-template-columns: 1fr; gap: 20px; }
  .lunq-cardcol { position: static; max-width: 220px; margin: 0 auto; width: 100%; }
  .lunq-band-2 { grid-template-columns: 1fr; }
  .lunq-posgrid { grid-template-columns: 1fr; }
  .lunq-posgrid .lunq-spreadsvg { max-width: 220px; margin: 0 auto; }
  .lunq-kk-main { grid-template-columns: 1fr; }
  .lunq-kk-card { max-width: 170px; margin: 0 auto; }
  .lunq-quiz-opts { grid-template-columns: 1fr; }
  .lunq-quiz-opts.is-img { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 280px; margin-left: auto; margin-right: auto; }
  .lunq-signhead { grid-template-columns: 1fr; }
  .lunq-signimg { max-width: 220px; margin: 0 auto; }
  .lunq-twocol { grid-template-columns: 1fr; }
  .lunq-reading > li { grid-template-columns: 56px 1fr; gap: 12px; padding: 12px; }
  .lunq-rcard .lunq-flip { width: 56px; }
  .lunq-calc-cards section { grid-template-columns: 84px 1fr; }
  .lunq-tarotlink { grid-template-columns: 84px 1fr; }
  .lunq-cgrid { grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)); gap: 10px; }
}

/* Empfehlung unter dem Ergebnis */
.lunq-pinline { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 6px 16px; margin-top: 18px; padding: 14px 16px; border: 1px solid rgba(214, 178, 94, 0.45); border-radius: var(--lunq-r-lg); background: linear-gradient(135deg, rgba(214, 178, 94, 0.12), rgba(126, 92, 196, 0.12)); text-align: left; }
.lunq-pinline p { margin: 0; font-size: 0.95rem; }
.lunq-pinline small { grid-column: 1 / -1; font-size: 0.75rem; color: var(--lunq-muted); }
.lunq-pinline small a { color: var(--lunq-muted); }
@media (max-width: 760px) { .lunq-pinline { grid-template-columns: 1fr; } .lunq-pinline .lunq-btn { justify-self: start; } }

/* Beratung / Partner */
.lunq-nav-cta a { color: #1a1230 !important; background: var(--lunq-gold); font-weight: 700; }
.lunq-nav-cta a:hover, .lunq-nav-cta a[aria-current] { background: var(--lunq-gold-soft) !important; }
.lunq-cta { display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 22px 0; text-align: center; }
.lunq-cta small { font-size: 0.75rem; color: var(--lunq-muted); }
.lunq-cta small a { color: var(--lunq-muted); }
.lunq-hero .lunq-cta { margin-top: 4px; }
.lunq-advice { display: grid; grid-template-columns: 1fr auto; gap: 18px 28px; align-items: center; padding: 22px 24px; border: 1px solid rgba(214, 178, 94, 0.45); border-radius: var(--lunq-r-lg); background: linear-gradient(135deg, rgba(214, 178, 94, 0.12), rgba(126, 92, 196, 0.14)); }
.lunq-advice h2 { margin: 0 0 6px; }
.lunq-advice p { margin: 0 0 6px; color: #dcd4ea; }
.lunq-advice .lunq-cta { margin: 0; }
.lunq-prose .lunq-pinline { margin: 18px 0 8px; }
@media (max-width: 760px) { .lunq-advice { grid-template-columns: 1fr; } }
.lunq-prose a, .lunq-prose p { overflow-wrap: anywhere; }

.lunq-foot .lunq-linkbtn { color: var(--lunq-muted); font-size: inherit; text-align: left; }
.lunq-foot .lunq-linkbtn:hover { color: var(--lunq-text); }

.lunq-crosslinks { margin: 18px 0 0; color: var(--lunq-muted); }

/* Runen, Erzengel, Horoskop, Partner */
[data-deck="runen"] .lunq-cardback { border-color: #b9a27a; background: radial-gradient(circle at 50% 45%, #6d5a43, #3d3125 70%); border-radius: 40% 40% 36% 36% / 30% 30% 26% 26%; }
[data-deck="runen"] .lunq-cardback::after { border-radius: inherit; border-color: rgba(255, 240, 210, 0.25); }
.lunq-runestone { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8%; height: 100%; border-radius: 40% 40% 36% 36% / 30% 30% 26% 26%; background: radial-gradient(circle at 40% 35%, #8b7a63, #4d4033 75%); border: 2px solid #b9a27a; color: #f3e6c8; text-align: center; }
.lunq-runestone b { font: 400 3.2em/1 "Segoe UI Historic", "Noto Sans Runic", serif; text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6); }
.lunq-runestone span { font: 600 0.95em/1.1 var(--lunq-font-h); }
.lunq-rune { font-family: "Segoe UI Historic", "Noto Sans Runic", serif !important; }
.lunq-runegrid b.lunq-rune { font-size: 2rem; }
.lunq-cn { font-family: "PingFang SC", "Noto Serif SC", "Songti SC", serif; }
.lunq-signs .lunq-cn { font-size: 2rem; color: var(--lunq-gold); }
.lunq-horo { display: grid; grid-template-columns: 180px 1fr; gap: 28px; align-items: start; max-width: 860px; margin: 0 auto; text-align: left; }
.lunq-horo-card img { border-radius: 10px; box-shadow: 0 14px 30px rgba(0, 0, 0, 0.5), var(--lunq-glow); }
.lunq-horo-body h2 { margin: 2px 0 4px; }
.lunq-horo .lunq-meter { justify-content: flex-start; }
.lunq-facts-center { max-width: 640px; margin: 10px auto 0; text-align: left; }
.lunq-swatch { display: inline-block; width: 46px; height: 18px; border-radius: 999px; vertical-align: middle; border: 1px solid rgba(255, 255, 255, 0.3); }
.lunq-pair form { display: flex; flex-wrap: wrap; justify-content: center; align-items: end; gap: 12px; }
.lunq-pair-out { margin-top: 18px; }
.lunq-pairhead { display: flex; justify-content: center; align-items: center; gap: 18px; font: 600 1.6rem var(--lunq-font-h); flex-wrap: wrap; }
.lunq-pairhead span { color: var(--lunq-nein); }
.lunq-meter-big svg { width: 30px; height: 30px; }
.lunq-pairtable p { margin: 0 0 8px; font-size: 0.92rem; line-height: 1.7; }
@media (max-width: 760px) { .lunq-horo { grid-template-columns: 1fr; } .lunq-horo-card { max-width: 160px; margin: 0 auto; } }

.lunq-signs-small { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
.lunq-signs-small a { padding: 12px 8px; }

.lunq-meter span:not(.is-off) svg { fill: currentColor; }
[data-deck="runen"] .lunq-flip-front, .lunq-res-card .lunq-flip-front:has(.lunq-runestone) { box-shadow: none; background: transparent; }
.lunq-flip-front:has(.lunq-runestone) { box-shadow: none; }
.lunq-runestone { box-shadow: 0 10px 24px rgba(0, 0, 0, 0.5); }

.lunq-fallback-len i { font: 600 1em/1.2 var(--lunq-font-b); color: #7a5326; }

/* Krafttiere */
.lunq-ktcard { position: relative; height: 100%; border-radius: 8px; overflow: hidden; border: 2px solid #c9b38a; background: #efe4c8; }
.lunq-ktcard img { width: 100%; height: 100%; object-fit: cover; }
.lunq-ktcard span { position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 6px 6px; text-align: center; font: 600 0.95em/1.1 var(--lunq-font-h); color: #fff; background: linear-gradient(transparent, rgba(20, 14, 6, 0.8)); }
[data-deck="krafttiere"] .lunq-cardback { border-color: #c9b38a; background: radial-gradient(circle at 50% 45%, rgba(201, 179, 138, 0.4) 0 10%, transparent 11%), repeating-radial-gradient(circle at 50% 45%, rgba(201, 179, 138, 0.15) 0 3px, transparent 3px 12px), linear-gradient(170deg, #4a5a3a, #273220); }
.lunq-ktgrid img { aspect-ratio: 3 / 4; object-fit: cover; }
.lunq-ktshow { max-width: 320px; margin: 0 auto; }
.lunq-ktimg { width: 100%; max-width: 320px; border-radius: var(--lunq-r-lg); border: 1px solid var(--lunq-line); box-shadow: 0 14px 30px rgba(0, 0, 0, 0.5); margin: 0 auto 10px; }
.lunq-kttest h2 { margin-top: 4px; }

/* Gezeichnete Karten (Kipper/Zigeuner) */
.lunq-drawn { display: flex; flex-direction: column; align-items: center; justify-content: space-between; height: 100%; width: 100%; aspect-ratio: 1 / 1.72; padding: 10% 8%; border-radius: 8px; text-align: center; color: #2c2140; background: radial-gradient(circle at 50% 45%, #fffaf0 0 30%, transparent 70%), linear-gradient(175deg, var(--a, #e8d3a0), #f6efe0); border: 2px solid #b8975a; box-shadow: inset 0 0 0 4px rgba(255, 255, 255, 0.5); }
.lunq-drawn b { font: 700 1.1em/1 var(--lunq-font-h); color: #7a5326; }
.lunq-drawn svg, .lunq-drawn .lunq-drawn-ico { width: 46%; height: auto; color: #4b3a6e; }
.lunq-drawn span { font: 700 0.9em/1.15 var(--lunq-font-h); }
.lunq-drawngrid .lunq-drawn { font-size: 0.85rem; }
.lunq-drawngrid a { color: inherit; }
.lunq-drawnshow { max-width: 200px; margin: 0 auto 10px; font-size: 1.15rem; }
[data-deck="kipper"] .lunq-cardback, [data-deck="zigeuner"] .lunq-cardback { border-color: #b8975a; background: repeating-linear-gradient(45deg, rgba(184, 151, 90, 0.18) 0 3px, transparent 3px 9px), linear-gradient(160deg, #5a2f3a, #2f1a2a); }

/* Sternzeichen nach Monat */
.lunq-chips li:has(a) { padding: 0; }
.lunq-chips a { display: block; padding: 5px 12px; color: inherit; text-decoration: none; }
.lunq-chips a:hover, .lunq-chips a:focus-visible { color: var(--lunq-gold); }
.lunq-more .lunq-chips, .lunq-center + .lunq-chips { justify-content: center; }
.lunq-daytable { width: 100%; border-collapse: collapse; margin: 0 0 12px; font-size: 0.95rem; }
.lunq-daytable th, .lunq-daytable td { padding: 6px 10px; border-bottom: 1px solid var(--lunq-line); text-align: left; }
.lunq-daytable th { color: var(--lunq-gold-soft); font-weight: 600; }
.lunq-daytable tr.is-grenze td { background: rgba(214, 178, 94, 0.1); }
.lunq-prose .lunq-tarotlink { margin: 0 0 22px; }
.lunq-prose .lunq-tarotlink h2 { margin-top: 0; }

/* Persönlichkeitstest */
.lunq-progress { height: 4px; border-radius: 4px; background: var(--lunq-line); margin: 0 0 14px; overflow: hidden; }
.lunq-progress span { display: block; height: 100%; background: var(--lunq-gold); transition: width 0.3s; }
.lunq-typimg { display: block; width: 100%; max-width: 190px; height: auto; border-radius: 8px; box-shadow: 0 14px 30px rgba(0, 0, 0, 0.5); margin: 0 auto 12px; }
