/* Linkpage – Design. Farben pro Creatorin über "accent" in creator.json */
:root{
  --accent:#ff4f8b;
  --text:#fff;
  --muted:rgba(255,255,255,.72);
  --radius:18px;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{
  font-family:var(--font);color:var(--text);background:#0b0b0f;
  -webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;
}

/* ---------- Hintergrund ---------- */
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden}
.bg img,.bg video{width:100%;height:100%;object-fit:cover;display:block}
.bg-gradient{position:absolute;inset:0;
  background:radial-gradient(120% 80% at 50% 0%,color-mix(in srgb,var(--accent) 55%,#000) 0%,#0b0b0f 70%)}
.bg img.blurred{filter:blur(42px) saturate(1.3);transform:scale(1.25)}
.bg-color{position:absolute;inset:0}
.bg-color + .bg-shade{background:radial-gradient(90% 50% at 50% 0%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 70%)}
.bg-blur .bg-shade{background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.45))}
.bg-shade{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,.45) 40%,rgba(0,0,0,.8) 100%)}

/* ---------- Layout ---------- */
.wrap{max-width:520px;margin:0 auto;
  padding:calc(48px + env(safe-area-inset-top)) 16px calc(40px + env(safe-area-inset-bottom))}
.profile{text-align:center;margin-bottom:28px}
.avatar{display:block;margin:0 auto;width:104px;height:104px;border-radius:50%;object-fit:cover;
  border:3px solid rgba(255,255,255,.9);box-shadow:0 8px 30px rgba(0,0,0,.45)}
h1{font-size:24px;font-weight:700;margin:14px 0 6px;display:inline-flex;align-items:center;gap:6px;
  text-shadow:0 2px 12px rgba(0,0,0,.5)}
.verified{color:#3b9cff;display:inline-flex}
.verified svg{width:22px;height:22px}
.bio{margin:0 auto;max-width:380px;color:var(--muted);font-size:15px;line-height:1.45;
  text-shadow:0 1px 8px rgba(0,0,0,.6)}

.socials{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:18px}
.socials a{color:#fff;opacity:.92;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;
  transition:transform .15s,opacity .15s}
.socials a:hover{opacity:1;transform:translateY(-2px)}

/* ---------- Link-Buttons ---------- */
.links{display:flex;flex-direction:column;gap:12px}
.link{position:relative;display:flex;align-items:center;gap:14px;min-height:62px;padding:10px 16px;
  border-radius:var(--radius);color:#fff;text-decoration:none;
  transition:transform .15s ease,box-shadow .15s ease,background .15s}
.link:active{transform:scale(.98)}
.link .ico{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;
  background:rgba(255,255,255,.14)}
.link .ico svg{width:22px;height:22px}
.link .thumb{flex:0 0 auto;width:44px;height:44px;border-radius:12px;object-fit:cover}
.link .txt{flex:1;display:flex;flex-direction:column;min-width:0;padding-right:8px}
.link .t{font-weight:650;font-size:16px;line-height:1.25}
.link .s{font-size:13px;color:var(--muted);margin-top:2px}

.btn-glass .link{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);
  -webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%)}
