.portugal-wine-map-container {
    position: relative;
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    font-family: 'Open Sans', Arial, sans-serif;
}

.map-container {
    position: relative;
    width: 100%;
    min-height: 500px; /* Increased min-height */
    overflow: visible; /* Ensure content doesn't get clipped */
}

/* SVG styling */
.portugal-wine-svg {
    width: 100%;
    height: auto;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
    background-color: transparent;
    overflow: visible;
    min-height: 400px;
    -webkit-transform: translateZ(0); /* Force hardware acceleration */
    transform: translateZ(0);
    z-index: 10; /* Ensure SVG stays above other elements */
}

/* SVG element itself */
.portugal-wine-svg svg {
    width: 100%;
    height: auto;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    min-height: 400px;
    max-width: 100%; /* Ensure SVG doesn't overflow */
}

/* SVG path styling */
.portugal-wine-svg svg path[data-region-id] {
    cursor: pointer;
    transition: fill 0.3s ease, stroke 0.3s ease;
    stroke: #fff;
    stroke-width: 1;
    pointer-events: auto !important; /* Ensure click events work */
}

.portugal-wine-svg svg path[data-region-id]:hover {
    fill-opacity: 0.9;
    stroke-width: 2;
    stroke: #333;
}

.portugal-wine-svg svg path[data-region-id].active {
    stroke-width: 2;
    stroke: #333;
    fill-opacity: 1;
}

/* Loading and error messages */
.map-loading {
    padding: 20px;
    text-align: center;
    background-color: #f8f9fa;
    border-radius: 4px;
    margin: 20px 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
    width: 80%;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.map-error {
    padding: 20px;
    margin: 20px 0;
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
    border-radius: 4px;
    font-weight: bold;
    text-align: center;
}

/* Region information container */
#region-information {
    margin-top: 30px;
}

/* Region info sections */
.region-info {
    display: none;
    margin-bottom: 20px;
    padding: 15px;
    background-color: #f8f9fa;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.region-info h3 {
    color: #8a2be2;
    border-bottom: 2px solid #8a2be2;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

/* Back to map button */
.back-to-map {
    display: inline-block;
    padding: 8px 15px;
    background-color: #6c757d;
    color: white;
    text-decoration: none;
    border-radius: 4px;
    margin-top: 20px;
    cursor: pointer;
    border: none;
}

.back-to-map:hover {
    background-color: #5a6268;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .map-container {
        min-height: 450px;
    }
    
    .portugal-wine-svg, 
    .portugal-wine-svg svg {
        min-height: 350px;
    }
    
    .region-info {
        margin-top: 20px;
    }
} 