/* ---- Scroll-Rundgang (sticky, in WordPress/Flatsome eingebettet) ---- */
.pm-tour{
  --ink:#f6f1e7; --muted:#d8cfbf; --accent:#e0a04d; --green:#8bbf6a;
  position:relative; height:900vh; background:#0c0b0a;
}
.pm-stage{position:sticky; top:0; height:100vh; overflow:hidden}
.pm-film{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background:#0c0b0a}
.pm-grade{position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(120% 80% at 50% 20%,transparent 40%,rgba(0,0,0,.45) 100%),
    linear-gradient(180deg,rgba(0,0,0,.35) 0%,transparent 25%,transparent 60%,rgba(0,0,0,.7) 100%);}
.pm-bar{position:absolute; left:0; top:0; height:3px; width:0; z-index:5;
  background:linear-gradient(90deg,var(--accent),var(--green)); transition:width .1s linear}

.pm-layer{position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end;
  padding:clamp(28px,6vw,90px); opacity:0; transform:translateY(24px);
  transition:opacity .7s ease,transform .7s ease; pointer-events:none;
  color:var(--ink); font-family:inherit}
.pm-layer.on{opacity:1; transform:none}
.pm-layer.right{align-items:flex-end; text-align:right}
.pm-layer.center{justify-content:center; align-items:center; text-align:center}

.pm-eyebrow{font-size:clamp(11px,1.4vw,13px); letter-spacing:.32em; text-transform:uppercase;
  color:var(--accent); margin-bottom:14px; font-weight:700}
.pm-layer h2{font-size:clamp(30px,6vw,64px); font-weight:700; line-height:1.02;
  text-shadow:0 2px 30px rgba(0,0,0,.55); letter-spacing:-.01em; margin:0}
.pm-tags{list-style:none; display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 0; padding:0}
.pm-layer.right .pm-tags{justify-content:flex-end}
.pm-tags li{font-size:clamp(13px,1.5vw,15px); padding:8px 15px; border-radius:100px;
  background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); white-space:nowrap}

.pm-hero{justify-content:center; align-items:center; text-align:center;
  background:radial-gradient(ellipse 90% 75% at 50% 52%, rgba(0,0,0,.62), transparent 78%)}
.pm-hero img{width:min(60vw,440px); filter:drop-shadow(0 4px 30px rgba(0,0,0,.7)); margin-bottom:26px}
.pm-hero h1{font-size:clamp(26px,5vw,52px); font-weight:700; line-height:1.05; max-width:14ch; color:#fff;
  text-shadow:0 2px 16px rgba(0,0,0,.9), 0 1px 4px rgba(0,0,0,.7); margin:0}
.pm-hero p{margin:16px 0 0; color:var(--muted); font-size:clamp(15px,2vw,20px)}
.pm-hint{margin-top:40px; font-size:13px; letter-spacing:.28em; text-transform:uppercase; color:var(--muted);
  animation:pm-bob 1.8s ease-in-out infinite}
@keyframes pm-bob{0%,100%{transform:translateY(0);opacity:.7}50%{transform:translateY(8px);opacity:1}}

/* reduzierte Bewegung */
@media (prefers-reduced-motion: reduce){
  .pm-hint{animation:none}
  .pm-layer{transition:opacity .3s ease}
}

/* ---- Sektionen unter dem Rundgang ---- */
.pm-sec{padding:clamp(48px,7vw,110px) clamp(20px,5vw,40px); max-width:1120px; margin:0 auto}
.pm-sec h2{font-size:clamp(26px,4vw,42px); font-weight:700; margin:0 0 8px; letter-spacing:-.01em}
.pm-sec .pm-lead{color:#6b6357; font-size:clamp(15px,1.8vw,18px); margin:0 0 36px; max-width:60ch}
.pm-feat{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px}
.pm-card{background:#faf7f1; border:1px solid #ece5d8; border-radius:14px; padding:22px}
.pm-card b{display:block; font-size:17px; margin-bottom:4px}
.pm-card span{color:#6b6357; font-size:14px}

.pm-contact{background:#141210; color:var(--ink,#f6f1e7)}
.pm-contact .pm-inner{max-width:1120px; margin:0 auto; padding:clamp(48px,7vw,100px) clamp(20px,5vw,40px);
  display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center}
.pm-contact h2{color:#fff}
.pm-contact a.pm-cta{display:inline-block; margin-top:18px; padding:14px 30px; border-radius:100px;
  background:#e0a04d; color:#241a0c; font-weight:800; text-decoration:none}
.pm-contact .pm-phone{font-size:clamp(26px,4vw,40px); font-weight:800; color:#fff; margin:8px 0 2px}
.pm-contact .pm-addr{color:#d8cfbf}
@media(max-width:760px){ .pm-contact .pm-inner{grid-template-columns:1fr} }

/* ---- Onepager: Flatsome-Header auf der Startseite ausblenden ---- */
#header, .header-wrapper{ display:none !important; }
#wrapper, #main, .page-wrapper{ padding-top:0 !important; margin-top:0 !important; }

/* ---- Mini-Logo oben links, erscheint beim Scrollen ---- */
.pm-minilogo{position:fixed; top:16px; left:20px; z-index:100; opacity:0; transform:translateY(-8px);
  transition:opacity .45s ease, transform .45s ease; pointer-events:none}
.pm-minilogo.show{opacity:1; transform:none; pointer-events:auto}
.pm-minilogo img{height:42px; width:auto; display:block; filter:drop-shadow(0 2px 10px rgba(0,0,0,.65))}

/* ---- Schlanker Fuß mit Pflicht-Links ---- */
.pm-footer{background:#0c0b0a; color:#9a9284; display:flex; gap:22px; flex-wrap:wrap;
  justify-content:center; align-items:center; padding:22px 20px; font-size:14px}
.pm-footer a{color:#d8cfbf; text-decoration:none}
.pm-footer a:hover{color:#e0a04d}
.pm-footer span{opacity:.6}

/* ---- Anfrageformular (Contact Form 7) ---- */
.pm-form{color-scheme:dark; max-width:520px}
.pm-form .hidden-fields-container{border:0; margin:0; padding:0; min-inline-size:0}
.pm-form label{display:block; color:#d8cfbf; font-size:14px; margin-bottom:14px}
.pm-form input, .pm-form textarea{
  width:100%; margin-top:6px; padding:11px 13px; border-radius:9px; box-sizing:border-box;
  border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.06); color:#f6f1e7;
  font-size:15px; font-family:inherit}
.pm-form input:focus, .pm-form textarea:focus{outline:none; border-color:#e0a04d; background:rgba(255,255,255,.10)}
.pm-form textarea{min-height:92px; resize:vertical}
.pm-form .pm-two{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.pm-form input[type=submit]{
  width:auto; margin-top:6px; padding:13px 32px; border-radius:100px; cursor:pointer;
  background:#e0a04d; color:#241a0c; font-weight:800; border:none; font-size:15px}
.pm-form input[type=submit]:hover{background:#eab066}
.pm-form .wpcf7-spinner{margin:10px 0 0}
.wpcf7-response-output{border-radius:8px; margin:14px 0 0 !important; padding:10px 14px !important; color:#f6f1e7}
.pm-kontaktinfo{align-self:start}
@media(max-width:760px){ .pm-form .pm-two{grid-template-columns:1fr} }
