/* Centralized shared theme overrides extracted from page-level inline styles. */

/* Mobile polish: prevent clipping/overflow and unify CTA styling */
@media (max-width:760px){
  .head{align-items:center !important}
  .brand{
    max-width:100%;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    font-size:1.02rem !important;
    line-height:1.15 !important;
    display:block;
  }
  .head nav{width:100% !important;overflow:auto}
  .head nav a{font-size:.9rem !important}
  .phone,.theme-toggle,.design-menu-toggle{min-height:38px !important}
  .section h2{font-size:clamp(1.45rem,6vw,2.15rem) !important;line-height:1.12 !important;word-break:break-word}
  .sticky-cta{gap:10px !important}
  .sticky-cta a{flex:1 1 0 !important;justify-content:center !important;font-size:1.03rem !important}
}

.sticky-cta .call,
.sticky-cta .msg{
  background:linear-gradient(120deg,var(--accent2),var(--accent)) !important;
  color:#fff !important;
  border:1px solid color-mix(in srgb, var(--line) 65%, transparent) !important;
}

/* Heading wrap/clip fixes */
h1,h2,h3{overflow-wrap:anywhere;word-break:break-word}
@media (max-width:760px){
  .hero-copy h1{line-height:1.06 !important;letter-spacing:.01em !important}
  .section h2{line-height:1.14 !important}
  .brand{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    max-width:100% !important;
  }
}

/* Glow consistency */
:root{
  --final-glow-a: color-mix(in srgb, var(--accent) 32%, transparent);
  --final-glow-b: color-mix(in srgb, var(--accent2) 26%, transparent);
}
body:not([data-site-mode="chaos"]) .card,
body:not([data-site-mode="chaos"]) .stat,
body:not([data-site-mode="chaos"]) .contact,
body:not([data-site-mode="chaos"]) .text-frame,
body:not([data-site-mode="chaos"]) .section .sub,
body:not([data-site-mode="chaos"]) .review-card,
body:not([data-site-mode="chaos"]) .review-mini,
body:not([data-site-mode="chaos"]) .map-wrap,
body:not([data-site-mode="chaos"]) .hero .img-wrap,
body:not([data-site-mode="chaos"]) .trust img,
body:not([data-site-mode="chaos"]) .top-design-menu,
body:not([data-site-mode="chaos"]) .phone,
body:not([data-site-mode="chaos"]) .theme-toggle,
body:not([data-site-mode="chaos"]) .mode-btn,
body:not([data-site-mode="chaos"]) .theme-select,
body:not([data-site-mode="chaos"]) .sticky-cta a{
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--line) 70%, transparent),
    0 0 12px var(--final-glow-a),
    0 0 24px var(--final-glow-b) !important;
}

/* CTA/button consistency */
body:not([data-site-mode="chaos"]) .btn-primary,
body:not([data-site-mode="chaos"]) .review-btn,
body:not([data-site-mode="chaos"]) .sticky-cta .call,
body:not([data-site-mode="chaos"]) .sticky-cta .msg,
body:not([data-site-mode="chaos"]) .siggi-send,
body:not([data-site-mode="chaos"]) .siggi-confirm,
body:not([data-site-mode="chaos"]) .mode-btn.active{
  background:linear-gradient(120deg,var(--accent2),var(--accent)) !important;
  color:#fff !important;
  border-color:color-mix(in srgb, var(--line) 55%, transparent) !important;
}

@media (max-width:760px){
  .sticky-cta{gap:10px !important}
  .sticky-cta a{min-height:44px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important}
}

/* theme-hard-final-20260321 */
/* Final override loaded at document end so no late inline rule can keep old colors */
body:not([data-site-mode="chaos"]) :where(main,header,footer,.sticky-cta,.siggi-panel,.top-design-menu,.service-popup-panel) * {
  color: var(--text) !important;
}
body:not([data-site-mode="chaos"]) :where(.card,.stat,.contact,.text-frame,.section .sub,.review-card,.review-mini,.map-wrap,.phone,.theme-toggle,.mode-btn,.theme-select,.top-design-menu,.sticky-cta a,.hero .img-wrap,.trust img,.siggi-panel,.siggi-head,.siggi-body,.siggi-foot,.service-popup-panel){
  border-color: var(--line) !important;
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--line) 70%, transparent),
    0 0 12px color-mix(in srgb, var(--accent) 35%, transparent),
    0 0 24px color-mix(in srgb, var(--accent2) 35%, transparent) !important;
}

