/* Imiona w Polsce – Public Styles */
.imiona-widget {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px;
    margin: 24px 0;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
}

.imiona-widget-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 16px 0;
    padding-bottom: 12px;
    border-bottom: 2px solid #e2e8f0;
}

/* ---- TOP NAMES ---- */
.imiona-name-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.imiona-name-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border-radius: 8px;
    transition: background .15s;
}
.imiona-name-item:hover { background: #f8fafc; }

.imiona-rank {
    font-size: .8rem;
    color: #94a3b8;
    width: 24px;
    text-align: center;
    font-weight: 600;
}

.imiona-name-item:nth-child(1) .imiona-rank { color: #f59e0b; font-size: 1rem; }
.imiona-name-item:nth-child(2) .imiona-rank { color: #9ca3af; font-size: .95rem; }
.imiona-name-item:nth-child(3) .imiona-rank { color: #b45309; font-size: .9rem; }

.imiona-name {
    flex: 1;
    font-weight: 600;
    color: #1e293b;
    font-size: 1rem;
}

.imiona-badge {
    font-size: .85rem;
    padding: 2px 8px;
    border-radius: 99px;
    font-weight: 600;
}
.imiona-badge-f { background: #fce7f3; color: #be185d; }
.imiona-badge-m { background: #dbeafe; color: #1d4ed8; }

.imiona-count {
    color: #475569;
    font-size: .9rem;
    font-variant-numeric: tabular-nums;
}

/* ---- RANKING BARS ---- */
.imiona-ranking-bars { display: flex; flex-direction: column; gap: 6px; }

.imiona-bar-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.imiona-bar-rank { width: 24px; font-size: .8rem; color: #94a3b8; text-align: right; flex-shrink: 0; }
.imiona-bar-name { width: 120px; flex-shrink: 0; font-weight: 600; font-size: .9rem; color: #1e293b; }

.imiona-bar-track {
    flex: 1;
    background: #f1f5f9;
    height: 18px;
    border-radius: 4px;
    overflow: hidden;
}

.imiona-bar-fill {
    height: 100%;
    border-radius: 4px;
    transition: width .6s ease;
}
.imiona-bar-f { background: linear-gradient(90deg, #ec4899, #f472b6); }
.imiona-bar-m { background: linear-gradient(90deg, #3b82f6, #60a5fa); }

.imiona-bar-count { width: 80px; text-align: right; font-size: .8rem; color: #64748b; flex-shrink: 0; }

/* ---- SEARCH ---- */
.imiona-search-form {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.imiona-input {
    flex: 1;
    min-width: 160px;
    padding: 10px 14px;
    border: 1.5px solid #e2e8f0;
    border-radius: 8px;
    font-size: .95rem;
    outline: none;
    transition: border-color .2s;
}
.imiona-input:focus { border-color: #6366f1; }

.imiona-select {
    padding: 10px 12px;
    border: 1.5px solid #e2e8f0;
    border-radius: 8px;
    font-size: .9rem;
    background: #fff;
    cursor: pointer;
}

.imiona-btn {
    padding: 10px 20px;
    background: #6366f1;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: .95rem;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s;
}
.imiona-btn:hover { background: #4f46e5; }

.imiona-search-results {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
}

.imiona-result-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    cursor: pointer;
    border-bottom: 1px solid #f1f5f9;
    transition: background .1s;
}
.imiona-result-row:hover { background: #f0f4ff; }
.imiona-result-row:last-child { border-bottom: none; }
.imiona-result-name { flex: 1; font-weight: 600; color: #1e293b; }
.imiona-result-count { font-size: .85rem; color: #64748b; }

.imiona-name-detail {
    margin-top: 16px;
    background: #f8fafc;
    border-radius: 10px;
    padding: 16px 20px;
}
.imiona-name-detail h4 { margin: 0 0 10px 0; font-size: 1.1rem; color: #1e293b; }
.imiona-detail-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.imiona-detail-table th { text-align: left; padding: 6px 10px; color: #64748b; font-weight: 600; border-bottom: 1px solid #e2e8f0; }
.imiona-detail-table td { padding: 6px 10px; border-bottom: 1px solid #f1f5f9; }

/* ---- FILTER BAR ---- */
.imiona-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-end;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 16px;
}

.imiona-filter-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.imiona-filter-group label {
    font-size: .75rem;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.imiona-loading {
    padding: 14px;
    color: #94a3b8;
    font-style: italic;
    display: flex;
    align-items: center;
    gap: 8px;
}
.imiona-loading::before {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid #e2e8f0;
    border-top-color: #6366f1;
    border-radius: 50%;
    flex-shrink: 0;
    animation: imiona-spin .7s linear infinite;
}
@keyframes imiona-spin { to { transform: rotate(360deg); } }

.imiona-search-filters {
    margin-top: 10px;
}

.imiona-filter-group {
    min-width: 120px;
}


.imiona-map-controls {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.imiona-map-results { margin-top: 10px; }

.imiona-no-data { color: #94a3b8; font-style: italic; }

@media (max-width: 600px) {
    .imiona-bar-name { width: 80px; font-size: .8rem; }
    .imiona-bar-count { width: 60px; }
    .imiona-search-form { flex-direction: column; }
    .imiona-map-controls { flex-direction: column; }
}

/* ════════════════════════════════════════════════
   SEARCH WIDGET – TABS & PANELS
   ════════════════════════════════════════════════ */
.isw-tabs {
    display: flex;
    gap: 4px;
    border-bottom: 2px solid #e2e8f0;
    margin-bottom: 20px;
}

.isw-tab {
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    padding: 10px 18px;
    margin-bottom: -2px;
    font-size: .95rem;
    font-weight: 600;
    color: #64748b;
    cursor: pointer;
    border-radius: 6px 6px 0 0;
    transition: color .15s, border-color .15s, background .15s;
}
.isw-tab:hover { color: #1e293b; background: #f8fafc; }
.isw-tab-active {
    color: #6366f1;
    border-bottom-color: #6366f1;
    background: #f5f3ff;
}

/* ── single detail ── */
.isw-detail-header {
    display: flex;
    align-items: baseline;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.isw-detail-header h4 {
    margin: 0;
    font-size: 1.25rem;
    color: #1e293b;
}
.isw-total-pill {
    background: #f1f5f9;
    border-radius: 99px;
    padding: 3px 12px;
    font-size: .82rem;
    color: #475569;
    font-weight: 600;
}

.isw-gender-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
.isw-gender-card {
    flex: 1;
    min-width: 120px;
    border-radius: 10px;
    padding: 12px 16px;
    font-size: .9rem;
    line-height: 1.6;
    text-align: center;
}
.isw-gender-card strong { font-size: 1.2rem; display: block; }
.isw-gender-f { background: #fdf2f8; color: #be185d; border: 1.5px solid #fbcfe8; }
.isw-gender-m { background: #eff6ff; color: #1d4ed8; border: 1.5px solid #bfdbfe; }

.isw-trend-label {
    font-size: .82rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin: 14px 0 6px 0;
}

/* ── compare panel ── */
.isw-compare-grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 16px;
    align-items: start;
    margin-bottom: 20px;
}

.isw-compare-vs {
    font-size: 1.1rem;
    font-weight: 800;
    color: #94a3b8;
    padding-top: 36px;
    text-align: center;
}

.isw-compare-label {
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .07em;
    margin-bottom: 8px;
    padding: 4px 10px;
    border-radius: 6px;
    display: inline-block;
}
.isw-label-a { background: #fdf2f8; color: #be185d; border: 1.5px solid #fbcfe8; }
.isw-label-b { background: #eef2ff; color: #4338ca; border: 1.5px solid #c7d2fe; }

.isw-compare-form { margin-bottom: 8px; }

.isw-btn-b { background: #6366f1; }
.isw-btn-b:hover { background: #4f46e5; }

.isw-cmp-results {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 8px;
    max-height: 220px;
    overflow-y: auto;
}

.isw-chosen-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border-radius: 99px;
    font-weight: 700;
    font-size: 1rem;
    margin-bottom: 4px;
}
.isw-chosen-chip .isw-clear-slot {
    background: none;
    border: none;
    cursor: pointer;
    font-size: .75rem;
    color: inherit;
    opacity: .6;
    padding: 0 2px;
    line-height: 1;
    transition: opacity .15s;
}
.isw-chosen-chip .isw-clear-slot:hover { opacity: 1; }
.isw-chosen-total {
    font-size: .82rem;
    color: #64748b;
}

/* compare output */
.isw-compare-output { margin-top: 4px; }

.isw-cmp-stat-row {
    display: flex;
    gap: 12px;
    margin-bottom: 16px;
}
.isw-cmp-stat {
    flex: 1;
    border-radius: 10px;
    padding: 14px 18px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.isw-cmp-name { font-size: 1.1rem; font-weight: 800; }
.isw-cmp-num  { font-size: 1.5rem; font-weight: 700; }
.isw-cmp-lbl  { font-size: .78rem; opacity: .7; }

.isw-compare-hint {
    text-align: center;
    color: #94a3b8;
    font-style: italic;
    margin: 8px 0 0;
    font-size: .9rem;
}

@media (max-width: 600px) {
    .isw-compare-grid { grid-template-columns: 1fr; }
    .isw-compare-vs   { padding-top: 0; }
    .isw-cmp-stat-row { flex-direction: column; }
}

/* filter output wrapper */
.imiona-filter-output { margin-top: 4px; }
.imiona-filter-output .imiona-widget-title { margin-bottom: 12px; }

/* ════════════════════════════════════════════════
   TRENDY WIDGET
   ════════════════════════════════════════════════ */
.imiona-trendy-filters {
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px;
}

.itr-arrow {
    font-size: 1.4rem;
    color: #94a3b8;
    padding-top: 22px;
    line-height: 1;
}

/* two-column layout for kierunek=oba */
.itr-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
@media (max-width: 700px) {
    .itr-cols { grid-template-columns: 1fr; }
}

.itr-subtitle {
    font-size: .75rem;
    font-weight: 400;
    color: #64748b;
    margin-left: 6px;
}

/* each trend row */
.itr-trend-list { display: flex; flex-direction: column; gap: 5px; }

.itr-row {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .88rem;
    min-height: 32px;
}

.itr-rank  { width: 24px; text-align: right; color: #94a3b8; font-size: .8rem; flex-shrink: 0; }
.itr-name  { width: 120px; font-weight: 600; color: #1e293b; flex-shrink: 0; }

.itr-bar-wrap {
    flex: 1;
    height: 10px;
    background: #f1f5f9;
    border-radius: 99px;
    overflow: hidden;
    min-width: 40px;
}
.itr-bar {
    height: 100%;
    border-radius: 99px;
    transition: width .4s ease;
}
.itr-bar-rise { background: #22c55e; }
.itr-bar-fall { background: #f87171; }

/* gender colour override on bars */
.itr-bar-rise.imiona-bar-f { background: #ec4899; }
.itr-bar-rise.imiona-bar-m { background: #3b82f6; }
.itr-bar-fall.imiona-bar-f { background: #f9a8d4; }
.itr-bar-fall.imiona-bar-m { background: #93c5fd; }

.itr-delta { width: 68px; text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; flex-shrink: 0; }
.itr-pct   { width: 68px; text-align: right; font-size: .82rem; flex-shrink: 0; }
.itr-base  { font-size: .75rem; color: #94a3b8; flex-shrink: 0; white-space: nowrap; }

.itr-positive { color: #16a34a; }
.itr-negative { color: #dc2626; }

.itr-loading { padding: 14px 0; }

/* ════════════════════════════════════════════════
   KARTA WIDGET
   ════════════════════════════════════════════════ */
.imiona-karta-widget { position: relative; }

/* Search bar */
.ik-search-bar {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
    position: relative;
    flex-wrap: wrap;
}
.ik-autocomplete, .ik-cmp-autocomplete {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,.1);
    z-index: 100;
    overflow: hidden;
    max-height: 280px;
    overflow-y: auto;
}
.ik-ac-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    cursor: pointer;
    transition: background .12s;
}
.ik-ac-row:hover { background: #f8fafc; }
.ik-ac-name  { flex: 1; font-weight: 600; color: #1e293b; }
.ik-ac-count { font-size: .8rem; color: #94a3b8; }

/* Card header */
.ik-header { margin-bottom: 20px; }
.ik-imie-title {
    font-size: 2rem;
    font-weight: 800;
    color: #1e293b;
    margin: 0 0 10px 0;
    letter-spacing: -.02em;
}
.ik-summary-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.ik-pill {
    background: #f1f5f9;
    border-radius: 99px;
    padding: 4px 14px;
    font-size: .82rem;
    font-weight: 600;
    color: #475569;
}
.ik-pill-f { background: #fdf2f8; color: #be185d; border: 1px solid #fbcfe8; }
.ik-pill-m { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; }

/* Sections */
.ik-section {
    border-top: 1px solid #f1f5f9;
    padding-top: 20px;
    margin-top: 20px;
}
.ik-section-title {
    font-size: 1rem;
    font-weight: 700;
    color: #334155;
    margin: 0 0 14px 0;
}

/* % share cards */
.ik-pct-cards { display: flex; gap: 16px; flex-wrap: wrap; }
.ik-pct-card {
    flex: 1;
    min-width: 160px;
    border-radius: 12px;
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.ik-pct-f { background: #fdf2f8; border: 1.5px solid #fbcfe8; }
.ik-pct-m { background: #eff6ff; border: 1.5px solid #bfdbfe; }
.ik-pct-icon  { font-size: 1.5rem; line-height: 1; }
.ik-pct-label { font-size: .8rem; color: #64748b; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.ik-pct-num   { font-size: 1.5rem; font-weight: 800; color: #1e293b; }
.ik-pct-share { font-size: .78rem; color: #64748b; }

/* Compare bar */
.ik-compare-bar {
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
    position: relative;
    flex-wrap: wrap;
}
.ik-cmp-autocomplete { min-width: 260px; }

/* Woj table */
.ik-woj-table { display: flex; flex-direction: column; gap: 5px; }
.ik-woj-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .88rem;
}
.ik-woj-rank  { width: 24px; text-align: right; color: #94a3b8; font-size: .8rem; flex-shrink: 0; }
.ik-woj-name  { width: 140px; font-weight: 600; flex-shrink: 0; }
.ik-woj-bar-track { flex: 1; height: 10px; min-width: 40px; }
.ik-woj-count { width: 80px; text-align: right; font-variant-numeric: tabular-nums; flex-shrink: 0; }
.ik-woj-pct   { width: 50px; text-align: right; color: #64748b; font-size: .82rem; flex-shrink: 0; }

/* Grid shortcodes */
.imiona-row { box-sizing: border-box; }
.imiona-col { box-sizing: border-box; }
.imiona-col .imiona-widget { height: 100%; }

@media (max-width: 600px) {
    .ik-pct-cards    { flex-direction: column; }
    .ik-woj-name     { width: 100px; font-size: .8rem; }
    .ik-woj-count    { width: 60px; }
    .imiona-col      { flex: 1 1 100% !important; }
}

/* ── NAKED mode ──────────────────────────────────────────────────── */
.imiona-naked.imiona-name-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.imiona-naked.imiona-name-list .imiona-name-item {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 6px;
    padding: 2px 0;
    border-bottom: 1px solid #f1f5f9;
}
.imiona-naked.imiona-name-list .imiona-name {
    font-weight: 600;
    color: #1e293b;
    flex: 1;
}
.imiona-naked.imiona-name-list .imiona-count {
    color: #64748b;
    font-size: .9rem;
    font-variant-numeric: tabular-nums;
}

.imiona-naked.imiona-ranking-bars .imiona-bar-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 2px 0;
    border-bottom: 1px solid #f1f5f9;
    gap: 6px;
}
.imiona-naked.imiona-ranking-bars .imiona-bar-name {
    flex: 1;
    font-weight: 600;
    color: #1e293b;
}
.imiona-naked.imiona-ranking-bars .imiona-bar-count {
    color: #64748b;
    font-size: .9rem;
}

/* naked trendy */
.itr-trend-list.imiona-naked .itr-row {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 2px 0;
    border-bottom: 1px solid #f1f5f9;
}
.itr-trend-list.imiona-naked .itr-name  { flex: 1; font-weight: 600; color: #1e293b; }
.itr-trend-list.imiona-naked .itr-delta { font-weight: 700; font-variant-numeric: tabular-nums; }

.ik-woj-pct-of-woj {
    width: 58px;
    text-align: right;
    color: #94a3b8;
    font-size: .78rem;
    flex-shrink: 0;
    cursor: help;
}

/* ── karta: woj table with headers ─────────────────────────────── */
.ik-woj-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .88rem;
}
.ik-woj-table thead th {
    text-align: right;
    padding: 4px 6px 8px;
    font-size: .75rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: .04em;
    border-bottom: 2px solid #e2e8f0;
    white-space: nowrap;
}
.ik-woj-table thead th.ik-woj-th-name,
.ik-woj-table thead th.ik-woj-th-rank { text-align: left; }
.ik-woj-table thead th.ik-woj-th-bar  { width: 100%; }
.ik-woj-table tbody tr { border-bottom: 1px solid #f1f5f9; }
.ik-woj-table tbody tr:hover { background: #f8fafc; }
.ik-woj-table td { padding: 5px 6px; vertical-align: middle; }
.ik-woj-rank     { color: #94a3b8; font-size: .8rem; text-align: left; white-space: nowrap; }
.ik-woj-name     { font-weight: 600; color: #1e293b; white-space: nowrap; }
.ik-woj-bar-td   { width: 100%; }
.ik-woj-bar-track { min-width: 40px; }
.ik-woj-count    { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ik-woj-pct      { text-align: right; color: #475569; white-space: nowrap; }
.ik-woj-pct-of-woj { text-align: right; color: #94a3b8; font-size: .82rem; white-space: nowrap; cursor: help; }

/* ── karta: section sub-label ───────────────────────────────────── */
.ik-section-sub {
    font-size: .82rem;
    color: #94a3b8;
    margin: -10px 0 12px;
    font-style: italic;
}

/* ── karta: local leaders ───────────────────────────────────────── */
.ik-leaders-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.ik-leader-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 99px;
    font-size: .85rem;
    font-weight: 600;
}
.ik-leader-f { background: #fdf2f8; border: 1.5px solid #fbcfe8; color: #be185d; }
.ik-leader-m { background: #eff6ff; border: 1.5px solid #bfdbfe; color: #1d4ed8; }
.ik-leader-icon  { font-size: 1rem; }
.ik-leader-woj   { color: inherit; }
.ik-leader-count { font-size: .78rem; opacity: .7; }

/* ── karta: yoy growth ──────────────────────────────────────────── */
.ik-yoy-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
@media (max-width: 600px) { .ik-yoy-cols { grid-template-columns: 1fr; } }
.ik-yoy-label {
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 8px;
    padding: 3px 10px;
    border-radius: 6px;
    display: inline-block;
}
.ik-yoy-f { background: #fdf2f8; color: #be185d; }
.ik-yoy-m { background: #eff6ff; color: #1d4ed8; }
.ik-yoy-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .85rem;
}
.ik-yoy-table th {
    text-align: right;
    padding: 3px 6px 6px;
    font-size: .72rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    border-bottom: 2px solid #e2e8f0;
}
.ik-yoy-table th:first-child { text-align: left; }
.ik-yoy-table td {
    padding: 4px 6px;
    text-align: right;
    border-bottom: 1px solid #f1f5f9;
    font-variant-numeric: tabular-nums;
}
.ik-yoy-table td:first-child { text-align: left; }

/* ── computed widget ─────────────────────────────────────────────── */
.icp-list { display: flex; flex-direction: column; gap: 5px; }

.icp-row {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .88rem;
    padding: 4px 0;
    border-bottom: 1px solid #f1f5f9;
}
.icp-rank  { width: 24px; text-align: right; color: #94a3b8; font-size: .8rem; flex-shrink: 0; }
.icp-name  { font-weight: 600; color: #1e293b; min-width: 90px; }
.icp-meta  { flex: 1; color: #64748b; font-size: .8rem; }
.icp-last  { font-variant-numeric: tabular-nums; flex-shrink: 0; }
.icp-delta { width: 58px; text-align: right; font-weight: 700; font-size: .82rem; flex-shrink: 0; }

.icp-footer {
    margin-top: 10px;
    font-size: .75rem;
    color: #94a3b8;
    font-style: italic;
}

.icp-list.imiona-naked .icp-row {
    justify-content: space-between;
}
.icp-list.imiona-naked .icp-name { flex: 1; }

/* ── liderzy widget ──────────────────────────────────────────────── */
.ilid-header {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 14px;
}
.ilid-header .imiona-widget-title { margin: 0; flex: 1; }
.ilid-controls { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }

.ilid-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .9rem;
}
.ilid-table thead th {
    text-align: left;
    padding: 4px 10px 8px;
    font-size: .75rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: .04em;
    border-bottom: 2px solid #e2e8f0;
}
.ilid-table th.ilid-th-count { text-align: right; }
.ilid-table tbody tr { border-bottom: 1px solid #f1f5f9; }
.ilid-table tbody tr:hover { background: #f8fafc; }
.ilid-table td { padding: 6px 10px; vertical-align: middle; }
.ilid-woj   { color: #64748b; font-size: .82rem; white-space: nowrap; }
.ilid-imie  { font-weight: 700; color: #1e293b; font-size: .95rem; }
.ilid-count { text-align: right; font-variant-numeric: tabular-nums; color: #475569; }

.ilid-table.imiona-naked td { padding: 4px 6px; }

/* ════════════════════════════════════════════════
   YOY RANKING WIDGET
   ════════════════════════════════════════════════ */
.iyoy-year-block { margin-bottom: 28px; }
.iyoy-year-title {
    font-size: .95rem;
    font-weight: 700;
    color: #334155;
    margin: 0 0 12px;
    padding-bottom: 6px;
    border-bottom: 2px solid #e2e8f0;
}
.iyoy-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
@media (max-width:600px) { .iyoy-cols { grid-template-columns:1fr; } }

.iyoy-plec-label {
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 8px;
    padding: 3px 10px;
    border-radius: 6px;
    display: inline-block;
}
.iyoy-plec-f { background:#fdf2f8; color:#be185d; }
.iyoy-plec-m { background:#eff6ff; color:#1d4ed8; }

.iyoy-row {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .86rem;
    padding: 3px 0;
    border-bottom: 1px solid #f1f5f9;
}
.iyoy-rank  { width:20px; text-align:right; color:#94a3b8; font-size:.78rem; flex-shrink:0; }
.iyoy-name  { font-weight:700; color:#1e293b; min-width:80px; flex-shrink:0; }
.iyoy-bar-wrap { flex:1; height:8px; background:#f1f5f9; border-radius:99px; overflow:hidden; min-width:30px; }
.iyoy-bar   { height:100%; border-radius:99px; transition:width .4s ease; }
.iyoy-bar-f { background:#ec4899; }
.iyoy-bar-m { background:#3b82f6; }
.iyoy-delta { width:55px; text-align:right; font-weight:700; font-size:.82rem; flex-shrink:0; }
.iyoy-base  { font-size:.75rem; color:#94a3b8; white-space:nowrap; flex-shrink:0; }

/* ════════════════════════════════════════════════
   HEATMAP WIDGET
   ════════════════════════════════════════════════ */
.imiona-heatmap-widget .ihm-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-end;
    padding: 14px 16px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    margin-bottom: 16px;
}

.ihm-output { display: flex; flex-direction: column; gap: 24px; }
.ihm-title  { font-size: 1rem; font-weight: 700; color: #1e293b; margin-bottom: 4px; }

.ihm-map-wrap { }
.ihm-map-title {
    font-size: .82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #64748b;
    margin-bottom: 6px;
}

.ihm-map-container {
    width: 100%;
    max-width: 560px;
}
.ihm-map-container svg {
    width: 100%;
    height: auto;
    display: block;
}

/* default fill for voivodeships before data loads */
.imiona-poland-map .voi { fill: #e2e8f0; }

.ihm-legend {
    margin-top: 6px;
    max-width: 300px;
}
.ihm-legend-bar {
    display: flex;
    height: 12px;
    border-radius: 4px;
    overflow: hidden;
}
.ihm-legend-bar span {
    flex: 1;
    display: block;
}
.ihm-legend-labels {
    display: flex;
    justify-content: space-between;
    font-size: .72rem;
    color: #64748b;
    margin-top: 3px;
}

/* side-by-side maps for both genders */
@media (min-width: 700px) {
    .ihm-output { flex-direction: row; flex-wrap: wrap; }
    .ihm-map-wrap { flex: 1; min-width: 280px; }
}
