/* ==========================================================================
   mamazita 2026 – Theme-Styles
   Farben/Schriften kommen als CSS-Variablen aus theme.json (--wp--preset--…).
   Gilt im Frontend und – über add_editor_style – auch im Editor.
   ========================================================================== */

:root{
	--mz-ink:var(--wp--preset--color--ink,#3b2b20);
	--mz-ink-soft:var(--wp--preset--color--ink-soft,#6b5644);
	--mz-copper:var(--wp--preset--color--copper,#b65319);
	--mz-copper-dark:var(--wp--preset--color--copper-dark,#8f3f12);
	--mz-forest:var(--wp--preset--color--forest,#1f2a22);
	--mz-sand:var(--wp--preset--color--sand,#fbe6bb);
	--mz-cream:var(--wp--preset--color--cream,#fff9ea);
	--mz-white:var(--wp--preset--color--white,#fffdf8);
	--mz-sans:var(--wp--preset--font-family--body,"Tenor Sans",sans-serif);
	--mz-script:var(--wp--preset--font-family--script,Hurricane,cursive);
	--mz-gutter:clamp(16px,4vw,56px);
	--mz-bar-h:76px;
}

/* ---------- Grundlagen ---------- */
body{-webkit-font-smoothing:antialiased;font-synthesis:none;margin:0}
body:not(.wp-admin){padding-bottom:var(--mz-bar-h)}
strong,b{font-synthesis:weight}
img{max-width:100%;height:auto}
:where(a,button,input,select,summary,[tabindex]):focus-visible{outline:2px solid var(--mz-copper);outline-offset:3px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{position:fixed!important;top:8px;left:8px;width:auto;height:auto;clip:auto;z-index:100;background:var(--mz-white);color:var(--mz-ink);padding:10px 16px}
.mz-wrap{max-width:1240px;margin-inline:auto;padding-inline:var(--mz-gutter);box-sizing:border-box}

/* Startseite: Abschnitte stoßen direkt aneinander, keine automatischen Abstände */
.mz-home,.mz-home .wp-block-post-content{margin:0}
.mz-home .wp-block-post-content > *{margin-block:0}

/* ---------- Blockstile ---------- */
.is-style-script{font-family:var(--mz-script)!important;font-size:clamp(48px,5vw,72px);line-height:1;letter-spacing:0!important;color:var(--mz-ink)}
.is-style-eyebrow{font-size:15px!important;letter-spacing:.16em!important;color:var(--mz-copper)!important;line-height:1.5}
.wp-block-image.is-style-grayscale img{filter:grayscale(1) contrast(1.05)}

.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-width:150px;box-sizing:border-box;text-decoration:none;transition:background .25s,color .25s,border-color .25s}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;border:1px solid var(--mz-copper);color:var(--mz-copper-dark);padding:12px 27px}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--mz-copper);color:var(--mz-white)}

/* ---------- Kopfbereich ---------- */
.mz-site-header{position:sticky;top:0;z-index:50;margin:0}
.mz-has-hero .mz-site-header{position:fixed;inset:0 0 auto 0}
.admin-bar .mz-site-header{top:32px}
@media (max-width:782px){.admin-bar .mz-site-header{top:46px}}.mz-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px var(--mz-gutter);background:rgba(255,249,234,.96);color:var(--mz-ink);box-shadow:0 1px 0 rgba(59,43,32,.08);transition:background .35s,box-shadow .35s,color .35s,padding .35s}
.mz-header .wp-block-site-logo img{height:34px;width:auto;transition:filter .35s}
.mz-header__right{display:flex;align-items:center;gap:18px}
.mz-header > *,.mz-header__right > *{margin:0!important}
.mz-header__voucher{font-size:13px;letter-spacing:.2em;margin:0}
.mz-header__voucher a{text-decoration:none}
.mz-header__voucher a:hover{text-decoration:underline;text-underline-offset:4px}

/* über dem Titelbild: transparent, Logo weiß, erst beim Scrollen hell */
.mz-has-hero .mz-header:not(.is-solid){background:transparent;box-shadow:none;color:var(--mz-white);padding-block:14px}
.mz-has-hero .mz-header:not(.is-solid) .wp-block-site-logo{opacity:0;pointer-events:none}
.mz-header .wp-block-site-logo{transition:opacity .35s}

/* Menü (Core-Navigation, immer als Vollbild-Overlay) */
.mz-nav .wp-block-navigation__responsive-container-open{color:inherit;padding:8px}
.mz-nav .wp-block-navigation__responsive-container-open svg{width:34px;height:34px}
.mz-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--mz-forest) url("../images/logo-element-menu.png") right 6vw bottom -6vh / auto 78vh no-repeat!important;color:var(--mz-cream)!important;padding:clamp(24px,5vw,64px) var(--mz-gutter)}
.mz-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{padding-top:clamp(64px,10vh,120px);align-items:flex-start}
.mz-nav .is-menu-open .wp-block-navigation__container{gap:clamp(8px,1.6vh,18px)!important;align-items:flex-start!important}
.mz-nav .is-menu-open .wp-block-navigation-item__content{font-size:clamp(26px,3.2vw,40px);letter-spacing:.14em;text-decoration:none;padding:6px 0!important}
.mz-nav .is-menu-open .wp-block-navigation-item__content:hover{color:var(--mz-sand)}
.mz-nav .wp-block-navigation__responsive-container-close svg{width:34px;height:34px}

/* Menü öffnet sich sanft als Kreis vom Menü-Knopf aus, die Punkte gleiten nacheinander herein */
.mz-nav .wp-block-navigation__responsive-container.is-menu-open{animation:mzMenuReveal .75s cubic-bezier(.7,0,.2,1) both!important}
@keyframes mzMenuReveal{
	from{clip-path:circle(0% at calc(100% - 48px) 40px)}
	to{clip-path:circle(150% at calc(100% - 48px) 40px)}
}
.mz-nav .is-menu-open .wp-block-navigation-item{animation:mzMenuItem .6s cubic-bezier(.2,.7,.2,1) both}
.mz-nav .is-menu-open .wp-block-navigation-item:nth-child(1){animation-delay:.25s}
.mz-nav .is-menu-open .wp-block-navigation-item:nth-child(2){animation-delay:.31s}
.mz-nav .is-menu-open .wp-block-navigation-item:nth-child(3){animation-delay:.37s}
.mz-nav .is-menu-open .wp-block-navigation-item:nth-child(4){animation-delay:.43s}
.mz-nav .is-menu-open .wp-block-navigation-item:nth-child(5){animation-delay:.49s}
.mz-nav .is-menu-open .wp-block-navigation-item:nth-child(n+6){animation-delay:.55s}
@keyframes mzMenuItem{
	from{opacity:0;transform:translateY(22px)}
	to{opacity:1;transform:none}
}

/* ---------- Titelbild ---------- */
.mz-hero.wp-block-cover{min-height:min(100svh,1000px)!important;padding:0;color:var(--mz-white);background:#141a14 url("../images/mamazita-ambience.jpg") center/cover}
.mz-hero .wp-block-cover__video-background{object-fit:cover}
.mz-hero__pause{position:absolute;z-index:3;left:var(--mz-gutter);bottom:calc(var(--mz-bar-h) + 20px);width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,253,248,.6);background:rgba(20,26,20,.35);color:var(--mz-white);display:grid;place-items:center;cursor:pointer;transition:background .2s}
.admin-bar .mz-hero__pause{bottom:calc(var(--mz-bar-h) + 52px)} /* Admin-Leiste schiebt das Titelbild nach unten */
@media (max-width:782px){.admin-bar .mz-hero__pause{bottom:calc(var(--mz-bar-h) + 66px)}}
.mz-hero__pause:hover{background:rgba(20,26,20,.6)}
.mz-hero__pause svg{width:16px;height:16px}
.mz-hero .wp-block-cover__inner-container{display:grid;place-items:center;width:100%;padding:0 var(--mz-gutter)}
.mz-hero__brand{display:block;width:clamp(240px,46vw,640px);margin:0 auto}
.mz-hero__brand > *{margin:0!important}
.mz-hero__est{text-align:right;font-family:var(--mz-script);font-size:clamp(28px,2.6vw,38px);line-height:1;color:var(--mz-sand);margin:0 2.5% .3em 0!important}
.mz-hero__logo img{width:100%;filter:drop-shadow(0 2px 18px rgba(0,0,0,.25))}

/* ---------- Willkommen + Karten ---------- */
.mz-welcome{padding:clamp(70px,9vw,130px) 0}
.mz-welcome__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,6vw,90px);align-items:center}
.mz-welcome__grid > *{margin:0!important}
.mz-welcome__img img{aspect-ratio:4/5;object-fit:cover;width:100%}
.mz-welcome__text{text-align:center}
.mz-welcome__text > *{margin-inline:auto}
/* Öffnungszeiten als hervorgehobener Rahmen, damit sie nicht überlesen werden */
.mz-hours{display:flex;flex-direction:column;align-items:center;gap:6px;margin:0 auto 32px;color:var(--mz-ink);font-size:clamp(19px,1.7vw,22px);letter-spacing:.08em;line-height:1.4}
.mz-hours,h1,h2,h3,.wp-block-heading{text-wrap:balance}
p{text-wrap:pretty}
.mz-hours strong{font-weight:400;display:block;font-size:14px;letter-spacing:.14em;color:var(--mz-copper)}
.mz-welcome__lead.wp-block-heading{font-size:clamp(17px,1.6vw,20px);letter-spacing:.12em;line-height:1.95;color:var(--mz-ink-soft);max-width:34em}
.mz-welcome__copy{font-size:16px;color:var(--mz-ink-soft);max-width:36em}
.mz-menus__title.wp-block-heading{margin-top:52px;font-size:clamp(20px,2vw,24px);letter-spacing:.2em;line-height:1.5;color:var(--mz-ink-soft)}
.mz-menus__btns{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:20px}
.mz-menus__btns .wp-block-button__link{min-width:150px}
.mz-menus__more{font-size:14px;letter-spacing:.12em;color:var(--mz-ink-soft);margin-top:20px}
/* Hinweis für Gäste mit Hund: kleine Pfote in Kupfer, dezent abgesetzt */
/* Hinweis für Gäste mit Hund im Fußbereich */
.mz-footer .mz-footer__dogs{display:flex;align-items:flex-start;gap:10px;margin:4px 0 14px}
.mz-footer__paw{flex:0 0 auto;margin-top:2px;color:var(--mz-copper);transform:rotate(-12deg)}

