/*
 * Flirtkarussell – Redesign-Stylesheet
 * Vollständige separate CSS-Datei; wird nach main.css geladen.
 */
:root {
  --fk-bg: #100b1d;
  --fk-bg-soft: #19112b;
  --fk-panel: #211735;
  --fk-text: #fff8ff;
  --fk-muted: #c7bad4;
  --fk-pink: #ff5dbb;
  --fk-violet: #9b68ff;
  --fk-cyan: #72d9ff;
}
html { scroll-behavior: smooth; }
body.fk-page {
  margin: 0;
  color: var(--fk-text);
  background: var(--fk-bg);
  font-family: "DM Sans", sans-serif;
  overflow-x: hidden;
}
.fk-page h1,.fk-page h2,.fk-page h3,.fk-page p { font-family: "Manrope","DM Sans",sans-serif; }
.fk-page a { text-decoration: none; }
.fk-header {
  position: sticky; top: 0; z-index: 1000;
  background: rgba(16,11,29,.92);
  border-bottom: 1px solid rgba(255,255,255,.09);
  backdrop-filter: blur(18px);
}
.fk-header-inner { min-height: 82px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.fk-brand img { display:block; width:230px; max-width:100%; height:auto; object-fit:contain; }
.fk-nav { display:flex; align-items:center; gap:25px; }
.fk-nav a { color:#e8dff0; font-size:14px; font-weight:700; transition:color .2s ease; }
.fk-nav a:hover { color:var(--fk-pink); }
.fk-nav .fk-nav-login { margin-left:8px; }
.fk-nav .fk-nav-cta { color:#fff; padding:12px 18px; border-radius:999px; background:linear-gradient(110deg,var(--fk-violet),var(--fk-pink)); box-shadow:0 8px 28px rgba(203,75,190,.25); }
.fk-menu-toggle { display:none; border:0; background:transparent; color:#fff; font-size:30px; }
.fk-hero { min-height:650px; position:relative; display:flex; align-items:center; overflow:hidden; background:radial-gradient(ellipse at 80% 25%,#48205c 0,transparent 40%),linear-gradient(120deg,#100b1d 0%,#1d1030 55%,#241039 100%); }
.fk-hero-grid { display:grid; grid-template-columns:1.12fr .88fr; align-items:center; gap:65px; padding-top:90px; padding-bottom:110px; position:relative; z-index:2; }
.fk-hero-copy { max-width:660px; }
.fk-eyebrow,.fk-section-kicker,.fk-card-label,.fk-panel-kicker { display:inline-flex; align-items:center; gap:9px; color:#e8b9ef; font-size:11px; font-weight:800; letter-spacing:2px; }
.fk-eyebrow-dot { width:8px; height:8px; border-radius:50%; background:var(--fk-pink); box-shadow:0 0 14px var(--fk-pink); }
.fk-hero h1 { color:#fff; font-size:clamp(42px,5.3vw,72px); line-height:1.08; letter-spacing:-2.8px; font-weight:800; margin:25px 0; }
.fk-hero h1 span,.fk-intro h2 span,.fk-section-heading h2 span { color:var(--fk-pink); }
.fk-hero-lead { max-width:590px; color:#d5c8df; font-size:18px; line-height:1.8; }
.fk-hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; }
.fk-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:15px 23px; border-radius:999px; font-weight:800; font-size:14px; transition:transform .2s,box-shadow .2s; }
.fk-button:hover { transform:translateY(-2px); }
.fk-button-primary { color:#fff!important; background:linear-gradient(110deg,#9562ff,#ff55b6); box-shadow:0 12px 32px rgba(202,76,197,.25); }
.fk-button-ghost { color:#fff!important; border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.04); }
.fk-trust-line { margin-top:25px; color:#bcaecb; font-size:13px; }
.fk-trust-line i { color:#a8f0d1; margin-right:7px; }
.fk-hero-panel { min-height:390px; position:relative; display:flex; align-items:flex-end; overflow:hidden; border-radius:30px; border:1px solid rgba(255,255,255,.18); background:radial-gradient(circle at 50% 20%,rgba(255,91,190,.45),transparent 35%),linear-gradient(145deg,rgba(143,91,255,.38),rgba(38,18,57,.92)),url("../../Website-Assets/Backdrop-Circle-04.png") center/cover; box-shadow:0 30px 80px rgba(0,0,0,.35); }
.fk-panel-content { position:relative; z-index:2; padding:35px; width:100%; background:linear-gradient(transparent,rgba(13,8,23,.94) 35%); }
.fk-panel-content h2 { color:#fff; font-size:36px; line-height:1.15; font-weight:800; margin:12px 0; }
.fk-panel-content p { color:#ded1e8; line-height:1.7; max-width:340px; }
.fk-panel-link { display:inline-flex; gap:9px; color:#ff9bd5!important; font-weight:800; margin-top:8px; }
.fk-panel-orbit { position:absolute; inset:32px; border:1px solid rgba(255,255,255,.25); border-radius:50%; transform:rotate(-18deg); }
.fk-panel-orbit:before,.fk-panel-orbit:after { content:""; position:absolute; inset:22px -18px; border:1px solid rgba(255,255,255,.2); border-radius:50%; transform:rotate(55deg); }
.fk-panel-orbit:after { transform:rotate(-55deg); }
.fk-panel-orbit span { position:absolute; color:#ffc1e7; text-shadow:0 0 18px #ff5dbb; font-size:30px; }
.fk-panel-orbit span:nth-child(1) { top:8%; left:17%; }
.fk-panel-orbit span:nth-child(2) { right:13%; top:35%; color:#fff; }
.fk-panel-orbit span:nth-child(3) { bottom:15%; left:28%; }
.fk-glow-one,.fk-glow-two { position:absolute; border-radius:50%; filter:blur(2px); pointer-events:none; }
.fk-glow-one { width:280px;height:280px;right:5%;top:5%;background:rgba(255,74,180,.12); }
.fk-glow-two { width:220px;height:220px;left:-100px;bottom:0;background:rgba(119,86,255,.18); }
.fk-hero-bottom { position:absolute; bottom:0; left:0; right:0; display:flex; justify-content:space-between; padding:17px max(calc((100vw - 1140px)/2),24px); color:rgba(255,255,255,.42); font-size:10px; font-weight:800; letter-spacing:2px; border-top:1px solid rgba(255,255,255,.1); }
.section-pad { padding:100px 0; }
.fk-intro { background:#fffaff; color:#251735; }
.fk-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.fk-intro .fk-section-kicker,.fk-section-heading .fk-section-kicker { color:#a34cc2; }
.fk-intro h2 { font-size:clamp(34px,4vw,52px); font-weight:800; line-height:1.15; letter-spacing:-1.5px; margin:20px 0 0; }
.fk-intro h2 span { color:#a34cc2; }
.fk-intro-text p { color:#65596f; line-height:1.85; font-size:16px; }
.fk-text-link { display:inline-flex; align-items:center; gap:10px; color:#9c45b9!important; font-weight:800; margin-top:8px; }
.fk-worlds { background:#171025; }
.fk-section-heading { text-align:center; max-width:720px; margin:0 auto 48px; }
.fk-section-heading h2 { color:#fff; font-size:clamp(32px,4vw,48px); font-weight:800; letter-spacing:-1.5px; margin:17px 0 12px; }
.fk-section-heading p { color:#bfb2cc; }
.fk-world-card { height:100%; min-height:335px; border-radius:24px; padding:35px; border:1px solid rgba(255,255,255,.1); background:linear-gradient(145deg,#281b3b,#1d142c); }
.fk-world-members { background:linear-gradient(145deg,#282044,#1a1934); }
.fk-card-icon { width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:rgba(255,93,187,.13);color:#ff8acb;font-size:26px;margin-bottom:24px; }
.fk-world-members .fk-card-icon { background:rgba(114,217,255,.13);color:var(--fk-cyan); }
.fk-card-label { color:#d89bd1; }
.fk-world-card h3 { color:#fff; font-size:26px; font-weight:800; margin:13px 0; }
.fk-world-card p { color:#c8bdd3; line-height:1.8; }
.fk-card-note { display:flex; gap:10px; color:#f4c7e2; font-size:13px; line-height:1.6; border-top:1px solid rgba(255,255,255,.1); padding-top:17px; margin-top:22px; }
.fk-card-note i { flex:none; color:#ff85c9; }
.fk-steps { background:#fffaff; color:#251735; }
.fk-steps .fk-section-heading h2 { color:#251735; }
.fk-step { position:relative; height:100%; padding:32px; border-radius:20px; background:#fff; border:1px solid #eee4f1; box-shadow:0 15px 40px rgba(43,17,60,.05); }
.fk-step>span { position:absolute; top:22px; right:25px; color:#d7c4e2; font-size:14px; font-weight:800; }
.fk-step>i { display:block; color:#a34cc2; font-size:32px; margin-bottom:22px; }
.fk-step h3 { color:#281a36; font-weight:800; font-size:21px; }
.fk-step p { color:#71657b; line-height:1.75; margin-bottom:0; }
.fk-notice { background:#211431; }
.fk-notice-box { display:grid; grid-template-columns:70px 1fr; gap:25px; padding:40px; border:1px solid rgba(255,255,255,.13); border-radius:24px; background:linear-gradient(120deg,rgba(152,88,255,.14),rgba(255,93,187,.08)); }
.fk-notice-symbol { width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:rgba(255,93,187,.15);color:#ff9bd5;font-size:26px; }
.fk-notice h2 { color:#fff; font-size:30px; font-weight:800; margin:12px 0; }
.fk-notice p { color:#d0c3dc; line-height:1.8; }
.fk-notice a { color:#ff9bd5; text-decoration:underline; }
.fk-final-cta { padding:90px 0; background:radial-gradient(ellipse at 50% 0,rgba(172,70,177,.25),transparent 60%),#120c20; }
.fk-final-cta h2 { color:#fff; font-size:clamp(34px,4vw,48px); font-weight:800; margin:17px 0 10px; }
.fk-final-cta p { color:#cbbdd6; margin-bottom:27px; }
.fk-login-hint { color:#cbbdd6; font-size:13px; margin-top:20px; }
.fk-login-hint a { color:#ff9bd5; font-weight:800; }
.fk-footer { background:#0b0712; color:#c7bbd1; padding:55px 0 20px; }
.fk-footer-top { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:35px; padding-bottom:35px; }
.fk-footer-brand img { display:block; width:220px; max-width:100%; height:auto; object-fit:contain; }
.fk-footer h3 { color:#fff; font-size:14px; font-weight:800; margin-bottom:15px; }
.fk-footer-top a:not(.fk-footer-brand) { display:block; color:#c7bbd1; margin:8px 0; font-size:14px; }
.fk-footer-top a:hover { color:#ff8acb; }
.fk-footer-legal { border-top:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); padding:22px 0; color:#a99bb6; font-size:12px; line-height:1.8; }
.fk-footer-bottom { display:flex; justify-content:space-between; gap:15px; padding-top:20px; color:#887b95; font-size:12px; }
@media (max-width: 991px) {
  .fk-nav { gap:14px; }
  .fk-nav a { font-size:12px; }
  .fk-hero-grid { gap:30px; }
  .fk-hero-panel { min-height:350px; }
}
@media (max-width: 767px) {
  .fk-header-inner { min-height:86px; }
  .fk-brand img { width:175px; max-width:100%; height:auto; }
  .fk-menu-toggle { display:block; }
  .fk-nav { display:none; position:absolute; top:86px; left:0; right:0; padding:22px 25px 28px; background:#140d21; border-bottom:1px solid rgba(255,255,255,.12); flex-direction:column; align-items:stretch; gap:17px; }
  .fk-nav.is-open { display:flex; }
  .fk-nav .fk-nav-login { margin-left:0; }
  .fk-nav .fk-nav-cta { text-align:center; }
  .fk-hero { min-height:auto; }
  .fk-hero-grid { grid-template-columns:1fr; padding-top:75px; padding-bottom:85px; gap:42px; }
  .fk-hero h1 { letter-spacing:-1.5px; }
  .fk-hero-lead { font-size:16px; }
  .fk-hero-panel { min-height:340px; }
  .fk-hero-bottom { padding:14px 20px; font-size:8px; }
  .fk-hero-bottom span:nth-child(2) { display:none; }
  .section-pad { padding:70px 0; }
  .fk-intro-grid { grid-template-columns:1fr; gap:25px; }
  .fk-world-card { min-height:0; padding:28px; }
  .fk-notice-box { grid-template-columns:1fr; padding:27px; gap:18px; }
  .fk-notice h2 { font-size:25px; }
  .fk-footer-top { grid-template-columns:1fr 1fr; }
  .fk-footer-brand { grid-column:1/-1; }
  .fk-footer-bottom { flex-direction:column; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
}
