.greta-map-shell [hidden] { display:none !important; }
.greta-map-shell .greta-map-panel { display:flex; flex-direction:column; height:var(--greta-map-height,620px); min-height:var(--greta-map-height,620px); }
.greta-map-shell .greta-map-panel-top, .greta-map-shell .greta-map-search-wrap, .greta-map-shell .greta-map-filter { flex-shrink:0; }
.greta-map-shell .greta-map-refine { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; margin:12px 0; flex-shrink:0; }
.greta-map-shell .greta-map-refine label { display:grid; gap:7px; min-width:0; padding:0 2px; font-size:12px; line-height:1.4; font-weight:700; color:#23483f; }
.greta-map-shell .greta-map-refine select { box-sizing:border-box; appearance:none; -webkit-appearance:none; display:block; width:100%; min-width:0; height:46px; margin:0; border:1px solid rgba(57,112,100,.23); border-radius:15px; background-color:rgba(255,255,255,.66); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='m6 9 6 6 6-6' stroke='%23345c52' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),linear-gradient(135deg,rgba(255,255,255,.8),rgba(225,242,235,.38)); background-position:right 14px center,center; background-repeat:no-repeat; background-size:18px,cover; color:#173d34; font:inherit; font-size:13px; font-weight:600; line-height:1.4; padding:10px 40px 10px 14px; box-shadow:inset 0 1px 0 #fff,0 4px 12px rgba(35,79,68,.035); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); cursor:pointer; transition:border-color .18s ease,box-shadow .18s ease; }
.greta-map-shell .greta-map-refine select:hover { border-color:rgba(57,112,100,.48); }
.greta-map-shell .greta-map-refine select:focus-visible { outline:none; border-color:#377f72; box-shadow:inset 0 0 0 2px #377f72,0 4px 12px rgba(35,79,68,.06); }
.greta-map-shell .greta-map-refine option { background:#f8fbf9; color:#173d34; }
.greta-map-shell .greta-map-status { margin:6px 0 10px; font-size:13px; font-weight:700; color:#17434a; }
.greta-map-shell .greta-map-reset { align-self:flex-start; padding:4px 0; margin:0 0 8px; color:#1c555d; border:0; background:transparent; font:inherit; font-size:12px; text-decoration:underline; cursor:pointer; }
.greta-map-shell .greta-map-list { display:block; flex:1; min-height:0; max-height:none; overflow:auto; padding-right:8px; }
.greta-map-shell .greta-map-list > [role=listitem] { margin-bottom:10px; }
.greta-map-shell .greta-map-item { display:block; width:100%; text-align:left; margin:0; }
.greta-map-shell .greta-map-item .greta-map-item-city { color:#07142a !important; }
.greta-map-shell .greta-map-item-place, .greta-map-shell .greta-map-item-meta { display:block; }
.greta-map-shell .greta-map-details { margin-top:24px; padding:28px; border-radius:26px; background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(245,252,248,.72)); border:1px solid rgba(255,255,255,.88); box-shadow:inset 0 1px 0 #fff,0 16px 42px rgba(32,77,65,.09); backdrop-filter:blur(22px) saturate(135%); -webkit-backdrop-filter:blur(22px) saturate(135%); color:#173039; scroll-margin-top:90px; overflow-wrap:anywhere; }
.greta-map-shell .greta-map-details-heading { display:flex; gap:18px; justify-content:space-between; align-items:flex-start; }
.greta-map-shell .greta-map-details-heading > div { min-width:0; }
.greta-map-shell .greta-map-details h3 { color:#173039; font-size:clamp(21px,3vw,30px); margin:0; line-height:1.2; }
.greta-map-shell .greta-map-details p { line-height:1.6; }
.greta-map-shell .greta-map-close-details { flex:0 0 auto; white-space:nowrap; min-height:44px; background:linear-gradient(145deg,#ffffffcf,#e5f2ec80); border:1px solid #ffffffeb; box-shadow:inset 0 1px 0 #fff,0 4px 14px #2357440a; color:#173d34; font:inherit; font-size:13px; border-radius:14px; padding:10px 14px; cursor:pointer; }
.greta-map-shell .greta-map-accessibility { font-size:14px; color:#34615b; }
.greta-map-shell .greta-formation { border-top:1px solid #d8e6e4; padding:16px 0; }
.greta-map-shell .greta-formation > summary { cursor:pointer; font-size:17px; font-weight:750; line-height:1.5; color:#183f44; }
.greta-map-shell .greta-formation > summary small { display:block; margin:6px 0 0 20px; font-size:12px; font-weight:500; color:#52686b; }
.greta-map-shell .greta-formation-body { padding-top:10px; max-width:920px; font-size:15px; }
.greta-map-shell .greta-formation-body ul { margin:10px 0; padding-left:22px; }
.greta-map-shell .greta-formation-availability { display:inline-block; margin:6px 0; padding:5px 10px; border-radius:8px; background:#eaf5ef; color:#256043; font-weight:700; font-size:13px; }
.greta-map-shell .greta-formation-contact { padding:12px 14px; background:#f1f7f6; border-radius:10px; }
.greta-map-shell .greta-formation-skills > summary { cursor:pointer; font-weight:700; }
.greta-map-shell .greta-glass-action { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; gap:12px; max-width:100%; min-height:46px; margin:4px 0; padding:12px 18px; border:1px solid rgba(86,135,119,.23) !important; border-radius:16px; background:linear-gradient(135deg,rgba(255,255,255,.84),rgba(227,243,237,.56)) !important; color:#214f42 !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 5px 16px rgba(36,84,65,.045); backdrop-filter:blur(16px) saturate(150%); -webkit-backdrop-filter:blur(16px) saturate(150%); font:inherit; font-size:14px; font-weight:700; line-height:1.4; text-decoration:none !important; white-space:normal; text-align:left; cursor:pointer; transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease; }
.greta-map-shell .greta-glass-action--primary { background:linear-gradient(125deg,rgba(181,223,180,.62),rgba(205,238,230,.65),rgba(255,255,255,.85)) !important; border-color:rgba(76,134,107,.3) !important; }
.greta-map-shell .greta-glass-action:hover { color:#153e32 !important; border-color:rgba(55,123,95,.48) !important; box-shadow:inset 0 1px 0 #fff,0 8px 22px rgba(36,84,65,.1); transform:translateY(-1px); }
.greta-map-shell .greta-glass-action > span { color:inherit !important; }
.greta-map-shell .greta-glass-action svg { display:block; width:18px; height:18px; flex:0 0 18px; color:inherit; }
.greta-map-shell .greta-map-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; padding-top:16px; border-top:1px solid rgba(81,135,116,.14); }
.greta-map-shell .greta-map-details a:not(.greta-glass-action) { color:#126653; text-decoration:underline; }
.greta-map-shell button:focus-visible, .greta-map-shell summary:focus-visible, .greta-map-shell select:focus-visible, .greta-map-shell a:focus-visible { outline:3px solid #04777c; outline-offset:3px; }
.greta-map-shell .greta-map-details:focus { outline:2px solid #268978; outline-offset:3px; }
.greta-map-shell .greta-place-popup .leaflet-popup-content { width:min(280px,calc(100vw - 96px)) !important; margin:0 !important; max-height:none !important; overflow:visible !important; }
.greta-map-shell .greta-place-popup .leaflet-popup-content-wrapper { padding:0; border-radius:22px; background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(242,250,246,.92)); border:1px solid rgba(255,255,255,.94); box-shadow:inset 0 1px 0 #fff,0 14px 36px rgba(29,62,48,.18); backdrop-filter:blur(18px) saturate(130%); -webkit-backdrop-filter:blur(18px) saturate(130%); }
.greta-map-shell .greta-place-popup .leaflet-popup-tip { background:#f2faf6; }
.greta-map-shell .greta-place-popup .leaflet-popup-close-button { top:7px; right:7px; width:30px; height:30px; border-radius:50%; color:#405e52; font-size:23px; line-height:30px; }
.greta-map-shell .greta-place-summary { box-sizing:border-box; padding:18px; color:#254c40; font-family:inherit; font-size:13px; line-height:1.4; overflow-wrap:anywhere; }
.greta-map-shell .greta-place-summary .greta-place-title { margin:0 20px 6px 0; color:#173d34; font-size:20px; font-weight:800; line-height:1.15; letter-spacing:-.02em; }
.greta-map-shell .greta-place-summary p { margin:0 0 8px; color:#426258; font-size:13px; line-height:1.4; }
.greta-map-shell .greta-place-summary .greta-place-name { color:#244d40; font-weight:650; }
.greta-map-shell .greta-place-summary .greta-place-count { display:inline-block; padding:4px 8px; margin:1px 0 8px; border-radius:8px; background:rgba(92,159,113,.1); color:#2c5945; font-size:12px; font-weight:650; }
.greta-map-shell .greta-place-summary .greta-glass-action { width:100%; margin:0; justify-content:space-between; padding:10px 12px; font-size:13px; }
.greta-map-shell .leaflet-control-attribution { max-width:calc(100% - 16px); background:#fffffff0; color:#222; font-size:11px; line-height:1.4; padding:4px 7px; }
.greta-map-shell .greta-map-tile-warning { position:absolute; z-index:500; bottom:45px; left:10px; right:10px; margin:0; padding:10px; border-radius:8px; background:#fff4da; color:#5d4208; font-size:13px; }
.greta-map-shell .greta-map-unavailable { padding:24px; background:#f0f6f5; color:#244740; }
@media(max-width:900px) {
  .greta-map-shell .greta-map-layout { grid-template-columns:1fr; }
  .greta-map-shell .greta-map-panel { height:540px; min-height:0; }
  .greta-map-shell .greta-map-card { height:360px; min-height:360px; }
  .greta-map-shell .greta-map-canvas { min-height:360px; }
  .greta-map-shell .greta-map-details { padding:18px; border-radius:18px; }
  .greta-map-shell .greta-map-details-heading { gap:10px; }
}
@media(max-width:480px) { .greta-map-shell .greta-map-actions { display:grid; } .greta-map-shell .greta-map-actions .greta-glass-action { justify-content:space-between; width:100%; } }
@media(forced-colors:active) { .greta-map-shell .greta-glass-action, .greta-map-shell .greta-map-refine select { border:1px solid ButtonText !important; } .greta-map-shell .greta-map-refine select:focus-visible { outline:2px solid Highlight; outline-offset:-3px; } }
@media(prefers-reduced-motion:reduce) { .greta-map-shell * { animation:none !important; transition:none !important; } }
