#fw-map-wrap {
position: relative;
width: 100%;
height: 600px;
background: #111;
overflow: hidden; z-index: 0;
isolation: isolate;
}
#fw-map {
width: 100%;
height: 100%;
background: #111;
}
#fw-map-wrap .leaflet-control-attribution { display: none !important; } #fw-badge {
position: absolute;
bottom: 20px;
right: 20px;
z-index: 1000;
pointer-events: none;
}
#fw-badge svg { display: block; } #fw-map-wrap .leaflet-control-zoom a {
background: rgba(10,10,10,0.85);
color: #c8a96e;
border-color: rgba(200,169,110,0.25);
}
#fw-map-wrap .leaflet-control-zoom a:hover {
background: rgba(30,30,30,0.95);
} #fw-map-wrap .leaflet-top.fw-topcenter {
left: 50%;
transform: translateX(-50%);
right: auto;
}
#fw-map-wrap .fw-topcenter .leaflet-control {
margin-top: 14px;
float: none;
clear: none;
} .fw-region-ctl {
display: flex;
align-items: stretch;
background: rgba(10,10,10,0.9);
border: 1px solid rgba(200,169,110,0.4);
border-radius: 40px;
overflow: hidden;
box-shadow: 0 4px 18px rgba(0,0,0,0.6);
backdrop-filter: blur(4px);
}
.fw-region-ctl button {
background: transparent;
border: 0;
color: #c8a96e;
font-family: Georgia, serif;
font-size: 12px;
letter-spacing: 2px;
text-transform: uppercase;
padding: 9px 20px;
cursor: pointer;
transition: background 0.2s, color 0.2s;
}
.fw-region-ctl button:hover:not(.fw-active) {
background: rgba(30,30,30,0.95);
color: #c8a96e;
}
.fw-region-ctl button.fw-active {
background: #c8a96e;
color: #111;
} .fw-marker-icon {
background: transparent;
border: 0; display: flex;
align-items: flex-end;
justify-content: center;
}
.fw-wine-marker {
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-end;
position: relative;
text-decoration: none;
color: inherit;
cursor: pointer;
}
.fw-wine-marker:hover {
transform: scale(1.1);
transform-origin: bottom center;
transition: transform 0.15s;
z-index: 9999 !important;
}
.fw-wine-marker:hover .fw-tt { opacity: 1; } #fw-map-wrap .fw-wine-marker img.fw-bottle-img {
width: 40px !important;
max-width: 40px !important;
min-width: 0 !important;
height: auto !important;
object-fit: contain;
filter: drop-shadow(0 4px 12px rgba(0,0,0,0.95));
display: block;
margin: 0 auto;
}
.fw-pin-line {
width: 1px;
height: 10px;
background: linear-gradient(to bottom, rgba(200,169,110,0.6), transparent);
}
.fw-pin-dot {
width: 7px;
height: 7px;
background: #c8a96e;
border-radius: 50%;
border: 1.5px solid #fff;
box-shadow: 0 0 8px rgba(200,169,110,0.9);
}
.fw-label { text-align: center; margin-top: 4px; margin-bottom: 3px; }
.fw-label .fw-brand {
color: #fff;
font-size: 10px;
font-weight: 700;
letter-spacing: 2px;
text-transform: uppercase;
line-height: 1.2;
text-shadow: 0 0 10px #000, 0 1px 4px #000;
white-space: nowrap;
font-family: Georgia, serif;
}
.fw-label .fw-loc {
color: #888;
font-size: 8.5px;
letter-spacing: 1px;
font-family: Arial, sans-serif;
margin-top: 1px;
text-shadow: 0 1px 4px #000;
} .fw-tt {
position: absolute;
bottom: calc(100% + 6px);
left: 50%;
transform: translateX(-50%);
background: rgba(10,10,10,0.97);
border: 1px solid rgba(200,169,110,0.35);
padding: 6px 11px;
opacity: 0;
transition: opacity 0.15s;
white-space: nowrap;
z-index: 9999;
pointer-events: none;
}
.fw-tt .fw-tt-b {
color: #c8a96e;
font-size: 10px;
letter-spacing: 2px;
text-transform: uppercase;
font-family: Georgia, serif;
}
.fw-tt .fw-tt-d {
color: #666;
font-size: 9px;
font-family: Arial;
margin-top: 2px;
}
.fw-tt-below { bottom: auto; top: calc(100% + 6px); } .fw-cluster-icon { background: transparent; }
.fw-cluster-badge {
width: 46px;
height: 46px;
border-radius: 50%;
background: radial-gradient(circle at 35% 30%, rgba(200,169,110,0.95), rgba(150,120,70,0.9));
border: 2px solid rgba(255,255,255,0.85);
box-shadow: 0 0 14px rgba(200,169,110,0.7);
display: flex;
align-items: center;
justify-content: center;
}
.fw-cluster-badge span {
color: #111;
font-family: Georgia, serif;
font-weight: 700;
font-size: 16px;
}
@media (max-width: 768px) {
#fw-map-wrap { height: 500px; }
#fw-badge { bottom: 12px; right: 12px; }
#fw-badge svg { width: 62px !important; height: 62px !important; }
#fw-map-wrap .fw-wine-marker img.fw-bottle-img { width: 34px !important; max-width: 34px !important; }
.fw-label .fw-brand { font-size: 9px; letter-spacing: 1.4px; }
.fw-label .fw-loc { font-size: 7.5px; }
.fw-region-ctl button { font-size: 10px; padding: 5px 9px; letter-spacing: 1px; }
}
@media (max-width: 420px) {
#fw-map-wrap { height: 440px; }
#fw-map-wrap .fw-wine-marker img.fw-bottle-img { width: 30px !important; max-width: 30px !important; }
#fw-badge svg { width: 52px !important; height: 52px !important; }
}[data-elementor-type=popup] .elementor-section-wrap:not(:empty)+#elementor-add-new-section,[data-elementor-type=popup]:not(.elementor-edit-area){display:none}.elementor-popup-modal.dialog-type-lightbox{background-color:transparent;display:flex;pointer-events:none;-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.elementor-popup-modal .dialog-buttons-wrapper,.elementor-popup-modal .dialog-header{display:none}.elementor-popup-modal .dialog-close-button{display:none;inset-inline-end:20px;margin-top:0;opacity:1;pointer-events:all;top:20px;z-index:9999}.elementor-popup-modal .dialog-close-button svg{fill:#1f2124;height:1em;width:1em}.elementor-popup-modal .dialog-widget-content{background-color:#fff;border-radius:0;box-shadow:none;max-height:100%;max-width:100%;overflow:visible;pointer-events:all;width:auto}.elementor-popup-modal .dialog-message{display:flex;max-height:100vh;max-width:100vw;overflow:auto;padding:0;width:640px}.elementor-popup-modal .elementor{width:100%}