/* QRPilot – öffentliche Profilseite (Link-in-Bio). Auch in der Editor-Vorschau und auf der Startseite.
   Farben kommen als Variablen am .pf-Element (--pf-bg, --pf-card, --pf-text, --pf-accent, --pf-ink, --pf-r).
   Bewegung: nur transform/opacity, ease-out, unter 300 ms; Hover nur bei echter Maus. */

@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(/fonts/Inter-Regular.ttf) format('truetype')}
@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(/fonts/Inter-SemiBold.ttf) format('truetype')}
@font-face{font-family:Poppins;font-weight:700;font-display:swap;src:url(/fonts/Poppins-Bold.ttf) format('truetype')}

.pf{
  --pf-muted:color-mix(in srgb,var(--pf-text) 64%,var(--pf-bg));
  --pf-line:color-mix(in srgb,var(--pf-text) 11%,transparent);
  --pf-head:Poppins,Inter,system-ui,sans-serif;
  --pf-body:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --pf-ease:cubic-bezier(.23,1,.32,1);
  --pf-shadow:0 1px 2px color-mix(in srgb,var(--pf-text) 7%,transparent),0 6px 18px -10px color-mix(in srgb,var(--pf-text) 24%,transparent);
  position:relative;isolation:isolate;min-height:100%;
  background:var(--pf-bg);color:var(--pf-text);
  font:16px/1.5 var(--pf-body);-webkit-font-smoothing:antialiased;
  overflow:hidden;
}
.pf[data-fonts=clean]{--pf-head:Inter,system-ui,sans-serif}
.pf[data-fonts=round]{--pf-body:Poppins,Inter,system-ui,sans-serif}
.pf *{box-sizing:border-box;margin:0}
.pf ::selection{background:color-mix(in srgb,var(--pf-accent) 30%,transparent)}

/* Weiches Licht hinter dem Kopf, in der Akzentfarbe */
.pf::before{content:"";position:absolute;z-index:-1;left:50%;top:-180px;width:640px;height:420px;transform:translateX(-50%);pointer-events:none;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--pf-accent) 22%,transparent),transparent);opacity:.9}
.pf[data-theme=azure]::before{background:radial-gradient(closest-side,rgb(255 255 255/.22),transparent)}
.pf[data-theme=boarding]::before{display:none}

.pf-in{position:relative;max-width:560px;margin:0 auto;padding:64px 20px 28px;min-height:100dvh;display:flex;flex-direction:column}
.pf-embed .pf-in{min-height:100%;padding:44px 16px 20px}

/* Teilen */
.pf-share{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:0;cursor:pointer;
  background:color-mix(in srgb,var(--pf-card) 86%,transparent);color:var(--pf-text);box-shadow:0 0 0 1px var(--pf-line);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform 160ms var(--pf-ease)}
.pf-share svg{width:19px;height:19px}
.pf-share:active{transform:scale(.94)}
.pf-share:focus-visible{outline:2px solid var(--pf-accent);outline-offset:3px}
.pf-toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));z-index:10;transform:translate(-50%,12px);opacity:0;pointer-events:none;
  padding:10px 16px;border-radius:999px;background:var(--pf-text);color:var(--pf-bg);font:600 .88rem/1 var(--pf-body);
  transition:opacity 200ms var(--pf-ease),transform 240ms var(--pf-ease)}
.pf-toast.on{opacity:1;transform:translate(-50%,0)}

/* Kopf */
.pf-head{text-align:center;margin-bottom:24px}
.pf-av{width:96px;height:96px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;overflow:hidden;
  background:var(--pf-accent);color:var(--pf-ink);font:700 32px/1 var(--pf-head);letter-spacing:.01em;
  box-shadow:0 0 0 4px var(--pf-bg),0 0 0 5px var(--pf-line),0 12px 30px -12px color-mix(in srgb,var(--pf-text) 40%,transparent)}
