/* FlächenDigital v6 Clean – Foundation
 * Keine Reparatur-Overrides. Nur globale Tokens, Reset und gemeinsame Layoutträger.
 */

:root{
  --fp-green:#338960;
  --fp-shell:1240px;

  /* Neutrales FlächenDigital-Light-System. */
  /* Architecture Premium: warme, sehr helle Bühne mit zurückhaltender CI. */
  --fd-page-bg:#f7f7f4;
  --fd-surface:#ffffff;
  --fd-surface-soft:#fbfbf8;
  --fd-text:#202825;
  --fd-text-muted:#6b756f;
  --fd-border:#e1e5e1;
  --fd-border-strong:#cbd3ce;
  --fd-line:#eaede9;
  --fd-shadow:0 10px 30px rgba(32,40,37,.045);
  --fd-shadow-soft:0 6px 20px rgba(32,40,37,.035);
  --fd-accent-soft:#f1f7f4;
  --fd-focus:rgba(51,137,96,.12);

  /* Architecture Premium: helle Outline-Buttons statt schwerer Grünflächen. */
  --fd-button-bg:#ffffff;
  --fd-button-bg-hover:#f1f7f4;
  --fd-button-border:#338960;
  --fd-button-border-hover:#26714d;
  --fd-button-text:#2d7b57;
  --fd-button-radius:11px;
  --fd-button-shadow:none;
  --fd-button-shadow-hover:0 8px 22px rgba(32,40,37,.06);

  /* Flache, architektonische Inhaltskarten: Linie vor Schatten. */
  --fd-card-border:var(--fd-border);
  --fd-card-bg:var(--fd-surface);
  --fd-card-shadow:none;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body.fp-site{
  margin:0;
  background:var(--fd-page-bg);
  color:var(--fd-text);
  font-family:"Montserrat",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.fp-site a{color:inherit;text-decoration:none}
body.fp-site button,
body.fp-site input,
body.fp-site select,
body.fp-site textarea{font:inherit}

.fp-shell{width:min(calc(100% - 56px),var(--fp-shell));margin:0 auto}
.fp-brand{display:inline-flex;align-items:center}
.fp-brand img{display:block;width:116px;height:auto}

.fp-kicker,.fp-eyebrow{
  display:inline-block;
  margin-bottom:12px;
  color:var(--fp-green);
  font-size:11px;
  line-height:1;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.fp-portal-main{min-height:calc(100vh - 82px)}

/* Standard-/Fallback-Seiten */
.fp-standard-page{min-height:100vh;padding:58px 0 80px;color:var(--fd-text)}
.fp-standard-page-inner{width:min(calc(100% - 56px),1240px)}
.fp-standard-article,.fp-standard-content{width:100%}
.fp-standard-header{margin-bottom:28px}
.fp-standard-header h1{margin:0;color:var(--fd-text);font-size:clamp(36px,4vw,54px);line-height:1.05;letter-spacing:-.045em}
.fp-standard-content::after{content:"";display:block;clear:both}
.fp-standard-content img{max-width:100%;height:auto}
.fp-standard-content table{max-width:100%}

.fp-basic-page{min-height:100vh;display:grid;place-items:center;color:var(--fd-text)}
.fp-basic-page-inner{max-width:700px;text-align:center}
.fp-basic-page h1{font-size:42px;letter-spacing:-.04em}
.fp-basic-page p{color:var(--fd-text-muted);line-height:1.8}

.fp-tour-page{min-height:100vh;color:var(--fd-text)}
.fp-tour-topbar{min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--fd-border);background:var(--fd-surface);color:var(--fd-text);font-size:10px;box-shadow:var(--fd-shadow-soft)}
.fp-tour-stage{min-height:calc(100vh - 58px);display:grid;place-items:center}
.fp-tour-placeholder{text-align:center}
.fp-tour-placeholder h1{margin:0;font-size:46px;letter-spacing:-.045em}
.fp-tour-placeholder p{color:var(--fd-text-muted);font-size:12px}

@media(max-width:760px){
  .fp-shell{width:min(calc(100% - 30px),var(--fp-shell))}
  .fp-standard-page{padding:38px 0 56px}
  .fp-standard-page-inner{width:min(calc(100% - 30px),1240px)}
}
