/* ============================================================ public/css/bazaar.css ============================================================ */ /* ── Haupt-Layout ────────────────────────── */ .mp-wrap, .mp-body-wrap { display: flex; width: 100%; max-width: 100%; height: 100%; font-family: "Cinzel", serif; overflow: hidden; box-sizing: border-box; } /* ── Linke Tab-Leiste ────────────────────── */ .mp-tabs { display: flex; flex-direction: column; gap: 6px; padding: 16px 10px; background: rgba(0, 0, 0, 0.3); border-right: 2px solid #6b4b2a; min-width: 150px; flex-shrink: 0; overflow-y: auto; } .mp-tab { display: flex; align-items: center; gap: 8px; padding: 10px 12px; background: linear-gradient(135deg, #2a1a08, #1a0f04); border: 2px solid #6b4b2a; border-radius: 8px; color: #c8a86a; font-family: "Cinzel", serif; font-size: 12px; font-weight: 600; cursor: pointer; transition: all 0.2s; text-align: left; white-space: nowrap; } .mp-tab:hover { color: #f0d9a6; filter: brightness(1.2); } .mp-tab.mp-tab-active { color: #fff !important; border-color: #f0d060 !important; background: linear-gradient(135deg, #4a3010, #2a1a08) !important; box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5), 0 0 14px rgba(200, 160, 60, 0.3); } .mp-tab-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; border: 1px solid rgba(255, 255, 255, 0.3); background: #8b6a3c; } .mp-tab-active .mp-tab-dot { background: #f0d060; border-color: #f0d060; } /* ── Inhalts-Bereich ─────────────────────── */ .mp-content { flex: 1; min-width: 0; overflow: hidden; display: flex; flex-direction: column; } .mp-panel { display: none; flex: 1; flex-direction: column; overflow: hidden; } .mp-panel.active { display: flex; } /* ── Panel-Header ────────────────────────── */ .mp-col-header { font-family: "Cinzel", serif; font-size: 15px; font-weight: 700; color: #f0d9a6; letter-spacing: 1px; text-transform: uppercase; padding: 10px 20px; background: linear-gradient(#3a2810cc, #1a0f04cc); border-bottom: 2px solid #6b4b2a; flex-shrink: 0; } /* ── Panel-Body ──────────────────────────── */ .mp-body, .mp-panel-body { flex: 1; display: flex; align-items: center; justify-content: center; overflow-y: auto; padding: 20px; } .mp-coming-soon { font-family: "Cinzel", serif; font-size: 16px; color: #8b6a3c; letter-spacing: 2px; opacity: 0.7; } /* ══════════════════════════════════════════════ HÄNDLER – Karten-Grid ══════════════════════════════════════════════ */ .baz-grid { flex: 1; display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; overflow-y: auto; padding: 12px 14px; align-content: start; } .baz-card { position: relative; border: 2px solid #6b4b2a; border-radius: 8px; overflow: visible; background: #1a0f04; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s; display: flex; flex-direction: column; } .baz-card:hover { transform: scale(1.06) translateY(-4px); border-color: #f0d060; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.7), 0 0 14px rgba(200, 160, 60, 0.3); z-index: 10; } .baz-card-img { position: relative; aspect-ratio: 3/4; overflow: visible; flex-shrink: 0; } .baz-card img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 6px 6px 0 0; } /* Stats – relativ zur Bild-Wrapper */ .baz-stat-atk { position: absolute; right: 25px; top: 40%; transform: translateY(-50%); background: rgba(180, 40, 20, 0.88); border: 1px solid #ff6040; border-radius: 45px; color: #fff; font-family: "Cinzel", serif; font-size: 12px; font-weight: bold; padding: 2px 4px; z-index: 5; } .baz-stat-def { position: absolute; left: 25px; top: 40%; transform: translateY(-50%); background: rgba(20, 80, 180, 0.88); border: 1px solid #4090ff; border-radius: 45px; color: #fff; font-family: "Cinzel", serif; font-size: 12px; font-weight: bold; padding: 2px 4px; z-index: 5; } .baz-stat-cd { position: absolute; bottom: 18px; right: 25px; width: 25px; height: 25px; border-radius: 50%; background: rgba(0, 0, 0, 0.75); border: 1px solid #f0d060; display: flex; align-items: center; justify-content: center; font-family: "Cinzel", serif; font-size: 20px; font-weight: bold; color: #f0d9a6; z-index: 5; pointer-events: none; } /* Rarity */ .baz-rarity { position: absolute; top: 75%; left: 0; right: 0; display: flex; justify-content: center; flex-wrap: wrap; gap: 1px; pointer-events: none; z-index: 4; } /* Range / Race */ .baz-range-race { position: absolute; top: 78%; left: 0; right: 0; display: flex; justify-content: center; gap: 3px; pointer-events: none; z-index: 6; } .baz-badge-range, .baz-badge-race { display: flex; align-items: center; gap: 2px; padding: 1px 3px; border-radius: 20px; font-family: "Cinzel", serif; font-size: 14px; font-weight: bold; line-height: 1; } .baz-badge-range { background: rgba(30, 20, 0, 0.82); border: 1px solid #e8b84b; color: #e8b84b; } .baz-badge-race { background: rgba(0, 25, 0, 0.82); border: 1px solid #7de87d; color: #7de87d; } /* Preis-Leiste unter dem Bild */ .baz-price { display: flex; justify-content: center; gap: 4px; flex-wrap: wrap; padding: 4px 4px; background: rgba(0, 0, 0, 0.6); border-top: 1px solid #3a2810; border-radius: 0 0 6px 6px; min-height: 20px; } .baz-price-wood, .baz-price-iron, .baz-price-gold, .baz-price-gems, .baz-price-silver { font-family: "Cinzel", serif; font-size: 9px; font-weight: bold; line-height: 1.4; } .baz-price-wood { color: #c8a050; } .baz-price-iron { color: #a0b0c0; } .baz-price-gold { color: #f0d060; } .baz-price-gems { color: #a060ff; } .baz-price-silver { color: #c0c0c0; } /* Pagination */ .baz-pagination { display: flex; align-items: center; justify-content: center; gap: 5px; padding: 8px 10px; flex-shrink: 0; border-top: 1px solid #3a2810; } .baz-page-btn { background: linear-gradient(#3a2810, #1a0f04); border: 1px solid #8b6a3c; border-radius: 5px; color: #f0d9a6; font-family: "Cinzel", serif; font-size: 11px; padding: 3px 10px; cursor: pointer; transition: 0.15s; } .baz-page-btn:hover { border-color: #f0d060; } .baz-page-btn:disabled { opacity: 0.35; cursor: not-allowed; } .baz-page-btn.baz-page-active { background: linear-gradient(#6b4b2a, #3c2414); border-color: #f0d060; color: #fff5cc; } .baz-page-info { color: #a08060; font-size: 11px; } /* Leer / Laden */ .baz-empty, .baz-loading { grid-column: 1 / -1; text-align: center; color: #8b6a3c; font-family: "Cinzel", serif; font-size: 13px; padding: 40px 0; } /* Währung im Header */ .baz-currency { font-family: "Cinzel", serif; font-size: 12px; color: #f0d9a6; letter-spacing: 1px; } /* Kauf-Bestätigung */ .baz-confirm-backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.7); border-radius: 0 0 10px 10px; z-index: 50; } .baz-confirm-box { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 51; background: linear-gradient(#2a1a08, #1a0f04); border: 2px solid #c8960c; border-radius: 12px; padding: 24px 28px; min-width: 260px; display: flex; flex-direction: column; align-items: center; gap: 12px; font-family: "Cinzel", serif; } .baz-confirm-img-wrap { width: 120px; aspect-ratio: 3/4; border: 2px solid #6b4b2a; border-radius: 8px; overflow: hidden; } .baz-confirm-img-wrap img { width: 100%; height: 100%; object-fit: cover; } .baz-confirm-name { font-size: 15px; font-weight: bold; color: #f0d9a6; } .baz-confirm-price { font-size: 13px; color: #f0d060; } .baz-confirm-warn { font-size: 11px; color: #ff6666; } .baz-confirm-btns { display: flex; gap: 12px; } .baz-btn-cancel, .baz-btn-buy { padding: 8px 20px; border-radius: 7px; cursor: pointer; font-family: "Cinzel", serif; font-size: 12px; font-weight: bold; transition: 0.2s; } .baz-btn-cancel { background: linear-gradient(#3a2810, #1a0f04); border: 2px solid #6b4b2a; color: #a08060; } .baz-btn-cancel:hover { border-color: #f0d060; color: #f0d9a6; } .baz-btn-buy { background: linear-gradient(#6b4b2a, #3c2414); border: 2px solid #f0d060; color: #fff5cc; } .baz-btn-buy:hover:not(:disabled) { box-shadow: 0 0 12px rgba(200, 160, 60, 0.5); } .baz-btn-buy:disabled { opacity: 0.35; cursor: not-allowed; } /* Toast */ .baz-toast { position: fixed; bottom: 80px; left: 50%; transform: translateX(-50%); background: linear-gradient(#4a2808, #2a1004); border: 2px solid #8b6a3c; border-radius: 8px; color: #f0d9a6; font-family: "Cinzel", serif; font-size: 13px; padding: 10px 22px; z-index: 9999; pointer-events: none; } /* Header-Währungen */ .baz-header-right { display: flex; align-items: center; gap: 14px; } /* ── Mengenauswahl ───────────────────────── */ .baz-qty-wrap { display: flex; align-items: center; gap: 6px; } .baz-qty-btn { width: 28px; height: 28px; background: linear-gradient(#3a2810, #1a0f04); border: 2px solid #6b4b2a; border-radius: 6px; color: #f0d9a6; font-size: 16px; font-weight: bold; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: .15s; line-height: 1; } .baz-qty-btn:hover { border-color: #f0d060; color: #fff; } .baz-qty-input { width: 52px; text-align: center; background: rgba(0,0,0,0.5); border: 2px solid #6b4b2a; border-radius: 6px; color: #f0d9a6; font-family: "Cinzel", serif; font-size: 14px; font-weight: bold; padding: 4px 0; outline: none; -moz-appearance: textfield; } .baz-qty-input::-webkit-inner-spin-button, .baz-qty-input::-webkit-outer-spin-button { -webkit-appearance: none; } .baz-qty-input:focus { border-color: #f0d060; } .baz-qty-max { padding: 4px 10px; background: linear-gradient(#4a3010, #2a1808); border: 2px solid #c8960c; border-radius: 6px; color: #f0d060; font-family: "Cinzel", serif; font-size: 10px; font-weight: bold; cursor: pointer; letter-spacing: 1px; transition: .15s; } .baz-qty-max:hover { border-color: #f0d060; color: #fff5cc; }