/*! FlocknRoll Theme 1.0.0 */
/* Schriften – lokal eingebunden (SIL Open Font License, siehe assets/fonts) */
@font-face{font-family:'Bricolage Grotesque';src:url(../fonts/bricolage-grotesque-var.woff) format('woff');font-weight:500 800;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url(../fonts/inter-400.woff) format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url(../fonts/inter-500.woff) format('woff');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url(../fonts/inter-600.woff) format('woff');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url(../fonts/inter-700.woff) format('woff');font-weight:700;font-style:normal;font-display:swap}
body{margin:0;font-family:'Inter',system-ui,sans-serif;color:#111111;background:#FFFFFF}
a{color:#111111}a:hover{color:#C2185B}
.ph{background-color:#ECE8EA;background-image:repeating-linear-gradient(135deg,rgba(0,0,0,.06) 0 2px,transparent 2px 14px)}
.navlink{text-decoration:none;font-weight:500}
input,textarea,select{font:inherit}
sc-for,sc-if{display:contents}
@media (min-width: 900px){.fr-stage-col{position:sticky;top:12px;z-index:2}}
@keyframes stitchDraw{0%{stroke-dashoffset:1}80%{stroke-dashoffset:0}100%{stroke-dashoffset:0}}
@keyframes stitchFade{0%,90%{opacity:.8}97%,100%{opacity:0}}
@keyframes needleRun{0%{offset-distance:0%;opacity:1}80%{offset-distance:100%;opacity:1}86%,100%{offset-distance:100%;opacity:0}}
@keyframes needleBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.stitch-reveal{stroke-dasharray:1 1;animation:stitchDraw 9s linear infinite}
.stitch-line{animation:stitchFade 9s linear infinite}
.needle{offset-path:path('M0 30 C120 0 240 60 360 30 C480 0 600 60 720 30 C840 0 960 60 1080 30 C1200 0 1320 60 1440 30');offset-rotate:0deg;animation:needleRun 9s linear infinite}
.needle-bob{animation:needleBob .42s ease-in-out infinite}
@media (prefers-reduced-motion: reduce){.stitch-reveal{animation:none;stroke-dashoffset:0}.stitch-line{animation:none}.needle{display:none}}
/* Glanz */
@keyframes sheenSweep{0%{transform:translateX(-120%) skewX(-20deg)}55%,100%{transform:translateX(320%) skewX(-20deg)}}
@keyframes shineText{0%{background-position:120% 0}60%,100%{background-position:-60% 0}}
.gloss-btn{position:relative;overflow:hidden;isolation:isolate;background-image:linear-gradient(180deg,rgba(255,255,255,.42) 0%,rgba(255,255,255,.12) 48%,rgba(0,0,0,0) 52%,rgba(0,0,0,.10) 100%);box-shadow:0 8px 22px rgba(219,37,112,.45),inset 0 1px 0 rgba(255,255,255,.6),inset 0 -2px 0 rgba(0,0,0,.12);text-shadow:0 1px 1px rgba(0,0,0,.25);transition:transform .2s ease,box-shadow .2s ease}
.gloss-btn::after{content:"";position:absolute;top:-10%;bottom:-10%;left:0;width:35%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.55),rgba(255,255,255,0));animation:sheenSweep 4.5s ease-in-out infinite;z-index:1;pointer-events:none}
.gloss-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(219,37,112,.55),inset 0 1px 0 rgba(255,255,255,.6),inset 0 -2px 0 rgba(0,0,0,.12)}
.gloss-dark{background-image:linear-gradient(180deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,.04) 50%,rgba(0,0,0,0) 52%);box-shadow:0 8px 20px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.25)}
.shine-text{background-image:linear-gradient(110deg,#FFFFFF 0%,#FFFFFF 38%,#FF8EC0 46%,#FFFFFF 52%,#FFD1E6 56%,#FFFFFF 64%,#FFFFFF 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:shineText 6s ease-in-out infinite}
.gloss-band{background-image:linear-gradient(180deg,rgba(255,255,255,.35) 0%,rgba(255,255,255,.08) 50%,rgba(0,0,0,0) 51%,rgba(0,0,0,.08) 100%);position:relative;overflow:hidden}
.gloss-band::after{content:"";position:absolute;top:0;bottom:0;left:0;width:22%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.45),rgba(255,255,255,0));animation:sheenSweep 7s ease-in-out infinite;pointer-events:none}
.gcard,.mcard{position:relative;overflow:hidden}
.gcard::after,.mcard::after{content:"";position:absolute;top:-20%;bottom:-20%;left:0;width:30%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.55),rgba(255,255,255,0));transform:translateX(-160%) skewX(-18deg);transition:transform .8s ease;pointer-events:none;z-index:2}
.gcard:hover::after,.mcard:hover::after{transform:translateX(420%) skewX(-18deg)}
.mcard{background-image:linear-gradient(180deg,#FFFFFF 0%,#FFFFFF 50%,#F7EEF2 100%)}
.playdark{background-image:radial-gradient(ellipse 60% 50% at 15% 0%,rgba(219,37,112,.28) 0%,rgba(219,37,112,0) 70%),radial-gradient(ellipse 50% 40% at 90% 100%,rgba(255,142,192,.18) 0%,rgba(255,142,192,0) 70%),radial-gradient(rgba(219,37,112,.28) 1.4px,transparent 1.6px) !important;background-size:auto,auto,24px 24px !important}
@media (prefers-reduced-motion: reduce){.gloss-btn::after,.gloss-band::after{animation:none;display:none}.shine-text{animation:none}.gcard::after,.mcard::after{display:none}}
@keyframes jbtnPulse{0%,100%{box-shadow:0 3px 5px rgba(0,0,0,.5),0 0 0 0 rgba(219,37,112,.6)}50%{box-shadow:0 3px 5px rgba(0,0,0,.5),0 0 0 7px rgba(219,37,112,0)}}
.zipcard:hover .jbtn{animation:jbtnPulse 1.2s ease-out infinite;transform:rotate(25deg)}
.jbtn{transition:transform .3s ease}
@media (prefers-reduced-motion: reduce){.zipcard *{transition:none !important;animation:none !important}}
@keyframes baClip{0%,12%{clip-path:inset(0 0 0 88%)}45%,62%{clip-path:inset(0 0 0 12%)}95%,100%{clip-path:inset(0 0 0 88%)}}
@keyframes baLine{0%,12%{left:88%}45%,62%{left:12%}95%,100%{left:88%}}
.ba-sharp{animation:baClip 6s ease-in-out infinite}
.ba-line{animation:baLine 6s ease-in-out infinite}
@media (prefers-reduced-motion: reduce){.ba-sharp{animation:none;clip-path:inset(0 0 0 50%)}.ba-line{animation:none;left:50%}}
.gimg{aspect-ratio:4/5}
.gcard{box-shadow:8px 8px 0 #221E21;transition:transform .25s ease,box-shadow .25s ease}
.gcard:nth-child(3n+1){transform:rotate(-1.2deg)}.gcard:nth-child(3n+2){transform:rotate(.8deg)}
.gcard:hover{transform:translate(-4px,-4px) rotate(0deg);box-shadow:14px 14px 0 #DB2570}
.mcard{box-shadow:7px 7px 0 #DB2570;transition:transform .25s ease,box-shadow .25s ease}
.mcard:hover{transform:translate(-3px,-3px);box-shadow:11px 11px 0 #DB2570}
@media (prefers-reduced-motion: reduce){.gcard,.mcard{transition:none}}
.wide{grid-column:span 2}.wide .gimg{aspect-ratio:8/5;object-position:center bottom}
@media (max-width:600px){.wide{grid-column:auto}.wide .gimg{aspect-ratio:3/2}}
.playdark{background-color:#221E21;background-image:radial-gradient(rgba(219,37,112,.28) 1.4px,transparent 1.6px);background-size:24px 24px}
.fr-burger{display:none}
@media (max-width:860px){.fr-burger{display:inline-flex}.fr-nav{display:none !important;width:100%;flex-direction:column;align-items:stretch !important;gap:4px !important;padding:8px 0 4px}.fr-nav.open{display:flex !important}.fr-nav .navlink{display:block;padding:12px 4px;font-size:18px;border-bottom:1px solid rgba(255,255,255,.12)}.fr-nav>a:not(.navlink){align-self:flex-start;margin-top:10px}}
@media (max-width:560px){.fr-gal{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:20px 14px !important;padding:4px 8px 10px 2px !important}.fr-gal .gcard{padding:6px 6px 10px !important;border-width:2px !important;border-radius:16px !important;gap:8px !important;box-shadow:5px 5px 0 #221E21 !important}.fr-gal figcaption{font-size:13px !important;padding:0 2px !important}.fr-gal .wide{grid-column:1 / -1}}
@media (max-width:720px){.fr-star{display:none}.fr-hero-in{padding-bottom:104px !important}}
@media (min-width:1040px){.fr-svc{grid-template-columns:repeat(6,minmax(0,1fr)) !important}.fr-svc>*{grid-column:span 2}.fr-svc>*:nth-child(4):nth-last-child(2){grid-column:2 / span 2}}
@media (min-width:700px) and (max-width:1039px){.fr-svc{grid-template-columns:repeat(4,minmax(0,1fr)) !important}.fr-svc>*{grid-column:span 2}.fr-svc>*:nth-child(odd):last-child{grid-column:2 / span 2}}
@media (max-width:560px){.fr-brands{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:20px 16px !important;padding:0 8px 10px 0 !important}.fr-brands .zipcard{height:124px !important}.fr-form{grid-template-columns:minmax(0,1fr) !important;padding:24px !important}.fr-form>*{grid-column:1 / -1 !important}}
body{margin:0}

/* ---- WordPress-Ergänzungen ---- */
*,*::before,*::after{box-sizing:border-box}
.fr-site{min-height:100vh;overflow-x:clip}
.fr-site img{max-width:100%}
[hidden]{display:none !important}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute !important;width:1px;word-wrap:normal !important}
.skip-link:focus{clip:auto;clip-path:none;height:auto;width:auto;left:12px;top:12px;z-index:100000;background:#FFFFFF;color:#111111;padding:12px 18px;border-radius:12px;font-weight:700}
.fr-burger .ic-close{display:none}
.fr-burger[aria-expanded="true"] .ic-close{display:block}
.fr-burger[aria-expanded="true"] .ic-open{display:none}
.zipcard .flap{transform:rotateY(0deg);box-shadow:inset 0 0 18px rgba(0,0,0,.45)}
.zipcard.open .flap{transform:rotateY(-112deg);box-shadow:18px 0 24px rgba(0,0,0,.35)}
.zipcard:not(.open) .when-open{display:none !important}
.zipcard.open .when-closed{display:none !important}
.fr-gen-mount:not(.is-ready){min-height:900px;background:#221E21}
.fr-form input:focus-visible,.fr-form select:focus-visible,.fr-form textarea:focus-visible{outline:3px solid #DB2570;outline-offset:2px}
/* ---- Unterseiten (Impressum, Datenschutz, weitere Seiten) ---- */
.fr-page{background:#FBEFF5}
.fr-page-main{max-width:1100px;margin:0 auto;padding:64px 32px 96px;display:flex;flex-direction:column;gap:32px}
.fr-eyebrow{margin:0;font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#C2185B}
.fr-page-title{margin:0;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(36px,5vw,56px);line-height:1.05;letter-spacing:-1px}
.fr-page-layout{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}
.fr-toc{flex:1 1 240px;background:#FFFFFF;border:3px solid #DB2570;border-radius:22px;padding:22px 24px;box-shadow:6px 6px 0 #221E21}
.fr-toc p{margin:0 0 10px;font-weight:700;font-size:15px}
.fr-toc ol{margin:0;padding-left:20px;font-size:14px;line-height:2}
.fr-toc a{color:#111111}
.fr-prose{flex:999 1 560px;min-width:0;background:#FFFFFF;border-radius:22px;padding:40px;font-size:16px;line-height:1.7;color:#2B2B2B}
.fr-prose>*:first-child{margin-top:0}
.fr-prose h2{margin:34px 0 10px;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:26px;line-height:1.2;color:#111111;scroll-margin-top:24px}
.fr-prose h3{margin:22px 0 8px;font-size:18px;color:#111111}
.fr-prose p,.fr-prose ul,.fr-prose ol{margin:0 0 12px}
.fr-prose a{color:#C2185B}
.fr-prose .fr-box{padding:16px 20px;background:#FBEFF5;border-radius:14px}
.fr-prose .fr-lead{font-size:17px;color:#4D4D4D}
.fr-prose .fr-stand{font-weight:600;color:#111111}
.fr-imp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px 48px}
.fr-imp-grid h2{margin-top:0;font-size:22px}
.fr-imp-wide{grid-column:1 / -1;padding-top:24px;border-top:2px dashed rgba(219,37,112,.5)}
.fr-prose.is-imprint{border:3px solid #DB2570;box-shadow:8px 8px 0 #221E21}
@media (max-width:560px){.fr-page-main{padding:40px 18px 72px}.fr-prose{padding:24px}}