/* ---------- Bildleisten (Galerien) ---------- */
.wp-block-gallery.mz-strip,.wp-block-gallery.mz-party__row{display:grid!important;grid-template-columns:repeat(4,1fr);gap:0!important;margin:0}
.wp-block-gallery.mz-strip > figure,.wp-block-gallery.mz-party__row > figure{width:auto!important;margin:0!important;overflow:hidden}
.wp-block-gallery.mz-strip img,.wp-block-gallery.mz-party__row img{width:100%!important;height:100%!important;aspect-ratio:3/4;object-fit:cover;transition:transform .8s ease}
.wp-block-gallery.mz-strip figure:hover img{transform:scale(1.04)}

/* ---------- Gutschein-Teaser ---------- */
.mz-voucher{background:var(--mz-forest);color:var(--mz-cream);padding:clamp(40px,4.5vw,64px) 0}
/* Titel links, rechts Text und darunter die Buttons */
.mz-voucher__inner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px clamp(40px,6vw,100px);align-items:center}
.mz-voucher__title{grid-column:1;grid-row:1 / span 2}
.mz-voucher__text{grid-column:2;grid-row:1;align-self:end}
.mz-voucher__btn{grid-column:2;grid-row:2;align-self:start}
@media (max-width:760px){.mz-voucher__inner{grid-template-columns:1fr}.mz-voucher__title,.mz-voucher__text,.mz-voucher__btn{grid-column:1;grid-row:auto}}
.mz-voucher__inner > *{margin:0!important}
.mz-voucher__title.wp-block-heading{color:var(--mz-sand)!important;font-size:clamp(48px,5vw,72px);flex:0 0 auto}
.mz-voucher__text{flex:1 1 240px;font-size:clamp(16px,1.4vw,18px);letter-spacing:.06em;line-height:1.7;color:rgba(255,249,234,.88);max-width:34em}
.mz-voucher .wp-block-button__link{background:var(--mz-sand);color:var(--mz-copper-dark);border:1px solid var(--mz-sand)}
.mz-voucher .wp-block-button__link:hover,.mz-voucher .wp-block-button__link:focus-visible{background:transparent;color:var(--mz-sand);border-color:var(--mz-sand)}
.mz-voucher .is-style-outline .wp-block-button__link{background:transparent;color:var(--mz-sand);border-color:var(--mz-sand)}
.mz-voucher .is-style-outline .wp-block-button__link:hover,.mz-voucher .is-style-outline .wp-block-button__link:focus-visible{background:var(--mz-sand);color:var(--mz-copper-dark)}
.mz-voucher__btn{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- Events ---------- */
.mz-events{padding:30px 0 0;--ev-cols:3;display:grid;grid-template-columns:1fr 3fr;align-items:stretch}
.mz-events > *{margin:0!important}
.mz-events__intro{padding:clamp(48px,5vw,80px) clamp(20px,2.4vw,40px) 56px}
.mz-events__intro > *{margin-top:0}
.mz-events__intro p{font-size:16px;color:var(--mz-ink-soft);margin:22px 0 28px;max-width:22em}
.mz-title.wp-block-heading{font-size:clamp(28px,3.4vw,42px);letter-spacing:.22em;line-height:1.35;color:var(--mz-copper);margin:0}

.mz-slider{position:relative;display:flex;flex-direction:column}
.mz-slider__track{flex:1;display:grid;grid-auto-flow:column;grid-auto-columns:calc(100% / var(--ev-cols,3));gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.mz-slider__track::-webkit-scrollbar{display:none}
.mz-event{position:relative;scroll-snap-align:start;overflow:hidden;color:var(--mz-white)!important;text-decoration:none;min-height:calc(100vw / 4 * 1.5);background:var(--mz-forest)}
.mz-event img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s ease}
.mz-event::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.32) 0%,rgba(255,255,255,0) 32%,rgba(20,14,10,0) 48%,rgba(20,14,10,.82) 100%)}
.mz-event::before{content:"";position:absolute;inset:0;z-index:1;opacity:0;transition:opacity .4s;background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,rgba(20,14,10,.25) 40%,rgba(20,14,10,.9) 100%)}
.mz-event__body{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:26px 22px;text-align:center}
.mz-event__date{display:block;font-size:14px;letter-spacing:.12em;color:var(--mz-sand);margin-bottom:6px}
.mz-event__name{display:block;font-size:clamp(20px,1.9vw,28px);letter-spacing:.14em;color:var(--mz-white);margin:0;line-height:1.3}
.mz-event__text{font-size:15px;line-height:1.6;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s,opacity .5s,margin .5s;margin:0}
.mz-event:hover img,.mz-event:focus-visible img{transform:scale(1.05)}
.mz-event:hover::before,.mz-event:focus-visible::before{opacity:1}
.mz-event:hover .mz-event__text,.mz-event:focus-visible .mz-event__text{max-height:14em;opacity:.95;margin-top:10px}
/* Info-Karte (z. B. Private Events): ohne Foto in Sand, Text immer sichtbar */
.mz-event--info:not(.has-image){background:var(--mz-forest);color:var(--mz-cream)!important}
.mz-event--info:not(.has-image)::after,.mz-event--info:not(.has-image)::before{display:none}
.mz-event--info .mz-event__body{top:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,2.6vw,40px)}
.mz-event--info .mz-event__text{max-height:none!important;opacity:1!important;margin-top:14px}
.mz-event--info .mz-event__body{padding-inline:max(clamp(24px,2.6vw,40px),64px)} /* Text nicht unter den Pfeilen */
.mz-event--info:not(.has-image) .mz-event__name{color:var(--mz-cream);font-size:clamp(20px,1.7vw,26px);line-height:1.35}
.mz-event--info:not(.has-image) .mz-event__date{color:var(--mz-sand)}
.mz-event--info:not(.has-image) .mz-event__text{color:rgba(255,249,234,.85);font-size:15px}
.mz-event__more{display:inline-block;margin-top:22px;padding-bottom:3px;border-bottom:1px solid currentColor;font-size:14px;letter-spacing:.14em;color:var(--mz-sand);align-self:center}
.mz-event--info.has-image .mz-event__more{color:var(--mz-sand)}
.mz-event--info:hover .mz-event__more{color:var(--mz-white)}
.mz-slider__btn{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;background:rgba(255,249,234,.92);color:var(--mz-copper-dark);display:grid;place-items:center;box-shadow:0 4px 18px rgba(0,0,0,.18);transition:opacity .3s,background .2s}
.mz-slider__btn:hover{background:var(--mz-white)}
.mz-slider__btn[disabled]{opacity:0;pointer-events:none}
.mz-slider__btn--prev{left:16px}.mz-slider__btn--next{right:16px}
.mz-slider__dots{display:none;justify-content:center;gap:8px;margin-top:18px}
/* Fortschrittsleiste unter den Event-Karten */
.mz-progress{position:relative;height:3px;margin:22px clamp(16px,2.4vw,40px) 6px 0;background:rgba(182,83,25,.18);border-radius:3px;cursor:pointer;touch-action:none}
.mz-progress::before{content:"";position:absolute;left:0;right:0;top:-10px;bottom:-10px}
.mz-progress[hidden]{display:none}
.mz-progress__thumb{position:absolute;top:0;height:100%;background:var(--mz-copper);border-radius:3px;transition:left .15s linear}
.mz-progress:hover .mz-progress__thumb{background:var(--mz-copper-dark)}
.mz-slider__dots span{width:7px;height:7px;border-radius:50%;background:var(--mz-sand);transition:background .3s,width .3s}
.mz-slider__dots span.is-active{background:var(--mz-copper);width:22px;border-radius:4px}

