
/* Interactive Hero Blueprint */

#room-container {
    min-width: 100px;
    min-height: 80px;
    max-width: 90%;
    max-height: 90%;
    position: absolute;
    /* Center centering handled by inline style/js */
    box-shadow: 0 0 30px rgba(255, 140, 66, 0.1);
    transition: box-shadow 0.3s;
}

#room-container:hover {
    box-shadow: 0 0 40px rgba(255, 140, 66, 0.3);
    cursor: move; /* Fallback */
}

/* Resize Handles */
.resize-handle {
    position: absolute;
    width: 20px;
    height: 20px;
    background-color: var(--accent-orange);
    border: 2px solid white;
    border-radius: 50%;
    z-index: 10;
    opacity: 0; /* Hidden by default, visible on hover */
    transition: opacity 0.2s, transform 0.2s;
}

#room-container:hover .resize-handle {
    opacity: 1;
}

/* Specific Handle Positions */
.handle-w {
    top: 50%;
    left: -10px;
    transform: translateY(-50%);
    cursor: w-resize;
}

.handle-s {
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    cursor: s-resize;
}

.handle-se {
    bottom: -10px;
    right: -10px;
    cursor: se-resize;
}

.resize-handle:hover {
    transform: scale(1.2) !important; /* Override translate */
}

/* Labels */
.measurement-label {
    position: absolute;
    background-color: var(--accent-orange);
    color: white;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: bold;
    font-size: 0.85rem;
    pointer-events: none; /* Let clicks pass through */
    white-space: nowrap;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.label-top {
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
}

.label-right {
    right: -15px;
    top: 50%;
    transform: translateY(-50%);
}

/* Hint */
.drag-hint {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(255,255,255,0.6);
    font-size: 0.8rem;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.5s;
}

.card-image:hover .drag-hint {
    opacity: 1;
}

/* Stop SVG scaling weirdly */
.room-outline rect {
    vector-effect: non-scaling-stroke;
}

/* Mortar Selector Styling */
.label-select {
    font-family: inherit;
    font-size: 0.875rem;
    color: var(--gray-600); /* Matches original label color */
    background-color: transparent;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    font-weight: inherit;
    border-bottom: 1px dashed var(--gray-400); /* Visual cue */
    appearance: none; /* Remove default arrow */
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%236c757d%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4l128-128c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 0 center;
    background-size: 0.65em auto;
    padding-right: 1.2em;
}

.label-select:hover {
    color: var(--primary-blue);
    border-bottom-color: var(--primary-blue);
}

.label-select:focus {
    outline: none;
    border-bottom: 1px solid var(--accent-orange);
}

/* Waste Input Styling */
.waste-input-row .waste-value {
    display: flex;
    align-items: center;
    gap: 2px;
}

.waste-input {
    font-family: inherit;
    font-size: 1rem;
    font-weight: 700;
    color: var(--primary-blue);
    background-color: transparent;
    border: none;
    border-bottom: 1px dashed var(--gray-400);
    width: 45px;
    text-align: right;
    padding: 0 2px;
    -moz-appearance: textfield;
}

.waste-input::-webkit-outer-spin-button,
.waste-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.waste-input:hover {
    border-bottom-color: var(--primary-blue);
}

.waste-input:focus {
    outline: none;
    border-bottom: 1px solid var(--accent-orange);
}

.waste-percent {
    font-size: 1rem;
    font-weight: 700;
    color: var(--primary-blue);
}
