/* mockupz Premium (Flatsome) — CLEAN, keine breiten .col-Overrides */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap');
:root{--c-paper:#F7F4EE;--c-sand:#EFE9DF;--c-ink:#16140F;--c-gold:#B79A5B;--c-gold-d:#9c8246;--c-sage:#6E7F66;--c-line:#E3DCCF;--c-dark:#1C1813;--c-muted:#6b6458}
.mz2 *{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}
.mz2 h1,.mz2 h2,.mz2 h3{font-family:'Sora','Inter',sans-serif;color:var(--c-ink);letter-spacing:-.02em;font-weight:800;line-height:1.08}
.mz2 h1{font-size:clamp(34px,4.6vw,58px)} .mz2 h2{font-size:clamp(28px,3.4vw,44px)}
.mz2 .mz2-lead{color:var(--c-muted);font-size:clamp(16px,1.5vw,18.5px);line-height:1.7}
.mz2 .mz2-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--c-gold-d);margin-bottom:10px}
.mz2 .mz2-center{text-align:center} .mz2 .mz2-center .mz2-lead{margin-left:auto;margin-right:auto;max-width:62ch}
.mz2 .mz2-bc{font-size:13px;color:var(--c-muted);margin-bottom:10px} .mz2 .mz2-bc a{color:var(--c-muted)} .mz2 .mz2-bc a:hover{color:var(--c-gold-d)}
/* FULL WIDTH: nur Row-Breite */
.mz2 .row{max-width:1660px !important}
@media(min-width:1700px){.mz2 .row{max-width:1780px !important}}
/* Buttons */
.mz2 .button.mz2-btn{background:var(--c-ink) !important;color:#fff !important;border-radius:8px !important;font-weight:600 !important;border:0 !important;box-shadow:none}
.mz2 .button.mz2-btn:hover{background:#000 !important;transform:translateY(-2px)}
.mz2 .button.mz2-gold,.mz2 a.button.mz2-gold{background:var(--c-gold) !important;background-image:none !important;color:#1a1408 !important;border-radius:8px !important;font-weight:700 !important;border:0 !important;box-shadow:0 12px 28px -14px rgba(183,154,91,.7)}
.mz2 .button.mz2-gold:hover{background:var(--c-gold-d) !important;transform:translateY(-2px)}
.mz2 .button.mz2-ghost{background:transparent !important;color:var(--c-ink) !important;border:1.5px solid var(--c-ink) !important;border-radius:8px !important;font-weight:600 !important}
.mz2 .button.mz2-ghost-light{background:transparent !important;color:#fff !important;border:1.5px solid rgba(255,255,255,.4) !important;border-radius:8px !important}
.mz2-trustline{display:flex;gap:22px;flex-wrap:wrap;margin-top:18px;color:var(--c-muted);font-size:14px;font-weight:600}
.mz2-trustline span{display:inline-flex;align-items:center;gap:7px} .mz2-trustline b{color:var(--c-gold-d)}
.mz2-hero-img img{border-radius:16px;box-shadow:0 50px 90px -50px rgba(22,20,15,.5)}
/* Karten */
.mz2-card{background:#fff;border:1px solid var(--c-line);border-radius:16px;overflow:hidden;transition:.35s;height:100%;display:flex;flex-direction:column;text-decoration:none}
.mz2-card:hover{box-shadow:0 30px 64px -38px rgba(22,20,15,.4);transform:translateY(-6px);border-color:var(--c-gold)}
.mz2-card .mz2-thumb{height:210px;background-size:cover;background-position:center;background-color:#efe9df}
.mz2-card .mz2-body{padding:24px;display:flex;flex-direction:column;flex:1}
.mz2-card h3{font-size:20px;margin:0 0 6px} .mz2-card p{color:var(--c-muted);font-size:14.5px;margin:0;flex:1;line-height:1.6}
.mz2-card .mz2-more{margin-top:16px;font-weight:700;font-size:13.5px;color:var(--c-gold-d)}
/* Icon-Grid */
.mz2-feat{padding:6px 0}
.mz2-feat .ic{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--c-gold);color:var(--c-gold-d);display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:14px}
.mz2-feat h4{font-family:'Sora';font-size:18px;margin:0 0 6px;color:var(--c-ink)} .mz2-feat p{color:var(--c-muted);font-size:14.5px;margin:0;line-height:1.6}
.mz2-branche{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--c-line);border-radius:14px;padding:20px;height:100%}
.mz2-branche .d{color:var(--c-gold);font-size:18px} .mz2-branche h4{font-family:'Sora';font-size:16.5px;margin:0 0 3px} .mz2-branche p{color:var(--c-muted);font-size:14px;margin:0}
/* dunkle Sektionen */
.mz2-dark{background:var(--c-dark) !important}
.mz2-dark h1,.mz2-dark h2,.mz2-dark h3{color:#fff !important} .mz2-dark p,.mz2-dark .mz2-lead{color:#cfc7b8 !important} .mz2-dark .mz2-eyebrow{color:var(--c-gold)}
/* 360-Kachel: Poster + Klick */
.mz2-360grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:768px){.mz2-360grid{grid-template-columns:1fr}}
.mz2-view{display:block;background:#fff;border:1px solid var(--c-line);border-radius:14px;overflow:hidden;text-decoration:none;transition:transform .3s,box-shadow .3s,border-color .3s}
.mz2-view:hover{box-shadow:0 24px 50px -30px rgba(22,20,15,.35);transform:translateY(-4px);border-color:var(--c-gold)}
.mz2-view .fr{aspect-ratio:5/7;background:#fff;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.mz2-view .fr img{max-width:84%;max-height:84%;width:auto;object-fit:contain;display:block}
.mz2-view .fr .badge360{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);background:var(--c-gold);color:#1a1408;font-weight:700;font-size:12.5px;padding:9px 17px;border-radius:100px;box-shadow:0 10px 22px -8px rgba(0,0,0,.4);white-space:nowrap}
.mz2-view:hover .fr .badge360{background:var(--c-gold-d)} .mz2-view .cap{padding:14px 18px;font-family:'Sora';font-weight:700;font-size:15px;color:var(--c-ink)}
/* Checkliste / Chips */
.mz2-sage .mz2-eyebrow{color:var(--c-sage)}
.mz2-checklist{list-style:none;margin:14px 0 22px;padding:0} .mz2-checklist li{position:relative;padding-left:28px;margin-bottom:10px;color:var(--c-muted)} .mz2-checklist li:before{content:"✓";position:absolute;left:0;color:var(--c-sage);font-weight:800}
.mz2-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:18px} .mz2-chip{background:#fff;border:1px solid var(--c-line);border-radius:100px;padding:9px 18px;font-weight:600;color:var(--c-ink);font-size:14px}
/* Portfolio / News / Kontakt */
.mz2-gtile{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/3;display:block;border:1px solid var(--c-line)} .mz2-gtile img{width:100%;height:100%;object-fit:cover;transition:.5s} .mz2-gtile:hover img{transform:scale(1.06)} .mz2-gtile .lbl{position:absolute;left:0;right:0;bottom:0;padding:16px;color:#fff;font-family:'Sora';font-weight:700;background:linear-gradient(transparent,rgba(22,20,15,.85))}
.mz2-news{background:#fff;border:1px solid var(--c-line);border-radius:14px;overflow:hidden;height:100%} .mz2-news .th{height:180px;background-size:cover;background-position:center} .mz2-news .bd{padding:22px} .mz2-news .cat{color:var(--c-gold-d);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase} .mz2-news h3{font-family:'Sora';font-size:18px;margin:6px 0 8px} .mz2-news p{color:var(--c-muted);font-size:14px;margin:0}
.mz2-cinfo{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px} .mz2-cinfo .b{width:46px;height:46px;border-radius:10px;border:1.5px solid var(--c-gold);color:var(--c-gold-d);display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:18px} .mz2-cinfo h4{font-family:'Sora';font-size:15px;margin:0 0 2px} .mz2-cinfo a,.mz2-cinfo p{color:var(--c-muted);font-size:14.5px;margin:0}
/* Formular */
.mz2-form{background:#fff;border:1px solid var(--c-line);border-radius:16px;padding:30px;box-shadow:0 40px 80px -50px rgba(22,20,15,.5)} .mz2-form h3{font-family:'Sora';font-size:22px;margin:0 0 4px} .mz2-form .sub{color:var(--c-muted);font-size:14px;margin:0 0 18px} .mz2-form .wpcf7 p{margin:0 0 12px !important}
.mz2-form input,.mz2-form select,.mz2-form textarea{width:100%;border:1px solid var(--c-line);border-radius:9px;padding:13px 15px;font-size:15px;font-family:inherit;background:#fcfbf8;color:var(--c-ink)} .mz2-form select{height:48px} .mz2-form input:focus,.mz2-form select:focus,.mz2-form textarea:focus{outline:none;border-color:var(--c-gold);background:#fff}
.mz2-form .wpcf7-submit{background:var(--c-gold);color:#1a1408;border:0;border-radius:9px;padding:15px;font-weight:700;width:100%;cursor:pointer;font-size:15.5px} .mz2-form .wpcf7-submit:hover{background:var(--c-gold-d)} .mz2-form .wpcf7-spinner{display:none} .mz2-form .note{font-size:12px;color:var(--c-muted);margin-top:10px;text-align:center}
/* Prose / FAQ */
.mz2-prose{max-width:880px;margin:0 auto} .mz2-prose h2,.mz2-prose h3{font-family:'Sora';margin:22px 0 8px;color:var(--c-ink)} .mz2-prose p,.mz2-prose li{color:#3a352c;line-height:1.7;margin:0 0 12px} .mz2-prose a{color:var(--c-gold-d)}
.mz2 .accordion-title{font-family:'Sora';font-weight:700;color:var(--c-ink);font-size:17px} .mz2 .accordion-inner{color:var(--c-muted);line-height:1.7}
/* TOP BAR (sichtbar, edel) */
.mz2 #top-bar{background:var(--c-ink) !important;min-height:42px;font-size:13px}
.mz2 #top-bar,.mz2 #top-bar a,.mz2 #top-bar .nav>li>a{color:#d8d0c2 !important;font-weight:500}
.mz2 #top-bar a:hover,.mz2 #top-bar .nav>li>a:hover{color:var(--c-gold) !important}
.mz2 #top-bar b,.mz2 #top-bar strong{color:var(--c-gold) !important}
/* HEADER / MENÜ */
.mz2 li.cart-item,.mz2 li.account-item,.mz2 .header .cart-icon,.mz2 .nav-right .account-link{display:none !important}
.mz2 #header .header-main{min-height:84px} .mz2 #logo img{max-height:48px !important}
.mz2 .header-main .nav > li{margin:0 16px !important}
.mz2 .header-main .nav > li > a{font-size:14.5px !important;font-weight:600 !important;letter-spacing:.04em;color:var(--c-ink) !important;text-transform:none !important;padding:6px 2px !important;position:relative}
.mz2 .header-main .nav > li > a:hover{color:var(--c-gold-d) !important}
.mz2 .header-main .nav > li > a:after{content:"";position:absolute;left:2px;right:2px;bottom:0;height:2px;background:var(--c-gold);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.mz2 .header-main .nav > li > a:hover:after,.mz2 .header-main .nav > li.active > a:after{transform:scaleX(1)}
.mz2 .header-main .nav > li.nav-anfrage{margin-left:22px !important}
.mz2 .header-main .nav > li.nav-anfrage > a{background:var(--c-gold) !important;color:#1a1408 !important;border-radius:8px !important;padding:11px 22px !important;font-weight:700 !important}
.mz2 .header-main .nav > li.nav-anfrage > a:hover{background:var(--c-gold-d) !important} .mz2 .header-main .nav > li.nav-anfrage > a:after{display:none !important}
.mz2 #masthead{box-shadow:0 1px 0 rgba(22,20,15,.06)}
/* FOOTER */
.mz2 #footer{background:#16140F !important;padding:0 !important;border:0 !important}
.mz2 .absolute-footer,.mz2 #footer .payment-icons{display:none !important}
.mz2 #footer .row{max-width:1500px !important;margin:0 auto !important;padding:0 24px !important}
.mz2 #footer .row > .col{flex:0 0 100% !important;max-width:100% !important;width:100% !important;padding:0 !important}
.mz2 #footer .widget .widget-title,.mz2 #footer .is-divider{display:none !important}
.mz2-footer{padding:64px 0 0;color:#cfc7b8}
.mz2-footer .ft-cols{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.3fr;gap:40px}
.mz2-footer .ft-logo{height:40px;filter:brightness(0) invert(1);opacity:.92;margin-bottom:16px}
.mz2-footer .ft-brand p{color:#9a9183;font-size:14px;max-width:34ch;line-height:1.7;margin:0}
.mz2-footer h4{font-family:'Sora';color:#fff;font-size:13.5px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 16px}
.mz2-footer .ft-col a,.mz2-footer .ft-col span{display:block;color:#cfc7b8;font-size:14.5px;margin-bottom:11px;text-decoration:none} .mz2-footer .ft-col a:hover{color:var(--c-gold)}
.mz2-footer .ft-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:52px;padding:22px 0;font-size:13px;color:#7a7264;text-align:center}
@media(max-width:850px){.mz2-footer .ft-cols{grid-template-columns:1fr 1fr}} @media(max-width:560px){.mz2-footer .ft-cols{grid-template-columns:1fr}}

/* FIX: Top-Bar auf Tablet/Mobil ausblenden (bricht sonst um) */
@media(max-width:849px){.mz2 #top-bar{display:none !important}}
.mz2 #top-bar .flex-center{display:none !important}
.mz2 #top-bar ul.nav{white-space:nowrap}
/* FIX: Gold-Button ohne blauen Rahmen/Focus-Ring */
.mz2 .header-main .nav > li.nav-anfrage > a,
.mz2 .button.mz2-gold,.mz2 a.button.mz2-gold{border:0 !important;outline:0 !important}
.mz2 .header-main .nav > li.nav-anfrage > a:focus,
.mz2 .button.mz2-gold:focus{outline:0 !important;box-shadow:0 12px 28px -14px rgba(183,154,91,.7) !important}

/* Gold-Button: kein Rahmen/Schatten-Kante */
.mz2 .header-main .nav > li.nav-anfrage > a{box-shadow:none !important;border:0 !important;background-clip:padding-box}
.mz2 .header-main .nav > li.nav-anfrage > a:hover{box-shadow:0 10px 22px -12px rgba(183,154,91,.7) !important}

/* Top-Bar: einheitliche Schriftgröße */
.mz2 #top-bar,.mz2 #top-bar *{font-size:13px !important;line-height:1.3 !important}
.mz2 #top-bar .nav li,.mz2 #top-bar .nav a,.mz2 #top-bar .html *{font-size:13px !important;vertical-align:middle}

/* Gold-Menü-Button: Flatsome-Outline/Focus-Rahmen restlos entfernen */
.mz2 #masthead .nav li.nav-anfrage > a,
.mz2 #masthead .nav li.nav-anfrage > a:hover,
.mz2 #masthead .nav li.nav-anfrage > a:focus,
.mz2 #masthead .nav li.nav-anfrage > a:focus-visible,
.mz2 #masthead .nav li.nav-anfrage > a:active{
  background:var(--c-gold) !important;color:#1a1408 !important;border:0 !important;
  box-shadow:none !important;outline:0 !important;text-shadow:none !important}
.mz2 #masthead .nav li.nav-anfrage > a:hover{background:var(--c-gold-d) !important;box-shadow:0 10px 22px -12px rgba(183,154,91,.6) !important}

/* Gold-Button: auch li + Pseudo-Elemente randlos */
.mz2 #masthead .nav li.nav-anfrage,
.mz2 #masthead .nav li.nav-anfrage > a:before,
.mz2 #masthead .nav li.nav-anfrage > a:after{border:0 !important;box-shadow:none !important;background:none !important}
.mz2 #masthead .nav.nav-divided li.nav-anfrage:before,.mz2 #masthead .nav li.nav-anfrage:before{display:none !important}

/* FOOTER bulletproof horizontal (höchste Spezifität, schlägt alles) */
.mz2 #footer .row > .col{flex:0 0 100% !important;max-width:100% !important;width:100% !important}
.mz2 #footer .mz2-footer .ft-cols{display:grid !important;grid-template-columns:1.7fr 1fr 1fr 1.3fr !important;gap:40px !important}
.mz2 #footer .mz2-footer .ft-brand,.mz2 #footer .mz2-footer .ft-col{display:block !important;width:auto !important;max-width:none !important;float:none !important}
@media(max-width:850px){.mz2 #footer .mz2-footer .ft-cols{grid-template-columns:1fr 1fr !important}}
@media(max-width:560px){.mz2 #footer .mz2-footer .ft-cols{grid-template-columns:1fr !important}}