/* ---------- Team ---------- */
.mz-team{padding:clamp(56px,6vw,90px) 0 clamp(80px,9vw,130px)}
.mz-team .mz-wrap{max-width:1480px}
.mz-team__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:64px}
.mz-team__head > *{margin:0!important}
.mz-team__hint{font-size:14px;letter-spacing:.16em;color:var(--mz-ink-soft);display:flex;align-items:center;gap:10px}
.mz-team__hint::before{content:"";width:22px;height:22px;background:currentColor;color:var(--mz-copper);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M3 12a9 9 0 0 1 15.5-6.2L21 8'/%3E%3Cpath d='M21 3v5h-5'/%3E%3Cpath d='M21 12a9 9 0 0 1-15.5 6.2L3 16'/%3E%3Cpath d='M3 21v-5h5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M3 12a9 9 0 0 1 15.5-6.2L21 8'/%3E%3Cpath d='M21 3v5h-5'/%3E%3Cpath d='M21 12a9 9 0 0 1-15.5 6.2L3 16'/%3E%3Cpath d='M3 21v-5h5'/%3E%3C/svg%3E") center/contain no-repeat}
/* passt sich der Anzahl an (3 oder 4 Karten …), jede zweite Karte sitzt etwas höher */
.mz-team__grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:clamp(18px,2.6vw,36px);align-items:start}
/* Erste und letzte Karte auf einer Linie, die mittleren Karten sitzen höher */
.mz-member:not(:first-child):not(:last-child){margin-top:-44px}
.mz-flip{perspective:1400px;cursor:pointer;background:none;border:0;padding:0;width:100%;display:block;text-align:inherit;color:inherit;font:inherit;position:relative}
.mz-flip__inner{position:relative;aspect-ratio:4/5;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.3,.7,.2,1)}
.mz-member.is-flipped .mz-flip__inner{transform:rotateY(180deg)}
.mz-flip__face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;background:var(--mz-forest)}
.mz-flip__face img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.mz-flip__back{transform:rotateY(180deg);background:#24382b;color:var(--mz-cream);padding:clamp(22px,2.6vw,36px);display:flex;flex-direction:column;justify-content:center;text-align:left}
.mz-flip__greet{display:block;font-family:var(--mz-script);font-size:clamp(40px,3.6vw,52px);color:var(--mz-sand);line-height:1;margin-bottom:14px}
.mz-flip__p{display:block;font-size:15px;line-height:1.75;margin:0 0 12px}
.mz-flip__back small{display:block;font-size:14px;letter-spacing:.12em;color:var(--mz-sand);margin-top:auto}
/* Rückseite passt sich der Kartenbreite an, damit der Text auch auf schmalen Karten vollständig hineinpasst */
.mz-flip{container-type:inline-size}
.mz-flip__back{padding:clamp(18px,8cqi,36px);justify-content:safe center;overflow-y:auto;scrollbar-width:none}
.mz-flip__back::-webkit-scrollbar{display:none}
.mz-flip__back > :first-child{padding-right:34px} /* Platz für den Umdreh-Knopf oben rechts */
.mz-flip__greet{font-size:clamp(30px,14cqi,52px);margin-bottom:clamp(8px,4cqi,14px)}
.mz-flip__p{font-size:clamp(13px,5.2cqi,15px);line-height:1.65;margin-bottom:clamp(8px,3.6cqi,12px)}
.mz-flip__back small{font-size:clamp(12px,4.6cqi,14px)}
.mz-flip__turn{position:absolute;z-index:2;top:12px;right:12px;width:40px;height:40px;border-radius:50%;background:rgba(255,249,234,.9);color:var(--mz-copper-dark);display:grid;place-items:center;transition:transform .5s;box-shadow:0 3px 12px rgba(0,0,0,.2)}
.mz-flip:hover .mz-flip__turn{transform:rotate(-180deg)}
.mz-member__role{margin:16px 0 0;font-size:14px;line-height:1.6;letter-spacing:.12em;color:var(--mz-ink-soft)}
/* Vier Karten nebeneinander: zweizeilige Rollen verschieben die Namen nicht */
@media (min-width:1200px) and (max-width:1500px){.mz-member__role{min-height:3.2em;display:flex;align-items:flex-end}}
/* Tablet und kleine Laptops: zwei Karten nebeneinander, rechte Spalte versetzt */
@media (min-width:761px) and (max-width:1199px){
	.mz-team__grid{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,340px));justify-content:center;column-gap:clamp(32px,6vw,72px);row-gap:56px;padding-bottom:56px}
	.mz-member:not(:first-child):not(:last-child){margin-top:0}
	.mz-member:nth-child(even){transform:translateY(56px)}
}
.mz-member__name{font-size:clamp(18px,1.7vw,22px);letter-spacing:.16em;color:var(--mz-copper);margin:4px 0 0;font-weight:400}
.mz-initials{display:grid;place-items:center;width:100%;height:100%;font-size:64px;letter-spacing:.1em;color:var(--mz-sand)}

