.elementor-109 .elementor-element.elementor-element-52dae05{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-109 .elementor-element.elementor-element-db8f9fa{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;}.elementor-109 .elementor-element.elementor-element-9bfe4fc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-109 .elementor-element.elementor-element-27c116c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-109 .elementor-element.elementor-element-6fc7f5a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-109 .elementor-element.elementor-element-ad4531c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-109 .elementor-element.elementor-element-4d73083{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:100px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-109 .elementor-element.elementor-element-9bfe4fc{--width:50%;}.elementor-109 .elementor-element.elementor-element-27c116c{--width:50%;}.elementor-109 .elementor-element.elementor-element-6fc7f5a{--width:50%;}.elementor-109 .elementor-element.elementor-element-ad4531c{--width:50%;}}/* Start custom CSS for container, class: .elementor-element-db8f9fa */.elementor-109 .elementor-element.elementor-element-db8f9fa .wrap { max-width: 520px; margin: 18px auto; padding: 8px 12px 18px; }
    .elementor-109 .elementor-element.elementor-element-db8f9fa h1 { font-size: 18px; margin: 0 0 8px; }
    .elementor-109 .elementor-element.elementor-element-db8f9fa .sub { margin: 0 0 10px; font-size: 13px; color: #6b7280; }

    /* Smaller map so 4 suites can sit side-by-side; scale by changing max-width above */
    .elementor-109 .elementor-element.elementor-element-db8f9fa svg.map { width: 100%; height: auto; background: #fff; border-radius: 12px; box-shadow: 0 8px 22px rgba(0,0,0,.06); outline: 1px solid #eee; }

    .elementor-109 .elementor-element.elementor-element-db8f9fa .unit rect { fill: var(--available); stroke: var(--available-stroke); stroke-width: 2; rx: 6; ry: 6; transition: transform .1s ease, fill .15s ease, filter .2s ease; }
    .elementor-109 .elementor-element.elementor-element-db8f9fa .unit text { font-size: 20px; font-weight: 700; text-anchor: middle; dominant-baseline: central; pointer-events: none; fill: var(--text); }
    .elementor-109 .elementor-element.elementor-element-db8f9fa .locker text {
        font-size: 20px; font-weight: 700; text-anchor: middle; dominant-baseline: central; pointer-events: none; fill: var(--text);
    }
    .elementor-109 .elementor-element.elementor-element-db8f9fa .locker {
        fill: #000;
    }

    .elementor-109 .elementor-element.elementor-element-db8f9fa .unit:not(.occupied):hover rect, .elementor-109 .elementor-element.elementor-element-db8f9fa .unit:not(.occupied):focus-within rect { fill: var(--hover); filter: drop-shadow(0 2px 10px rgba(0,0,0,.08)); transform: translateY(-1px); }

    .elementor-109 .elementor-element.elementor-element-db8f9fa .unit.occupied rect { fill: var(--occupied); stroke: var(--occupied-stroke); }
    .elementor-109 .elementor-element.elementor-element-db8f9fa .unit.occupied text { fill: #777; }
    .elementor-109 .elementor-element.elementor-element-db8f9fa .unit.occupied { cursor: not-allowed; }
    .elementor-109 .elementor-element.elementor-element-db8f9fa .unit.occupied rect.hatch { fill: url(#hatch); stroke: none; rx: 6; }

    .elementor-109 .elementor-element.elementor-element-db8f9fa .legend { display:flex; gap:16px; align-items:center; margin-top:8px; font-size:12px; color:#555; }
    .elementor-109 .elementor-element.elementor-element-db8f9fa .key { display:inline-flex; gap:8px; align-items:center; }
    .elementor-109 .elementor-element.elementor-element-db8f9fa .swatch { width:14px; height:14px; border-radius:3px; border:2px solid var(--available-stroke); background: #f1f1f1; }
    .elementor-109 .elementor-element.elementor-element-db8f9fa .swatch.occ { border-color: var(--occupied-stroke); background: var(--occupied); position: relative; }
    .elementor-109 .elementor-element.elementor-element-db8f9fa .swatch.occ::after { content: ""; position: absolute; inset: 0; background: #cccccc; border-radius: 2px; }
    
    
    .elementor-109 .elementor-element.elementor-element-db8f9fa .unit {
        
        fill: #fff;
        
    }
    .elementor-109 .elementor-element.elementor-element-db8f9fa g rect {
        fill: #f1f1f1 !important;
    }
    .elementor-109 .elementor-element.elementor-element-db8f9fa text {
        fill: #000 !important;
    }
    .elementor-109 .elementor-element.elementor-element-db8f9fa g.occupied rect {
        fill: #cccccc !important;
        background: repeating-linear-gradient(45deg, transparent 0 6px, rgba(0,0,0,.08) 6px 10px); 
    }
    .elementor-109 .elementor-element.elementor-element-db8f9fa .unit:not(.occupied):hover {
        cursor: pointer;
    }/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-665b0e8 */.elementor-109 .elementor-element.elementor-element-665b0e8 .swr-container {
    background-color: #fff;
    padding: 30px;
    
}

.elementor-109 .elementor-element.elementor-element-665b0e8 .swr-form input, .elementor-109 .elementor-element.elementor-element-665b0e8 .swr-form select {
    background-color: #fff !important;
    color: #000;
}/* End custom CSS */