/* NOVARIS CLEAN – globale High-End-Veredelung
   Bewusst rein typografisch: Layout, Bildwelt, Reihenfolge und Interaktion bleiben unverändert. */

:root {
  --novaris-brass: #d8b968;
  --novaris-brass-light: #f0d98f;
  --novaris-paper: #fffdf8;
  --novaris-line: rgba(216, 185, 104, .42);
  --novaris-line-soft: rgba(216, 185, 104, .22);
}

/* Die gesamte Überschriften-Hierarchie erhält dieselbe warme Messing-Signatur. */
#root h1,
#root h2,
#root h3,
#root h4,
#root h5,
#root h6,
#root [role="heading"] {
  color: var(--novaris-brass) !important;
  text-shadow: 0 1px 0 rgba(255, 246, 211, .15), 0 8px 24px rgba(0, 0, 0, .34);
}

#root h1 em,
#root h1 span,
#root h2 em,
#root h2 span,
#root h3 em,
#root h3 span,
#root h4 em,
#root h4 span,
#root h5 em,
#root h5 span,
#root h6 em,
#root h6 span {
  color: inherit !important;
}

/* Fließtexte sind konsequent klarweiß, damit sie auf allen schwarzen Flächen sofort lesbar bleiben. */
#root p,
#root li,
#root dd,
#root td,
#root blockquote,
#root figcaption,
#root .prose {
  color: rgba(255, 253, 248, .94) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .38);
}

#root p a,
#root li a,
#root blockquote a,
#root main a:not([class*="novaris-global-whatsapp"]) {
  color: var(--novaris-brass-light) !important;
}

#root p a:hover,
#root li a:hover,
#root main a:not([class*="novaris-global-whatsapp"]):hover {
  color: #fff5ca !important;
}

/* Kleinere Orientierungselemente und Handlungsaufforderungen bleiben messingscharf. */
#root label,
#root small,
#root .novaris-services-premium-kicker,
#root .novaris-gallery-kicker,
#root .novaris-reviews-kicker,
#root .novaris-home-signature-kicker,
#root .novaris-editorial-meta,
#root .novaris-services-premium-request,
#root .novaris-journal-service-link,
#root .novaris-elite-btn,
#root button:not(#novaris-global-whatsapp) {
  color: var(--novaris-brass-light) !important;
}

/* Weiße Eingaben, damit Formulare ebenso klar und hochwertig wirken. */
#root input,
#root textarea,
#root select {
  color: var(--novaris-paper) !important;
}

#root input::placeholder,
#root textarea::placeholder {
  color: rgba(255, 253, 248, .60) !important;
}

/* Dezente goldene Linien verbinden Karten, Editorials und Informationsbereiche ohne das Layout anzutasten. */
#root hr,
#root .novaris-services-premium-card > div:last-child > div:last-child,
#root .novaris-services-premium-intro-inner,
#root .novaris-home-signature-inner,
#root .novaris-reviews-premium-section,
#root .novaris-gallery-premium-intro,
#root .novaris-editorial-section,
#root .novaris-trust-ledger {
  border-color: var(--novaris-line) !important;
}

#root .novaris-services-premium-card,
#root .novaris-reviews-premium-card,
#root .novaris-review-trio,
#root .novaris-gallery-premium-card,
#root .novaris-project-archive-card,
#root .novaris-editorial-card,
#root .novaris-contact-way,
#root .novaris-contact-service,
#root .novaris-job-card,
#root .novaris-trust-ledger {
  outline: 1px solid var(--novaris-line-soft);
  outline-offset: -1px;
}

#root .novaris-services-premium-card:hover,
#root .novaris-reviews-premium-card:hover,
#root .novaris-review-trio:hover,
#root .novaris-gallery-premium-card:hover,
#root .novaris-project-archive-card:hover,
#root .novaris-editorial-card:hover,
#root .novaris-contact-way:hover,
#root .novaris-contact-service:hover,
#root .novaris-job-card:hover {
  outline-color: rgba(240, 217, 143, .74);
}

/* Schmale ornamentale Abschlusslinie unter den großen Editorial-Überschriften. */
#root .novaris-services-premium-intro h2::after,
#root .novaris-gallery-intro-title::after,
#root .novaris-reviews-premium-intro h2::after,
#root .novaris-editorial-hero h1::after,
#root .novaris-home-signature h2::after {
  content: '';
  display: block;
  width: 3.25rem;
  height: 1px;
  margin-top: .9rem;
  background: linear-gradient(90deg, var(--novaris-brass-light), rgba(216, 185, 104, 0));
}

/* Auch auf kleinen Displays bleibt die Textwirkung hochwertig und glasklar. */
@media (max-width: 760px) {
  #root h1,
  #root h2,
  #root h3,
  #root h4,
  #root h5,
  #root h6,
  #root [role="heading"] {
    text-shadow: 0 1px 0 rgba(255, 246, 211, .12), 0 5px 16px rgba(0, 0, 0, .38);
  }

  #root p,
  #root li,
  #root dd,
  #root td,
  #root blockquote,
  #root figcaption {
    color: rgba(255, 253, 248, .96) !important;
  }
}

