/* =========================================================
   FLUID TYPOGRAPHY SYSTEM (Divi / WordPress)
========================================================= */


/* =========================================================
   GLOBAL TYPE SCALE
========================================================= */

:root{

/* Basis Text */

--fs-body: clamp(16px, calc(15px + 0.3vw), 18px);

/* Paragraph (minimal kleiner) */

--fs-p: clamp(16px, calc(15px + 0.28vw), 17px);

/* Headings (minimal größer) */

--fs-h1: clamp(38px, calc(28px + 2.4vw), 68px);
--fs-h2: clamp(32px, calc(25px + 1.8vw), 52px);
--fs-h3: clamp(25px, calc(21px + 1.1vw), 36px);
--fs-h4: clamp(21px, calc(18px + 0.7vw), 28px);
--fs-h5: clamp(18px, calc(16px + 0.45vw), 23px);
--fs-h6: clamp(16px, calc(15px + 0.25vw), 19px);

/* kleine Texte */

--fs-small: clamp(14px, calc(13px + 0.2vw), 15px);

/* line heights */

--lh-body: 1.6;
--lh-heading: 1.2;

}



/* =========================================================
   BASIS TYPOGRAFIE
========================================================= */

body{
font-size: var(--fs-body);
line-height: var(--lh-body);
}



/* =========================================================
   HEADINGS
========================================================= */

h1{font-size: var(--fs-h1); line-height: var(--lh-heading);}
h2{font-size: var(--fs-h2); line-height: var(--lh-heading);}
h3{font-size: var(--fs-h3); line-height: var(--lh-heading);}
h4{font-size: var(--fs-h4); line-height: var(--lh-heading);}
h5{font-size: var(--fs-h5); line-height: var(--lh-heading);}
h6{font-size: var(--fs-h6); line-height: var(--lh-heading);}



/* =========================================================
   FLIESSTEXT
========================================================= */

p{
font-size: var(--fs-p);
line-height: var(--lh-body);
margin-bottom:1.2em;
}



/* =========================================================
   LISTEN
========================================================= */

ul,
ol{
font-size: var(--fs-p);
line-height: var(--lh-body);
padding-left:1.4em;
margin-bottom:1.2em;
}

li{
font-size: var(--fs-p);
line-height: var(--lh-body);
margin-bottom:0.35em;
}



/* =========================================================
   BLOCKQUOTE
========================================================= */

blockquote{
font-size: var(--fs-h4);
line-height:1.5;
border-left:4px solid #ddd;
padding-left:1.2em;
margin:2em 0;
font-style:italic;
}



/* =========================================================
   KLEINE TEXTE
========================================================= */

small{
font-size: var(--fs-small);
}



/* =========================================================
   LINKS
========================================================= */

a{
text-decoration:underline;
text-underline-offset:0.15em;
}



/* =========================================================
   DIVI KOMPATIBILITÄT
========================================================= */

.et_pb_text p,
.et_pb_text li{
font-size: var(--fs-p);
}

.et_pb_text h1{font-size: var(--fs-h1);}
.et_pb_text h2{font-size: var(--fs-h2);}
.et_pb_text h3{font-size: var(--fs-h3);}
.et_pb_text h4{font-size: var(--fs-h4);}
.et_pb_text h5{font-size: var(--fs-h5);}
.et_pb_text h6{font-size: var(--fs-h6);}



/* =========================================================
   BUTTON TYPOGRAFIE
========================================================= */

.et_pb_button{
font-size: clamp(14px, calc(13px + 0.4vw), 18px);
}