/* ========================= Quick Menu Panel ========================= */ #quickmenu-panel { position: fixed; bottom: 60px; left: 430px; z-index: 1999; display: grid; grid-template-columns: repeat(10, 104px); gap: 6px; padding: 8px; background: transparent; transition: opacity 0.25s ease, transform 0.25s ease; opacity: 1; transform: translateX(0); } /* ========================= Einzelne Slots ========================= */ .qm-slot { width: 104px; height: 104px; position: relative; background: linear-gradient(145deg, #3a2810, #1a0f04); border: 2px solid #8b6a3c; border-radius: 10px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding-top: 10px; gap: 4px; cursor: pointer; transition: 0.2s; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 220, 100, 0.08); } .qm-slot:hover { border-color: #f0d060; transform: scale(1.06); box-shadow: 0 6px 20px rgba(0, 0, 0, 0.7), 0 0 12px rgba(200, 160, 60, 0.35); } .qm-slot:active { transform: scale(0.97); } .qm-slot img { width: 62px; height: 62px; object-fit: contain; filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.8)); } .qm-slot-label { font-family: "Cinzel", serif; font-size: 12px; font-weight: bold; color: #e7d9b4; text-align: center; line-height: 1.2; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9); padding: 0 4px; } /* Badge (z.B. Timer, Anzahl) */ .qm-badge { position: absolute; bottom: 5px; right: 5px; background: rgba(0, 0, 0, 0.7); border: 1px solid #8b6a3c; border-radius: 4px; font-family: "Cinzel", serif; font-size: 9px; color: #ffd700; padding: 1px 4px; } /* ========================= Quick Menu Popups ========================= */ .qm-popup { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.9); width: 1800px; height: 1000px; max-width: 98vw; max-height: 96vh; background: url("/images/parchment.png") center / cover no-repeat; border: 4px solid #6b4b2a; border-radius: 12px; box-shadow: 0 0 60px rgba(0, 0, 0, 0.95), inset 0 0 30px rgba(0, 0, 0, 0.4); z-index: 3000; display: none; opacity: 0; flex-direction: column; transition: opacity 0.25s ease, transform 0.25s ease; } .qm-popup.active { display: flex; opacity: 1; transform: translate(-50%, -50%) scale(1); } /* Popup Header */ .qm-popup-header { padding: 14px 20px; background: linear-gradient(#6b4b2a, #3c2414); border-bottom: 2px solid #8b6a3c; border-radius: 8px 8px 0 0; display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; } .qm-popup-title { font-family: "Tangerine", serif; font-size: 42px; color: #f0d9a6; text-shadow: 0 2px 6px black; } .qm-popup-close { font-size: 22px; color: #f0d9a6; cursor: pointer; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; border-radius: 6px; transition: 0.2s; } .qm-popup-close:hover { background: rgba(255, 255, 255, 0.1); color: #fff; } /* Popup Body */ .qm-popup-body { flex: 1; padding: 30px 80px; overflow-y: auto; display: flex; align-items: center; justify-content: center; font-family: "Cinzel", serif; font-size: 18px; color: #5c3b20; } /* Overlay */ #qm-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.6); z-index: 2999; display: none; } #qm-overlay.active { display: block; } /* ========================= Gaststätte Popup ========================= */ .gaststaette-body { display: flex; flex: 1; overflow: hidden; } .gaststaette-tabs { display: flex; flex-direction: column; gap: 6px; padding: 16px 10px; background: rgba(0, 0, 0, 0.25); border-right: 2px solid #8b6a3c; min-width: 140px; flex-shrink: 0; } .gaststaette-tab { background: linear-gradient(145deg, #3a2810, #1a0f04); border: 2px solid #8b6a3c; border-radius: 6px; color: #e7d9b4; font-family: "Cinzel", serif; font-size: 13px; font-weight: bold; padding: 10px 14px; text-align: left; cursor: pointer; transition: 0.2s; text-transform: uppercase; letter-spacing: 0.5px; } .gaststaette-tab:hover { border-color: #f0d060; background: linear-gradient(145deg, #5a3c18, #2a1a08); } .gaststaette-tab.active { background: linear-gradient(145deg, #6b4b2a, #3c2414); border-color: #f0d060; color: #f0d060; } .gaststaette-content { flex: 1; overflow: hidden; display: flex; flex-direction: column; } .gaststaette-tab-content { display: none; flex: 1; overflow: hidden; } .gaststaette-tab-content.active { display: flex; flex-direction: column; }