/* Verbindliche Drei-Farben-Signatur: keine zufälligen Grau-, Gelb- oder Akzenttöne mehr. */
#root [class*="text-gray"],
#root [class*="text-zinc"],
#root [class*="text-stone"],
#root [class*="text-neutral"],
#root [class*="text-slate"] {
  color: rgba(255, 253, 248, .94) !important;
}

#root [class*="text-yellow"],
#root [class*="text-amber"],
#root [class*="text-gold"],
#root [class*="text-orange"] {
  color: var(--novaris-brass-light) !important;
}

/* Marken- und Funktionsicons verwenden überall denselben hochwertigen Messington. */
#root main svg,
#root main .fa,
#root main [class^="fa-"],
#root main [class*=" fa-"],
#root footer svg,
#root footer .fa,
#root footer [class^="fa-"],
#root footer [class*=" fa-"] {
  color: var(--novaris-brass) !important;
}

/* Navigation und Footer werden Teil derselben Farbdramaturgie, nicht eigenständige Farbwelten. */
#root header nav a,
#root header button:not(#novaris-global-whatsapp),
#root .novaris-gallery-page-nav a,
#root footer a:not([href^="mailto:"]) {
  color: var(--novaris-brass-light) !important;
}

#root footer p,
#root footer li,
#root footer address,
#root footer span,
#root footer time {
  color: rgba(255, 253, 248, .90) !important;
}

#root p span,
#root li span,
#root blockquote span,
#root [class*="description"] span,
#root [class*="copy"] span {
  color: inherit !important;
}

#root hr {
  background-color: var(--novaris-line) !important;
}

/* Schlusskorrektur v3: sichtbarer Premium-Kontrast auf allen realen Komponenten. */
#root main h1,
#root main h2,
#root main h3,
#root main h4,
#root main h5,
#root main h6,
#root main [role="heading"] {
  color: #c6a15b !important;
}

#root main p,
#root main li,
#root main dd,
#root main td,
#root main blockquote,
#root main figcaption,
#root main address,
#root main .prose,
#root footer p,
#root footer li,
#root footer address {
  color: #ffffff !important;
}

#root main hr,
#root main [class*="border"],
#root footer [class*="border"] {
  border-color: rgba(198, 161, 91, .62) !important;
}

#root .novaris-services-premium-title,
#root .novaris-reviews-premium-author,
#root .novaris-gallery-title,
#root .novaris-gallery-intro-title,
#root .novaris-trust-ledger-title,
#root .novaris-job-card h3,
#root .novaris-editorial-card h3 {
  color: #c6a15b !important;
}

#root .novaris-services-premium-card > div:last-child > p,
#root .novaris-reviews-premium-copy,
#root .novaris-editorial-card p,
#root .novaris-job-card-copy,
#root .novaris-gallery-card-meta {
  color: #ffffff !important;
}

/* Mobile Live-Finish v4: exakte Kontrastkorrektur für Karteninhalt und Footer. */
body #root .novaris-services-premium-card > div:last-child > p,
body #root .novaris-services-premium-card > p,
body #root .novaris-services-premium-card p,
body #root .novaris-services-premium-detail,
body #root .novaris-services-premium-card [class*="description"] {
  color: #ffffff !important;
  opacity: 1 !important;
  font-weight: 500 !important;
}

body #root .novaris-services-premium-card > div:last-child > div:last-child {
  border-top-color: rgba(198, 161, 91, .74) !important;
}

body #root .novaris-services-premium-card {
  border-color: rgba(198, 161, 91, .64) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 244, 204, .035), 0 14px 30px rgba(0, 0, 0, .20) !important;
}

@media (max-width: 767px) {
  body.is-home-cleanup #root footer[data-loc="client/src/components/Footer.tsx:6"].novaris-mobile-footer-rebuild-active {
    border-top-color: rgba(198, 161, 91, .68) !important;
  }

  body.is-home-cleanup #root footer[data-loc="client/src/components/Footer.tsx:6"] .novaris-mobile-footer-rebuild,
  body.is-home-cleanup #root footer[data-loc="client/src/components/Footer.tsx:6"] .novaris-mobile-footer-intro,
  body.is-home-cleanup #root footer[data-loc="client/src/components/Footer.tsx:6"] .novaris-mobile-footer-contact p,
  body.is-home-cleanup #root footer[data-loc="client/src/components/Footer.tsx:6"] .novaris-mobile-footer-phone a[href^="tel:"],
  body.is-home-cleanup #root footer[data-loc="client/src/components/Footer.tsx:6"] .novaris-mobile-footer-legal p {
    color: #ffffff !important;
    opacity: 1 !important;
  }

  body.is-home-cleanup #root footer[data-loc="client/src/components/Footer.tsx:6"] .novaris-mobile-footer-contact h2,
  body.is-home-cleanup #root footer[data-loc="client/src/components/Footer.tsx:6"] .novaris-mobile-footer-contact i,
  body.is-home-cleanup #root footer[data-loc="client/src/components/Footer.tsx:6"] .novaris-mobile-footer-legal nav a {
    color: #c6a15b !important;
  }

  body.is-home-cleanup #root footer[data-loc="client/src/components/Footer.tsx:6"] .novaris-mobile-footer-legal {
    border-top-color: rgba(198, 161, 91, .54) !important;
  }

  body.is-home-cleanup #root footer[data-loc="client/src/components/Footer.tsx:6"] .novaris-mobile-footer-phone b {
    color: rgba(198, 161, 91, .88) !important;
  }
}

