
/* EasyBookNow Public UI Polish
   Einheitlicher professioneller Look für öffentliche Seiten ohne Sprachübersetzung. */
:root{
  --ebn-public-primary:#2563eb;
  --ebn-public-primary-dark:#1d4ed8;
  --ebn-public-accent:#06b6d4;
  --ebn-public-ink:#0f172a;
  --ebn-public-text:#334155;
  --ebn-public-muted:#64748b;
  --ebn-public-line:#e2e8f0;
  --ebn-public-soft:#f8fafc;
  --ebn-public-card:#ffffff;
  --ebn-public-radius:24px;
  --ebn-public-shadow:0 24px 70px rgba(15,23,42,.10);
}
html{scroll-behavior:smooth;}
body:not(.ebn-admin-ui){
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  background:
    radial-gradient(circle at 8% 0%,rgba(37,99,235,.08),transparent 34rem),
    radial-gradient(circle at 92% 6%,rgba(6,182,212,.09),transparent 32rem),
    #fff;
}
body:not(.ebn-admin-ui) .navbar,
body:not(.ebn-admin-ui) .topbar{
  backdrop-filter:blur(18px) saturate(150%);
  border-bottom:1px solid rgba(226,232,240,.78)!important;
  box-shadow:0 10px 34px rgba(15,23,42,.045);
}
body:not(.ebn-admin-ui) .btn{
  border-radius:999px!important;
  font-weight:800!important;
}
body:not(.ebn-admin-ui) .btn-primary,
body:not(.ebn-admin-ui) .btn-success{
  border-color:transparent!important;
  background:linear-gradient(135deg,var(--ebn-public-primary),var(--ebn-public-primary-dark))!important;
  box-shadow:0 16px 34px rgba(37,99,235,.24)!important;
}
body:not(.ebn-admin-ui) .btn-primary:hover,
body:not(.ebn-admin-ui) .btn-success:hover{
  transform:translateY(-1px);
  box-shadow:0 20px 44px rgba(37,99,235,.30)!important;
}
body:not(.ebn-admin-ui) .btn-outline-primary,
body:not(.ebn-admin-ui) .btn-outline-secondary{
  background:#fff!important;
  border-color:#bfdbfe!important;
  color:var(--ebn-public-primary)!important;
}
body:not(.ebn-admin-ui) .card,
body:not(.ebn-admin-ui) .card-box,
body:not(.ebn-admin-ui) .feature-card,
body:not(.ebn-admin-ui) .pricing-card,
body:not(.ebn-admin-ui) .studio-card,
body:not(.ebn-admin-ui) .public-studio-card,
body:not(.ebn-admin-ui) .booking-card,
body:not(.ebn-admin-ui) .review-card,
body:not(.ebn-admin-ui) .contact-card,
body:not(.ebn-admin-ui) .hero-card{
  border-radius:var(--ebn-public-radius)!important;
  border-color:rgba(226,232,240,.88)!important;
  box-shadow:0 18px 54px rgba(15,23,42,.07)!important;
}
body:not(.ebn-admin-ui) .card:hover,
body:not(.ebn-admin-ui) .feature-card:hover,
body:not(.ebn-admin-ui) .studio-card:hover,
body:not(.ebn-admin-ui) .public-studio-card:hover{
  transform:translateY(-3px);
  box-shadow:0 28px 80px rgba(15,23,42,.11)!important;
}
body:not(.ebn-admin-ui) h1,
body:not(.ebn-admin-ui) h2,
body:not(.ebn-admin-ui) h3{
  color:var(--ebn-public-ink);
  letter-spacing:-.04em;
}
body:not(.ebn-admin-ui) h1{font-weight:900;}
body:not(.ebn-admin-ui) h2{font-weight:900;}
body:not(.ebn-admin-ui) .lead,
body:not(.ebn-admin-ui) .text-muted{color:var(--ebn-public-muted)!important;}
body:not(.ebn-admin-ui) .form-control,
body:not(.ebn-admin-ui) .form-select{
  border-radius:16px!important;
  border-color:#dbe4f0!important;
  padding:.82rem 1rem!important;
}
body:not(.ebn-admin-ui) .form-control:focus,
body:not(.ebn-admin-ui) .form-select:focus{
  border-color:#93c5fd!important;
  box-shadow:0 0 0 .25rem rgba(37,99,235,.10)!important;
}
body:not(.ebn-admin-ui) footer,
body:not(.ebn-admin-ui) .footer{
  border-top:1px solid rgba(226,232,240,.12);
}
/* Öffentliche Studio- und Buchungsseiten */
.ebn-studio-hero,
.studio-hero,
.booking-hero,
.public-hero{
  position:relative;
  overflow:hidden;
}
.ebn-studio-hero::before,
.studio-hero::before,
.booking-hero::before,
.public-hero::before{
  content:"";
  position:absolute;
  inset:-10rem -12rem auto auto;
  width:32rem;
  height:32rem;
  border-radius:999px;
  background:radial-gradient(circle,rgba(37,99,235,.16),transparent 68%);
  pointer-events:none;
}
@media (max-width:767.98px){
  body:not(.ebn-admin-ui) h1{font-size:clamp(2rem,10vw,2.75rem)!important;line-height:1.05!important;}
  body:not(.ebn-admin-ui) .section{padding-top:3.5rem!important;padding-bottom:3.5rem!important;}
  body:not(.ebn-admin-ui) .container{padding-left:1rem;padding-right:1rem;}
}
@media print{
  .ebn-cookie-banner,.ebn-cookie-modal,.share-box,.floating-cta{display:none!important;}
  body{background:#fff!important;}
}
