/* HENNE Core – Frontend. Farben & Schriften als Variablen, passend zu den Elementor-Globals. */
:root{
  --henne-bg:#15120f; --henne-ink:#f1ece4; --henne-paper:#f1ece4; --henne-dark:#15120f;
  --henne-muted:#a79e92; --henne-muted-dark:#6d645a; --henne-accent:#d98b6a; --henne-accent-dark:#9a4a2c;
  --henne-serif:'Instrument Serif',Georgia,serif; --henne-sans:'Geist',system-ui,sans-serif; --henne-mono:'Geist Mono',ui-monospace,monospace;
}
html.henne-lock{overflow:hidden}

/* Hello-Elementor-Pink (#c36) seitenweit ersetzen: Fokus & Links */
:where(a,button,input,select,textarea,[tabindex]):focus{outline:none}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--henne-accent)!important;outline-offset:3px;box-shadow:none!important}
:where(button,[type=button],[type=submit],[type=reset]):not(.elementor-button):not(.henne-btn):not(.henne-close):not(.henne-res__alt):is(:hover,:focus){background-color:transparent;color:inherit;border-color:currentColor}
:where(a):not(.elementor-button){color:inherit}
:where(a):not(.elementor-button):is(:hover,:active){color:var(--henne-accent)}
::selection{background:var(--henne-accent);color:var(--henne-dark)}

/* Karten-Links */
.henne-karten{display:flex;flex-direction:column;border-top:1px solid rgba(241,236,228,.14)}
.henne-karte{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:22px 0;border-bottom:1px solid rgba(241,236,228,.14);color:inherit;text-decoration:none;transition:color .2s,padding .25s}
.henne-karte:hover{color:var(--henne-accent);padding-left:8px}
.henne-karte__title{font-family:var(--henne-serif);font-size:30px;line-height:1.1}
.henne-karte__meta{font-family:var(--henne-mono);font-size:12px;color:var(--henne-muted);display:inline-flex;align-items:center;gap:6px}

/* Buttons */
.henne-btn{display:inline-flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;border-radius:999px;font-family:var(--henne-sans);font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background .2s,color .2s,opacity .2s}
.henne-btn--accent{background:var(--henne-accent);color:var(--henne-dark)}
.henne-btn--accent:hover{background:var(--henne-ink);color:var(--henne-dark)}
.henne-btn--ghost{background:transparent;color:inherit;border-color:currentColor;opacity:.8;font-weight:400}
.henne-btn--ghost:hover{opacity:1}
.henne-btn--dark{background:var(--henne-dark);color:var(--henne-ink);padding:16px 24px;font-size:15px}
.henne-btn--dark:hover{background:var(--henne-accent-dark);color:var(--henne-ink)}
.henne-close{all:unset;cursor:pointer;width:36px;height:36px;border-radius:999px;border:1px solid rgba(241,236,228,.25);display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;color:var(--henne-ink);transition:background .2s,color .2s}
.henne-close:hover{background:var(--henne-ink);color:var(--henne-dark)}
.henne-close--dark{border-color:rgba(21,18,15,.2);color:var(--henne-dark)}
.henne-close--dark:hover{background:var(--henne-dark);color:var(--henne-ink)}
.henne-tag{font-family:var(--henne-mono);font-size:13px;letter-spacing:.1em;color:var(--henne-accent)}

/* Reservierungsformular */
.henne-res{display:flex;flex-direction:column;gap:20px;width:100%;max-width:none;color:var(--henne-dark);font-family:var(--henne-sans)}
.henne-res__row{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid rgba(21,18,15,.14);margin:0}
.henne-res__row:first-child{border-top:1px solid rgba(21,18,15,.14)}
.henne-res__row + .henne-res__row{margin-top:-20px}
.henne-res__label{font-family:var(--henne-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--henne-muted-dark)}
.henne-res__field{border:0;background:transparent;outline:none;box-shadow:none;font-family:var(--henne-serif);font-size:26px;line-height:1.1;color:var(--henne-dark);text-align:right;text-align-last:right;width:100%;min-width:0;cursor:pointer;appearance:none;-webkit-appearance:none;padding:0;height:auto}
.henne-res__field:focus-visible{outline:2px solid var(--henne-accent-dark);outline-offset:4px}
.henne-res__note{margin:0;font-size:13px;line-height:1.5;color:var(--henne-muted-dark)}
.henne-res__note.is-error{color:var(--henne-accent-dark)}
.henne-res__cta{width:100%;box-sizing:border-box}
.henne-res__cta.is-disabled{opacity:.35;pointer-events:none}
.henne-res__alt{all:unset;cursor:pointer;font-size:13px;color:var(--henne-muted-dark);text-decoration:underline;align-self:center}