/* Audit-Fix v5: Startseiten-Leistungskarten – vorherige Inline-Graufarbe wird sichtbar weiß. */
body.is-home-cleanup #root p[data-loc="client/src/pages/Home.tsx:154"] {
  color: #ffffff !important;
  opacity: 1 !important;
  font-weight: 500 !important;
}

/* Audit-Fix v6: Die spezifische Startseitenregel wird bewusst mit ihrem vollständigen Kontext überstimmt. */
html.is-home-cleanup body #root section[data-loc="client/src/pages/Home.tsx:121"] p[data-loc="client/src/pages/Home.tsx:154"] {
  color: #ffffff !important;
  opacity: 1 !important;
  font-weight: 500 !important;
}

/* Die lange regionale Kennzahl bleibt in jedem verfügbaren Rasterfeld zentriert und sauber begrenzt. */
html.is-home-cleanup body #root .novaris-home-region-stat-value {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-wrap: balance;
}

/* Audit-Fix v7: Startseiten-Galerie – keine dekorativen Hintergrundraster mehr. */
@media (max-width: 767px) {
  html.is-home-cleanup body #root section[data-loc="client/src/pages/Home.tsx:189"]::before {
    display: none !important;
    opacity: 0 !important;
    background: none !important;
  }
}

/* Audit-Fix v8: Startseiten-Kennzahlen – ruhiger, dichter, ohne doppelte Raster- und Dekorlinien. */
@media (max-width: 767px) {
  html.is-home-cleanup body #root section[data-loc="client/src/pages/Home.tsx:168"].novaris-home-stats-premium {
    background: linear-gradient(145deg, #0a0a09 0%, #050505 100%) !important;
  }

  html.is-home-cleanup body #root section[data-loc="client/src/pages/Home.tsx:168"].novaris-home-stats-premium::before,
  html.is-home-cleanup body #root section[data-loc="client/src/pages/Home.tsx:168"].novaris-home-stats-premium::after,
  html.is-home-cleanup body #root section[data-loc="client/src/pages/Home.tsx:168"].novaris-home-stats-premium [data-loc="client/src/pages/Home.tsx:176"]::before {
    content: none !important;
    display: none !important;
    background: none !important;
  }

  html.is-home-cleanup body #root section[data-loc="client/src/pages/Home.tsx:168"] [data-loc="client/src/pages/Home.tsx:169"] {
    padding: 1.9rem 1rem 2.1rem !important;
    gap: .65rem !important;
  }

  html.is-home-cleanup body #root section[data-loc="client/src/pages/Home.tsx:168"] [data-loc="client/src/pages/Home.tsx:176"] {
    min-height: 0 !important;
    padding: 1.15rem .95rem 1.1rem !important;
    border-color: rgba(198, 161, 91, .42) !important;
    background: linear-gradient(145deg, rgba(20,18,14,.92), rgba(7,7,6,.98)) !important;
    box-shadow: inset 0 1px 0 rgba(255,244,207,.035) !important;
  }

  html.is-home-cleanup body #root section[data-loc="client/src/pages/Home.tsx:168"] [data-loc="client/src/pages/Home.tsx:177"] {
    font-size: clamp(2.05rem, 10vw, 2.48rem) !important;
    line-height: 1 !important;
    text-shadow: 0 3px 13px rgba(198,161,91,.14) !important;
  }

  html.is-home-cleanup body #root section[data-loc="client/src/pages/Home.tsx:168"] .novaris-home-region-stat-value {
    font-size: clamp(1.58rem, 7.3vw, 2.15rem) !important;
    line-height: 1.06 !important;
    letter-spacing: -.035em !important;
  }

  html.is-home-cleanup body #root section[data-loc="client/src/pages/Home.tsx:168"] [data-loc="client/src/pages/Home.tsx:180"] {
    margin-top: .42rem !important;
    color: rgba(255,255,255,.88) !important;
    font-size: .60rem !important;
    letter-spacing: .14em !important;
  }
}

/* Audit-Fix v9: Leistungsübersicht – klare CTA-Hierarchie. */
body #root .novaris-services-premium-card .novaris-services-premium-request,
body #root .novaris-services-premium-card .novaris-services-premium-request > span,
body #root .novaris-services-premium-card .novaris-services-premium-request svg {
  color: #ffffff !important;
  opacity: 1 !important;
}

/* Audit-Fix v10: Leistungs-CTAs – eine gemeinsame, responsive Premium-Zeile. */
body #root .novaris-services-premium-card > div:last-child > div:last-child {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .8rem !important;
}

body #root .novaris-services-premium-card .novaris-services-premium-detail,
body #root .novaris-services-premium-card .novaris-services-premium-request {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  min-height: 2.35rem !important;
  margin: 0 !important;
  align-items: center !important;
  white-space: nowrap !important;
}

body #root .novaris-services-premium-card .novaris-services-premium-request::after {
  content: none !important;
  display: none !important;
}

body #root .novaris-services-premium-card .novaris-services-premium-detail > span,
body #root .novaris-services-premium-card .novaris-services-premium-request > span {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: .42rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body #root .novaris-services-premium-card .novaris-services-premium-detail svg,
body #root .novaris-services-premium-card .novaris-services-premium-request svg {
  display: block !important;
  flex: 0 0 auto !important;
}