.pf-av img{width:100%;height:100%;object-fit:cover;display:block}
.pf[data-theme=boarding] .pf-av{border-radius:var(--pf-r);box-shadow:0 0 0 1.5px var(--pf-text)}
.pf-name{color:var(--pf-text);font:700 1.45rem/1.2 var(--pf-head);letter-spacing:-.015em;display:inline-flex;align-items:center;gap:6px;justify-content:center;flex-wrap:wrap;text-wrap:balance}
.pf-name .pf-ok{width:21px;height:21px;color:var(--pf-accent);flex:none}
.pf[data-theme=azure] .pf-name .pf-ok{color:#fff}
.pf-tag{color:var(--pf-muted);font-size:.94rem;margin-top:4px}
.pf-bio{margin:12px auto 0;max-width:38ch;font-size:.96rem;line-height:1.55;white-space:pre-line;text-wrap:pretty}

/* Social-Media als runde Symbole */
.pf-socs{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:16px}
.pf-soc{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--pf-text);text-decoration:none;
  transition:transform 160ms var(--pf-ease),background-color 160ms ease}
.pf-soc svg{width:24px;height:24px}
.pf-soc:active{transform:scale(.92)}
.pf-soc:focus-visible{outline:2px solid var(--pf-accent);outline-offset:2px}
@media (hover:hover) and (pointer:fine){.pf-soc:hover{background:var(--pf-line)}}

/* Links: Titel mittig, Symbol links, Pfeil rechts */
.pf-links{display:flex;flex-direction:column;gap:12px}
.pf-link{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;min-height:58px;padding:7px 6px;
  border-radius:var(--pf-r);background:var(--pf-card);color:var(--pf-text);text-decoration:none;text-align:center;
  border:1px solid var(--pf-line);box-shadow:var(--pf-shadow);
  transition:transform 200ms var(--pf-ease),box-shadow 200ms var(--pf-ease),background-color 160ms ease;-webkit-tap-highlight-color:transparent}
