.gw-hero {
    background: radial-gradient(circle at top left, #b7e4c7, #06d6a0);
    padding: 60px 0;
    color: #073b3a;
    text-align: center;
}
.gw-hero h1 { font-size: 2.6rem; }
.gw-subtitle { font-size: 1.1rem; }

.gw-layout {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 30px;
    padding: 40px 20px;
}

.gw-map-heading { margin-top: 34px; }
.gw-map-hint { color: #4b6b57; margin-top: -8px; }

.gw-map-wrapper {
    margin-top: 16px;
    background: #fff;
    border-radius: 22px;
    padding: 12px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.08);
    max-width: 480px;
}

.gw-map-svg {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 14px;
    overflow: hidden;
}

.gw-zone { cursor: pointer; }

.gw-zone-shape {
    fill: rgba(255, 255, 255, 0.001); /* praktisch unsichtbar, aber klickbar */
    stroke: rgba(255, 255, 255, 0.55);
    stroke-width: 3;
    stroke-dasharray: 8 6;
    transition: fill .18s ease, stroke .18s ease;
}

.gw-zone:hover .gw-zone-shape,
.gw-zone:focus .gw-zone-shape {
    fill: rgba(255, 209, 102, 0.35);
    stroke: #ffd166;
}

@media (max-width: 780px) {
    .gw-layout { grid-template-columns: 1fr; }
}