/* Audit-Fix v11: Intuitive Schließaktion im mobilen Menü. */
#novaris-mobile-menu-close {
  position: absolute !important;
  top: max(1.1rem, calc(env(safe-area-inset-top) + .55rem)) !important;
  right: max(1.1rem, calc(env(safe-area-inset-right) + 1.1rem)) !important;
  z-index: 2 !important;
  display: inline-flex !important;
  min-width: 3.2rem !important;
  min-height: 3.2rem !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .38rem !important;
  padding: .35rem .58rem !important;
  border: 1px solid rgba(214,183,104,.62) !important;
  border-radius: 999px !important;
  background: rgba(10,10,9,.88) !important;
  box-shadow: 0 0 0 1px rgba(255,245,213,.04) inset, 0 .45rem 1.4rem rgba(0,0,0,.35) !important;
  color: #f7e6ad !important;
  font-family: Raleway, Arial, sans-serif !important;
  font-size: .58rem !important;
  font-weight: 800 !important;
  letter-spacing: .11em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease !important;
}

#novaris-mobile-menu-close > span:first-child {
  display: block !important;
  margin-top: -.08rem !important;
  font-family: Arial, sans-serif !important;
  font-size: 1.75rem !important;
  font-weight: 300 !important;
  line-height: .8 !important;
}

#novaris-mobile-menu-close:hover,
#novaris-mobile-menu-close:focus-visible {
  border-color: #f7e6ad !important;
  background: rgba(214,183,104,.13) !important;
  color: #ffffff !important;
  outline: none !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 420px) {
  #novaris-mobile-menu-close { min-width: 3rem !important; min-height: 3rem !important; }
  #novaris-mobile-menu-close-label { display: none !important; }
}

/* Audit-Fix v12: X im mobilen Menü zwingend oben rechts – keine Breitenvererbung. */
html body #root [data-loc="client/src/components/Navbar.tsx:113"] > #novaris-mobile-menu-close {
  position: fixed !important;
  top: max(1.05rem, calc(env(safe-area-inset-top) + .55rem)) !important;
  right: max(1.05rem, calc(env(safe-area-inset-right) + 1.05rem)) !important;
  bottom: auto !important;
  left: auto !important;
  width: 3.15rem !important;
  min-width: 3.15rem !important;
  max-width: 3.15rem !important;
  height: 3.15rem !important;
  min-height: 3.15rem !important;
  max-height: 3.15rem !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  justify-content: center !important;
  z-index: 70 !important;
}

html body #root [data-loc="client/src/components/Navbar.tsx:113"] > #novaris-mobile-menu-close .novaris-mobile-menu-close-label {
  display: none !important;
}

/* Audit-Fix v13: Mobile Navigation bleibt zwingend vertikal. */
@media (max-width: 1023px) {
  html body #root [data-loc="client/src/components/Navbar.tsx:113"] {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  html body #root [data-loc="client/src/components/Navbar.tsx:113"] > a {
    display: block !important;
    width: 100% !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
  }

  html body #root [data-loc="client/src/components/Navbar.tsx:113"] > a > span {
    display: block !important;
    width: 100% !important;
    white-space: normal !important;
  }
}

/* Audit-Fix v15: Kontaktwahl bleibt ikonisch, aber ohne technische Ordnungsnummern. */
.novaris-contact-service::before {
  content: none !important;
  display: none !important;
}

