/* Mobile-first Ergänzung V23.17. Nur Gestaltung: keine API-, Cache- oder Buchungslogik. */
.public-app-tabs{display:none}
@media (min-width:761px) and (max-width:1100px){
 .container{width:min(100% - 48px,1000px)}
 header.site-header{height:88px;min-height:88px}
 header .brand-logo{width:64px;height:64px}
 header .brand-with-logo{min-width:0}
 .main-nav{top:100%}
 .menu-toggle{width:48px;height:48px}
 .hero-home-simple .hero-content{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:20px;padding-top:35px;padding-bottom:48px}
 .hero-home-simple .hero-copy .display{font-size:clamp(43px,5.4vw,65px)}
 .hero-ring{max-width:360px}
 .hero-home-simple{min-height:0}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .form-field input,.form-field select,.form-field textarea{font-size:16px}
}
@media (max-width:760px){
 html{scroll-padding-top:86px}
 body{padding-bottom:calc(86px + env(safe-area-inset-bottom));overflow-x:clip}
 .container{width:min(100% - 30px,620px)}
 header.site-header{height:74px;min-height:74px;background:rgba(255,252,250,.96)}
 header .header-inner{gap:8px;min-width:0}
 header .brand-with-logo{min-width:0;flex:1 1 auto;gap:8px}
 header .brand-logo{width:clamp(43px,12vw,52px);height:clamp(43px,12vw,52px);flex:none}
 header .brand-text{min-width:0}
 header .brand-script{font-size:clamp(17px,4.5vw,21px);margin-left:8px}
 header .brand-main{font-size:clamp(13px,3.7vw,18px);letter-spacing:.045em;white-space:nowrap}
 header .brand-heart{font-size:18px}
 header .menu-toggle{width:46px;height:46px;flex:none;border-radius:14px}
 header .main-nav{top:100%;padding:12px 20px 21px;max-height:calc(100dvh - 175px);overflow-y:auto}
 header .main-nav a{min-height:46px;display:flex;align-items:center;font-size:16px}
 .section{padding:48px 0}
 .section-sm{padding:38px 0}
 .page-hero{padding:46px 0 41px}
 .page-hero .display,.display{font-size:clamp(36px,10.8vw,52px);overflow-wrap:anywhere}
 .section-title{font-size:clamp(33px,9vw,43px)}
 .eyebrow{letter-spacing:.18em;font-size:10px;gap:8px}
 .eyebrow::before{width:23px}
 .hero-home-simple{min-height:0}
 .hero-home-simple .hero-content{display:flex;flex-direction:column;gap:12px;padding-top:37px;padding-bottom:30px}
 .hero-copy{padding-bottom:0}
 .hero-copy .eyebrow{margin-bottom:16px}
 .hero-home-simple .hero-copy .display{font-size:clamp(39px,11.2vw,61px);line-height:1.08;margin:8px 0 17px}
 .hero-copy .display em{white-space:normal}
 .lead{font-size:15px;line-height:1.7}
 .hero-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:21px}
 .hero-actions .btn{white-space:normal;font-size:12px;letter-spacing:0;padding:12px 10px;min-height:50px;gap:6px;line-height:1.2;text-align:center}
 .hero-actions .btn .icon{width:15px;height:15px}
 .hero-visual-circle{padding:8px 10px;margin:4px auto 0;width:100%;max-width:340px}
 .hero-ring{max-width:min(75vw,300px);padding:10px}
 .hero-badge{width:90px;height:90px;left:0;bottom:8px}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .service-content{padding:17px 12px 16px}
 .service-card img{height:auto;aspect-ratio:5/4}
 .service-title{font-size:clamp(20px,5.5vw,25px)}
 .service-content p{font-size:12px;line-height:1.6;min-height:0}
 .gallery-row{gap:7px}
 .gallery-grid{gap:10px}
 .gallery-tile img{height:auto;aspect-ratio:1/1;object-fit:cover}
 .gallery-caption{display:block;padding:11px;font-size:17px}
 .gallery-caption small{display:block;margin-top:3px}
 .contact-aside,.form-card{padding:20px 16px;border-radius:18px}
 .form-layout{grid-template-columns:1fr;gap:15px}
 .form-field input,.form-field select,.form-field textarea{font-size:16px;min-height:48px}
 .form-field textarea{min-height:130px}
 .form-card .btn,.booking-band .btn{min-height:50px}
 .footer-top,.footer-bottom{gap:20px}
 .footer-nav,.legal-nav{gap:14px 20px}
 .footer-nav a,.legal-nav a{display:inline-flex;min-height:40px;align-items:center;font-size:13px}
 .public-app-tabs{position:fixed;z-index:110;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
   left:max(9px,env(safe-area-inset-left));right:max(9px,env(safe-area-inset-right));
   bottom:calc(7px + env(safe-area-inset-bottom));padding:7px 4px;
   border:1px solid #e7d1ce;border-radius:19px;background:rgba(255,252,250,.97);
   box-shadow:0 12px 32px rgba(88,57,57,.21);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
 .public-app-tabs a{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;
   min-width:0;min-height:57px;padding:6px 0;border-radius:13px;color:#806e6a;
   font:700 10px/1.2 var(--sans);text-decoration:none;touch-action:manipulation}
 .public-app-tabs svg{width:23px;height:23px;flex:none}
 .public-app-tabs a[aria-current=page]{color:#875447;background:#f7e7e3}
 .public-app-tabs a:focus-visible{outline:3px solid #9e7251;outline-offset:1px}
 .main-nav.open{z-index:111}
 .custom-page-copy,.booking-band-inner,.footer-top,.detail-card,.gallery-detail{min-width:0}
}
@media (max-width:380px){
 .container{width:calc(100% - 24px)}
 .public-app-tabs{left:max(5px,env(safe-area-inset-left));right:max(5px,env(safe-area-inset-right));padding:5px 2px}
 .public-app-tabs a{font-size:9px;gap:3px}
 .public-app-tabs svg{width:21px;height:21px}
 .hero-actions .btn{font-size:11px;gap:4px}
 .hero-home-simple .hero-copy .display{font-size:clamp(35px,10vw,43px)}
 .service-grid{grid-template-columns:1fr}
 .service-card img{aspect-ratio:16/8}
 .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){
 .public-app-tabs *, .hero-copy,.hero-visual,.hero-badge{animation:none!important;transition:none!important}
}
@media print{.public-app-tabs{display:none!important}body{padding-bottom:0!important}}
