/*
Theme Name: WP Neumann
Theme URI: https://wpneumann.de
Author: Frank Neumann
Author URI: https://wpneumann.de
Description: Massgeschneidertes Theme fuer die Wirtschaftspruefer-Website Frank Neumann. Seriös, ruhig, Marineblau mit Gold-Akzent (wp+neumann). Mehrsprachig vorbereitet (Polylang), datenschutzfreundlich (keine externen Aufrufe, System-Schriften).
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
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: wpneumann
*/

:root{
  --navy:#11192b;
  --navy-2:#0d1320;
  --navy-line:#23304b;
  --gold:#d49423;
  --gold-bright:#e0a020;
  --gold-dark:#8a5c08;
  --ink:#1d2430;
  --muted:#5f6b7e;
  --line:#e3e6ec;
  --bg:#ffffff;
  --bg-soft:#f6f7f9;
  --serif: Georgia, "Iowan Old Style", "Times New Roman", serif;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --wrap: 1080px;
  --radius:8px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--sans); font-size:17px; line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; height:auto;}
a{color:var(--gold-dark); text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3,h4{font-family:var(--serif); font-weight:500; color:var(--ink); line-height:1.25; margin:0 0 .5em;}
h1{font-size:2.1rem;} h2{font-size:1.6rem;} h3{font-size:1.25rem;}
p{margin:0 0 1.1em;}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 24px;}
.skip-link{position:absolute; left:-9999px;}
.skip-link:focus{left:8px; top:8px; background:#fff; padding:8px 14px; z-index:999; border-radius:6px;}

/* Header */
.site-header{background:var(--navy); color:#f4f6fa; border-bottom:1px solid var(--navy-line);}
.site-header .wrap{display:flex; align-items:center; gap:20px; min-height:74px;}
.brand{display:flex; align-items:center; gap:9px; font-family:var(--serif); font-size:1.4rem; color:#f4f6fa; letter-spacing:.4px;}
.brand:hover{text-decoration:none;}
.brand .plus{color:var(--gold-bright); font-size:1.7rem; line-height:0; font-weight:500;}
.brand small{display:block; font-family:var(--sans); font-size:.66rem; letter-spacing:2px; text-transform:uppercase; color:#9fb0cc; margin-top:2px;}
.nav-toggle{display:none; margin-left:auto; background:none; border:1px solid var(--navy-line); color:#f4f6fa; border-radius:6px; padding:8px 11px; font-size:1.1rem; cursor:pointer;}
.main-nav{margin-left:auto;}
.main-nav ul{list-style:none; display:flex; gap:24px; margin:0; padding:0;}
.main-nav a{color:#d7e0ee; font-size:.97rem; padding:6px 0; position:relative;}
.main-nav a:hover{color:#fff; text-decoration:none;}
.main-nav .current-menu-item>a{color:#fff;}
.main-nav .current-menu-item>a:after{content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--gold-bright);}
.lang-switch{display:flex; gap:6px; align-items:center; margin-left:8px;}
.lang-switch a, .lang-switch span{font-size:.8rem; color:#9fb0cc; border:1px solid var(--navy-line); border-radius:5px; padding:3px 8px;}
.lang-switch .current-lang, .lang-switch a:hover{color:var(--gold-bright); border-color:var(--gold-dark); text-decoration:none;}

/* Hero */
.hero{position:relative; background:var(--navy); color:#f4f6fa; overflow:hidden; padding:72px 0 64px;}
.hero .wrap{position:relative; z-index:2;}
.hero .eyebrow{color:var(--gold-bright); text-transform:uppercase; letter-spacing:1.6px; font-size:.8rem; margin:0 0 14px;}
.hero h1{color:#f7f9fc; font-size:2.4rem; max-width:18ch; margin:0 0 18px;}
.hero p.lead{color:#c2cee0; font-size:1.12rem; max-width:52ch; margin:0 0 28px;}
.hero-matrix{position:absolute; right:-10px; top:30px; z-index:1; opacity:.12; font-family:ui-monospace,"Courier New",monospace; color:var(--gold-bright); font-size:1.05rem; line-height:1.6; letter-spacing:.45em; text-align:right; pointer-events:none; user-select:none;}
@media(max-width:780px){.hero-matrix{display:none;}}

/* Buttons */
.btn{display:inline-block; background:var(--gold); color:var(--navy); font-weight:600; font-family:var(--sans); font-size:1rem; padding:12px 26px; border-radius:6px; border:1px solid var(--gold);}
.btn:hover{background:var(--gold-bright); border-color:var(--gold-bright); text-decoration:none;}
.btn-ghost{background:transparent; color:var(--gold-bright); border:1px solid var(--gold-dark);}
.btn-ghost:hover{background:rgba(224,160,32,.1); color:var(--gold-bright);}

/* Sections */
.section{padding:56px 0;}
.section.alt{background:var(--bg-soft);}
.section-head{margin-bottom:30px;}
.section-head .sub{color:var(--muted); font-size:1.05rem; margin:0;}

/* Cards */
.cards{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px;}
.card{background:#fff; border:1px solid var(--line); border-top:3px solid var(--gold); border-radius:0 0 var(--radius) var(--radius); padding:22px;}
.card h3{font-size:1.15rem; margin-bottom:8px;}
.card p{color:var(--muted); font-size:.97rem; margin:0;}
.card a.more{display:inline-block; margin-top:12px; font-size:.9rem; color:var(--gold-dark); font-weight:600;}
@media(max-width:820px){.cards{grid-template-columns:1fr;}}

/* CTA band */
.cta{background:var(--navy); color:#f4f6fa; text-align:center; padding:54px 0;}
.cta h2{color:#fff;}
.cta p{color:#c2cee0; max-width:48ch; margin:0 auto 24px;}

/* Content / pages */
.page-content, .entry-content{max-width:760px; margin:0 auto; padding:52px 24px;}
.page-content h1, .entry-content h1{font-size:2rem;}
.entry-content ul, .page-content ul{padding-left:1.2em;}
.entry-meta{color:var(--muted); font-size:.9rem; margin-bottom:18px;}
.lead-para{font-size:1.15rem; color:var(--ink);}

/* Blog list */
.post-list{max-width:760px; margin:0 auto; padding:52px 24px;}
.post-card{border-bottom:1px solid var(--line); padding:24px 0;}
.post-card h2{font-size:1.4rem; margin-bottom:6px;}
.post-card h2 a{color:var(--ink);}
.post-card h2 a:hover{color:var(--gold-dark); text-decoration:none;}
.post-card .excerpt{color:var(--muted);}

/* Newsletter */
.newsletter{background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--radius); padding:26px; max-width:560px; margin:24px auto;}
.newsletter form{display:flex; gap:10px; flex-wrap:wrap;}
.newsletter input[type=email]{flex:1; min-width:200px; padding:11px 14px; border:1px solid var(--line); border-radius:6px; font-size:1rem;}
.newsletter .note{font-size:.82rem; color:var(--muted); margin:.6em 0 0;}

/* Footer */
.site-footer{background:var(--navy-2); color:#aab6cc; padding:40px 0 28px; font-size:.92rem;}
.site-footer a{color:#aab6cc;}
.site-footer a:hover{color:var(--gold-bright); text-decoration:none;}
.footer-grid{display:flex; flex-wrap:wrap; gap:24px; align-items:flex-start; justify-content:space-between;}
.footer-legal ul{list-style:none; display:flex; flex-wrap:wrap; gap:18px; margin:0; padding:0;}
.footer-bottom{border-top:1px solid var(--navy-line); margin-top:24px; padding-top:18px; color:#7e8ba6; font-size:.85rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}

/* Mobile nav */
@media(max-width:860px){
  .nav-toggle{display:block;}
  .main-nav{display:none; width:100%; order:3; margin:0;}
  .main-nav.open{display:block;}
  .main-nav ul{flex-direction:column; gap:0; padding:10px 0;}
  .main-nav li{border-top:1px solid var(--navy-line);}
  .main-nav a{display:block; padding:12px 0;}
  .hero h1{font-size:1.9rem;}
}


/* --- heading emphasis on content & legal pages --- */
.entry-content h2, .page-content h2 { font-weight:700; color:var(--navy); margin-top:1.6em; }
.entry-content h3, .page-content h3 { font-weight:700; color:var(--ink); }


/* --- brand accents --- */
.cta { background-image:url('/wp-content/uploads/2026/06/cta-bg.png'); background-size:cover; background-position:center; }
.brand-divider { max-width:980px; margin:2.5rem auto 0; padding:0 24px; }
.brand-divider img { width:100%; display:block; }


/* --- nav submenu (Blogs dropdown) --- */
.main-nav li{position:relative;}
.main-nav .sub-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:220px;background:var(--navy-2);border:1px solid var(--navy-line);border-radius:6px;padding:6px 0;display:none;z-index:60;}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{display:block;}
.main-nav .sub-menu li{display:block;}
.main-nav .sub-menu a{display:block;padding:9px 16px;white-space:nowrap;}
.main-nav .menu-item-has-children>a::after{content:" ▾";font-size:.8em;opacity:.7;}
@media(max-width:860px){.main-nav .sub-menu{position:static;display:block;border:0;padding:0 0 0 16px;background:transparent;}}


/* --- hero matrix accent --- */
.hero{ background-image:url('/wp-content/uploads/2026/06/hero-matrix.png'); background-repeat:no-repeat; background-position:right max(0px, calc(50vw - 516px)) center; background-size:auto 70%; }
.hero-matrix{ display:none; }
@media(max-width:820px){ .hero{ background-image:none; } }


/* --- blog banner --- */
.blog-banner{ background-color:var(--navy); padding:30px 0; margin-bottom:6px; }
.blog-banner .wrap{ display:flex; align-items:center; gap:22px; }
.blog-banner img{ height:84px; width:auto; border-radius:6px; flex:0 0 auto; }
.blog-banner h1{ color:#f7f9fc; margin:0 0 0 auto; text-align:right; }
@media(max-width:700px){ .blog-banner .wrap{ gap:14px; } .blog-banner img{ height:60px; } .blog-banner h1{ font-size:1.6rem; } }


/* Newsletter (MailPoet) */
.mailpoet_form{max-width:440px;}
.mailpoet_form .mailpoet_paragraph{margin:0 0 12px;}
.mailpoet_form input.mailpoet_text,.mailpoet_form input.mailpoet_email{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);font-size:1rem;background:var(--bg);color:var(--ink);box-sizing:border-box;}
.mailpoet_form input.mailpoet_submit,.mailpoet_form input[type=submit]{background:var(--navy)!important;color:#fff!important;border:0!important;padding:12px 22px!important;border-radius:var(--radius)!important;font-weight:600;font-family:var(--sans);cursor:pointer;transition:background .15s ease,color .15s ease;width:auto;}
.mailpoet_form input.mailpoet_submit:hover,.mailpoet_form input[type=submit]:hover{background:var(--gold)!important;color:var(--navy)!important;}
.mailpoet_message .mailpoet_validate_success{color:var(--navy);}


/* Leistungen/Services/Prestations: Abstand Überschrift zu Text um ca. 3/4 Zeile reduziert */
.page-id-243 .entry-content,
.page-id-276 .entry-content,
.page-id-278 .entry-content {
	padding-top: 30px;
}


/* Leistungen: CTA-Box – halbe Zeile mehr Abstand zu den Cards */
.page-id-243 .entry-content .cta,
.page-id-276 .entry-content .cta,
.page-id-278 .entry-content .cta {
	margin-top: 14px;
}


/* Logo-Lockup: Grundlinien bündig, Untertitel linksbündig unter dem Schriftzug */
.brand { align-items: baseline; position: relative; padding-bottom: 16px; }
.brand .plus { line-height: 1; }
.brand small { position: absolute; left: 0; bottom: 0; margin-top: 0; }

/* Leistungen: Inhaltsbereich verbreitert – Text, Cards und CTA gleiche Breite */
.page-id-243 .page-content, .page-id-276 .page-content, .page-id-278 .page-content,
.page-id-243 .entry-content, .page-id-276 .entry-content, .page-id-278 .entry-content {
	max-width: 1128px;
}
.card { overflow-wrap: break-word; hyphens: auto; }

/* Leistungen: Einleitung zweispaltig, H1 bündig mit Text */
.intro-cols { columns: 2; column-gap: 48px; }
.intro-cols p { break-inside: avoid; }
.page-id-243 .page-content > h1, .page-id-276 .page-content > h1, .page-id-278 .page-content > h1 { margin-left: 24px; }
@media (max-width: 800px) { .intro-cols { columns: 1; } }

/* Logo Variante A: kompakt, Plus 10% kleiner, Strichstaerke kompensiert */
.brand { gap: 0; }
.brand .plus { font-size: 1.53rem; font-weight: 700; }

/* Layout-Optimierung 2026-07-10 */
.wpn-focus-intro,
.wpn-focus-copy{max-width:760px;margin:.3em auto;color:var(--ink);}
.wpn-focus-intro{font-size:1.08rem;}
.wpn-focus-copy{font-size:1.03rem;margin-bottom:1.8em;}
.wpn-focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:960px;margin:0 auto 30px;}
.wpn-focus-card{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 20px;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:10px;background:linear-gradient(145deg,#fff,var(--bg-soft));color:var(--ink);font-family:var(--serif);font-size:1.08rem;font-weight:700;line-height:1.3;text-decoration:none;box-shadow:0 8px 22px rgba(17,25,43,.07);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
.wpn-focus-card::after{content:"→";color:var(--gold);font-family:var(--sans);font-size:1.25rem;}
.wpn-focus-card:hover,.wpn-focus-card:focus-visible{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 12px 28px rgba(17,25,43,.12);text-decoration:none;}

@media(min-width:861px){
  .site-header .wrap{flex-wrap:nowrap;gap:18px;}
  .main-nav{display:flex;align-items:center;margin-left:auto;white-space:nowrap;}
  .main-nav ul{gap:20px;}
  .lang-switch{margin-left:14px;white-space:nowrap;}
}
@media(max-width:860px){
  .main-nav.open .lang-switch{justify-content:flex-start;margin:0 0 14px;padding-top:2px;}
  .hero{background-image:url('/wp-content/uploads/2026/06/hero-matrix.png');background-repeat:no-repeat;background-size:auto 42%;background-position:right -36px bottom 16px;background-blend-mode:soft-light;padding:54px 0 50px;}
  .hero .wrap{padding-right:76px;}
}
@media(max-width:900px){.wpn-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){
  .wpn-focus-grid{grid-template-columns:1fr;}
  .wpn-focus-card{min-height:78px;padding:18px;}
  .hero{background-size:auto 33%;background-position:right -48px bottom 10px;}
  .hero .wrap{padding-right:24px;}
}

/* Leistungsseiten: ruhiger, zweispaltig und direkt verlinkbar */
.page-id-243 .cards,.page-id-276 .cards,.page-id-278 .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.page-id-243 .card,.page-id-276 .card,.page-id-278 .card{padding:26px;border-radius:10px;box-shadow:0 8px 22px rgba(17,25,43,.06);hyphens:none;scroll-margin-top:110px;}
.page-id-243 .card h3,.page-id-276 .card h3,.page-id-278 .card h3{font-size:1.25rem;line-height:1.3;margin-bottom:10px;}
.page-id-243 .intro-cols,.page-id-276 .intro-cols,.page-id-278 .intro-cols{column-gap:56px;margin-bottom:38px;}

/* Über mich: Portrait und Text als klare Zweispalten-Komposition */
.page-id-242 .page-content,.page-id-274 .page-content,.page-id-268 .page-content{max-width:1128px;}
.page-id-242 .entry-content,.page-id-274 .entry-content,.page-id-268 .entry-content{max-width:none;padding:0;display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.3fr);column-gap:48px;align-items:start;}
.page-id-242 .entry-content>figure:first-child,.page-id-274 .entry-content>figure:first-child,.page-id-268 .entry-content>figure:first-child{grid-column:1;grid-row:1/span 10;margin:0!important;position:sticky;top:110px;}
.page-id-242 .entry-content>p,.page-id-274 .entry-content>p,.page-id-268 .entry-content>p{grid-column:2;}

/* Kontakt: kompakte, scanbare Kontaktkarte */
.page-id-328 .page-content,.page-id-329 .page-content,.page-id-331 .page-content{max-width:900px;}
.page-id-328 .entry-content,.page-id-329 .entry-content,.page-id-331 .entry-content{max-width:720px;background:var(--bg-soft);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:12px;padding:32px;box-shadow:0 10px 28px rgba(17,25,43,.08);}
.page-id-328 .entry-content a[href^="tel:"],.page-id-329 .entry-content a[href^="tel:"],.page-id-331 .entry-content a[href^="tel:"],
.page-id-328 .entry-content a[href^="mailto:"],.page-id-329 .entry-content a[href^="mailto:"],.page-id-331 .entry-content a[href^="mailto:"]{font-weight:700;text-decoration-thickness:1px;text-underline-offset:3px;}

/* Blog: fokussierter Kopf und ruhige Artikelkarten */
.blog-banner{padding:42px 0 34px;margin:0;}
.blog-banner .wrap{display:block;}
.blog-banner img{display:none;}
.blog-banner h1{margin:0;text-align:left;font-size:clamp(2rem,5vw,3rem);}
.post-list{max-width:900px;padding-top:48px;padding-bottom:64px;}
.post-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:10px;padding:28px;margin-bottom:22px;box-shadow:0 8px 22px rgba(17,25,43,.06);}
.post-card h2{font-size:1.55rem;line-height:1.25;margin-bottom:8px;}
.post-card .entry-meta{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}

/* Cookie-Hinweis auf kleinen Bildschirmen kompakter */
@media(max-width:760px){
  #wpn-consent{left:10px!important;right:10px!important;bottom:10px!important;width:auto!important;max-width:none!important;padding:14px!important;}
  #wpn-consent p{font-size:.82rem!important;line-height:1.4!important;margin:0 0 10px!important;}
  #wpn-consent button{padding:8px 12px!important;font-size:.82rem!important;}
  .page-id-243 .cards,.page-id-276 .cards,.page-id-278 .cards{grid-template-columns:1fr;}
  .page-id-243 .intro-cols,.page-id-276 .intro-cols,.page-id-278 .intro-cols{columns:1;margin-bottom:28px;}
  .page-id-242 .entry-content,.page-id-274 .entry-content,.page-id-268 .entry-content{display:block;}
  .page-id-242 .entry-content>figure:first-child,.page-id-274 .entry-content>figure:first-child,.page-id-268 .entry-content>figure:first-child{position:static;margin:0 auto 28px!important;}
  .page-id-328 .entry-content,.page-id-329 .entry-content,.page-id-331 .entry-content{padding:24px 20px;}
  .post-card{padding:22px 20px;}
}

/* Mobile Nachprüfung 2026-07-10 */
@media(max-width:860px){
  .site-header .wrap{flex-wrap:wrap;}
  .main-nav{flex:0 0 100%;min-width:0;box-sizing:border-box;}
  .main-nav ul{width:100%;box-sizing:border-box;}
  .main-nav .sub-menu{width:100%;min-width:0;box-sizing:border-box;}
  .main-nav .sub-menu a{white-space:normal;}
}
@media(max-width:760px){
  #wpn-consent{padding:10px 12px!important;}
  #wpn-consent p{font-size:.78rem!important;line-height:1.32!important;margin-bottom:8px!important;}
  #wpn-consent button{padding:6px 10px!important;font-size:.78rem!important;}
}

/* Mobile Kartenbreite 2026-07-10 */
@media(max-width:760px){
  .page-id-243 .card,.page-id-276 .card,.page-id-278 .card{min-width:0;hyphens:auto;overflow-wrap:anywhere;}
}

/* Startseitenraster Ausrichtung 2026-07-10 */
.wpn-focus-intro,
.wpn-focus-copy,
.wpn-focus-grid{
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
  box-sizing:border-box;
}
.wpn-focus-grid>br{display:none;}
.wpn-focus-card::after{content:none;}
.wpn-focus-grid>.wpn-focus-card:last-of-type{grid-column:2;}

@media(max-width:900px){
  .wpn-focus-grid>.wpn-focus-card:last-of-type{
    grid-column:1 / -1;
    width:calc((100% - 16px)/2);
    justify-self:center;
  }
}
@media(max-width:620px){
  .wpn-focus-grid>.wpn-focus-card:last-of-type{
    grid-column:auto;
    width:100%;
    justify-self:stretch;
  }
}

/* Partnerschaftskachel Startseite 2026-07-13 */
.wpn-focus-card{font-size:calc(1.08rem + 2pt);}
.page-id-241 .wpn-focus-grid>.wpn-focus-card:last-of-type,
.page-id-270 .wpn-focus-grid>.wpn-focus-card:last-of-type,
.page-id-272 .wpn-focus-grid>.wpn-focus-card:last-of-type{grid-column:3;}
@media(max-width:900px){
  .page-id-241 .wpn-focus-grid>.wpn-focus-card:last-of-type,
.page-id-270 .wpn-focus-grid>.wpn-focus-card:last-of-type,
.page-id-272 .wpn-focus-grid>.wpn-focus-card:last-of-type{
    grid-column:auto;
    width:100%;
    justify-self:stretch;
  }
}

/* Impressumsabstand 2026-07-15 */
.page-id-245 .page-content>h1,
.page-id-288 .page-content>h1,
.page-id-290 .page-content>h1{
  margin-bottom:0;
}

/* Impressumsabstand zweite Reduktion 2026-07-15 */
.page-id-245 .entry-content,
.page-id-288 .entry-content,
.page-id-290 .entry-content{
  padding-top:20px;
}