@media (max-width: 600px) {
  .novaris-contact-service-heading h3 {
    hyphens: none !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}

/* Audit-Fix v16: Kundenstimmen benötigen keine technischen Ordnungsnummern. */
.novaris-reviews-premium-card::before {
  content: none !important;
  display: none !important;
}

/* Audit-Fix v17: Editorial-Karten ohne dekorative Ordnungsnummern. */
body.novaris-ratgeber-editorial .novaris-editorial-card::before {
  content: none !important;
  display: none !important;
}

/* Audit-Fix v18: Galerie zeigt Leistungen, keine technischen Bildnummern. */
.novaris-gallery-premium-card .novaris-gallery-card-meta > b {
  display: none !important;
}

/* Footer-Veredelung v25: kompakter, klarer Abschluss auf Mobilgeräten. */
@media (max-width: 767px) {
  footer[data-loc="client/src/components/Footer.tsx:6"] {
    position: relative;
    overflow: hidden;
    background: linear-gradient(160deg, #080806 0%, #050505 55%, #030303 100%) !important;
    border-top: 1px solid rgba(214,183,104,.34) !important;
  }

  footer[data-loc="client/src/components/Footer.tsx:6"] > div[data-loc="client/src/components/Footer.tsx:7"] {
    width: min(100% - 2.5rem, 32rem) !important;
    margin: 0 auto !important;
    padding: 2.55rem 0 max(2.4rem, env(safe-area-inset-bottom)) !important;
  }

  footer[data-loc="client/src/components/Footer.tsx:6"] div[data-loc="client/src/components/Footer.tsx:8"] {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
  }

  /* Markenblock: kompakt und bewusst, statt lange Leerräume zu erzeugen. */
  footer[data-loc="client/src/components/Footer.tsx:6"] div[data-loc="client/src/components/Footer.tsx:10"] {
    margin: 0 !important;
    padding: 0 0 1.45rem !important;
    border-bottom: 1px solid rgba(214,183,104,.16) !important;
  }

  footer[data-loc="client/src/components/Footer.tsx:6"] div[data-loc="client/src/components/Footer.tsx:10"] img {
    width: 8.75rem !important;
    max-width: 8.75rem !important;
    height: auto !important;
    margin: 0 0 .78rem !important;
  }

  footer[data-loc="client/src/components/Footer.tsx:6"] div[data-loc="client/src/components/Footer.tsx:10"] p {
    max-width: 25rem !important;
    margin: 0 !important;
    color: rgba(255,255,255,.64) !important;
    font-size: .84rem !important;
    line-height: 1.62 !important;
  }

  /* Keine langen Linklisten im mobilen Seitenabschluss. */
  footer[data-loc="client/src/components/Footer.tsx:6"] div[data-loc="client/src/components/Footer.tsx:38"],
  footer[data-loc="client/src/components/Footer.tsx:6"] div[data-loc="client/src/components/Footer.tsx:55"] {
    display: none !important;
  }

  footer[data-loc="client/src/components/Footer.tsx:6"] a[href*="instagram.com"] {
    display: inline-flex !important;
    width: 2.85rem !important;
    min-width: 2.85rem !important;
    height: 2.85rem !important;
    min-height: 2.85rem !important;
    margin: 1.05rem 0 1.55rem !important;
    padding: 0 !important;
    border: 1px solid rgba(226,199,114,.68) !important;
    border-radius: 50% !important;
    background: rgba(214,183,104,.045) !important;
    box-shadow: none !important;
    align-items: center !important;
    justify-content: center !important;
  }

  footer[data-loc="client/src/components/Footer.tsx:6"] a[href*="instagram.com"] i {
    color: #e4c96f !important;
    font-size: 1.03rem !important;
  }

  /* Kontakt als eine ruhige, direkt nutzbare Concierge-Karte. */
  footer[data-loc="client/src/components/Footer.tsx:6"] div[data-loc="client/src/components/Footer.tsx:79"] {
    margin: 0 !important;
    padding: 1.25rem 1.08rem .25rem !important;
    border: 1px solid rgba(214,183,104,.28) !important;
    border-left: 2px solid #d6b768 !important;
    background: linear-gradient(115deg, rgba(214,183,104,.09), rgba(255,255,255,.015) 62%) !important;
  }

  footer[data-loc="client/src/components/Footer.tsx:6"] div[data-loc="client/src/components/Footer.tsx:79"] h4 {
    margin: 0 0 1.05rem !important;
    color: #e4c96f !important;
    font-size: .68rem !important;
    font-weight: 800 !important;
    letter-spacing: .17em !important;
    text-transform: uppercase !important;
  }

  footer[data-loc="client/src/components/Footer.tsx:6"] div[data-loc="client/src/components/Footer.tsx:79"] p {
    margin: 0 0 .82rem !important;
    color: rgba(255,255,255,.74) !important;
    font-size: .84rem !important;
    line-height: 1.55 !important;
  }

  footer[data-loc="client/src/components/Footer.tsx:6"] div[data-loc="client/src/components/Footer.tsx:79"] a {
    color: #f0d67d !important;
    text-decoration: none !important;
  }

  footer[data-loc="client/src/components/Footer.tsx:6"] div[data-loc="client/src/components/Footer.tsx:105"] {
    display: flex !important;
    flex-direction: column !important;
    gap: .78rem !important;
    margin-top: 1.5rem !important;
    padding-top: 1.1rem !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
    text-align: center !important;
  }

  footer[data-loc="client/src/components/Footer.tsx:6"] div[data-loc="client/src/components/Footer.tsx:105"] p,
  footer[data-loc="client/src/components/Footer.tsx:6"] div[data-loc="client/src/components/Footer.tsx:105"] a {
    color: rgba(255,255,255,.40) !important;
    font-size: .68rem !important;
  }

  footer[data-loc="client/src/components/Footer.tsx:6"] div[data-loc="client/src/components/Footer.tsx:107"] {
    justify-content: center !important;
    gap: 1.15rem !important;
  }
}

/* Bewertungs-Veredelung v26: Zitate frei lesbar, Einzelwertungen nicht vortäuschen. */
.novaris-reviews-premium-card [data-loc="client/src/pages/Bewertungen.tsx:33"] {
  display: none !important;
}

.novaris-reviews-premium-quote {
  padding-top: 0 !important;
}

.novaris-reviews-premium-quote::before {
  content: none !important;
  display: none !important;
}

@media (max-width: 767px) {
  .novaris-reviews-premium-score {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    column-gap: .82rem !important;
    row-gap: .18rem !important;
  }

  .novaris-reviews-premium-score strong {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    margin: 0 !important;
    line-height: .9 !important;
    transform: none !important;
  }

  .novaris-reviews-premium-score span {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: end !important;
    line-height: 1 !important;
  }

  .novaris-reviews-premium-score small {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    line-height: 1.2 !important;
  }
}

/* Google-Bewertungsstand v27: belegte 5,0/77 und volle Einzelsternreihen. */
.novaris-reviews-premium-card [data-loc="client/src/pages/Bewertungen.tsx:33"].novaris-reviews-premium-rating {
  display: flex !important;
  align-items: center !important;
  gap: .18rem !important;
  margin: 0 0 1.1rem !important;
  color: #e4c96f !important;
}

.novaris-reviews-premium-card [data-loc="client/src/pages/Bewertungen.tsx:33"].novaris-reviews-premium-rating svg {
  width: 1rem !important;
  height: 1rem !important;
  color: #e4c96f !important;
  fill: currentColor !important;
  opacity: 1 !important;
}

@media (max-width: 767px) {
  .novaris-reviews-premium-card [data-loc="client/src/pages/Bewertungen.tsx:33"].novaris-reviews-premium-rating {
    margin-bottom: 1rem !important;
  }
}

/* Bewertungs-Hero v29: ruhige Boutique-Hotel-Ästhetik statt Standard-Banner. */
.novaris-reviews-premium-hero {
  background:
    radial-gradient(circle at 73% 22%, rgba(225,191,99,.13), transparent 20rem),
    #080807 !important;
}

.novaris-reviews-premium-hero::before {
  filter: saturate(.52) brightness(.42) contrast(1.08) !important;
  transform: scale(1.05) !important;
}

.novaris-reviews-premium-hero::after {
  background:
    linear-gradient(90deg, rgba(4,4,4,.93) 0%, rgba(4,4,4,.48) 54%, rgba(4,4,4,.82) 100%),
    linear-gradient(0deg, rgba(4,4,4,.98), rgba(4,4,4,.05) 59%, rgba(4,4,4,.48)) !important;
}

.novaris-reviews-premium-hero h1 {
  color: #f0d57e !important;
  text-shadow: 0 1px 0 rgba(255,245,202,.16), 0 1.3rem 2.7rem rgba(0,0,0,.46) !important;
}

.novaris-reviews-premium-hero > p[data-loc="client/src/pages/Bewertungen.tsx:20"] {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .6rem !important;
  color: rgba(255,245,215,.86) !important;
  letter-spacing: .38em !important;
  text-shadow: 0 .25rem .85rem rgba(0,0,0,.75) !important;
}

.novaris-reviews-premium-hero > p[data-loc="client/src/pages/Bewertungen.tsx:20"]::before,
.novaris-reviews-premium-hero > p[data-loc="client/src/pages/Bewertungen.tsx:20"]::after {
  content: '';
  width: 1.65rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, #d6b768) !important;
}

.novaris-reviews-premium-hero > p[data-loc="client/src/pages/Bewertungen.tsx:20"]::after {
  background: linear-gradient(90deg, #d6b768, transparent) !important;
}

.novaris-reviews-premium-hero > div[data-loc="client/src/pages/Bewertungen.tsx:22"] {
  position: relative !important;
  display: inline-grid !important;
  grid-template-columns: auto auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: .7rem !important;
  min-width: min(100%, 18rem) !important;
  margin-top: .75rem !important;
  padding: 1.05rem 1.1rem !important;
  overflow: hidden !important;
  border: 1px solid rgba(231,202,114,.54) !important;
  border-left: 2px solid #e5c36d !important;
  border-radius: .18rem !important;
  background: linear-gradient(115deg, rgba(218,183,94,.17), rgba(7,7,7,.55) 48%, rgba(255,255,255,.025)) !important;
  box-shadow: 0 1.1rem 2.6rem rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.07) !important;
  backdrop-filter: blur(8px) !important;
}

.novaris-reviews-premium-hero > div[data-loc="client/src/pages/Bewertungen.tsx:22"]::before {
  content: 'GOOGLE · AUSGEZEICHNET' !important;
  position: absolute !important;
  top: .28rem !important;
  right: .72rem !important;
  color: rgba(240,213,126,.56) !important;
  font-family: Raleway, Arial, sans-serif !important;
  font-size: .42rem !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
}

.novaris-reviews-premium-hero > div[data-loc="client/src/pages/Bewertungen.tsx:22"] > span[data-loc="client/src/pages/Bewertungen.tsx:23"] {
  padding-right: .67rem !important;
  border-right: 1px solid rgba(231,202,114,.28) !important;
  color: #f0d57e !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-variant-numeric: lining-nums tabular-nums !important;
  text-shadow: 0 .45rem .9rem rgba(0,0,0,.38) !important;
}

.novaris-reviews-premium-hero > div[data-loc="client/src/pages/Bewertungen.tsx:22"] > div[data-loc="client/src/pages/Bewertungen.tsx:24"] {
  gap: .16rem !important;
  color: #f0d57e !important;
}

.novaris-reviews-premium-hero > div[data-loc="client/src/pages/Bewertungen.tsx:22"] > span[data-loc="client/src/pages/Bewertungen.tsx:25"] {
  align-self: end !important;
  padding-top: .36rem !important;
  color: rgba(255,255,255,.72) !important;
  font-family: Raleway, Arial, sans-serif !important;
  font-size: .65rem !important;
  font-weight: 700 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
}

@media (max-width: 767px) {
  .novaris-reviews-premium-hero {
    min-height: 368px !important;
    padding: 6rem 1.25rem 3.7rem !important;
  }

  .novaris-reviews-premium-hero h1 {
    margin-top: .82rem !important;
    margin-bottom: 1.3rem !important;
    font-size: clamp(2.62rem, 11.1vw, 3.85rem) !important;
    letter-spacing: -.06em !important;
  }

  .novaris-reviews-premium-hero > p[data-loc="client/src/pages/Bewertungen.tsx:20"] {
    font-size: .56rem !important;
    letter-spacing: .32em !important;
  }

  .novaris-reviews-premium-hero > p[data-loc="client/src/pages/Bewertungen.tsx:20"]::before,
  .novaris-reviews-premium-hero > p[data-loc="client/src/pages/Bewertungen.tsx:20"]::after {
    width: 1.05rem !important;
  }

  .novaris-reviews-premium-hero > div[data-loc="client/src/pages/Bewertungen.tsx:22"] {
    width: min(100%, 22rem) !important;
    grid-template-columns: auto auto minmax(0, 1fr) !important;
    gap: .52rem !important;
    margin: 0 auto !important;
    padding: .95rem .88rem .75rem !important;
  }

  .novaris-reviews-premium-hero > div[data-loc="client/src/pages/Bewertungen.tsx:22"] > span[data-loc="client/src/pages/Bewertungen.tsx:23"] {
    font-size: 2.25rem !important;
  }

  .novaris-reviews-premium-hero > div[data-loc="client/src/pages/Bewertungen.tsx:22"] > span[data-loc="client/src/pages/Bewertungen.tsx:25"] {
    font-size: .58rem !important;
    letter-spacing: .03em !important;
    line-height: 1.15 !important;
  }
}

/* Leistungsdetailseiten v30: eine regionale, ruhige Mobilvorlage für alle Services. */
h1.novaris-service-detail-title {
  max-width: min(100%, 20ch) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  color: #e4c96f !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-weight: 400 !important;
  letter-spacing: -.055em !important;
  line-height: .96 !important;
  text-wrap: balance !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

.novaris-service-signature-intro {
  background-color: #070707 !important;
}

.novaris-service-signature-intro > .container {
  max-width: 43rem !important;
}

.novaris-service-signature-intro p {
  font-family: Raleway, Arial, sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

.novaris-service-signature-proof span,
.novaris-service-signature-proof strong {
  font-family: Raleway, Arial, sans-serif !important;
}

@media (max-width: 767px) {
  h1.novaris-service-detail-title {
    max-width: 100% !important;
    font-size: clamp(2.18rem, 9.3vw, 3.18rem) !important;
    line-height: .96 !important;
  }

  h1.novaris-service-detail-title-long {
    font-size: clamp(2rem, 8.45vw, 2.66rem) !important;
    letter-spacing: -.052em !important;
  }

  .novaris-service-signature-intro {
    min-height: 0 !important;
    background-position: center center !important;
  }

  .novaris-service-signature-intro > .container {
    width: min(100% - 3rem, 31rem) !important;
    padding: 4rem 0 3.8rem !important;
  }

  .novaris-service-signature-intro p {
    max-width: 100% !important;
    margin: 0 !important;
    color: rgba(255,255,255,.9) !important;
    font-size: 1.01rem !important;
    line-height: 1.72 !important;
    text-align: left !important;
    text-wrap: pretty !important;
  }

  .novaris-service-signature-proof {
    margin-top: 1.65rem !important;
  }

  .novaris-service-signature-proof span {
    color: #e4c96f !important;
    font-size: .63rem !important;
    letter-spacing: .15em !important;
  }

  .novaris-service-signature-proof strong {
    color: rgba(255,255,255,.84) !important;
    font-size: .61rem !important;
    line-height: 1.5 !important;
    letter-spacing: .08em !important;
  }
}

/* Über uns: dieselbe klare NOVARIS-Hierarchie statt abweichender Seitentypografie. */
[data-loc^="client/src/pages/UeberUns"] h1,
[data-loc^="client/src/pages/UeberUns"] h2,
[data-loc^="client/src/pages/UeberUns"] h3 {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-weight: 400 !important;
  letter-spacing: -.035em !important;
}

[data-loc^="client/src/pages/UeberUns"] p,
[data-loc^="client/src/pages/UeberUns"] li {
  font-family: Raleway, Arial, sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.7 !important;
}

/* Über uns v30: die Sonderbühne nutzt verbindlich dieselbe NOVARIS-Typografie wie alle Leistungsseiten. */
body.novaris-about-elevated .novaris-about-hero h1,
body.novaris-about-elevated .novaris-about-hero h1 span,
body.novaris-about-elevated .novaris-about-premium-stage h2,
body.novaris-about-elevated .novaris-about-premium-stage h2 em,
body.novaris-about-elevated .novaris-about-premium-stage h3 {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-weight: 400 !important;
  letter-spacing: -.035em !important;
}

body.novaris-about-elevated .novaris-about-premium-stage p,
body.novaris-about-elevated .novaris-about-premium-stage li,
body.novaris-about-elevated .novaris-about-premium-stage small,
body.novaris-about-elevated .novaris-about-premium-stage span:not(.novaris-about-monogram) {
  font-family: Raleway, Arial, sans-serif !important;
  letter-spacing: 0 !important;
}

@media (max-width: 767px) {
  body.novaris-about-elevated .novaris-about-hero h1,
  body.novaris-about-elevated .novaris-about-hero h1 span {
    font-size: clamp(2.55rem, 12vw, 3.45rem) !important;
    line-height: .95 !important;
  }

  body.novaris-about-elevated .novaris-about-premium-stage h2,
  body.novaris-about-elevated .novaris-about-premium-stage h2 em {
    font-size: clamp(2.1rem, 10.1vw, 3rem) !important;
    line-height: .96 !important;
  }

  body.novaris-about-elevated .novaris-about-premium-stage p,
  body.novaris-about-elevated .novaris-about-premium-stage li {
    font-size: 1rem !important;
    line-height: 1.72 !important;
  }
}

/* v44 – Mobile Langtitel dürfen innerhalb eines einzelnen Leistungsnamens nie getrennt werden. */
@media (max-width: 767px) {
  h1.novaris-service-detail-title-single {
    max-width: 100% !important;
    font-size: clamp(1.86rem, 8.2vw, 2.34rem) !important;
    letter-spacing: -.055em !important;
    line-height: .98 !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
    hyphens: none !important;
  }
}

/* v47 – Graffiti-Entfernung bleibt auf iPhone in einer ruhigen, vollständigen Zeile. */
@media (max-width: 767px) {
  h1.novaris-service-detail-title-graffiti {
    max-width: 100% !important;
    font-size: clamp(1.82rem, 7.7vw, 2.08rem) !important;
    letter-spacing: -.06em !important;
    line-height: .98 !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
    hyphens: none !important;
  }
}

/* v48 – Startseite: ruhige mobile Hero-Bühne ohne überladene Textkästen. */
@media (max-width: 767px) {
  html.is-home-cleanup body #root section[data-loc="client/src/pages/Home.tsx:66"] > .container {
    transform: translate3d(0, -5.35rem, 0) !important;
    padding: 0 1.5rem 5.45rem !important;
  }

  html.is-home-cleanup body #root section[data-loc="client/src/pages/Home.tsx:66"] p[data-loc="client/src/pages/Home.tsx:72"] {
    max-width: 17.75rem !important;
    margin: 0 0 1.05rem !important;
    padding: .35rem 0 .35rem .78rem !important;
    border-left: 1px solid rgba(229,202,120,.88) !important;
    background: transparent !important;
    box-shadow: none !important;
    color: rgba(255,253,248,.88) !important;
    font-size: .6rem !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
    letter-spacing: .12em !important;
  }

  html.is-home-cleanup body #root section[data-loc="client/src/pages/Home.tsx:66"] h1[data-loc="client/src/pages/Home.tsx:73"] {
    max-width: 18.2rem !important;
    margin: 0 !important;
    color: #e4c96f !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: clamp(2.58rem, 10.6vw, 3.28rem) !important;
    font-weight: 400 !important;
    line-height: .95 !important;
    letter-spacing: -.06em !important;
    text-wrap: balance !important;
    text-shadow: 0 9px 22px rgba(0,0,0,.48) !important;
  }

  html.is-home-cleanup body #root section[data-loc="client/src/pages/Home.tsx:66"] h1[data-loc="client/src/pages/Home.tsx:73"] span {
    display: block !important;
    margin-top: .14rem !important;
    color: #f0d57e !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: .76em !important;
    font-style: italic !important;
    font-weight: 400 !important;
    letter-spacing: -.055em !important;
    line-height: .98 !important;
    white-space: normal !important;
    text-wrap: balance !important;
    text-shadow: 0 8px 18px rgba(0,0,0,.45) !important;
  }

  html.is-home-cleanup body #root section[data-loc="client/src/pages/Home.tsx:66"] p[data-loc="client/src/pages/Home.tsx:77"] {
    width: min(100%, 19.75rem) !important;
    max-width: 19.75rem !important;
    margin: 1.25rem 0 0 !important;
    padding: .65rem 0 .65rem .82rem !important;
    border-left: 1px solid rgba(229,202,120,.72) !important;
    background: transparent !important;
    box-shadow: none !important;
    color: rgba(255,253,248,.90) !important;
    font-size: .91rem !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
  }
}

