
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}
body{font-family:Inter,sans-serif;background:#f7f7f5;color:#111;overflow-x:hidden}
.wrap{width:min(1200px,calc(100% - 40px));margin:auto}
#loader{position:fixed;inset:0;background:#fff;display:grid;place-items:center;z-index:9999;transition:.5s}
.loader-ring{width:70px;height:70px;border:5px solid #ddd;border-top:5px solid #111;border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.nav{position:sticky;top:0;background:rgba(255,255,255,.85);backdrop-filter:blur(15px);z-index:99;border-bottom:1px solid #eee}
.navin{height:82px;display:flex;align-items:center;justify-content:space-between}
.logo{font-size:34px;font-weight:900;letter-spacing:-2px}
nav{display:flex;gap:28px}nav a{text-decoration:none;color:#444;font-weight:700}
.actions{display:flex;gap:12px}
.fb,.call,.btn{text-decoration:none;border-radius:18px;font-weight:800;transition:.2s}
.fb{background:#1877f2;color:#fff;padding:14px 18px}
.call{background:#111;color:#fff;padding:14px 20px}
.hero{position:relative;padding:90px 0 120px;overflow:hidden}
.blur{position:absolute;border-radius:999px;filter:blur(60px);opacity:.4}
.b1{width:400px;height:400px;background:#dbeafe;top:0;right:10%}
.b2{width:300px;height:300px;background:#dcfce7;bottom:0;left:5%}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.badge{display:inline-block;background:#fff;padding:12px 18px;border-radius:999px;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.07);margin-bottom:24px}
h1{font-size:84px;line-height:.92;letter-spacing:-5px}
.lead{font-size:21px;color:#666;max-width:620px;margin-top:28px}
.hero-btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.btn{padding:17px 24px}
.dark{background:#111;color:#fff}.white{background:#fff;color:#111;border:1px solid #ddd}.blue{background:#1877f2;color:#fff}.ghost{border:1px solid rgba(255,255,255,.3);color:#fff}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.stats div{background:rgba(255,255,255,.8);padding:22px;border-radius:24px;backdrop-filter:blur(10px)}
.stats strong{display:block;font-size:26px}
.stats span{color:#666;font-size:13px;font-weight:700}
.hero-image-wrap{position:relative}
.hero-image-wrap img{width:100%;height:680px;object-fit:cover;border-radius:40px;box-shadow:0 40px 90px rgba(0,0,0,.18)}
.floatcard{position:absolute;background:rgba(255,255,255,.92);padding:18px 20px;border-radius:20px;box-shadow:0 20px 40px rgba(0,0,0,.1);top:30px;left:-20px;font-weight:800}
.floatcard.bottom{top:auto;bottom:30px;left:auto;right:-20px}
.section{padding:100px 0}.alt{background:#fff}
h2{font-size:58px;letter-spacing:-3px;margin-bottom:40px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;padding:34px;border-radius:30px;box-shadow:0 15px 35px rgba(0,0,0,.06);transition:.2s}
.card h3{font-size:24px;margin-bottom:10px}
.card p{color:#666}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gallery img{width:100%;height:380px;object-fit:cover;border-radius:30px;transition:.3s}
.gallery img:hover{transform:scale(1.03)}
.slider{overflow:hidden}
.track{display:flex;gap:22px;width:max-content;animation:slide 65s linear infinite}
.slider:hover .track{animation-play-state:paused}
@keyframes slide{to{transform:translateX(-50%)}}
.review{width:340px;background:#fff;padding:30px;border-radius:30px;box-shadow:0 15px 35px rgba(0,0,0,.06)}
.stars{color:#eab308;margin-bottom:16px}
.review p{font-size:18px;color:#444;margin-bottom:18px}
.cta{background:#111}
.ctabox{text-align:center;color:#fff;background:linear-gradient(135deg,#111,#1e293b);padding:80px 30px;border-radius:40px;box-shadow:0 30px 70px rgba(0,0,0,.25)}
.ctabox p{color:#bbb;font-size:19px}
.center{justify-content:center}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px}
.info{display:grid;gap:16px}
.info div{background:#fff;padding:18px;border-radius:18px;font-weight:700}
.mapbox{background:#f7f7f5;padding:18px;border-radius:30px;box-shadow:0 15px 35px rgba(0,0,0,.05)}
.maphead{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.maphead a{background:#111;color:#fff;text-decoration:none;padding:12px 16px;border-radius:14px;font-weight:800}
iframe{width:100%;height:430px;border:0;border-radius:24px}
footer{background:#111;color:#bbb;padding:35px 0}
.foot{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;font-size:14px}
.foot a{color:#ddd;text-decoration:none}
.cookie{position:fixed;left:20px;right:20px;bottom:20px;background:#fff;padding:24px;border-radius:28px;box-shadow:0 30px 70px rgba(0,0,0,.18);display:none;justify-content:space-between;gap:20px;z-index:120}
.cookie.show{display:flex}
.cookie p{color:#666;margin-top:8px;max-width:800px}
.cookiebuttons{display:flex;gap:10px;align-items:center}
.cookiebuttons button,.prefbtns button{border:0;padding:14px 18px;border-radius:16px;font-weight:800;cursor:pointer}
.accept{background:#111;color:#fff}
.prefs{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;place-items:center;z-index:130}
.prefs.show{display:grid}
.prefsbox{width:min(500px,calc(100% - 30px));background:#fff;padding:34px;border-radius:30px}
.prefsbox h3{font-size:34px;margin-bottom:24px}
.prefsbox label{display:flex;gap:12px;padding:14px 0;font-weight:700}
.prefbtns{margin-top:20px}
.mobilebar{display:none}
@media(max-width:900px){
nav,.actions{display:none}
.hero-grid,.contact-grid,.cards,.gallery{grid-template-columns:1fr}
.cards{display:grid}
h1{font-size:54px}
h2{font-size:42px}
.hero-image-wrap img,.gallery img{height:360px}
.stats{grid-template-columns:1fr}
.cookie{flex-direction:column;bottom:85px}
.cookiebuttons{width:100%;flex-wrap:wrap}
.cookiebuttons button{flex:1}
body{padding-bottom:80px}
.mobilebar{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px solid #ddd;z-index:100}
.mobilebar a{text-decoration:none;text-align:center;padding:14px;border-radius:14px;color:#fff;font-weight:800}
.mobilebar a:nth-child(1){background:#111}
.mobilebar a:nth-child(2){background:#22c55e}
.mobilebar a:nth-child(3){background:#1877f2}
}


/* DentKat polish fixes */
.badge {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
}

.available-dot {
  width: 10px;
  height: 10px;
  display: inline-block;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 7px rgba(34,197,94,.14), 0 0 22px rgba(34,197,94,.6);
  flex: 0 0 auto;
}

.gallery img {
  object-fit: cover;
}

.gallery img:nth-child(3) {
  object-fit: contain !important;
  background: #f8fafc;
  padding: 14px;
}

footer {
  background:
    radial-gradient(circle at 20% 0%, rgba(59,130,246,.22), transparent 28%),
    radial-gradient(circle at 80% 20%, rgba(34,197,94,.16), transparent 30%),
    linear-gradient(135deg, #05070d, #111827 55%, #0f172a);
  color: rgba(255,255,255,.78);
  padding: 38px 0;
  border-top: 1px solid rgba(255,255,255,.12);
}

.premium-foot {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 14px;
  letter-spacing: .01em;
}

.premium-foot strong {
  color: #fff;
  font-weight: 900;
}

.premium-foot a {
  color: rgba(255,255,255,.9);
  text-decoration: none;
  font-weight: 800;
  padding: 8px 10px;
  border-radius: 999px;
  transition: .2s ease;
}

.premium-foot a:hover {
  background: rgba(255,255,255,.1);
  color: #fff;
  transform: translateY(-1px);
}

.foot-sep {
  opacity: .35;
}

.legal-ultra {
  background:
    radial-gradient(circle at 12% 10%, rgba(219,234,254,.9), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(220,252,231,.75), transparent 32%),
    #f8f7f4;
}

.legal-back {
  margin-bottom: 28px;
  display: inline-flex;
}

.legal-card {
  max-width: 980px;
  margin: 0 auto;
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(18px);
  border: 1px solid rgba(17,24,39,.08);
  border-radius: 38px;
  padding: clamp(28px, 5vw, 58px);
  box-shadow: 0 35px 90px rgba(17,24,39,.12);
}

.legal-card h1 {
  font-size: clamp(42px, 6vw, 72px);
  line-height: .95;
  letter-spacing: -.07em;
  margin: 20px 0;
}

.legal-card h2 {
  font-size: 24px;
  letter-spacing: -.03em;
  margin: 34px 0 10px;
}

.legal-card p {
  color: #475569;
  font-size: 17px;
  margin: 10px 0;
}

.legal-lead {
  font-size: 20px !important;
  color: #334155 !important;
}

.legal-note {
  margin-top: 34px !important;
  background: #f8fafc;
  border: 1px solid rgba(17,24,39,.08);
  border-radius: 20px;
  padding: 18px;
  font-size: 15px !important;
}

@media(max-width:640px) {
  .premium-foot {
    flex-direction: column;
    text-align: center;
    gap: 8px;
  }
  .foot-sep {
    display: none;
  }
  .gallery img:nth-child(3) {
    padding: 8px;
  }
}
