/*
Theme Name: Leben mit Plan B
Theme URI: https://leben-mit-plan-b.de
Author: Axel Kopp
Description: Professionelles Online-Magazin für Menschen, die ihren nächsten Lebensabschnitt bewusst gestalten.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: Private
Text Domain: lmpb
*/

/* ============================================================
   DESIGN TOKENS
   Alle Farben und Abstände zentral – nie hardcoded im Template
   ============================================================ */
:root {
    --navy:        #0d1b3e;
    --navy-light:  #1a2f5e;
    --orange:      #e87722;
    --orange-dark: #c45e0a;
    --white:       #ffffff;
    --gray-bg:     #f4f5f7;
    --gray-border: #e5e7eb;
    --gray-mid:    #6b7280;
    --gray-dark:   #374151;
    --text-dark:   #1a1a2e;

    --font-sans:   'Arial', Helvetica, sans-serif;
    --font-serif:  'Georgia', serif;

    --max-width:   1100px;
    --section-pad: 56px 2rem;
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
    font-family: var(--font-sans);
    font-size: 15px;
    color: var(--text-dark);
    background: var(--white);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a   { text-decoration: none; color: inherit; }
ul  { list-style: none; }

/* ============================================================
   LAYOUT UTILITY
   ============================================================ */
.lmpb-inner {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 1rem;
}

.lmpb-section { padding: var(--section-pad); }

/* ============================================================
   TYPOGRAPHY UTILITY
   ============================================================ */
.lmpb-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--orange);
    display: block;
    margin-bottom: 8px;
}

.lmpb-title {
    font-family: var(--font-sans);
    font-size: 26px;
    font-weight: 900;
    color: var(--navy);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.15;
}

.lmpb-title--white { color: var(--white); }

.lmpb-rule {
    width: 48px;
    height: 3px;
    background: var(--orange);
    margin: 12px 0 20px;
}

.lmpb-rule--center { margin: 12px auto 20px; }

/* ============================================================
   BUTTONS
   ============================================================ */
.lmpb-btn {
    display: inline-block;
    padding: 12px 24px;
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    cursor: pointer;
    border: none;
    transition: background 0.2s, color 0.2s;
}

.lmpb-btn--primary   { background: var(--navy);   color: var(--white); border: 2px solid var(--white); }
.lmpb-btn--secondary { background: transparent;    color: var(--white); border: 2px solid rgba(255,255,255,0.45); }
.lmpb-btn--dark      { background: var(--navy);    color: var(--white); }
.lmpb-btn--orange    { background: var(--orange);  color: var(--white); }

.lmpb-btn--primary:hover   { background: var(--orange); border-color: var(--orange); }
.lmpb-btn--secondary:hover { border-color: var(--white); background: rgba(255,255,255,0.1); }
.lmpb-btn--dark:hover      { background: var(--navy-light); }
.lmpb-btn--orange:hover    { background: var(--orange-dark); }

/* ============================================================
   SCREEN-READER ONLY
   ============================================================ */
.sr-only {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}
