/*
Theme Name: MUKKI Original-Look (barrierefrei)
Template: twentytwentyfive
Description: Child-Theme von Twenty Twenty-Five, das die Darstellung der bisherigen mukki-pflege.de nachbildet – mit WCAG-2.1-AA-konformen Kontrasten, Fokus-Stilen und barrierefreien Komponenten. Header und Footer sind als fertige Template-Parts enthalten.
Version: 1.0.0
Author: MUKKI GmbH
Text Domain: mukki-originallook
*/

/* =================== Grundtypografie (nah am JupiterX-Original) =================== */
body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #1f1f1f;
  font-size: 1rem;
  line-height: 1.65;
  background: #fff;
}

/* Überschriften im Markenblau, Seitentitel in Versalien wie bisher */
h1, h2, h3 { color: #164693; }
h1 {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: .03em;
  text-transform: uppercase;
}
h2 { font-size: 1.25rem; font-weight: 600; }
h3 { font-size: 1.1rem; font-weight: 600; }
h4 { color: #1f1f1f; font-size: 1rem; font-weight: 700; }

/* Lead-Zeile unter Seitentiteln (das frühere kursive Zitat-Format) */
.bf-lead { font-size: 1.15rem; color: #164693; font-style: italic; }
.bf-credit { font-size: .85rem; color: #555; }

/* =================== Links & Fokus (WCAG 1.4.1 / 2.4.7) =================== */
a { color: #114084; text-decoration: underline; text-underline-offset: 2px; }
a:hover { color: #0c2f63; }
a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible, summary:focus-visible {
  outline: 3px solid #164693 !important;
  outline-offset: 2px;
  box-shadow: 0 0 0 5px #fff04c !important;
  border-radius: 2px;
}

/* =================== Header =================== */
.mukki-header {
  border-bottom: 1px solid #e3e3e3;
  background: #fff;
  padding: .75rem 0;
}
.mukki-header .wp-block-site-logo img { max-height: 84px; width: auto; }
.mukki-header .wp-block-navigation a {
  color: #164693;
  font-weight: 600;
  text-decoration: none;
  padding: .55rem .7rem;
  border-radius: 4px;
}
.mukki-header .wp-block-navigation a:hover { text-decoration: underline; background: #eef2f9; }
.mukki-header .wp-block-navigation a[aria-current="page"] { background: #164693; color: #fff; }

/* =================== Bilder =================== */
.wp-block-image img { height: auto; }
.banner-klein img { max-width: 425px; width: 100%; }

/* =================== Trenner (gepunktete Linie wie bisher) =================== */
hr.wp-block-separator {
  border: 0;
  border-top: 2px dotted #164693;
  width: 100%;
  max-width: none;
  margin: 2.5rem auto;
  opacity: 1;
}

/* =================== Buttons (blauer Button wie „Download Flyer") =================== */
.wp-block-button__link {
  background-color: #164693;
  color: #fff;
  border-radius: 3px;
  font-weight: 600;
  text-decoration: underline;
  padding: .8rem 1.4rem;
  min-height: 44px;
}
.wp-block-button__link:hover { background-color: #0c2f63; color: #fff; }

/* =================== Listen mit blauer Markierung =================== */
.entry-content ul li::marker, .wp-block-post-content ul li::marker { color: #164693; }

/* =================== Zitate (Gesellschafter) =================== */
.wp-block-quote {
  border-left: 4px solid #164693;
  padding-left: 1rem;
  font-style: italic;
  color: #333;
}

/* =================== FAQ (Details-Blöcke) =================== */
.wp-block-details {
  border: 1px solid #c4c4c4;
  border-radius: 3px;
  margin-bottom: .5rem;
  background: #fcfcfc;
  padding: 0;
}
.wp-block-details summary {
  cursor: pointer;
  padding: .9rem 1rem;
  font-weight: 600;
  color: #164693;
}
.wp-block-details summary:hover { background: #eef2f9; }
.wp-block-details[open] summary { border-bottom: 1px solid #c4c4c4; }
.wp-block-details > :not(summary) { padding: 0 1rem; }
.wp-block-details > :last-child { padding-bottom: 1rem; }

/* =================== Gravity Forms =================== */
.gform_wrapper label.gfield_label, .gform_wrapper legend.gfield_label {
  font-weight: 600; display: block; margin-bottom: .25rem;
}
.gform_wrapper input[type="text"], .gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"], .gform_wrapper textarea, .gform_wrapper select {
  border: 2px solid #5a5a5a; border-radius: 3px;
  padding: .6rem; width: 100%; min-height: 44px; font-size: 1rem;
}
.gform_wrapper .gfield_required { color: #9b1c1c; }
.gform_wrapper .gfield_validation_message, .gform_wrapper .validation_message {
  color: #9b1c1c; font-weight: 600; background: #fdf2f2;
  border-left: 4px solid #9b1c1c; padding: .5rem .75rem; margin-top: .25rem;
}
.gform_wrapper .gform_button {
  background: #164693; color: #fff; border: 2px solid #164693;
  padding: .8rem 1.6rem; border-radius: 3px;
  font-weight: 600; font-size: 1rem; cursor: pointer; min-height: 44px;
}
.gform_wrapper .gform_button:hover { background: #0c2f63; }

/* =================== Footer (wie bisher: Slogan + Spalten + Rechtliches) =================== */
.mukki-footer {
  border-top: 1px solid #e3e3e3;
  background: #fafafa;
  padding: 2.5rem 0 1.5rem;
  margin-top: 3rem;
}
.mukki-footer h2 {
  font-size: 1rem;
  color: #164693;
  text-transform: uppercase;
  letter-spacing: .03em;
  margin-bottom: .5rem;
}
.mukki-footer ul { list-style: none; padding: 0; margin: 0; }
.mukki-footer li { margin-bottom: .35rem; }
.mukki-footer .slogan {
  text-align: center;
  font-weight: 700;
  color: #164693;
  font-size: 1.15rem;
  margin-bottom: 2rem;
}
.mukki-footer .legal {
  border-top: 1px solid #e3e3e3;
  margin-top: 2rem;
  padding-top: 1rem;
  font-size: .9rem;
  text-align: center;
}
.mukki-footer .legal a { margin: 0 .6rem; }

/* =================== Bewegungsreduktion =================== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
