/* Hütten-Cockpit – Frontend (Look „Hüttentafel“) */
:root{--hc-board:#2B2F2C;--hc-dark:#1F2321;--hc-cream:#F4EBDD;--hc-chalk:#EFE6D6;--hc-red:#B8322A;--hc-orange:#F2B27A;--hc-ink:#1A1512;--hc-cond:'Barlow Condensed',sans-serif;--hc-sans:'Barlow',sans-serif;--hc-hand:'Caveat',cursive}

/* Hinweisleiste */
.hc-notice{background:var(--hc-cream);color:var(--hc-ink);border-bottom:5px solid var(--hc-red);padding:10px 20px;text-align:center;font:500 17px/1.4 var(--hc-sans)}
.hc-notice-chalk{font:700 22px var(--hc-hand);color:var(--hc-red);margin-right:6px}

/* Heute geöffnet */
.hc-today{display:inline-flex;align-items:center;gap:8px;font-family:var(--hc-sans)}
.hc-today i{width:10px;height:10px;border-radius:50%;background:#5E7A3A;display:inline-block}
.hc-today.is-closed i{background:#9a8a7a}

/* Öffnungszeiten */
.hc-hours{font-family:var(--hc-sans)}
.hc-hours-row{display:flex;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px dotted rgba(128,110,90,.4)}
.hc-hours-row:last-of-type{border-bottom:0}
.hc-day{white-space:nowrap}.hc-time{white-space:nowrap;font-weight:700}
.hc-dots{flex:1;border-bottom:2px dotted rgba(128,110,90,.35);transform:translateY(-5px)}
.hc-hours-note{margin-top:10px;font:700 22px var(--hc-hand);color:var(--hc-red)}
.hc-on-dark .hc-hours-note{color:var(--hc-orange)}

/* Special-Liste */
.hc-special-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:12px 0;border-bottom:2px dashed rgba(239,230,214,.25)}
.hc-special-row .hc-name{font:700 26px var(--hc-cond);text-transform:uppercase;letter-spacing:.03em}
.hc-special-row .hc-price{font:700 22px var(--hc-cond)}
.hc-special-row .hc-desc{flex-basis:100%;font:400 16px var(--hc-sans);opacity:.85}

/* Speisekarte */
.hc-menu{font-family:var(--hc-sans)}
.hc-menu-bar{position:sticky;top:0;z-index:5;background:var(--hc-cream);border-bottom:5px solid var(--hc-red);padding:12px 0;display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between}
.hc-tabs{display:flex;flex-wrap:wrap;gap:8px}
.hc-tab{display:inline-flex;align-items:center;height:40px;padding:0 14px;border:2px solid rgba(26,21,18,.35);border-radius:4px;font:700 16px var(--hc-cond);letter-spacing:.06em;text-transform:uppercase;color:var(--hc-ink);text-decoration:none}
.hc-tab.on,.hc-tab:hover{background:var(--hc-red);border-color:var(--hc-red);color:var(--hc-cream)}
.hc-filters{display:flex;gap:14px;font-size:15px;font-weight:500}
.hc-cat{padding:32px 0 8px}
.hc-cat-title{font:700 40px var(--hc-cond);text-transform:uppercase;letter-spacing:.03em;margin:0 0 6px;color:var(--hc-ink)}
.hc-item{padding:14px 0;border-bottom:1px dashed rgba(26,21,18,.25)}
.hc-item-row{display:flex;align-items:baseline;gap:12px}
.hc-item .hc-name{font:700 24px var(--hc-cond);color:var(--hc-ink)}
.hc-item .hc-price{font:700 22px var(--hc-cond);white-space:nowrap;color:var(--hc-ink)}
.hc-item .hc-price small{font-size:14px;font-weight:500}
.hc-item-desc{font-size:16px;line-height:1.4;color:#4a3a2c;margin-top:2px}
.hc-tag{display:inline-block;font:500 11px var(--hc-sans);letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:3px;margin-left:8px;vertical-align:middle;color:#fff;background:#5E7A3A}
.hc-tag-vegan{background:#3f6b3a}.hc-tag-hot{background:var(--hc-red)}.hc-tag-special,.hc-tag-new{background:#E2661E}.hc-tag-small{background:#7a6555}
.hc-menu.f-veg .hc-item:not(.is-veg),.hc-menu.f-vegan .hc-item:not(.is-vegan){display:none}

/* Bewertungen */
.hc-reviews{font-family:var(--hc-sans);font-weight:500;text-decoration:none;color:inherit}

/* FAQ */
.hc-faq-item{border-bottom:1px dashed rgba(128,110,90,.4);padding:6px 0}
.hc-faq-item summary{cursor:pointer;font:700 22px var(--hc-cond);text-transform:uppercase;letter-spacing:.03em;padding:10px 0;list-style:none;display:flex;justify-content:space-between}
.hc-faq-item summary::after{content:'+';font-size:26px;color:var(--hc-red)}
.hc-faq-item[open] summary::after{content:'–'}
.hc-faq-a{font:400 17px/1.5 var(--hc-sans);padding:0 0 12px}

/* Sticky-Menü rechts */
.hc-sticky{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:9000;display:flex;flex-direction:column;gap:2px}
.hc-sticky-item{display:flex;align-items:center;gap:10px;background:var(--hc-board);color:var(--hc-chalk);text-decoration:none;padding:10px 12px;width:52px;overflow:hidden;transition:width .25s;border-left:4px solid var(--hc-red);font:700 15px var(--hc-cond);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;box-shadow:-4px 4px 16px rgba(0,0,0,.25)}
.hc-sticky-item:hover{width:170px;color:var(--hc-orange)}
.hc-sticky-item svg{width:24px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hc-ic-calendar{border-left-color:var(--hc-red);background:var(--hc-red);color:var(--hc-cream)}
@media (max-width:782px){
  .hc-sticky{top:auto;bottom:0;left:0;right:0;transform:none;flex-direction:row;background:var(--hc-cream);border-top:4px solid var(--hc-red);padding:6px 8px calc(6px + env(safe-area-inset-bottom));gap:6px;box-shadow:0 -8px 24px rgba(0,0,0,.25)}
  .hc-sticky-item{flex:1;width:auto;justify-content:center;flex-direction:column;gap:2px;padding:6px 4px;border-left:0;border-radius:4px;font-size:11px;box-shadow:none;background:transparent;color:var(--hc-ink)}
  .hc-sticky-item:hover{width:auto}
  .hc-sticky-item svg{width:22px;height:22px}
  .hc-ic-calendar{background:var(--hc-red);color:var(--hc-cream)}
  .hc-ic-instagram{display:none}
  body{padding-bottom:70px}
  .hc-chat-btn{bottom:84px!important}
}

/* Chatbot */
.hc-chat-btn{position:fixed;right:22px;bottom:22px;z-index:9100;display:flex;align-items:center;gap:10px;background:var(--hc-red);color:var(--hc-cream);border:0;border-radius:999px;padding:12px 18px 12px 12px;font:700 16px var(--hc-cond);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.hc-chat-btn img{width:34px;height:34px;object-fit:contain}
.hc-chat{position:fixed;right:22px;bottom:90px;z-index:9100;width:360px;max-width:calc(100vw - 32px);max-height:70vh;background:var(--hc-board);color:var(--hc-chalk);border-top:6px solid var(--hc-red);box-shadow:0 20px 50px rgba(0,0,0,.45);display:none;flex-direction:column;font-family:var(--hc-sans)}
.hc-chat.open{display:flex}
.hc-chat-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--hc-dark)}
.hc-chat-head b{font:700 20px var(--hc-cond);letter-spacing:.06em;text-transform:uppercase}
.hc-chat-head small{display:block;font:700 16px var(--hc-hand);color:var(--hc-orange)}
.hc-chat-close{background:none;border:0;color:var(--hc-chalk);font-size:22px;cursor:pointer}
.hc-chat-body{flex:1;overflow:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.hc-msg{max-width:88%;padding:10px 12px;border-radius:10px;font-size:15px;line-height:1.45}
.hc-msg.bot{background:var(--hc-dark);align-self:flex-start;border-left:3px solid var(--hc-red)}
.hc-msg.user{background:var(--hc-cream);color:var(--hc-ink);align-self:flex-end}
.hc-msg a{color:var(--hc-orange)}
.hc-msg .hc-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.hc-msg .hc-links a{display:inline-block;background:var(--hc-red);color:var(--hc-cream);text-decoration:none;padding:6px 10px;border-radius:4px;font:700 13px var(--hc-cond);letter-spacing:.06em;text-transform:uppercase}
.hc-quick{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 10px}
.hc-quick button{background:transparent;border:1.5px solid rgba(239,230,214,.5);color:var(--hc-chalk);border-radius:999px;padding:6px 10px;font:500 13px var(--hc-sans);cursor:pointer}
.hc-quick button:hover{border-color:var(--hc-orange);color:var(--hc-orange)}
.hc-chat-form{display:flex;gap:8px;padding:12px 16px 14px;border-top:1px solid rgba(239,230,214,.15)}
.hc-chat-form input{flex:1;background:var(--hc-cream);color:var(--hc-ink);border:0;border-radius:4px;padding:10px 12px;font:400 15px var(--hc-sans)}
.hc-chat-form button{background:var(--hc-red);color:var(--hc-cream);border:0;border-radius:4px;padding:0 14px;font:700 15px var(--hc-cond);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.hc-typing{opacity:.6;font-style:italic}

/* Telefon-Link als dunkler Ghost-Button (auf Creme) */
.hc-btn-dark{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 26px;border:2px solid var(--hc-ink);border-radius:4px;color:var(--hc-ink)!important;text-decoration:none;font:700 20px var(--hc-cond);letter-spacing:.06em;text-transform:uppercase;background:transparent}
.hc-btn-dark:hover{background:var(--hc-ink);color:var(--hc-cream)!important}
.hc-special-photo{border:12px solid var(--hc-cream);box-shadow:0 24px 50px rgba(0,0,0,.5);transform:rotate(-2deg)}

/* Hinweis-Popup */
.hc-pop{position:fixed;inset:0;z-index:9500;background:rgba(20,22,20,.72);display:flex;align-items:center;justify-content:center;padding:20px}
.hc-pop[hidden]{display:none}
.hc-pop-box{position:relative;width:min(640px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--hc-board);color:var(--hc-chalk);border-top:6px solid var(--hc-red);box-shadow:0 30px 80px rgba(0,0,0,.6);padding:36px 40px 32px;font-family:var(--hc-sans)}
.hc-pop-close{position:absolute;top:10px;right:14px;background:none;border:0;color:var(--hc-chalk);font-size:34px;line-height:1;cursor:pointer;opacity:.7}
.hc-pop-close:hover{opacity:1;color:var(--hc-orange)}
.hc-pop-kicker{font:700 26px var(--hc-hand);color:var(--hc-orange);margin-bottom:4px}
.hc-pop-title{font:700 38px/1 var(--hc-cond);text-transform:uppercase;letter-spacing:.03em;margin:0 0 18px;color:var(--hc-cream)}
.hc-pop-body p{margin:0 0 12px;font-size:17px;line-height:1.5;color:rgba(239,230,214,.92)}
.hc-pop-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:flex-end;margin-top:22px}
.hc-pop-link{font:700 18px var(--hc-cond);letter-spacing:.06em;text-transform:uppercase;color:var(--hc-orange)!important;text-decoration:none}
.hc-pop-ok{background:var(--hc-red);color:var(--hc-cream);border:0;border-radius:4px;padding:14px 28px;font:700 20px var(--hc-cond);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.hc-pop-ok:hover{background:#9C2921}
@media (max-width:600px){.hc-pop-box{padding:28px 22px 24px}.hc-pop-title{font-size:30px}.hc-pop-body p{font-size:16px}}
