/* ===== HAUS ===== */
.haus-grid { display: grid; grid-template-columns: 1fr 280px; gap: 20px; }
.room-stage { background: linear-gradient(180deg, #FFF0E8 0%, #FFE4D0 100%); border-radius: 24px; border: 4px solid var(--peach); min-height: 380px; position: relative; overflow: hidden; }
.room-floor { position: absolute; bottom: 0; left: 0; right: 0; height: 70px; background: linear-gradient(180deg, #D4A373, #BC8A5F); border-top: 4px solid #A0714F; }
.room-wall-deco { position: absolute; top: 16px; left: 16px; right: 16px; display: flex; justify-content: space-between; pointer-events: none; }
.pet-in-room-photo { position: absolute; bottom: 76px; left: 50%; transform: translateX(-50%); width: 100px; height: 100px; border-radius: 50%; object-fit: cover; border: 5px solid white; box-shadow: 0 4px 16px rgba(0,0,0,0.2); animation: petBob 2s ease-in-out infinite; }
@keyframes petBob { 0%, 100% { transform: translateX(-50%) translateY(0) } 50% { transform: translateX(-50%) translateY(-10px) } }
.furniture-placed { position: absolute; font-size: 2.6rem; cursor: grab; filter: drop-shadow(0 4px 8px rgba(0,0,0,0.2)); animation: placeIn 0.4s cubic-bezier(0.34,1.56,0.64,1); user-select: none; }
.furniture-placed:hover { transform: scale(1.1); }
.furniture-placed.dragging { cursor: grabbing; opacity: 0.8; z-index: 100; }
@keyframes placeIn { 0% { transform: scale(0) rotate(20deg) } 100% { transform: scale(1) rotate(0) } }
.furniture-shop { background: white; border-radius: 20px; padding: 16px; border: 3px solid var(--lavender); box-shadow: 0 4px 16px rgba(0,0,0,0.06); }
.shop-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; }
.shop-item { background: var(--cream); border: 3px solid var(--peach); border-radius: 12px; padding: 10px 6px; text-align: center; cursor: pointer; transition: all 0.2s; }
.shop-item:hover:not(.owned-item) { transform: translateY(-3px); border-color: var(--purple); }
.shop-item.owned-item { border-color: var(--green); background: var(--mint); }
.shop-emoji { font-size: 1.8rem; display: block; margin-bottom: 3px; }
.shop-name { font-size: 0.7rem; font-weight: 700; color: var(--dark); }
.shop-price { font-size: 0.72rem; font-weight: 700; color: var(--brown); display: flex; align-items: center; justify-content: center; gap: 2px; margin-top: 3px; }
