/*
Theme Name:   Pebich 1.2.2
Description:  Eigenstaendiges Theme fuer pebich.eu (Petra Bichler – Ernaehrungsberatung und Gesundheitscoaching) in ruhiger, warmer Optik (Salbeigruen). Startseite zeigt Beitraege als Kacheln; Zeeg-Buchungslink ueber den Customizer einstellbar.
Author:       Sepp
Version:      1.2.2
Requires PHP: 7.4
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  pebich-v1
*/

/* --------------------------------------------------------------------------
   1. Farben & Grundwerte
      Ruhige Naturtoene passend zum Thema Gesundheit & Balance.
      Zum Anpassen nur diese Variablen aendern.
   -------------------------------------------------------------------------- */

:root {
    --farbe-hintergrund: #faf8f4;   /* warmes Off-White */
    --farbe-flaeche:     #ffffff;   /* Karten */
    --farbe-text:        #2e3a33;   /* dunkles Tannengruen statt Schwarz */
    --farbe-text-dezent: #6f7d74;
    --farbe-akzent:      #5c7f6b;   /* ruhiges Salbeigruen */
    --farbe-akzent-dkl:  #48664f;   /* Hover-Zustand */
    --farbe-hero:        #eef0e8;   /* zarter Gruenton fuer den Hero */
    --farbe-linie:       #e4e0d6;
    --inhalt-breite:     1100px;
    --radius:            10px;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    background: var(--farbe-hintergrund);
    color: var(--farbe-text);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    line-height: 1.7;
}

/* Ueberschriften und Bedienelemente in klarer Sans-Serif */
h1, h2, h3, h4,
.pebich-nav, .pebich-knopf, .entry-meta, time {
    font-family: -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;
}

a { color: var(--farbe-akzent-dkl); }
a:hover, a:focus { color: var(--farbe-akzent); }

img { max-width: 100%; height: auto; display: block; }

a:focus-visible,
button:focus-visible {
    outline: 2px solid var(--farbe-akzent);
    outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   2. Buchungs-Knopf (Zeeg-Link)
   -------------------------------------------------------------------------- */

.pebich-knopf {
    display: inline-block;
    background: var(--farbe-akzent);
    color: #fff !important;
    padding: 12px 26px;
    border-radius: 999px;
    text-decoration: none;
    font-size: 0.95rem;
    letter-spacing: 0.02em;
    transition: background 0.2s ease;
}

.pebich-knopf:hover,
.pebich-knopf:focus {
    background: var(--farbe-akzent-dkl);
    text-decoration: none;
}

/* --------------------------------------------------------------------------
   3. Kopfbereich & Navigation
   -------------------------------------------------------------------------- */

.pebich-header {
    background: var(--farbe-flaeche);
    border-bottom: 1px solid var(--farbe-linie);
    padding: 18px 20px;
}

.pebich-header__innen {
    max-width: var(--inhalt-breite);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px 28px;
}

/* Logo + Titel als Einheit: Logo links, Texte daneben */
.pebich-brand {
    display: flex;
    align-items: center;
    gap: 14px;
}

/* Logo: komplett transparent, ohne Box oder Umrandung */
.pebich-logo img,
.pebich-logo .custom-logo {
    height: 56px;
    width: auto;
    display: block;
}

.pebich-header__titel {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
}

.pebich-header__titel a {
    color: var(--farbe-text);
    text-decoration: none;
}

.pebich-header__slogan {
    margin: 0;
    font-size: 0.82rem;
    color: var(--farbe-text-dezent);
}

.pebich-nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 24px;
}

.pebich-nav a {
    color: var(--farbe-text-dezent);
    text-decoration: none;
    font-size: 0.95rem;
}

.pebich-nav a:hover,
.pebich-nav .current-menu-item > a,
.pebich-nav .current_page_item > a {
    color: var(--farbe-akzent-dkl);
}

/* --------------------------------------------------------------------------
   4. Hero-Bereich (Startseite)
   -------------------------------------------------------------------------- */

.pebich-hero {
    background: var(--farbe-hero);
    padding: 70px 20px;
    text-align: center;
}

.pebich-hero__innen {
    max-width: 720px;
    margin: 0 auto;
}

.pebich-hero h1 {
    font-family: Georgia, serif;
    font-weight: 500;
    font-size: clamp(1.7rem, 4vw, 2.6rem);
    line-height: 1.3;
    margin: 0 0 0.5em;
}

.pebich-hero p {
    color: var(--farbe-text-dezent);
    margin: 0 0 1.6em;
}