/* ---------- Gästestimmen + Auszeichnungen ---------- */
.mz-reviews{padding:clamp(56px,6vw,96px) 0;border-top:1px solid rgba(182,83,25,.2);text-align:center}
.mz-reviews .is-style-eyebrow{margin:0 0 28px}
.mz-quote{position:relative;max-width:680px;margin:0 auto;padding-top:46px}
.mz-quote::before{content:"\201C";position:absolute;left:50%;top:-18px;transform:translateX(-50%);font-family:var(--mz-script);font-size:110px;line-height:1;color:var(--mz-sand);pointer-events:none}
.mz-quote__slide{display:none;margin:0}
.mz-quote__slide.is-active{display:block;animation:mzFade .6s ease}
@keyframes mzFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.mz-quote blockquote{margin:0;font-size:clamp(16px,1.35vw,19px);line-height:1.75;letter-spacing:.03em;color:var(--mz-ink)}
.mz-quote figcaption{margin-top:16px;font-size:14px;letter-spacing:.12em;color:var(--mz-ink-soft)}
.mz-quote .mz-stars{display:block;color:var(--mz-copper);letter-spacing:.3em;font-size:16px;margin-bottom:6px}
.mz-quote__nav{display:flex;justify-content:center;gap:10px;margin-top:28px}
.mz-quote__nav button{width:12px;height:12px;padding:0;border-radius:50%;border:1px solid var(--mz-copper);background:transparent;cursor:pointer;transition:background .2s,width .3s}
.mz-quote__nav button[aria-current="true"]{background:var(--mz-copper);width:28px;border-radius:6px}
.mz-awards{display:flex;justify-content:center;align-items:stretch;gap:clamp(16px,3vw,40px);flex-wrap:wrap;margin:clamp(36px,4.5vw,60px) 0 0;padding:0;list-style:none}
.mz-award{flex:0 1 240px;min-height:120px;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-decoration:none;color:inherit}
.mz-award img{max-height:110px;width:auto}
.mz-award--text{border:1px dashed rgba(182,83,25,.55)}
.mz-award__title{font-size:18px;letter-spacing:.14em;color:var(--mz-copper)}
.mz-award__sub{font-size:13px;letter-spacing:.1em;color:var(--mz-ink-soft)}
.mz-reviews__more{margin-top:28px;font-size:14px;letter-spacing:.12em;color:var(--mz-ink-soft)}

