/* VT Bodenbeläge — Modernisierung 2026
   Ergänzt das bestehende Designsystem, ohne Inhaltsseiten zu duplizieren. */
:root{
  --vt-ink:#171512;
  --vt-ink-soft:#34302b;
  --vt-copy:#655f57;
  --vt-paper:#f7f4ef;
  --vt-paper-2:#eee8df;
  --vt-surface:#fff;
  --vt-walnut:#8d5a3b;
  --vt-walnut-2:#c79068;
  --vt-green:#2f6a51;
  --vt-line:rgba(23,21,18,.10);
  --vt-line-strong:rgba(23,21,18,.18);
  --vt-shadow-sm:0 12px 30px rgba(38,29,20,.07);
  --vt-shadow:0 24px 70px rgba(38,29,20,.11);
  --vt-shadow-lg:0 34px 100px rgba(38,29,20,.16);
  --vt-radius:26px;
  --vt-radius-lg:38px;
  --vt-ease:cubic-bezier(.2,.8,.2,1);
}

html{scroll-padding-top:112px}
body{
  background:
    radial-gradient(900px 500px at 7% -10%,rgba(199,144,104,.16),transparent 68%),
    radial-gradient(900px 600px at 100% 18%,rgba(141,90,59,.08),transparent 62%),
    linear-gradient(180deg,#faf8f4 0%,var(--vt-paper) 42%,#f4efe8 100%) !important;
  color:var(--vt-ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-x:hidden;
}
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.22;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.055'/%3E%3C/svg%3E");
}
::selection{background:rgba(141,90,59,.2);color:var(--vt-ink)}
a,button,input,textarea,select{font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{
  outline:3px solid rgba(141,90,59,.34);outline-offset:3px;
}
img{background-color:#ece7df}
.container{width:min(1180px,calc(100% - 36px));max-width:none;padding-left:0;padding-right:0}

.vt-skip-link{position:fixed;left:16px;top:12px;z-index:99999;transform:translateY(-160%);padding:10px 14px;border-radius:12px;background:#111;color:#fff;font-weight:800;transition:.2s}
.vt-skip-link:focus{transform:none}
.vt-scroll-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:9999;pointer-events:none}
.vt-scroll-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--vt-walnut),var(--vt-walnut-2));box-shadow:0 0 16px rgba(141,90,59,.45)}

