/*
Theme Name: Webseite Nicole Lindner
Theme URI: //https://rechtspsychologische-gutachten-lindner.de/
Author: Annett Riechert
Author URI: https://annett-riechert-desgin.de
Description: Theme für die Webseite von Nicole Lindner
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nicollindner-cp
*/

@font-face {
    font-family: 'EBGaramond-VariableFont_wght';
    src:url('fonts/EBGaramond-VariableFont_wght.ttf');
} 

@font-face {
    font-family: 'EBGaramond-Italic-VariableFont_wght';
    src:url('fonts/EBGaramond-Italic-VariableFont_wght.ttf');
} 
     
@font-face {
    font-family: 'Oswald-VariableFont_wght';
    src:url('fonts/Oswald-VariableFont_wght.ttf');
}

:root {
    --black: #232323; /* fonts black*/
    --white: rgb(255, 250, 240); /* fonts white*/
    --blue: #1e938f; /* fonts blue*/
    --menuehover: rgba(255, 250, 240, 0.572);
    --submenuehover: rgba(255, 250, 240, 0.887);
    --linkfarbe: #89535d;
    --button: #89535dcd;
    --font-text-serif: 'EBGaramond-VariableFont_wght', serif;
    --font-text-italic-serif: 'EBGaramond-Italic-VariableFont_wght', serif;
    --font-text-sans: 'Oswald-VariableFont_wght', sans;
    --transparenz-wert: 0.5; 
}
   
* {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
    line-height: 1.5;
    font-size: 1rem;
    color: var(--black);
    text-align: left;
    text-rendering: optimizeLegibility;
    background-color: var(--white);
    max-width: 100rem;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

header, footer {
        clear: both;
}

div {  /* Ermöglicht schöne Silbentrennung (benötigt lang="de" im HTML) */
  hyphens: auto;
  
  /* Falls die Silbentrennung fehlschlägt oder das Wort zu lang ist: Umbruch erzwingen */
  overflow-wrap: break-word;
  
  /* Optional für maximale Browser-Kompatibilität */
  word-wrap: break-word; 
}


/* Section als Flex-Container für die Divs */
section {
    display: flex;       /* Flexbox aktivieren */
    gap: 8%;            /* Abstand zwischen den Divs */
    margin-bottom: 1%;  /* optional: Abstand zwischen Sections */
    justify-content: center; /* Content mittig ausrichten */
    align-items: start; /* Content mittig ausrichten */
}

/* Direkt untergeordnete Divs */
section > div {
    flex: 1 1 50%;       /* Basisbreite 50%, flexibel */
    box-sizing: border-box;
    padding: 1% 0;        /* Innenabstand */

}

/* Optional: Erstes Div links ein Padding */
section > div:first-child {
    padding-left: 2.5%;
    hyphens: manual;

}

/* Optional: Zweites Div rechts ein Padding */
section > div:last-child {
    padding-right: 5%;
    hyphens: manual;

}

section.page-banner  {
  background: var(--blue);
  color: var(--white);
/*  align-items: first baseline; */
  padding: 4rem 6rem !important;

}

section.page-banner a  {
  color: var(--white);
}

section.page-ueberblick ul  {
  padding-inline-start: 3em;
  margin-bottom: 1.5em;
}

section.page-ueberblick ul li  {
  font-size: 1.4rem;
  font-family: var(--font-text-serif);
  font-weight: 350; 
  line-height: 1.65;
  padding-inline-start: 0.5em;
  margin-bottom: 1em;
}


h1 {font-family: var(--font-text-serif); font-size: 1.8rem; font-weight: 700; margin: 0; }
h2 {font-family: var(--font-text-sans); font-size: 2.4rem; font-weight: 500; margin-bottom: 0.6em;  }
h3 {font-family: var(--font-text-sans); font-size: 2rem; font-weight: 500; line-height: 1.3;  margin: 2rem 0 1.5rem 0; }
h4 {font-family: var(--font-text-sans); font-size: 2.8rem; font-weight: 400; color: var(--blue); margin: 2rem 0 1.5rem 0; }
h5 {font-family: var(--font-text-sans); font-size: 1.4rem; font-weight: 400;  }
p {font-family: var(--font-text-serif); font-size: 1.4rem; font-weight: 350; line-height: 1.65; padding-bottom: 1.5em;}

a { color: var(--black); }
a:focus,
a:hover,
a:active { border-bottom: 4px solid var(--linkfarbe); color: var(--blue); text-decoration: none;}  
  
p a {font-weight: 400; text-decoration: underline;}
p > a:focus,
p > a:hover,
p > a:active { border-bottom: 4px solid var(--linkfarbe) !important; font-weight: 600; color: var(--blue); text-decoration: none;} 

nav  > a { font-family: var(--font-text-sans);  }

copyright::before {
    content: "© "; /* © + Leerzeichen */
}

copyright {
	font-size: 0.8rem;
}

article h1 {
    padding-left: 54%;
    text-transform: lowercase;
    font-variant: small-caps;
    letter-spacing: 0.03em;
    font-weight: 500;
}

button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1.4rem 2.4rem;
    text-decoration: none;
    cursor: auto;
    border-radius: 0%;
    border: none;
    background-color: var(--button);
    margin: 3em auto; 
}
  
