:root { --collectors-ink:#123e32; --collectors-green:#174f3f; --collectors-gold:#bd9846; --collectors-paper:#f3f0e6; --collectors-line:#d1d0c6; }
.collectors-museum { margin:0; color:#183d33; background:var(--collectors-paper); }
.collectors-breadcrumbs { min-height:42px; padding:0 max(30px,calc((100vw - 1540px)/2)); display:flex; align-items:center; gap:10px; border-bottom:1px solid var(--collectors-line); font-size:.7rem; letter-spacing:.07em; text-transform:uppercase; }
.collectors-breadcrumbs a { color:var(--collectors-green); text-decoration:none; }
.collectors-page { width:min(1480px,calc(100% - 56px)); margin:30px auto 60px; }
.collectors-heading { padding:0 0 22px; display:grid; grid-template-columns:minmax(220px,auto) 1fr; align-items:end; border-bottom:2px solid var(--collectors-ink); }
.collectors-heading p { grid-column:1/-1; margin:0 0 7px; color:var(--collectors-gold); font-size:.65rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.collectors-heading h1 { margin:0; color:var(--collectors-ink); font:700 2.6rem/1 Georgia,serif; }
.collectors-heading > span { justify-self:end; color:#66766f; font-size:.76rem; }
.collectors-view-switch { margin-top:18px; display:flex; justify-content:flex-end; gap:0; }
.collectors-view-switch button { min-height:38px; padding:0 16px; display:flex; align-items:center; gap:8px; color:#35564c; background:#e7e7df; border:1px solid var(--collectors-line); font-size:.68rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; }
.collectors-view-switch button + button { border-left:0; }
.collectors-view-switch button.is-active { color:#fff; background:var(--collectors-green); border-color:var(--collectors-green); }
.collectors-view-switch button > span { color:var(--collectors-gold); font-size:1rem; }
.collectors-view-switch button > b { min-width:20px; padding:2px 5px; color:var(--collectors-green); background:#fff; font-size:.58rem; }
.collectors-map-panel { margin-top:16px; background:#faf9f4; border:1px solid var(--collectors-line); }
.collectors-map-panel[hidden] { display:none; }
.collectors-map-head { min-height:82px; padding:15px 20px; display:flex; align-items:center; justify-content:space-between; gap:25px; border-bottom:1px solid var(--collectors-line); }
.collectors-map-head span { color:var(--collectors-gold); font-size:.6rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.collectors-map-head h2 { margin:4px 0 0; color:var(--collectors-ink); font:700 1.55rem Georgia,serif; }
.collectors-map-head p { margin:0; color:#66746e; font-size:.7rem; }
.collectors-map { height:min(66vh,690px); min-height:480px; background:#d9ddd2; }
.collectors-map-error { margin:0; padding:28px; color:#7c351f; background:#f2e4d8; }
.collector-marker-wrap,.collector-cluster-wrap { background:transparent; border:0; }
.collector-marker-wrap > span { position:relative; width:26px; height:26px; display:block; border:4px solid #f2e7c9; border-radius:50% 50% 50% 0; background:var(--collectors-green); box-shadow:0 4px 10px rgba(12,43,34,.35); transform:rotate(-45deg); }
.collector-marker-wrap > span::after { content:""; position:absolute; inset:10px; border-radius:50%; background:var(--collectors-gold); }
.collector-cluster-wrap > span { width:44px; height:44px; display:grid; place-items:center; color:#fff; background:var(--collectors-green); border:4px solid #e3d3a8; border-radius:50%; box-shadow:0 5px 14px rgba(12,43,34,.35); font:800 .74rem Arial,sans-serif; }
.collectors-map .leaflet-control-zoom a { color:var(--collectors-ink); }
.collectors-map .leaflet-popup-content-wrapper { border-radius:0; background:#f8f6ef; box-shadow:0 9px 28px rgba(7,32,25,.28); }
.collectors-map .leaflet-popup-tip { background:#f8f6ef; }
.collector-map-popup { min-width:255px; display:grid; grid-template-columns:70px minmax(0,1fr); gap:13px; color:var(--collectors-ink); }
.collector-map-popup-avatar { width:68px; height:82px; display:grid; place-items:center; overflow:hidden; color:#fff; background:var(--collectors-green); font:700 1.5rem Georgia,serif; }
.collector-map-popup-avatar img { width:100%; height:100%; object-fit:cover; }
.collector-map-popup > div { display:flex; flex-direction:column; }
.collector-map-popup strong { font:700 1rem Georgia,serif; }
.collector-map-popup small { margin:4px 0 8px; color:#69746f; font-size:.67rem; }
.collector-map-popup > div > span { min-height:23px; display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid #ddd9ca; }
.collector-map-popup > div > span.collector-map-popup-activity { margin-top:4px; border-top-color:var(--collectors-gold); }
.collector-map-popup i { color:#65716b; font-size:.58rem; font-style:normal; text-transform:uppercase; }
.collector-map-popup b { font-size:.62rem; }
.collector-map-popup a { margin-top:9px; color:var(--collectors-green); font-size:.66rem; font-weight:800; text-decoration:none; text-transform:uppercase; }
.collectors-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:24px; }
.collector-card { position:relative; min-width:0; min-height:190px; padding:16px 38px 16px 16px; display:grid; grid-template-columns:118px minmax(0,1fr); gap:18px; color:inherit; background:#faf9f4; border:1px solid var(--collectors-line); border-top:3px solid var(--collectors-green); text-decoration:none; transition:.18s ease; }
.collector-card:hover { transform:translateY(-3px); border-color:var(--collectors-green); box-shadow:0 10px 22px rgba(16,58,46,.12); }
.collector-card-person { display:flex; flex-direction:column; align-items:center; border-right:1px solid var(--collectors-line); padding-right:16px; }
.collector-card-avatar { width:92px; height:92px; display:grid; place-items:center; overflow:hidden; background:var(--collectors-green); color:#fff; font:700 2rem Georgia,serif; }
.collector-card-avatar img { width:100%; height:100%; object-fit:cover; }
.collector-card-flag { height:28px; margin-top:7px; font-size:1.35rem; line-height:1; }
.collector-card-person small { max-width:105px; color:#66736d; font-size:.65rem; line-height:1.2; text-align:center; }
.collector-card-details { min-width:0; display:flex; flex-direction:column; }
.collector-card-details > strong { min-height:37px; margin-bottom:8px; color:var(--collectors-ink); font:700 1.08rem/1.2 Georgia,serif; border-bottom:1px solid var(--collectors-line); }
.collector-card-details > span { min-height:31px; display:flex; align-items:center; justify-content:space-between; gap:10px; border-bottom:1px solid #e1dfd6; }
.collector-card-details > span.collector-card-activity { margin-top:7px; padding-top:4px; border-top:1px solid var(--collectors-gold); border-bottom:0; }
.collector-card-activity i { color:#8a6d2d; }
.collector-card-activity b { color:#7c5d1f; white-space:normal; text-align:right; }
.collector-card-details i { color:#64716b; font-size:.65rem; font-style:normal; text-transform:uppercase; letter-spacing:.04em; }
.collector-card-details b { color:var(--collectors-green); font-size:.69rem; white-space:nowrap; }
.collector-card > em { position:absolute; right:14px; bottom:13px; color:var(--collectors-gold); font-size:1.05rem; font-style:normal; }
.collectors-empty { padding:30px; background:#e8e7df; border-left:3px solid var(--collectors-gold); }
.collectors-login-required { min-height:180px; margin-top:24px; padding:28px 32px; display:grid; grid-template-columns:46px minmax(0,1fr) auto; gap:20px; align-items:center; background:#e6e7df; border:1px solid var(--collectors-line); border-left:4px solid var(--collectors-gold); }
.collectors-login-required > span { width:42px; height:42px; display:grid; place-items:center; color:var(--collectors-gold); border:2px solid var(--collectors-green); border-radius:50%; }
.collectors-login-required h2 { margin:0; color:var(--collectors-ink); font:700 1.45rem Georgia,serif; }
.collectors-login-required p { margin:7px 0 0; color:#5f7068; font-size:.76rem; }
.collectors-login-required a { min-height:42px; padding:0 20px; display:inline-flex; align-items:center; color:#fff; background:var(--collectors-green); font-size:.68rem; font-weight:800; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; }
@media (max-width:1100px) { .collectors-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) {
    .collectors-page { width:calc(100% - 28px); margin-top:20px; }
    .collectors-heading { display:block; }
    .collectors-heading h1 { font-size:2.1rem; }
    .collectors-heading > span { display:block; margin-top:9px; line-height:1.45; }
    .collectors-view-switch { justify-content:stretch; }
    .collectors-view-switch button { width:50%; justify-content:center; }
    .collectors-map-head { display:block; }
    .collectors-map-head p { margin-top:7px; }
    .collectors-map { height:58svh; min-height:390px; }
    .collectors-grid { grid-template-columns:1fr; }
    .collector-card { grid-template-columns:105px minmax(0,1fr); padding-left:12px; gap:14px; }
    .collector-card-person { padding-right:12px; }
    .collector-card-avatar { width:82px; height:82px; }
    .collectors-login-required { grid-template-columns:38px 1fr; padding:22px 18px; }
    .collectors-login-required > span { width:34px; height:34px; }
    .collectors-login-required a { grid-column:1/-1; justify-content:center; }
}
