/*
Theme Name: Primefit24
Description: Dunkles, responsives Studio-Theme für Primefit24 in Grafschaft-Gelsdorf.
Version: 1.22.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: primefit24
*/
:root{--bg:#141414;--panel:#202020;--muted:#bbb;--orange:#f47725;--line:#373737;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:#f8f8f8;font:17px/1.65 system-ui,sans-serif}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08;letter-spacing:-.04em}h1{font-size:clamp(3.3rem,8vw,7.7rem);margin-bottom:28px;font-weight:850}h2{font-size:clamp(2.5rem,5vw,4.7rem);margin-bottom:30px}h3{font-size:1.5rem}section{padding:96px 0;scroll-margin-top:30px}.wrap{width:min(1200px,90%);margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.8rem;color:var(--orange);font-weight:750;margin-bottom:22px}.muted{color:var(--muted)}.accent{color:var(--orange)}.header{border-bottom:1px solid var(--line);background:#141414f5;position:sticky;top:0;z-index:10}.bar{display:flex;gap:30px;align-items:center;min-height:86px;justify-content:space-between}.brand{text-decoration:none;font-size:1.7rem;font-weight:850;letter-spacing:-.05em;white-space:nowrap}.brand span{color:var(--orange)}.custom-logo{max-height:64px;width:auto}.nav{display:flex;gap:24px;align-items:center}.nav a{text-decoration:none;font-size:.9rem}.nav a:hover{color:var(--orange)}button,.button{font:inherit;cursor:pointer}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:var(--orange);color:#171717;font-weight:750;padding:14px 23px;border:1px solid var(--orange);border-radius:3px;min-height:48px}.button.outline{background:transparent;border-color:#777;color:white}.actions{display:flex;gap:12px;flex-wrap:wrap}.menu-toggle{display:none;background:transparent;color:white;border:1px solid #666;padding:8px 14px}.hero{padding:0;position:relative;overflow:hidden;min-height:700px;display:flex;align-items:center}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111 5%,#111b 45%,#1111),linear-gradient(0deg,#141414,transparent 35%)}.hero-content{position:relative;z-index:1;padding:95px 0;max-width:800px}.hero p:not(.eyebrow){max-width:530px;color:#ddd;font-size:1.15rem}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;gap:20px}.stat strong{display:block;font-size:2rem;line-height:1.2}.stat span{color:var(--muted);font-size:.9rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split-photo{width:100%;height:480px;object-fit:cover;border-radius:4px}.features{list-style:none;padding:0}.features li{padding:15px 0;border-bottom:1px solid var(--line)}.features b{color:var(--orange);margin-right:15px}.panel{background:var(--panel)}.section-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.section-top p{max-width:350px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gallery a{overflow:hidden;border-radius:3px}.gallery img{width:100%;height:240px;object-fit:cover;transition:transform .3s}.gallery a:hover img{transform:scale(1.04)}.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:45px}.price-card{padding:35px;border:1px solid #444;background:#1c1c1c;border-radius:4px;position:relative}.price-card.featured{border-color:var(--orange)}.price{font-size:3.3rem;font-weight:800;letter-spacing:-.06em;line-height:1.3}.price small{font-size:1rem;letter-spacing:0;font-weight:400;color:#bbb}.price-card .button{width:100%;margin-top:22px}.price-note{margin:24px 0;color:#bbb;font-size:.9rem}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}details{border-bottom:1px solid #444;padding:20px 0}summary{cursor:pointer;font-weight:700}dl{margin:20px 0}dl>div{display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid #353535;padding:12px 0}dt{color:#ccc}dd{margin:0;white-space:nowrap}.hours{padding:35px;background:#292929;border-left:4px solid var(--orange)}.hours strong{font-size:1.3rem}.quote{padding:25px;border-left:2px solid var(--orange);margin:0;color:#ddd}.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.quote cite{display:block;color:#aaa;margin-top:20px;font-size:.9rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}input,textarea{font:inherit;width:100%;background:#181818;color:white;border:1px solid #555;padding:12px;margin:7px 0 18px;border-radius:3px}textarea{min-height:130px}label{display:block;font-size:.9rem}.consent{display:flex;gap:12px;align-items:start}.consent input{width:20px;height:20px;flex-shrink:0}.honeypot{position:absolute;left:-10000px}.footer{border-top:1px solid var(--line);padding:40px 0}.footer-row{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.footer a{font-size:.9rem}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:20px;z-index:100;background:black;padding:10px}.notice{padding:15px;border:1px solid var(--orange);margin-bottom:25px}.preview-banner{padding:8px 15px;background:#332317;font-size:.85rem;text-align:center}.legal-draft{color:#bbb;font-size:.9rem}.lightbox{padding:16px;background:#171717;border:1px solid #555;color:white;max-width:min(1100px,95vw);max-height:95vh}.lightbox::backdrop{background:#000d}.lightbox img{max-height:72vh;margin:auto;object-fit:contain}.lightbox form{text-align:right}.lightbox button{background:transparent;color:white;border:1px solid #777;padding:8px 16px;margin-bottom:12px}.lightbox-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:10px}
@media(max-width:850px){.nav{gap:15px}.nav .button{display:none}.split,.contact-grid{grid-template-columns:1fr;gap:35px}.hero{min-height:620px}.gallery{grid-template-columns:repeat(2,1fr)}.pricing{gap:12px}.price-card{padding:22px}.price{font-size:2.7rem}.quotes{grid-template-columns:1fr}}
@media(max-width:620px){body{font-size:16px}section{padding:65px 0}.bar{min-height:74px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:#202020;padding:22px 5%;flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav .button{display:flex}.hero{min-height:620px}.hero-content{padding:65px 0}.hero-photo{object-position:65% center}.stats{grid-template-columns:1fr;gap:20px}.stat{display:flex;align-items:center;justify-content:space-between;gap:15px}.stat strong{font-size:1.65rem}.pricing,.details-grid{grid-template-columns:1fr}.gallery img{height:170px}.section-top{display:block}.split-photo{height:310px}.hours{padding:25px}.price-card{padding:30px}.price{font-size:3.3rem}.actions .button{width:100%}dl>div{gap:15px}.footer-row{display:block}.footer-row>div{margin-bottom:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.legal-page{padding-top:65px;padding-bottom:65px;max-width:900px}.legal-page h1{font-size:clamp(2.5rem,6vw,4rem)}.legal-page h2{font-size:1.5rem;letter-spacing:-.02em;margin-top:35px;margin-bottom:15px}

.button.trial{background:#fff;border-color:#fff;color:#171717}.nav a.button.trial:hover{color:#171717;background:#eee}

/* Mitgliedschaft ist auch bei geschlossenem mobilen Menü sichtbar. */
.header .brand{order:1;flex-shrink:0}.header .nav{order:2}.header-membership{order:3;font-size:.875rem;line-height:1.3;flex-shrink:0;text-align:center}.menu-toggle{order:4;flex-shrink:0}
@media(max-width:1050px){.bar{gap:12px;min-height:80px}.menu-toggle{display:block}.header-membership{margin-left:auto;max-width:220px;padding:12px}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:#202020;padding:22px 5%;flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav .button{display:flex}.header .custom-logo{max-height:64px;width:auto}}
@media(max-width:380px){.bar{gap:8px}.header-membership{font-size:.875rem;padding:10px 8px;flex-shrink:1;min-width:0}.menu-toggle{font-size:.875rem;padding:8px 10px}.header .custom-logo{max-height:54px}}

.price-card{border-color:var(--orange)}

.pricing{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}

/* Vier Tarife: zwei Spalten, auf dem Handy untereinander. */
.pricing{grid-template-columns:repeat(2,minmax(0,1fr))}.price-card{display:flex;flex-direction:column}.price-card .button{margin-top:auto}.price-card .muted{margin-bottom:24px}@media(max-width:620px){.pricing{grid-template-columns:1fr}}

/* Zusätzliche Rechtslinks im Menü umbrechen. */
@media(min-width:1051px){.nav{flex-wrap:wrap;justify-content:flex-end;gap:10px 18px}}

/* V19: locally rendered social links and secondary-page logo. */
.pf-social{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.pf-social a{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:10px 13px;border:1px solid #626262;border-radius:6px;text-decoration:none;color:#f8f8f8;line-height:1.2}
.pf-social a:hover{border-color:var(--orange);color:var(--orange)}
.pf-social svg{width:22px;height:22px;flex-shrink:0}
.pf-secondary-header .bar>.brand{order:2;margin-left:auto;max-width:48%}
.pf-secondary-header .bar>.brand .custom-logo{max-width:100%;object-fit:contain}
.pf-secondary-header .bar>a:not(.brand){order:1}
@media(max-width:380px){.pf-social{gap:8px}.pf-social a{padding:10px}.pf-secondary-header .bar{gap:16px}}

/* V20: centered logo and circular social links. */
.pf-footer-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0}
.pf-footer-brand{display:block;margin:0 0 16px}
.pf-footer-brand .custom-logo{width:auto;height:auto;max-height:90px;max-width:180px;object-fit:contain}
.pf-footer-tagline{margin:0 0 24px}
.pf-social{justify-content:center;flex-wrap:nowrap;gap:16px;margin:0 0 28px}
.pf-social a{display:flex;justify-content:center;align-items:center;flex:0 0 50px;width:50px;height:50px;min-height:50px;padding:0;border-radius:50%;background:#202020;border:1px solid #555;transition:color .15s,border-color .15s,background .15s}
.pf-social a:hover,.pf-social a:focus-visible{color:var(--orange);border-color:var(--orange);background:#292019}
.pf-social svg{width:23px;height:23px}
.pf-footer-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 22px;line-height:1.5}
.pf-footer-legal a{color:#ccc;text-underline-offset:4px}
.pf-footer-legal a:hover{color:white}
@media(max-width:620px){.footer{padding:36px 0}.pf-footer-tagline{font-size:.9rem}.pf-footer-legal{gap:12px 18px}.pf-footer-legal a:last-child{flex-basis:100%}}

/* V21: compact gallery, shared benefits and first-visit answers. */
.gallery-more{border:0;padding:0;margin-top:24px}
.gallery-more>summary{display:list-item;list-style-position:inside;width:fit-content;margin:auto;padding:12px 20px;border:1px solid #777;border-radius:4px;color:#fff}
.gallery-more[open]>summary{margin-bottom:24px}
.included{margin:28px 0 0;padding:24px;border:1px solid #494039;background:#201c19;border-radius:4px}
.included h3{font-size:1.1rem;letter-spacing:0;margin-bottom:16px}
.included ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;gap:12px 24px;padding:0;margin:0}
.included li:before{content:'✓';color:var(--orange);margin-right:10px}
.faq{max-width:900px}.faq summary{line-height:1.5;padding-right:12px}.faq-answer{padding-top:18px;color:#ccc;max-width:760px}.faq-answer p:last-child{margin-bottom:0}
.pf-download-page{min-height:45vh}
@media(max-width:620px){.included{padding:20px}.included ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;font-size:.9rem}}

/* V23: studio symbols and compact tariff comparison. */
.features li{display:flex;align-items:flex-start;gap:14px;padding:14px 0;line-height:1.55}
.feature-icon{width:24px;height:24px;flex:0 0 24px;margin-top:2px;color:var(--orange)}
.features li span{min-width:0}
.pricing{gap:18px;margin-top:28px;align-items:stretch}
.price-card{padding:24px;gap:0;min-height:0}
.price-card .eyebrow{margin-bottom:10px}
.price-card h3{font-size:1.35rem;margin-bottom:14px}
.price-card .price{font-size:clamp(2.6rem,5vw,3.1rem);margin:0 0 20px;line-height:1.15}
.price-card .tariff-terms{font-size:.9rem;line-height:1.5;margin:0 0 18px}
.price-card .tariff-button,.price-card .tariff-button:visited{background:var(--orange);color:#171717;border:1px solid var(--orange);width:100%;min-height:48px;padding:12px 18px;margin-top:auto;font-weight:750}
.price-card .tariff-button:hover{background:#ff8b3f;border-color:#ff8b3f;color:#171717}
@media(max-width:620px){.pricing{gap:16px}.price-card{padding:22px}.price-card .price{font-size:2.8rem}.price-card h3{margin-bottom:12px}}

/* V24: local partner logos, offer patch, on-site tickets and check-in. */
.pf-partner-strip{background:#1c1c1c;border-bottom:1px solid var(--line)}
.pf-partner-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:0;padding:14px 0}
.pf-partner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:52px;padding:6px 18px;text-decoration:none;border-right:1px solid #444}
.pf-partner:last-child{border-right:0}.pf-partner img{width:100%;max-width:155px;height:40px;object-fit:contain;filter:brightness(0) invert(1)}
.pf-partner span{font-size:.65rem;line-height:1.2;color:#ccc;white-space:nowrap}.pf-partner:hover{background:#292929}
.pf-offer{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px 0}
.pf-offer-facts{display:flex;gap:40px;flex-wrap:wrap}.pf-offer-facts>div{display:flex;gap:16px;align-items:center}.pf-offer-facts svg{width:36px;height:36px;flex:0 0 36px;fill:none;stroke:var(--orange);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.pf-offer-facts p{margin:0}.pf-offer-facts strong{display:block;font-size:1.75rem;line-height:1.2}.pf-offer-facts span{display:block;color:#bbb;font-size:.9rem}
.pf-offer-price{display:flex;flex-direction:column;align-items:center;gap:24px;padding:12px}.pf-price-patch{display:flex;flex-direction:column;align-items:center;justify-content:center;width:280px;max-width:100%;aspect-ratio:1;border-radius:50%;background:var(--orange);color:#111;text-align:center;text-decoration:none;transform:rotate(-7deg);line-height:1.3;font-weight:700;padding:18px;box-shadow:0 8px 24px #0003}.pf-patch-label{text-transform:uppercase;font-size:1rem;margin-bottom:10px}.pf-price-patch strong{white-space:nowrap;letter-spacing:-.055em;font-size:2.8rem;line-height:1.15}.pf-price-patch strong small{font-size:.95rem;letter-spacing:0}.pf-patch-term{border-top:1px solid #1116;margin-top:12px;padding-top:12px;font-size:.9rem}.pf-price-patch:hover{background:#ff8b3f}.pf-offer-note{font-size:.75rem;line-height:1.5;color:#ccc;text-align:center;margin:0;max-width:350px}
.pf-tickets{margin:42px 0;padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pf-tickets>h3{font-size:2rem}.pf-ticket-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pf-ticket{display:flex;flex-direction:column;align-items:flex-start;padding:24px;border:1px solid #555;border-radius:6px;background:#1c1c1c}.pf-ticket h4{font-size:2.8rem;margin:0 0 18px;line-height:1.2}.pf-ticket h4 span{display:block;font-size:1rem;font-weight:500;color:#ccc;margin-top:8px}.pf-ticket p{font-size:.95rem}.pf-ticket .eyebrow{font-size:.8rem}.pf-ticket-total{color:#ccc}.pf-onsite{margin-top:auto;padding:5px 10px;border:1px solid #555;border-radius:20px;font-size:.8rem;color:#ddd}.pf-ticket-hours{margin:24px 0 16px;color:#ccc}
.pf-partner-large{margin:28px 0 36px;border:1px solid #444;border-radius:6px;background:#181818;padding:20px 0}.pf-partner-large img{height:50px}.pf-checkin{max-width:880px}.pf-checkin ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding-left:22px}.pf-checkin li::marker{color:var(--orange);font-weight:800}.pf-checkin li p{color:#bbb;font-size:.95rem;margin:8px 0 0}
@media(max-width:620px){.pf-partner-row{padding:9px 0}.pf-partner{padding:5px 7px;min-height:45px}.pf-partner img{height:28px}.pf-partner span{font-size:8px}.pf-offer{gap:12px;padding:26px 0}.pf-offer-price{padding:6px;gap:20px}.pf-offer-facts{flex-direction:column;gap:26px}.pf-offer-facts>div{gap:8px}.pf-offer-facts svg{width:26px;height:26px;flex-basis:26px}.pf-offer-facts strong{font-size:1.15rem}.pf-offer-facts span{font-size:.75rem}.pf-price-patch{width:210px;padding:10px}.pf-patch-label{font-size:.65rem;margin-bottom:6px}.pf-price-patch strong{font-size:clamp(1.25rem,5.5vw,2rem)}.pf-price-patch strong small{font-size:.65rem}.pf-price-patch>span:not(.pf-patch-label){font-size:.7rem}.pf-patch-term{margin-top:7px;padding-top:7px}.pf-offer-note{font-size:.65rem}.pf-ticket-grid{grid-template-columns:1fr}.pf-checkin ol{grid-template-columns:1fr;gap:20px}.pf-partner-large{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 0}.pf-partner-large .pf-partner:nth-child(2){border-right:0}.pf-partner-large img{height:44px}.pf-partner-large span{font-size:.7rem}}

/* V27: first visit and concise trial information */
.hero .pf-trial-note{font-size:.88rem!important;line-height:1.6;margin:18px 0 0;color:#ddd;max-width:560px}
.pf-start-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;counter-reset:visit;padding:0;margin:36px 0}
.pf-start-steps li{counter-increment:visit;border-top:2px solid var(--orange);padding:24px 0 0}
.pf-start-steps li:before{content:counter(visit);display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--orange);color:#141414;font-weight:800;margin-bottom:18px}
.pf-start-steps strong{display:block;font-size:1.2rem;line-height:1.35;margin-bottom:12px}.pf-start-steps p{color:var(--muted);margin-bottom:0}
.pf-trial-intro{border-top:1px solid var(--line);padding-top:30px;margin-top:30px}.pf-trial-intro p{max-width:720px}
@media(max-width:760px){.pf-start-steps{grid-template-columns:1fr;gap:22px}.pf-start-steps li{padding-top:20px}.pf-start-steps li:before{float:left;margin-right:14px}.pf-start-steps p{clear:both;padding-top:4px}}

/* V28: short effects, no hidden content and no perpetual animations. */
@keyframes pf-reveal{from{opacity:.75;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes pf-patch-arrive{from{transform:rotate(-13deg) scale(.94)}to{transform:rotate(-7deg) scale(1)}}
.pf-enter{animation:pf-reveal .75s cubic-bezier(.22,.61,.36,1) both}.pf-patch-enter{animation:pf-patch-arrive 1s cubic-bezier(.22,.61,.36,1) both}
.review-summary{margin:0 0 34px}.review-summary a{display:inline-block;padding:16px 22px;border:1px solid var(--orange);border-radius:4px;text-decoration:none;color:#fff;background:#1c1c1c}.review-summary a:hover{background:#292929}.review-summary strong{color:var(--orange)}
.price-card{transition:box-shadow .2s ease,border-color .2s ease}
.price-card:focus-within{border-color:var(--orange);box-shadow:0 6px 20px #0004}
@media(hover:hover) and (pointer:fine){.price-card:hover{border-color:var(--orange);box-shadow:0 8px 24px #0005}.price-card:hover h3{color:var(--orange)}}
.button:active{filter:brightness(.9)}
.pf-scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;z-index:100;pointer-events:none}
body.admin-bar .pf-scroll-progress{top:32px}
.pf-back-top{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));right:20px;width:46px;height:46px;border:1px solid var(--orange);border-radius:50%;background:#202020;color:var(--orange);font-size:25px;line-height:1;z-index:20;box-shadow:0 4px 16px #0005}
.pf-back-top[hidden]{display:none}.pf-back-top:hover{background:#303030}
.lightbox img{touch-action:pan-y pinch-zoom}
@media(max-width:782px){body.admin-bar .pf-scroll-progress{top:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pf-enter,.pf-patch-enter{animation:none}.price-card,.gallery img{transition:none}.gallery a:hover img{transform:none}}

/* V32: informational pages use the same navigation, typography and booking links. */
.pf-info-container{padding-top:28px;padding-bottom:70px}
.pf-breadcrumb{font-size:.85rem;color:var(--muted);margin-bottom:48px;overflow-wrap:anywhere}
.pf-breadcrumb a{color:#fff}
.pf-info-article{max-width:1000px;margin:auto}
.pf-info-article h1{font-size:clamp(2.2rem,5.4vw,4.7rem);max-width:950px;overflow-wrap:break-word;hyphens:auto}
.pf-info-body>p,.pf-info-body>ul,.pf-info-body>ol{max-width:800px}
.pf-info-lead{font-size:1.15rem;color:#ddd;line-height:1.7}
.pf-info-body h2{font-size:clamp(1.6rem,3.2vw,2.6rem);margin:54px 0 22px;overflow-wrap:break-word;hyphens:auto}
.pf-info-body h3{font-size:1.2rem;line-height:1.35;margin-bottom:8px}
.pf-info-body p{color:#ccc}
.pf-info-body .button{margin:8px 12px 8px 0;max-width:100%;text-align:center;white-space:normal}
.pf-info-steps{padding-left:26px}
.pf-info-steps li{padding-left:8px;margin:24px 0}
.pf-info-steps li::marker{color:var(--orange);font-weight:800}
.pf-info-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 30px;padding-left:24px}
.pf-info-benefits li::marker{color:var(--orange)}
.pf-info-body .hours{margin-top:40px;max-width:800px}
.pf-info-body .hours h2{margin-top:0}
.pf-info-body .gallery{margin-top:26px}
.pf-partner-large .pf-partner span{white-space:normal;text-align:center}
.pf-info-body .pf-partner span{font-size:.8rem;color:#ddd}
.pf-info-related{display:flex;flex-wrap:wrap;gap:16px 28px;border-top:1px solid var(--line);padding-top:30px;margin:60px auto 0;max-width:1000px}
.pf-info-more{margin:26px 0 0}
.pf-footer-info{display:flex;flex-wrap:wrap;gap:14px 24px;margin:22px 0}
.pf-footer-info:empty{display:none}
@media(max-width:620px){.pf-breadcrumb{margin-bottom:32px}.pf-info-body .hours{padding:22px}.pf-info-benefits{grid-template-columns:1fr}.pf-info-body .button{width:100%;margin-right:0}.pf-info-body .pf-partner-large{padding:18px 0}.pf-info-body .hours dl>div{flex-wrap:wrap;gap:4px 16px}.pf-info-lead{font-size:1.05rem}}

/* V35: approved hero. Original photo, separate soft shading, live text. */
.hero--right{min-height:0;align-items:flex-start;background:#141414}
.hero--right .hero-photo{opacity:1;object-position:46% center}
.hero--right:after{pointer-events:none;background:linear-gradient(90deg,rgba(17,17,17,.04) 0%,rgba(17,17,17,.14) 25%,rgba(17,17,17,.43) 58%,rgba(17,17,17,.76) 100%),linear-gradient(0deg,#141414 0%,rgba(20,20,20,.58) 12%,rgba(20,20,20,0) 34%)}
.hero--right .hero-content{max-width:none;width:100%;padding:28px 0 34px}
.hero--right .pf-hero-intro{width:70%;margin-left:auto;text-align:right}
.hero--right .eyebrow{margin:0 0 18px auto;max-width:none}
.hero--right h1{font-size:clamp(3.3rem,7.6vw,7rem);margin-bottom:22px}
.hero--right .pf-hero-description{width:75%;max-width:340px;margin-left:auto}
.hero--right .pf-hero-description p{font-size:1.15rem;line-height:1.55;max-width:none;margin:0 0 14px;color:#f0f0f0;text-shadow:0 1px 3px #0006}
.hero--right .pf-hero-description p:last-child{margin-bottom:0}
.hero--right .pf-hero-booking{margin:100px 0 0 auto;max-width:590px;text-align:left}
.hero--right .pf-hero-booking .actions .button{width:100%}
.hero--right .pf-trial-details{padding-top:18px}
.hero--right .pf-trial-details p{font-size:.9rem;line-height:1.55;max-width:none;color:#d5d5d5}
.hero--right .pf-trial-condition{margin:0 0 14px}
.hero--right .pf-trial-hours-label{margin:0 0 5px}
.hero--right .pf-trial-hours{list-style:none;display:flex;flex-wrap:wrap;gap:4px 24px;padding:0;margin:0;font-size:.95rem;color:#eee}
.hero--right .pf-trial-hours li{white-space:nowrap}
@media(max-width:850px){
 .hero--right .pf-hero-intro{width:100%}
 .hero--right .pf-hero-booking{max-width:none;margin-top:clamp(90px,24vw,180px)}
 .hero--right .hero-content{padding:20px 0 28px}
 .hero--right h1{font-size:clamp(3rem,11.5vw,5.8rem);line-height:1.04}
 .hero--right .eyebrow{font-size:clamp(.62rem,2.2vw,.8rem);letter-spacing:.12em;margin-bottom:16px}
 .hero--right .pf-hero-description{width:62%;max-width:320px}
 .hero--right .pf-hero-description p{font-size:clamp(.92rem,3.3vw,1.1rem)}
}
@media(max-width:380px){.hero--right .pf-trial-hours{flex-direction:column;gap:3px}.hero--right .pf-hero-booking .button{font-size:.93rem;padding-left:10px;padding-right:10px}}

/* V37: approved typography and trial information; photo/soft shading from V36. */
.button.trial{background:var(--orange);border-color:var(--orange);color:#171717}
.button.trial:hover,.nav a.button.trial:hover{background:#ff8b3f;border-color:#ff8b3f;color:#171717}
.hero--right{min-height:760px;min-height:max(760px,calc(100svh - 160px))}
.hero--right>.wrap{align-self:stretch;margin-top:0;margin-bottom:0}
.hero--right .hero-content{display:flex;flex-direction:column;min-height:760px;min-height:max(760px,calc(100svh - 160px));padding:24px 0 18px}
.hero--right .pf-hero-intro{margin-bottom:60px}
.hero--right .pf-hero-booking{margin:auto 0 0 auto;width:100%;max-width:none;padding-top:32px}
.pf-hero-followup{padding-top:22px;padding-bottom:26px}
.pf-hero-followup .pf-trial-details p{margin:0 0 10px;color:#ccc;font-size:.9rem;line-height:1.55}
.pf-hero-followup .pf-trial-independent{color:#f8f8f8!important;margin-bottom:20px!important}
.pf-hero-followup .pf-trial-hours-label{margin-bottom:5px!important}
.pf-hero-followup .pf-trial-hours{list-style:none;display:flex;flex-wrap:wrap;gap:5px 24px;padding:0;margin:0;color:#eee}
.pf-hero-followup .pf-trial-hours li{white-space:nowrap}
.pf-trial-callout{margin:22px 0;padding:20px 24px;background:#24201c;border-left:4px solid var(--orange);border-radius:3px;max-width:850px}
.pf-trial-callout h2{font-size:1.3rem;margin-bottom:12px;letter-spacing:-.02em;line-height:1.3}
.pf-trial-callout p{margin:0;line-height:1.65}
.pf-trial-callout strong{color:#fff}
@media(max-width:850px){
 .hero--right{min-height:650px;min-height:max(650px,calc(100svh - 145px))}
 .hero--right .hero-content{min-height:650px;min-height:max(650px,calc(100svh - 145px));padding:18px 0 14px}
 .hero--right .pf-hero-intro{width:100%;margin-bottom:150px}
 .hero--right h1{font-size:clamp(2.65rem,10.8vw,5.8rem);margin-bottom:22px}
 .hero--right .pf-hero-description p{font-size:clamp(.9rem,3.1vw,1.1rem);line-height:1.5;margin-bottom:18px}
 .hero--right .pf-hero-booking{margin-top:auto;padding-top:28px;max-width:none}
}
@media(max-width:380px){.pf-hero-followup .pf-trial-hours{flex-direction:column}.pf-trial-callout{padding:18px}}

/* V38: clear navigation, compact desktop hero and an earlier tariff overview. */
.header:not(.pf-secondary-header) .brand img{width:auto;height:72px;max-height:72px;max-width:110px;object-fit:contain}
.header:not(.pf-secondary-header) .bar{gap:20px;min-height:94px}
@media(min-width:1051px){
 .header .nav{flex-wrap:nowrap;gap:16px;justify-content:center;min-width:0}
 .header .nav a{white-space:nowrap;font-size:.9rem}
 .header-membership{padding:14px 18px}
}
@media(min-width:1051px) and (max-width:1180px){.header:not(.pf-secondary-header) .bar{gap:12px}.header .nav{gap:11px}.header .nav a{font-size:.82rem}.header-membership{font-size:.82rem;padding:12px}}
@media(min-width:851px){
 .hero--right,.hero--right .hero-content{min-height:660px}
 .hero--right .hero-content{padding:28px 0 26px}
 .hero--right .hero-photo{object-position:46% 65%}
 .hero--right .pf-hero-intro{width:60%;margin-bottom:28px}
 .hero--right h1{font-size:clamp(3.8rem,6vw,5.7rem);line-height:1.02;margin-bottom:24px}
 .hero--right .pf-hero-description{width:100%;max-width:380px}
 .hero--right .pf-hero-description p{font-size:1.25rem;line-height:1.55;color:#fff;margin-bottom:20px}
 .hero--right .pf-hero-booking{max-width:460px;padding-top:24px}
 .hero--right .pf-hero-booking .button{padding:16px 20px}
}
main>section{padding-top:72px;padding-bottom:72px}
#studio{padding-bottom:32px}
.pf-studio-summary{max-width:1200px}
.pf-studio-summary h2{font-size:clamp(2.3rem,4.4vw,3.6rem);max-width:900px}
.pf-studio-summary>div>p.muted{max-width:750px}
.pf-studio-summary .features{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin-bottom:0}
.pf-studio-summary .features a{text-decoration:underline;text-underline-offset:4px}
.pf-home-gallery{padding-top:40px}
.pf-home-gallery .gallery a{background:#181818;text-decoration:none;min-width:0}
.pf-gallery-caption{display:block;padding:12px 14px;color:#eee;font-size:.95rem}
.pf-gallery-hint{display:none}
#kontakt .hours{margin-top:30px;scroll-margin-top:110px}
@keyframes pf-reveal{from{transform:translateY(8px)}to{transform:translateY(0)}}
.pf-enter{animation:pf-reveal .9s cubic-bezier(.22,.61,.36,1) both;opacity:1}
.pf-patch-enter{animation-duration:1.2s}
@media(max-width:1050px){.header:not(.pf-secondary-header) .bar{gap:12px;min-height:80px}.header:not(.pf-secondary-header) .brand img{height:64px;max-height:64px;max-width:90px}.header .nav{max-height:calc(100svh - 90px);overflow-y:auto}}
@media(max-width:620px){
 main>section{padding-top:52px;padding-bottom:52px}
 main>.hero--right{padding:0}
 .pf-studio-summary .features{grid-template-columns:1fr}
 .pf-home-gallery{padding-top:24px}
 .pf-home-gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:12px;overscroll-behavior-x:contain}
 .pf-home-gallery-track>a{flex:0 0 86%;scroll-snap-align:start}
 .pf-home-gallery-track img{height:220px}
 .pf-gallery-hint{display:block;color:#bbb;font-size:.85rem;margin:6px 0 0}
 .hero--right{padding:0}
}
@media(max-width:380px){.header:not(.pf-secondary-header) .brand img{height:54px;max-height:54px;max-width:76px}.header:not(.pf-secondary-header) .bar{gap:8px}}
@media(prefers-reduced-motion:reduce){.pf-enter,.pf-patch-enter{animation:none}.pf-home-gallery-track{scroll-behavior:auto}}
main>.hero--right{padding:0}

/* V39: member access and staffed reception hours are distinct. */
.pf-hours-overview h3{font-size:1.1rem;line-height:1.35;letter-spacing:-.01em;margin:0 0 12px}
.pf-hours-overview p{font-size:.95rem;line-height:1.6;color:#ddd;margin:0 0 12px}
.pf-hours-overview .pf-hours-24{color:var(--orange);font-size:1.65rem;line-height:1.2;font-weight:800}
.pf-hours-staff{border-top:1px solid #555;margin-top:22px;padding-top:22px}
.pf-hours-overview dl{margin:12px 0 18px}
.pf-hours-overview .pf-hours-online{margin:18px 0 0;color:#fff}
.pf-hours-overview dl>div{flex-wrap:wrap;gap:4px 16px}
@media(min-width:1051px) and (max-width:1180px){
 .menu-toggle{display:block}
 .header .nav{display:none;position:absolute;top:100%;left:0;right:0;background:#202020;padding:22px 5%;flex-direction:column;align-items:stretch;max-height:calc(100svh - 100px);overflow-y:auto}
 .header .nav.open{display:flex}
 .header .nav a{font-size:1rem}
 .header-membership{margin-left:auto}
}

/* V40: card sales use the same two-row presentation as reception hours. */
.pf-ticket-hours-card{background:#292929;border-left:4px solid var(--orange);padding:24px 28px;margin:24px 0;max-width:640px}
.pf-ticket-hours-card h4{font-size:1.1rem;line-height:1.4;margin:0 0 12px;color:#fff}
.pf-ticket-hours-card dl{margin:0}
.pf-ticket-hours-card dl>div{flex-wrap:wrap;gap:4px 16px}
.pf-ticket-hours-card dd{font-weight:700;color:#fff}
.pf-ticket-hours-card dl>div:last-child{border-bottom:0}
@media(max-width:620px){.pf-ticket-hours-card{padding:20px}.pf-ticket-hours-card h4{font-size:1rem}}

/* V44: the photograph fills the hero again. Shading comes from the right,
   without a separate black area or a vertical fade above the photograph. */
.hero--right:after{background:linear-gradient(90deg,rgba(17,17,17,.03) 0%,rgba(17,17,17,.10) 25%,rgba(17,17,17,.46) 58%,rgba(17,17,17,.84) 100%)}
@media(max-width:850px){
 .hero--right .hero-photo{top:0;bottom:0;height:100%;object-fit:cover;object-position:25% center;-webkit-mask-image:none;mask-image:none}
 .hero--right:after{background:linear-gradient(90deg,rgba(17,17,17,.02) 0%,rgba(17,17,17,.08) 25%,rgba(17,17,17,.44) 58%,rgba(17,17,17,.84) 100%)}
 .hero--right .pf-hero-intro{margin-bottom:170px}
}

/* V45: compact mobile hero exposes the left-hand machines in the original
   photograph. The photograph stays full-height; only its right side is cropped. */
@media(max-width:850px){
 .hero--right,.hero--right .hero-content{min-height:78vw}
 .hero--right .hero-content{padding:10px 0}
 .hero--right .hero-photo{object-position:left center}
 .hero--right .pf-hero-intro{margin-bottom:0}
 .hero--right h1{font-size:clamp(1.5rem,7vw,2.4rem);line-height:1.02;margin-bottom:10px}
 .hero--right .pf-hero-description{width:68%;max-width:320px}
 .hero--right .pf-hero-description p{font-size:clamp(.82rem,3vw,1.05rem);line-height:1.35;margin-bottom:8px}
 .hero--right .pf-hero-description p:last-child{margin-bottom:0}
 .hero--right .pf-hero-booking{margin-top:auto;padding-top:10px}
 .hero--right .pf-hero-booking .button{min-height:48px;padding:10px 12px;font-size:clamp(.78rem,3.4vw,.95rem);line-height:1.3}
}
@media(max-width:350px){
 .hero--right h1{font-size:1.3rem;margin-bottom:8px}
 .hero--right .pf-hero-description p{font-size:.75rem;line-height:1.3;margin-bottom:6px}
}
