/* ============================================
   LHGHeadWEB
   ============================================ */

/* Thin */
@font-face {
  font-family: 'LHGHeadWEB';
  font-weight: 100;
  font-style: normal;
  font-display: swap;
  src: url('fonts/LHGHeadWEB-Thin.woff2') format('woff2'),
       url('fonts/LHGHeadWEB-Thin.woff') format('woff');
}

@font-face {
  font-family: 'LHGHeadWEB';
  font-weight: 100;
  font-style: italic;
  font-display: swap;
  src: url('fonts/LHGHeadWEB-ThinItalic.woff2') format('woff2'),
       url('fonts/LHGHeadWEB-ThinItalic.woff') format('woff');
}

/* Light */
@font-face {
  font-family: 'LHGHeadWEB';
  font-weight: 300;
  font-style: normal;
  font-display: swap;
  src: url('fonts/LHGHeadWEB-Light.woff2') format('woff2'),
       url('fonts/LHGHeadWEB-Light.woff') format('woff');
}

@font-face {
  font-family: 'LHGHeadWEB';
  font-weight: 300;
  font-style: italic;
  font-display: swap;
  src: url('fonts/LHGHeadWEB-LightItalic.woff2') format('woff2'),
       url('fonts/LHGHeadWEB-LightItalic.woff') format('woff');
}

/* Medium */
@font-face {
  font-family: 'LHGHeadWEB';
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url('fonts/LHGHeadWEB-Medium.woff2') format('woff2'),
       url('fonts/LHGHeadWEB-Medium.woff') format('woff');
}

/* Bold */
@font-face {
  font-family: 'LHGHeadWEB';
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url('fonts/LHGHeadWEB-Bold.woff2') format('woff2'),
       url('fonts/LHGHeadWEB-Bold.woff') format('woff');
}

@font-face {
  font-family: 'LHGHeadWEB';
  font-weight: 700;
  font-style: italic;
  font-display: swap;
  src: url('fonts/LHGHeadWEB-BoldItalic.woff2') format('woff2'),
       url('fonts/LHGHeadWEB-BoldItalic.woff') format('woff');
}


/* ============================================
   LHGTextWEB
   ============================================ */

/* Light */
@font-face {
  font-family: 'LHGTextWEB';
  font-weight: 300;
  font-style: normal;
  font-display: swap;
  src: url('fonts/LHGTextWEB-Light.woff2') format('woff2'),
       url('fonts/LHGTextWEB-Light.woff') format('woff');
}

@font-face {
  font-family: 'LHGTextWEB';
  font-weight: 300;
  font-style: italic;
  font-display: swap;
  src: url('fonts/LHGTextWEB-LightItalic.woff2') format('woff2'),
       url('fonts/LHGTextWEB-LightItalic.woff') format('woff');
}

/* Regular */
@font-face {
  font-family: 'LHGTextWEB';
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url('fonts/LHGTextWEB-Regular.woff2') format('woff2'),
       url('fonts/LHGTextWEB-Regular.woff') format('woff');
}

@font-face {
  font-family: 'LHGTextWEB';
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  src: url('fonts/LHGTextWEB-RegularItalic.woff2') format('woff2'),
       url('fonts/LHGTextWEB-RegularItalic.woff') format('woff');
}

/* Bold */
@font-face {
  font-family: 'LHGTextWEB';
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url('fonts/LHGTextWEB-Bold.woff2') format('woff2'),
       url('fonts/LHGTextWEB-Bold.woff') format('woff');
}

@font-face {
  font-family: 'LHGTextWEB';
  font-weight: 700;
  font-style: italic;
  font-display: swap;
  src: url('fonts/LHGTextWEB-BoldItalic.woff2') format('woff2'),
       url('fonts/LHGTextWEB-BoldItalic.woff') format('woff');
}


/* ============================================
   LHGSerifWEB
   ============================================ */

/* Light */
@font-face {
  font-family: 'LHGSerifWEB';
  font-weight: 300;
  font-style: normal;
  font-display: swap;
  src: url('fonts/LHGSerifWEB-Light.woff2') format('woff2'),
       url('fonts/LHGSerifWEB-Light.woff') format('woff');
}

/* Regular */
@font-face {
  font-family: 'LHGSerifWEB';
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url('fonts/LHGSerifWEB-Regular.woff2') format('woff2'),
       url('fonts/LHGSerifWEB-Regular.woff') format('woff');
}

/* ============================================
   TYPE SCALE – Desktop
   ============================================ */

body {
  font-size: 16px;
}

/* Body Copy */
.elementor p, .maintenance-card p, .elementor a, .elementor li,  .kontakt, .kontakt label,.kontakt  textarea, .kontakt select, .kontakt input  {
  font-family: 'LHGTextWEB', sans-serif;
  font-weight: 400;
  font-size: 1.25rem !important;       /* 20px */
  line-height: 150% !important;;
  letter-spacing: 0;
}

.kontakt  input,.elementor a.elementor-button{line-height: 100% !important;}

