/*
 Theme Name: Divi Child
 Theme URI: https://deine-domain.ch
 Description: Child Theme für Divi (Skilift Hampy & Alp Bütschi)
 Author: Dein Name
 Template: Divi
 Version: 1.0
*/

/* =====================
   Lokale Fonts
   ===================== */
@font-face {
    font-family: 'Lora';
    src: url('/wp-content/themes/divi-child/fonts/Lora-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Lora';
    src: url('/wp-content/themes/divi-child/fonts/Lora-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Lora';
    src: url('/wp-content/themes/divi-child/fonts/Lora-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Lora';
    src: url('/wp-content/themes/divi-child/fonts/Lora-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
  font-family: 'Source Sans 3';
  src: url('/wp-content/themes/divi-child/fonts/SourceSans3-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Source Sans 3';
  src: url('/wp-content/themes/divi-child/fonts/SourceSans3-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Source Sans 3';
  src: url('/wp-content/themes/divi-child/fonts/SourceSans3-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Source Sans 3';
  src: url('/wp-content/themes/divi-child/fonts/SourceSans3-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* =====================
   Farbpalette
   ===================== */
:root {
  --hellblau: #7EACD9;
  --sonnengelb: #FFCA28;
  --dunkelblau: #1E3A5F;
  --naturgruen: #88B04B;
  --warmocker: #EDE3D1;
  --anthrazit: #3C3A36;
}

/* =====================
   Typografie
   ===================== */
body, p, li {
  font-family: 'Source Sans 3', sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.6;
  margin: 0;
  padding: 0;
  max-width: 75ch;
  margin-left: auto;
  margin-right: auto;
}
p, li {
  margin-bottom: 1em;
}
strong, b {
  font-weight: 600 !important;
}
em, i {
  font-style: italic !important;
}

/* =====================
   Überschriften
   ===================== */
h1, h2, h3, h4 {
  font-family: 'Lora', serif !important;
  color: var(--dunkelblau);
  line-height: 1.3;
  margin-top: 1em;
  margin-bottom: 0.6em;
}
h1 {
  font-size: 3.2rem;
  font-weight: 700 !important;
}
h2 {
  font-size: 2.4rem;
  font-weight: 600 !important;
}
h3 {
  font-size: 2rem;
  font-weight: 600 !important;
}
h4 {
  font-size: 1.6rem;
  font-weight: 600 !important;
}

/* =====================
   Links
   ===================== */
a, a:visited {
  color: var(--hellblau);
  text-decoration: none;
  transition: color 0.3s ease;
}
a:hover, a:focus, a:active {
  color: var(--dunkelblau);
  text-decoration: underline;
}

/* =====================
   Buttons
   ===================== */
button, .et_pb_button {
  background-color: var(--hellblau);
  color: var(--anthrazit);
  border: none;
  padding: 0.75em 1.5em;
  font-weight: 600;
  transition: all 0.3s ease;
  border-radius: 4px;
}
button:hover, .et_pb_button:hover {
  background-color: var(--dunkelblau);
  color: #fff;
}

/* =====================
   Layout
   ===================== */
.section {
  padding: 4rem 2rem;
}

/* =====================
   Media Queries
   ===================== */
@media (max-width: 980px) {
  body, p, li {
    font-size: 16px;
    line-height: 1.5;
  }
  h1 { font-size: 2.6rem; }
  h2 { font-size: 2rem; }
  h3 { font-size: 1.8rem; }
  h4 { font-size: 1.4rem; }
}

@media (max-width: 767px) {
  body, p, li {
    font-size: 15px;
    line-height: 1.5;
  }
  h1 { font-size: 2.2rem; }
  h2 { font-size: 1.8rem; }
  h3 { font-size: 1.4rem; }
  h4 { font-size: 1.2rem; }
}