button > a { 
    font-size: 1.4rem; 
    font-family: var(--font-text-sans); 
    color: var(--white, #fff);
    font-weight: 400;
    text-decoration: none;
}

button > a:focus,
button > a:hover,
button > a:active { border-bottom: 4px solid var(--white); color: var(--white); }  

img {
      -webkit-user-drag: none;
      zoom: none;
      -webkit-user-select: none;
      user-select: none;
      -moz-user-select: none;
      max-width: 100%;
      height: auto;
      padding-top: 0.8rem;
}


#scrollUpBtn {
  position: fixed;      /* fixiert am Viewport */
  bottom: 1rem;
  right: 4em;
  padding: 0.5rem 1rem;
  font-size: 1rem;
  font-weight: 700;
  background: var(--button);
  color: #fff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  z-index: 999;         /* über allem */
}

#scrollUpBtn:hover {
    opacity: 1;
}



/* -------------------------- */
/* Desktop ≥1201px (default)  */
/* -------------------------- */








/* ---------- HEADER ---------- */
header {
    display: flex;
    justify-content: space-between;
    align-items: normal;
    padding: 2.5%;
    
}

div.logo { /* Ausschalten für Logo */
  hyphens: none;
  overflow-wrap: normal;
  word-wrap: normal;
  white-space: nowrap 

} 
header .logo .name,
header .logo .description {
    margin: 0;
}

header .logo  .name {
  font-family: var(--font-text-serif), serif;
  text-transform: lowercase;
  font-variant: small-caps;
  letter-spacing: 0.03em;
  font-weight: 560;
  font-size: 3.4rem;
  position: relative;
  margin-top: 1rem;
}

/* Für sehr kleine Bildschirme */
@media (max-width: 460px) {
  header .logo  .name {
    font-size: 2rem;
  }
}

header .logo  .name a {
  text-decoration: none;  
}

header .logo  .name span {
  font-size: 0.5em;
  position: absolute;
  bottom: 1.8em;
  left: 0.15em;

}

header .logo  .name span::after {
  content: "\A"; /* Das Zeilenumbruchzeichen */
  white-space: pre; /* Sorgt dafür, dass der Zeilenumbruch interpretiert wird */
}

header .logo .description {
  font-family: var(--font-text-sans);
  font-size: 1.2rem;
  font-weight: normal;
  letter-spacing: 0.01em;
  border-top: 1px solid var(--black) ;
  width: 14em;
  padding-left: 0.15rem;
}

/* Für sehr kleine Bildschirme damit das Logo erhlaten bleibt. Sehr selten.*/
@media (max-width: 460px) {
  header .logo .name { font-size: 2rem }
  header .logo .description { font-size: 0.8rem }
}


header nav {
    display: flex;
}




/* ---------- NAVIGATION ---------- */

.main-navigation ul li > a {
  padding: 0.3rem 0.5rem;
}


.main-navigation ul {
    list-style: none;
    display: flex;
    margin-top: 2.2rem;;
    gap: 0 1.4rem;

}

.main-navigation li {
    position: relative;
    margin: 0;
    padding: 0;
    cursor: pointer;
}

