/*
Theme Name: PrimeKonzept 2026 Direct
Theme URI: https://www.primekonzept.de/
Author: PrimeKonzept
Description: Eigenständiges WordPress-Theme für PrimeKonzept mit kompakter Vergleichsrechner-Oberfläche und datenschutzfreundlicher Einwilligungssteuerung. Separat installierbare 2026-Ausgabe ohne externe Schrift-, Icon- oder CDN-Abhängigkeiten des Themes.
Version: 1.1.8
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: primekonzept
*/

:root {
  --pk-navy: #10253f;
  --pk-gold: #bd8b2f;
  --pk-white: #fff;
}

.pk-skip {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 9999;
  padding: 10px 14px;
  color: var(--pk-white);
  background: var(--pk-navy);
  border-radius: 8px;
  transform: translateY(-150%);
  transition: transform .15s ease;
}

.pk-skip:focus { transform: translateY(0); }
.pk-menu-toggle { display: none; }
.pk-header .pk-brand img { width: 255px; height: auto; }
.pk-footer-brand img { width: 100%; height: auto; }
.pk-footer h2 { margin: 0 0 13px; color: #fff; font-size: 14px; }
.pk-footer-privacy {
  min-height: 30px;
  padding: 0;
  border: 0;
  color: #bec9d3;
  background: transparent;
  font: inherit;
  font-size: 12px;
  text-align: left;
  cursor: pointer;
}
.pk-footer-privacy:hover { color: #fff; }
.pk-footer-privacy:focus-visible { outline: 3px solid rgba(189, 139, 47, .55); outline-offset: 3px; }
.pk-menu .pk-nav-cta {
  padding: 10px 16px;
  color: #fff;
  background: var(--pk-navy);
  border-radius: 999px;
  box-shadow: 0 9px 23px rgba(16, 37, 63, .16);
}
.pk-menu .pk-nav-cta:hover { color: #fff; background: #173b5d; }
.pk-menu a:focus-visible,
.pk-menu-toggle:focus-visible { outline: 3px solid rgba(189, 139, 47, .45); outline-offset: 3px; }

.pk-article-page {
  width: min(calc(100% - 40px), 790px);
  margin: 0 auto;
  padding: 72px 0 96px;
}

.pk-article-page h1,
.pk-article-page h2 {
  color: var(--pk-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  line-height: 1.15;
}

.pk-article-page h1 { font-size: clamp(38px, 6vw, 60px); }
.pk-article-page h2 { margin-top: 42px; font-size: 29px; }
.pk-article-page p,
.pk-article-page li { color: #445464; line-height: 1.75; }
.pk-article-page a { color: #0865a6; }

@media (max-width: 980px) {
  body.pk-menu-open { overflow: hidden; }
  .pk-header { position: sticky; }
  .pk-nav { position: relative; min-height: 76px; }
  .pk-header .pk-brand img { width: 205px; }
  .pk-menu-toggle {
    display: inline-flex;
    min-width: 46px;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 8px 11px;
    border: 1px solid #dce3e9;
    border-radius: 10px;
    color: var(--pk-navy);
    background: var(--pk-white);
    font: inherit;
    font-weight: 750;
    cursor: pointer;
  }
  .pk-menu {
    position: absolute;
    top: calc(100% - 2px);
    right: 0;
    left: 0;
    display: none;
    max-height: calc(100vh - 90px);
    overflow: auto;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    padding: 14px;
    background: var(--pk-white);
    border: 1px solid #e4e9ee;
    border-radius: 0 0 15px 15px;
    box-shadow: 0 18px 35px rgba(16, 37, 63, .14);
  }
  .pk-menu.is-open { display: flex; }
  .pk-menu > a,
  .pk-menu > a:not(.pk-nav-cta) {
    display: flex;
    width: 100%;
    min-height: 44px;
    align-items: center;
    padding: 9px 12px;
  }
  .pk-menu > a.pk-nav-cta { display: flex; }
}

@media (max-width: 620px) {
  .pk-article-page {
    hyphens: auto;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 470px) {
  .pk-header .pk-brand,
  .pk-header .pk-brand img { width: 176px; }
  .pk-menu .pk-nav-cta { display: flex; }
}

@media print {
  .pk-header,
  .pk-footer,
  .pk-menu-toggle,
  .pk-toc,
  .pk-skip { display: none !important; }
}