/* ---------- Feiern ---------- */
.mz-party > *{margin:0!important}
.mz-party__grid{max-width:1340px;margin-inline:auto!important;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,4vw,72px);align-items:center;padding-block:clamp(60px,7vw,110px)}
.mz-party__grid > *{margin:0!important}
.mz-party__title{container-type:inline-size;min-width:0}
.mz-party__title > *{margin:0!important}
.mz-party__title .is-style-eyebrow{color:var(--mz-ink-soft)!important;margin-bottom:18px!important}
.mz-party__title .wp-block-heading{font-size:clamp(24px,2.3vw,34px);letter-spacing:.13em;line-height:1.4;color:var(--mz-copper)}
.mz-party__title .is-style-script{font-size:clamp(40px,4.3vw,64px);line-height:1;margin:.12em 0 0 .7em!important;white-space:normal;overflow-wrap:break-word;max-width:100%}
/* Größe richtet sich nach der Spaltenbreite – passt so in jede Spalte, ohne überzulaufen */
@supports (font-size:1cqi){.mz-party__title .is-style-script{font-size:clamp(44px,21cqi,84px);line-height:1.1;margin:.22em 0 0 min(.45em,4cqi)!important}}
.mz-party__text{border-left:1px solid rgba(182,83,25,.35);padding-left:clamp(24px,3vw,44px)}
.mz-party__menu{background:var(--mz-sand);padding:clamp(26px,2.6vw,38px);align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.mz-party__menu > *{margin:0 0 14px!important}
.mz-party__menu > *:last-child{margin-bottom:0!important}
.mz-party__menu .is-style-eyebrow{color:var(--mz-copper-dark)!important}
.mz-party__menu h3{font-size:clamp(20px,1.7vw,24px);letter-spacing:.1em;color:var(--mz-ink);line-height:1.35}
.mz-party__list{list-style:none;padding:0;margin:0}
.mz-party__list li{padding:8px 0;border-bottom:1px solid rgba(143,63,18,.2);color:var(--mz-ink);font-size:16px}
.mz-party__note{font-size:14px;color:var(--mz-ink-soft)}
@media (max-width:1100px) and (min-width:761px){.mz-footer__grid{grid-template-columns:1fr 1fr;row-gap:28px;padding-right:0!important;background-size:auto 200px!important;background-position:right bottom!important}.mz-footer__col:nth-child(3){grid-column:1/-1;border-left:0;padding-left:0;border-top:1px solid rgba(59,43,32,.2);padding-top:24px}.mz-party__grid{grid-template-columns:1fr 1fr}.mz-party__title{grid-column:1/-1}.mz-party__menu{align-self:start}}
.mz-party__text p{color:var(--mz-ink-soft);max-width:34em;margin:0 0 18px}
.mz-party__text p.has-large-font-size{line-height:1.65;color:var(--mz-ink);letter-spacing:.02em}
.mz-party__text .wp-block-buttons{margin-top:30px;gap:12px}
.mz-party__text .wp-block-button__link,.mz-party__menu .wp-block-button__link{min-width:0;padding-left:22px;padding-right:22px}

/* ---------- Collage + Bildband ---------- */
.wp-block-gallery.mz-collage{display:grid!important;grid-template-columns:1fr 1.6fr 1fr;grid-template-rows:1fr 1fr;height:clamp(420px,46vw,680px);gap:6px!important;margin:0}
.wp-block-gallery.mz-collage > figure{width:auto!important;margin:0!important;min-height:0}
.wp-block-gallery.mz-collage > figure:nth-child(1){grid-row:1/3;grid-column:1}
.wp-block-gallery.mz-collage > figure:nth-child(2){grid-row:1;grid-column:2}
.wp-block-gallery.mz-collage > figure:nth-child(3){grid-row:2;grid-column:2}
.wp-block-gallery.mz-collage > figure:nth-child(4){grid-row:1/3;grid-column:3}
.wp-block-gallery.mz-collage > figure:nth-child(n+5){display:none}
.wp-block-gallery.mz-collage img{width:100%!important;height:100%!important;object-fit:cover}
.mz-band.wp-block-cover{min-height:clamp(220px,32vw,460px)!important;padding:0}

/* ---------- Fußbereich ---------- */
.mz-site-footer{margin:0}
.mz-footer{position:relative;padding:clamp(44px,4.5vw,68px) 0 28px;border-top:1px solid rgba(182,83,25,.2)}
.mz-footer .mz-wrap{max-width:1480px}
/* Logo-Element als dezente Grafik rechts neben den Spalten, genau so hoch wie der Inhalt */
.mz-footer__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.75fr) minmax(0,1.25fr);background:url("../images/logo-element-footer.png") right center / contain no-repeat}
.mz-footer__col{padding:0 clamp(22px,3.4vw,56px);border-left:1px solid rgba(59,43,32,.25)}
.mz-footer__col:first-child{border-left:0;padding-left:0}
.mz-footer__logo{width:170px;margin-bottom:16px}
.mz-footer__logo img{width:100%;height:auto;display:block}
.mz-footer__est{display:none}
.mz-footer h2{font-size:17px;letter-spacing:.14em;color:var(--mz-copper);margin:0 0 14px;font-weight:400}
.mz-footer p,.mz-footer address{font-style:normal;font-size:16px;color:var(--mz-ink-soft);margin:0 0 10px;line-height:1.65}
.mz-footer a{text-decoration:none}
.mz-footer a:hover{color:var(--mz-copper);text-decoration:underline}
.mz-social{display:flex;gap:12px;margin-top:18px;padding:0;list-style:none}
.mz-social a{width:42px;height:42px;border:1px solid var(--mz-copper);border-radius:50%;display:grid;place-items:center;color:var(--mz-copper);transition:background .2s,color .2s}
.mz-social a:hover{background:var(--mz-copper);color:var(--mz-white);text-decoration:none}
.mz-footer__legal{margin-top:36px;padding-top:18px;border-top:1px solid rgba(59,43,32,.12);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:14px;letter-spacing:.1em;color:var(--mz-ink-soft)}
.mz-footer__legal ul{display:flex;gap:22px;flex-wrap:wrap;margin:0;padding:0;list-style:none}