.cky-modal,.cky-notice-des *, .cky-consent-bar{font-family: 'LHGTextWEB', sans-serif;
  font-weight: 400;
  font-size: 1rem !important;       /* 20px */
  line-height: 120% !important;;
  letter-spacing: 0;}

.cky-notice .cky-title {
  font-family: 'LHGTextWEB', sans-serif;
  font-weight: 700 !important;
  font-size: 1.2rem !important;
  line-height: 110% !important;
  letter-spacing: 0 !important;
  margin-bottom: 2px !important;
}

.cky-notice-group p{
    font-family: 'LHGTextWEB', sans-serif;
    font-size: 1rem !important;
    line-height: 110% !important;
}


.pf::before{font-family: 'LHGTextWEB', sans-serif;font-size: 1rem;  line-height: 100%;}

.elementor p, .elementor ul {
  margin-block-end: 24px;
}

.elementor-button{margin-top:4px;}

.elementor ul.elementor-nav-menu{
  margin-block-end: 0px !important;
}

strong, b {
  font-weight: 700 !important;
}

/* h1 → Display M */
body h1 {
  font-family: 'LHGHeadWEB', sans-serif;
  font-weight: 300;
  font-size: 3.625rem;      /* 66px */
  line-height: 110% !important;
  letter-spacing: 0;
  margin-bottom: 20px !important;
}

/* h2 → Heading XXL */
body h2 {
  font-family: 'LHGHeadWEB', sans-serif;
  font-weight: 300;
  font-size: 3rem;      /* 50px */
  line-height: 120.85% !important;
  letter-spacing: 0;
  margin-bottom: 20px !important;
}

/* h3 → Display S   */
 body h3 b, body h3 strong{
  font-family: 'LHGTextWEB', serif;
  font-weight: 500 !important;
  font-size: 1.5rem !important;
  line-height: 110% !important;
  letter-spacing: 0;
}

body h3{
  font-family: 'LHGHeadWEB', serif;
  font-weight: 300;
  font-size: 2.375rem;        /* 34px */
  line-height: 110%;
  letter-spacing: 0;
  margin-bottom: 20px !important;
}

/* h4 → Heading XL */
body h4 {
  font-family: 'LHGHeadWEB', sans-serif;
  font-weight: 300 !important;
  font-size: 2.375rem !important;      /* 38px */
  line-height: 112.5% !important;
  letter-spacing: 0;
  margin-bottom: 20px !important;
}

/* h5 → Heading L  */
body h5 {
  font-family: 'LHGHeadWEB', sans-serif;
  font-weight: 300 !important;
  font-size: 2.125rem !important;
  line-height: 120% !important;
  letter-spacing: 0;
  margin-bottom: 20px !important;
}

/* h5 → Heading L  */
body h6 {
  font-family: 'LHGTextWEB', sans-serif;
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 130%;
  letter-spacing: 0;
  margin-bottom: 20px !important;
}

footer.elementor  p > a{line-height:184% !important;}

/* ============================================
   RESPONSIVE – Mobile Type Scale
   ============================================ */

@media (max-width: 1024px) {
  body h1 { font-size: 3.3rem !important;;    }   /* Display L Mobile: 64px */
  body h2 { font-size: 2.25rem !important;; }   /* Heading XXL Mobile: 36px */
  body h3 { font-size: 2rem !important;;  }   /* Display S Mobile: 40px */
  body h4 { font-size: 1.5rem !important;; }   /* Heading XL Mobile: 36px */
  body .box h4 { font-size: 1.3rem !important;; }   /* Heading XL Mobile: 36px */
  body h5, .cky-title { font-size: 1.4rem !important;; }   /* Heading L Mobile: 28px */
  body h5 { font-size: 1.1rem !important;; }   /* Heading L Mobile: 28px */
  .elementor p, .elementor a, .elementor li, .cky-notice-des * {font-size: 1.1rem !important;line-height: 120% !important;}
}

@media (max-width: 767px) {
  body h1 { font-size: 2.2rem !important; margin-bottom: 10px !important; }   /* Display L Mobile: 64px */
  body h2 { font-size: 1.7rem !important; }   /* Heading XXL Mobile: 36px */
  body h3 { font-size: 1.5rem !important;  }   /* Display S Mobile: 40px */
  body h4 { font-size: 1.3rem  !important; margin-bottom:10px !important;}   /* Heading XL Mobile: 36px */
  body .box h4 { font-size: 1rem !important; }   /* Heading XL Mobile: 36px */
  body h5, .cky-title { font-size: 1.1rem  !important;}   /* Heading L Mobile: 28px */
  body h6 { font-size: 1rem !important;; }   /* Heading L Mobile: 28px */
  .elementor p, .elementor a, .elementor li, .cky-notice-des *, .cky-btn{font-size: 1rem !important;}
  #header h2{ font-size: 2.2rem !important; margin-bottom: 10px !important; padding:0px 50px;}
}