/*
Theme Name: PEMH
Theme URI: https://pemh.de
Author: Glenn Zimmer
Description: Offizielles Theme der Wahlliste "Pflegende Eifel/Mosel/Hunsrück" (PEMH) zur Wahl der Vertreterversammlung der Landespflegekammer Rheinland-Pfalz 2026. Enthält Startseite, Kandidat:innen-Verwaltung, Aktuelles-Archiv und Kontaktformular. Startseite (Texte, Abschnitte ein-/ausblenden) unter Design → Anpassen konfigurierbar.
Version: 1.0
Text Domain: pemh
*/

html { scroll-behavior: smooth; }
body { margin: 0; background: #ffffff; font-family: 'Source Sans 3', Helvetica, Arial, sans-serif; color: #454545; }
a { color: #2478B4; text-decoration: none; }
a:hover { color: #6CB43C; }
input, textarea, button { font-family: inherit; }
img { max-width: 100%; }
main { min-width: 0; }
input, textarea { min-width: 0 !important; max-width: 100%; box-sizing: border-box; }

/* Burger button hidden by default (desktop) */
[data-r="burger"] { display: none; }

/* ---- Responsive breakpoints (identisch zum Claude-Design-Entwurf) ---- */
@media (max-width: 1000px) {
  [data-r="g4"] { grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; }
  [data-r="g3"] { grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; }
  [data-r="g3"] > *, [data-r="g4"] > * { min-width: 0; }
  [data-r="feat"] { flex-direction: column !important; }
  [data-r="feat"] > div:first-child { width: 100% !important; height: 240px !important; }
}
@media (max-width: 820px) {
  [data-r="burger"] { display: flex; }
  [data-r="hdr"] { position: relative; gap: 16px; }
  [data-r="nav"] { position: absolute; top: 100%; left: 0; right: 0; flex-direction: column !important; align-items: stretch !important; gap: 0 !important; background: #ffffff; border-bottom: 1px solid #E3E9DE; box-shadow: 0 16px 32px rgba(0,0,0,.10); padding: 8px 0; display: none !important; }
  [data-r="nav"][data-open="true"] { display: flex !important; }
  [data-r="nav"] > * { padding: 14px 24px !important; border-bottom: 1px solid #F0F3EE; text-align: left; }
  [data-r="nav"] > *:last-child { border-bottom: none; margin: 8px 24px; text-align: center; }
  [data-r="hero"] { height: auto !important; min-height: 520px; }
  [data-r="hero"] > img { position: absolute; inset: 0; height: 100%; }
  [data-r="hero"] > div:last-child { position: relative !important; padding: 64px 0; }
  [data-r="g2"], [data-r="g3"] { grid-template-columns: minmax(0,1fr) !important; gap: 28px !important; }
  [data-r="g4"] { gap: 20px !important; }
  [data-r="nl"] > div:last-child { flex-direction: column !important; width: 100%; }
  [data-r="nl"] > div:last-child > * { width: 100% !important; }
  [data-r="g2"] > * { min-width: 0; }
}
@media (max-width: 560px) {
  [data-r="g4"] { grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; gap: 16px !important; }
  [data-r="g4"] > * { min-width: 0; overflow-wrap: anywhere; }
  [data-r="g4"] > * > div:first-child { height: 180px !important; }
}

/* ---- Contact Form 7 an das dunkle Kontakt-Panel angleichen ---- */
#kontakt .wpcf7-form-control-wrap { display: block; }
#kontakt .wpcf7 input[type="text"],
#kontakt .wpcf7 input[type="email"],
#kontakt .wpcf7 textarea {
  background: #3b3b3b; border: 1px solid #5a5a5a; color: #ffffff;
  padding: 14px 16px; font-size: 16px; width: 100%; box-sizing: border-box;
}
#kontakt .wpcf7 textarea { resize: vertical; }
#kontakt .wpcf7-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; align-items: stretch; }
#kontakt .wpcf7-row label { margin: 0; }
#kontakt .wpcf7 label { display: flex; flex-direction: column; gap: 8px; align-items: stretch; font-size: 14px; line-height: 1.5; color: rgba(255,255,255,.8); }
#kontakt .wpcf7 label .wpcf7-form-control-wrap { flex: 1; display: flex; }
#kontakt .wpcf7 label .wpcf7-form-control-wrap input { flex: 1; }
@media (max-width: 640px) {
  #kontakt .wpcf7-row { grid-template-columns: 1fr; }
}
#kontakt .wpcf7 input[type="submit"] {
  background: #6CB43C; border: none; color: #ffffff; padding: 16px 28px;
  font-size: 16px; font-weight: 700; cursor: pointer;
}
#kontakt .wpcf7-not-valid-tip { color: #ffb4b4; font-size: 13px; }
#kontakt .wpcf7-response-output { border-color: rgba(255,255,255,.4) !important; color: #ffffff; }

/* ---- Blog-Inhalt (single.php) ---- */
.pemh-post-content p { margin: 0 0 20px 0; }
.pemh-post-content img { display: block; margin: 20px 0; width: 90%; }