/* theme-critical-inline-20260325 */
body:not([data-site-mode="chaos"]) .head nav a,
body:not([data-site-mode="chaos"]) .map-link a,
body:not([data-site-mode="chaos"]) footer a,
body:not([data-site-mode="chaos"]) .consent-row a,
body:not([data-site-mode="chaos"]) .siggi-note a,
body:not([data-site-mode="chaos"]) .siggi-consent a,
body:not([data-site-mode="chaos"]) .card h3 a,
body:not([data-site-mode="chaos"]) #service-ablauf .text-frame a,
body:not([data-site-mode="chaos"]) #qualitaet .text-frame a,
body:not([data-site-mode="chaos"]) #qualit??t-plus .text-frame a {
  color: var(--accent) !important;
}

body:not([data-site-mode="chaos"]) .review-card p,
body:not([data-site-mode="chaos"]) .review-mini,
body:not([data-site-mode="chaos"]) .review-time,
body:not([data-site-mode="chaos"]) #googleRatingCount,
body:not([data-site-mode="chaos"]) .siggi-note,
body:not([data-site-mode="chaos"]) .siggi-consent,
body:not([data-site-mode="chaos"]) .consent-text,
body:not([data-site-mode="chaos"]) footer,
body:not([data-site-mode="chaos"]) .hero-copy p,
body:not([data-site-mode="chaos"]) .card p,
body:not([data-site-mode="chaos"]) .stat p,
body:not([data-site-mode="chaos"]) .section .sub,
body:not([data-site-mode="chaos"]) .text-frame,
body:not([data-site-mode="chaos"]) li,
body:not([data-site-mode="chaos"]) label {
  color: var(--muted) !important;
}

body:not([data-site-mode="chaos"]) .brand,
body:not([data-site-mode="chaos"]) .phone,
body:not([data-site-mode="chaos"]) h1,
body:not([data-site-mode="chaos"]) h2,
body:not([data-site-mode="chaos"]) h3,
body:not([data-site-mode="chaos"]) h4,
body:not([data-site-mode="chaos"]) h5,
body:not([data-site-mode="chaos"]) h6,
body:not([data-site-mode="chaos"]) .stat-title,
body:not([data-site-mode="chaos"]) .siggi-head {
  color: var(--text) !important;
}

body:not([data-site-mode="chaos"]) .card,
body:not([data-site-mode="chaos"]) .stat,
body:not([data-site-mode="chaos"]) .contact,
body:not([data-site-mode="chaos"]) .review-card,
body:not([data-site-mode="chaos"]) .review-mini,
body:not([data-site-mode="chaos"]) .map-wrap,
body:not([data-site-mode="chaos"]) .phone,
body:not([data-site-mode="chaos"]) .theme-toggle,
body:not([data-site-mode="chaos"]) .mode-btn,
body:not([data-site-mode="chaos"]) .theme-select,
body:not([data-site-mode="chaos"]) .sticky-cta a,
body:not([data-site-mode="chaos"]) .siggi-panel,
body:not([data-site-mode="chaos"]) .siggi-head,
body:not([data-site-mode="chaos"]) .siggi-body,
body:not([data-site-mode="chaos"]) .siggi-foot {
  border-color: color-mix(in srgb, var(--line) 88%, transparent) !important;
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--line) 70%, transparent),
    0 0 14px color-mix(in srgb, var(--accent) 26%, transparent),
    0 0 24px color-mix(in srgb, var(--accent2) 22%, transparent) !important;
}

body:not([data-site-mode="chaos"]) .btn,
body:not([data-site-mode="chaos"]) button,
body:not([data-site-mode="chaos"]) .sticky-cta a {
  min-height: 44px !important;
  line-height: 1.2 !important;
}

/* theme-explicit-theme-inline-20260325 */
body[data-theme]:not([data-site-mode="chaos"]) .reviews-map .map-link a,
body[data-theme-preset]:not([data-site-mode="chaos"]) .reviews-map .map-link a,
body[data-theme]:not([data-site-mode="chaos"]) .map-link a,
body[data-theme-preset]:not([data-site-mode="chaos"]) .map-link a,
body[data-theme]:not([data-site-mode="chaos"]) .reviews-map .review-card a,
body[data-theme-preset]:not([data-site-mode="chaos"]) .reviews-map .review-card a {
  color: var(--accent) !important;
}

body[data-theme]:not([data-site-mode="chaos"]) .reviews-map .review-card p,
body[data-theme-preset]:not([data-site-mode="chaos"]) .reviews-map .review-card p,
body[data-theme]:not([data-site-mode="chaos"]) .reviews-map .review-time,
body[data-theme-preset]:not([data-site-mode="chaos"]) .reviews-map .review-time,
body[data-theme]:not([data-site-mode="chaos"]) .reviews-map #googleRatingCount,
body[data-theme-preset]:not([data-site-mode="chaos"]) .reviews-map #googleRatingCount,
body[data-theme]:not([data-site-mode="chaos"]) .reviews-map .review-mini,
body[data-theme-preset]:not([data-site-mode="chaos"]) .reviews-map .review-mini {
  color: var(--muted) !important;
}