/* Variante MIT kleinem Bild: Texte links, Bild rechts daneben.
   CSS kennt echte Zentimeter-Angaben – 3cm entsprechen am Bildschirm
   rund 113 Pixeln. */
.pebich-hero__innen--mit-bild {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    text-align: left;
    max-width: 860px;
}

.pebich-hero__bild {
    width: 4cm;               /* vorher 3cm – etwas groesser */
    height: 4cm;
    object-fit: cover;        /* fuellt das Quadrat, ohne zu verzerren */
    border-radius: 50%;       /* rund; fuer eckig: var(--radius) */
    border: 3px solid var(--farbe-flaeche);
    box-shadow: 0 8px 22px rgba(46, 58, 51, 0.15);
    flex-shrink: 0;           /* Bild wird nie zusammengedrueckt */

    /* Bild um 1,5 cm nach oben versetzen. "position: relative" mit
       "top" verschiebt nur die Darstellung – der reservierte Platz im
       Layout bleibt, dadurch rutscht kein anderer Inhalt nach. */
    position: relative;
    top: -1.5cm;
}

/* Auf schmalen Displays steht das Bild ueber dem Text – dort den
   Versatz wieder aufheben, sonst ragt es in den Kopfbereich hinein */
@media (max-width: 600px) {
    .pebich-hero__bild {
        top: 0;
    }
}

/* Auf schmalen Displays: Bild ueber den Text stellen */
@media (max-width: 600px) {
    .pebich-hero__innen--mit-bild {
        flex-direction: column-reverse;
        text-align: center;
    }
}

/* --------------------------------------------------------------------------
   5. Kachel-Raster: jeder Beitrag ist eine Kachel
   -------------------------------------------------------------------------- */

.pebich-inhalt {
    max-width: var(--inhalt-breite);
    margin: 0 auto;
    padding: 46px 20px 70px;
}

.pebich-raster {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 24px;
}

.pebich-kachel {
    background: var(--farbe-flaeche);
    border: 1px solid var(--farbe-linie);
    border-radius: var(--radius);
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.pebich-kachel:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(46, 58, 51, 0.12);
}

.pebich-kachel__bild {
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background: var(--farbe-hero);
}

.pebich-kachel__bild img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pebich-kachel__text {
    padding: 20px 22px 24px;
}

.pebich-kachel__text h2 {
    font-family: Georgia, serif;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.35;
    margin: 0 0 8px;
}

.pebich-kachel__text h2 a {
    color: var(--farbe-text);
    text-decoration: none;
}

.pebich-kachel__text h2 a:hover {
    color: var(--farbe-akzent-dkl);
}

.pebich-kachel__text p {
    margin: 0;
    font-size: 0.95rem;
    color: var(--farbe-text-dezent);
}

/* --------------------------------------------------------------------------
   6. Einzelansicht (Beitraege & Seiten)
   -------------------------------------------------------------------------- */

.entry-title {
    font-family: Georgia, serif;
    font-weight: 500;
    font-size: 2rem;
    line-height: 1.3;
    margin: 0 0 0.5em;
}

.entry-meta {
    color: var(--farbe-text-dezent);
    font-size: 0.85rem;
    margin-bottom: 1.6em;
}

.pebich-einzel {
    max-width: 760px;
    margin: 0 auto;
}

.pebich-einzel .beitragsbild {
    margin: 0 0 1.8em;
    border-radius: var(--radius);
    overflow: hidden;
}

.entry-content blockquote {
    border-left: 3px solid var(--farbe-akzent);
    margin-left: 0;
    padding-left: 18px;
    color: var(--farbe-text-dezent);
    font-style: italic;
}

/* Buchungs-Hinweis unter Beitraegen */
.pebich-cta-box {
    margin-top: 2.5em;
    padding: 26px 28px;
    background: var(--farbe-hero);
    border-radius: var(--radius);
    text-align: center;
}

.pebich-cta-box p {
    margin: 0 0 1em;
}

/* --------------------------------------------------------------------------
   7. Fussbereich
   -------------------------------------------------------------------------- */

.pebich-footer {
    background: var(--farbe-flaeche);
    border-top: 1px solid var(--farbe-linie);
    padding: 30px 20px;
    text-align: center;
    color: var(--farbe-text-dezent);
    font-size: 0.85rem;
}

.pebich-footer p { margin: 0 0 6px; }

/* --------------------------------------------------------------------------
   8. Barrierefreiheit & Mobilgeraete
   -------------------------------------------------------------------------- */

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
    .pebich-kachel { transition: none; }
}

@media (max-width: 600px) {
    body { font-size: 16px; }
    .pebich-hero { padding: 46px 18px; }
    .pebich-raster { grid-template-columns: 1fr; }
}
