/*
Theme Name: Design PersonalPur
Theme URI: https://personalpur.de/
Author: Claus-Stephan Zink
Description: Custom one-page WordPress theme for PersonalPUR based on the supplied Corporate Identity.
Version: 2.14
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: personalpur
*/

:root{
  --pp-blue:#78cae0;
  --pp-teal:#233a3f;
  --pp-white:#f7fcfe;
  --pp-charcoal:#192126;
  --pp-border:rgba(35,58,63,.12);
  --pp-shadow:0 18px 50px rgba(25,33,38,.08);
  --pp-radius:18px;
  --pp-max:1240px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--pp-white);color:var(--pp-charcoal);font-family:"Aktiv Grotesk","Helvetica Neue",Arial,sans-serif;line-height:1.6}
img{max-width:100%;height:auto}
a{color:inherit}
button,input,textarea,select{font:inherit}

.pp-container{width:min(calc(100% - 48px),var(--pp-max));margin-inline:auto}
.pp-section{padding:96px 0}
.pp-eyebrow{display:inline-block;margin-bottom:14px;color:var(--pp-blue);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem}
.pp-title{margin:0;font-size:clamp(2.1rem,4vw,3.7rem);line-height:1.04;letter-spacing:-.035em}
.pp-title span{color:var(--pp-blue)}
.pp-lead{font-size:1.08rem;max-width:760px}
.pp-btn{display:inline-flex;align-items:center;gap:12px;border-radius:999px;padding:14px 22px;text-decoration:none;font-weight:700;transition:.2s ease;border:1px solid transparent}
.pp-btn:hover{transform:translateY(-2px)}
.pp-btn-primary{background:var(--pp-blue);color:var(--pp-charcoal)}
.pp-btn-dark{background:var(--pp-teal);color:var(--pp-white)}
.pp-btn-booking{gap:10px}
.pp-cta-actions .pp-btn{width:258px;justify-content:center}
.pp-calendar-icon{width:22px;height:22px;display:block;flex:0 0 22px}
.pp-btn-outline{background:transparent;border-color:var(--pp-teal);color:var(--pp-teal)}

.pp-header{position:absolute;z-index:20;top:0;left:0;right:0;color:var(--pp-white)}
.pp-nav{display:flex;align-items:center;justify-content:space-between;min-height:104px;border-bottom:1px solid rgba(247,252,254,.14)}
.pp-brand{display:inline-flex;align-items:center;text-decoration:none;line-height:0;white-space:nowrap}
.pp-brand-logo{display:block;width:260px;height:auto}
.pp-menu{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}
.pp-menu a{text-decoration:none;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.pp-menu a:hover{color:var(--pp-blue)}
.pp-menu-toggle{display:none;background:none;border:0;color:white;font-size:1.6rem}

@media (max-width:700px){
  .pp-brand-logo{width:220px}
}

.pp-hero{position:relative;overflow:hidden;background:var(--pp-teal);color:var(--pp-white);min-height:760px;padding:150px 0 80px}
.pp-hero:after{content:"";position:absolute;width:560px;height:560px;right:-140px;top:120px;border:1px solid rgba(120,202,224,.35);border-radius:50%;box-shadow:0 0 0 38px rgba(120,202,224,.03),0 0 0 78px rgba(120,202,224,.02)}
.pp-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr .9fr;gap:40px;align-items:center}
.pp-hero-copy{padding-bottom:30px}
.pp-hero h1{font-size:clamp(3.6rem,7vw,6.8rem);line-height:.9;letter-spacing:-.06em;margin:0 0 28px}
.pp-hero h1 span{color:var(--pp-blue)}
.pp-hero-text{font-size:1.25rem;max-width:560px;color:rgba(247,252,254,.88)}
.pp-hero-facts{display:flex;gap:26px;margin:36px 0;flex-wrap:wrap}
.pp-fact{display:flex;gap:10px;align-items:center}
.pp-fact-icon{width:44px;height:44px;border:1px solid rgba(120,202,224,.7);border-radius:50%;display:grid;place-items:center;color:var(--pp-blue)}
.pp-fact b{display:block;color:var(--pp-blue)}
.pp-fact small{color:rgba(247,252,254,.85)}
.pp-hero-person{position:relative;align-self:end;text-align:center}
.pp-hero-person img{display:block;width:min(100%,560px);max-height:680px;object-fit:cover;object-position:center 20%;margin:0 auto;border-radius:28px 28px 0 0;filter:saturate(.95)}
.pp-person-card{position:absolute;right:0;bottom:26px;background:rgba(35,58,63,.92);border:1px solid rgba(120,202,224,.25);padding:18px 22px;border-radius:14px;text-align:left}
.pp-person-card strong{color:var(--pp-blue);font-size:1.15rem}
.pp-person-card small{display:block}

