/* Basis: Reset (Hello-Theme) + globale Werte (Elementor-Kit) – gemessen am Original */
:root {
  --c-primary: #3871C1;
  --c-secondary: #0071BC;
  --c-text: #000000;
  --c-accent: #D59468;
  --c-white: #FFFFFF;
  --font-main: "Montserrat", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

html { line-height: 1.15; -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  color: var(--c-text);
  background-color: #fff;
  font-family: var(--font-main);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a { background-color: transparent; color: #222; text-decoration: none; }
img { border-style: none; height: auto; max-width: 100%; }

/* Überschriften (Elementor-Kit) + Letter-Spacing, das im Original global aus dem eingebetteten Preis-Widget wirkt */
h1, h2, h3, h4, h5, h6 { margin: 0; font-family: var(--font-main); }
h1 { color: var(--c-primary); font-size: 64px; font-weight: 700; text-transform: capitalize; line-height: 1.2em; }
h2 { color: var(--c-primary); font-size: 48px; font-weight: 700; text-transform: capitalize; line-height: 1.2em; }
h3 { color: var(--c-primary); font-size: 36px; font-weight: 700; text-transform: capitalize; line-height: 1.2em; }
h4 { color: var(--c-primary); font-size: 32px; font-weight: 700; text-transform: capitalize; line-height: 1.2em; }
h5 { color: var(--c-primary); font-size: 24px; font-weight: 700; text-transform: capitalize; line-height: 1.2em; }
h6 { color: var(--c-secondary); font-size: 18px; font-weight: 600; text-transform: capitalize; line-height: 1.2em; }
h1, h2, h3, h4, h6 { letter-spacing: 2px; }

/* Responsive Kit-Typografie */
@media (max-width: 1024px) {
  h1 { font-size: 56px; }
  h2 { font-size: 40px; }
  h3 { font-size: 32px; }
  h4 { font-size: 28px; }
}
@media (max-width: 767px) {
  h1 { font-size: 48px; }
  h2 { font-size: 36px; }
}
