/* Original approved layout; only responsive type is enlarged. */
.preview-pages{display:inline-flex;align-items:center;gap:5px;font-size:12px;}
.preview-pages select{background:#191a17;color:white;border:1px solid #8c8c86;padding:4px;font:inherit;max-width:115px;}
#rs-consent-dialog .consent-close{float:right;border:0;background:transparent;color:inherit;width:44px;height:44px;font-size:28px;cursor:pointer;}
#rs-consent-dialog .consent-actions button{min-height:44px;font-size:16px;}
#rs-consent-dialog .consent-storage-message{padding:12px;background:#f4f2ed;}
@media(max-width:1100px){
 :root body #main p:not(.eyebrow):not(.hero-studio-locations):not(.hero-service-description):not(.mobile-hero-summary):not(.plan-amount):not(.cheeky-line):not(.home-price-options p):not(.home-plan-grid p):not(.home-unit-price),:root body #main li{font-size:1.1875rem!important;line-height:1.55!important;}
 :root body #main .hero-copy .hero-service-description,:root body #main .hero-copy .mobile-hero-summary{font-size:1.3125rem!important;line-height:1.45!important;}
 :root body #main .hero-copy .mobile-hero-summary>span{font-size:1.125rem!important;line-height:1.5!important;}
 :root body #main .hero-copy .hero-studio-locations{font-size:1rem!important;line-height:1.5!important;}
 :root body #main .hero-actions a,:root body #main .hero-actions .outline a{font-size:1.0625rem!important;line-height:1.35!important;}
 :root body #main summary{font-size:1.1875rem!important;line-height:1.4!important;}
 :root body #main .section-menu .choice-label{font-size:1.5rem!important;line-height:1.2!important;}
 :root body #main input,:root body #main textarea,:root body #main select{font-size:1.0625rem!important;}
 :root body #main .wp-block-button__link,:root body #main button{font-size:1.0625rem!important;line-height:1.35!important;}
 :root body #main .home-plan-grid>div>span{font-size:1.125rem!important;line-height:1.5!important;}
 :root body #main .home-plan-grid>div>p{font-size:1.625rem!important;line-height:1.3!important;}
 :root body #main .home-plan-grid>div>p small{font-size:1rem!important;}
 :root body #main .membership-plan h3 span,:root body #main .plan-amount span{font-size:1.125rem!important;line-height:1.5!important;}
 :root body #main .reviews-concise .review-card blockquote,:root body #main .intro-review blockquote{font-size:1.125rem!important;line-height:1.55!important;}
 :root body #main .review-next-step .returning-booking-link{font-size:1rem!important;line-height:1.5!important;}
 :root body .mobile-nav nav a{font-size:1.125rem!important;line-height:1.4!important;}
 :root body .site-header .lang a{font-size:1rem!important;min-height:44px;display:inline-flex;align-items:center;}
}
@media(min-width:761px) and (max-width:1100px){
 :root body #main h2{font-size:2.5rem!important;line-height:1.2!important;}
 :root body #main h3:not(.membership-plan h3){font-size:1.625rem!important;line-height:1.25!important;}
}
@media(max-width:760px){
 :root body #main .campaign-hero .mobile-hero-summary{font-size:1.1875rem!important;line-height:1.5!important;}
 :root body #main .campaign-hero .mobile-hero-summary>span{font-size:1.0625rem!important;}
 :root body #main .campaign-hero .hero-studio-locations{font-size:1rem!important;}
 :root body #main h2{font-size:2rem!important;line-height:1.2!important;}
 :root body #main h3:not(.membership-plan h3){font-size:1.5rem!important;line-height:1.25!important;}
 :root body #main .wp-block-button__link,:root body #main button{font-size:1.0625rem!important;}
 :root body #main .campaign-hero .hero-copy h1{font-size:clamp(1.75rem,9.1vw,2.8125rem)!important;line-height:1.18!important;}
 :root:lang(de) body #main .campaign-hero .hero-copy h1{font-size:clamp(1.125rem,6.25vw,1.9375rem)!important;}
 :root body #main .campaign-hero .hero-funnel-narrow{font-size:.78em!important;}
 :root:lang(de) body #main .campaign-hero .hero-funnel-narrow{font-size:.80em!important;}
 :root body #main small,:root body .commerce-footer p,:root body .commerce-footer nav a{font-size:1rem!important;line-height:1.5!important;}
}
/* The same readable legal pages are used in the preview and the static export. */
:root body #main .legal-document{max-width:1120px!important;margin:0 auto!important;padding:70px 32px 90px!important;box-sizing:border-box;}
:root body #main .legal-document h1{font-size:clamp(36px,4vw,56px)!important;line-height:1.12!important;letter-spacing:-.035em!important;margin:12px 0 24px!important;overflow-wrap:normal!important;}
:root body #main .legal-document .legal-lead{max-width:700px;font-size:21px!important;line-height:1.45!important;margin:0 0 26px!important;}
.legal-page-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 32px;}
.legal-page-nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid #b2b4a7;border-radius:5px;text-decoration:none;box-sizing:border-box;font-size:16px;}
.legal-page-nav a[aria-current=page]{background:#dbe3c8;border-color:#dbe3c8;}
.legal-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:48px;align-items:start;}
.legal-toc{position:sticky;top:135px;padding:0 0 20px;border-bottom:1px solid #cbc6bf;}
.legal-toc strong{display:block;font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px;}
.legal-toc summary{font-size:16px;font-weight:600;cursor:pointer;min-height:44px;line-height:1.5;padding:10px 0;box-sizing:border-box;}
.legal-toc a{display:block;padding:10px 0;font-size:16px;line-height:1.45;text-decoration:none;}
.legal-body{min-width:0;}
:root body #main .legal-document .legal-body section{padding:0 0 32px!important;scroll-margin-top:140px;}
:root body #main .legal-document h2{font-size:27px!important;line-height:1.25!important;letter-spacing:-.02em!important;margin:0 0 16px!important;text-transform:none!important;}
:root body #main .legal-document h3{font-size:21px!important;line-height:1.35!important;margin:24px 0 12px!important;}
:root body #main .legal-document .legal-body p,:root body #main .legal-document li{font-size:18px!important;line-height:1.65!important;margin:0 0 16px!important;overflow-wrap:anywhere;}
.legal-body a{text-decoration:underline;text-underline-offset:4px;}
.legal-body ul,.legal-body ol{padding-left:24px;}
.legal-review-note{background:#f4f2ed;border-left:3px solid #b0b899;padding:20px 24px;margin:0 0 32px;line-height:1.6;font-size:16px;}
.legal-review-note summary{cursor:pointer;min-height:32px;font-weight:600;}
.legal-review-note p{margin:12px 0 0;}
.legal-version{font-size:14px!important;letter-spacing:.02em;color:#555;margin-bottom:16px;}
.legal-body button.rs-cookie-settings{font:inherit;padding:12px 18px;background:#dbe3c8;border:1px solid #abb896;border-radius:4px;min-height:48px;cursor:pointer;}
:root body footer .footer-bottom{align-items:center;gap:18px 26px;}
:root body footer .footer-bottom .rs-cookie-settings{font:inherit;font-size:14px;padding:10px 14px;min-height:44px;}
:root body footer .footer-mobile-links a{font-weight:400!important;}
.footer-legal-links{display:contents;}
@media(max-width:1100px){
 :root body .commerce-footer .footer-bottom a,:root body .commerce-footer .footer-bottom .rs-cookie-settings{font-size:1rem!important;line-height:1.5;}
 :root body .commerce-footer .footer-invitation>a,:root body .mobile-book{font-size:1.0625rem!important;}
}
@media(max-width:760px){
 :root body .commerce-footer .footer-legal-links{display:flex;flex:0 0 100%;flex-wrap:wrap;gap:0 18px;min-width:0;}
 :root body .commerce-footer .footer-legal-links>a{display:inline-flex;align-items:center;min-height:44px;}
 :root body .commerce-footer .footer-legal-links .rs-cookie-settings{flex:0 0 100%;width:100%;min-height:44px;margin:0;padding:8px 0;border:0;background:transparent;text-align:left;text-decoration:underline;text-underline-offset:4px;}
}
@media(max-width:900px){
 .legal-layout{grid-template-columns:1fr;gap:32px;}
 .legal-toc{position:static;display:block;}
 .legal-toc nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 24px;}
 .legal-toc strong{width:100%;}
 .legal-toc a{font-size:16px;}
}
@media(max-width:734px){
 :root body #main .legal-document{padding:38px 22px 60px!important;}
 :root body #main .legal-document .legal-body p,:root body #main .legal-document li{font-size:19px!important;line-height:1.6!important;}
 :root body #main .legal-document h2{font-size:26px!important;}
 .legal-page-nav{gap:6px;}
 .legal-page-nav a{padding:8px 12px;font-size:15px;}
 .legal-review-note{padding:16px;}
 :root body footer .footer-bottom{gap:16px 24px;}
}
/* Deliberate hero lines keep both languages centred without splitting locations. */
@media(max-width:1100px){
 :root body #main .campaign-hero .hero-studio-locations{max-width:100%!important;text-align:center;}
 :root body #main .campaign-hero .hero-location-open,:root body #main .campaign-hero .hero-location-coming{display:block;}
 :root body #main .campaign-hero .hero-location-open>span,:root body #main .campaign-hero .hero-location-coming{white-space:nowrap;}
 :root body #main .campaign-hero .hero-location-separator{display:none;}
 :root body #main .campaign-hero .hero-location-coming{margin-top:3px;}
 :root body #main h2,:root body #main h3{word-break:normal;overflow-wrap:normal;text-wrap:balance;hyphens:none;}
 :root body #main .mobile-full-description{text-align:left;max-width:100%;letter-spacing:normal;word-spacing:normal;}
 :root body #main .mobile-full-description .hero-description-line{display:inline!important;white-space:normal!important;margin:0!important;}
 :root body #main .mobile-full-description .hero-description-line+.hero-description-line::before{content:' ';}
 :root body #main .community-intro-copy{min-width:0;}
}
@media(max-width:760px){
 :root body #main .campaign-hero .mobile-hero-summary{max-width:100%!important;}
 :root body #main .campaign-hero .mobile-hero-summary>.hero-summary-copy{font-size:1.1875rem!important;font-weight:400!important;line-height:1.5!important;margin-top:0!important;}
 :root body #main .campaign-hero .hero-summary-line{display:block;white-space:normal;text-wrap:balance;}
 :root body #main .campaign-hero .mobile-hero-summary>.hero-session-facts{font-size:1.0625rem!important;line-height:1.5!important;margin-top:14px!important;text-wrap:balance;}
 :root body #main .campaign-hero .hero-studio-locations{width:100%!important;max-width:100%!important;}
 :root body #main .intro-studios a{min-width:0;}
 :root body #main .intro-studios a strong{font-size:clamp(1rem,4.6vw,1.25rem);word-break:normal;overflow-wrap:normal;}
 :root body #main .return-links{display:flex;flex-wrap:wrap;gap:14px 24px;}
 :root body #main .return-links a{max-width:100%;white-space:normal;line-height:1.5;}
}
@media print{
 .site-header,.commerce-footer,.preview-bar,.mobile-book,.whatsapp-float,.legal-page-nav,.legal-toc,.legal-review-note{display:none!important;}
 .legal-layout{display:block!important;}
 :root body #main .legal-document{padding:0!important;max-width:none!important;}
 :root body #main .legal-document .legal-body section{break-inside:auto;}
 :root body #main .legal-document h2{break-after:avoid;}
}
/* Tablet columns need room for the larger bilingual text. */
@media(min-width:761px) and (max-width:1100px){
 :root body #main .reviews-concise .reviews-layout{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;}
 :root body #main .reviews-concise .reviews-layout>.review-card:last-child:nth-child(odd){grid-column:1 / -1;max-width:calc(50% - 10px);width:100%;justify-self:center;box-sizing:border-box;}
 :root body #main .section-menu .choice-label{display:flex!important;flex-direction:column!important;justify-content:center!important;min-height:3.6em!important;box-sizing:border-box;padding:10px 12px!important;white-space:normal!important;text-align:center;}
 :root body #main .section-menu .booking-word{display:block!important;}
}
@media(max-width:760px){
 :root body #main .intro-coming{text-wrap:balance;}
}
/* Compact intro label; portrait keeps two location rows, wider screens use one. */
@media(max-width:760px){
 :root:lang(de) body #main .campaign-hero .hero-actions .outline a{font-size:.9375rem!important;letter-spacing:0!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;padding:14px 12px!important;}
 :root:lang(de) body #main .campaign-hero .hero-actions .outline .mobile-cta-label{font-size:inherit!important;line-height:1.4!important;white-space:normal!important;}
}
@media(min-width:761px), (min-width:600px) and (orientation:landscape){
 :root body #main .campaign-hero .hero-studio-locations{width:auto!important;max-width:100%!important;text-wrap:balance;}
 :root body #main .campaign-hero .hero-location-open,:root body #main .campaign-hero .hero-location-coming{display:inline!important;white-space:nowrap;margin-top:0!important;}
 :root body #main .campaign-hero .hero-location-separator{display:inline!important;}
}

/* Long legal titles must wrap within portrait screens. */
@media(max-width:760px){
  :root body #main .legal-document h1{overflow-wrap:anywhere!important;hyphens:auto!important;word-break:normal!important;}
}

/* Reserve a clear resting area for WhatsApp below the footer links. */
@media(min-width:761px){
  :root body .commerce-footer .footer-bottom{padding-bottom:100px!important;}
  :root body .commerce-footer .social-icons a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;}
}
