/*
Theme Name: Theme Katrin
Theme URI: https://example.com/theme-katrin
Author: Dein Name
Author URI: https://example.com
Description: Ein individuelles WordPress-Theme für Katrin
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: theme-katrin
*/
/* Globaler Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: "Crimson Text" !important;
    color: rgb(112, 89, 83) !important;
}

#wrapper {
    margin: 0;
    padding: 0;
}


#container {
    margin: 0;
    padding: 0;
    width: 100%; /* Volle Breite des Body-Hintergrunds */
     
}

/* Header-Styling */
#header {
    width: 100%; /* Hintergrund des Headers nimmt 100% der Bildschirmbreite ein */
    background-color: rgb(205, 223, 227); /* Hintergrundfarbe des Headers */
    color: #fff; /* Textfarbe */
}

.header-inner {
    width: 100%;
    max-width: 1460px; /* Begrenzung auf 1260px */
    margin: 0 auto; /* Zentriert die .header-inner innerhalb des Headers */
    display: flex; /* Flexbox, um Branding und Navigation horizontal auszurichten */
    align-items: center; /* Zentriert die Inhalte vertikal */
    justify-content: space-between; /* Platz zwischen Branding und Navigation */
    padding: 0 20px; /* Innenabstand links und rechts */
    height: 80px; /* Höhe des Headers */
    font-size: 1.2em;
}

#branding {
    display: flex;
    flex-direction: column; /* Name und Beschreibung übereinander anordnen */
    justify-content: center; /* Vertikale Zentrierung */
}

#site-title a {
    font-size: 2rem; /* Schriftgröße des Seitentitels */
    color: #000; /* Farbe des Seitentitels */
    text-decoration: none; /* Unterstreichung entfernen */
    display: none !important;
}

#site-description {
    font-size: 1rem; /* Schriftgröße der Beschreibung */
    color: #333; /* Farbe der Beschreibung */
}

.menu{
    list-style: none;
    display: flex;
    font-size: 0.5rem;
    color: #000;
    gap: 10px;
}

.entry-title {
    display: none !important;
}


.menu li{
    margin-right: 20px;
    font-weight: 700;
}

.menu li a:link,
.menu li a:visited {
  color: #000; /* Schwarz für normale und besuchte Links */
}

.menu li a:hover {
  color: #333; /* Dunkleres Schwarz beim Überfahren */
}

.menu li a:active {
  color: #555; /* Grau für aktive Links */
}


#search {
    margin-left: 20px; /* Abstand zum Menü */
}

/* Globaler Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

#wrapper {
    margin: 0;
    padding: 0;
}

.body-inner {
    max-width: 1340px; /* Begrenzung auf 1260px Breite */
    margin: 0 auto; /* Zentriert den Inhalt */
    padding: 0 20px; /* Abstand links und rechts, um den Text nicht am Rand zu kleben */
}




.site-main {
    width: 100%; 
}

.entry-content {
    font-size: 20px;
    color: rgb(112, 89, 83);
    line-height: 28px;
    letter-spacing: 0em;
    --pY_8zA: 0;
    text-transform: none;
    --oJepFA: 0;
    --uYCVzQ: none;
    list-style-type: none
}

.entry-content img {
    max-width: 100%; 
    height: auto; 
}


/* Footer Styling */
#footer {
    width: 100%; /* Die volle Breite des Footers */
    background-color: rgb(205, 223, 227);  /*Beispiel-Hintergrundfarbe für den Footer
    color: #fff; /* Textfarbe */
    padding: 8px 0; /* Abstand oben und unten */
}

.footer-inner {
    max-width: 1260px; /* Begrenzung der Breite auf 1260px */
    margin: 0 auto; /* Zentriert die Inhalte horizontal */
    padding: 0 20px; /* Abstand links und rechts, um den Inhalt nicht an den Rand zu kleben */
}

#copyright {
    text-align: center; /* Zentriere den Copyright-Text */
    font-size: 0.9rem; /* Schriftgröße */
    color: #fff; /* Farbe des Copyright-Textes */
}