.btn-glass .link:hover{background:rgba(255,255,255,.2)}
.btn-dark .link{background:rgba(10,10,14,.55);border:1px solid rgba(255,255,255,.08);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.btn-dark .link:hover{background:rgba(10,10,14,.7)}
.btn-solid .link{background:#fff;color:#111}
.btn-solid .link .s{color:#555}
.btn-solid .link .ico{background:#f1f1f3;color:#111}
.btn-outline .link{border:2px solid #fff;background:transparent}
.btn-outline .link:hover{background:rgba(255,255,255,.1)}

/* Form der Buttons */
.shape-pill .link{border-radius:999px}
.shape-pill .link .ico,.shape-pill .link .thumb{border-radius:50%}
.shape-square .link{border-radius:6px}

/* Text mittig, Icon klein links */
.align-center .link{justify-content:center;text-align:center}
.align-center .link .ico{position:absolute;left:12px;background:transparent!important;width:34px;height:34px}
.align-center .link .ico svg{width:20px;height:20px}
.align-center .link .thumb{position:absolute;left:8px}
.align-center .link .txt{flex:0 1 auto;padding:0 46px}

/* Hervorgehobener Link (z. B. Haupt-Abo-Link) */
.link.highlight{background:var(--accent)!important;border-color:transparent!important;color:var(--on-accent,#fff)!important;
  }
.link.highlight .s{color:rgba(255,255,255,.85)!important}
.link.highlight .ico{background:rgba(255,255,255,.22)!important;color:#fff!important}

.hl-white .link.highlight{background:#fff!important;color:#111!important}
.hl-white .link.highlight .s{color:#555!important}
.hl-white .link.highlight .ico{background:#f1f1f3!important;color:#111!important}
.hl-white.align-center .link.highlight .ico{background:transparent!important}
.pos-bottom .wrap{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end}
.pos-bottom .bg-shade{background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.55) 65%,rgba(0,0,0,.85) 100%)}
.pos-bottom h1{font-size:30px}
.foot{text-align:center;color:var(--muted);font-size:12px;margin-top:32px}

/* ---------- Modals (18+ / Instagram) ---------- */
.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;
  background:rgba(0,0,0,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.modal[hidden]{display:none}
.modal.block{background:rgba(0,0,0,.82)}
.card .ok-msg{color:#7ee2a8;font-size:13px;margin-top:10px;min-height:1em}
.card{width:100%;max-width:360px;background:#16161c;border:1px solid rgba(255,255,255,.1);border-radius:22px;
  padding:26px 22px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.6);animation:pop .18s ease-out}
@keyframes pop{from{transform:scale(.94);opacity:0}}
.card .big{font-size:34px;font-weight:900;color:var(--accent);margin-bottom:4px}
.card .dots{font-size:28px;letter-spacing:4px;color:var(--accent)}
.card h2{font-size:19px;margin:6px 0 8px}
.card p{color:var(--muted);font-size:14.5px;line-height:1.5;margin:0 0 20px}
.card .primary,.card .ghost{display:block;width:100%;font:inherit;font-weight:650;font-size:15px;
  padding:14px;border-radius:14px;border:0;cursor:pointer;text-decoration:none;text-align:center}
.card .primary{background:var(--accent);color:var(--on-accent,#fff)}
.card .ghost{background:transparent;color:var(--muted);margin-top:6px}
body.plain{background:#0b0b0f}

/* =====================================================================
   DESIGN-VARIANTEN  –  in creator.json: "theme": { "style": "..." }
   glass (Standard) · hero · clean · noir
   ===================================================================== */

/* ---------- HERO: großes Foto oben, Name darüber, Links darunter ---------- */
.style-hero{background:#0b0b0f}
.style-hero .bg{position:absolute;bottom:auto;height:68vh;max-height:640px;z-index:0}
.style-hero .bg img,.style-hero .bg video{object-position:center 25%}
.style-hero .bg-shade{background:linear-gradient(180deg,rgba(11,11,15,0) 35%,rgba(11,11,15,.55) 70%,#0b0b0f 100%)}
.style-hero .wrap{position:relative;z-index:1;padding-top:min(52vh,500px)}
.style-hero .avatar{display:none}
.style-hero h1{font-size:34px;letter-spacing:-.02em;margin-top:0}
.style-hero .profile{margin-bottom:22px}
.style-hero .link{background:#1a1a20;border:1px solid rgba(255,255,255,.08);
  -webkit-backdrop-filter:none;backdrop-filter:none}
.style-hero .link:hover{background:#23232a}
.style-hero .link .ico{background:rgba(255,255,255,.07)}

/* ---------- CLEAN: hell, ruhig, viel Weißraum ---------- */
.style-clean{--text:#17171a;--muted:#6f6f78;background:#f5f2ee;color:var(--text)}
.style-clean .bg{display:none}
.style-clean .avatar{border:0;box-shadow:0 6px 24px rgba(0,0,0,.12);width:96px;height:96px}
.style-clean h1,.style-clean .bio{text-shadow:none}
.style-clean h1{font-size:22px}
.style-clean .socials a{color:var(--text);opacity:.75}
.style-clean .link{background:#fff;color:var(--text);border:1px solid rgba(0,0,0,.06);
  box-shadow:0 1px 2px rgba(0,0,0,.04),0 4px 14px rgba(0,0,0,.04);
  -webkit-backdrop-filter:none;backdrop-filter:none;min-height:58px;justify-content:center;text-align:center}
.style-clean .link:hover{box-shadow:0 2px 4px rgba(0,0,0,.06),0 8px 22px rgba(0,0,0,.07)}
.style-clean .link .ico{position:absolute;left:10px;background:transparent;color:var(--muted)}
.style-clean .link .thumb{position:absolute;left:8px}
.style-clean .link .txt{flex:0 1 auto;padding:0 44px}
.style-clean .link .t{font-weight:600;font-size:15.5px}
.style-clean .link.highlight{color:#fff!important}
.style-clean .link.highlight .ico{background:transparent!important}
.style-clean .foot{color:var(--muted)}

/* ---------- NOIR: schwarz, elegant, Serifenschrift ---------- */
.style-noir{--muted:rgba(255,255,255,.55);background:#000}
.style-noir .bg img,.style-noir .bg video{opacity:.35;filter:grayscale(.6)}
.style-noir .bg-shade{background:linear-gradient(180deg,rgba(0,0,0,.2),#000 85%)}
.style-noir .avatar{border:1px solid rgba(255,255,255,.35);box-shadow:none;width:92px;height:92px}
.style-noir h1{font-family:ui-serif,"New York","Iowan Old Style",Georgia,serif;font-weight:400;
  font-size:32px;letter-spacing:.01em;text-shadow:none}
.style-noir .bio{font-size:12px;letter-spacing:.18em;text-transform:uppercase;text-shadow:none}
.style-noir .socials a{opacity:.7}
.style-noir .links{gap:10px}
.style-noir .link{background:transparent;border:1px solid rgba(255,255,255,.28);border-radius:2px;
  -webkit-backdrop-filter:none;backdrop-filter:none;min-height:56px;justify-content:center;text-align:center}
.style-noir .link:hover{background:#fff;color:#000}
.style-noir .link .ico{display:none}
.style-noir .link .thumb{position:absolute;left:8px;border-radius:2px}
.style-noir .link .txt{flex:0 1 auto;padding:0 44px}
.style-noir .link .t{font-weight:500;font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.style-noir .link.highlight{background:#fff!important;color:#000!important}
.style-noir .link.highlight:hover{opacity:.9}
.style-noir .card{border-radius:4px;background:#0d0d0d}
.style-noir .card .primary{border-radius:2px;background:#fff;color:#000}

@media (prefers-reduced-motion:reduce){
  .card{animation:none}
}

/* ---------- Profil-Handle ---------- */
.handle{margin:-2px 0 8px;color:var(--muted);font-size:14px;text-shadow:0 1px 8px rgba(0,0,0,.6)}

/* ---------- Bild-Karten (Link mit "image") im Hero-Stil ---------- */
.style-hero .link.has-thumb{min-height:118px;padding:0;overflow:hidden;align-items:flex-end;border-radius:18px;
  background:#111;border:0;justify-content:flex-start;text-align:left}
.style-hero .link.has-thumb.highlight{min-height:210px}
.style-hero .link.has-thumb .thumb{position:absolute;inset:0;width:100%;height:100%;border-radius:0;object-fit:cover;transition:transform .4s}
.style-hero .link.has-thumb:hover .thumb{transform:scale(1.03)}
.style-hero .link.has-thumb::before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.75) 100%)}
.style-hero .link.has-thumb .txt{position:relative;z-index:2;padding:14px 16px;flex:1}
.style-hero .link.has-thumb .t{font-size:16px;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.style-hero .link.has-thumb .s{color:rgba(255,255,255,.8)!important}
.style-hero .link.has-thumb.highlight{background:#111!important;color:#fff!important}
.style-hero.align-center .link.has-thumb .txt{padding:14px 16px}
.style-hero .foot{margin-top:24px}

/* ---------- Sperrbildschirm im In-App-Browser ---------- */
.gate{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;
  background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.35) 45%,rgba(0,0,0,.92) 80%)}
.gate[hidden]{display:none}
.gate-inner{width:100%;max-width:440px;text-align:center;padding:0 20px calc(48px + env(safe-area-inset-bottom))}
.gate h2{font-size:28px;margin:0 0 4px;display:inline-flex;align-items:center;gap:6px}
.gate h2 .verified svg{width:22px;height:22px}
.gate-sub{color:rgba(255,255,255,.75);margin:0 0 22px;font-size:15px}
.gate-btn{display:block;background:#fff;color:#111;text-decoration:none;font-weight:700;font-size:16px;
  padding:16px;border-radius:14px;box-shadow:0 8px 30px rgba(0,0,0,.35)}
.gate-btn:active{transform:scale(.98)}
.gate-hint{color:rgba(255,255,255,.55);font-size:12.5px;line-height:1.5;margin:14px 0 6px}
.gate-copy{background:none;border:0;color:rgba(255,255,255,.7);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer;padding:6px}
.gate .ok-msg{color:#7ee2a8;font-size:13px;min-height:1em}
.has-gate .wrap{visibility:hidden}
