/* Studio Otwartych Danych – Public UI */
.sod-box{border:1px solid #e2e2e2;border-radius:16px;padding:16px;background:#fff;margin:12px 0}
.sod-box h3{margin:0 0 10px 0}
.sod-box-error{border-color:#d63638}
.sod-meta{display:grid;grid-template-columns: 220px 1fr;gap:8px 12px}
.sod-meta .sod-k{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sod-meta .sod-v{min-width:0}
.sod-meta-fixed{grid-template-columns: 240px 1fr} /* stała szerokość etykiet */
.sod-btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;border:1px solid #d0d7de;padding:8px 12px;text-decoration:none}
.sod-btn:hover{background:#f6f8fa}
.sod-btn--ghost{background:#fff}
.sod-btn--ghost:hover{background:#f6f8fa}
.sod-btn--primary{background:#111827;color:#fff;border-color:#111827}
.sod-btn--primary:hover{background:#0b1220}

/* Subtle embed button ("Umieść na swojej stronie") */
.sod-embed-btn--tiny{padding:6px 10px;font-size:12px;line-height:1.2;opacity:.92}
.sod-embed-btn--tiny:hover{opacity:1}

/* Panel top bar (chart/map) */
.sod-panel-top{display:flex;justify-content:flex-end;align-items:center;margin:0 0 10px 0}
.sod-table-controls{justify-content:space-between}

/* Embed modal code block */
.sod-embed-code{border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#f9fafb;white-space:pre-wrap;word-break:break-word;cursor:pointer;font-size:12px;line-height:1.4;}
.sod-embed-code:focus{outline:3px solid rgba(37,99,235,.35);outline-offset:2px}
.sod-embed-toast{margin-top:10px;font-size:12px;color:#065f46}
.sod-columns{margin-top:12px}
.sod-columns .sod-chip{display:inline-flex;border:1px solid #d0d7de;border-radius:999px;padding:4px 10px;margin:0 6px 6px 0;font-size:12px}


/* Card style inspired by clean open data portals */
.sod-resource-card{box-shadow:0 6px 18px rgba(0,0,0,.04)}
.sod-box-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.sod-title{font-size:18px;line-height:1.2}
.sod-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.sod-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid #e2e2e2;background:#fafafa;font-size:12px;white-space:nowrap}
.sod-stars{font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;letter-spacing:1px}

.sod-section{margin-top:14px}
.sod-section-title{margin:0 0 8px 0;font-size:14px}
.sod-note{margin:8px 0 0 0;color:#606770;font-size:12px}

.sod-table-wrap{overflow:auto;border:1px solid #e2e2e2;border-radius:12px;max-height:min(60vh,520px)}
.sod-table-wrap::-webkit-scrollbar{height:10px;width:10px}
.sod-table-wrap::-webkit-scrollbar-thumb{background:rgba(0,0,0,.18);border-radius:999px}
.sod-table{border-collapse:collapse;width:100%;min-width:640px}
.sod-table th,.sod-table td{padding:10px 12px;border-bottom:1px solid #eee;font-size:13px;vertical-align:top}
.sod-table th{background:#fafafa;text-align:left;font-weight:600}
.sod-table thead th{position:sticky;top:0;z-index:2}
/* Sortable table headers (resource detail) */
.sod-table th.sod-th-sort{cursor:pointer;user-select:none}
.sod-table th.sod-th-sort:focus-visible{outline:2px solid #111;outline-offset:2px}
.sod-table .sod-sort-icon{margin-left:6px;font-size:12px;color:#6b7280}
.sod-table th.is-sorted-asc .sod-sort-icon,
.sod-table th.is-sorted-desc .sod-sort-icon{color:#111827}

.sod-table tbody tr:nth-child(even) td{background:#fcfcfd}
.sod-table tbody tr:hover td{background:#f6f8fa}
.sod-table tr:last-child td{border-bottom:none}

.sod-chart{border:1px solid #e2e2e2;border-radius:12px;padding:10px;background:#fff}
.sod-chart canvas{display:block;width:100%;max-height:240px}
.sod-chart-controls{margin-top:10px}
.sod-field{display:flex;flex-direction:column;gap:6px}
.sod-field__label{font-size:13px;font-weight:600}
.sod-select{padding:8px 10px;border-radius:12px;border:1px solid #e2e2e2;background:#fff;font-size:13px;max-width:360px}

.sod-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;flex-wrap:wrap}
.sod-shortcode-hint{font-size:12px;color:#606770}
.sod-shortcode-hint code{background:#f3f4f6;padding:2px 6px;border-radius:6px}

.sod-details{margin-top:10px}
.sod-cols-inline{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.sod-cols-inline code{background:#f3f4f6;padding:2px 6px;border-radius:6px;font-size:12px}

/* Two-column layout: tabs + metadata (right) */
.sod-resource-layout{display:grid;grid-template-columns:1fr 320px;gap:16px;align-items:start;margin-top:12px}
@media (max-width:900px){.sod-resource-layout{grid-template-columns:1fr}}

/* Public tabs */
.sod-tabs-public{border:1px solid #e2e2e2;border-radius:16px;overflow:hidden}
.sod-tab-nav-public{display:flex;gap:6px;flex-wrap:wrap;padding:10px;background:#fafafa;border-bottom:1px solid #e2e2e2}
.sod-tab-btn{border:1px solid #e2e2e2;background:#fff;border-radius:999px;padding:6px 10px;cursor:pointer;font-size:13px}
.sod-tab-btn.is-active{background:#111827;color:#fff;border-color:#111827}
.sod-tab-panels-public{padding:12px}
.sod-tab-panel{display:none}
.sod-tab-panel.is-active{display:block}

.sod-table-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.sod-table-controls label{font-size:13px;display:inline-flex;align-items:center;gap:6px}
.sod-table-controls select{padding:6px 8px;border-radius:10px;border:1px solid #e2e2e2;background:#fff}
.sod-table-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;line-height:1.2}
/* WCAG-friendly red badge (not color-only: we add an icon + bold text in markup). */
.sod-table-badge--loading{border:1px solid #5a0011;background:#b00020;color:#fff}
.sod-table-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sod-table-status{font-size:12px;line-height:1.2;padding:4px 10px;border-radius:999px;border:1px solid #e2e2e2;background:#fafafa;color:#475467}
.sod-table-status.is-loading{border-color:#f0b429;background:#fff7ed;color:#b45309}
.sod-table-status.is-err{border-color:#d63638;background:#fff5f5;color:#d63638}
.sod-table-status.is-ok{border-color:#22c55e;background:#f0fdf4;color:#166534}

/* Metadata box */
.sod-meta-box{border:1px solid #e2e2e2;border-radius:16px;padding:12px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.04)}
.sod-meta-box h4{margin:0 0 10px 0;font-size:14px}
.sod-meta-box .sod-meta{grid-template-columns:160px 1fr}

/* Star display */
.sod-stars-ui{display:inline-flex;align-items:center;gap:2px;vertical-align:middle}

/* SVG stars used in [open_data] resources quality */
.sod-star-icon{width:16px;height:16px;display:inline-block;stroke-width:1.5}
.sod-star-icon.is-on{fill:#d4af37;stroke:#d4af37}
.sod-star-icon.is-off{fill:#ffffff;stroke:#cbd5e1}
/* Stars (maturity / openness) – scoped to SOD classes */
.sod-star{font-size:16px;line-height:1;color:rgba(255,255,255,.85)}
.sod-star.sod-star--on{color:#d4af37}
.sod-star.sod-star--off{color:rgba(255,255,255,.85)}
.sod-star.is-on{color:#d4af37}
.sod-star.is-off{color:rgba(255,255,255,.85)}

/* Warnings */
.sod-warning{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid #f0b429;background:#fff7ed;border-radius:12px}
.sod-warning strong{color:#b45309}
.sod-warning--error{border-color:#d63638;background:#fff5f5}
.sod-warning--error strong{color:#d63638;font-weight:700}
.sod-warning svg{width:18px;height:18px;flex:0 0 auto;margin-top:1px}

/* Map */
.sod-map{height:320px;border:1px solid #e2e2e2;border-radius:12px;overflow:hidden}

/* Dataset: resources list under dataset description */
.sod-resource-list{display:flex;flex-direction:column;gap:12px}
.sod-resource-list-item{border:1px solid #e2e2e2;border-radius:16px;padding:12px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.04)}
.sod-resource-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.sod-resource-list-title{font-weight:700;text-decoration:none}
.sod-resource-list-title:hover{text-decoration:underline}
.sod-resource-list-badges{display:flex;gap:8px;align-items:center}

/* --- SOD: tags / keywords --- */
.sod-tags{margin:10px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.sod-tag-pill{display:inline-flex;align-items:center;padding:6px 10px;border:1px solid #E4E7EC;border-radius:999px;text-decoration:none;font-size:13px;line-height:1;color:#344054;background:#F9FAFB}
.sod-tag-pill:hover{background:#F2F4F7}

/* --- SOD: API box --- */
.sod-api-box{margin:14px 0 0;padding:14px;border:1px solid #E4E7EC;border-radius:16px;background:#FFFFFF;box-shadow:0 6px 18px rgba(0,0,0,.04)}
.sod-api-head h3{margin:0;font-size:18px;line-height:1.2}
.sod-api-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
.sod-api-card{padding:12px;border:1px solid #E4E7EC;border-radius:14px;background:#F9FAFB}
.sod-api-card h4{margin:0 0 10px 0;font-size:14px}
.sod-api-line{display:flex;gap:8px;align-items:flex-start;margin:6px 0}
.sod-api-line span{font-size:13px;color:#475467;min-width:60px}
.sod-api-line code{white-space:normal;word-break:break-all;display:block;flex:1}
.sod-api-ex summary{cursor:pointer;font-weight:600}
.sod-api-ex pre{margin:10px 0 0;padding:10px;border-radius:12px;background:#111827;color:#F9FAFB;overflow:auto}
.sod-api-ex code{color:inherit}
.sod-api-foot{margin-top:10px}

@media (max-width: 900px){
  .sod-api-grid{grid-template-columns:1fr}
}

/* --- SOD: history list --- */
.sod-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.sod-history-item{border:1px solid #E4E7EC;border-radius:12px;padding:10px 12px;background:#FFFFFF}
.sod-history-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sod-history-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#F2F4F7;font-size:12px;color:#344054}
.sod-history-note{margin-top:6px;color:#475467;font-size:13px}

.sod-map, .sod-map-admin{width:100%;min-height:380px;border-radius:12px;overflow:hidden;background:#f3f4f6;}

/* --- SOD: City metrics dashboard --- */
.sod-city-dashboard{margin:14px 0 0;border:1px solid #E4E7EC;border-radius:18px;padding:16px;background:#FFFFFF;box-shadow:0 6px 18px rgba(0,0,0,.04)}
.sod-city-dashboard__title{margin:0;font-size:20px;line-height:1.2}
.sod-city-dashboard__subtitle{margin-top:4px;color:#475467;font-size:13px}

/* Tiles: desktop grid, mobile carousel */
.sod-city-tiles{position:relative;margin-top:12px}
.sod-city-dashboard__grid{display:grid;grid-template-columns:repeat(var(--sod-cols,3), minmax(0,1fr));gap:12px}

.sod-metric{border:1px solid rgba(0,0,0,.08);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 6px 16px rgba(0,0,0,.06)}
.sod-metric{animation:sodPop .18s ease-out both}
@keyframes sodPop{from{transform:translateY(6px);opacity:.0}to{transform:translateY(0);opacity:1}}
.sod-metric__head{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--sod-bg,#101828);color:var(--sod-fg,#fff)}
.sod-metric__ico{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:rgba(255,255,255,.16)}
.sod-metric__head svg{display:block}
.sod-metric__name{font-weight:800;letter-spacing:.2px;font-size:13px;line-height:1.1}
.sod-metric__body{padding:16px;text-align:center}
.sod-metric__val{font-size:36px;font-weight:900;color:#101828;line-height:1.05;display:flex;justify-content:center;align-items:baseline;gap:8px}
.sod-metric__unit{font-size:14px;font-weight:800;color:#475467;margin-left:0}

/* Stan ludności (shortcode [stan_ludnosci]) */
.sod-pop-split{margin-top:8px;display:flex;justify-content:center;gap:14px;color:#475467;font-size:13px;font-weight:800}
.sod-pop-explain{margin-top:10px;color:#475467;font-size:12px;line-height:1.35;text-align:left}

.sod-city-tiles__arrow{position:absolute;top:50%;transform:translateY(-50%);border:1px solid #E4E7EC;background:#fff;color:#344054;width:34px;height:34px;border-radius:999px;box-shadow:0 10px 22px rgba(0,0,0,.12);display:none;align-items:center;justify-content:center;cursor:pointer;z-index:2}
.sod-city-tiles__arrow--left{left:-8px}
.sod-city-tiles__arrow--right{right:-8px}

.sod-city-dashboard__panel{margin-top:14px;border:1px solid #E4E7EC;border-radius:16px;padding:12px;background:#FFFFFF}
.sod-city-dashboard__panel-title{font-weight:700;color:#101828;margin-bottom:10px}
.sod-gender{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.sod-gender__donut{width:96px;height:96px;border-radius:50%;background:conic-gradient(#667085 calc(var(--sod-women,50) * 1%), #E4E7EC 0);position:relative}
.sod-gender__donut:after{content:"";position:absolute;inset:18px;background:#fff;border-radius:50%;border:1px solid #E4E7EC}
.sod-gender__legend{display:flex;flex-direction:column;gap:8px}
.sod-gender__row{color:#475467;font-size:13px}
.sod-dot{display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:8px}
.sod-dot--a{background:#667085}
.sod-dot--b{background:#E4E7EC}
.sod-muted{color:#475467;font-size:13px}

@media (max-width: 1100px){
  .sod-city-dashboard__grid{grid-template-columns:repeat(2, minmax(0,1fr));}
}
@media (max-width: 720px){
  .sod-city-dashboard__grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;-webkit-overflow-scrolling:touch}
  .sod-city-dashboard__grid::-webkit-scrollbar{height:8px}
  .sod-metric{min-width:72%;scroll-snap-align:start}
}

/* Arrows only on touch devices (mobile/tablet). Prevent showing on desktop even in narrow containers. */
@media (hover: none) and (pointer: coarse){
  .sod-city-tiles__arrow{display:flex}
}


/* Derived computed cards */
.sod-city-derived .sod-derived-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:10px}
.sod-derived{border:1px solid rgba(0,0,0,.08);border-radius:16px;background:#fff;padding:12px;box-shadow:0 4px 14px rgba(0,0,0,.04)}
.sod-derived__head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.sod-derived__ico{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:#F2F4F7;color:#101828}
.sod-derived__label{font-weight:800;font-size:13px;color:#344054;line-height:1.2}
.sod-derived__val{font-size:24px;font-weight:900;color:#101828;line-height:1.05}
@media (max-width: 900px){
  .sod-city-derived .sod-derived-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 520px){
  .sod-city-derived .sod-derived-grid{grid-template-columns:1fr}
}

/* Budget splits */
.sod-splits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:8px}
@media (max-width: 820px){ .sod-splits{grid-template-columns:1fr} }

/* --- Data quality (checkboxes) --- */
.sod-quality{margin-top:10px;padding:10px 12px;border:1px solid rgba(0,0,0,.10);border-radius:14px;background:rgba(0,0,0,.02);display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.sod-dot{opacity:.5}
.sod-quality-item{display:inline-flex;align-items:center;gap:6px}

/* Tooltip (simple, accessible) */
.sod-i{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;border:1px solid rgba(0,0,0,.25);font-weight:700;font-size:12px;line-height:1;cursor:help;position:relative;user-select:none}
.sod-i::after{content:attr(data-sod-tip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);background:#111;color:#fff;padding:8px 10px;border-radius:10px;max-width:280px;white-space:normal;opacity:0;pointer-events:none;transition:opacity .12s ease;box-shadow:0 10px 30px rgba(0,0,0,.22);z-index:99}
.sod-i::before{content:"";position:absolute;left:50%;bottom:calc(100% + 2px);transform:translateX(-50%);border:6px solid transparent;border-top-color:#111;opacity:0;transition:opacity .12s ease;z-index:99}
.sod-i:hover::after,.sod-i:focus::after,.sod-i:hover::before,.sod-i:focus::before{opacity:1}

/* --- Year switcher (front) --- */
.sod-city-dashboard__header{gap:14px}
.sod-year-switch{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.sod-year-switch__label{font-size:12px;opacity:.85}
.sod-year-switch__select{min-width:140px;padding:8px 10px;border:1px solid rgba(0,0,0,.18);border-radius:12px;background:#fff;color:#111;box-shadow:0 6px 16px rgba(0,0,0,.08)}
.sod-year-switch__select:focus{outline:2px solid rgba(11,95,255,.35);outline-offset:2px}

/* --- Trends --- */
.sod-city-trends .sod-trend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:8px}
.sod-trend{border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:14px;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.06)}
.sod-trend__title{font-weight:700;margin-bottom:10px}
.sod-trend__bars{display:flex;gap:10px;align-items:flex-end;height:120px;padding:10px 6px;border-radius:14px;background:rgba(17,24,39,.04)}
.sod-trend__bar{flex:1;min-width:34px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px}
.sod-trend__bar-fill{width:100%;border-radius:10px;background:linear-gradient(180deg, rgba(11,95,255,.92), rgba(122,90,248,.92));box-shadow:0 10px 18px rgba(11,95,255,.18)}
.sod-trend__bar-year{font-size:11px;opacity:.85}
.sod-trend__explain{margin-top:10px;font-size:12px;opacity:.9;line-height:1.35}
.sod-trend-note{margin:10px 0 0;font-size:12px;opacity:.85}

/* ------------------------------------------------------------------
   Osiedla / Dzielnice shortcode: [osiedla_dzielnice]
   ------------------------------------------------------------------ */
.sod-osiedla{max-width:1100px;margin:0 auto}
.sod-osiedla__head{display:flex;gap:16px;align-items:center;justify-content:space-between;margin:6px 0 12px;flex-wrap:wrap}
.sod-osiedla__title{margin:0;font-size:22px;line-height:1.2}
.sod-osiedla__year label{display:flex;align-items:center;gap:10px;font-size:13px}
.sod-osiedla__year select{min-width:140px;padding:8px 10px;border:1px solid rgba(0,0,0,.18);border-radius:12px;background:#fff;color:#111;box-shadow:0 6px 16px rgba(0,0,0,.08)}
.sod-osiedla__meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.sod-osiedla__list{display:flex;flex-direction:column;gap:10px}
.sod-osiedla__item{border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:16px 18px;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.06)}
.sod-osiedla__row{display:flex;gap:14px;align-items:flex-start;justify-content:space-between}
.sod-osiedla__name{font-weight:700;line-height:1.25;max-width:70%}
.sod-osiedla__nums{display:flex;gap:10px;align-items:baseline;justify-content:flex-end;white-space:nowrap}
.sod-osiedla__pop{font-weight:800;font-size:18px}
.sod-osiedla__pct{font-size:12px;opacity:.85;border:1px solid rgba(0,0,0,.12);border-radius:999px;padding:3px 8px}
.sod-osiedla__bar{margin-top:10px;height:10px;background:rgba(17,24,39,.06);border-radius:999px;overflow:hidden}
.sod-osiedla__bar span{display:block;height:100%;background:linear-gradient(90deg, rgba(11,95,255,.92), rgba(18,183,106,.9));border-radius:999px}
.sod-osiedla__note{margin:12px 0 0;font-size:12px;opacity:.85;line-height:1.35}

@media (max-width: 600px){
  .sod-osiedla__name{max-width:100%}
  .sod-osiedla__row{flex-direction:column;align-items:flex-start}
}


/* RDF validation box */
.sod-rdf-validation{
  margin: 10px 0 12px;
  padding: 12px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  background: rgba(0,0,0,.02);
}
.sod-rdf-validation__meta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:6px 0 8px;
}
.sod-rdf-validation__errors ul,
.sod-rdf-validation__warnings ul{
  margin:6px 0 0 18px;
}
.sod-rdf-validation__errors{ margin-top:8px; }
.sod-rdf-validation__warnings{ margin-top:8px; }
.sod-rdf-validation__details{ margin-top:8px; }


/* --- SOD: Rynek pracy --- */
.sod-labour .sod-city-dashboard__grid{grid-template-columns:repeat(var(--sod-cols,3), minmax(0,1fr));}
.sod-labour-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.sod-labour-chip{display:inline-flex;gap:6px;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(16,24,40,.06);color:#101828;font-size:12px}
.sod-labour-mini{display:flex;flex-direction:column;gap:4px;margin-top:10px;color:#101828}
.sod-labour-mini span{font-size:12px;background:rgba(16,24,40,.06);padding:6px 10px;border-radius:10px}
.sod-labour-sections{margin-top:14px;display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:12px}
@media(max-width:900px){.sod-labour-sections{grid-template-columns:1fr}}
.sod-labour-card{border:1px solid #E4E7EC;border-radius:18px;background:#fff;padding:14px;box-shadow:0 6px 18px rgba(0,0,0,.04)}
.sod-labour-card h3{margin:0 0 10px;font-size:15px}
.sod-labour-bars{display:flex;flex-direction:column;gap:10px}
.sod-labour-bar__top{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.sod-labour-bar__label{font-weight:700;font-size:13px;color:#101828}
.sod-labour-bar__val{font-size:13px;color:#101828}
.sod-labour-bar__pct{font-size:12px;color:#667085;margin-left:8px}
.sod-labour-bar__unit{font-size:11px;color:#667085}
.sod-labour-bar__track{height:10px;border-radius:999px;background:#F2F4F7;overflow:hidden;margin-top:6px}
.sod-labour-bar__fill{height:10px;border-radius:999px;background:#0B5FFF}


/* ====== Stage 7d: Modern portal layout (safe overrides) ====== */

.sod-layout{display:grid;grid-template-columns: 1fr 340px;gap:16px;align-items:start}
@media (max-width: 980px){.sod-layout{grid-template-columns:1fr}}
.sod-main{min-width:0}
.sod-sidebar{min-width:0;border:1px solid #e5e7eb;border-radius:16px;padding:14px;background:#fff}
.sod-sidebar__title{margin:0 0 10px 0;font-size:14px;letter-spacing:.02em;text-transform:uppercase;color:#374151}
.sod-sidebar__section{margin-top:12px;padding-top:12px;border-top:1px solid #eef2f7}
.sod-sidebar__h{margin:0 0 8px 0;font-size:13px;color:#111827}

.sod-hero{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;margin:0 0 14px 0;padding:12px 12px;border:1px solid #e5e7eb;border-radius:16px;background:linear-gradient(180deg,#fff,#f9fafb)}
.sod-hero__title{display:flex;align-items:center;gap:10px;min-width:0}
.sod-hero__title .sod-title{margin:0;font-size:18px;line-height:1.2}
.sod-hero__meta{display:flex;flex-wrap:wrap;gap:8px}
.sod-hero__cta{display:flex;flex-wrap:wrap;gap:8px}

.sod-format-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;border:1px solid #e5e7eb;background:#ffffff;color:#0f172a;flex:0 0 auto}
.sod-format-icon__svg{display:block}

.sod-badge--muted{background:#f3f4f6;border:1px solid #e5e7eb;color:#111827}

.sod-dl{display:flex;flex-direction:column;gap:8px;margin:0}
.sod-dl__row{display:grid;grid-template-columns: 42% 1fr;gap:10px;align-items:baseline}
.sod-dl__k{margin:0;font-weight:600;color:#111827}
.sod-dl__v{margin:0;min-width:0;color:#374151}
.sod-dl--compact .sod-dl__row{grid-template-columns: 120px 1fr}
@media (max-width: 520px){.sod-dl__row{grid-template-columns:1fr}.sod-dl--compact .sod-dl__row{grid-template-columns:1fr}}

.sod-chips{display:flex;flex-wrap:wrap;gap:6px}
.sod-chip{display:inline-flex;align-items:center;border:1px solid #d1d5db;border-radius:999px;padding:4px 10px;font-size:12px;background:#fff;color:#111827}

/* ETAP 6: Provider popularity bar */
.sod-popbar{height:6px;border-radius:999px;background:#e5e7eb;overflow:hidden;margin:6px 0 0}
.sod-popbar>span{display:block;height:100%;background:#111827;width:0}

.sod-stat-cards{display:grid;grid-template-columns: repeat(3, minmax(0,1fr));gap:10px;margin:0 0 12px 0}
@media (max-width: 720px){.sod-stat-cards{grid-template-columns:1fr}}
.sod-stat{border:1px solid #e5e7eb;border-radius:14px;padding:10px 12px;background:#fff}
.sod-stat__k{font-size:12px;color:#374151}
.sod-stat__v{font-size:18px;font-weight:700;color:#111827;margin-top:2px}

.sod-section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 10px;margin:16px 0 10px}
.sod-section-title{margin:0;font-size:16px}
.sod-section-badges{display:flex;flex-wrap:wrap;gap:8px}

.sod-resource-cards{display:grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap:12px;margin:0;padding:0;list-style:none}
@media (max-width: 980px){.sod-resource-cards{grid-template-columns:1fr}}
.sod-card{border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.04);padding:12px}
.sod-card__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px}
.sod-card__title{display:flex;align-items:center;gap:10px;min-width:0}
.sod-card__link{font-weight:700;text-decoration:none;color:#111827;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sod-card__link:hover{text-decoration:underline}
.sod-card__badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.sod-card__body{margin:10px 0 0 0;color:#374151}
.sod-card__foot{margin-top:10px;display:flex;flex-direction:column;gap:10px}

.sod-tab-nav-public[role="tablist"] .sod-tab-btn:focus,
.sod-tab-nav-public[role="tablist"] .sod-tab-btn:focus-visible{outline:3px solid rgba(16,185,129,.45);outline-offset:2px}

.sod-btn:focus,.sod-btn:focus-visible{outline:3px solid rgba(16,185,129,.45);outline-offset:2px}

/* Ensure tables and charts remain visible in main column */
.sod-tabs-public{min-width:0}


/* Dataset block: main + sidebar (mobile first) */
.sod-dataset-block{margin-top:14px}
.sod-dataset-layout{display:grid;grid-template-columns:1fr 320px;gap:16px;align-items:start}
/* Mobile: stack dataset details layout (do not affect desktop split) */
@media (max-width:720px){.sod-dataset-layout{grid-template-columns:1fr}}
.sod-dataset-main{min-width:0}

/* Empty state */
.sod-empty{border:1px dashed #d1d5db;border-radius:16px;padding:14px;background:#fff;color:#111827}

/* Focus ring for links inside plugin UI */
.sod-box a:focus,.sod-box a:focus-visible,
.sod-dataset-block a:focus,.sod-dataset-block a:focus-visible{
  outline:3px solid rgba(16,185,129,.45);
  outline-offset:2px;
}


/* Dataset card split layout: 70% content / 30% sidebar */
.sod-dataset-card .sod-split{display:flex;align-items:stretch;gap:18px}
.sod-dataset-card .sod-main{flex:0 0 70%;max-width:70%;min-width:0}
.sod-dataset-card .sod-split__sep{flex:0 0 1px;background:#eef2f7;border-radius:1px}
.sod-dataset-card .sod-sidebar{flex:0 0 30%;max-width:30%}

/* Responsive: stack on mobile */
/* Mobile: stack dataset details card */
@media (max-width: 720px){
  .sod-dataset-card .sod-split{flex-direction:column;gap:12px}
  .sod-dataset-card .sod-main{flex-basis:auto;max-width:100%}
  .sod-dataset-card .sod-sidebar{flex-basis:auto;max-width:100%}
  .sod-dataset-card .sod-split__sep{width:100%;height:1px}
}

/* Icon colors */
.sod-dataset-card .sod-format-icon--dataset{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.sod-dataset-card .sod-stars{font-size:14px;letter-spacing:1px}
.sod-dataset-card .sod-star{display:inline-block;line-height:1}

/* ================================
   Dataset details (single dataset)
   Desktop: 65/35 fixed columns
   Mobile: stacked 100%/100%
   ================================ */

.sod-ds-details{margin-top:10px}
.sod-ds-divider{height:1px;background:#eef2f7;border-radius:1px;margin:10px 0}

.sod-ds-iconrow{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.sod-ds-icoitem{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;line-height:1.1;min-width:0}
.sod-ds-icolabel{font-size:13px;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.sod-ds-ico{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;border:1px solid #e5e7eb}

/* Muted, pleasant icon colors */
.sod-ds-icoitem.is-dataset .sod-ds-ico{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.sod-ds-icoitem.is-formats .sod-ds-ico{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
.sod-ds-icoitem.is-views .sod-ds-ico{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.sod-ds-icoitem.is-version .sod-ds-ico{background:#f5f3ff;border-color:#ddd6fe;color:#5b21b6}
.sod-ds-icoitem.is-published .sod-ds-ico{background:#ecfeff;border-color:#a5f3fc;color:#0e7490}
.sod-ds-icoitem.is-rescount .sod-ds-ico{background:#fefce8;border-color:#fde68a;color:#92400e}

.sod-status--published{font-weight:800;color:#166534}

.sod-separator{border:0;height:1px;background:#eef2f7;border-radius:1px;margin:14px 0}

.sod-ds-res__ico{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#111827;margin-right:8px;vertical-align:middle}

/* Main split */
.sod-ds-split{display:grid;grid-template-columns:65% 35%;gap:18px;align-items:start}
.sod-ds-split__left{min-width:0}
.sod-ds-split__right{min-width:0}

/* DCAT box (right) */
.sod-dcat-box{border:1px solid #e5e7eb;border-radius:16px;background:#fff;padding:14px}
.sod-dcat-box__title{margin:0 0 10px;font-size:14px;font-weight:800;letter-spacing:.02em}
.sod-dcat-box__section{margin-top:12px}
.sod-dcat-box__h{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#374151;margin:0 0 8px}

/* Resources grid (max 3) */
.sod-ds-res__title{margin:0 0 10px;font-size:18px;font-weight:800}
.sod-ds-resgrid{display:grid;grid-template-columns:repeat(var(--sod-cols,1),minmax(0,1fr));gap:14px}
.sod-ds-rescard{border:1px solid #e5e7eb;border-radius:16px;background:#fff;padding:14px;min-width:0}
.sod-ds-rescard__title{display:flex;gap:10px;align-items:center;min-width:0}
.sod-ds-rescard__fmt{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;border:1px solid #e5e7eb;background:#f9fafb;font-weight:700;font-size:12px;color:#111827;flex:0 0 auto}
.sod-ds-rescard__link{font-weight:800;text-decoration:none;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.sod-ds-rescard__link:hover{text-decoration:underline}



/* Dataset detail: resource cards header/icon + title wrap + unified color */
.sod-ds-rescard--dsdetail .sod-ds-rescard__head{display:flex;align-items:flex-start;gap:10px}
.sod-ds-rescard--dsdetail .sod-ds-rescard__ico{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:#1d4ed8;min-width:28px;min-height:28px}
.sod-ds-rescard--dsdetail .sod-ds-rescard__title{margin:0;min-width:0}
.sod-ds-rescard--dsdetail .sod-ds-rescard__link{color:#1d4ed8;white-space:normal;overflow:visible;text-overflow:clip;display:inline}
.sod-ds-rescard--dsdetail .sod-ds-rescard__link:focus{outline:2px solid currentColor;outline-offset:2px}
/* Resource details header (single resource) */
.sod-rs-details{margin-top:10px}
.sod-rs-divider{height:1px;background:#eef2f7;border-radius:1px;margin:10px 0}
.sod-rs-iconrow{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.sod-rs-icoitem{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;line-height:1.1;min-width:0}
.sod-rs-icolabel{font-size:13px;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.sod-rs-ico{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;border:1px solid #e5e7eb}
.sod-rs-icoitem.is-date .sod-rs-ico{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.sod-rs-icoitem.is-format .sod-rs-ico{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
.sod-rs-icoitem.is-stars .sod-rs-ico{background:#fdf2f8;border-color:#fbcfe8;color:#9d174d}
.sod-rs-icoitem.is-views .sod-rs-ico{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.sod-rs-icoitem.is-provider .sod-rs-ico{background:#f5f3ff;border-color:#ddd6fe;color:#5b21b6}
.sod-rs-provider{text-decoration:none;font-weight:800;color:inherit}
.sod-rs-provider:hover{text-decoration:underline}
.sod-rs-stars{display:inline-flex;gap:2px;vertical-align:middle;margin-left:6px}
.sod-rs-star{font-size:14px;line-height:1;color:#9ca3af}
.sod-rs-star.is-filled{color:#d4af37}

/* Mobile: stack split and resources with 20px spacing */
@media (max-width:720px){
  .sod-ds-split{grid-template-columns:1fr;gap:12px}
  .sod-ds-iconrow{gap:8px}
  .sod-ds-icoitem{width:100%;justify-content:flex-start}
  .sod-ds-resgrid{grid-template-columns:1fr;gap:20px}

  /* Resource details: stack icon items on mobile */
  .sod-rs-iconrow{gap:8px}
  .sod-rs-icoitem{width:100%;justify-content:flex-start;margin:0}
}

/* -------------------------------
 * Issue report (WCAG modal)
 * ------------------------------- */

.sod-issue-report{margin-top:12px}
.sod-issue-report__btn{width:100%;display:flex;justify-content:center;align-items:center;gap:8px}
.sod-issue-report__ico{display:inline-flex;align-items:center}
.sod-issue-report__note{margin-top:8px;font-size:13px;line-height:1.35;color:#374151}

.sod-modal[hidden]{display:none !important}
.sod-modal{position:fixed;inset:0;z-index:9999}
.sod-modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.sod-modal__dialog{position:relative;max-width:720px;width:calc(100% - 32px);max-height:calc(100% - 32px);overflow:auto;margin:16px auto;background:#fff;border-radius:16px;box-shadow:0 10px 35px rgba(0,0,0,.3);padding:18px 18px 16px}
.sod-modal__close{position:absolute;top:10px;right:10px;border:1px solid #e5e7eb;background:#fff;border-radius:10px;width:38px;height:38px;cursor:pointer;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center}
.sod-modal__close:focus{outline:3px solid #2563eb;outline-offset:2px}
.sod-modal__title{margin:0 44px 6px 0;font-size:20px;line-height:1.25}
.sod-modal__desc{margin:0 0 14px;color:#374151}

/* Disabled download link (resource detail) */
.sod-disabled-link{display:inline-flex;align-items:center;gap:6px;color:#6b7280;text-decoration:none;cursor:not-allowed}
.sod-disabled-link:before{content:"⛔";font-size:14px;line-height:1}

.sod-form__row{margin-bottom:12px}
.sod-form__label{display:block;font-weight:700;margin-bottom:6px}
.sod-form__control{width:100%;border:1px solid #d1d5db;border-radius:12px;padding:10px 12px;font-size:15px;line-height:1.25}
.sod-form__control:focus{outline:3px solid #2563eb;outline-offset:2px}
.sod-form__hint{margin-top:6px;font-size:13px;color:#4b5563}
.sod-form__error{margin-top:6px;font-size:13px;color:#b91c1c}
.sod-form__puzzle{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sod-form__puzzle-q{font-weight:700}
.sod-form__rodo{margin:10px 0 0;font-size:13px;color:#374151}
.sod-hp{position:absolute;left:-99999px;top:auto;width:1px;height:1px;overflow:hidden}
.sod-form__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.sod-form__status{margin-top:12px;font-size:14px}
.sod-form__status[data-state="success"]{color:#166534}
.sod-form__status[data-state="error"]{color:#b91c1c}

/* Prevent background scroll when modal is open */
.sod-modal-open{overflow:hidden}

/* Dataset detail: resource cards (layout refresh) */
.sod-ds-rescard__topico{display:flex;align-items:center;justify-content:flex-start;margin:0 0 8px 0;color:#334155}
.sod-ds-rescard__title{margin:0;font-size:16px;line-height:1.25}
.sod-ds-rescard__desc{margin:10px 0;font-size:13px;line-height:1.45;color:#475569}
.sod-ds-rescard__meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:12px;color:#475569}
.sod-ds-rescard__meta--qual{justify-content:space-between}
.sod-ds-rescard__meta-item{display:inline-flex;align-items:center;gap:6px}
.sod-ds-rescard__meta-ico{display:inline-flex;align-items:center;justify-content:center;color:#64748b}
.sod-ds-rescard__maturity .sod-stars-ui{margin-left:6px}
@media (max-width: 600px){
  .sod-ds-rescard__title{font-size:15px}
  .sod-ds-rescard__meta--qual{justify-content:flex-start;gap:12px}
}

/* ===== Data Services (API) block inside dataset sidebar (shortcodes) ===== */
.sod-sidebar .sod-ds{border:1px solid #e5e7eb;border-radius:14px;background:#fff;padding:12px;margin:10px 0}
.sod-sidebar .sod-ds__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px}
.sod-sidebar .sod-ds__title{font-weight:800;font-size:14px;line-height:1.25;min-width:0}
.sod-sidebar .sod-ds__desc{font-size:13px;line-height:1.45;color:#475569;margin:6px 0 8px}
.sod-sidebar .sod-ds__row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0}
.sod-sidebar .sod-ds__k{font-size:12px;color:#334155;font-weight:700}
.sod-sidebar .sod-ds__v{font-size:12px;color:#0f172a}
.sod-sidebar .sod-ds__hint{font-size:12px;color:#64748b;margin-left:6px}
.sod-sidebar .sod-ds__params{margin-top:8px}
.sod-sidebar .sod-ds__params summary{cursor:pointer;font-size:12px;font-weight:700;color:#1d4ed8}
.sod-sidebar .sod-table{width:100%;border-collapse:collapse;font-size:12px}
.sod-sidebar .sod-table th,.sod-sidebar .sod-table td{border-bottom:1px solid #e5e7eb;padding:6px 4px;text-align:left;vertical-align:top}
.sod-sidebar .sod-table th{color:#334155;font-weight:800}

/* ===== DCAT quick links (dataset sidebar + [open_data] boxes) ===== */
.sod-dcat-links{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 0}
.sod-dcat-link{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;font-size:12px;line-height:1;color:#0f172a;text-decoration:none}
.sod-dcat-link svg{width:16px;height:16px;flex:0 0 auto;color:#334155}
.sod-dcat-link:hover{border-color:#cbd5e1}

.sod-od-dcatlinks{display:inline-flex;gap:8px;flex-wrap:wrap;align-items:center}
.sod-od-dcatlink{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;font-size:12px;line-height:1;color:#0f172a;text-decoration:none}
.sod-od-dcatlink svg{width:14px;height:14px;flex:0 0 auto;color:#334155}
.sod-od-dcatlink:hover{border-color:#cbd5e1}



/* Related resources in the same category (single resource page) */
.sod-related-resources{margin:28px 0 0}
.sod-related-resources__head{margin:0 0 14px}
.sod-related-resources__title{display:flex;align-items:center;gap:10px;margin:0;font-size:1.25rem;line-height:1.3;color:#111827}
.sod-related-resources__title-ico{display:inline-flex;align-items:center;justify-content:center;color:#1d4ed8}
.sod-related-resources__term{font-weight:500;color:#64748b;font-size:.95em}
.sod-related-resources__viewport{position:relative;padding:0 34px}
.sod-related-resources__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 24px)/3);gap:12px;overflow-x:auto;overflow-y:hidden;padding:2px 4px 10px;scroll-snap-type:x mandatory;scroll-padding-left:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none;mask-image:linear-gradient(to right,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%)}
.sod-related-resources__track::-webkit-scrollbar{display:none}
.sod-related-resources__card{scroll-snap-align:start;min-height:100%;display:flex;flex-direction:column;gap:12px;margin:0}
.sod-related-resources__card-title{font-size:16px}
.sod-related-resources__card-ico{color:#1d4ed8}
.sod-related-resources__dataset-row,.sod-related-resources__section--inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sod-related-resources__meta-ico{display:inline-flex;align-items:center;justify-content:center;color:#1d4ed8}
.sod-related-resources__meta-label,.sod-related-resources__section-label{font-size:13px;font-weight:700;color:#475569}
.sod-related-resources__dataset-link{font-weight:700;color:#1d4ed8;text-decoration:none}
.sod-related-resources__dataset-link:hover{text-decoration:underline}
.sod-related-resources__dataset-link.is-static{color:#111827;text-decoration:none}
.sod-related-resources__stars{display:inline-flex;align-items:center;gap:2px}
.sod-related-resources__chips{display:flex;flex-wrap:wrap;gap:8px}
.sod-related-resources__chip{font-weight:700}
.sod-related-resources__viz{display:flex;align-items:center;gap:10px;min-height:24px}
.sod-related-resources__viz-item{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;color:#475569}
.sod-related-resources__viz-empty{color:#94a3b8}
.sod-related-resources__footer{margin-top:auto;padding-top:10px;border-top:1px solid #eef2f7;font-size:13px;color:#475569}
.sod-related-resources__provider-label{font-weight:600;color:#475569}
.sod-related-resources__provider-link{font-weight:800;color:#1d4ed8;text-decoration:none}
.sod-related-resources__provider-link:hover{text-decoration:underline}
.sod-related-resources__provider-link.is-static{color:#111827;text-decoration:none}
.sod-related-resources__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:inline-flex;align-items:center;justify-content:center;width:30px;height:48px;border:1px solid #e5e7eb;border-radius:999px;background:rgba(255,255,255,.92);color:#64748b;box-shadow:0 6px 18px rgba(15,23,42,.08);cursor:pointer;transition:all .2s ease}
.sod-related-resources__nav:hover{color:#1d4ed8;border-color:#bfdbfe;background:#fff}
.sod-related-resources__nav:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}
.sod-related-resources__nav--prev{left:0}
.sod-related-resources__nav--prev svg{transform:rotate(180deg)}
.sod-related-resources__nav--next{right:0}
.sod-related-resources__nav.is-disabled{opacity:.45;cursor:default;pointer-events:none}
@media (max-width: 782px){
  .sod-related-resources__viewport{padding:0 28px}
  .sod-related-resources__track{grid-auto-columns:100%;gap:10px;padding-left:0;padding-right:0;mask-image:linear-gradient(to right,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%)}
  .sod-related-resources__title{font-size:1.15rem}
  .sod-related-resources__nav{width:26px;height:42px}
}
  .sod-related-resources__title{font-size:1.15rem}
}

/* v0.9.112.0 – related resources card refinements */
.sod-related-resources__dataset-row{align-items:flex-start;row-gap:4px}
.sod-related-resources__meta-label,.sod-related-resources__section-label,.sod-related-resources__dataset-link,.sod-related-resources__dataset-link.is-static{font-size:13px;line-height:1.5}
.sod-related-resources__dataset-link,.sod-related-resources__dataset-link.is-static{display:inline;font-weight:600;word-break:break-word;overflow-wrap:anywhere}
.sod-related-resources__section--inline{align-items:flex-start;row-gap:6px}
.sod-related-resources__chips{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px}
.sod-related-resources__chip{font-size:13px;line-height:1.5;font-weight:700}
.sod-related-resources__viz{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:24px}
.sod-related-resources__footer{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap}
.sod-related-resources__provider-link,.sod-related-resources__provider-link.is-static{display:inline;word-break:break-word;overflow-wrap:anywhere}
.sod-related-resources__track{scrollbar-width:none;-ms-overflow-style:none}
.sod-related-resources__viewport::before,.sod-related-resources__viewport::after{content:"";position:absolute;top:10px;bottom:10px;width:24px;pointer-events:none;z-index:1}
.sod-related-resources__viewport::before{left:28px;background:linear-gradient(to right,#fff,rgba(255,255,255,0))}
.sod-related-resources__viewport::after{right:28px;background:linear-gradient(to left,#fff,rgba(255,255,255,0))}
@media (max-width: 767px){
  .sod-related-resources__viewport::before{left:18px}
  .sod-related-resources__viewport::after{right:18px}
}
