.club-map-app {
--cmap-orange:        #E8621A;
--cmap-orange-light:  #F07A35;
--cmap-orange-glow:   #F5A96A;
--cmap-orange-deep:   #C85114;
--cmap-orange-gold:   #F5C78A;
--cmap-orange-soft:   rgba(232, 98, 26, 0.08);
--cmap-bg:            #FFFFFF;
--cmap-surface:       #FAFAF7;
--cmap-surface-2:     #F4F2EC;
--cmap-ink:           #16151F;
--cmap-ink-soft:      rgba(22, 21, 31, 0.62);
--cmap-ink-mute:      rgba(22, 21, 31, 0.42);
--cmap-border:        rgba(22, 21, 31, 0.08);
--cmap-border-strong: rgba(22, 21, 31, 0.14);
--cmap-success:       #22C55E;
--cmap-danger:        #EF4444;
--cmap-r-card:        16px;
--cmap-r-card-lg:     20px;
--cmap-r-btn:         12px;
--cmap-r-pill:        10px;
--cmap-ease:          cubic-bezier(0.22, 1, 0.36, 1);
--cmap-grad-orange:   linear-gradient(135deg, #F5A858 0%, #E8621A 55%, #C85114 100%);
--cmap-shadow-orange: 0 6px 16px -6px rgba(232, 98, 26, 0.5);
font-family: 'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
color: var(--cmap-ink);
background: var(--cmap-bg);
border-radius: var(--cmap-r-card-lg);
overflow: hidden;
box-shadow: 0 12px 32px -12px rgba(22, 21, 31, 0.12);
border: 1px solid var(--cmap-border);
display: flex;
flex-direction: column;
height: var(--cmap-height, 700px);
}
.club-map-app *, .club-map-app *::before, .club-map-app *::after { box-sizing: border-box; } .cmap-topbar {
background: rgba(255, 255, 255, 0.92);
backdrop-filter: saturate(180%) blur(14px);
-webkit-backdrop-filter: saturate(180%) blur(14px);
border-bottom: 1px solid var(--cmap-border);
padding: 14px 18px;
display: flex;
align-items: center;
gap: 14px;
flex-shrink: 0;
}
.cmap-brand {
display: flex; align-items: center; gap: 10px;
font-weight: 700; font-size: 17px;
letter-spacing: -0.01em;
}
.cmap-brand-mark {
width: 32px; height: 32px;
border-radius: 9px;
background: var(--cmap-grad-orange);
display: grid; place-items: center;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.25),
0 6px 14px -4px rgba(232, 98, 26, 0.45);
}
.cmap-brand-mark svg { width: 18px; height: 18px; color: #fff; }
.cmap-brand-text { color: var(--cmap-ink); }
.cmap-brand-text span {
color: var(--cmap-orange);
font-family: 'Cormorant Garamond', Georgia, serif;
font-style: italic;
font-weight: 600;
font-size: 19px;
margin-left: 1px;
}
.cmap-search {
flex: 1;
max-width: 380px;
position: relative;
}
.cmap-search input {
width: 100%;
height: 40px;
padding: 0 14px 0 40px;
border-radius: var(--cmap-r-btn);
border: 1px solid var(--cmap-border);
background: var(--cmap-surface);
color: var(--cmap-ink);
font-family: inherit;
font-size: 14px;
transition: border-color .22s var(--cmap-ease), background .22s var(--cmap-ease), box-shadow .22s var(--cmap-ease);
}
.cmap-search input::placeholder { color: var(--cmap-ink-mute); }
.cmap-search input:focus {
outline: none;
border-color: var(--cmap-orange);
background: #fff;
box-shadow: 0 0 0 4px var(--cmap-orange-soft);
}
.cmap-search svg {
position: absolute; left: 12px; top: 50%;
transform: translateY(-50%);
width: 18px; height: 18px;
color: var(--cmap-ink-mute);
pointer-events: none;
}
.cmap-btn {
display: inline-flex; align-items: center; gap: 8px;
height: 40px; padding: 0 16px;
border-radius: var(--cmap-r-btn);
font-family: inherit; font-size: 13px; font-weight: 500;
letter-spacing: 0.01em;
cursor: pointer;
border: 1px solid transparent;
transition: transform .22s var(--cmap-ease), border-color .22s var(--cmap-ease),
background .22s var(--cmap-ease), color .22s var(--cmap-ease),
box-shadow .22s var(--cmap-ease);
white-space: nowrap;
}
.cmap-btn:active { transform: scale(0.98); }
.cmap-btn-ghost {
background: transparent;
border-color: var(--cmap-border-strong);
color: var(--cmap-ink-soft);
}
.cmap-btn-ghost:hover {
border-color: var(--cmap-orange);
color: var(--cmap-ink);
transform: translateY(-1px);
}
.cmap-btn-ghost svg { width: 14px; height: 14px; } .cmap-layout {
flex: 1;
display: grid;
grid-template-columns: minmax(260px, 30%) 1fr;
grid-template-rows: 1fr;
align-items: stretch;
gap: 16px;
padding: 16px;
overflow: hidden;
background: var(--cmap-surface-2);
min-height: 0;
}
.cmap-layout.cmap-no-sidebar { grid-template-columns: 1fr; } .cmap-sidebar {
background: var(--cmap-bg);
border: 1px solid var(--cmap-border);
border-radius: var(--cmap-r-card);
display: flex; flex-direction: column;
overflow: hidden;
box-shadow: 0 1px 2px rgba(22, 21, 31, 0.04);
height: 100%;
min-height: 0;
}
.cmap-sidebar-head {
padding: 18px 18px 14px;
border-bottom: 1px solid var(--cmap-border);
}
.cmap-sidebar-title {
display: flex; align-items: baseline; gap: 8px;
margin-bottom: 6px;
}
.cmap-sidebar-title h2 {
font-size: 22px;
font-weight: 600;
letter-spacing: -0.015em;
margin: 0;
color: var(--cmap-ink);
line-height: 1;
}
.cmap-sidebar-title em {
font-family: 'Cormorant Garamond', Georgia, serif;
font-style: italic;
font-weight: 600;
color: var(--cmap-orange);
font-size: 26px;
letter-spacing: -0.015em;
line-height: 1;
}
.cmap-sidebar-meta {
font-size: 12.5px;
color: var(--cmap-ink-mute);
margin: 0;
line-height: 1.5;
}
.cmap-sidebar-meta strong {
color: var(--cmap-ink);
font-weight: 600;
}
.cmap-tabs {
display: flex; gap: 4px;
margin-top: 14px;
background: var(--cmap-surface);
padding: 4px;
border-radius: var(--cmap-r-pill);
border: 1px solid var(--cmap-border);
}
.cmap-tab {
flex: 1;
padding: 7px 10px;
border-radius: 7px;
font-size: 12.5px; font-weight: 500;
color: var(--cmap-ink-mute);
text-align: center;
cursor: pointer;
border: none;
background: transparent;
font-family: inherit;
transition: background .22s var(--cmap-ease), color .22s var(--cmap-ease), box-shadow .22s var(--cmap-ease);
}
.cmap-tab:hover { color: var(--cmap-ink); }
.cmap-tab.active {
background: #fff;
color: var(--cmap-ink);
box-shadow: 0 1px 2px rgba(22, 21, 31, 0.06);
font-weight: 600;
}
.cmap-list {
flex: 1;
overflow-y: auto;
padding: 8px;
min-height: 0;
}
.cmap-list::-webkit-scrollbar { width: 8px; }
.cmap-list::-webkit-scrollbar-track { background: transparent; }
.cmap-list::-webkit-scrollbar-thumb {
background: var(--cmap-border-strong);
border-radius: 4px;
}
.cmap-card {
display: grid;
grid-template-columns: 44px 1fr auto;
gap: 12px;
align-items: center;
padding: 10px;
border-radius: var(--cmap-r-btn);
cursor: pointer;
border: 1px solid transparent;
transition: background .22s var(--cmap-ease), border-color .22s var(--cmap-ease), transform .22s var(--cmap-ease);
}
.cmap-card:hover {
background: var(--cmap-surface);
transform: translateX(2px);
}
.cmap-card.active {
background: var(--cmap-orange-soft);
border-color: rgba(232, 98, 26, 0.22);
}
.cmap-avatar {
width: 44px; height: 44px;
border-radius: 50%;
overflow: hidden;
background: var(--cmap-grad-orange);
color: #fff;
display: grid; place-items: center;
font-weight: 600; font-size: 14px;
letter-spacing: 0.02em;
flex-shrink: 0;
box-shadow: 0 4px 10px -3px rgba(232, 98, 26, 0.4);
}
.cmap-avatar img { width: 100%; height: 100%; object-fit: cover; }
.cmap-card-info h3 {
font-size: 13.5px;
font-weight: 600;
color: var(--cmap-ink);
margin: 0 0 2px;
letter-spacing: -0.01em;
}
.cmap-card-info p {
font-size: 11.5px;
color: var(--cmap-ink-mute);
margin: 0;
display: flex; align-items: center; gap: 4px;
}
.cmap-card-info p svg { width: 11px; height: 11px; }
.cmap-badge {
width: 8px; height: 8px;
border-radius: 50%;
background: var(--cmap-success);
box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.18);
} .cmap-map-wrap {
position: relative;
border-radius: var(--cmap-r-card);
overflow: hidden;
border: 1px solid var(--cmap-border);
box-shadow: 0 1px 2px rgba(22, 21, 31, 0.04);
min-height: 0;
height: 100%;
}
#cmap-map {
width: 100%; height: 100%;
background: var(--cmap-surface-2);
}
.cmap-stats {
position: absolute;
top: 16px; left: 16px;
z-index: 500;
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border-radius: var(--cmap-r-card);
padding: 12px 16px;
box-shadow: 0 8px 24px -8px rgba(22, 21, 31, 0.18);
border: 1px solid var(--cmap-border);
display: flex; gap: 18px;
transition: opacity .28s var(--cmap-ease), transform .28s var(--cmap-ease);
}
.cmap-stats.is-hidden,
.cmap-legend.is-hidden {
opacity: 0 !important;
pointer-events: none;
}
.cmap-stats.is-hidden { transform: translateY(-6px) !important; }
.cmap-legend.is-hidden { transform: translateY(6px) !important; }
.cmap-stat { display: flex; flex-direction: column; }
.cmap-stat-val {
font-size: 20px;
font-weight: 700;
color: var(--cmap-ink);
letter-spacing: -0.02em;
line-height: 1;
}
.cmap-stat-lbl {
font-size: 10px;
text-transform: uppercase;
letter-spacing: 0.16em;
color: var(--cmap-ink-mute);
font-weight: 500;
margin-top: 5px;
}
.cmap-stat + .cmap-stat {
padding-left: 18px;
border-left: 1px solid var(--cmap-border);
}
.cmap-legend {
position: absolute;
bottom: 16px; left: 16px;
z-index: 500;
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border-radius: var(--cmap-r-pill);
padding: 8px 12px;
box-shadow: 0 1px 2px rgba(22, 21, 31, 0.06);
border: 1px solid var(--cmap-border);
display: flex; align-items: center; gap: 10px;
font-size: 11.5px;
color: var(--cmap-ink-soft);
font-weight: 500;
transition: opacity .28s var(--cmap-ease), transform .28s var(--cmap-ease);
}
.cmap-legend-pin {
width: 10px; height: 10px;
background: var(--cmap-orange);
border-radius: 50% 50% 50% 0;
transform: rotate(-45deg);
box-shadow: 0 2px 5px rgba(232, 98, 26, 0.45);
} .cmap-marker {
width: 30px; height: 30px;
background: #fff;
border-radius: 50% 50% 50% 0;
transform: rotate(-45deg);
border: 2px solid var(--cmap-orange);
box-shadow: 0 4px 10px -2px rgba(22, 21, 31, 0.22);
display: grid; place-items: center;
cursor: pointer;
transition: transform .25s var(--cmap-ease), border-color .25s var(--cmap-ease), box-shadow .25s var(--cmap-ease);
}
.cmap-marker:hover {
transform: rotate(-45deg) scale(1.15);
border-color: var(--cmap-orange-deep);
box-shadow: 0 8px 18px -4px rgba(232, 98, 26, 0.4);
}
.cmap-marker-inner {
transform: rotate(45deg);
width: 22px; height: 22px;
border-radius: 50%;
background: var(--cmap-grad-orange);
color: #fff;
display: grid; place-items: center;
font-weight: 600; font-size: 10px;
letter-spacing: 0.02em;
overflow: hidden;
}
.cmap-marker-inner img { width: 100%; height: 100%; object-fit: cover; } .cmap-marker-group-wrap {
position: relative;
width: 30px; height: 30px;
}
.cmap-marker-pile { background: var(--cmap-grad-orange); }
.cmap-marker-pile svg { width: 14px; height: 14px; color: #fff; }
.cmap-marker-count {
position: absolute;
top: -6px; right: -7px;
min-width: 18px; height: 18px;
padding: 0 5px;
background: var(--cmap-orange-deep);
color: #fff;
border-radius: 100px;
font-size: 10px; font-weight: 700;
border: 1.5px solid #fff;
display: grid; place-items: center;
box-shadow: 0 2px 6px -1px rgba(22, 21, 31, 0.32);
z-index: 2;
letter-spacing: 0.02em;
font-family: 'DM Sans', system-ui, sans-serif;
pointer-events: none;
} .club-map-app .leaflet-popup-content-wrapper {
border-radius: var(--cmap-r-card);
padding: 0;
box-shadow: 0 24px 60px -12px rgba(22, 21, 31, 0.22);
border: 1px solid var(--cmap-border);
overflow: hidden;
}
.club-map-app .leaflet-popup-content {
margin: 0;
width: 280px !important;
font-family: 'DM Sans', system-ui, sans-serif;
}
.club-map-app .leaflet-popup-tip { box-shadow: 0 24px 60px -12px rgba(22, 21, 31, 0.22); }
.cmap-popup-header {
background: var(--cmap-grad-orange);
padding: 18px;
color: #fff;
position: relative;
overflow: hidden;
}
.cmap-popup-header::after {
content: '';
position: absolute; inset: 0;
background: radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.22), transparent 55%);
pointer-events: none;
}
.cmap-popup-avatar {
width: 60px; height: 60px;
border-radius: 50%;
border: 3px solid rgba(255, 255, 255, 0.92);
overflow: hidden;
background: rgba(255, 255, 255, 0.18);
display: grid; place-items: center;
font-weight: 700; font-size: 20px;
color: #fff;
margin-bottom: 12px;
position: relative; z-index: 2;
box-shadow: 0 6px 14px -4px rgba(0, 0, 0, 0.22);
}
.cmap-popup-avatar img { width: 100%; height: 100%; object-fit: cover; }
.cmap-popup-name {
font-size: 18px;
font-weight: 600;
letter-spacing: -0.015em;
position: relative; z-index: 2;
font-family: 'Cormorant Garamond', Georgia, serif;
font-style: italic;
}
.cmap-popup-city {
font-size: 13px;
opacity: 0.85;
margin-top: 2px;
position: relative; z-index: 2;
font-weight: 500;
}
.cmap-popup-body { padding: 14px 18px; background: #fff; }
.cmap-popup-row {
display: flex; align-items: center; gap: 10px;
padding: 9px 0;
color: var(--cmap-ink-soft);
font-size: 13px;
text-decoration: none;
transition: color .22s var(--cmap-ease);
}
.cmap-popup-row + .cmap-popup-row {
border-top: 1px solid var(--cmap-border);
}
.cmap-popup-row svg {
width: 15px; height: 15px;
color: var(--cmap-orange);
flex-shrink: 0;
}
a.cmap-popup-row:hover { color: var(--cmap-orange-deep); }
.club-map-app .leaflet-popup-close-button {
width: 28px; height: 28px;
font-size: 22px;
color: #fff !important;
opacity: 0.85;
top: 8px !important; right: 8px !important;
transition: opacity .22s var(--cmap-ease);
}
.club-map-app .leaflet-popup-close-button:hover { opacity: 1; } .club-map-app .leaflet-popup.cmap-popup-group .leaflet-popup-content {
width: 320px !important;
}
.cmap-pg-header {
background: var(--cmap-grad-orange);
padding: 16px 20px;
color: #fff;
position: relative;
overflow: hidden;
}
.cmap-pg-header::after {
content: '';
position: absolute; inset: 0;
background: radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.20), transparent 55%);
pointer-events: none;
}
.cmap-pg-count {
font-family: 'Cormorant Garamond', Georgia, serif;
font-style: italic;
font-size: 22px;
font-weight: 600;
letter-spacing: -0.015em;
line-height: 1;
position: relative; z-index: 2;
}
.cmap-pg-city {
font-size: 12.5px;
color: rgba(255, 255, 255, 0.88);
margin-top: 4px;
letter-spacing: 0.02em;
font-weight: 500;
position: relative; z-index: 2;
}
.cmap-pg-list {
background: #fff;
max-height: 320px;
overflow-y: auto;
}
.cmap-pg-list::-webkit-scrollbar { width: 6px; }
.cmap-pg-list::-webkit-scrollbar-thumb { background: var(--cmap-border-strong); border-radius: 4px; }
.cmap-pg-item {
display: grid;
grid-template-columns: 36px 1fr;
gap: 12px;
align-items: center;
padding: 12px 18px;
border-bottom: 1px solid var(--cmap-border);
}
.cmap-pg-item:last-child { border-bottom: none; }
.cmap-pg-avatar {
width: 36px; height: 36px;
border-radius: 50%;
background: var(--cmap-grad-orange);
color: #fff;
display: grid; place-items: center;
font-weight: 600; font-size: 12px;
overflow: hidden;
flex-shrink: 0;
box-shadow: 0 3px 8px -2px rgba(232, 98, 26, 0.35);
}
.cmap-pg-avatar img { width: 100%; height: 100%; object-fit: cover; }
.cmap-pg-info { min-width: 0; }
.cmap-pg-name {
font-size: 13.5px; font-weight: 600;
color: var(--cmap-ink);
letter-spacing: -0.01em;
margin-bottom: 2px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.cmap-pg-line {
display: block;
font-size: 11.5px;
color: var(--cmap-ink-soft);
text-decoration: none;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
transition: color .22s var(--cmap-ease);
}
a.cmap-pg-line:hover { color: var(--cmap-orange-deep); } .cmap-public-blur {
filter: blur(3px) saturate(0.85);
letter-spacing: 0.18em;
}
.cmap-popup-body .cmap-public-msg {
margin: 0 0 12px;
font-size: 13px;
color: var(--cmap-ink-soft);
line-height: 1.5;
}
.cmap-popup-cta,
.cmap-popup-cta-group {
display: inline-flex; align-items: center; justify-content: center;
gap: 8px;
width: 100%;
padding: 12px 16px;
border-radius: var(--cmap-r-btn);
background: var(--cmap-grad-orange);
color: #fff !important;
font-size: 13px; font-weight: 600;
letter-spacing: 0.04em;
text-decoration: none;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 6px 16px -6px rgba(232, 98, 26, 0.5);
transition: transform .2s var(--cmap-ease), box-shadow .2s var(--cmap-ease);
}
.cmap-popup-cta:hover,
.cmap-popup-cta-group:hover {
transform: translateY(-1px);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.32), 0 10px 22px -6px rgba(232, 98, 26, 0.6);
}
.cmap-popup-cta svg,
.cmap-popup-cta-group svg { width: 14px; height: 14px; flex-shrink: 0; }
.cmap-popup-cta-group {
margin: 12px 18px 14px;
width: calc(100% - 36px);
}
.cmap-card.is-public .cmap-card-info h3 {
letter-spacing: 0.06em;
}
.cmap-card.is-public .cmap-badge { display: none; } .cmap-public-banner {
position: absolute;
bottom: 16px; right: 16px;
z-index: 600;
display: flex; align-items: center; gap: 14px;
padding: 10px 14px 10px 16px;
border-radius: 100px;
background: rgba(22, 21, 31, 0.92);
-webkit-backdrop-filter: blur(8px);
backdrop-filter: blur(8px);
border: 1px solid rgba(245, 169, 106, 0.35);
color: #fff;
font-size: 12.5px;
letter-spacing: 0.02em;
box-shadow: 0 12px 28px -10px rgba(0, 0, 0, 0.45);
max-width: calc(100% - 32px);
}
.cmap-public-banner strong { color: var(--cmap-orange-glow); font-weight: 600; }
.cmap-public-banner a {
display: inline-flex; align-items: center; gap: 6px;
padding: 6px 12px;
border-radius: 100px;
background: var(--cmap-grad-orange);
color: #fff !important;
font-size: 12px; font-weight: 600;
letter-spacing: 0.04em;
text-decoration: none;
white-space: nowrap;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 4px 10px -3px rgba(232, 98, 26, 0.45);
transition: transform .2s var(--cmap-ease);
}
.cmap-public-banner a:hover { transform: translateY(-1px); }
.cmap-public-banner a svg { width: 12px; height: 12px; }
@media (max-width: 920px) {
.cmap-public-banner {
top: auto; bottom: 12px; right: 12px; left: 12px;
flex-direction: column; align-items: stretch; text-align: center;
border-radius: var(--cmap-r-card);
}
.cmap-public-banner a { justify-content: center; }
} .cmap-locked {
display: grid; place-items: center;
height: 100%;
background: var(--cmap-surface);
padding: 32px;
}
.cmap-locked-inner {
text-align: center;
max-width: 420px;
}
.cmap-locked-inner h3 {
font-family: 'Cormorant Garamond', Georgia, serif;
font-style: italic;
font-weight: 600;
font-size: 28px;
color: var(--cmap-ink);
margin: 0 0 12px;
}
.cmap-locked-inner p {
font-size: 14.5px;
color: var(--cmap-ink-soft);
line-height: 1.55;
margin: 0 0 22px;
}
.cmap-locked-cta {
display: inline-flex; align-items: center; gap: 8px;
padding: 13px 24px;
border-radius: var(--cmap-r-btn);
background: var(--cmap-grad-orange);
color: #fff !important;
font-size: 14px; font-weight: 600;
letter-spacing: 0.04em;
text-decoration: none;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 8px 22px -8px rgba(232, 98, 26, 0.5);
transition: transform .2s var(--cmap-ease);
}
.cmap-locked-cta:hover { transform: translateY(-2px); } .club-map-app .leaflet-control-zoom a {
background: rgba(255, 255, 255, 0.95);
color: var(--cmap-ink);
border: 1px solid var(--cmap-border);
font-weight: 500;
transition: background .22s var(--cmap-ease), color .22s var(--cmap-ease);
}
.club-map-app .leaflet-control-zoom a:hover {
background: #fff;
color: var(--cmap-orange);
} .cmap-empty {
padding: 24px 18px;
text-align: center;
color: var(--cmap-ink-mute);
font-size: 13px;
} @media (max-width: 920px) {
.club-map-app { height: auto; }
.cmap-layout {
grid-template-columns: 1fr;
padding: 12px;
gap: 12px;
}
.cmap-sidebar {
max-height: 42vh;
order: 2;
}
.cmap-map-wrap {
height: 60vh;
order: 1;
}
.cmap-search { display: none; }
.cmap-stats { padding: 10px 12px; gap: 12px; }
.cmap-stat-val { font-size: 16px; }
.cmap-stat-lbl { font-size: 9px; letter-spacing: 0.12em; }
.cmap-stat + .cmap-stat { padding-left: 12px; }
.cmap-legend { font-size: 10.5px; padding: 6px 10px; }
}
@media (max-width: 480px) {
.cmap-topbar { padding: 12px 14px; gap: 10px; }
.cmap-brand { font-size: 15px; }
.cmap-brand-mark { width: 28px; height: 28px; }
.cmap-brand-mark svg { width: 16px; height: 16px; }
.cmap-btn-ghost { padding: 0 12px; font-size: 12px; }
} .club-map-app { height: var(--cmap-height, 700px) !important; max-height: var(--cmap-height, 700px) !important; }
.cmap-layout { height: calc(var(--cmap-height, 700px) - 69px) !important; max-height: calc(var(--cmap-height, 700px) - 69px) !important; }
.cmap-sidebar { height: 100% !important; max-height: 100% !important; min-height: 0 !important; overflow: hidden !important; }
.cmap-sidebar-head { flex-shrink: 0 !important; }
.cmap-list { flex: 1 1 auto !important; overflow-y: auto !important; min-height: 0 !important; max-height: 100% !important; -webkit-overflow-scrolling: touch; }
.cmap-map-wrap { height: 100% !important; max-height: 100% !important; min-height: 0 !important; }
#cmap-map { height: 100% !important; } .cmap-list { scrollbar-width: thin; scrollbar-color: rgba(232, 98, 26, 0.35) transparent; }
.cmap-list::-webkit-scrollbar { width: 6px; }
.cmap-list::-webkit-scrollbar-track { background: transparent; margin: 8px 0; }
.cmap-list::-webkit-scrollbar-thumb { background: rgba(232, 98, 26, 0.35); border-radius: 100px; transition: background 0.2s var(--cmap-ease); }
.cmap-list:hover::-webkit-scrollbar-thumb { background: rgba(232, 98, 26, 0.6); }
.cmap-list::-webkit-scrollbar-thumb:hover { background: var(--cmap-orange); } .cmap-radius-row { margin-top: 14px; display: flex; flex-direction: column; gap: 6px; }
.cmap-radius-lbl { font-size: 11px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: var(--cmap-ink-mute); }
.cmap-radius-select { width: 100%; height: 38px; padding: 0 32px 0 14px; border-radius: var(--cmap-r-btn); border: 1px solid var(--cmap-border); background: var(--cmap-surface); color: var(--cmap-ink); font-family: inherit; font-size: 13.5px; font-weight: 500; cursor: pointer; appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23E8621A' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>"); background-repeat: no-repeat; background-position: right 12px center; transition: border-color .22s var(--cmap-ease), background-color .22s var(--cmap-ease), box-shadow .22s var(--cmap-ease); }
.cmap-radius-select:hover { border-color: var(--cmap-orange); background-color: #fff; }
.cmap-radius-select:focus { outline: none; border-color: var(--cmap-orange); box-shadow: 0 0 0 4px var(--cmap-orange-soft); background-color: #fff; } body:has(.club-map-app) {
background: #FFFFFF !important;
}
body:has(.club-map-app) .kt-content-wrap,
body:has(.club-map-app) .entry-content,
body:has(.club-map-app) .site-content,
body:has(.club-map-app) main,
body:has(.club-map-app) article {
background: transparent !important;
} .club-map-app { background: #FFFFFF !important; padding-block: 24px; } .cmap-profile { font-family: 'DM Sans', system-ui, sans-serif; max-width: 760px; margin: 24px auto; padding: 36px; background: #EFEAE0; border: 1px solid #D9D5CC; border-radius: 24px; color: var(--cmap-ink); box-shadow: 0 8px 32px -12px rgba(22,21,31,0.12); }
.cmap-profile-title { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(28px, 4vw, 38px); font-weight: 600; margin: 0 0 8px; line-height: 1.1; color: var(--cmap-ink); }
.cmap-profile-title em { font-style: italic; color: var(--cmap-orange); }
.cmap-profile-intro { font-size: 14.5px; color: var(--cmap-ink-soft); margin: 0 0 28px; line-height: 1.55; }
.cmap-profile-section { font-size: 11px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cmap-orange-deep); margin: 32px 0 14px; padding-bottom: 10px; border-bottom: 2px solid var(--cmap-orange); }
.cmap-profile-section span { font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--cmap-ink-mute); font-size: 12px; margin-left: 6px; }
.cmap-profile-photo-row { display: flex; gap: 18px; align-items: center; padding: 18px; background: #fff; border: 1.5px solid #E5E1D6; border-radius: 14px; margin-bottom: 24px; box-shadow: 0 4px 16px -6px rgba(22,21,31,0.1); }
.cmap-profile-photo { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; border: 3px solid #fff; box-shadow: 0 4px 12px -2px rgba(232,98,26,0.35); flex-shrink: 0; }
.cmap-profile-photo-initials { display: grid; place-items: center; background: var(--cmap-grad-orange); color: #fff; font-weight: 600; font-size: 28px; letter-spacing: 0.04em; }
.cmap-profile-photo-hint { font-size: 13px; color: var(--cmap-ink-soft); margin: 0; line-height: 1.5; }
.cmap-profile-photo-hint a { color: var(--cmap-orange); text-decoration: underline; font-weight: 500; }
.cmap-profile-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.cmap-profile-row { display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: center; padding: 16px 20px; background: #fff; border: 1.5px solid #E5E1D6; border-radius: 14px; margin-bottom: 10px; box-shadow: 0 2px 8px -4px rgba(22,21,31,0.08); transition: border-color .2s, box-shadow .2s, transform .15s; }
.cmap-profile-row:hover { border-color: var(--cmap-orange); box-shadow: 0 6px 18px -6px rgba(232,98,26,0.25); transform: translateY(-1px); }
.cmap-profile-field { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.cmap-profile-grid .cmap-profile-field { padding: 16px 20px; background: #fff; border: 1.5px solid #E5E1D6; border-radius: 14px; box-shadow: 0 2px 8px -4px rgba(22,21,31,0.08); transition: border-color .2s, box-shadow .2s; }
.cmap-profile-grid .cmap-profile-field:hover { border-color: var(--cmap-orange); box-shadow: 0 6px 18px -6px rgba(232,98,26,0.25); }
.cmap-profile-field label { font-size: 11.5px; font-weight: 700; color: var(--cmap-ink-mute); letter-spacing: 0.08em; text-transform: uppercase; }
.cmap-profile-field input, .cmap-profile-field textarea { width: 100%; padding: 6px 0 0; border: none; border-bottom: 1.5px solid transparent; font: 15px 'DM Sans', sans-serif; color: var(--cmap-ink); background: transparent; transition: border-color .2s; resize: vertical; }
.cmap-profile-field input:focus, .cmap-profile-field textarea:focus { outline: none; border-bottom-color: var(--cmap-orange); }
.cmap-profile-field input:disabled { color: var(--cmap-ink-soft); cursor: not-allowed; }
.cmap-profile-field input::placeholder, .cmap-profile-field textarea::placeholder { color: rgba(22,21,31,0.3); }
.cmap-profile-hint { font-size: 12px; color: var(--cmap-ink-mute); margin: 4px 0 0; }
.cmap-profile-global { background: var(--cmap-grad-orange) !important; border: none !important; box-shadow: 0 8px 24px -8px rgba(232,98,26,0.4) !important; margin-top: 24px; padding: 20px 24px !important; }
.cmap-profile-global label { color: rgba(255,255,255,0.85) !important; font-weight: 700; }
.cmap-profile-global .cmap-profile-hint { color: rgba(255,255,255,0.85); font-size: 12.5px; }
.cmap-profile-global .cmap-toggle::before { color: rgba(255,255,255,0.85); }
.cmap-profile-global .cmap-toggle:has(input:checked)::before { color: #fff; }
.cmap-profile-global .cmap-toggle-track { background: rgba(255,255,255,0.25) !important; }
.cmap-profile-global .cmap-toggle input:checked + .cmap-toggle-track { background: #fff !important; }
.cmap-profile-global .cmap-toggle input:checked + .cmap-toggle-track::after { background: var(--cmap-orange-deep); } .cmap-toggle { position: relative; display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; cursor: pointer; user-select: none; }
.cmap-toggle::before { content: 'Prive'; font-size: 11px; font-weight: 700; color: var(--cmap-ink-mute); letter-spacing: 0.06em; text-transform: uppercase; min-width: 50px; text-align: right; transition: color .25s var(--cmap-ease); }
.cmap-toggle:has(input:checked)::before { content: 'Visible'; color: var(--cmap-orange-deep); }
.cmap-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.cmap-toggle-track { display: block; width: 44px; height: 24px; background: #c7cad1; border-radius: 100px; cursor: pointer; transition: background .25s var(--cmap-ease); position: relative; box-shadow: inset 0 1px 2px rgba(0,0,0,0.12); }
.cmap-toggle-track::after { content: ''; position: absolute; top: 2px; left: 2px; width: 20px; height: 20px; background: #fff; border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,0.2); transition: transform .25s var(--cmap-ease); }
.cmap-toggle input:checked + .cmap-toggle-track { background: var(--cmap-grad-orange); box-shadow: inset 0 1px 2px rgba(232,98,26,0.3); }
.cmap-toggle input:checked + .cmap-toggle-track::after { transform: translateX(20px); box-shadow: 0 2px 6px rgba(232,98,26,0.4); }
.cmap-profile-save { display: inline-flex; align-items: center; gap: 10px; margin-top: 32px; padding: 18px 36px; background: var(--cmap-grad-orange); color: #fff !important; border: none; border-radius: 100px; font: 700 16px 'DM Sans', sans-serif; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,0.3), 0 12px 28px -8px rgba(232,98,26,0.55); transition: transform .2s, box-shadow .2s; width: 100%; justify-content: center; }
.cmap-profile-save:hover { transform: translateY(-2px); box-shadow: inset 0 1px 0 rgba(255,255,255,0.4), 0 16px 36px -8px rgba(232,98,26,0.7); }
.cmap-profile-save:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }
.cmap-profile-status { font-size: 14px; margin-top: 18px; min-height: 20px; text-align: center; font-weight: 500; }
.cmap-profile-status.is-ok { color: var(--cmap-success); }
.cmap-profile-status.is-err { color: var(--cmap-danger); }
.cmap-profile-locked, .cmap-profile-info { max-width: 600px; margin: 40px auto; padding: 28px; background: #EFEAE0; border: 1.5px solid #D9D5CC; border-radius: 16px; text-align: center; color: var(--cmap-ink-soft); font-family: 'DM Sans', sans-serif; line-height: 1.55; }
@media (prefers-color-scheme: dark) {
.cmap-profile { background: #1a1924; border-color: #2C2C40; color: #F0EDE8; box-shadow: 0 8px 32px -12px rgba(0,0,0,0.6); }
.cmap-profile-title { color: #F0EDE8; }
.cmap-profile-intro, .cmap-profile-hint { color: rgba(240,237,232,0.65); }
.cmap-profile-photo-row, .cmap-profile-row, .cmap-profile-grid .cmap-profile-field { background: #2C2C40; border-color: rgba(255,255,255,0.1); box-shadow: 0 2px 8px -4px rgba(0,0,0,0.4); }
.cmap-profile-row:hover, .cmap-profile-grid .cmap-profile-field:hover { border-color: var(--cmap-orange); }
.cmap-profile-field label { color: rgba(240,237,232,0.55); }
.cmap-profile-field input, .cmap-profile-field textarea { color: #F0EDE8; }
.cmap-profile-field input::placeholder, .cmap-profile-field textarea::placeholder { color: rgba(240,237,232,0.3); }
.cmap-toggle-track { background: #4a4a5a; }
.cmap-toggle::before { color: rgba(240,237,232,0.55); }
.cmap-profile-locked, .cmap-profile-info { background: #1a1924; border-color: rgba(255,255,255,0.1); color: rgba(240,237,232,0.7); }
}
body.is-dark-mode .cmap-profile, body.full-dark .cmap-profile, body[data-theme='dark'] .cmap-profile, body.dark-mode .cmap-profile, body.kadence-dark-mode .cmap-profile { background: #1a1924 !important; border-color: #2C2C40 !important; color: #F0EDE8 !important; }
body.is-dark-mode .cmap-profile-title, body.full-dark .cmap-profile-title, body[data-theme='dark'] .cmap-profile-title, body.dark-mode .cmap-profile-title, body.kadence-dark-mode .cmap-profile-title { color: #F0EDE8 !important; }
body.is-dark-mode .cmap-profile-intro, body.full-dark .cmap-profile-intro, body[data-theme='dark'] .cmap-profile-intro, body.dark-mode .cmap-profile-intro, body.kadence-dark-mode .cmap-profile-intro { color: rgba(240,237,232,0.65) !important; }
body.is-dark-mode .cmap-profile-photo-row, body.full-dark .cmap-profile-photo-row, body[data-theme='dark'] .cmap-profile-photo-row, body.dark-mode .cmap-profile-photo-row, body.kadence-dark-mode .cmap-profile-photo-row, body.is-dark-mode .cmap-profile-row, body.full-dark .cmap-profile-row, body[data-theme='dark'] .cmap-profile-row, body.dark-mode .cmap-profile-row, body.kadence-dark-mode .cmap-profile-row, body.is-dark-mode .cmap-profile-grid .cmap-profile-field, body.full-dark .cmap-profile-grid .cmap-profile-field, body[data-theme='dark'] .cmap-profile-grid .cmap-profile-field, body.dark-mode .cmap-profile-grid .cmap-profile-field, body.kadence-dark-mode .cmap-profile-grid .cmap-profile-field { background: #2C2C40 !important; border-color: rgba(255,255,255,0.1) !important; }
body.is-dark-mode .cmap-profile-field input, body.full-dark .cmap-profile-field input, body[data-theme='dark'] .cmap-profile-field input, body.dark-mode .cmap-profile-field input, body.kadence-dark-mode .cmap-profile-field input, body.is-dark-mode .cmap-profile-field textarea, body.full-dark .cmap-profile-field textarea, body[data-theme='dark'] .cmap-profile-field textarea, body.dark-mode .cmap-profile-field textarea, body.kadence-dark-mode .cmap-profile-field textarea { color: #F0EDE8 !important; }
@media (max-width: 600px) { .cmap-profile { padding: 24px; margin: 16px; } .cmap-profile-grid { grid-template-columns: 1fr; } .cmap-profile-row { grid-template-columns: 1fr; gap: 12px; } .cmap-toggle { justify-content: flex-end; } } .cmap-pg-pro { font-size: 11.5px; font-style: italic; color: var(--cmap-orange-deep); font-weight: 600; margin: 2px 0 4px; }
.cmap-pg-line svg { color: var(--cmap-orange); flex-shrink: 0; vertical-align: middle; margin-right: 4px; }
.cmap-pg-social { display: flex; gap: 6px; margin-top: 6px; }
.cmap-pg-icon { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 6px; background: var(--cmap-surface); color: var(--cmap-orange-deep); transition: background .2s, color .2s, transform .2s; }
.cmap-pg-icon:hover { background: var(--cmap-orange-soft); color: var(--cmap-orange); transform: translateY(-1px); }
.cmap-pg-private { font-size: 11.5px; color: var(--cmap-ink-mute); font-style: italic; margin-top: 4px; }
.cmap-pg-city { color: var(--cmap-ink-soft); font-size: 11.5px; margin-top: 4px; }
.cmap-pg-city svg { color: var(--cmap-orange); margin-right: 4px; vertical-align: middle; }
.cmap-popup-private { padding: 12px 0; color: var(--cmap-ink-mute); font-style: italic; font-size: 13px; text-align: center; border-bottom: 1px solid var(--cmap-border); }
.cmap-popup-edit { display: inline-flex; align-items: center; gap: 6px; padding: 10px 14px; margin-top: 12px; background: var(--cmap-grad-orange); color: #fff !important; font-size: 12.5px; font-weight: 600; letter-spacing: 0.04em; text-decoration: none; border-radius: 100px; box-shadow: inset 0 1px 0 rgba(255,255,255,0.25), 0 4px 10px -3px rgba(232,98,26,0.45); transition: transform .2s; }
.cmap-popup-edit:hover { transform: translateY(-1px); }
.cmap-popup-edit svg { flex-shrink: 0; }
.cmap-pg-edit { display: inline-flex; align-items: center; gap: 5px; padding: 5px 10px; margin-top: 6px; background: var(--cmap-orange-soft); color: var(--cmap-orange-deep) !important; font-size: 11.5px; font-weight: 600; text-decoration: none; border-radius: 100px; transition: background .2s, color .2s; }
.cmap-pg-edit:hover { background: var(--cmap-grad-orange); color: #fff !important; }
.cmap-stat-line { font-size: 13px; color: var(--cmap-ink-soft); margin: 0; padding: 4px 6px; line-height: 1.4; font-weight: 500; }
.cmap-stat-line strong { color: var(--cmap-orange); font-size: 18px; font-weight: 700; display: inline-block; margin-top: 2px; }
.cmap-pg-item-clickable { cursor: pointer; transition: background .2s, padding-left .2s; position: relative; }
.cmap-pg-item-clickable:hover { background: var(--cmap-orange-soft); padding-left: 22px; }
.cmap-pg-item-clickable .cmap-pg-arrow { display: flex; align-items: center; justify-content: center; color: var(--cmap-orange); opacity: 0; transition: opacity .2s, transform .2s; padding-right: 8px; }
.cmap-pg-item-clickable:hover .cmap-pg-arrow { opacity: 1; transform: translateX(2px); }
.cmap-pg-item.cmap-pg-item-clickable { display: grid; grid-template-columns: 36px 1fr auto; }
.cmap-popup-icons { display: flex; gap: 8px; padding: 14px 0; justify-content: center; flex-wrap: wrap; border-bottom: 1px solid var(--cmap-border); }
.cmap-popup-icon { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 10px; background: var(--cmap-orange-soft); color: var(--cmap-orange-deep); transition: background .2s, color .2s, transform .2s; text-decoration: none; }
.cmap-popup-icon:hover { background: var(--cmap-grad-orange); color: #fff !important; transform: translateY(-2px); }  body:has(.club-map-app) .site-content, body:has(.club-map-app) .site-main, body:has(.club-map-app) .content-area { min-height: 0 !important; }
body:has(.club-map-app) .entry-content > *:last-child, body:has(.club-map-app) main > *:last-child { margin-bottom: 0 !important; padding-bottom: 0 !important; } .cmap-profile .cmap-profile-global { background: #16151F !important; border: none !important; box-shadow: 0 8px 24px -8px rgba(22,21,31,0.4) !important; padding: 22px 26px !important; }
.cmap-profile .cmap-profile-global label { color: #FFFFFF !important; font-weight: 700 !important; font-size: 14px !important; letter-spacing: 0.04em !important; text-transform: uppercase !important; }
.cmap-profile .cmap-profile-global .cmap-profile-hint { color: rgba(255,255,255,0.65) !important; font-size: 12.5px !important; margin-top: 4px !important; }
.cmap-profile .cmap-profile-global .cmap-toggle::before { color: rgba(255,255,255,0.6) !important; }
.cmap-profile .cmap-profile-global .cmap-toggle:has(input:checked)::before { color: var(--cmap-orange-glow) !important; }
.cmap-profile .cmap-profile-global .cmap-toggle-track { background: rgba(255,255,255,0.2) !important; }
.cmap-profile .cmap-profile-global .cmap-toggle input:checked + .cmap-toggle-track { background: var(--cmap-grad-orange) !important; }
.cmap-profile .cmap-profile-save { background: linear-gradient(135deg, #F5A858 0%, #E8621A 55%, #C85114 100%) !important; background-color: #E8621A !important; color: #FFFFFF !important; border: none !important; padding: 20px 36px !important; font-size: 16px !important; font-weight: 700 !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; box-shadow: 0 12px 32px -8px rgba(232,98,26,0.5), inset 0 1px 0 rgba(255,255,255,0.3) !important; opacity: 1 !important; width: 100% !important; cursor: pointer !important; }
.cmap-profile .cmap-profile-save:hover { background: linear-gradient(135deg, #F5A858 0%, #C85114 55%, #A03A0A 100%) !important; transform: translateY(-2px) !important; box-shadow: 0 16px 40px -8px rgba(232,98,26,0.65), inset 0 1px 0 rgba(255,255,255,0.4) !important; }
.cmap-profile .cmap-profile-save:disabled { opacity: 0.6 !important; transform: none !important; cursor: not-allowed !important; }