/* ---------- Mitlaufende Reservierungsleiste ---------- */
.mz-book{position:fixed;z-index:45;left:0;right:0;bottom:0;background:rgba(31,42,34,.97);color:var(--mz-cream);backdrop-filter:blur(10px);box-shadow:0 -6px 24px rgba(0,0,0,.18);padding:12px var(--mz-gutter) calc(12px + env(safe-area-inset-bottom));transition:transform .4s ease}
.has-modal-open .mz-book{transform:translateY(110%)}
.mz-book__form{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:auto 1fr 1fr 1fr auto;gap:12px;align-items:center}
.mz-book__label{font-size:clamp(20px,1.8vw,24px);letter-spacing:.16em;white-space:nowrap;padding-right:14px;margin:0}
.mz-book__label span{font-family:var(--mz-script);font-size:1.75em;color:var(--mz-sand);letter-spacing:0;margin-right:.15em}
.mz-field{position:relative;display:flex;align-items:center;background:var(--mz-white);color:var(--mz-ink);border-radius:2px;height:46px;margin:0}
.mz-field svg{position:absolute;left:12px;color:var(--mz-copper);pointer-events:none}
.mz-field select,.mz-field input{appearance:none;-webkit-appearance:none;border:0;background:transparent;width:100%;height:100%;padding:0 30px 0 38px;font:inherit;font-size:15px;color:inherit;letter-spacing:.04em;cursor:pointer;min-width:0}
.mz-field::after{content:"";position:absolute;right:13px;top:50%;width:7px;height:7px;border-right:1.5px solid var(--mz-ink-soft);border-bottom:1.5px solid var(--mz-ink-soft);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.mz-field input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;opacity:0;cursor:pointer}

