/* TrallaBar Chat Overlay */
.tb-card{
  position:fixed;
  left:50%;
  top:50%;
  right:auto;
  bottom:auto;
  transform:translate(-50%, -50%);
  width:180px;
  background:radial-gradient(circle at top left, rgba(255,227,136,.20), transparent 34%),linear-gradient(145deg,#241000,#4a2500 45%,#140014);
  color:#fff8df;
  border:2px solid #ffd36b;
  border-radius:17px;
  padding:9px;
  z-index:10050;
  box-shadow:0 0 26px rgba(255,211,107,.70),0 12px 36px rgba(0,0,0,.86), inset 0 0 16px rgba(255,255,255,.05);
  text-align:center;
  font-family:Arial,Helvetica,sans-serif;
  animation:tbCardPop .22s ease-out;
}
@keyframes tbCardPop{from{transform:translate(-50%,-50%) scale(.90);opacity:.35}to{transform:translate(-50%,-50%) scale(1);opacity:1}}
.tb-close{
  position:absolute;
  top:-10px;
  right:-10px;
  width:24px;
  height:24px;
  border-radius:50%;
  border:1px solid #fff1b5;
  background:linear-gradient(#b90000,#650000);
  color:#fff;
  cursor:pointer;
  font-weight:900;
  box-shadow:0 4px 12px rgba(0,0,0,.45);
}
.tb-imgwrap{
  width:145px;
  height:188px;
  margin:0 auto 7px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.30);
  border:1px solid rgba(255,211,107,.35);
  border-radius:14px;
  overflow:hidden;
}
.tb-imgwrap img{max-width:100%;max-height:100%;display:block}
.tb-emoji{display:none;width:100%;height:100%;align-items:center;justify-content:center;font-size:52px}
.tb-title{font-weight:900;color:#ffe18d;font-size:14px;margin-bottom:4px;text-shadow:0 2px 4px #000}
.tb-desc{font-size:11px;min-height:22px;color:#f5ead2;line-height:1.3}
.tb-take{
  margin-top:7px;
  background:linear-gradient(#ffe18d,#ff9d00);
  border:1px solid #fff1b5;
  border-radius:999px;
  color:#211000;
  font-weight:900;
  padding:6px 11px;
  cursor:pointer;
  box-shadow:0 5px 13px rgba(0,0,0,.40);
}
.tb-take:hover{filter:brightness(1.12);transform:translateY(-1px)}
.tb-toast{
  position:fixed;
  left:50%;
  bottom:35px;
  transform:translateX(-50%) translateY(40px);
  background:radial-gradient(circle at top left, rgba(255,227,136,.16), transparent 42%),rgba(15,7,0,.96);
  color:#ffe18d;
  border:2px solid #ffd36b;
  border-radius:16px;
  padding:13px 20px;
  max-width:82vw;
  z-index:10080;
  opacity:0;
  transition:.35s;
  font-weight:900;
  box-shadow:0 0 22px rgba(255,211,107,.45),0 10px 26px rgba(0,0,0,.55);
  text-align:center;
}
.tb-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
#tbOpenCollection{
  position:fixed;
  right:86px;
  bottom:24px;
  width:50px;
  height:50px;
  border-radius:50%;
  border:2px solid #ffd36b;
  background:radial-gradient(circle at 35% 25%, rgba(255,227,136,.24), transparent 34%),rgba(30,0,20,.78);
  color:#ffd36b;
  font-size:26px;
  z-index:10040;
  cursor:pointer;
  box-shadow:0 0 16px rgba(255,211,107,.52),0 6px 16px rgba(0,0,0,.42);
}
#tbOpenCollection:hover{background:#4b0036;transform:translateY(-1px)}
.tb-popup-bg{
  position:fixed;
  inset:0;
  background:radial-gradient(circle at center, rgba(80,35,0,.42), rgba(0,0,0,.76));
  z-index:10090;
  display:flex;
  align-items:center;
  justify-content:center;
  backdrop-filter:blur(3px);
}
.tb-popup{
  width:min(360px,88vw);
  background:radial-gradient(circle at top left, rgba(255,227,136,.18), transparent 36%),linear-gradient(145deg,#190014,#3b1f00 58%,#100600);
  border:2px solid #ffd36b;
  color:#fff8df;
  border-radius:18px;
  padding:15px;
  box-shadow:0 0 34px rgba(255,211,107,.62),0 18px 52px rgba(0,0,0,.84), inset 0 0 17px rgba(255,255,255,.04);
  text-align:center;
  animation:tbPopupPop .22s ease-out;
}
@keyframes tbPopupPop{from{transform:scale(.92) translateY(10px);opacity:.4}to{transform:scale(1) translateY(0);opacity:1}}
.tb-popup h2{color:#ffe18d;margin:0 0 8px;text-shadow:0 2px 5px #000;font-size:20px}
.tb-popup p{margin:6px 0 8px;font-size:13px;line-height:1.3}
.tb-popup textarea{
  width:100%;
  min-height:72px;
  border-radius:11px;
  padding:9px;
  font-size:14px;
  box-sizing:border-box;
  border:1px solid #ffd36b;
  background:#120800;
  color:#fff;
  outline:none;
}
.tb-popup textarea:focus{box-shadow:0 0 14px rgba(255,211,107,.30)}
.tb-popup-actions{display:flex;gap:9px;justify-content:center;margin-top:10px;flex-wrap:wrap}
.tb-popup-actions button{
  border-radius:999px;
  border:1px solid #fff1b5;
  padding:8px 13px;
  cursor:pointer;
  font-weight:900;
  box-shadow:0 5px 13px rgba(0,0,0,.40);
}
#tbSendAction{background:linear-gradient(#ffe18d,#ff9d00);color:#211000}
#tbCancelAction{background:linear-gradient(#a60000,#620000);color:#fff}
.tb-popup-actions button:hover{filter:brightness(1.08);transform:translateY(-1px)}


/* Zutatenkarten-Popup: nur der Rahmen / das Fenster kleiner, Bild bleibt in Original-Popupgröße */
.tb-card.tb-card-ingredient{
  width:156px;
  padding:5px;
  border-radius:13px;
  border-width:2px;
  box-shadow:0 0 18px rgba(255,211,107,.55),0 8px 24px rgba(0,0,0,.82), inset 0 0 10px rgba(255,255,255,.04);
}
.tb-card.tb-card-ingredient .tb-imgwrap{
  width:145px;
  height:188px;
  margin:0 auto 4px;
  border-radius:10px;
}
.tb-card.tb-card-ingredient .tb-title{
  font-size:12px;
  margin-bottom:2px;
}
.tb-card.tb-card-ingredient .tb-desc{
  display:none;
}
.tb-card.tb-card-ingredient .tb-take{
  margin-top:4px;
  padding:4px 8px;
  font-size:11px;
}
.tb-card.tb-card-ingredient .tb-close{
  top:-8px;
  right:-8px;
  width:20px;
  height:20px;
  font-size:13px;
}


/* TrallaBar schöne Dialoge / Login START */
.tb-nice-modal-bg{
  position:fixed;
  inset:0;
  z-index:10120;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  background:
    radial-gradient(circle at 50% 35%, rgba(255,179,71,.24), transparent 35%),
    rgba(0,0,0,.82);
  backdrop-filter:blur(4px);
}
.tb-nice-modal-box{
  width:min(430px,94vw);
  color:#fff7df;
  background:
    radial-gradient(circle at top left, rgba(255,224,141,.20), transparent 38%),
    linear-gradient(145deg,#241100,#3d1b00 52%,#120700);
  border:2px solid #ffd36b;
  border-radius:22px;
  padding:22px;
  text-align:center;
  box-shadow:
    0 0 34px rgba(255,211,107,.45),
    0 20px 65px rgba(0,0,0,.82),
    inset 0 0 18px rgba(255,255,255,.05);
  animation:tbPopupPop .22s ease-out;
}
.tb-nice-login-box{ text-align:left; }
.tb-nice-login-box .tb-nice-modal-icon,
.tb-nice-login-box .tb-nice-modal-title,
.tb-nice-login-box .tb-nice-modal-text{ text-align:center; }
.tb-nice-modal-icon{
  font-size:48px;
  line-height:1;
  margin-bottom:8px;
  filter:drop-shadow(0 3px 4px #000);
}
.tb-nice-modal-title{
  color:#ffe18d;
  font-size:24px;
  font-weight:900;
  margin-bottom:8px;
  text-shadow:0 2px 5px #000;
}
.tb-nice-modal-text{
  color:#fff1c8;
  font-size:15px;
  line-height:1.45;
  margin:0 0 16px;
}
.tb-nice-label{
  display:block;
  color:#ffd36b;
  font-size:13px;
  font-weight:900;
  margin:12px 0 5px;
}
.tb-nice-input{
  width:100%;
  box-sizing:border-box;
  color:#fff;
  background:#100700;
  border:1px solid rgba(255,211,107,.75);
  border-radius:13px;
  padding:11px 12px;
  outline:none;
  font-size:15px;
  box-shadow:inset 0 0 12px rgba(0,0,0,.55);
}
.tb-nice-input:focus{
  border-color:#fff0b5;
  box-shadow:0 0 16px rgba(255,211,107,.28), inset 0 0 12px rgba(0,0,0,.55);
}
.tb-nice-modal-buttons{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}
.tb-nice-modal-buttons button{
  border:1px solid rgba(255,241,181,.9);
  border-radius:999px;
  padding:10px 18px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 5px 14px rgba(0,0,0,.45);
}
.tb-nice-ok{
  background:linear-gradient(#ffe18d,#ff9d00);
  color:#211000;
}
.tb-nice-cancel{
  background:linear-gradient(#6a1111,#2b0505);
  color:#fff;
}
.tb-nice-modal-buttons button:hover{
  filter:brightness(1.1);
  transform:translateY(-1px);
}
/* TrallaBar schöne Dialoge / Login ENDE */