/* v49 – Termin-anfragen-CTA im mobilen Menü passend zur Schwarz-Messing-Gold-Welt. */
#root a.novaris-menu-appointment-tone,
#root button.novaris-menu-appointment-tone {
  background: linear-gradient(135deg, #14110a 0%, #241c0d 52%, #120f09 100%) !important;
  border: 1px solid rgba(226, 196, 104, .82) !important;
  border-radius: 2px !important;
  box-shadow: inset 0 1px 0 rgba(255, 246, 206, .12), 0 10px 24px rgba(0,0,0,.26) !important;
  color: #e6c873 !important;
  text-shadow: none !important;
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease !important;
}

#root a.novaris-menu-appointment-tone svg,
#root button.novaris-menu-appointment-tone svg {
  color: #e6c873 !important;
  stroke: currentColor !important;
}

#root a.novaris-menu-appointment-tone:hover,
#root a.novaris-menu-appointment-tone:focus-visible,
#root button.novaris-menu-appointment-tone:hover,
#root button.novaris-menu-appointment-tone:focus-visible {
  background: linear-gradient(135deg, #2a210e 0%, #3b2c12 52%, #21190b 100%) !important;
  border-color: #f0d57e !important;
  color: #f0d57e !important;
  transform: translateY(-1px) !important;
}
