.rzut-container {
    position: relative;
    max-width: 100%;
    margin: 0 auto 0 auto;
}

@media screen and (max-width: 1000px) {
	.rzut-container {
		padding-top: 30px;
	}
}

.rzut-container h3 {
	padding-bottom: 40px;
}

.rzut-image-container {
	background: #F6F6F6;
}

.rzut-image-wrapper {
    position: relative;
    display: table !important;
	margin: 0 auto;
	max-width: 1400px;
}

.rzut-image {
    width: auto;
    height: auto;
    display: block;
	mix-blend-mode: darken;
}

.rzut-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
}

.rzut-tooltip {
    position: absolute;
    background-color: rgba(255, 255, 255, 0.95);
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 8px 12px;
    font-size: 14px;
    line-height: 1.4;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    z-index: 100;
    pointer-events: none;
    min-width: 150px;
    max-width: 250px;
}

.rzut-tooltip strong {
    display: block;
    margin-bottom: 4px;
    font-size: 16px;
}

.rzut-tooltip .status {
    display: block;
    font-size: 13px;
    font-weight: 500;
}

/* Status colors */
.rzut-tooltip.status-dostepny .status,
.rzut-tooltip.status-wolne .status {
    color: #28a745;
}

.rzut-tooltip.status-sprzedany .status {
    color: #dc3545;
}

.rzut-tooltip.status-zarezerwowany .status {
    color: #fd7e14;
}

.rzut-tooltip.status-w-budowie .status {
    color: #6c757d;
}

/* Map area styling */
area {
    outline: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

/* Building area styling - remove default hover outline */
.building-area {
    transition: background-color 0.3s ease;
}

/* Floor area styling - remove default hover outline */
.floor-area {
    transition: background-color 0.3s ease;
}

/* Selected floor highlighting */
.floor-area.selected {
    background-color: rgba(95, 161, 113, 0.4) !important;
    outline: 2px solid #5fa171 !important;
    outline-offset: -2px !important;
}

/* Apartment area styling - removed hover outline to allow JavaScript overlays */
.apartment-area.highlight {
    outline: 3px solid #fd7e14;
    outline-offset: -3px;
}

/* Mapster overlay styles */
.building-area,
.floor-area {
    cursor: pointer;
}

/* Sidebar elements */
.rzut-sidebar {
    margin-top: 20px;
}

.rzut-floor-selector {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}

.rzut-floor-selector a {
    display: inline-block;
    padding: 8px 15px;
    background-color: #f8f9fa;
    border: 1px solid #ddd;
    border-radius: 4px;
    text-decoration: none;
    color: #495057;
    font-weight: 500;
    transition: all 0.2s ease;
}

.rzut-floor-selector a:hover,
.rzut-floor-selector a.active {
    background-color: #5fa171;
    border-color: #5fa171;
    color: #fff;
}

.rzut-apartments-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.rzut-apartments-list li {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}

.rzut-apartments-list a {
    display: block;
    text-decoration: none;
    color: #212529;
    padding: 5px 0;
    transition: all 0.2s ease;
}

.rzut-apartments-list a:hover,
.rzut-apartments-list a.active {
    color: #5fa171;
    background-color: rgba(95, 161, 113, 0.1);
    border-radius: 4px;
    padding: 5px 8px;
    margin-left: -8px;
}

.rzut-apartments-list .apartment-status {
    display: inline-block;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 500;
    margin-left: 5px;
}

.rzut-apartments-list .status-dostepny,
.rzut-apartments-list .status-wolne {
    background-color: rgba(40, 167, 69, 0.2);
    color: #28a745;
}

.rzut-apartments-list .status-sprzedany {
    background-color: rgba(220, 53, 69, 0.2);
    color: #dc3545;
}

.rzut-apartments-list .status-zarezerwowany {
    background-color: rgba(253, 126, 20, 0.2);
    color: #fd7e14;
}

.rzut-apartments-list .status-w-budowie {
    background-color: rgba(108, 117, 125, 0.2);
    color: #6c757d;
}

/* Back button styles */
.rzut-back-button {
    margin-bottom: 30px;
}

.rzut-back-button a {
    display: inline-flex;
    align-items: center;
    color: #5FA171;
    text-decoration: none;
    font-size: 16px;
    transition: color 0.3s ease;
}

.rzut-back-button a:hover {
    color: #000;
    text-decoration: none;
}

.rzut-back-button a .dashicons {
    margin-right: 8px;
    font-size: 18px;
}

/* Responsive styles */
@media (max-width: 768px) {
    .rzut-floor-selector {
        flex-direction: row;
        overflow-x: auto;
        padding-bottom: 10px;
    }
    
    .rzut-floor-selector a {
        flex: 0 0 auto;
        padding: 6px 12px;
        font-size: 14px;
    }
    
    .rzut-tooltip {
        max-width: 200px;
        font-size: 13px;
    }
    
    .rzut-tooltip strong.rzut-apartments-list {
        font-size: 14px;
    }
}

/* Image map container */

/* Hover effects for areas */
area[data-mapkey="budynekmap"],
area[data-mapkey="pietroactive"] {
    cursor: pointer;
}

area[data-mapkey="budyneksold"],
area[data-mapkey="budynekmapsoon"] {
    cursor: not-allowed;
}

/* ImageMapster canvas overlay styles */
canvas {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    pointer-events: none !important;
    z-index: 10 !important;
}

/* Force visibility of mapster overlays */
.mapster_el {
    position: absolute !important;
    z-index: 10 !important;
}

/* Alternative CSS hover for areas if ImageMapster fails */
area:hover {
    outline: 3px solid #ff0000 !important;
    outline-offset: -3px !important;
}

/* Specific hover colors for different area types */
area[data-mapkey="budynekmap"]:hover {
    outline-color: #5fa171 !important;
}

area[data-mapkey="pietroactive"]:hover {
    outline-color: #5fa171 !important;
}

area[data-mapkey="budyneksold"]:hover {
    outline-color: #dc3545 !important;
}

area[data-mapkey="budynekmapsoon"]:hover {
    outline-color: #fd7e14 !important;
}

/* Mieszkania table styles - inherit from main table but with flexible grid */
.mieszkania-table-header {
    display: grid;
    /* grid-template-columns dynamically generated by PHP */
    gap: 1px;
    background-color: #f6f6f6;
    font-weight: bold;
}

.mieszkania-table-header > div {
    background-color: #f6f6f6;
    text-align: center;
    padding: 15px 5px;
    box-sizing: border-box;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mieszkanie-row {
    display: grid;
    /* grid-template-columns dynamically generated by PHP */
    gap: 1px;
    padding: 0 0;
    align-items: center;
}

.mieszkanie-row > div {
    text-align: center;
    padding: 15px 5px;
    box-sizing: border-box;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mieszkanie-row:nth-child(even) {
    background-color: #fff;
}

.mieszkanie-row:nth-child(even) > div {
    background: #fff;
}

.mieszkanie-row:nth-child(odd) {
    background-color: #f6f6f6;
}

.mieszkanie-row:nth-child(odd) > div {
    background: #f6f6f6;
}

/* Responsive adjustments for building pages */
@media (max-width: 900px) {
    .mieszkania-table-header, .mieszkanie-row {
        /* grid-template-columns dynamically generated by PHP */
    }
}