/* Public pages share the reviewed homepage palette, fonts and components. */
.public-page { min-height:65vh; padding-bottom:72px; }
.public-page h1 { font-size:clamp(30px,3.6vw,48px); line-height:1.12; letter-spacing:-1.9px; overflow-wrap:anywhere; }
.public-page h2 { font-size:28px; line-height:1.2; }
.public-page h3 { font-size:19px; line-height:1.3; letter-spacing:-.5px; }
.public-page textarea { font:inherit; color:inherit; }
.breadcrumbs { display:flex; align-items:center; gap:10px; padding-top:27px; margin-bottom:32px; font-size:11px; line-height:1.6; color:var(--muted); flex-wrap:wrap; overflow-wrap:anywhere; }
.breadcrumbs a:hover { color:var(--blue); }
.breadcrumbs [aria-current] { color:var(--ink); }
.page-intro { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-bottom:30px; }
.page-intro>div { min-width:0; }
.page-intro .button { flex-shrink:0; }
.page-lead { max-width:710px; margin-top:18px; color:var(--muted); font-size:15px; line-height:1.8; }
.page-note { font-size:12px; color:var(--muted); line-height:1.8; margin-top:18px; }
.page-note a { color:var(--blue); text-decoration:underline; }
.full-width { width:100%; }
.filter-panel { background:var(--surface); padding:20px; border-radius:20px; margin-bottom:24px; }
.filter-main { display:flex; gap:12px; align-items:stretch; }
.filter-search { display:flex; align-items:center; gap:12px; border-radius:12px; background:var(--field); padding:0 16px; min-width:0; flex:1; }
.filter-search .icon { color:var(--muted); width:19px; }
.filter-search input { border:0; background:transparent; width:100%; min-width:0; height:50px; outline-offset:1px; font-size:14px; }
.filter-search:focus-within { outline:2px solid var(--blue); outline-offset:2px; }
.filter-search input:focus-visible { outline:0; }
.view-switch { display:flex; gap:4px; background:var(--field); padding:4px; border-radius:13px; }
.view-switch a { padding:8px 14px; border-radius:10px; display:flex; align-items:center; gap:8px; font-weight:700; font-size:12px; }
.view-switch .icon { width:17px; height:17px; }
.view-switch .is-selected { background:var(--surface); color:var(--blue); box-shadow:0 2px 9px #00000008; }
.filter-details { margin-top:18px; }
.filter-details summary { display:flex; align-items:center; gap:8px; width:fit-content; list-style:none; font-size:13px; font-weight:700; }
.filter-details summary::-webkit-details-marker,.legal-toc summary::-webkit-details-marker { display:none; }
.filter-details summary .icon { width:17px; height:17px; }
.filter-details summary .icon:last-child { width:13px; transition:transform .2s; }
.filter-details[open] summary .icon:last-child { transform:rotate(180deg); }
.filter-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:20px; align-items:end; }
.field { display:flex; flex-direction:column; gap:8px; min-width:0; font-size:12px; font-weight:700; }
.field>span>small { color:var(--muted); font-weight:400; margin-left:5px; }
.field input,.field select,.field textarea { background:var(--field); border:1px solid transparent; border-radius:12px; padding:12px 14px; width:100%; min-width:0; height:48px; font-size:14px; font-weight:400; }
.field select { padding-right:28px; text-overflow:ellipsis; }
.field input[type=date] { max-width:100%; display:block; }
.field textarea { height:auto; min-height:100px; resize:vertical; }
.field :is(input,select,textarea):focus-visible { outline-offset:2px; }
.check-field { display:flex; align-items:center; gap:10px; font-size:13px; cursor:pointer; line-height:1.6; }
.check-field input { width:18px; height:18px; margin:0; flex-shrink:0; accent-color:var(--brand); }
.filter-fields .check-field { min-height:48px; }
.results-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:24px 0 18px; color:var(--muted); font-size:13px; }
.results-toolbar h2 { color:var(--ink); font-size:23px; }
.results-toolbar strong { color:var(--ink); }
.filter-panel .results-toolbar { padding-top:16px; border-top:1px solid var(--line); margin:18px 0 0; }
.sort-label select { border:0; background:var(--surface); padding:4px 22px 4px 4px; max-width:190px; font-size:12px; color:var(--ink); }
.public-page .catalog-grid { display:grid; grid-auto-flow:row; grid-auto-columns:auto; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; overflow:visible; margin-top:0; }
.catalog-grid>* { min-width:0; }
.pagination { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin-top:32px; }
.pagination .pill { min-width:44px; text-align:center; padding:12px 15px; }
.catalog-footnote { display:flex; justify-content:space-between; gap:45px; margin-top:60px; padding-top:30px; border-top:1px solid var(--line); }
.catalog-footnote>div { max-width:800px; }
.catalog-footnote h2 { font-size:21px; }
.catalog-footnote p { color:var(--muted); font-size:13px; line-height:1.9; margin-top:14px; }
.catalog-footnote .text-link { align-self:start; margin-top:4px; }
.public-page .empty-state { margin:24px 0; }
.public-page .empty-state h2 { font-size:25px; }
.public-page .empty-state .button { margin-top:20px; }
.date-strip { display:flex; gap:9px; overflow-x:auto; padding:4px 2px 14px; margin:0 -2px 10px; scrollbar-width:thin; }
.date-tile { flex:1 0 104px; padding:14px 16px; background:var(--surface); border-radius:14px; min-width:0; display:flex; flex-direction:column; gap:5px; }
.date-tile strong { font-size:13px; }
.date-tile span { color:var(--muted); font-size:11px; }
.date-tile.is-selected { background:var(--brand); color:#fff; }
.date-tile.is-selected span { color:#e3e9ff; }
.event-filter-fields { display:grid; grid-template-columns:minmax(150px,.8fr) minmax(190px,1.4fr) auto auto auto; gap:18px; margin-top:18px; align-items:end; }
.event-filter-fields .check-field,.event-filter-fields>.text-link { min-height:48px; }
.public-page .format-strip { margin:22px -2px; }
.map-layout { display:grid; grid-template-columns:340px minmax(0,1fr); height:620px; gap:0; background:var(--surface); border-radius:22px; overflow:hidden; }
.map-list { overflow-y:auto; padding:8px 15px; }
.map-list__hint { padding:12px 0; font-size:12px; color:var(--muted); }
.map-list__item { display:flex; gap:10px; border-bottom:1px solid var(--line); padding:15px 0; align-items:center; }
.map-list__item>a { display:flex; min-width:0; flex:1; gap:12px; align-items:center; }
.map-list__item>a>span:last-child { min-width:0; }
.map-list__item strong { display:block; font-size:13px; line-height:1.4; overflow-wrap:anywhere; }
.map-list__item>a>span>span { display:block; color:var(--muted); font-size:10px; line-height:1.5; margin-top:4px; }
.map-list__item .icon-button { width:32px; height:32px; flex-shrink:0; }
.map-list__item .icon { width:16px; height:16px; }
.map-list__item .avatar { width:44px; height:44px; flex-basis:44px; }
.map-canvas { background:var(--field); position:relative; z-index:1; min-height:320px; }
.map-loading { position:absolute; z-index:800; top:12px; left:12px; right:12px; padding:10px 14px; border-radius:10px; background:var(--surface); color:var(--muted); font-size:12px; pointer-events:none; }
.leaflet-container { font-family:Manrope,Arial,sans-serif!important; }
:root[data-theme="dark"] .pokerlist-map-tiles { filter:grayscale(1) invert(1) contrast(.75) brightness(.8); }
.leaflet-popup-content-wrapper,.leaflet-popup-tip { background:var(--surface)!important; color:var(--ink)!important; }
.leaflet-popup-content strong { font-size:15px; }
.leaflet-popup-content p { font-size:12px; line-height:1.6; margin:10px 0!important; }
.leaflet-popup-content a { color:var(--blue)!important; font-weight:700; }
.club-map-marker { display:grid; place-items:center; width:34px; height:34px; border-radius:50% 50% 50% 7px; background:var(--brand); color:white; border:2px solid white; box-shadow:0 3px 9px #0004; font-size:22px; }
.map-canvas .leaflet-control-attribution { background:var(--surface); color:var(--muted); }
.map-canvas .leaflet-control-attribution a { color:var(--blue); }
.club-overview { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:40px; align-items:center; }
.gallery { min-width:0; }
.gallery-main { position:relative; display:block; width:100%; aspect-ratio:1.55; overflow:hidden; border-radius:22px; background:var(--mist); }
.gallery-main>img { width:100%; height:100%; object-fit:cover; }
.gallery-counter { position:absolute; bottom:16px; right:16px; padding:8px 13px; background:#141513c9; color:white; border-radius:9px; display:flex; align-items:center; gap:6px; font-size:11px; }
.gallery-counter .icon { width:14px; height:14px; }
.photo-symbol { font-size:130px; color:var(--blue); }
.gallery-thumbs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; margin-top:10px; }
.gallery-thumbs>button { position:relative; aspect-ratio:1.6; overflow:hidden; border-radius:10px; background:var(--field); padding:0; }
.gallery-thumbs img { width:100%; height:100%; }
.gallery-thumbs>button:hover { outline:2px solid var(--blue); outline-offset:2px; }
.play-symbol,.gallery-more { position:absolute; inset:0; display:grid; place-items:center; color:white; background:#0005; font-size:20px; }
.club-title { display:flex; align-items:center; gap:14px; }
.club-title h1 { font-size:clamp(32px,3.5vw,46px); }
.club-title .verified { width:25px; height:25px; flex-shrink:0; }
.identity-rating { display:flex; align-items:center; gap:9px; margin-top:20px; font-size:14px; }
.identity-rating .icon { color:var(--blue); fill:var(--blue); width:17px; }
.identity-rating span { color:var(--muted); font-size:12px; }
.identity-address { display:flex; align-items:flex-start; gap:9px; margin-top:20px; font-size:13px; }
.identity-address>.icon { width:18px; color:var(--muted); }
.identity-address small { display:block; color:var(--muted); margin-top:7px; font-size:12px; }
.hours-line { display:flex; align-items:center; gap:8px; font-size:11px; color:var(--muted); margin-top:13px; }
.status-dot { width:7px; height:7px; background:var(--muted); border-radius:50%; }
.status-dot.is-open { background:var(--success); }
.identity-actions { display:flex; gap:10px; margin:24px 0 10px; }
.identity-actions>a { flex:1; padding-inline:10px; font-size:12px; }
.identity-actions .icon { width:18px; }
.favorite-action { display:flex; align-items:center; justify-content:center; gap:8px; font-size:11px; color:var(--muted); margin-top:18px; }
.favorite-action .icon { width:17px; color:var(--blue); }
.section-tabs { display:flex; gap:8px; overflow-x:auto; padding:5px 2px 13px; margin:38px -2px 18px; scrollbar-width:thin; }
.section-tabs .pill { flex-shrink:0; }
.section-tabs .pill span { margin-left:5px; opacity:.65; }
.detail-columns { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:44px; }
.detail-main,.detail-aside { min-width:0; }
.detail-section { padding:22px 0 28px; scroll-margin-top:110px; }
.detail-section+.detail-section { border-top:1px solid var(--line); }
.detail-section>.section-heading { margin-bottom:20px; }
.detail-section .section-heading h2 { font-size:27px; }
.detail-section .section-heading .text-link { font-size:12px; gap:6px; }
.detail-section>h2 { margin-bottom:22px; }
.schedule-list { display:grid; gap:10px; }
.schedule-row { display:flex; align-items:center; gap:17px; padding:18px; border-radius:16px; background:var(--surface); transition:background .15s; }
.schedule-row:hover { background:var(--mist); }
.schedule-date { display:flex; flex-direction:column; gap:3px; text-align:center; flex:0 0 51px; }
.schedule-date strong { font-size:19px; line-height:1.25; }
.schedule-date span { font-size:10px; color:var(--muted); }
.schedule-body { min-width:0; flex:1; }
.schedule-body strong { display:block; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.schedule-body>span { display:block; margin-top:4px; font-size:10px; color:var(--muted); }
.schedule-price { font-size:12px; font-weight:800; white-space:nowrap; }
.schedule-row .round-arrow { width:30px; height:30px; flex-shrink:0; }
.schedule-row .round-arrow .icon { width:15px; }
.prose { font-size:14px; line-height:1.9; overflow-wrap:anywhere; }
.prose p+p { margin-top:18px; }
.prose a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.subheading { margin:28px 0 16px; }
.amenities { display:flex; flex-wrap:wrap; gap:9px; }
.amenities>span { display:flex; align-items:center; gap:7px; padding:10px 14px; background:var(--surface); border-radius:10px; font-size:12px; }
.amenities .icon { color:var(--blue); width:14px; height:14px; }
.soft-panel { padding:24px; border-radius:18px; background:var(--mist); margin-top:22px; }
.soft-panel p { color:var(--offer-copy); font-size:13px; line-height:1.9; margin-top:12px; }
.soft-panel .text-link { margin-top:20px; font-size:12px; }
.info-panel { padding:25px; background:var(--surface); border-radius:20px; margin-top:22px; }
.info-panel>h2 { font-size:23px; }
.info-panel>p { margin-top:15px; color:var(--muted); font-size:13px; line-height:1.8; }
.info-panel>.section-kicker { margin:0 0 10px; font-size:10px; }
.info-panel>.text-link { margin-top:20px; font-size:12px; }
.info-panel>.button { margin-top:20px; }
.info-panel>.compact-club { padding:16px 0; }
.contact-list { margin-top:20px; }
.contact-list a { display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--line); padding:13px 0; font-size:12px; font-weight:600; }
.contact-list .icon { width:16px; height:16px; color:var(--blue); }
.owner-link { display:flex; gap:12px; margin-top:28px; align-items:flex-start; }
.owner-link>.icon { width:18px; color:var(--blue); }
.owner-link>span { flex:1; }
.owner-link strong { display:block; font-size:13px; }
.owner-link>span>span { display:block; color:var(--muted); font-size:11px; margin-top:6px; }
.gallery-dialog { width:min(1050px,calc(100% - 32px)); max-height:95dvh; padding:18px; border:0; border-radius:20px; color:var(--ink); background:var(--paper); }
.gallery-dialog::backdrop { background:#080b12df; }
.gallery-dialog header,.gallery-dialog footer { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.gallery-dialog header { padding-bottom:14px; }
.gallery-dialog footer { padding-top:14px; justify-content:center; }
.gallery-dialog .icon-button { flex-shrink:0; }
.gallery-stage { display:grid; place-items:center; min-height:180px; background:#0c0f16; border-radius:12px; overflow:hidden; }
.gallery-stage img,.gallery-stage video { max-height:70dvh; max-width:100%; width:auto; object-fit:contain; }
.gallery-stage p { color:white; padding:40px; }
.event-detail-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:center; margin-bottom:30px; }
.event-detail-poster { height:480px; border-radius:24px; padding:32px; }
.event-detail-poster .poster__title { font-size:72px; max-width:95%; line-height:1.02; }
.event-detail-poster .poster__title--cyrillic { font-size:48px; }
.event-detail-poster .poster__art { width:100%; height:100%; }
.event-detail-intro h1 { font-size:36px; }
.event-club-link { display:flex; align-items:center; gap:12px; margin-top:24px; }
.event-club-link>span:not(.avatar) { flex:1; }
.event-club-link strong { font-size:14px; }
.event-club-link>span>span { display:block; font-size:11px; color:var(--muted); margin-top:3px; }
.event-club-link>.icon { color:var(--blue); width:18px; }
.event-date-large { display:flex; gap:10px; align-items:center; margin-top:24px; font-size:15px; font-weight:700; }
.event-date-large .icon { color:var(--blue); width:20px; }
.event-price-line { display:flex; align-items:center; justify-content:space-between; padding:22px 0; margin-top:15px; border-top:1px solid var(--line); }
.event-price-line>span { color:var(--muted); font-size:12px; }
.event-price-line>strong { font-size:29px; }
.event-detail-intro .page-note { text-align:center; margin-top:10px; font-size:10px; }
.event-detail-intro .soft-panel { margin:0 0 15px; font-size:12px; }
.event-facts-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0 0 28px; }
.event-facts-grid>div { background:var(--surface); border-radius:15px; padding:18px; }
.event-facts-grid dt { color:var(--muted); font-size:11px; }
.event-facts-grid dd { margin:7px 0 0; font-size:18px; font-weight:800; }
.event-description { line-height:2; }
.venue-photo { margin-top:18px; border-radius:13px; width:100%; aspect-ratio:1.7; }
.avatar { display:grid; place-items:center; width:48px; height:48px; flex:0 0 48px; border-radius:14px; background:var(--mist); color:var(--blue); font-size:21px; font-weight:800; overflow:hidden; }
.avatar img { width:100%; height:100%; }
.review-list { display:grid; gap:14px; margin-bottom:20px; }
.review-tile { background:var(--surface); border-radius:18px; padding:24px; }
.review-tile header { display:flex; align-items:center; gap:12px; }
.review-tile header>div { flex:1; min-width:0; }
.review-author { font-weight:800; font-size:14px; overflow-wrap:anywhere; }
.review-tile a.review-author:hover { color:var(--blue); }
.review-tile time { display:block; font-size:10px; color:var(--muted); margin-top:3px; }
.review-score { display:flex; align-items:center; gap:5px; font-size:14px; font-weight:800; }
.review-score .icon { width:15px; height:15px; fill:var(--blue); color:var(--blue); }
.review-club { display:flex; gap:6px; align-items:center; color:var(--blue); font-weight:700; font-size:11px; margin-top:18px; }
.review-club .icon { width:14px; height:14px; }
.review-club .icon:last-child { margin-left:auto; }
.review-body { font-size:14px; line-height:1.85; margin-top:17px; overflow-wrap:anywhere; }
.review-extra { margin-top:14px; font-size:13px; }
.review-extra strong { display:block; margin-bottom:4px; font-size:11px; color:var(--muted); }
.review-reply { border-left:2px solid var(--brand); padding:2px 0 2px 17px; margin-top:22px; }
.review-reply strong { font-size:11px; color:var(--blue); }
.review-reply p { font-size:13px; margin-top:5px; }
.ranking-filters { display:grid; grid-template-columns:1.4fr 1fr 1.2fr auto; gap:16px; align-items:end; }
.ranking-filters>.filter-search { height:48px; }
.ranking-spotlight { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:60px; align-items:center; margin:28px 0 44px; }
.leader-card { position:relative; isolation:isolate; overflow:hidden; background:var(--brand); color:#fff2cf; padding:30px; border-radius:22px; min-height:320px; }
.leader-card>div>p { text-transform:uppercase; letter-spacing:2.5px; font-size:10px; font-weight:800; }
.leader-number { display:block; font-family:Anton,sans-serif; font-size:107px; line-height:1.2; }
.leader-card h2 { font-size:32px; margin:2px 0 9px; letter-spacing:-1px; }
.leader-card>div>span:last-child { font-size:13px; font-weight:600; }
.leader-club { display:block; font-size:10px; margin-top:22px; opacity:.85; }
.leader-art { position:absolute; z-index:-1; right:-12px; top:-45px; font:390px/1 Arial,sans-serif; color:#fff2cf18; transform:rotate(16deg); }
.ranking-context h2 { font-size:37px; }
.ranking-context>p:not(.section-kicker) { margin-top:18px; max-width:420px; color:var(--muted); font-size:13px; line-height:1.9; }
.ranking-context>.text-link { font-size:12px; margin-top:25px; }
.ranking-totals { display:flex; gap:40px; margin-top:24px; }
.ranking-totals>span { color:var(--muted); font-size:11px; }
.ranking-totals strong { display:block; color:var(--ink); font-size:26px; letter-spacing:-1px; }
.ranking-table { background:var(--surface); border-radius:18px; padding:4px 22px; }
.ranking-row { display:grid; grid-template-columns:45px minmax(0,1fr) 55px 70px 90px; align-items:center; gap:14px; padding:14px 0; border-bottom:1px solid var(--line); font-size:13px; }
.ranking-row:last-child { border:0; }
.ranking-row>[role=cell]:nth-child(n+3),.ranking-row--head>span:nth-child(n+3) { text-align:right; }
.ranking-row--head { font-size:10px; color:var(--muted); }
.ranking-player { display:flex; align-items:center; gap:12px; min-width:0; }
.ranking-player a,.ranking-player strong { font-weight:700; overflow-wrap:anywhere; line-height:1.4; }
.ranking-player a:hover { color:var(--blue); }
.ranking-player .avatar { flex-basis:36px; width:36px; height:36px; font-size:15px; border-radius:11px; }
.ranking-position { color:var(--muted); font-size:13px; font-weight:800; }
.ranking-position.is-top { color:var(--blue); }
.ranking-points { font-size:15px; font-weight:800; }
.reviews-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:40px; }
.reviews-filters { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto; gap:14px; align-items:end; }
.reviews-layout .info-panel:first-child { margin-top:0; }
.summary-number { display:flex; align-items:center; gap:15px; font-size:72px; line-height:1.1; letter-spacing:-3px; margin-top:18px; }
.summary-number .icon { width:32px; height:32px; fill:var(--blue); color:var(--blue); }
.rating-bars { display:grid; gap:9px; margin-top:24px; }
.rating-bars>div { display:flex; align-items:center; gap:10px; font-size:11px; color:var(--muted); }
.rating-bars>div>span { min-width:9px; text-align:right; }
.rating-bars meter { width:100%; height:8px; border:0; background:var(--field); border-radius:10px; }
.rating-bars meter::-webkit-meter-bar { background:var(--field); border:0; }
.rating-bars meter::-webkit-meter-optimum-value { background:var(--brand); }
.player-hero { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:32px; border-radius:22px; background:var(--surface); }
.player-identity { display:flex; align-items:center; gap:24px; min-width:0; }
.avatar--large { width:100px; height:100px; flex-basis:100px; border-radius:26px; font-size:42px; }
.player-identity h1 { display:flex; align-items:center; gap:12px; }
.player-identity p:last-child { font-size:12px; color:var(--muted); margin-top:11px; }
.player-level { display:flex; flex-direction:column; text-align:center; color:var(--blue); background:var(--mist); min-width:100px; padding:13px 24px; border-radius:17px; }
.player-level>span { font-size:10px; }
.player-level strong { font-family:Anton,sans-serif; font-size:43px; line-height:1.3; }
.player-stat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:18px 0 24px; }
.player-stat-grid>div { background:var(--surface); border-radius:16px; padding:23px; }
.player-stat-grid strong { font-size:31px; letter-spacing:-1px; }
.player-stat-grid span { display:block; font-size:11px; color:var(--muted); }
.public-club-results,.visit-timeline { display:grid; gap:10px; }
.public-club-results>a,.visit-timeline>a { display:flex; align-items:center; gap:15px; padding:18px; background:var(--surface); border-radius:15px; }
.public-club-results>a>span:nth-child(2),.visit-timeline>a>span:nth-child(2) { flex:1; }
.public-club-results strong,.visit-timeline strong { display:block; font-size:14px; }
.public-club-results>a>span>span,.public-club-results small,.visit-timeline time { display:block; font-size:10px; font-weight:400; color:var(--muted); margin-top:3px; }
.public-club-results>a>strong { text-align:right; }
.public-club-results .icon { color:var(--blue); width:17px; }
.xp-tag { color:var(--blue); font-size:11px; font-weight:800; }
.achievement-list>div { display:flex; gap:14px; margin-top:20px; }
.achievement-list .icon { color:var(--blue); }
.achievement-list strong { font-size:13px; }
.achievement-list p { color:var(--muted); font-size:11px; }
.editorial-hero { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:64px; align-items:center; }
.editorial-hero h1 { font-size:clamp(40px,4.6vw,65px); letter-spacing:-3px; }
.editorial-hero h1>span { color:var(--blue); }
.editorial-hero>div>p:not(.section-kicker) { margin-top:22px; color:var(--muted); font-size:15px; line-height:1.9; max-width:520px; }
.editorial-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:28px; }
.editorial-actions>.text-link { font-size:13px; }
.editorial-poster { min-height:440px; position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; background:var(--brand); color:#fff2cf; border-radius:24px; padding:30px 36px; }
.editorial-poster>span:first-child { font-size:10px; letter-spacing:2px; font-weight:800; }
.editorial-poster>strong { font-family:Anton,sans-serif; font-size:89px; line-height:1.02; margin-top:25px; font-weight:400; }
.editorial-poster small { font-size:12px; margin-top:auto; padding-top:25px; }
.editorial-suit { position:absolute; z-index:-1; right:-45px; top:15px; font:450px/1 Arial,sans-serif; color:#fff2cf18; transform:rotate(17deg); }
.about-mission { display:grid; grid-template-columns:1fr 2fr; gap:64px; padding-block:65px; margin-top:30px; border-bottom:1px solid var(--line); }
.about-mission h2 { font-size:34px; line-height:1.3; }
.about-mission>div>p { margin-top:22px; color:var(--muted); font-size:14px; line-height:1.9; max-width:650px; }
.public-steps { margin-top:60px; }
.public-steps>ol { padding:0; list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin:30px 0 0; }
.public-steps li>span { display:block; color:var(--blue); font-size:14px; font-weight:800; margin-bottom:20px; }
.public-steps h3 { font-size:22px; }
.public-steps p { font-size:13px; line-height:1.9; color:var(--muted); margin:14px 0 20px; }
.public-steps .text-link { font-size:12px; }
.about-trust { padding:35px; margin-top:55px; }
.about-trust p { max-width:1000px; }
.contact-banner { display:flex; justify-content:space-between; align-items:center; gap:40px; margin-top:60px; }
.contact-banner p:not(.section-kicker) { margin-top:15px; font-size:13px; color:var(--muted); }
.contact-email { display:inline-flex; gap:12px; align-items:center; color:var(--blue); font-size:25px; font-weight:800; margin-top:20px; }
.partner-showcase { max-width:390px; margin-left:auto; width:100%; transform:rotate(2deg); }
.partner-showcase>.section-kicker { text-align:center; font-size:9px; }
.partner-showcase .club-card__photo { aspect-ratio:2; }
.partner-showcase .club-card__body { padding-bottom:8px; }
.partner-showcase .club-card h3 { font-size:26px; }
.partner-showcase .club-card__location { margin-bottom:8px; }
.editorial-hero .partners-meta { font-size:11px!important; }
.partner-application { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:70px; margin-top:70px; padding-top:30px; border-top:1px solid var(--line); align-items:start; }
.partner-application>div:first-child { padding-top:25px; }
.partner-application h2 { font-size:44px; }
.partner-application>div>p:not(.section-kicker) { color:var(--muted); line-height:1.9; font-size:14px; margin-top:23px; }
.simple-steps { padding-left:20px; color:var(--muted); font-size:13px; line-height:1.9; }
.simple-steps li { padding-left:8px; margin:12px 0; }
.simple-steps li::marker { color:var(--blue); font-weight:800; }
.panel-divider { border-top:1px solid var(--line); margin:25px 0; }
.partner-faq { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:60px; margin-top:65px; }
.partner-faq>div>p:not(.section-kicker) { color:var(--muted); font-size:13px; margin-top:20px; line-height:1.8; }
.partner-faq p>a { color:var(--blue); }
.application-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:40px; align-items:start; }
.auth-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:90px; max-width:1050px; margin:0 auto; align-items:start; }
.auth-art { background:var(--brand); color:#fff2cf; padding:35px; min-height:570px; border-radius:24px; position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; }
.auth-art>.section-kicker { color:#fff2cf; font-size:10px; }
.auth-art>strong { font-size:65px; font-weight:800; line-height:1.12; letter-spacing:-4px; margin-top:28px; }
.auth-art>p:last-child { margin-top:auto; padding-top:30px; font-size:12px; }
.auth-suit { position:absolute; z-index:-1; color:#fff2cf15; font:490px/1 Arial,sans-serif; right:-95px; top:50px; transform:rotate(15deg); }
.auth-panel { padding:8px 0; }
.auth-panel h1 { font-size:34px; }
.auth-panel>.page-lead { font-size:13px; margin-top:14px; }
.stacked-form { display:grid; gap:17px; margin-top:26px; }
.stacked-form .button { margin-top:3px; }
.password-field { position:relative; display:block; }
.password-field>input { padding-right:52px; }
.password-field>button { position:absolute; right:6px; top:6px; width:36px; height:36px; border-radius:8px; color:var(--muted); }
.password-field .icon { width:19px; height:19px; }
.consent-field { align-items:flex-start; font-size:11px; line-height:1.8; }
.consent-field input { margin-top:2px; }
.consent-field a { color:var(--blue); text-decoration:underline; text-underline-offset:2px; }
.form-preview-note { font-size:10px; line-height:1.7; color:var(--muted); }
.form-feedback { margin:0; padding:15px; font-size:12px; }
.form-feedback .text-link { display:flex; margin-top:10px; }
.auth-divider { border-top:1px solid var(--line); margin:24px 0; text-align:center; height:1px; }
.auth-divider>span { position:relative; top:-13px; display:inline-block; padding:0 15px; background:var(--paper); font-size:12px; color:var(--muted); }
.telegram-auth { border:1px solid var(--line); }
.auth-footer { text-align:center; font-size:12px; color:var(--muted); margin-top:22px; }
.auth-footer a { color:var(--blue); font-weight:700; }
.field .code-input { font-size:26px; letter-spacing:12px; text-align:center; height:60px; }
.form-two-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.legal-layout { display:grid; grid-template-columns:270px minmax(0,1fr); gap:60px; align-items:start; }
.legal-nav { position:sticky; top:120px; }
.legal-nav nav { background:var(--surface); padding:10px; border-radius:17px; }
.legal-nav nav a { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:13px 12px; border-radius:10px; font-size:12px; line-height:1.6; }
.legal-nav nav a.is-selected { background:var(--mist); color:var(--blue); font-weight:700; }
.legal-nav nav .icon { width:15px; height:15px; }
.legal-nav>.text-link { margin-top:20px; font-size:12px; }
.legal-copy { max-width:790px; }
.legal-copy section { margin-top:35px; scroll-margin-top:120px; }
.legal-copy section h2 { font-size:23px; line-height:1.4; margin-bottom:18px; }
.legal-version { color:var(--muted); font-size:11px; }
.legal-toc { background:var(--surface); border-radius:14px; padding:17px 20px; margin-top:20px; }
.legal-toc summary { display:flex; justify-content:space-between; align-items:center; font-weight:700; font-size:13px; list-style:none; }
.legal-toc ol { padding-left:20px; font-size:12px; }
.legal-toc li { margin-top:9px; }
.legal-links { padding-left:20px; margin-top:30px; }
.not-found { text-align:center; padding:65px 0; }
.not-found-art { display:flex; align-items:center; justify-content:center; gap:12px; font-family:Anton,sans-serif; font-size:150px; line-height:1.2; color:var(--blue); margin-bottom:20px; }
.not-found-art span { font-family:Arial,sans-serif; font-size:130px; }
.not-found>p:not(.section-kicker) { color:var(--muted); font-size:14px; line-height:1.9; margin-top:20px; }
.not-found .empty-state__actions { justify-content:center; margin-top:28px; }
.footer nav { max-width:650px; flex-wrap:wrap; justify-content:flex-end; gap:14px 25px; }
.toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); z-index:90; width:min(470px,calc(100% - 32px)); padding:16px 45px 16px 20px; border-radius:16px; box-shadow:0 8px 40px #0003; background:var(--ink); color:var(--paper); font-size:13px; }
.toast button { position:absolute; right:12px; top:12px; color:inherit; padding:5px; }
@media(max-width:1100px) {
  .event-filter-fields { grid-template-columns:minmax(140px,1fr) minmax(180px,1.3fr) 1fr; }
  .ranking-filters { grid-template-columns:1.2fr 1fr; }
  .event-detail-hero { gap:35px; }
  .event-detail-poster { height:430px; padding:25px; }
  .event-detail-poster .poster__title { font-size:58px; }
  .reviews-filters { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .reviews-filters>.button { grid-column:1/-1; }
  .detail-columns,.reviews-layout { gap:26px; }
  .detail-section .section-heading { flex-wrap:wrap; }
  .schedule-row { flex-wrap:wrap; gap:12px; }
  .schedule-row .round-arrow { display:none; }
  .ranking-row { grid-template-columns:30px minmax(0,1fr) 40px 50px 70px; gap:9px; }
  .auth-layout { gap:45px; }
  .editorial-hero { gap:40px; }
  .partner-application { gap:40px; }
}
@media(max-width:850px) {
  .public-page .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  .filter-main { flex-wrap:wrap; }
  .view-switch { margin-left:auto; }
  .club-overview { gap:25px; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
  .club-title h1 { font-size:29px; }
  .club-identity .section-kicker { font-size:9px; }
  .identity-actions { flex-wrap:wrap; margin-top:17px; }
  .identity-actions .button { font-size:11px; }
  .detail-columns,.reviews-layout { grid-template-columns:minmax(0,1fr); }
  .detail-aside { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
  .detail-aside>.soft-panel,.detail-aside>.info-panel { margin:0; }
  .detail-aside>.page-note,.detail-aside>.owner-link { grid-column:1/-1; }
  .detail-main { margin-bottom:20px; }
  .ranking-context h2 { font-size:29px; }
  .ranking-spotlight { gap:30px; }
  .ranking-totals { gap:20px; }
  .ranking-totals strong { font-size:22px; }
  .event-detail-hero { gap:25px; }
  .event-detail-intro h1 { font-size:28px; }
  .event-detail-poster { height:400px; padding:22px; }
  .event-detail-poster .poster__title { font-size:49px; }
  .event-detail-poster .poster__title--cyrillic { font-size:34px; }
  .event-date-large { font-size:13px; }
  .editorial-hero { gap:28px; }
  .editorial-poster { min-height:380px; padding:25px; }
  .editorial-poster>strong { font-size:73px; }
  .about-mission { gap:30px; grid-template-columns:1fr; padding-block:40px; }
  .about-mission h2 { font-size:30px; }
  .public-steps>ol { gap:24px; }
  .public-steps h3 { font-size:19px; }
  .partner-faq { gap:35px; grid-template-columns:1fr 1.3fr; }
  .auth-art { padding:28px; min-height:500px; }
  .auth-art>strong { font-size:51px; letter-spacing:-3px; }
  .auth-layout { gap:30px; }
  .auth-panel h1 { font-size:30px; }
  .legal-layout { grid-template-columns:210px minmax(0,1fr); gap:30px; }
  .map-layout { grid-template-columns:280px minmax(0,1fr); }
}
@media(max-width:640px) {
  .public-page { padding-bottom:38px; }
  .public-page h1 { font-size:32px; letter-spacing:-1.3px; }
  .public-page h2 { font-size:25px; }
  .breadcrumbs { padding-top:20px; margin-bottom:25px; gap:7px; font-size:10px; }
  .page-intro { display:block; margin-bottom:23px; }
  .page-intro>.button { margin-top:20px; }
  .page-lead { margin-top:14px; font-size:13px; line-height:1.8; }
  .filter-panel { padding:15px; border-radius:17px; margin-bottom:20px; }
  .filter-main { gap:9px; }
  .filter-search { padding:0 12px; gap:8px; }
  .filter-search input { height:46px; font-size:16px; }
  .filter-search input::placeholder { font-size:12px; }
  .filter-main>.button { padding:10px 13px; min-height:46px; font-size:12px; gap:7px; }
  .filter-main>.button .icon { display:none; }
  .filter-main>.view-switch { width:100%; margin-top:3px; }
  .view-switch>a { flex:1; justify-content:center; padding:8px; }
  .filter-fields { grid-template-columns:minmax(0,1fr); gap:14px; }
  .filter-fields>.text-link { justify-self:center; }
  .field input,.field select,.field textarea { font-size:16px; height:48px; padding:11px 12px; }
  .field input::placeholder,.field textarea::placeholder { font-size:13px; }
  .results-toolbar { gap:10px; font-size:11px; margin:20px 0 15px; align-items:center; flex-wrap:wrap; }
  .results-toolbar h2 { font-size:21px; }
  .sort-label select { max-width:155px; font-size:11px; }
  .filter-panel .results-toolbar { gap:8px; }
  .public-page .catalog-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
  .public-page .catalog-grid .poster { height:245px; }
  .public-page .catalog-grid .club-card__photo { aspect-ratio:1.8; }
  .public-page .catalog-grid .club-card__location { margin-bottom:5px; }
  .catalog-footnote { display:block; margin-top:35px; padding-top:25px; }
  .catalog-footnote h2 { font-size:21px; }
  .catalog-footnote p { font-size:12px; }
  .catalog-footnote .text-link { margin-top:20px; }
  .pagination { gap:6px; margin-top:25px; }
  .pagination .pill { padding:10px 13px; min-width:38px; }
  .date-strip { gap:7px; }
  .date-tile { flex-basis:92px; padding:13px; }
  .date-tile strong { font-size:12px; }
  .date-tile span { font-size:10px; }
  .event-filter-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 10px; }
  .event-filter-fields>.field:nth-child(2) { min-width:0; }
  .event-filter-fields .check-field { font-size:11px; min-height:30px; gap:7px; }
  .event-filter-fields>.text-link { min-height:30px; grid-column:1/-1; justify-self:center; font-size:12px; }
  .public-page .format-strip { margin:15px -2px; }
  .club-overview { display:flex; flex-direction:column; align-items:stretch; gap:24px; }
  .gallery-main { aspect-ratio:1.45; border-radius:18px; }
  .gallery-counter { bottom:12px; right:12px; font-size:10px; }
  .gallery-thumbs { gap:7px; }
  .gallery-thumbs>button { aspect-ratio:1.2; border-radius:8px; }
  .club-title h1 { font-size:34px; }
  .identity-rating { margin-top:14px; }
  .identity-address { margin-top:16px; }
  .identity-actions { margin-top:20px; }
  .identity-actions>a { font-size:12px; }
  .favorite-action { font-size:11px; margin-top:15px; }
  .section-tabs { margin-top:26px; margin-bottom:10px; gap:7px; }
  .section-tabs .pill { padding:12px; font-size:11px; }
  .detail-columns { gap:20px; }
  .detail-section { padding:20px 0 25px; scroll-margin-top:85px; }
  .detail-section>.section-heading { margin-bottom:17px; }
  .detail-section .section-heading h2 { font-size:24px; }
  .detail-section .section-heading .text-link { font-size:11px; }
  .detail-section>h2 { margin-bottom:18px; }
  .detail-aside { grid-template-columns:minmax(0,1fr); gap:16px; }
  .schedule-row { gap:10px; padding:15px 13px; position:relative; }
  .schedule-date { flex-basis:47px; }
  .schedule-date strong { font-size:18px; }
  .schedule-body strong { font-size:12px; }
  .schedule-body>span { font-size:9px; }
  .schedule-price { font-size:11px; width:100%; padding-left:57px; margin-top:-2px; }
  .info-panel,.soft-panel { padding:22px; border-radius:18px; }
  .soft-panel p { font-size:12px; }
  .amenities { gap:7px; }
  .amenities>span { font-size:11px; padding:9px 12px; }
  .prose { font-size:13px; }
  .event-detail-hero { display:flex; flex-direction:column; gap:26px; margin-bottom:17px; }
  .event-detail-poster { width:100%; height:325px; padding:24px; border-radius:20px; }
  .event-detail-poster .poster__title { font-size:58px; }
  .event-detail-poster .poster__title--cyrillic { font-size:37px; }
  .event-detail-intro { width:100%; }
  .event-detail-intro h1 { font-size:30px; }
  .event-club-link { margin-top:20px; }
  .event-date-large { font-size:14px; margin-top:20px; }
  .event-price-line { padding:18px 0; }
  .event-facts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .event-facts-grid>div { padding:16px; }
  .event-facts-grid dt { font-size:10px; }
  .event-facts-grid dd { font-size:17px; }
  .review-tile { padding:20px; }
  .review-body { font-size:13px; }
  .review-tile .avatar { width:42px; height:42px; flex-basis:42px; border-radius:12px; }
  .review-author { font-size:13px; }
  .review-tile time { font-size:9px; }
  .reviews-filters { grid-template-columns:1fr; gap:14px; }
  .reviews-filters>.button { display:none; }
  .reviews-layout { gap:25px; }
  .reviews-summary .summary-number { font-size:60px; }
  .ranking-filters { grid-template-columns:minmax(0,1fr) 75px; gap:13px 9px; }
  .ranking-filters>.field { grid-column:1/-1; }
  .ranking-filters>.button { padding-inline:10px; }
  .ranking-spotlight { grid-template-columns:minmax(0,1fr); gap:25px; margin-top:24px; margin-bottom:30px; }
  .leader-card { min-height:290px; padding:26px; }
  .leader-number { font-size:98px; }
  .leader-card h2 { font-size:31px; }
  .ranking-context { padding:0 4px; }
  .ranking-context h2 { font-size:27px; }
  .ranking-context>p:not(.section-kicker) { font-size:12px; }
  .ranking-table { padding:3px 13px; border-radius:16px; }
  .ranking-row { grid-template-columns:25px minmax(0,1fr) 32px 48px 62px; gap:7px; font-size:11px; padding:13px 0; }
  .ranking-row--head { font-size:9px; }
  .ranking-position { font-size:12px; }
  .ranking-player { gap:8px; }
  .ranking-player .avatar { display:none; }
  .ranking-points { font-size:13px; }
  .ranking-player a,.ranking-player strong { font-size:12px; }
  .player-hero { padding:22px 18px; flex-wrap:wrap; gap:20px; border-radius:18px; }
  .player-identity { gap:14px; }
  .avatar--large { width:64px; height:64px; flex-basis:64px; border-radius:18px; font-size:29px; }
  .player-identity h1 { font-size:29px; }
  .player-identity .section-kicker { font-size:9px; }
  .player-identity p:last-child { font-size:10px; }
  .player-level { flex-direction:row; align-items:center; justify-content:center; gap:12px; width:100%; padding:5px 14px; border-radius:12px; }
  .player-level strong { font-size:27px; }
  .player-stat-grid { gap:8px; margin:12px 0 18px; }
  .player-stat-grid>div { padding:15px 12px; border-radius:14px; }
  .player-stat-grid strong { font-size:28px; }
  .player-stat-grid span { font-size:9px; }
  .public-club-results>a,.visit-timeline>a { gap:10px; padding:15px 13px; }
  .public-club-results strong,.visit-timeline strong { font-size:13px; }
  .public-club-results>a>.icon { display:none; }
  .editorial-hero { grid-template-columns:minmax(0,1fr); gap:30px; }
  .editorial-hero h1 { font-size:45px; letter-spacing:-2px; }
  .editorial-hero>div>p:not(.section-kicker) { font-size:13px; margin-top:18px; }
  .editorial-actions { gap:18px; margin-top:23px; }
  .editorial-poster { min-height:350px; padding:26px; }
  .editorial-poster>strong { font-size:80px; }
  .about-mission { margin-top:10px; padding-top:30px; gap:5px; }
  .about-mission h2 { font-size:27px; }
  .about-mission>div>p { font-size:13px; margin-top:18px; }
  .public-steps { margin-top:35px; }
  .public-steps>ol { grid-template-columns:minmax(0,1fr); gap:26px; margin-top:25px; }
  .public-steps li>span { margin-bottom:12px; }
  .public-steps h3 { font-size:23px; }
  .public-steps p { margin:10px 0 15px; }
  .about-trust { padding:24px; margin-top:35px; }
  .about-trust h2 { font-size:25px; }
  .contact-banner { display:block; margin-top:38px; }
  .contact-email { font-size:23px; }
  .contact-banner>.button { margin-top:25px; }
  .partner-showcase { max-width:100%; width:100%; transform:none; }
  .partner-application,.partner-faq,.application-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
  .partner-application { margin-top:35px; padding-top:10px; }
  .partner-application h2 { font-size:35px; }
  .partner-application .info-panel { margin-top:0; }
  .partner-faq { margin-top:38px; }
  .auth-layout { grid-template-columns:minmax(0,1fr); max-width:440px; }
  .auth-art { display:none; }
  .auth-panel { padding:0; }
  .auth-panel h1 { font-size:32px; }
  .form-two-columns { grid-template-columns:minmax(0,1fr); }
  .legal-layout { grid-template-columns:minmax(0,1fr); gap:27px; }
  .legal-nav { position:static; }
  .legal-nav nav { display:flex; overflow-x:auto; gap:7px; padding:0 0 10px; background:transparent; border-radius:0; }
  .legal-nav nav a { flex:0 0 auto; max-width:190px; font-size:11px; padding:11px 14px; background:var(--surface); white-space:normal; }
  .legal-nav nav .icon { display:none; }
  .legal-nav>.text-link { display:none; }
  .legal-copy section { scroll-margin-top:90px; }
  .legal-copy section h2 { font-size:21px; }
  .not-found { padding-block:35px; }
  .not-found-art { font-size:110px; }
  .not-found-art span { font-size:90px; }
  .not-found>p:not(.section-kicker) { font-size:12px; }
  .map-layout { display:flex; flex-direction:column-reverse; height:auto; border-radius:18px; }
  .map-canvas { height:400px; flex:0 0 400px; }
  .map-list { max-height:340px; }
  .map-list__item .avatar { width:42px; height:42px; flex-basis:42px; }
  .footer nav { justify-content:flex-start; gap:13px 20px; }
  .toast { bottom:87px; font-size:12px; }
  .gallery-dialog { padding:12px; border-radius:16px; }
  .gallery-dialog header strong { font-size:14px; }
}
@media(max-width:359px) {
  .public-page h1 { font-size:29px; }
  .page-intro h1 { font-size:29px; }
  .filter-panel { padding:13px; }
  .event-filter-fields { grid-template-columns:minmax(0,1fr); }
  .event-filter-fields .check-field { font-size:12px; }
  .ranking-row { grid-template-columns:22px minmax(0,1fr) 26px 40px 55px; gap:6px; }
  .ranking-row--head { font-size:8px; }
  .ranking-player a,.ranking-player strong { font-size:11px; }
  .ranking-points { font-size:12px; }
  .event-detail-poster .poster__title { font-size:48px; }
  .event-detail-poster .poster__title--cyrillic { font-size:32px; }
  .editorial-hero h1 { font-size:39px; }
  .editorial-actions { gap:15px; }
  .review-tile { padding:17px; }
  .player-stat-grid>div { padding:13px 10px; }
}

body.modal-open { overflow:hidden; }
.avatar .photo-symbol { font-size:24px; }

.gallery-main { padding:0; }

.club-map-cluster { background:var(--brand); border:4px solid #ffffffa6; border-radius:50%; color:white; font-family:Manrope,sans-serif; font-size:13px; font-weight:800; box-shadow:0 3px 12px #0002; }
.club-map-cluster > span { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; line-height:1; }
.clubs-load-more { display:flex; flex-direction:column; align-items:center; gap:12px; margin-top:32px; text-align:center; }
.clubs-load-more p { margin:0; color:var(--muted); font-size:13px; }
.clubs-load-more [aria-disabled="true"] { opacity:.6; cursor:wait; }
/* Keep the established poster and club-card typography inside page sections. */
.public-page .event-card .poster__title { font-size:43px; line-height:1.03; letter-spacing:-.7px; }
.public-page .event-card .poster__title--cyrillic { font-size:29px; line-height:1.05; }
.public-page .club-card h3 { font-size:25px; line-height:1.15; letter-spacing:-1px; }
@media(max-width:850px) { .public-page .event-card .poster__title { font-size:39px; } }
@media(max-width:640px) {
  .public-page .event-card .poster__title { font-size:41px; }
  .public-page .event-card .poster__title--cyrillic { font-size:28px; }
  .public-page .club-card h3 { font-size:26px; }
}
@media(max-width:359px) {
  .public-page .event-card .poster__title { font-size:35px; }
  .public-page .event-card .poster__title--cyrillic { font-size:25px; }
}

.list-loader { display:flex; flex-direction:column; align-items:center; gap:12px; margin:24px 0; }
.list-loader p { margin:0; color:var(--muted); font-size:12px; text-align:center; }
.list-loader p:empty { display:none; }
.list-loader [aria-disabled=true] { opacity:.5; pointer-events:none; }
.filter-feedback { color:var(--blue); font-size:12px; line-height:1.6; padding:12px 16px; background:var(--mist); border-radius:12px; margin:0 0 14px; }
#eventBrowser { position:relative; }
#eventBrowser > .filter-feedback { position:absolute; top:0; right:0; z-index:3; max-width:min(100%,420px); box-shadow:0 8px 24px #0001; }
