/* Karta miejsca v2 — /miejsce i /klub (zadanie F, 6.10.2026). Tylko te strony; ładuje partial venue-v2.php. */
.vv2{
  --vv-panel:#0d1222;--vv-panel2:#121a30;--vv-line:#ffffff17;--vv-line2:#ffffff26;
  --vv-ink:#eef0f6;--vv-muted:#9aa3b5;--vv-violet:#9068f6;--vv-cta:#7b55ee;--vv-lav:#c4b2ff;
  --vv-radius:16px;
  max-width:1200px;padding-bottom:64px;color:var(--vv-ink)
}
.vv2 h2{font-family:var(--font-display,"Barlow Condensed KK",sans-serif);font-weight:600;font-size:26px;line-height:1.05;letter-spacing:0;text-transform:none;margin:0 0 12px;color:#fff}

/* okruszki */
.vv2 .vv2-crumbs{gap:6px}
.vv2 .vv2-crumbs [aria-current]{color:var(--vv-muted)}

/* nagłówek */
.vv2-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:8px 0 24px}
.vv2-id{min-width:0}
.vv2 .vv2-title{margin:0;font-size:clamp(44px,6vw,76px);line-height:.92;letter-spacing:-.01em;text-transform:none;overflow-wrap:anywhere;color:#fff}
.vv2-where{margin:10px 0 0;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:16px;color:#cfd5e2}
.vv2-city{font-weight:600;color:#fff}
.vv2-addr{position:relative;padding-left:14px}
.vv2-addr:before{content:"";position:absolute;left:0;top:50%;width:5px;height:5px;margin-top:-2px;border-radius:50%;background:var(--vv-violet)}
.vv2-verified{margin:6px 0 0;font-size:13px;color:var(--vv-muted)}
.vv2-verified a{color:var(--vv-lav)}
.vv2-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.vv2-count{display:flex;align-items:center;gap:10px;min-height:52px;padding:4px 16px 4px 4px;text-decoration:none;color:var(--vv-ink);border-radius:14px}
.vv2-count b{font-family:var(--font-display,"Barlow Condensed KK",sans-serif);font-weight:600;font-size:52px;line-height:1;color:var(--vv-lav);font-variant-numeric:tabular-nums}
.vv2-count span{max-width:9.5em;font-size:14px;line-height:1.25;color:#cfd5e2}
.vv2-count:hover span,.vv2-count:focus-visible span{color:#fff;text-decoration:underline;text-underline-offset:3px}
.vv2-route{position:relative;display:flex;flex-direction:column;align-items:stretch}
.vv2-route-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:12px;background:var(--vv-cta);color:#fff;font-weight:700;font-size:15px;text-decoration:none;white-space:nowrap;transition:background-color .15s}
.vv2-route-btn:hover{background:#6a45e0;color:#fff}
.vv2-route-change{position:absolute;top:100%;left:0;right:0;margin-top:2px;padding:4px 0;border:0;background:none;color:var(--vv-muted);font:inherit;font-size:12.5px;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.vv2-route-change:hover{color:#fff}
.vv2-route-menu{position:absolute;z-index:600;top:calc(100% + 8px);right:0;width:260px;padding:8px;border-radius:14px;background:#0b1020;border:1px solid var(--vv-line2);box-shadow:0 18px 40px #000b}
.vv2-route-hint{margin:4px 6px 8px;font-size:12.5px;line-height:1.4;color:var(--vv-muted)}
.vv2-route-opt{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 10px;border-radius:10px;color:var(--vv-ink);font-weight:600;font-size:14.5px;text-decoration:none}
.vv2-route-opt:hover,.vv2-route-opt:focus-visible{background:#9068f62e;color:#fff}
.vv2-route-opt.is-chosen{box-shadow:inset 0 0 0 1px var(--vv-violet)}
.vv2-app-dot{width:10px;height:10px;border-radius:50%;flex:0 0 10px;background:#34a853}
.vv2-app-apple .vv2-app-dot{background:#e5e7eb}
.vv2-app-waze .vv2-app-dot{background:#33ccff}
.vv2-site{display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:0 16px;border-radius:12px;border:1px solid var(--vv-line2);color:var(--vv-ink);font-weight:600;font-size:14.5px;text-decoration:none;white-space:nowrap}
.vv2-site:hover{border-color:var(--vv-violet);color:#fff}

/* siatka */
.vv2-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:"list aside";gap:28px 32px;align-items:start}
.vv2-grid.has-map{grid-template-areas:"map aside" "list aside"}
.vv2-map{grid-area:map}
.vv2-aside{grid-area:aside;display:grid;gap:16px;min-width:0}
.vv2-list{grid-area:list;min-width:0}

/* mapa */
.vv2 .vv2-map.minimap{position:relative;height:340px;border-radius:var(--vv-radius);overflow:hidden;border:1px solid var(--vv-line);background:#0b0f1a}
.vv2-lmap{position:absolute;inset:0;z-index:1;background:#0b0f1a}
.vv2-lmap .leaflet-tile{filter:invert(1) hue-rotate(180deg) brightness(.6) saturate(.3) contrast(1.05)}
.vv2-lmap .leaflet-control-attribution{background:#0b0f1acc!important;color:#9da7ba!important;font-size:11px}
.vv2-lmap .leaflet-control-attribution a{color:var(--vv-lav)!important}
.vv2-lmap .leaflet-bar a{background:#121a30;color:#eef0f6;border-bottom-color:#ffffff1f}
.vv2-lmap .leaflet-bar a:hover{background:#1b2440}
.vv2-lmap .leaflet-bar{border:1px solid #ffffff26}
.vv2-map-ph{position:absolute;inset:0;display:grid;place-items:center;background:
  linear-gradient(#ffffff08 1px,transparent 1px) 0 0/40px 40px,linear-gradient(90deg,#ffffff08 1px,transparent 1px) 0 0/40px 40px}
.vv2-map.is-on .vv2-map-ph{display:none}
.vv2-pin{display:block;width:30px;height:40px;background:var(--vv-violet);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 40'%3E%3Cpath d='M15 0C6.7 0 0 6.6 0 14.8 0 25.9 15 40 15 40s15-14.1 15-25.2C30 6.6 23.3 0 15 0zm0 20.5a5.6 5.6 0 1 1 0-11.2 5.6 5.6 0 0 1 0 11.2z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 40'%3E%3Cpath d='M15 0C6.7 0 0 6.6 0 14.8 0 25.9 15 40 15 40s15-14.1 15-25.2C30 6.6 23.3 0 15 0zm0 20.5a5.6 5.6 0 1 1 0-11.2 5.6 5.6 0 0 1 0 11.2z'/%3E%3C/svg%3E") center/contain no-repeat;filter:drop-shadow(0 4px 8px #0009)}
.vv2-pinwrap{background:none;border:0}

/* karty boczne */
.vv2-card{background:var(--vv-panel);border:1px solid var(--vv-line);border-radius:var(--vv-radius);padding:18px}
.vv2-facts{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.vv2-fact{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start;padding:9px 0;border-top:1px solid var(--vv-line)}
.vv2-fact:first-child{border-top:0;padding-top:2px}
.vv2-fact-ico{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#9068f622;color:var(--vv-lav)}
.vv2-fact-ico svg{width:19px;height:19px}
.vv2-fact-body{display:grid;gap:2px;min-width:0}
.vv2-fact-label{font-size:12.5px;font-weight:600;color:var(--vv-muted)}
.vv2-fact-text{font-size:14.5px;line-height:1.45;color:var(--vv-ink);overflow-wrap:anywhere}
.vv2-source{margin:12px 0 0;font-size:12.5px;line-height:1.5;color:var(--vv-muted)}
.vv2-source a,.vv2-link{color:var(--vv-lav)}
.vv2-empty{margin:0 0 8px;font-size:14.5px;line-height:1.5;color:#cfd5e2}
.vv2-link{display:inline-flex;align-items:center;min-height:44px;font-weight:600;font-size:14.5px;text-underline-offset:3px}
.vv2-org{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--vv-line);display:grid;gap:2px;font-size:14px;line-height:1.45;color:var(--vv-ink)}
.vv2-org span{font-size:12.5px;font-weight:600;color:var(--vv-muted)}
.vv2-practical .club-note{margin:12px 0 0;font-size:12.5px;color:var(--vv-muted)}
.vv2-practical dl.club-note{display:grid;grid-template-columns:auto 1fr;gap:4px 10px}
.vv2-practical dl.club-note dd{margin:0}

/* opinie (pusty stan i hak pod dane) */
.vv2-rate{background:var(--vv-panel2)}
.vv2-rate-top{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.vv2-rate-top.is-empty{display:grid;gap:10px}
.vv2-rate-top p{margin:0;display:grid;gap:4px}
.vv2-rate-top p strong{font-size:16px;line-height:1.35;color:#fff}
.vv2-rate-top p span{font-size:13.5px;line-height:1.45;color:var(--vv-muted)}
.vv2-rate-avg{font-family:var(--font-display,"Barlow Condensed KK",sans-serif);font-weight:600;font-size:52px;line-height:1;color:#fff}
.vv2-rate-n{font-size:13px;color:var(--vv-muted)}
.vv2-stars{display:inline-flex;gap:3px;color:#c4b2ff8c}
.vv2-stars.is-on{color:#f5c542;fill:currentColor}
.vv2-crit{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.vv2-crit li{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:40px;padding:8px 10px;border-radius:10px;background:#ffffff0a;font-size:13px;line-height:1.25;color:#cfd5e2}
.vv2-crit b{font-weight:700;color:#f5c542}
.vv2-rate[data-count="0"] .vv2-crit li{border:1px dashed #ffffff1f;background:none}

/* lista koncertów */
.vv2-list h2{display:flex;align-items:center;gap:10px}
.vv2-badge{display:inline-grid;place-items:center;min-width:34px;height:28px;padding:0 9px;border-radius:999px;background:#9068f62e;border:1px solid #9068f666;font-family:var(--font-sans,"IBM Plex Sans KK",sans-serif);font-size:14px;font-weight:700;color:var(--vv-lav);font-variant-numeric:tabular-nums}
.vv2-rows{border-top:1px solid #ffffff14}
.vv2-ev[hidden]{display:none}
.vv2-ev .kkr{border-bottom:0}
.vv2-ev{border-bottom:1px solid #ffffff14}
.vv2-day-more{margin:-6px 0 10px 148px}
.vv2-day-more summary{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:999px;background:#ffffff0d;border:1px solid var(--vv-line);font-size:13px;font-weight:600;color:var(--vv-lav);cursor:pointer;list-style:none}
.vv2-day-more summary::-webkit-details-marker{display:none}
.vv2-day-more summary:after{content:"";width:7px;height:7px;margin-left:2px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.vv2-day-more[open] summary:after{transform:translateY(1px) rotate(-135deg)}
.vv2-day-more summary:hover{border-color:var(--vv-violet);color:#fff}
.vv2-day-more ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:2px}
.vv2-day-more a{display:flex;align-items:baseline;gap:10px;min-height:40px;padding:8px 10px;border-radius:10px;color:var(--vv-ink);text-decoration:none;font-size:14px}
.vv2-day-more a:hover{background:#ffffff0a}
.vv2-day-more time{flex:0 0 auto;font-weight:700;color:var(--vv-lav);font-variant-numeric:tabular-nums}
.vv2-more{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:18px}
.vv2-more[hidden]{display:none}
.vv2-more-btn{min-height:48px;min-width:220px;padding:0 24px;border-radius:12px;border:1px solid var(--vv-violet);background:#9068f61f;color:#fff;font:inherit;font-weight:700;font-size:15px;cursor:pointer}
.vv2-more-btn:hover{background:#9068f640}
.vv2-more-btn[hidden]{display:none}
.vv2-more-status{margin:0;font-size:13px;color:var(--vv-muted);font-variant-numeric:tabular-nums}
.vv2-note{margin:12px 0 0;font-size:13.5px;color:var(--vv-muted)}
.vv2-note a{color:var(--vv-lav)}
.vv2-none h3{margin:0 0 6px;font-size:18px}
.vv2-none p{margin:0 0 4px;color:#cfd5e2}

/* niżej: profil od miejsca, zgłoszenie, archiwum */
.vv2>.club-calendar{margin-top:40px}
.vv2-archive ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.vv2-archive li{display:flex;flex-wrap:wrap;gap:4px 14px;padding:10px 0;border-top:1px solid var(--vv-line);font-size:14.5px}
.vv2-archive time{min-width:11em;color:var(--vv-muted)}
.vv2-archive a{color:var(--vv-ink)}
.vv2-archive li span{color:var(--vv-muted)}

.vv2 a:focus-visible,.vv2 button:focus-visible,.vv2 summary:focus-visible{outline:2px solid var(--vv-violet);outline-offset:2px}

/* tablet */
@media (max-width:1023px){
  .vv2-grid,.vv2-grid.has-map{grid-template-columns:minmax(0,1fr);grid-template-areas:"map" "aside" "list"}
  .vv2-grid:not(.has-map){grid-template-areas:"aside" "list"}
  .vv2-aside{grid-template-columns:1fr 1fr;align-items:start}
}
/* telefon */
@media (max-width:700px){
  .vv2-head{flex-direction:column;align-items:stretch;gap:16px;padding:4px 0 18px}
  .vv2 .vv2-title{font-size:clamp(40px,12vw,56px)}
  .vv2-where{font-size:15px}
  .vv2-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
  .vv2-actions .vv2-site{grid-column:1 / -1;justify-content:center}
  .vv2-count{padding:4px 4px 4px 0}
  .vv2-count b{font-size:44px}
  .vv2-route-menu{right:0;width:min(280px,calc(100vw - 32px))}
  .vv2-route-change{position:static;margin-top:4px}
  .vv2 .vv2-map.minimap{height:220px;margin:0}
  .vv2-aside{grid-template-columns:minmax(0,1fr)}
  .vv2-grid{gap:20px}
  .vv2-card{padding:16px}
  .vv2-day-more{margin-left:114px}
  .vv2 h2{font-size:24px}
}
@media (max-width:380px){
  .vv2-day-more{margin-left:0}
  .vv2-crit{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .vv2-route-btn,.vv2-day-more summary:after{transition:none}
}
