#_圖資用SVG框, .cls-1 {
    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
}
#_圖資用SVG框 rect {
    /*fill: none; /* 🚀 先清空原始填色 */
    /*fill: rgba(255, 255, 255, 0.001); /* 給一個幾乎透明的預設值 */
    stroke: #0f2a3f;
    stroke-width: 0.5px;
    cursor: pointer;
    transition: fill 0.2s, stroke 0.2s;
    pointer-events: visiblePainted;
    fill-opacity: 0.001;
}
.booth-active rect {
    fill: rgba(0, 123, 255, 0.3);
    stroke-width: 1.5px;
    fill-opacity: 0.5 !important;
}
/* R18 攤位樣式 */
.booth-r18 {
    fill: rgba(255, 182, 193, 0.4);
}

/* 滑鼠滑過效果 */
#_圖資用SVG框 rect:hover {
    fill: rgba(0, 123, 255, 0.3) !important;
    stroke-width: 1.5px;
    fill-opacity: 0.5 !important;
}

.booth-focus-blink rect {
    animation: focal-pulse 1s ease-in-out infinite;
    fill: inherit;
    pointer-events: all;
    fill-opacity: 0.5 !important;
}
/* 定義閃爍動畫 */
@keyframes focal-pulse {
    0% { fill: var(--bs-indigo) !important;stroke-width: 2px; }
    50% { fill: var(--bs-blue) !important;stroke-width: 8px; }
    100% { fill: var(--bs-indigo) !important;stroke-width: 2px; }
}


/* 報警閃爍動畫 */
.booth-alarm rect{
    animation: alarm-blink 0.8s infinite;
    stroke: #ff0000;
    stroke-width: 2px;
}

@keyframes alarm-blink {
    0% { fill: rgba(255, 0, 0, 0.2); }
    50% { fill: rgba(255, 0, 0, 0.9); }
    100% { fill: rgba(255, 0, 0, 0.2); }
}