.pf-ic{display:grid;place-items:center;width:44px;height:44px;color:var(--pf-accent)}
.pf[data-theme=azure] .pf-ic{color:#fff}
.pf-ic svg{width:22px;height:22px}
.pf-tx{min-width:0;padding:2px 0}
.pf-t{display:block;font:600 .98rem/1.3 var(--pf-body);overflow-wrap:anywhere}
.pf-s{display:block;color:var(--pf-muted);font-size:.8rem;line-height:1.35;margin-top:2px;overflow-wrap:anywhere}
.pf-go{justify-self:center;width:16px;height:16px;opacity:.35;transition:transform 200ms var(--pf-ease),opacity 160ms ease}
.pf-link.is-hl{background:var(--pf-accent);color:var(--pf-ink);border-color:transparent;
  box-shadow:0 1px 2px color-mix(in srgb,var(--pf-accent) 30%,transparent),0 10px 24px -10px color-mix(in srgb,var(--pf-accent) 70%,transparent)}
.pf-link.is-hl .pf-t{font-weight:700}
.pf-link.is-hl .pf-s{color:inherit;opacity:.8}
.pf-link.is-hl .pf-ic{color:inherit}
.pf-link.is-hl .pf-go{opacity:.75}
.pf-link:active{transform:scale(.98)}
.pf-link:focus-visible{outline:2px solid var(--pf-accent);outline-offset:3px}
.pf-link.is-hl:focus-visible{outline-color:var(--pf-text)}
@media (hover:hover) and (pointer:fine){
  .pf-link:hover{transform:translateY(-2px);box-shadow:0 2px 4px color-mix(in srgb,var(--pf-text) 8%,transparent),0 14px 28px -14px color-mix(in srgb,var(--pf-text) 34%,transparent)}
  .pf-link:hover .pf-go{transform:translate(2px,-2px);opacity:.8}
  .pf-link:active{transform:translateY(-1px) scale(.98)}
}

/* Boarding Pass: Linien statt Schatten, Abriss zwischen Text und Pfeil */
.pf[data-theme=boarding] .pf-link{box-shadow:none;border:1.5px solid var(--pf-text)}
.pf[data-theme=boarding] .pf-link::after{content:"";position:absolute;right:44px;top:9px;bottom:9px;border-left:1.5px dashed var(--pf-line)}
.pf[data-theme=boarding] .pf-t{text-transform:uppercase;letter-spacing:.06em;font-size:.84rem}
.pf[data-theme=boarding] .pf-link.is-hl{border-color:var(--pf-accent)}
.pf[data-theme=boarding] .pf-link.is-hl::after{border-color:color-mix(in srgb,var(--pf-ink) 40%,transparent)}
.pf[data-theme=boarding] .pf-soc{border-radius:var(--pf-r);box-shadow:0 0 0 1.5px var(--pf-line)}

.pf-empty{text-align:center;color:var(--pf-muted);font-size:.9rem;padding:20px;border:1.5px dashed var(--pf-line);border-radius:var(--pf-r)}

/* Fuß */
.pf-foot{margin-top:auto;padding-top:48px;text-align:center;font-size:.74rem;color:var(--pf-muted)}
.pf-foot a{color:inherit;text-underline-offset:3px}
.pf-made{display:inline-flex;align-items:center;gap:7px;margin-bottom:10px;padding:7px 13px 7px 8px;border-radius:999px;
  background:color-mix(in srgb,var(--pf-card) 70%,transparent);box-shadow:0 0 0 1px var(--pf-line);text-decoration:none;color:var(--pf-text);font:600 .8rem/1 var(--pf-body);
  transition:transform 160ms var(--pf-ease)}
.pf-made:active{transform:scale(.97)}
.pf-made img{width:18px;height:18px;border-radius:5px;background:#fff}
.pf-legal{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 14px}

.pf-banner{position:sticky;top:0;z-index:2;padding:10px 16px;text-align:center;font-size:.84rem;font-weight:600;background:#171a24;color:#fff}

/* Einflug beim Laden: kurz, gestaffelt, nur Bewegung nach oben */
@media (prefers-reduced-motion:no-preference){
  .pf-anim .pf-head>*,.pf-anim .pf-link{animation:pf-rise 420ms var(--pf-ease) backwards}
  .pf-anim .pf-head>*:nth-child(2){animation-delay:40ms}
  .pf-anim .pf-head>*:nth-child(3){animation-delay:70ms}
  .pf-anim .pf-head>*:nth-child(4){animation-delay:100ms}
  .pf-anim .pf-head>*:nth-child(5){animation-delay:130ms}
  .pf-anim .pf-link{animation-delay:calc(150ms + var(--i,0) * 45ms)}
}
@keyframes pf-rise{from{opacity:0;transform:translateY(10px)}}

/* Blöcke: Text, Hinweis, FAQ, Gutschein, Öffnungszeiten, Veranstaltung, Video/Musik, Galerie, Produkt */
.pf-blk{border-radius:var(--pf-r);background:var(--pf-card);color:var(--pf-text);border:1px solid var(--pf-line);box-shadow:var(--pf-shadow);padding:16px 18px;text-align:left}
.pf[data-theme=boarding] .pf-blk{box-shadow:none;border:1.5px solid var(--pf-text)}
.pf-blk p{font-size:.92rem;line-height:1.5;text-wrap:pretty;overflow-wrap:anywhere}
.pf-bt{font:700 1rem/1.3 var(--pf-head);margin-bottom:8px}
.pf-bx{min-width:0;flex:1}
.pf-bx b{display:block;font:600 .98rem/1.3 var(--pf-body);overflow-wrap:anywhere}
.pf-bx small{display:block;color:var(--pf-muted);font-size:.82rem;margin-top:2px}
.pf-bx p{margin-top:6px}
.pf-bi{display:grid;place-items:center;width:40px;height:40px;flex:none;color:var(--pf-accent)}
.pf-bi svg{width:22px;height:22px}
.pf[data-theme=azure] .pf-bi{color:#fff}
.pf-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.pf-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 14px;border-radius:var(--pf-r);border:1px solid var(--pf-line);
  background:transparent;color:var(--pf-text);font:600 .86rem/1 var(--pf-body);text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:transform 160ms var(--pf-ease),background-color 160ms ease}
.pf-btn svg{width:16px;height:16px}
.pf-btn.is-fill{background:var(--pf-accent);color:var(--pf-ink);border-color:transparent}
.pf-btn:active{transform:scale(.97)}
.pf-btn:focus-visible{outline:2px solid var(--pf-accent);outline-offset:2px}
@media (hover:hover) and (pointer:fine){.pf-btn:not(.is-fill):hover{background:var(--pf-line)}}

.pf-notice{display:flex;align-items:flex-start;gap:12px;background:color-mix(in srgb,var(--pf-accent) 12%,var(--pf-card))}
.pf-notice .pf-btn{align-self:center;padding:0 10px;min-height:36px}
.pf-notice .pf-bx p{margin-top:2px}

.pf-faq details{border-top:1px solid var(--pf-line);padding:10px 0}
.pf-faq details:first-of-type{border-top:0;padding-top:2px}
.pf-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;font:600 .95rem/1.35 var(--pf-body);min-height:32px}
.pf-faq summary::-webkit-details-marker{display:none}
.pf-faq summary::after{content:"+";font-size:1.3rem;line-height:1;opacity:.6;transition:transform 200ms var(--pf-ease);flex:none}
.pf-faq details[open] summary::after{transform:rotate(45deg)}
.pf-faq details p{margin-top:6px;color:var(--pf-muted)}

.pf-coupon{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1.5px dashed color-mix(in srgb,var(--pf-accent) 60%,var(--pf-line))}
.pf-coupon small{margin:0 0 2px}
.pf-code{font:700 1.25rem/1.15 var(--pf-head)!important;letter-spacing:.08em;overflow-wrap:anywhere}

.pf-state{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:8px}
.pf-state i{width:9px;height:9px;border-radius:50%;background:var(--pf-muted);flex:none}
.pf-state.is-open i{background:#1a9d52}
.pf-hours dl{display:grid;gap:2px}
.pf-hr{display:flex;justify-content:space-between;gap:12px;font-size:.88rem;padding:3px 0;color:var(--pf-muted)}
.pf-hr dt,.pf-hr dd{margin:0}
.pf-hr.is-today{color:var(--pf-text);font-weight:600}
.pf-note{margin-top:8px;color:var(--pf-muted)}

.pf-event{display:flex;gap:14px;align-items:flex-start}
.pf-date{display:grid;align-content:center;justify-items:center;width:56px;height:60px;flex:none;border-radius:min(var(--pf-r),16px);background:var(--pf-accent);color:var(--pf-ink)}
.pf-date b{font:700 1.4rem/1 var(--pf-head)}
.pf-date span{font:600 .72rem/1 var(--pf-body);margin-top:3px;text-transform:uppercase;letter-spacing:.04em}

.pf-embed-blk{padding:14px}
.pf-embed-blk .pf-bt{padding:0 4px}
.pf-consent{display:grid;place-items:center;align-content:center;gap:8px;width:100%;padding:16px;text-align:center;border-radius:min(var(--pf-r),20px);background:color-mix(in srgb,var(--pf-text) 7%,var(--pf-card))}
.pf-consent p{font-size:.78rem;color:var(--pf-muted);max-width:34ch}
.pf-consent p a{color:inherit}
.pf-consent.is-loaded{padding:0;overflow:hidden;background:none}
.pf-frame{display:block;width:100%;height:100%;border:0}

.pf-gallery{padding:12px}
.pf-gallery .pf-bt{padding:0 4px}
.pf-grid{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}
.pf-grid img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:calc(min(var(--pf-r),24px) * .6);background:var(--pf-line)}
.pf-grid.n1{grid-template-columns:1fr}
.pf-grid.n1 img{aspect-ratio:16/10}

.pf-product{padding:0;overflow:hidden}
.pf-pimg img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.pf-product .pf-bx{padding:14px 18px 16px}
.pf-price{font:700 1.1rem/1 var(--pf-head);margin-right:auto}

.pf-ic.has-img img{width:40px;height:40px;object-fit:cover;border-radius:calc(min(var(--pf-r),24px) * .6)}
.pf-embed .pf-blk{padding:12px 14px}
.pf-embed .pf-product{padding:0}

@media (prefers-reduced-motion:no-preference){
  .pf-anim .pf-blk{animation:pf-rise 420ms var(--pf-ease) backwards;animation-delay:180ms}
}

/* Kontaktformular, Visitenkarte, Umfrage */
.pf-fields{display:grid;gap:10px;margin-top:8px}
.pf-fields label{display:grid;gap:4px;font:600 .82rem/1.2 var(--pf-body);color:var(--pf-muted)}
.pf-fields input:not(.pf-hp),.pf-fields textarea{width:100%;font:400 1rem/1.4 var(--pf-body);color:var(--pf-text);background:var(--pf-bg);border:1.5px solid var(--pf-line);
  border-radius:min(var(--pf-r),14px);padding:11px 12px;min-height:46px;transition:border-color 160ms ease,box-shadow 160ms ease}
.pf-fields textarea{min-height:104px;resize:vertical}
.pf-fields input:focus,.pf-fields textarea:focus{outline:none;border-color:var(--pf-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--pf-accent) 22%,transparent)}
.pf-fields .pf-btn{width:100%;min-height:46px}
.pf-fields small{color:var(--pf-muted);font-size:.74rem;line-height:1.4}
.pf-fields small a{color:inherit}
.pf-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.pf-ok,.pf-err{margin-top:6px;padding:10px 12px;border-radius:min(var(--pf-r),14px);font-size:.9rem;font-weight:600}
.pf-ok{background:color-mix(in srgb,#1a9d52 16%,var(--pf-card))}
.pf-err{background:color-mix(in srgb,#b62e2b 16%,var(--pf-card))}

.pf-card{display:grid;gap:12px}
.pf-card .pf-bx{text-align:center}
.pf-card .pf-bx b{font:700 1.1rem/1.25 var(--pf-head)}
.pf-acts{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:8px}
.pf-act{display:grid;justify-items:center;align-content:center;gap:0;min-height:64px;padding:6px 4px;border-radius:min(var(--pf-r),16px);background:var(--pf-line);color:var(--pf-text);
  text-decoration:none;font:600 .76rem/1.2 var(--pf-body);transition:transform 160ms var(--pf-ease)}
.pf-act:active{transform:scale(.97)}
.pf-act .pf-bi{width:30px;height:30px}
.pf-act .pf-bi svg{width:20px;height:20px}
.pf-card>.pf-btn{width:100%;min-height:46px}

.pf-pollform{display:grid;gap:8px}
.pf-opt{min-height:46px;padding:0 14px;border-radius:min(var(--pf-r),16px);border:1.5px solid var(--pf-line);background:transparent;color:var(--pf-text);
  font:600 .92rem/1.2 var(--pf-body);cursor:pointer;text-align:left;transition:transform 160ms var(--pf-ease),background-color 160ms ease,border-color 160ms ease}
.pf-opt:active{transform:scale(.98)}
.pf-opt:focus-visible{outline:2px solid var(--pf-accent);outline-offset:2px}
@media (hover:hover) and (pointer:fine){.pf-opt:hover{background:var(--pf-line)}}
.pf-poll[data-mode=stars] .pf-pollform{grid-template-columns:repeat(5,minmax(0,1fr))}
.pf-poll[data-mode=stars] .pf-opt{text-align:center;padding:0}
.pf-bars{list-style:none;padding:0;display:grid;gap:8px}
.pf-bars li{position:relative;display:flex;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:min(var(--pf-r),14px);overflow:hidden;isolation:isolate;
  background:var(--pf-line);font:600 .9rem/1.2 var(--pf-body)}
.pf-bars li i{position:absolute;inset:0 auto 0 0;z-index:-1;background:color-mix(in srgb,var(--pf-accent) 30%,transparent);transition:width 420ms var(--pf-ease)}
.pf-bars .n{color:var(--pf-muted);font-weight:600}