.main-navigation a {
    font-family: var(--font-text-sans, sans-serif);
    font-size: 1.5rem;
    letter-spacing: 0.005%;
    font-weight: 400; 
    color: var(--black, #000);
    text-decoration: none;
    cursor: pointer;
}

 .main-navigation a:focus,
 .main-navigation a:hover,
 .main-navigation a:active { 
 	border-bottom: 4px solid var(--blue); 
 	color: var(--blue);  
 	background: var(--menuehover, #f5f5f5);
 } 

.current_page_item > a { color: var(--blue); }

/* ---------- UNTERMENÜ ---------- */

.main-navigation li {
    position: relative; /* wichtig für absolute Position des Untermenüs */
}

.main-navigation li .sub-menu {
    display: none;
    position: absolute; 
    left: 0;
    flex-direction: column;
    background: var(--submenuehover, #f5f5f5);
    margin-top: 2rem;
    box-shadow: 0 2px 5px rgba(0,0,0,0.5);
    z-index: 999;
}

.main-navigation ul > li:hover > .sub-menu {
    display: flex; /* zeigt das Untermenü beim Hover */
}

.main-navigation .sub-menu li a {
    padding: 0.5rem 1rem;
    display: block;
    color: var(--black, #000);
}

.main-navigation .sub-menu li a:focus,
.main-navigation .sub-menu li a:hover,
.main-navigation .sub-menu li a:active
{
    background: none;
    color: var(--blue);
    border-bottom: 4px solid var(--blue, #fff); 
}




/* Main Content – First Section */

#ueberblick-gutachten  h2 {
  font-family: var(--font-text-serif);
  font-size: 3rem;
  color: var(--blue);
  margin-bottom: 0.6em;
}

#ueberblick-gutachten > div:nth-child(1) > img:nth-child(1) {
  padding-top: 1.2rem;
}


/* Main Content – Second Section - Banner */

.page-banner   {
  font-family: var(--font-text-serif);
  color: var(--white, #fff);
  margin: 4rem auto;
  font-size: 2.6rem;
  font-weight: 450;
}

.page-banner p {
  font-family: var(--font-text-sans);
  line-height: 2em;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  letter-spacing: 0.02em;
  
}

.page-banner p a {
  font-family: var(--font-text-sans);
  font-size: 1.4rem;
  line-height: 1.6em;
  font-weight: 350;
  letter-spacing: 0.02em;
}

.page-banner p a:focus, 
.page-banner p a:hover, 
.page-banner p a:active {
  border-bottom: 4px solid var(--linkfarbe);
  color: var(--white);
  text-decoration: none;
}

.page-banner ul {
  display: flex;
  /*! list-style-type: none; */
  flex-direction: column;
  align-items: flex-start;
  align-content: space-between;
}

.page-banner li {
  font-family: var(--font-text-sans);
  font-size: 1.4rem;
  line-height: 1.6em;
  font-weight: 350;
  letter-spacing: 0.02em;
  padding-inline-start: 0.5em;
  padding-bottom: 0.5em;
  padding-top: 0.5em;
}

.page-banner li a   {
  font-family: var(--font-text-sans);
  color: var(--white, #fff);
}

figure a,
figure a:focus,
figure a:hover,
figure a:active {
  border-bottom: none;
  text-decoration: none;
}

.wp-image-347 {
  max-width: 260px;
}

/* ---------- Footer ---------- */
footer {
  display: flex;
  flex-direction: column;
}

.footer-top {
  display: flex;
  flex-direction: row;
  justify-content: normal;
  background: var(--blue);
  gap: 3%;
  align-items: start;
  flex-wrap: wrap;
  padding: 2rem 3rem;
}

.footer-top > div {
  flex: fit-content;
  padding: 2rem 2rem;
}
    
.footer-top  {
  color: var(--white);
}

.footer-top h3 { margin-bottom: 1.5rem; }

.footer-top p { font-weight: 500; }

.footer-top > div > p > a {  color: var(--white); }

.footer-top > div > p > a:focus,
.footer-top > div > p > a:hover,
.footer-top > div > p > a:active {  
  border-bottom: 4px solid var(--white) !important;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--white);
  color: var(--black);
  padding: 1rem 2rem;
}

/* ---------- BURGER-MENÜ default ausgeschaltet ---------- */

/* Checkbox ausblenden */
input.menu-toggle {display: none;}
.menu-icon {display: none;}



/* -------------------------- */
/* Middle / Tablet 769-1200px */
/* -------------------------- */
@media (min-width: 769px) and (max-width: 1200px) {

  header {
    flex-direction: column;    /* Elemente untereinander */
  }
  
  .menu-icon {
    display: none;            /* Burger-Icon noch versteckt */
  }
  #menu-navigation {margin-left: -0.3rem;}
}

/* -------------------------- */
/* Mobile 0-768px              */
/* -------------------------- */
@media (max-width: 768px) {

  header, section {
    flex-direction: column;    /* Elemente untereinander */
  }
  section div {
    flex-direction: column;    /* Elemente untereinander */
  }

  section > div { padding: 0 5% 0.5em 5% !important;  }

  h1 { font-size: 1.4rem; }
  h2 { font-size: 2rem; margin-top: 1em; }

  #ueberblick-gutachten  h2 {
  font-size: 2rem;
  margin-bottom: 0.6em;
  margin-top: 1em;
}

  .logo {
  padding-left: 2.5%;
  }

  article h1 {
    padding-left: 5%;
    margin-top: 1em;
  }
  
  .main-navigation ul {
    flex-direction: column;
    align-items: first baseline;
    margin-top: 1rem;
    margin-bottom: 1rem;
    margin-left: -0.4rem;

  } 
  .main-navigation {
	    display: flex;                /* Flexbox aktivieren */
	    flex-direction: row;          /* Elemente nebeneinander */
	    justify-content: first baseline;    /* nach rechts ausrichten */
	    align-items: center;          /* vertikal zentrieren */
	    list-style: none;             /* Punkte entfernen */
      margin-top: 1rem;
      margin-bottom: 1rem;
	    padding: 0;
      border-top: solid 1px; 
      border-bottom: solid 1px; 

  }
  .main-navigation li .sub-menu {
    position: relative; /* könnte auch absolute sein */ 
  }

  article section figure {
    display: none;
  }

  article section:first-of-type figure {
    display: block;}


  section.page-banner {  padding: 3rem 1rem !important; }
  .page-banner {  margin: 2.4rem auto; font-size: 1.8rem; }
  .page-banner li { font-size: 1.4rem; letter-spacing: 0.01em; }
  button { margin: 1em auto; }
  .alignright > img { margin-top: 1rem; }
  .footer-top { padding: 1rem 2rem; margin-top: 1rem; }  

  .wp-image-347,
  .wp-image-347 {
      max-width: 160px;
  }

  .footer-top > div {
    padding: 0rem;
  }

  .impress > a { font-size: 1.4rem; }


  /* Label als Burger-Icon */
  .menu-icon {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 50px;      /* Breite des Burgers */
    height: 31px;     /* Höhe des Burgers */
    cursor: pointer;

    /* Fix oben rechts */
    position: absolute;  /* bleibt immer am Bildschirm */
    top: 5%;        /* Abstand von oben */
    right: 5%;      /* Abstand von rechts */
    z-index: 200;     /* sicher über allen Elementen */
  }

  /* Die drei Balken */
  .menu-icon span {
    display: block;
    height: 4px;           /* Dicke der Balken */
    width: 100%;
    background-color: var(--black, #000);
    border-radius: 2px;    /* optional: abgerundete Balken */
    transition: 0.3s ease; /* sanfte Animation */
  }


  /* Optional: Animation, wenn Menü geöffnet ist */
  .menu-toggle:checked + .menu-icon span:nth-child(1) {
    transform: rotate(45deg) translate(9.5px, 9.5px);
  }

  .menu-toggle:checked + .menu-icon span:nth-child(2) {
    opacity: 0;
  }

  .menu-toggle:checked + .menu-icon span:nth-child(3) {
    transform: rotate(-45deg) translate(9.5px, -9.5px);
  }

  .menu-icon + nav {
    display: none;
  }

  /* Wenn Checkbox aktiviert → Menü anzeigen */
  .menu-toggle:checked + .menu-icon + nav {
    display: flex;
  }
  
  /*Footer-Menü umbrechen */
  .footer-bottom {
  	flex-direction: column-reverse;
  	justify-content: normal;
  }
  .footer-bottom .impress {
  	margin-bottom: 1rem;
  }
}








/* ---------- DEBUG-VISUALISIERUNG ---------- */

body[debug="true"] header {
  outline: 2px dashed #00bfff; /* hellblauer Rahmen um Header */
}


body[debug="true"] .menu-icon {
  background: rgba(255, 255, 255, 0.05);
  outline: 2px dotted orange; /* orange Umrandung um das Burger-Symbol */
}


body[debug="true"] .nav {
  /*background: rgba(52, 73, 94, 0.95); /* halbtransparent, damit du siehst, ob es verdeckt wird */
  outline: 2px solid lime; /* grüner Rahmen um das Menü */
}


body[debug="true"] .nav ul {
  background: rgba(0, 255, 0, 0.05);
}


body[debug="true"] .submenu {
  background: rgba(255, 0, 0, 0.3); /* rötlich, damit Untermenü sichtbar wird */
  outline: 1px dashed red;
}


body[debug="true"] .menu-toggle {
  outline: 1px solid yellow; /* Checkbox-Position prüfen */
}