/* Eigener Kalender (Desktop): öffnet nach oben über der Reservierungsleiste */
.mz-datebtn{appearance:none;border:0;background:transparent;width:100%;height:100%;padding:0 30px 0 38px;font:inherit;font-size:15px;color:inherit;letter-spacing:.04em;text-align:left;cursor:pointer}
.mz-cal{position:absolute;left:0;bottom:calc(100% + 10px);z-index:60;width:296px;padding:14px 14px 12px;background:var(--mz-white);color:var(--mz-ink);border-radius:4px;box-shadow:0 -8px 32px rgba(0,0,0,.28);font-size:14px}
.mz-cal[hidden]{display:none}
.mz-cal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.mz-cal__title{letter-spacing:.08em;color:var(--mz-copper-dark)}
.mz-cal__nav{width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--mz-copper-dark);font-size:22px;line-height:1;cursor:pointer}
.mz-cal__nav:hover{background:var(--mz-sand)}
.mz-cal__nav[disabled]{opacity:.25;cursor:default;background:transparent}
.mz-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.mz-cal__dow{font-size:12px;letter-spacing:.06em;color:var(--mz-ink-soft);padding:4px 0}
.mz-cal__day{height:36px;border:0;border-radius:50%;background:transparent;font:inherit;font-size:14px;color:var(--mz-ink);cursor:pointer}
.mz-cal__day:hover{background:var(--mz-sand)}
.mz-cal__day.is-today{box-shadow:inset 0 0 0 1px var(--mz-copper)}
.mz-cal__day.is-selected{background:var(--mz-copper);color:var(--mz-white)}
.mz-cal__day[disabled]{color:#b9aca0;cursor:default;background:transparent;text-decoration:line-through;text-decoration-color:rgba(0,0,0,.15)}
.mz-book__submit{height:46px;border:0;background:var(--mz-copper);color:var(--mz-white);padding:0 28px;font:inherit;font-size:14px;letter-spacing:.2em;cursor:pointer;border-radius:2px;white-space:nowrap;transition:background .2s}
.mz-book__submit:hover{background:var(--mz-copper-dark)}
.mz-book__msg{grid-column:1/-1;margin:0;font-size:14px;color:var(--mz-sand)}
.mz-book__msg:empty{display:none}
.mz-book__powered{position:absolute;right:var(--mz-gutter);top:-22px;font-size:11px;letter-spacing:.12em;color:var(--mz-ink-soft);opacity:.75;pointer-events:none}

/* ---------- Unterseiten (Impressum, Datenschutz, Beiträge) ---------- */
.mz-page{padding:clamp(60px,8vw,110px) var(--mz-gutter)}
.mz-page .wp-block-post-title{color:var(--mz-copper);letter-spacing:.14em;font-size:clamp(28px,3.4vw,42px)}
.mz-404{text-align:center}

/* ---------- Editor-Ansicht ---------- */
.editor-styles-wrapper .mz-book{position:relative;z-index:1}
.editor-styles-wrapper .mz-site-header,.editor-styles-wrapper .mz-has-hero .mz-site-header{position:relative}
.editor-styles-wrapper .mz-header .wp-block-site-logo{opacity:1!important}
.editor-styles-wrapper .mz-event__text{max-height:9em;opacity:.95;margin-top:10px}

/* ---------- Bewegung reduzieren ---------- */
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
html{scroll-behavior:smooth;scroll-padding-top:80px}

/* =========== Tablet =========== */
@media (max-width:1024px){
	.mz-events{grid-template-columns:260px minmax(0,1fr);padding-top:20px;--ev-cols:2}
	.mz-events__intro{padding:clamp(48px,5vw,80px) 24px 56px var(--mz-gutter)}
	.mz-event{min-height:calc((100vw - 260px) / 2 * 1.5)}
	/* Tablet: wischen oder Leiste ziehen – Pfeile würden die schmaleren Karten verdecken */
	.mz-slider__btn{display:none}
	.mz-event--info .mz-event__body{padding-inline:clamp(22px,2.6vw,32px)}
	.mz-book__form{grid-template-columns:1fr 1fr 1fr auto}
	.mz-book__label{display:none}
	.wp-block-gallery.mz-collage{grid-template-columns:1fr 1fr}
	.wp-block-gallery.mz-collage > figure:nth-child(4){display:none}
}

/* =========== Mobil =========== */
@media (max-width:760px){
	:root{--mz-bar-h:122px}
	body{font-size:16px}
	.mz-header__voucher{display:none}
	.mz-hero__brand{width:78vw}

	.mz-welcome__grid{grid-template-columns:1fr}
	.mz-welcome__img img{aspect-ratio:1/1;max-height:420px}
	.mz-menus__btns .wp-block-button__link{min-width:130px}

	.wp-block-gallery.mz-strip,.wp-block-gallery.mz-party__row{grid-template-columns:1fr 1fr}

	.mz-events{display:block;padding:70px 0 40px}
	.mz-events__intro{padding:0 var(--mz-gutter) 32px}
	.mz-events__intro p{margin:16px 0 22px}
	.mz-slider{margin-top:28px}
	.mz-slider__track{grid-auto-columns:min(78%,320px);gap:10px;padding:0 var(--mz-gutter);scroll-padding:0 var(--mz-gutter)}
	.mz-event{min-height:0;aspect-ratio:2/3.1}
	.mz-slider__btn{display:none}
	.mz-slider__dots{display:flex}
	.mz-progress{display:none!important}
	.mz-event__text{max-height:none;opacity:.95;margin-top:8px}
	.mz-event--info .mz-event__body{padding-inline:clamp(22px,6vw,32px)}
	@media (max-width:400px){.mz-event--info .mz-event__text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;flex-shrink:0}}

	.mz-awards{flex-direction:column;align-items:center}
	.mz-award{flex:none;width:min(100%,300px)}

	.mz-team__head{margin-bottom:28px}
	.mz-team__grid{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:min(82%,320px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:14px;margin:0 calc(-1 * var(--mz-gutter));padding:30px var(--mz-gutter) 6px;scroll-padding:0 var(--mz-gutter)}
	.mz-team__grid::-webkit-scrollbar{display:none}
	.mz-member{scroll-snap-align:start}
	.mz-member:not(:first-child):not(:last-child){margin-top:0}
	.mz-member.is-mobile-first{order:-1}

	.mz-party__grid{grid-template-columns:1fr}
	.mz-party__title .is-style-script{margin-left:.6em!important}
	@supports (font-size:1cqi){.mz-party__title .is-style-script{font-size:clamp(44px,18cqi,68px);margin-left:min(.5em,4cqi)!important}}
	.mz-party__text{border-left:0;padding-left:0;border-top:1px solid rgba(182,83,25,.35);padding-top:28px}
	.mz-party__menu{align-self:auto}

	.wp-block-gallery.mz-collage{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;height:auto}
	.wp-block-gallery.mz-collage > figure:nth-child(1){grid-row:1;grid-column:1/3;aspect-ratio:4/3}
	.wp-block-gallery.mz-collage > figure:nth-child(2),.wp-block-gallery.mz-collage > figure:nth-child(3){grid-row:2;grid-column:auto;aspect-ratio:1/1}

	.mz-footer__grid{background-size:auto 170px;background-position:right bottom}
	.mz-footer__grid{grid-template-columns:1fr;gap:26px;padding-right:0}
	.mz-footer__col{border-left:0;padding:0;border-top:1px solid rgba(59,43,32,.2);padding-top:24px}
	.mz-footer__col:first-child{border-top:0;padding-top:0}

	.mz-book{padding-top:10px}
	.mz-book__form{grid-template-columns:1fr 1.2fr .85fr;gap:8px}
	.mz-book__submit{grid-column:1/-1;height:42px}
	.mz-field{height:42px}
	.mz-field svg{display:none}
	.mz-field select,.mz-field input{padding:0 20px 0 10px;font-size:14px;letter-spacing:0;text-align:left}
	.mz-field input::-webkit-date-and-time-value{text-align:left}
	.mz-field::after{right:9px;width:6px;height:6px}
	.mz-book__powered{display:none}
}