.site-main {
    display: f
		lex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    width: 100%;
    padding: 20px 0;
}

article {
    max-width: 1380px;
    margin: 20px auto;
    padding: 20px;
    border-radius: 5px;
}


html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}

.site-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main, .content-wrapper, .section-wrapper {
  flex: 1;
}

footer {
  background-color: #f0f0f0;
  padding: 2rem;
  text-align: center;
}



/* Mobile Optimierung */
@media only screen and (max-width: 768px) {
    .content-inner {
        padding-top: 20px;
        background-size: cover; /* Das Bild füllt den gesamten Bereich */
        background-position: center; /* Zentriert das Bild */
        background-repeat: no-repeat; /* Keine Wiederholung */
        min-height: calc(100vh - 100px); /* Mindesthöhe */
    }

    .header-inner {
        flex-direction: column; /* Navigation und Branding untereinander anordnen */
        height: auto; /* Automatische Höhe */
        padding: 10px;
        height: 60px;
        text-align: center; /* Zentriert Inhalte */
    }

    #site-title a {
        font-size: 1.5rem; /* Verkleinerte Schriftgröße für Mobilgeräte */
    }

    .menu {
        flex-direction: column; /* Menü vertikal ausrichten */
        padding: 0;
    }

    .menu li {
        margin: 10px 0; /* Abstand zwischen Menüeinträgen */
        font-size: 1rem; /* Kleinere Schriftgröße */
    }

    .body-inner {
        padding: 10px; /* Weniger Abstand für kleinere Bildschirme */
    }

    .entry-content {
        font-size: 16px; /* Kleinere Schriftgröße */
        line-height: 24px; /* Engeres Zeilenlayout */
    }

    article {
        margin: 15px auto; /* Weniger Außenabstand */
        padding: 15px; /* Kleinere Innenabstände */
        max-width: 100%;
    }

    #footer {
        padding: 10px 0; /* Weniger Abstand im Footer */
    }

    .footer-inner {
        padding: 0 10px; /* Weniger Seitenabstand */
        text-align: center; /* Zentrierter Text */
    }

    #copyright {
        font-size: 0.8rem; /* Kleinere Schriftgröße */
    }
}


.wp-block-media-text {
    display: flex;
    flex-direction: row; /* Standardlayout für Desktop */
    gap: 20px;
}

.wp-block-media-text__media {
    width: 500px; /* Standardbreite des Bilds für Desktop */
}

.wp-block-media-text__content {
    max-width: 700px; /* Begrenzte Breite des Texts */
    flex: 1;
}

@media (min-width: 1081px) {    
    .kr-center-text{
        padding: 0 50px 0 0 !important;
    }
}

/* Responsive Design */
@media (max-width: 768px) {
    .wp-block-media-text {
        flex-direction: column; /* Ändert die Ausrichtung zu vertikal */
        align-items: center; /* Zentriert Inhalte */
    }

    .wp-block-media-text__media {
        width: 100%; /* Bild nimmt 100% der Breite ein */
        height: auto; /* Höhe passt sich proportional an */
        margin-top: 20px; /* Abstand oberhalb des Bilds */
    }

    .wp-block-media-text__content {
        text-align: center; /* Zentriert den Text */
    }
}

@media (max-width: 480px) {
    .wp-block-media-text__media {
        width: 80%; /* Verkleinert das Bild weiter auf Mobilgeräten */
    }
}

/* Mobiles Menü */
#mobile-menu {
    display: none;
    position: absolute;
    top: 60px;
    left: 0;
    width: 100%;
    background-color: #333;
    z-index: 999;
}

#mobile-menu .mobile-menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

#mobile-menu .mobile-menu-list li {
    padding: 10px;
    text-align: center;
}

#mobile-menu .mobile-menu-list li a {
    color: white;
    text-decoration: none;
}

/* Hamburger-Button */
#mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #000;
    position: absolute;
    top: 15px;
    right: 15px;
}





