/*
Theme Name: Bergische MKG
Theme URI: https://bergische-mkg.de/
Author: Zahnzentrum Wipperfürth
Author URI: https://bergische-mkg.de/
Description: Maßgeschneidertes Elementor-Free-Theme für das Zahnzentrum Wipperfürth mit Einrichtungsassistent, Bildbibliothek und SEO-Grundlagen.
Version: 1.2.3
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: bergische-mkg
*/

:root {
  --mkg-ink: #103d5b;
  --mkg-ink-deep: #082c46;
  --mkg-blue: #1078b8;
  --mkg-aqua: #dff3f4;
  --mkg-paper: #ffffff;
  --mkg-muted: #5d6c75;
  --mkg-line: #dbe4e7;
  --mkg-shadow: 0 18px 48px rgba(12, 55, 78, 0.11);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  color: var(--mkg-ink-deep);
  background: var(--mkg-paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
}
a { color: inherit; }
img { max-width: 100%; height: auto; }
.elementor-heading-title,
.mkg-plain-page h1 { overflow-wrap: anywhere; hyphens: auto; }
a:focus-visible,
button:focus-visible { outline: 3px solid #55b8df; outline-offset: 3px; }
.mkg-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.mkg-skip-link {
  position: fixed;
  z-index: 99999;
  top: 10px;
  left: 10px;
  padding: 10px 14px;
  color: #fff;
  background: var(--mkg-ink-deep);
  border-radius: 8px;
  transform: translateY(-160%);
}
.mkg-skip-link:focus { transform: translateY(0); }

.mkg-topline { color: #e8f6f8; background: var(--mkg-ink-deep); font-size: 0.88rem; }
.mkg-topline__inner { display: flex; justify-content: space-between; gap: 24px; padding: 9px 0; }
.mkg-topline__items { display: flex; flex-wrap: wrap; gap: 24px; }
.mkg-topline a { text-decoration: none; }
.mkg-topline a:hover { color: #fff; }

.mkg-site-header {
  position: sticky;
  z-index: 999;
  top: 0;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid rgba(219, 228, 231, 0.9);
  backdrop-filter: blur(14px);
}
.admin-bar .mkg-site-header { top: 32px; }
.mkg-nav { display: flex; align-items: center; justify-content: space-between; min-height: 82px; gap: 25px; }
.mkg-brand { display: flex; align-items: center; min-width: 190px; text-decoration: none; }
.mkg-brand img { display: block; width: 176px; }
.mkg-nav__links { display: flex; align-items: center; gap: 24px; font-size: 0.94rem; font-weight: 650; }
.mkg-nav__links a { text-decoration: none; }
.mkg-nav__links > a:not(.mkg-button):hover { color: var(--mkg-blue); }
.mkg-mobile-nav { display: none; }
.mkg-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 21px;
  color: #fff;
  background: var(--mkg-blue);
  border-radius: 999px;
  font-weight: 750;
  text-decoration: none;
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
.mkg-button:hover { color: #fff; background: #0b639a; transform: translateY(-2px); box-shadow: 0 10px 20px rgba(16, 120, 184, 0.22); }

.mkg-page-content { min-height: 58vh; }
.mkg-hero-image img {
  display: block;
  width: 100%;
  height: 470px !important;
  object-fit: cover;
  object-position: center;
}
.mkg-home-image img { height: 520px !important; }
.mkg-hero-image--left img { object-position: 35% center; }
.mkg-plain-page { padding-block: 72px; }
.mkg-plain-page h1 { margin-top: 0; color: var(--mkg-ink-deep); font-size: clamp(2.2rem, 5vw, 4rem); line-height: 1.08; }
.mkg-plain-page a { color: var(--mkg-blue); }
.mkg-not-found { min-height: 58vh; padding-block: 100px; text-align: center; }
.mkg-not-found p { color: var(--mkg-muted); }

.mkg-site-footer { padding: 34px 0; color: #b5d0db; background: var(--mkg-ink-deep); font-size: 0.88rem; }
.mkg-footer__inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.mkg-footer__links { display: flex; flex-wrap: wrap; gap: 20px; }
.mkg-footer__links a { text-decoration: none; }
.mkg-footer__links a:hover { color: #fff; }

@media (max-width: 900px) {
  .mkg-hero-image img,
  .mkg-home-image img { height: 390px !important; }
  .mkg-nav__links > a:not(.mkg-button) { display: none; }
  .mkg-nav { gap: 16px; }
  .mkg-mobile-nav { display: block; }
  .mkg-mobile-nav summary {
    display: block;
    padding: 9px 13px;
    border: 1px solid var(--mkg-line);
    border-radius: 8px;
    color: #111;
    background: #eef8fc;
    cursor: pointer;
    font-weight: 700;
    list-style: none;
  }
  .mkg-mobile-nav summary::-webkit-details-marker { display: none; }
  .mkg-mobile-nav summary:focus-visible { outline: 3px solid #55b8df; outline-offset: 3px; }
  .mkg-mobile-nav__panel {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: grid;
    max-height: calc(100dvh - 110px);
    overflow-y: auto;
    padding: 12px max(20px, calc((100vw - 1180px) / 2)) 20px;
    border-bottom: 1px solid var(--mkg-line);
    background: #eef8fc;
    box-shadow: var(--mkg-shadow);
  }
  .mkg-mobile-nav__panel a {
    padding: 11px 0;
    border-bottom: 1px solid var(--mkg-line);
    color: #111;
    font-weight: 650;
    text-decoration: none;
  }
  .mkg-mobile-nav__panel a:last-child { border-bottom: 0; }
}

@media (max-width: 782px) {
  .admin-bar .mkg-site-header { top: 46px; }
}

@media (max-width: 600px) {
  .mkg-hero-image img,
  .mkg-home-image img { height: 330px !important; }
  .mkg-shell { width: min(100% - 28px, 1180px); }
  .mkg-topline__inner { justify-content: center; padding: 8px 0; }
  .mkg-topline__items { justify-content: center; gap: 6px 17px; }
  .mkg-topline__items span { display: none; }
  .mkg-topline__claim { display: none; }
  .mkg-nav { min-height: 70px; }
  .mkg-brand { min-width: 0; }
  .mkg-brand img { width: 150px; }
  .mkg-nav__links { display: none; }
  .mkg-button { min-height: 41px; padding-inline: 14px; font-size: 0.82rem; }
  .mkg-footer__inner { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 380px) {
  .mkg-shell { width: min(100% - 22px, 1180px); }
  .mkg-brand img { width: 132px; }
  .mkg-button { padding-inline: 11px; font-size: 0.78rem; }
  .mkg-topline__items { font-size: 0.8rem; }
}