/* Overlays – gemeinsam */
.henne-popup,.henne-resmodal{position:fixed;inset:0;z-index:99990;display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,40px);opacity:0;transition:opacity .45s ease;font-family:var(--henne-sans)}
.henne-popup[hidden],.henne-resmodal[hidden]{display:none}
.henne-popup.is-open,.henne-resmodal.is-open{opacity:1}
.henne-popup__backdrop{position:absolute;inset:0;background:rgba(10,8,6,.66);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.henne-popup__panel,.henne-resmodal__panel{position:relative;transform:translateY(24px);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.is-open .henne-popup__panel,.is-open .henne-resmodal__panel{transform:none}

/* Anlass-Popup: zentriert */
.henne-popup--center .henne-popup__panel{width:100%;max-width:640px;max-height:calc(100vh - 24px);overflow:auto;display:flex;flex-direction:column;gap:24px;padding:clamp(28px,5vw,56px);background:var(--henne-bg);color:var(--henne-ink);border:1px solid rgba(241,236,228,.12);border-radius:6px;box-shadow:0 40px 120px rgba(0,0,0,.55)}
.henne-popup__top{display:flex;justify-content:space-between;align-items:center;gap:16px}
.henne-popup__title{margin:0;font-family:var(--henne-serif);font-weight:400;font-size:clamp(40px,6vw,72px);line-height:.95;letter-spacing:-.02em;text-wrap:balance;color:inherit}
.henne-popup__body{font-size:16px;line-height:1.65;color:#d9d2c7}
.henne-popup__body > :first-child{margin-top:0}.henne-popup__body > :last-child{margin-bottom:0}
.henne-popup__body strong{font-family:var(--henne-serif);font-weight:400;font-size:1.6em;color:var(--henne-ink)}
.henne-popup__actions{display:flex;gap:10px;flex-wrap:wrap}

/* Anlass-Popup: Ecke */
.henne-popup--corner{inset:auto auto clamp(12px,2vw,28px) clamp(12px,2vw,28px);padding:0;display:block}
.henne-popup--corner .henne-popup__backdrop{display:none}
.henne-popup--corner .henne-popup__panel{width:min(calc(100vw - 24px),380px);display:flex;flex-direction:column;gap:14px;padding:24px 26px 26px;background:var(--henne-paper);color:var(--henne-dark);border-radius:6px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.henne-popup--corner .henne-tag{color:var(--henne-accent-dark);font-size:12px}
.henne-popup--corner .henne-close{border-color:rgba(21,18,15,.25);color:var(--henne-dark);width:32px;height:32px}
.henne-popup--corner .henne-popup__title{font-size:32px;line-height:1}
.henne-popup--corner .henne-popup__body{font-size:14px;color:#4a433b}
.henne-popup--corner .henne-btn--accent{background:var(--henne-dark);color:var(--henne-ink);flex:1}
.henne-popup--corner .henne-btn--ghost{display:none}

/* Reservierungs-Popup */
.henne-resmodal__panel{width:100%;max-width:560px;max-height:calc(100vh - 24px);overflow:auto;background:var(--henne-paper);color:var(--henne-dark);border-radius:6px;box-shadow:0 40px 120px rgba(0,0,0,.5)}
.henne-resmodal__top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid rgba(21,18,15,.12)}
.henne-resmodal__form{padding:clamp(24px,4vw,40px)}
.henne-resmodal__widget{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px}
.henne-resmodal__widget iframe{width:100%;max-width:340px;height:480px;border:0}

/* Pfeil-Icon (ersetzt ↗/→ – die Schriften haben kein eigenes Glyph) */
.henne-arr{display:inline-block;width:.8em;height:.8em;flex:none;vertical-align:-.05em;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 11.5l7-7M5.5 4.5h6v6' fill='none' stroke='%23000' stroke-width='1.4'/%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 16 16'%3E%3Cpath d='M4.5 11.5l7-7M5.5 4.5h6v6' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E") center/contain no-repeat}
.henne-arr--right{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 8h10M8.5 4l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E");
          mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 8h10M8.5 4l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E")}
a:has(> .henne-arr), p a .henne-arr{margin-left:.35em}
.henne-arrow .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:.5em}
.henne-arrow .elementor-button-text::after{content:"";display:inline-block;width:.8em;height:.8em;margin-left:.5em;vertical-align:-.05em;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 11.5l7-7M5.5 4.5h6v6' fill='none' stroke='%23000' stroke-width='1.4'/%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 16 16'%3E%3Cpath d='M4.5 11.5l7-7M5.5 4.5h6v6' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E") center/contain no-repeat}

/* Headlines – fließende Größen & ausgewogene Umbrüche wie im Entwurf */
.henne-h .elementor-heading-title{text-wrap:balance}
.henne-h--hero .elementor-heading-title{font-size:clamp(56px,9vw,148px)!important;line-height:.9!important;letter-spacing:-.025em!important}
.henne-h--xl .elementor-heading-title{font-size:clamp(40px,5.2vw,84px)!important;line-height:1!important;letter-spacing:-.02em!important}
.henne-h--lead .elementor-heading-title{font-size:clamp(34px,4.4vw,64px)!important;line-height:1.05!important;letter-spacing:-.015em!important}
.henne-h--card .elementor-heading-title{font-size:clamp(34px,3.4vw,48px)!important;line-height:1!important}
.henne-h--team .elementor-heading-title{font-size:clamp(40px,4.6vw,72px)!important;line-height:1!important;letter-spacing:-.02em!important}
.henne-h--res .elementor-heading-title{font-size:clamp(44px,5vw,80px)!important;line-height:.95!important;letter-spacing:-.025em!important}
.henne-h--quote .elementor-heading-title{font-size:clamp(40px,6vw,96px)!important;line-height:1!important;letter-spacing:-.02em!important;max-width:1200px}
.henne-maxw-1000{max-width:1000px}
.henne-h em{font-style:italic}

/* Bilder – Seitenverhältnis statt fester Höhe */
.henne-img img{display:block;width:100%!important;height:auto!important;object-fit:cover}
.henne-img--34 img{aspect-ratio:3/4}
.henne-img--45 img{aspect-ratio:4/5}
.henne-offset{margin-top:clamp(0px,8vw,120px)!important}
@media (max-width:767px){.henne-offset{margin-top:0!important}}

/* Theme-Stile (Hello Elementor) im Formular neutralisieren */
.henne-res input.henne-res__field,.henne-res select.henne-res__field{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;color:var(--henne-dark)!important;font-family:var(--henne-serif)!important;font-size:26px!important}
.henne-res input.henne-res__field::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}
.henne-res button.henne-res__alt,.henne-res button.henne-res__alt:hover,.henne-res button.henne-res__alt:focus{all:unset;cursor:pointer;font-family:var(--henne-sans);font-size:13px;color:var(--henne-muted-dark)!important;text-decoration:underline;align-self:center;background:none!important;border:0!important}
.henne-res button.henne-res__alt:hover{color:var(--henne-dark)!important}
.henne-res a.henne-res__cta,.henne-res a.henne-res__cta:hover{color:var(--henne-ink)!important;text-decoration:none}

/* Instagram-Reel in der Küchen-Sektion */
.henne-reel{position:relative;aspect-ratio:3/4;overflow:hidden;background:#1d1915}
.henne-reel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.henne-reel__cap{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-family:var(--henne-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#a39a8c}
.henne-reel__cap a,.henne-reel__cap a:visited{color:#f1ece4!important;text-decoration:none!important;border-bottom:1px solid #d98b6a;padding-bottom:2px;transition:color .2s}
.henne-reel__cap a:hover{color:#d98b6a!important}

/* Popup: Theme-/Elementor-Stile neutralisieren + Info-Zeile */
.henne-popup,.henne-popup *{box-sizing:border-box}
.henne-popup .henne-popup__panel{font-family:var(--henne-sans)!important;-webkit-font-smoothing:antialiased}
.henne-popup--center .henne-popup__panel{background:var(--henne-bg)!important;color:var(--henne-ink)!important;border:1px solid rgba(241,236,228,.12);border-radius:6px;box-shadow:0 40px 120px rgba(0,0,0,.6)}
.henne-popup .henne-tag{font-family:var(--henne-mono)!important;text-transform:none!important}
.henne-popup .henne-popup__title{margin:0!important;padding:0!important;font-family:var(--henne-serif)!important;font-weight:400!important;letter-spacing:-.02em!important;text-transform:none!important}
.henne-popup .henne-popup__title em{font-style:italic;font-family:inherit}
.henne-popup--center .henne-popup__title{color:var(--henne-ink)!important;font-size:clamp(40px,6vw,64px)!important;line-height:.95!important}
.henne-popup--corner .henne-popup__title{color:var(--henne-dark)!important}
.henne-popup__facts{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px 0;border-top:1px solid rgba(241,236,228,.14);border-bottom:1px solid rgba(241,236,228,.14)}
.henne-popup__fact{display:flex;flex-direction:column;gap:8px;min-width:0}
.henne-popup__fact span{font-family:var(--henne-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--henne-muted)}
.henne-popup__fact.is-accent span{color:var(--henne-accent)}
.henne-popup__fact strong{font-family:var(--henne-serif);font-weight:400;font-size:clamp(26px,3.4vw,34px);line-height:1;color:var(--henne-ink)}
.henne-popup--corner .henne-popup__facts{border-color:rgba(21,18,15,.12);padding:14px 0;gap:14px}
.henne-popup--corner .henne-popup__fact strong{font-size:22px;color:var(--henne-dark)}
.henne-popup--corner .henne-popup__fact.is-accent span{color:var(--henne-accent-dark)}
.henne-popup .henne-popup__body,.henne-popup .henne-popup__body p{font-family:var(--henne-sans)!important;font-size:16px;line-height:1.65}
.henne-popup--center .henne-popup__body,.henne-popup--center .henne-popup__body p{color:#d9d2c7!important}
.henne-popup .henne-popup__body .elementor-section,.henne-popup .henne-popup__body .e-con{padding:0!important;margin:0!important;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.henne-popup .henne-popup__actions{padding-top:4px}
.henne-popup a.henne-btn,.henne-popup button.henne-btn{-webkit-appearance:none;appearance:none;margin:0;border:1px solid transparent!important;border-radius:999px!important;padding:14px 24px!important;font-family:var(--henne-sans)!important;font-size:14px!important;font-weight:500;line-height:1.2!important;text-decoration:none!important;text-transform:none!important;letter-spacing:0!important;box-shadow:none!important;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.henne-popup .henne-btn--accent,.henne-popup .henne-btn--accent:visited{background:var(--henne-accent)!important;color:var(--henne-dark)!important}
.henne-popup .henne-btn--accent:hover,.henne-popup .henne-btn--accent:focus-visible{background:var(--henne-ink)!important;color:var(--henne-dark)!important}
.henne-popup button.henne-btn--ghost{background:transparent!important;color:var(--henne-ink)!important;border-color:rgba(241,236,228,.35)!important;font-weight:400!important;opacity:1}
.henne-popup button.henne-btn--ghost:hover,.henne-popup button.henne-btn--ghost:focus-visible{border-color:var(--henne-ink)!important;background:transparent!important;color:var(--henne-ink)!important}
.henne-popup button.henne-close{-webkit-appearance:none;appearance:none;margin:0;padding:0!important;width:36px!important;height:36px!important;border-radius:999px!important;border:1px solid rgba(241,236,228,.3)!important;background:transparent!important;color:var(--henne-ink)!important;font-family:var(--henne-sans)!important;font-size:18px!important;line-height:1!important;box-shadow:none!important;flex:none}
.henne-popup button.henne-close:hover,.henne-popup button.henne-close:focus-visible{background:var(--henne-ink)!important;color:var(--henne-dark)!important}
.henne-popup--corner button.henne-close{border-color:rgba(21,18,15,.25)!important;color:var(--henne-dark)!important;width:32px!important;height:32px!important}
.henne-popup--corner button.henne-close:hover{background:var(--henne-dark)!important;color:var(--henne-ink)!important}
.henne-popup--corner .henne-btn--accent{background:var(--henne-dark)!important;color:var(--henne-ink)!important}
.henne-popup button:focus{outline:none}
.henne-popup button:focus-visible,.henne-popup a:focus-visible{outline:2px solid var(--henne-accent);outline-offset:3px}
/* Kein Hintergrundbild im Popup – auch nicht aus Elementor-Inhalten */
.henne-popup .henne-popup__panel{background-image:none!important;isolation:isolate}
.henne-popup .henne-popup__panel::before,.henne-popup .henne-popup__panel::after{content:none!important}
.henne-popup .henne-popup__body .e-con,.henne-popup .henne-popup__body .elementor-section,.henne-popup .henne-popup__body .elementor-column-wrap,.henne-popup .henne-popup__body .elementor-widget-wrap,.henne-popup .henne-popup__body .elementor-element{background:none!important;--background-overlay:none;min-height:0!important;box-shadow:none!important}
.henne-popup .henne-popup__body .elementor-background-overlay,.henne-popup .henne-popup__body .elementor-background-video-container,.henne-popup .henne-popup__body .elementor-background-slideshow{display:none!important}
.henne-popup .henne-popup__body img{display:none}
/* Reservierungsfenster: Schließen-Button gegen Theme-Pink absichern */
.henne-resmodal button.henne-close{-webkit-appearance:none;appearance:none;margin:0;padding:0!important;width:36px!important;height:36px!important;border-radius:999px!important;border:1px solid rgba(21,18,15,.2)!important;background:transparent!important;color:var(--henne-dark)!important;font-family:var(--henne-sans)!important;font-size:18px!important;line-height:1!important;box-shadow:none!important;flex:none;display:flex;align-items:center;justify-content:center}
.henne-resmodal button.henne-close:hover,.henne-resmodal button.henne-close:focus-visible{background:var(--henne-dark)!important;color:var(--henne-ink)!important;border-color:var(--henne-dark)!important}
.henne-resmodal button:focus{outline:none}
.henne-resmodal button:focus-visible,.henne-resmodal a:focus-visible{outline:2px solid var(--henne-accent-dark);outline-offset:3px}
@media (max-width:520px){.henne-popup__facts{grid-template-columns:1fr;gap:16px}}

/* 360°-Rundgang */
button.henne-tour{all:unset;box-sizing:border-box;position:relative;display:block;width:100%;aspect-ratio:21/9;min-height:360px;overflow:hidden;cursor:pointer;background:#1d1915 center/cover no-repeat}
button.henne-tour::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,18,15,.15) 0%,rgba(21,18,15,.85) 100%);transition:opacity .4s}
button.henne-tour:hover::after{opacity:.8}
.henne-tour__badge{position:absolute;z-index:1;top:clamp(20px,3vw,36px);left:clamp(20px,3vw,40px);display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:999px;border:1px solid rgba(241,236,228,.5);font-family:var(--henne-mono);font-size:13px;color:var(--henne-ink)}
.henne-tour__foot{position:absolute;z-index:1;left:clamp(20px,3vw,40px);right:clamp(20px,3vw,40px);bottom:clamp(20px,3vw,40px);display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px}
.henne-tour__text{display:flex;flex-direction:column;gap:14px}
.henne-tour__tag{font-family:var(--henne-mono);font-size:13px;letter-spacing:.1em;color:var(--henne-accent)}
.henne-tour__title{font-family:var(--henne-serif);font-size:clamp(40px,5vw,80px);line-height:1;letter-spacing:-.02em;color:var(--henne-ink)}
.henne-tour__title em{font-style:italic}
.henne-tour__btn{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border-radius:999px;background:var(--henne-ink);color:var(--henne-dark);font-family:var(--henne-sans);font-size:14px;font-weight:500;transition:background .2s}
button.henne-tour:hover .henne-tour__btn{background:var(--henne-accent)}
button.henne-tour:focus-visible{outline:2px solid var(--henne-accent);outline-offset:4px}
.henne-tourmodal{position:fixed;inset:0;z-index:100000;background:rgba(10,8,6,.86);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:14px;padding:clamp(12px,2vw,28px)}
.henne-tourmodal[hidden]{display:none}
.henne-tourmodal__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:var(--henne-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--henne-muted)}
.henne-tourmodal__frame{flex:1;min-height:0;position:relative;overflow:hidden;border-radius:6px;background:#1d1915;border:1px solid rgba(241,236,228,.12)}
.henne-tourmodal__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.henne-tourmodal button.henne-close{-webkit-appearance:none;appearance:none;margin:0;padding:0!important;width:40px!important;height:40px!important;border-radius:999px!important;border:1px solid rgba(241,236,228,.35)!important;background:transparent!important;color:var(--henne-ink)!important;font-size:18px!important;line-height:1!important;box-shadow:none!important;cursor:pointer}
.henne-tourmodal button.henne-close:hover,.henne-tourmodal button.henne-close:focus-visible{background:var(--henne-ink)!important;color:var(--henne-dark)!important}
@media (max-width:640px){button.henne-tour{aspect-ratio:auto;min-height:560px;margin-bottom:48px}.henne-tour__foot{flex-direction:column;align-items:flex-start;gap:20px}.henne-tour__title{font-size:44px}}

/* Live-Öffnungsstatus (Pill über der Hero-Headline) */
.henne-status{display:inline-flex;align-items:center;flex-wrap:wrap;gap:10px;padding:9px 16px 9px 14px;border-radius:999px;background:rgba(21,18,15,.55);border:1px solid rgba(241,236,228,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--henne-mono);font-size:12px;letter-spacing:.06em;line-height:1.3;color:var(--henne-ink)}
.henne-status__dot{width:8px;height:8px;border-radius:999px;flex:none;background:#e0574a}
.henne-status.is-open .henne-status__dot{background:#5ec97a;animation:hennePulse 2.4s ease-out infinite}
.henne-status__sep{color:var(--henne-muted)}
.henne-status__line{color:#d9d2c7}
@keyframes hennePulse{0%{box-shadow:0 0 0 0 rgba(94,201,122,.6)}70%{box-shadow:0 0 0 9px rgba(94,201,122,0)}100%{box-shadow:0 0 0 0 rgba(94,201,122,0)}}

/* Seitliche Kartenansicht */
.henne-drawer{position:fixed;inset:0;z-index:100001;display:flex;justify-content:flex-end;background:rgba(10,8,6,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .35s ease}
.henne-drawer[hidden]{display:none}
.henne-drawer.is-in{opacity:1}
.henne-drawer__panel{width:min(640px,100%);height:100%;display:flex;flex-direction:column;background:var(--henne-ink);color:var(--henne-dark);transform:translateX(100%);transition:transform .45s cubic-bezier(.2,.8,.2,1);box-shadow:-30px 0 80px rgba(0,0,0,.35);font-family:var(--henne-sans)}
.henne-drawer.is-in .henne-drawer__panel{transform:none}
.henne-drawer__head{padding:clamp(20px,3vw,32px) clamp(20px,3.4vw,44px) 0;display:flex;flex-direction:column;gap:14px}
.henne-drawer__top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.henne-drawer__tag{font-family:var(--henne-mono);font-size:13px;letter-spacing:.1em;color:var(--henne-accent-dark)}
.henne-drawer .henne-drawer__title{margin:4px 0 0!important;font-family:var(--henne-serif)!important;font-weight:400!important;font-size:clamp(44px,6vw,64px)!important;line-height:.95!important;letter-spacing:-.02em!important;color:var(--henne-dark)!important}
.henne-drawer__sub{font-size:14px;color:#6d645a}
.henne-drawer__chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px clamp(20px,3.4vw,44px) 18px;margin:0 calc(-1 * clamp(20px,3.4vw,44px));border-bottom:1px solid rgba(21,18,15,.12)}
.henne-drawer button.henne-drawer__chip{all:unset;flex:none;cursor:pointer;padding:8px 14px;border-radius:999px;border:1px solid rgba(21,18,15,.18);font-family:var(--henne-mono);font-size:12px;letter-spacing:.04em;color:var(--henne-dark);transition:background .2s,color .2s}
.henne-drawer button.henne-drawer__chip:hover,.henne-drawer button.henne-drawer__chip:focus-visible{background:var(--henne-dark);color:var(--henne-ink);border-color:var(--henne-dark)}
.henne-drawer__body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px clamp(20px,3.4vw,44px) 40px;display:flex;flex-direction:column;gap:40px}
.henne-drawer__sec{display:flex;flex-direction:column;padding-top:28px}
.henne-drawer__sechead{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;padding-bottom:10px}
.henne-drawer__sechead h3{margin:0!important;font-family:var(--henne-serif)!important;font-weight:400!important;font-size:32px!important;line-height:1!important;color:var(--henne-dark)!important;text-transform:none!important}
.henne-drawer__sechead span{font-family:var(--henne-mono);font-size:12px;letter-spacing:.08em;color:var(--henne-accent-dark)}
.henne-drawer__secnote{font-style:normal;font-size:13px;color:#6d645a}
.henne-drawer__item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;padding:14px 0;border-bottom:1px solid rgba(21,18,15,.1)}
.henne-drawer__name{font-family:var(--henne-serif);font-size:22px;line-height:1.15;text-wrap:pretty}
.henne-drawer__price{font-family:var(--henne-mono);font-size:14px;line-height:1.6;text-align:right;white-space:nowrap}
.henne-drawer__desc{grid-column:1/-1;font-size:14px;line-height:1.5;color:#6d645a;max-width:46ch;text-wrap:pretty}
.henne-drawer__note{margin:0;font-size:12px;line-height:1.6;color:#6d645a}
.henne-drawer__foot{padding:16px clamp(20px,3.4vw,44px);border-top:1px solid rgba(21,18,15,.12);display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.henne-drawer a.henne-drawer__pdf{font-size:14px;color:var(--henne-dark)!important;text-decoration:none!important;border-bottom:1px solid rgba(21,18,15,.35);padding-bottom:2px}
.henne-drawer a.henne-drawer__pdf:hover{color:var(--henne-accent-dark)!important;border-color:var(--henne-accent-dark)}
.henne-drawer a.henne-btn--dark{display:inline-flex;padding:14px 24px;border-radius:999px;background:var(--henne-dark)!important;color:var(--henne-ink)!important;font-size:14px;font-weight:500;text-decoration:none!important}
.henne-drawer a.henne-btn--dark:hover{background:var(--henne-accent-dark)!important}
.henne-drawer button.henne-close{-webkit-appearance:none;appearance:none;margin:0;padding:0!important;width:40px!important;height:40px!important;border-radius:999px!important;border:1px solid rgba(21,18,15,.2)!important;background:transparent!important;color:var(--henne-dark)!important;font-size:18px!important;line-height:1!important;box-shadow:none!important;cursor:pointer}
.henne-drawer button.henne-close:hover,.henne-drawer button.henne-close:focus-visible{background:var(--henne-dark)!important;color:var(--henne-ink)!important}

/* Reservierung: Formular über die ganze Spaltenbreite (Elementor schrumpft Widgets bei align-items:flex-end) */
.elementor-widget-shortcode:has(.henne-res){width:100%;align-self:stretch}
.elementor-widget-shortcode:has(.henne-res) .elementor-shortcode{width:100%}

/* OpenTable-Buchung als Ebene auf der Seite */
.henne-book{position:fixed;inset:0;z-index:100002;display:flex;align-items:center;justify-content:center;padding:clamp(0px,2vw,24px);background:rgba(10,8,6,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transition:opacity .3s ease}
.henne-book[hidden]{display:none}
.henne-book.is-in{opacity:1}
.henne-book__panel{width:100%;max-width:560px;height:min(860px,100%);display:flex;flex-direction:column;background:var(--henne-ink);color:var(--henne-dark);border-radius:6px;overflow:hidden;box-shadow:0 40px 120px rgba(0,0,0,.5);transform:translateY(24px);transition:transform .4s cubic-bezier(.2,.8,.2,1);font-family:var(--henne-sans)}
.henne-book.is-in .henne-book__panel{transform:none}
.henne-book__top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid rgba(21,18,15,.12)}
.henne-book__head{display:flex;flex-direction:column;gap:4px;min-width:0}
.henne-book__sum{font-family:var(--henne-serif);font-size:22px;line-height:1.15}
.henne-book__frame{flex:1;min-height:0;position:relative;background:#fff}
.henne-book__loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--henne-muted-dark)}
.henne-book__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:transparent}
.henne-book__foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:12px 20px;border-top:1px solid rgba(21,18,15,.12);font-size:12px;color:var(--henne-muted-dark)}
.henne-book a.henne-book__new{color:var(--henne-dark)!important;text-decoration:underline!important}
.henne-book button.henne-close{-webkit-appearance:none;appearance:none;margin:0;padding:0!important;flex:none;width:40px!important;height:40px!important;border-radius:999px!important;border:1px solid rgba(21,18,15,.2)!important;background:transparent!important;color:var(--henne-dark)!important;font-size:18px!important;line-height:1!important;box-shadow:none!important;cursor:pointer}
.henne-book button.henne-close:hover,.henne-book button.henne-close:focus-visible{background:var(--henne-dark)!important;color:var(--henne-ink)!important}

@media (prefers-reduced-motion:reduce){.henne-popup,.henne-resmodal,.henne-popup__panel,.henne-resmodal__panel{transition:none}}
