
:root {
  --accent: #e0244f;
  --accent-strong: #ff3b6b;
  --accent-hover: #f7b2c3;
  --text: #f3e6ea;
  --muted: #a58a94;
  --line: #3a1424;
  --bg: #070306;
  --card: #140810;
  --card-2: #1e0b17;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font: 16px/1.5 Arial, Helvetica, sans-serif;
}
a { color: var(--accent); }
a:hover, a:focus { color: var(--accent-hover); }
img { max-width: 100%; height: auto; }

.wrap { max-width: 960px; margin: 0 auto; padding: 0 16px; }


.site-header { background: var(--accent); color: #fff; }
.site-header .wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; padding-top: 12px; padding-bottom: 12px; }
.logo { color: #fff; font-weight: bold; font-size: 1.15rem; text-decoration: none; }
.logo:hover { color: #fff; text-decoration: underline; }
.mainnav { display: flex; gap: 16px; flex-wrap: wrap; }
.mainnav a { color: #fff; text-decoration: none; padding: 6px 0; }
.mainnav a:hover { text-decoration: underline; color: #fff; }

h1 { font-size: 1.75rem; line-height: 1.25; margin: 28px 0 12px; color: var(--accent); }
.intro { background: var(--card); border: 1px solid var(--line); border-radius: 6px; padding: 4px 20px; margin-bottom: 20px; }
.intro h2 { font-size: 1.2rem; }


.pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 16px 0; }
.pagination:empty { display: none; }
.pagination a, .pagination strong {
  display: inline-block; min-width: 40px; padding: 8px 10px; text-align: center;
  border: 1px solid var(--line); border-radius: 4px; background: var(--card); text-decoration: none;
}
.pagination strong { background: #990000; border-color: #b30000; color: #fff; }


.toplist { width: 100%; border-collapse: separate; border-spacing: 0 8px; }
.toplist th { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); font-weight: normal; padding: 0 12px; text-align: left; }
.toplist th.rank, .toplist th.hits { text-align: center; }
.toplist th.rank { font-size: .8rem; font-weight: normal; color: var(--muted); }
.toplist td { background: var(--card); padding: 12px; vertical-align: top; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.toplist td:first-child { border-left: 3px solid var(--accent-strong); border-radius: 6px 0 0 6px; }
.toplist td:last-child { border-right: 1px solid var(--line); border-radius: 0 6px 6px 0; }
.toplist .rank { width: 56px; text-align: center; font-size: 1.35rem; font-weight: bold; color: var(--accent); vertical-align: middle; }
.toplist .hits { width: 72px; text-align: center; vertical-align: middle; font-weight: bold; }
.toplist .hits small { display: block; font-weight: normal; color: var(--muted); font-size: .8rem; }
.sitetitle { font-weight: bold; font-size: 1.05rem; }
.new { color: var(--accent-strong); font-weight: bold; font-size: .8rem; text-transform: uppercase; margin-left: 6px; }
.banner { display: block; margin: 8px 0 4px; border: 0; }
.description { margin: 6px 0 0; color: var(--text); font-size: .95rem; overflow-wrap: anywhere; }


.stats ul { list-style: none; padding: 0; margin: 24px 0; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.stats li { background: var(--card); border: 1px solid var(--line); border-radius: 4px; padding: 6px 10px; font-size: .85rem; color: var(--muted); }
.stats strong { color: var(--text); }


.site-footer { border-top: 1px solid var(--line); margin-top: 24px; padding: 16px 0 32px; text-align: center; font-size: .9rem; color: var(--muted); }
.license a { font-size: inherit; }


@media (max-width: 640px) {
  h1 { font-size: 1.4rem; }
  .toplist, .toplist tbody, .toplist tr, .toplist td { display: block; width: 100%; }
  .toplist .list-head { display: none; }
  .toplist tr.entry {
    display: grid; grid-template-columns: 48px 1fr 1fr; margin-bottom: 10px;
    background: var(--card); border: 1px solid var(--line); border-left: 3px solid var(--accent-strong); border-radius: 6px;
  }
  .toplist td, .toplist td:first-child, .toplist td:last-child { border: 0; border-radius: 0; background: transparent; padding: 10px; }
  .toplist .rank { width: auto; grid-row: span 2; }
  .toplist .site { grid-column: 2 / 4; padding-left: 0; }
  .toplist td.hits { width: auto; grid-column: auto; border-top: 1px solid var(--line); font-size: .9rem; padding: 6px; }
  .toplist .hits::before { content: attr(data-label) " "; font-weight: normal; color: var(--muted); }
  .toplist .hits small { display: inline; margin-left: 4px; }
}


.form-card { background: var(--card); border: 1px solid var(--line); border-radius: 6px; padding: 8px 20px 20px; margin-bottom: 20px; }
.form-row { display: grid; grid-template-columns: 180px 1fr; gap: 6px 16px; padding: 10px 0; border-bottom: 1px solid var(--line); align-items: start; }
.form-row label, .form-row .label { font-weight: bold; padding-top: 8px; }
.form-row input[type=text], .form-row input[type=email], .form-row input[type=url], .form-row input[type=password], .form-row textarea {
  width: 100%; padding: 9px 10px; font: inherit; border: 1px solid var(--line); border-radius: 4px; background: #1f1616; color: var(--text);
}
.form-row textarea { min-height: 90px; }
.form-row .error { grid-column: 2; color: var(--accent-strong); font-size: .9rem; }
.form-row .error:empty { display: none; }
.form-row.rules { background: var(--card-2); padding: 12px; border-radius: 4px; border: 0; }
.form-row.rules input { width: auto; margin-right: 8px; }
.form-actions { padding-top: 16px; display: flex; gap: 10px; }
.btn { background: #990000; color: #fff; border: 0; border-radius: 4px; padding: 10px 22px; font: inherit; cursor: pointer; }
.btn:hover { background: var(--accent-strong); }
.btn.secondary { background: var(--card-2); color: var(--text); }
.message, .updatemessage, .updateerrormessage { color: var(--accent-strong); font-weight: bold; }
.rules-text { font-size: .95rem; }
.captcha img { display: block; margin-bottom: 6px; }
.codebox textarea { width: 100%; min-height: 100px; font-family: monospace; font-size: .85rem; }
.stats-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.stats-table td { padding: 6px 8px; border-bottom: 1px solid var(--line); }
@media (max-width: 640px) {
  .form-row { grid-template-columns: 1fr; }
  .form-row .error { grid-column: 1; }
  .form-row label, .form-row .label { padding-top: 0; }
}

.seotext { background: var(--card); border: 1px solid var(--line); border-radius: 6px; padding: 4px 20px 12px; margin: 24px 0; }
.seotext h2 { font-size: 1.3rem; color: var(--accent); }
.seotext h3 { font-size: 1.05rem; margin-top: 1.4em; }

.ad {
  background: var(--card); border: 1px solid var(--line); border-radius: 6px;
  padding: 8px 12px 12px; margin: 20px 0; text-align: center;
}
.ad-label { display: block; font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); margin-bottom: 6px; text-align: left; }
.ad a { display: block; }
.ad img { display: block; margin: 0 auto; max-width: 100%; height: auto; border-radius: 4px; }

.site-logo { text-align: center; padding: 28px 0 8px; }
.site-logo img { display: inline-block; max-width: 100%; max-height: 160px; width: auto; height: auto; }
main > h1 { text-align: center; margin-top: 12px; }

/* Dunkler Hintergrund: Elemente direkt auf dem Hintergrund aufhellen */
main > h1 { color: #ffffff; }
.toplist th, .toplist th.rank { color: #d8c8c8; }
.site-footer { color: #b8a8a8; border-top-color: #3a2a2a; }
.site-footer a { color: #ffffff; }
.site-footer a:hover { color: #ff9900; }
main > .updatemessage, main > .message { color: #ff8080; }

.btn:hover { background: #b30000; }
.stats strong { color: #ffffff; }
.toplist td:first-child { border-left-color: #b30000; }






/* ================= Design "lust" (Galerie-Raster, Rot & Schwarz, Silhouetten & Dessous) ================= */
:root {
  --accent: #e3123f;
  --accent-strong: #ff2d55;
  --accent-hover: #ff8fa6;
  --cream: #f6e7dc;
  --text: #ece2dc;
  --muted: #a8968f;
  --line: #3a1a20;
  --bg: #080405;
  --panel: #150a0c;
  --card: #0d0607;
  --card-2: #1a0c0f;
  --head: "Exo", "Exo 2", "Trebuchet MS", "Segoe UI", Roboto, Arial, sans-serif;
  --body: "Open Sans", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --script: "Segoe Script", "Brush Script MT", "Lucida Handwriting", cursive;
}
body {
  background:
    url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22170%22 height=%22170%22 viewBox=%220 0 170 170%22%3E%3Cg fill=%22%23ff2d55%22 opacity=%22.05%22%3E%3Cpath transform=%22translate(14 22) scale(.9) rotate(-10 20 16)%22 d=%22M3 8 C5 6 8 6 10 8 C14 13 19 19 26 21 C31 22 36 22 38 24 C39 26 38 28 35 28 L22 28 C16 28 12 25 9 20 L8 31 L6 31 L6.5 18 C5 15 3 12 3 8 Z%22/%3E%3Cpath transform=%22translate(96 100) scale(.8) rotate(12 20 16)%22 d=%22M3 8 C5 6 8 6 10 8 C14 13 19 19 26 21 C31 22 36 22 38 24 C39 26 38 28 35 28 L22 28 C16 28 12 25 9 20 L8 31 L6 31 L6.5 18 C5 15 3 12 3 8 Z%22/%3E%3Cpath transform=%22translate(118 26) scale(.7)%22 d=%22M12 21 C5 15.5 1 12 1 7 C1 3.5 3.6 1 6.7 1 C9 1 10.9 2.4 12 4.3 C13.1 2.4 15 1 17.3 1 C20.4 1 23 3.5 23 7 C23 12 19 15.5 12 21Z%22/%3E%3Cpath transform=%22translate(36 116) scale(.55)%22 d=%22M12 21 C5 15.5 1 12 1 7 C1 3.5 3.6 1 6.7 1 C9 1 10.9 2.4 12 4.3 C13.1 2.4 15 1 17.3 1 C20.4 1 23 3.5 23 7 C23 12 19 15.5 12 21Z%22/%3E%3C/g%3E%3C/svg%3E") 0 0 / 170px 170px,
    radial-gradient(1100px 520px at 50% -140px, rgba(227,18,63,.28), transparent 70%),
    radial-gradient(800px 600px at 0% 100%, rgba(120,8,30,.22), transparent 70%),
    var(--bg);
  background-attachment: fixed;
  color: var(--text); font-family: var(--body);
}
.wrap { max-width: 1320px; }

/* Partner-Banner */
.partner { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; padding: 6px 12px 0; }
.partner a { display: block; line-height: 0; }
.partner img { width: 200px; max-width: calc((100vw - 36px) / 3); height: auto; border-radius: 6px; }
.partner a:hover img { filter: brightness(1.15) saturate(1.1); }

/* Kopf: Logo mit 18+, Kussmund unter der Überschrift */
.site-logo { position: relative; width: fit-content; max-width: 100%; margin: 0 auto; padding: 24px 0 4px; }
.site-logo::after {
  content: "18+"; position: absolute; right: -14px; bottom: -6px;
  padding: 4px 9px; border-radius: 999px; background: var(--accent); color: #fff; border: 2px solid var(--bg);
  font: 800 .75rem/1 var(--body); box-shadow: 0 4px 14px rgba(227,18,63,.5); transform: rotate(9deg);
}
main h1, h2, h3 { font-family: var(--head); font-weight: 400; }
main h1 { color: #fff; font-size: 2.05rem; line-height: 1.25; margin: 16px auto 4px; max-width: 1000px; text-shadow: 0 0 24px rgba(227,18,63,.45); }
main h1::after {
  content: ""; display: block; width: 230px; max-width: 80%; height: 42px; margin: 12px auto 0;
  background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 220 40%22%3E%3Cdefs%3E%3ClinearGradient id=%22sat%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%237c0820%22/%3E%3Cstop offset=%22.35%22 stop-color=%22%23e3123f%22/%3E%3Cstop offset=%22.55%22 stop-color=%22%23ff5a78%22/%3E%3Cstop offset=%22.75%22 stop-color=%22%23c80f36%22/%3E%3Cstop offset=%221%22 stop-color=%22%236a061b%22/%3E%3C/linearGradient%3E%3ClinearGradient id=%22bw%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23ff4f6e%22/%3E%3Cstop offset=%221%22 stop-color=%22%239e0b2c%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d=%22M0 14 Q5.0 4 10 14 Q15.0 4 20 14 Q25.0 4 30 14 Q35.0 4 40 14 Q45.0 4 50 14 Q55.0 4 60 14 Q65.0 4 70 14 Q75.0 4 80 14 Q85.0 4 90 14 Q95.0 4 100 14 Q105.0 4 110 14 Q115.0 4 120 14 Q125.0 4 130 14 Q135.0 4 140 14 Q145.0 4 150 14 Q155.0 4 160 14 Q165.0 4 170 14 Q175.0 4 180 14 Q185.0 4 190 14 Q195.0 4 200 14 Q205.0 4 210 14 Q215.0 4 220 14 Z%22 fill=%22%232b0e14%22 stroke=%22%23a8344c%22 stroke-width=%22.9%22/%3E%3Cg fill=%22%23a8344c%22%3E%3Ccircle cx=%225.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%2215.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%2225.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%2235.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%2245.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%2255.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%2265.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%2275.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%2285.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%2295.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22105.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22115.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22125.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22135.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22145.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22155.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22165.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22175.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22185.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22195.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22205.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22215.0%22 cy=%2210%22 r=%221.3%22/%3E%3C/g%3E%3Cpath d=%22M0 26 Q5.0 36 10 26 Q15.0 36 20 26 Q25.0 36 30 26 Q35.0 36 40 26 Q45.0 36 50 26 Q55.0 36 60 26 Q65.0 36 70 26 Q75.0 36 80 26 Q85.0 36 90 26 Q95.0 36 100 26 Q105.0 36 110 26 Q115.0 36 120 26 Q125.0 36 130 26 Q135.0 36 140 26 Q145.0 36 150 26 Q155.0 36 160 26 Q165.0 36 170 26 Q175.0 36 180 26 Q185.0 36 190 26 Q195.0 36 200 26 Q205.0 36 210 26 Q215.0 36 220 26 Z%22 fill=%22%232b0e14%22 stroke=%22%23a8344c%22 stroke-width=%22.9%22/%3E%3Cg fill=%22%23a8344c%22%3E%3Ccircle cx=%225.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%2215.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%2225.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%2235.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%2245.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%2255.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%2265.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%2275.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%2285.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%2295.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22105.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22115.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22125.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22135.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22145.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22155.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22165.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22175.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22185.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22195.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22205.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22215.0%22 cy=%2230%22 r=%221.3%22/%3E%3C/g%3E%3Crect x=%220%22 y=%2213%22 width=%22220%22 height=%2214%22 fill=%22url(%23sat)%22/%3E%3Cpath d=%22M0 15.5 H220 M0 24.5 H220%22 stroke=%22%23ffd0da%22 stroke-opacity=%22.35%22 stroke-width=%22.6%22 stroke-dasharray=%222 2%22/%3E%3Cg transform=%22translate(110 20)%22%3E%3Cpath d=%22M0 0 C-6 -10 -20 -14 -22 -6 C-24 2 -10 4 0 0 Z%22 fill=%22url(%23bw)%22 stroke=%22%235c0618%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M0 0 C6 -10 20 -14 22 -6 C24 2 10 4 0 0 Z%22 fill=%22url(%23bw)%22 stroke=%22%235c0618%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M-1 1 C-4 8 -8 14 -12 19 L-7 19 C-4 14 -2 9 0 3 Z%22 fill=%22url(%23bw)%22 stroke=%22%235c0618%22 stroke-width=%22.6%22/%3E%3Cpath d=%22M1 1 C4 8 8 14 12 19 L7 19 C4 14 2 9 0 3 Z%22 fill=%22url(%23bw)%22 stroke=%22%235c0618%22 stroke-width=%22.6%22/%3E%3Ccircle r=%223.6%22 fill=%22%23ffe7ee%22 stroke=%22%23c9a3ad%22 stroke-width=%22.6%22/%3E%3Ccircle cx=%22-1%22 cy=%22-1%22 r=%221.2%22 fill=%22%23fff%22/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; filter: drop-shadow(0 4px 10px rgba(0,0,0,.6));
}

/* Kopfbereich mit Stimmungsfoto und Silhouetten */
.hero {
  position: relative; overflow: hidden; margin: 18px 0 0; padding: 6px 230px 28px; border-radius: 18px;
  border: 1px solid var(--line); text-align: center;
  background:
    radial-gradient(ellipse at 50% 40%, rgba(8,4,5,.15), rgba(8,4,5,.62) 78%),
    linear-gradient(180deg, rgba(8,4,5,.05), rgba(8,4,5,.55)),
    url("img/hero.jpg") center 35% / cover no-repeat,
    #1a080c;
  box-shadow: 0 18px 40px rgba(0,0,0,.55), inset 0 0 80px rgba(0,0,0,.6);
}
.hero::before {
  content: ""; position: absolute; left: 60px; top: 50%; width: 130px; height: 118px; margin-top: -59px; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 130 118%22%3E%3Cg fill=%22none%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M65 108 C30 82 8 62 8 38 C8 20 22 8 38 8 C50 8 60 15 65 26 C70 15 80 8 92 8 C108 8 122 20 122 38 C122 62 100 82 65 108 Z%22 stroke=%22%23ff4f7b%22 stroke-width=%227%22/%3E%3Cpath d=%22M65 108 C30 82 8 62 8 38 C8 20 22 8 38 8 C50 8 60 15 65 26 C70 15 80 8 92 8 C108 8 122 20 122 38 C122 62 100 82 65 108 Z%22 stroke=%22%23ffe3ea%22 stroke-width=%222.4%22/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
  filter: drop-shadow(0 0 6px rgba(255,79,123,.9)) drop-shadow(0 0 18px rgba(255,45,85,.7)) drop-shadow(0 0 40px rgba(255,45,85,.45));
  animation: lust-neon 6s infinite;
}
.hero::after {
  content: "Privat"; position: absolute; right: 46px; top: 50%; margin-top: -40px; pointer-events: none;
  font: 400 4.2rem/1 var(--script); color: #ffe3ea; transform: rotate(-8deg);
  text-shadow: 0 0 4px #fff, 0 0 10px #ff4f7b, 0 0 22px #ff2d55, 0 0 44px #ff2d55, 0 0 80px rgba(255,45,85,.6);
  animation: lust-neon 7s 1.3s infinite;
}
@keyframes lust-neon { 0%, 18%, 22%, 60%, 64%, 100% { opacity: 1; } 20%, 62% { opacity: .55; } }
@media (prefers-reduced-motion: reduce) { .hero::before, .hero::after { animation: none; } }
.hero .site-logo { padding-top: 22px; }
.hero h1 { text-shadow: 0 2px 18px rgba(0,0,0,.9), 0 0 30px rgba(227,18,63,.45); }
.hero .intro.lead { margin-bottom: 0; }
.hero .intro.lead p { color: #e8d6cf; text-shadow: 0 2px 10px rgba(0,0,0,.9); }
.intro.lead { background: none; border: 0; padding: 0; margin: 4px auto 14px; max-width: 1000px; text-align: center; }
.intro.lead p { margin: 0; color: #c9b5ad; font-size: 1.3rem; line-height: 1.4; }
.intro.lead strong { font-weight: 700; }
.ad { background: transparent; border: 0; padding: 0; margin: 14px auto; max-width: 780px; }
.ad-label { text-align: center; color: #7a6660; letter-spacing: .16em; }
.ad-label::before { content: "♥ "; color: var(--accent); }
.ad img { border-radius: 6px; }

/* Raster */
.board {
  position: relative; background: linear-gradient(180deg, #1a0b0e, var(--panel) 220px);
  border: 1px solid var(--line); border-bottom: 0; border-radius: 16px 16px 0 0; padding: 26px; margin-top: 22px;
  box-shadow: 0 -10px 40px rgba(227,18,63,.08);
}
.cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.card {
  position: relative; display: flex; flex-direction: column;
  background: var(--card); border: 1px solid #2a1216; border-radius: 12px; box-shadow: 0 8px 20px rgba(0,0,0,.55);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.card:hover { transform: translateY(-3px); border-color: rgba(255,45,85,.55); box-shadow: 0 14px 30px rgba(0,0,0,.6), 0 0 26px rgba(227,18,63,.25); }
.thumb { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 11px 11px 0 0; background: #120709; }
.thumb:not(:has(img)) { background: url("img/vorschau-platzhalter.png") center / cover no-repeat, #120709; }
.thumb a { display: block; width: 100%; height: 100%; }
.card .thumb img.banner, .thumb img {
  display: block; width: 100% !important; max-width: none !important; height: 100% !important;
  object-fit: cover; margin: 0; border: 0; transition: transform .4s ease, filter .4s ease;
}
.card:hover .thumb img { transform: scale(1.05); filter: saturate(1.15); }
.thumb::after {
  content: "♥ Jetzt reinschauen"; position: absolute; inset: auto 0 0 0; padding: 26px 12px 12px; pointer-events: none;
  background: linear-gradient(0deg, rgba(120,6,28,.85), transparent); color: #fff; text-align: center;
  font: 700 .9rem/1 var(--body); letter-spacing: .04em; opacity: 0; transform: translateY(8px); transition: opacity .25s ease, transform .25s ease;
}
.card:hover .thumb::after { opacity: 1; transform: none; }
.badge {
  position: absolute; top: 10px; left: 10px; z-index: 2; min-width: 36px; height: 36px; padding: 0 8px;
  display: inline-flex; align-items: center; justify-content: center; border-radius: 999px;
  background: rgba(10,3,5,.78); color: #fff; font: 700 .95rem/1 var(--head); border: 1px solid rgba(255,255,255,.2);
}
.top1 .badge, .top2 .badge, .top3 .badge { background: linear-gradient(135deg, #ff2d55, #a00b2d); border-color: rgba(255,255,255,.35); box-shadow: 0 3px 12px rgba(227,18,63,.6); }
.top1 .badge { top: 20px; }
.top1 .badge::before {
  content: ""; position: absolute; left: 50%; top: -11px; width: 40px; height: 13px; margin-left: -20px;
  background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 18%22%3E%3Cdefs%3E%3ClinearGradient id=%22h%22 x1=%220%22 y1=%221%22 x2=%220%22 y2=%220%22%3E%3Cstop offset=%220%22 stop-color=%22%239e0b2c%22/%3E%3Cstop offset=%221%22 stop-color=%22%23ff3355%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d=%22M8 18 C6 10 3 6 1 1 C8 4 14 9 17 16 Z%22 fill=%22url(%23h)%22/%3E%3Cpath d=%22M52 18 C54 10 57 6 59 1 C52 4 46 9 43 16 Z%22 fill=%22url(%23h)%22/%3E%3C/svg%3E") center / contain no-repeat;
}
.top2 .badge::after, .top3 .badge::after {
  content: ""; position: absolute; right: -7px; bottom: -6px; width: 16px; height: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 30%22%3E%3Cdefs%3E%3ClinearGradient id=%22f%22 x1=%220%22 y1=%221%22 x2=%220%22 y2=%220%22%3E%3Cstop offset=%220%22 stop-color=%22%23ff1744%22/%3E%3Cstop offset=%22.55%22 stop-color=%22%23ff7a2f%22/%3E%3Cstop offset=%221%22 stop-color=%22%23ffd25a%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d=%22M12 29 C5 29 1.5 24.5 1.5 19 C1.5 13 6 10 7 4 C10 7 10.5 10 10 13 C12.5 11 14 7.5 13.5 1 C19 5 22.5 11.5 22.5 18.5 C22.5 24.5 18.5 29 12 29Z%22 fill=%22url(%23f)%22/%3E%3Cpath d=%22M12 28 C9 28 7 26 7 23 C7 20 9.5 18.5 10 15.5 C12 17 12.5 19 12 21 C13.5 20 14.5 18.5 14.5 16.5 C16.5 18.5 17 21 17 23 C17 26 15 28 12 28Z%22 fill=%22%23ffe08a%22 opacity=%22.85%22/%3E%3C/svg%3E") center / contain no-repeat; filter: drop-shadow(0 1px 3px rgba(0,0,0,.7));
}
.card-body { display: flex; flex-direction: column; flex: 1; padding: 14px 18px 16px; text-align: center; }
.card-title { margin: 0 0 6px; font-size: 1.12rem; line-height: 1.3; }
.sitetitle { color: #fff; font-weight: 600; text-decoration: none; }
.sitetitle:hover, .sitetitle:focus { color: var(--accent-hover); }
.new {
  display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: var(--accent); color: #fff;
  font: 700 .62rem/1.5 var(--body); letter-spacing: .06em; text-transform: uppercase; vertical-align: 2px;
}
.new::before { content: "♥ "; }
.card .description { margin: 0; color: #e8dcd6; font-size: .95rem; line-height: 1.55; }
.heat { margin: auto 0 0; padding-top: 12px; font-size: .85rem; color: var(--muted); }
.heat .hit-now {
  display: inline-flex; align-items: center; gap: 5px; padding: 2px 10px 2px 8px; border-radius: 999px;
  background: rgba(227,18,63,.14); border: 1px solid rgba(255,45,85,.4); color: #fff; font-weight: 700;
}
.heat .hit-now::before { content: ""; width: 12px; height: 15px; background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 30%22%3E%3Cdefs%3E%3ClinearGradient id=%22f%22 x1=%220%22 y1=%221%22 x2=%220%22 y2=%220%22%3E%3Cstop offset=%220%22 stop-color=%22%23ff1744%22/%3E%3Cstop offset=%22.55%22 stop-color=%22%23ff7a2f%22/%3E%3Cstop offset=%221%22 stop-color=%22%23ffd25a%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d=%22M12 29 C5 29 1.5 24.5 1.5 19 C1.5 13 6 10 7 4 C10 7 10.5 10 10 13 C12.5 11 14 7.5 13.5 1 C19 5 22.5 11.5 22.5 18.5 C22.5 24.5 18.5 29 12 29Z%22 fill=%22url(%23f)%22/%3E%3Cpath d=%22M12 28 C9 28 7 26 7 23 C7 20 9.5 18.5 10 15.5 C12 17 12.5 19 12 21 C13.5 20 14.5 18.5 14.5 16.5 C16.5 18.5 17 21 17 23 C17 26 15 28 12 28Z%22 fill=%22%23ffe08a%22 opacity=%22.85%22/%3E%3C/svg%3E") center / contain no-repeat; }
.heat .hit-total { color: var(--muted); }
.cards > .ad { grid-column: 1 / -1; margin: 0 auto; }

/* Seitennavigation */
.pagination { margin: 28px 0 4px; }
.pagination a, .pagination strong { border-radius: 999px; min-width: 44px; background: var(--card); border: 1px solid var(--line); color: var(--text); font-family: var(--head); }
.pagination a:hover { border-color: var(--accent-strong); color: #fff; }
.pagination strong { background: var(--accent); border-color: var(--accent); color: #fff; box-shadow: 0 0 14px rgba(227,18,63,.5); }

/* SEO-Text */
.seotext {
  position: relative; background: var(--panel); border: 1px solid var(--line); border-radius: 16px;
  padding: 12px 30px 28px; margin: 0 0 18px; text-align: center; color: #d6c8c2;
}
.seotext h2 { color: #fff; font-size: 1.65rem; margin-top: 1.1em; }
.seotext h2::after {
  content: ""; display: block; width: 170px; height: 31px; margin: 10px auto 0;
  background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 220 40%22%3E%3Cdefs%3E%3ClinearGradient id=%22sat%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%237c0820%22/%3E%3Cstop offset=%22.35%22 stop-color=%22%23e3123f%22/%3E%3Cstop offset=%22.55%22 stop-color=%22%23ff5a78%22/%3E%3Cstop offset=%22.75%22 stop-color=%22%23c80f36%22/%3E%3Cstop offset=%221%22 stop-color=%22%236a061b%22/%3E%3C/linearGradient%3E%3ClinearGradient id=%22bw%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23ff4f6e%22/%3E%3Cstop offset=%221%22 stop-color=%22%239e0b2c%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d=%22M0 14 Q5.0 4 10 14 Q15.0 4 20 14 Q25.0 4 30 14 Q35.0 4 40 14 Q45.0 4 50 14 Q55.0 4 60 14 Q65.0 4 70 14 Q75.0 4 80 14 Q85.0 4 90 14 Q95.0 4 100 14 Q105.0 4 110 14 Q115.0 4 120 14 Q125.0 4 130 14 Q135.0 4 140 14 Q145.0 4 150 14 Q155.0 4 160 14 Q165.0 4 170 14 Q175.0 4 180 14 Q185.0 4 190 14 Q195.0 4 200 14 Q205.0 4 210 14 Q215.0 4 220 14 Z%22 fill=%22%232b0e14%22 stroke=%22%23a8344c%22 stroke-width=%22.9%22/%3E%3Cg fill=%22%23a8344c%22%3E%3Ccircle cx=%225.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%2215.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%2225.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%2235.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%2245.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%2255.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%2265.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%2275.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%2285.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%2295.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22105.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22115.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22125.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22135.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22145.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22155.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22165.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22175.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22185.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22195.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22205.0%22 cy=%2210%22 r=%221.3%22/%3E%3Ccircle cx=%22215.0%22 cy=%2210%22 r=%221.3%22/%3E%3C/g%3E%3Cpath d=%22M0 26 Q5.0 36 10 26 Q15.0 36 20 26 Q25.0 36 30 26 Q35.0 36 40 26 Q45.0 36 50 26 Q55.0 36 60 26 Q65.0 36 70 26 Q75.0 36 80 26 Q85.0 36 90 26 Q95.0 36 100 26 Q105.0 36 110 26 Q115.0 36 120 26 Q125.0 36 130 26 Q135.0 36 140 26 Q145.0 36 150 26 Q155.0 36 160 26 Q165.0 36 170 26 Q175.0 36 180 26 Q185.0 36 190 26 Q195.0 36 200 26 Q205.0 36 210 26 Q215.0 36 220 26 Z%22 fill=%22%232b0e14%22 stroke=%22%23a8344c%22 stroke-width=%22.9%22/%3E%3Cg fill=%22%23a8344c%22%3E%3Ccircle cx=%225.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%2215.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%2225.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%2235.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%2245.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%2255.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%2265.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%2275.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%2285.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%2295.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22105.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22115.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22125.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22135.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22145.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22155.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22165.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22175.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22185.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22195.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22205.0%22 cy=%2230%22 r=%221.3%22/%3E%3Ccircle cx=%22215.0%22 cy=%2230%22 r=%221.3%22/%3E%3C/g%3E%3Crect x=%220%22 y=%2213%22 width=%22220%22 height=%2214%22 fill=%22url(%23sat)%22/%3E%3Cpath d=%22M0 15.5 H220 M0 24.5 H220%22 stroke=%22%23ffd0da%22 stroke-opacity=%22.35%22 stroke-width=%22.6%22 stroke-dasharray=%222 2%22/%3E%3Cg transform=%22translate(110 20)%22%3E%3Cpath d=%22M0 0 C-6 -10 -20 -14 -22 -6 C-24 2 -10 4 0 0 Z%22 fill=%22url(%23bw)%22 stroke=%22%235c0618%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M0 0 C6 -10 20 -14 22 -6 C24 2 10 4 0 0 Z%22 fill=%22url(%23bw)%22 stroke=%22%235c0618%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M-1 1 C-4 8 -8 14 -12 19 L-7 19 C-4 14 -2 9 0 3 Z%22 fill=%22url(%23bw)%22 stroke=%22%235c0618%22 stroke-width=%22.6%22/%3E%3Cpath d=%22M1 1 C4 8 8 14 12 19 L7 19 C4 14 2 9 0 3 Z%22 fill=%22url(%23bw)%22 stroke=%22%235c0618%22 stroke-width=%22.6%22/%3E%3Ccircle r=%223.6%22 fill=%22%23ffe7ee%22 stroke=%22%23c9a3ad%22 stroke-width=%22.6%22/%3E%3Ccircle cx=%22-1%22 cy=%22-1%22 r=%221.2%22 fill=%22%23fff%22/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}
.seotext h3 { color: var(--accent-hover); font-size: 1.25rem; margin-top: 1.6em; }
.seotext p { color: #d6c8c2; max-width: 980px; margin-left: auto; margin-right: auto; }
.seotext ul { list-style: none; padding: 0; margin: 15px auto; max-width: 900px; }
.seotext li { color: #e6d8d2; font-weight: 700; margin: 6px 0; }
.seotext li::before { content: ""; display: inline-block; width: 22px; height: 18px; margin-right: 6px; vertical-align: -3px; background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 32%22%3E%3Cdefs%3E%3ClinearGradient id=%22hh%22 x1=%220%22 y1=%220%22 x2=%221%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23ff4f6e%22/%3E%3Cstop offset=%221%22 stop-color=%22%23a00b2d%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d=%22M3 8 C5 6 8 6 10 8 C14 13 19 19 26 21 C31 22 36 22 38 24 C39 26 38 28 35 28 L22 28 C16 28 12 25 9 20 L8 31 L6 31 L6.5 18 C5 15 3 12 3 8 Z%22 fill=%22url(%23hh)%22/%3E%3Cpath d=%22M9 20 C12 25 16 28 22 28%22 stroke=%22%235c0618%22 stroke-width=%22.8%22 fill=%22none%22/%3E%3C/svg%3E") center / contain no-repeat; }
.seotext a { color: var(--accent-hover); }

/* Footer */
.site-footer { background: #0b0506; border-top: 3px dotted rgba(255,45,85,.7); color: #bfaea8; margin-top: 0; }
.site-footer p { margin: 6px 0; }
.site-footer a { color: #fff; }
.site-footer a:hover { color: var(--accent-hover); }

/* Formulare (Eintragen, Mitglieder) */
.intro:not(.lead), .form-card { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; }
.form-row { border-bottom-color: var(--line); }
.form-row input[type=text], .form-row input[type=email], .form-row input[type=url], .form-row input[type=password], .form-row textarea { background: #0a0405; border: 1px solid #3a1a20; border-radius: 6px; }
.form-row input:focus, .form-row textarea:focus { outline: none; border-color: var(--accent-strong); box-shadow: 0 0 0 2px rgba(255,45,85,.25); }
.form-row.rules { background: var(--card-2); }
.btn { background: linear-gradient(135deg, #ff2d55, #a00b2d); color: #fff; border-radius: 999px; font-weight: 700; }
.btn:hover { background: linear-gradient(135deg, #ff4f70, #c00f37); }
.btn.secondary { background: transparent; border: 1px solid #4a2028; color: var(--text); }
.form-card h2, .intro:not(.lead) h2 { color: #fff; }
.form-row .error, .message, .updatemessage, .updateerrormessage, main > .updatemessage, main > .message { color: var(--accent-hover); }
.stats li { background: var(--card); border-color: var(--line); }
.stats strong { color: var(--accent-hover); }

@media (max-width: 1100px) {
  .hero { padding: 6px 170px 26px; }
  .hero::before { left: 24px; width: 100px; height: 91px; margin-top: -45px; }
  .hero::after { right: 18px; font-size: 3rem; }
  .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media (max-width: 760px) {
  .hero { padding: 4px 16px 22px; }
  .hero::after { display: none; }
  .hero::before { display: none; }
}
@media (max-width: 640px) {
  main h1 { font-size: 1.45rem; }
  .intro.lead p { font-size: 1.05rem; }
  .site-logo::after { right: -6px; }
  .board { padding: 16px 14px; border-radius: 12px 12px 0 0; }
  .cards { grid-template-columns: 1fr; gap: 18px; }
  .seotext { padding: 6px 18px 24px; }
  .seotext h2 { font-size: 1.3rem; }
  .seotext h3 { font-size: 1.1rem; }
  .thumb::after { opacity: 1; transform: none; padding: 18px 10px 9px; font-size: .8rem; }
}
@media (hover: none) { .thumb::after { opacity: 1; transform: none; } }

/* Fehlerseite 404 */
.notfound .intro { text-align: center; }
.notfound .actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin: 20px 0 8px; }
.notfound .btn { display: inline-block; text-decoration: none; }
.notfound .actions a.btn, .notfound .actions a.btn:hover { color: #fff; }
.notfound .actions a.btn.secondary { color: var(--text); }