/* Nur auf kleinen Bildschirmen sichtbar */
@media screen and (max-width: 768px) {
    #mobile-menu-toggle {
        display: block;
    }
	
	.abstandshalter{
		display:none;
	}

    #menu {
        display: none;
    }
}

.content-inner {
    /*min-height: calc(100vh - 165px);*/
    /*background-image: url('images/hintergrund_katrin.png'); /* Hintergrundbild */
    /* background-size: cover; Das Bild füllt den gesamten Hintergrund */
    /* background-position: center; /* Zentriert das Bild */
    /*background-repeat: no-repeat;  Das Bild wiederholt sich nicht */
    padding-top: 50px;
    background-image: url('images/hintergrund_katrin.png');
    background-size: cover; /* Sorgt dafür, dass das Bild den gesamten Bereich abdeckt */
    background-position: center; /* Zentriert das Hintergrundbild */
    background-repeat: repeat; /* Verhindert Wiederholungen des Bildes */
    min-height: calc(100vh - 135px); /* Mindesthöhe: 100vh minus 80px */
    display: flex; /* Optional für flexibles Layout */
    flex-direction: column; /* Für Inhaltsstruktur */
}

.menu {
  font-size: 1em;
  font-weight: 700;
  font-style: normal;
  color: rgb(0, 0, 0);
  font-kerning: none;
  text-decoration: underline;
}

.menu li {
    display: inline;
}

.menu li a {
    text-decoration: none;
    color: #000;
    font-weight: bold;
    padding: 10px;
    transition: color 0.2s ease;
}

.menu li a:hover {
    color: #555;
}


.circle-img img{
  aspect-ratio: 1 / 1 !important;
  width: 70%;
  object-fit: cover !important;
  border-radius: 50%;
}

.bild-oben-rund {
  width: 100%;
  max-width: 400px;
  height: auto;
  aspect-ratio: 2 / 3;
  border-top-left-radius: 50% 30%;
  border-top-right-radius: 50% 30%;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  object-fit: cover;
  overflow: hidden;
}

.gb-element-70e94905{
  padding: 0px !important;
}

.kr-center-img{
  text-align:center;
}

.kr-abstand {
   margin-bottom: 60px;
}

.kr-innerabstand {
   padding-bottom: 60px;
}

.kr-minitext{
   font-size: 14px;
}

.kr-specialfontsize{
   font-size: 59px;
}

/* Ab hier: zusätzliche Regeln für Mobile */
@media (max-width: 768px) {
  .kr-abstand,
  .kr-innerabstand {
    text-align: center;
  }
}

.footer-menu {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 30px;
  padding: 0;
  margin-bottom: 0.3rem;
}

.footer-menu li a {
  color: #000;
  text-decoration: none;
  font-size: 0.8rem;
}

.footer-menu li a:hover {
  text-decoration: underline;
}

.bild-hoehe-rahmen{
   margin: 10px;	
   height: 200px !important;
   border: 15px solid #dba191;
}

.logo-top-left img {
  height: 40px;
  width: auto;
  display: block;
}

h1 {
  font-weight: 500;             /* dünnerer Schnitt (falls verfügbar) */
  line-height: 1.1;             /* weniger Zeilenhöhe */
  letter-spacing: 0.01em;       /* minimal mehr Laufweite = leichterer Look */
  font-stretch: 95%;            /* falls unterstützt: etwas schmaler */
  font-size: clamp(1.8rem, 2.5vw + 1rem, 3rem); /* responsive, ohne „lauter“ zu wirken */
  margin: 0 0 0.6em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


h2 {
  font-weight: 500;             /* dünnerer Schnitt (falls verfügbar) */
  line-height: 1.1;             /* weniger Zeilenhöhe */
  letter-spacing: 0.01em;       /* minimal mehr Laufweite = leichterer Look */
  font-stretch: 95%;            /* falls unterstützt: etwas schmaler */
  font-size: clamp(1.3rem, 1.8vw + 1rem, 2rem); /* responsive, ohne „lauter“ zu wirken */
  margin: 0 0 0.6em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}