.pp-services{background:var(--pp-white)}
.pp-center{text-align:center}
.pp-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.pp-card{background:#fff;border:1px solid var(--pp-border);border-radius:var(--pp-radius);padding:34px;box-shadow:var(--pp-shadow)}
.pp-card-icon{width:62px;height:62px;border:2px solid var(--pp-blue);border-radius:50%;display:grid;place-items:center;color:var(--pp-blue);font-size:1.35rem;margin-bottom:22px}
.pp-card h3{margin:0 0 10px;font-size:1.35rem}
.pp-card p{margin:0 0 22px}
.pp-link{font-weight:800;text-decoration:none}
.pp-link:after{content:" →";color:var(--pp-blue)}

.pp-bafa{background:#eaf8fc;overflow:hidden}
.pp-bafa-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;align-items:center}
.pp-bafa-badge{min-height:360px;display:grid;place-items:center;text-align:center;position:relative;overflow:visible}
.pp-bafa-compass{position:absolute;left:50%;top:50%;width:min(430px,120%);height:auto;transform:translate(-50%,-50%);opacity:.28;z-index:0}
.pp-bafa-badge-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.pp-bafa-badge strong{display:block;font-size:clamp(4.5rem,7vw,6.8rem);line-height:.88;letter-spacing:-.05em}
.pp-bafa-badge span{font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.pp-bafa-badge-content span:first-child{font-size:1.05rem;margin-bottom:8px}
.pp-bafa-badge-content span:last-child{font-size:1.05rem;margin-top:12px}
.pp-bafa-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0}
.pp-stat{padding:18px;border:1px solid rgba(35,58,63,.12);border-radius:14px;background:rgba(255,255,255,.55)}
.pp-stat strong{display:block;font-size:1.25rem}
.pp-note{font-size:.82rem;opacity:.78}

.pp-about{padding:0;background:#fff}
.pp-about-grid{display:grid;grid-template-columns:1fr 1fr;min-height:580px}
.pp-about-copy{padding:90px max(48px,calc((100vw - var(--pp-max))/2));padding-right:70px}
.pp-about-image{min-height:580px;background:#dfeaec center/cover no-repeat}
.pp-quote{margin-top:30px;padding:28px;border-radius:16px;background:#fff;box-shadow:var(--pp-shadow);font-size:1.35rem;font-weight:700}

.pp-trust{background:var(--pp-teal);color:var(--pp-white);padding:55px 0}
.pp-logo-row{display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap;margin-top:28px}
.pp-logo-placeholder{opacity:.9;font-weight:800;letter-spacing:.06em}

.pp-cta{background:var(--pp-white);position:relative;overflow:hidden}
.pp-cta-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.pp-cta .pp-title{max-width:650px}
.pp-cta-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}

.pp-footer{background:var(--pp-teal);color:var(--pp-white);padding:70px 0 30px}
.pp-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:40px}
.pp-footer .pp-brand{margin-bottom:18px}
.pp-footer .pp-brand-logo{width:230px}

.pp-footer h4{margin:0 0 16px;color:var(--pp-blue);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase}
.pp-footer ul{list-style:none;margin:0;padding:0}
.pp-footer li{margin:7px 0}
.pp-footer a{text-decoration:none;opacity:.9}
.pp-footer-bottom{border-top:1px solid rgba(247,252,254,.12);margin-top:50px;padding-top:20px;font-size:.8rem;opacity:.7}

@media (max-width: 1000px){
  .pp-menu{display:none}
  .pp-menu-toggle{display:block}
  .pp-hero-grid,.pp-bafa-grid,.pp-about-grid,.pp-footer-grid{grid-template-columns:1fr}
  .pp-hero{min-height:auto}
  .pp-hero-person{order:-1}
  .pp-hero-person img{max-height:560px}
  .pp-service-grid{grid-template-columns:1fr}
  .pp-bafa-badge{max-width:420px;margin:auto}
  .pp-about-copy{padding:70px 24px}
  .pp-about-image{min-height:420px}
  .pp-cta-grid{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .pp-footer .pp-brand-logo{width:190px}
  
  .pp-container{width:min(calc(100% - 30px),var(--pp-max))}
  .pp-section{padding:70px 0}
  .pp-hero{padding-top:125px}
  .pp-hero h1{font-size:3.3rem}
  .pp-hero-facts{gap:18px}
  .pp-bafa-stats{grid-template-columns:1fr}
  .pp-person-card{position:static;margin:15px auto 0;width:max-content;max-width:100%}
}

/* PersonalPUR – Meine Geschichte: Original generiertes Arbeitsplatzmotiv */
.pp-about-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* PersonalPUR – Standard WordPress pages */
body:not(.home) .pp-header {
  position:relative;
  background:var(--pp-teal);
  color:var(--pp-white);
  box-shadow:0 1px 0 rgba(35,58,63,.18);
}

body:not(.home) .pp-nav {
  border-bottom:1px solid rgba(247,252,254,.14);
}

body:not(.home) .pp-menu a {
  color:var(--pp-white);
}

body:not(.home) .pp-menu a:hover,
body:not(.home) .pp-menu .current-menu-item > a,
body:not(.home) .pp-menu .current_page_item > a {
  color:var(--pp-blue);
}

body:not(.home) .pp-menu-toggle {
  color:var(--pp-white);
}

body:not(.home) .pp-brand {
  color:var(--pp-white);
}

.pp-page {
  padding:90px 0 110px;
  background:var(--pp-white);
}

.pp-page article {
  max-width:900px;
  margin:0 auto;
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:24px;
  padding:clamp(32px,5vw,70px);
  box-shadow:var(--pp-shadow);
}

.pp-page .pp-eyebrow {
  margin-bottom:12px;
}

.pp-page h1 {
  margin:0 0 35px;
  font-size:clamp(2.5rem,5vw,4.6rem);
  line-height:1;
  letter-spacing:-.04em;
  color:var(--pp-teal);
}

.pp-page .entry-content {
  color:var(--pp-charcoal);
  font-size:1.05rem;
}

.pp-page .entry-content h2 {
  margin:48px 0 18px;
  font-size:clamp(1.7rem,3vw,2.35rem);
  line-height:1.15;
  color:var(--pp-teal);
}

.pp-page .entry-content h3 {
  margin:34px 0 14px;
  font-size:1.35rem;
  color:var(--pp-teal);
}

.pp-page .entry-content p {
  margin:0 0 18px;
}

.pp-page .entry-content a {
  color:var(--pp-teal);
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.pp-page .entry-content a:hover {
  color:#4b9fb5;
}

.pp-page .entry-content ul,
.pp-page .entry-content ol {
  margin:0 0 22px;
  padding-left:1.4rem;
}

.pp-page .entry-content img {
  border-radius:16px;
}

.pp-page .entry-content input,
.pp-page .entry-content textarea,
.pp-page .entry-content select {
  width:100%;
  border:1px solid rgba(35,58,63,.18);
  border-radius:10px;
  padding:12px 14px;
  background:#fff;
}

.pp-page .entry-content button,
.pp-page .entry-content input[type="submit"] {
  width:auto;
  border:0;
  border-radius:999px;
  padding:13px 22px;
  background:var(--pp-blue);
  color:var(--pp-charcoal);
  font-weight:700;
  cursor:pointer;
}

@media (max-width:640px) {
  .pp-page {
    padding:55px 0 75px;
  }

  .pp-page article {
    padding:28px 22px;
    border-radius:18px;
  }
}