.vt-utility{position:relative;z-index:1001;background:#181613;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.vt-utility-inner{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:.78rem;letter-spacing:.01em}
.vt-utility-group{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.vt-utility a,.vt-utility span{color:rgba(255,255,255,.76)}
.vt-utility a:hover{color:#fff}
.vt-utility i{color:#e7bd9a;margin-right:6px}
.vt-utility-status{display:inline-flex;align-items:center;gap:8px}
.vt-utility-status::before{content:"";width:7px;height:7px;border-radius:50%;background:#64c28b;box-shadow:0 0 0 4px rgba(100,194,139,.13)}

header.nav{
  top:0!important;
  background:rgba(250,248,244,.84)!important;
  border-bottom:1px solid rgba(23,21,18,.07)!important;
  backdrop-filter:blur(18px) saturate(135%)!important;
  transition:background .25s var(--vt-ease),box-shadow .25s var(--vt-ease),transform .25s var(--vt-ease);
}
header.nav.is-scrolled{background:rgba(250,248,244,.96)!important;box-shadow:0 14px 34px rgba(31,24,18,.08)}
header.nav .nav-inner{min-height:76px;padding:10px 0!important;flex-wrap:nowrap!important}
.brand{gap:12px!important;min-width:max-content}
.brand-mark{
  width:46px!important;height:46px!important;border-radius:15px!important;
  display:grid!important;place-items:center;background:linear-gradient(145deg,#231f1a,#111)!important;
  color:#fff!important;font-size:.88rem!important;letter-spacing:.08em!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 12px 28px rgba(17,17,17,.16)!important;
  position:relative;overflow:hidden;
}
.brand-mark::after{content:"";position:absolute;inset:auto -12px -18px auto;width:40px;height:40px;border-radius:10px;background:rgba(199,144,104,.42);transform:rotate(45deg)}
.brand-mark span{position:relative;z-index:1}
.brand-copy strong{font-size:1rem!important;letter-spacing:-.025em;color:var(--vt-ink)}
.brand-copy span{font-size:.72rem!important;color:rgba(23,21,18,.54)!important}
.menu{gap:2px!important;flex-wrap:nowrap!important}
.menu>a:not(.btn){position:relative;padding:10px 12px!important;color:rgba(23,21,18,.68)!important;font-size:.9rem;font-weight:700;white-space:nowrap}
.menu>a:not(.btn)::after{content:"";position:absolute;left:12px;right:12px;bottom:5px;height:2px;border-radius:2px;background:var(--vt-walnut);transform:scaleX(0);transition:transform .2s var(--vt-ease)}
.menu>a:not(.btn):hover,.menu>a[aria-current="page"]{color:var(--vt-ink)!important;background:transparent!important}
.menu>a:not(.btn):hover::after,.menu>a[aria-current="page"]::after{transform:scaleX(1)}
.menu .btn{min-height:42px!important;padding:9px 13px!important;font-size:.86rem}
.menu .btn.primary{background:linear-gradient(135deg,#24201c,#0f0e0c)!important;box-shadow:0 12px 28px rgba(17,17,17,.17)!important}

h1,h2,h3,h4{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--vt-ink);text-wrap:balance}
h1,h2{letter-spacing:-.055em!important}
p,.lead{color:var(--vt-copy)}
.pm-kicker,.badge,.chip{backdrop-filter:blur(10px)}
.pm-kicker{border-color:var(--vt-line)!important;background:rgba(255,255,255,.72)!important;color:rgba(23,21,18,.62)!important}

.btn,.menu a.btn{
  border-radius:999px!important;transition:transform .2s var(--vt-ease),box-shadow .2s var(--vt-ease),background .2s var(--vt-ease),border-color .2s var(--vt-ease)!important;
}
.btn:hover{transform:translateY(-2px)!important;box-shadow:0 16px 34px rgba(34,27,21,.12)!important}
.btn.primary{background:linear-gradient(135deg,#24201c,#0f0e0c)!important;color:#fff!important;border-color:#171512!important}
.btn.primary::after{content:"";width:5px;height:5px;border-radius:50%;background:#e3b38c;margin-left:2px}

.card,.pm-panel,.pm-contact-card,.city-card,.city-panel,.vtl-card,.vta-card,.pdx-panel{
  border-color:var(--vt-line)!important;box-shadow:var(--vt-shadow-sm)!important;
}
.card,.pm-panel,.pm-contact-card{transition:transform .28s var(--vt-ease),box-shadow .28s var(--vt-ease),border-color .28s var(--vt-ease)}
.card:hover,.pm-feature:hover,.pm-contact-card:hover{transform:translateY(-4px);box-shadow:var(--vt-shadow)!important;border-color:var(--vt-line-strong)!important}
.pm-media-inner,.vtl-stage-media,.city-media,.pdx-stage,.vta-portrait-shell{box-shadow:var(--vt-shadow-lg)!important}
.pm-media-inner img,.pm-project-card-home img,.pm-project-slide-media img,.city-media img,.pdx-stage img,.pdx-shot img,.pdx-more-card img{
  transition:transform .65s var(--vt-ease),filter .35s var(--vt-ease);
}
a:hover .pm-project-card-home img,a:hover .pm-project-slide-media img,.city-media:hover img,.pdx-more-card:hover img{transform:scale(1.035)}

/* Startseite: etwas stärkerer erster Eindruck */
.pm-hero{padding-top:34px!important}
.pm-hero-home h1{font-size:clamp(3rem,6.3vw,6rem)!important;max-width:9ch!important;line-height:.9!important}
.pm-hero-home .pm-lead{font-size:clamp(1rem,1.35vw,1.15rem)!important;line-height:1.75!important}
.pm-hero-home .pm-media-inner{border-radius:var(--vt-radius-lg)!important;overflow:hidden;position:relative}
.pm-hero-home .pm-media-inner::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.pm-mini-card{background:rgba(255,255,255,.72)!important;border-color:var(--vt-line)!important}
.pm-section{padding-top:42px;padding-bottom:42px}

/* Einheitliche Formularoberflächen */
input,select,textarea{
  border:1px solid var(--vt-line-strong)!important;background:rgba(255,255,255,.92)!important;border-radius:15px!important;
  min-height:48px;transition:border-color .18s,box-shadow .18s,background .18s;
}
textarea{min-height:132px}
input:focus,select:focus,textarea:focus{border-color:rgba(141,90,59,.52)!important;box-shadow:0 0 0 4px rgba(141,90,59,.11)!important;background:#fff!important}
.pm-form-msg{border-radius:16px;padding:12px 14px}
.vt-inline-error{display:none;margin-top:10px;padding:11px 13px;border-radius:14px;background:#fff0ef;color:#8c201a;border:1px solid rgba(140,32,26,.18)}
.vt-inline-error.is-visible{display:block}

/* Legal */
.vt-legal-page{padding:44px 0 68px}
.vt-legal-hero{display:grid;grid-template-columns:minmax(0,.8fr) minmax(340px,1.2fr);gap:22px;align-items:start}
.vt-legal-intro,.vt-legal-shell{background:rgba(255,255,255,.84);border:1px solid var(--vt-line);border-radius:30px;box-shadow:var(--vt-shadow-sm)}
.vt-legal-intro{padding:28px;position:sticky;top:114px}
.vt-legal-intro h1{margin:14px 0 10px;font-size:clamp(2.5rem,5vw,4.6rem);line-height:.92}
.vt-legal-intro p{line-height:1.75}
.vt-legal-facts{display:grid;gap:0;margin-top:20px}
.vt-legal-fact{padding:13px 0;border-top:1px solid var(--vt-line)}
.vt-legal-fact small{display:block;color:rgba(23,21,18,.48);text-transform:uppercase;letter-spacing:.09em;font-size:.72rem}
.vt-legal-fact strong,.vt-legal-fact a{display:block;margin-top:4px;color:var(--vt-ink);font-weight:750}
.vt-legal-shell{padding:10px;min-height:720px;overflow:hidden}
.vt-legal-frame{display:block;width:100%;min-height:900px;border:0;border-radius:22px;background:#fff}
.vt-legal-fallback{padding:14px 16px;color:var(--vt-copy);font-size:.9rem}

/* Footer */
footer{margin-top:72px!important;padding:62px 0 92px!important;background:#181613!important;color:#fff!important;border-top:0!important;position:relative;overflow:hidden}
footer::before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;right:-180px;top:-260px;background:radial-gradient(circle,rgba(199,144,104,.22),transparent 67%)}
footer .container{position:relative;z-index:1}
footer .brand-copy strong,footer h4{color:#fff!important}
footer .brand-copy span,footer small,footer .footer-note{color:rgba(255,255,255,.6)!important}
footer a{color:rgba(255,255,255,.72)!important;transition:color .18s}
footer a:hover{color:#fff!important}
footer .btn{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.13)!important;color:#fff!important}
footer .btn.primary{background:#fff!important;border-color:#fff!important;color:#171512!important}
footer .btn.primary::after{background:var(--vt-walnut)}
.vt-footer-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#e7bd9a;margin-bottom:12px}
.vt-footer-eyebrow::before{content:"";width:22px;height:1px;background:#e7bd9a}
.vt-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px!important}

/* Schnellkontakt */
.quickbar{bottom:22px!important}
.quickbar .fab{width:54px!important;height:54px!important;background:#171512!important;border-color:rgba(255,255,255,.12)!important}
.vt-backtop{position:fixed;right:18px;bottom:214px;z-index:3999;width:46px;height:46px;border-radius:50%;border:1px solid var(--vt-line);background:rgba(255,255,255,.9);color:var(--vt-ink);box-shadow:var(--vt-shadow-sm);display:grid;place-items:center;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s var(--vt-ease)}
.vt-backtop.is-visible{opacity:1;transform:none;pointer-events:auto}
.vt-mobile-dock{display:none}

/* Reveal-Effekt, fällt ohne JS nicht aus */
.js .vt-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s var(--vt-ease),transform .65s var(--vt-ease)}
.js .vt-reveal.is-visible{opacity:1;transform:none}

/* Alte Magazin-/Wissenswert-Layouts an das Hauptdesign angleichen */
.vt-blog2,.fx{padding-top:24px;padding-bottom:54px}
.vt-blog2 .hero,.fx .card{border-color:var(--vt-line)!important;box-shadow:var(--vt-shadow-sm)!important;background:rgba(255,255,255,.82)!important}
.vt-blog2 .tab.active{border-color:var(--vt-walnut)!important;box-shadow:0 0 0 3px rgba(141,90,59,.11)!important}

/* Angebotsformular: Dateiliste und Entwurfsstatus */
.vtow-filelist{display:grid;gap:8px;margin-top:12px}
.vtow-fileitem{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;background:rgba(23,21,18,.04);border:1px solid var(--vt-line);font-size:.88rem}
.vtow-fileitem span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vtow-draftnote{display:inline-flex;align-items:center;gap:8px;margin-top:10px;color:rgba(23,21,18,.5);font-size:.82rem}
.vtow-draftnote i{color:var(--vt-green)}

@media(max-width:1100px){
  .vt-utility{display:none}
  .menu .btn:not(.primary){display:none}
  header.nav .nav-inner{min-height:70px}
}
@media(max-width:1023.98px){
  .container{width:min(100% - 28px,1180px)}
  .brand-mark{width:42px!important;height:42px!important}
  .vt-burger{border-radius:50%!important;width:46px!important;height:46px!important;background:rgba(255,255,255,.86)!important}
  .vt-drawer{background:#f8f5ef!important;padding:18px!important}
  .vt-drawer nav a{border-radius:16px!important;padding:13px 14px!important;font-weight:750}
  .vt-drawer nav a.btn{background:#171512!important}
  .vt-drawer nav a[aria-current="page"]{background:rgba(141,90,59,.1);border-color:rgba(141,90,59,.16)}
  .vt-legal-hero{grid-template-columns:1fr}
  .vt-legal-intro{position:static}
}
@media(max-width:760px){
  html{scroll-padding-top:86px}
  body{padding-bottom:76px}
  .container{width:min(100% - 24px,1180px)}
  .brand-copy span{display:none}
  .pm-hero{padding-top:18px!important}
  .pm-hero-home h1{font-size:clamp(2.65rem,14vw,4.15rem)!important}
  .pm-section{padding-top:30px;padding-bottom:30px}
  .pm-actions .btn{width:100%;justify-content:center}
  .quickbar{display:none!important}
  .vt-mobile-dock{display:grid;grid-template-columns:1fr 1fr 1.25fr;position:fixed;left:10px;right:10px;bottom:10px;z-index:5000;padding:7px;border-radius:22px;background:rgba(24,22,19,.94);box-shadow:0 20px 50px rgba(0,0,0,.28);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1)}
  .vt-mobile-dock a{min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:rgba(255,255,255,.72);font-size:.66rem;font-weight:700;border-radius:16px}
  .vt-mobile-dock a i{font-size:1rem;color:#fff}
  .vt-mobile-dock a.primary{background:#fff;color:#171512}
  .vt-mobile-dock a.primary i{color:#171512}
  .vt-backtop{right:14px;bottom:94px}
  footer{padding-bottom:116px!important}
  .foot{grid-template-columns:1fr!important}
  .vt-legal-page{padding-top:24px}
  .vt-legal-intro,.vt-legal-shell{border-radius:24px}
  .vt-legal-intro{padding:22px}
  .vt-legal-frame{min-height:1050px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js .vt-reveal{opacity:1!important;transform:none!important}
}
