/* XScale shared public theme */
:root,
html[data-theme="dark"]{
  --x-bg-1:#161b33;
  --x-bg-2:#071e31;
  --x-bg-page:#0b1220;
  --x-bg-soft:#111827;
  --x-card:rgba(17,24,39,.92);
  --x-card-solid:#111827;
  --x-panel:rgba(15,23,42,.72);
  --x-panel-2:rgba(30,41,59,.72);
  --x-input:rgba(15,23,42,.88);
  --x-text:#f8fafc;
  --x-heading:#ffffff;
  --x-muted:#b6c7e5;
  --x-muted-2:#8fa3c4;
  --x-border:rgba(255,255,255,.13);
  --x-border-strong:rgba(255,255,255,.22);
  --x-accent:#67d4ff;
  --x-accent-2:#f7d046;
  --x-link:#67d4ff;
  --x-success-bg:rgba(22,163,74,.16);
  --x-success-text:#bbf7d0;
  --x-success-border:rgba(34,197,94,.45);
  --x-error-bg:rgba(220,38,38,.16);
  --x-error-text:#fecaca;
  --x-error-border:rgba(248,113,113,.5);
  --x-warning-bg:rgba(245,158,11,.16);
  --x-warning-text:#fde68a;
  --x-warning-border:rgba(245,158,11,.45);
  --x-shadow:0 18px 50px rgba(0,0,0,.28);
  --bg1:var(--x-bg-1);--bg2:var(--x-bg-2);--card:var(--x-card);--text:var(--x-text);--muted:var(--x-muted);--surface:var(--x-panel);--surface2:var(--x-panel-2);--border:var(--x-border);--accent:var(--x-accent);--shadow:var(--x-shadow);
  color-scheme:dark;
}
html[data-theme="light"],
body.light-theme{
  --x-bg-1:#f8fbff;
  --x-bg-2:#dff4fb;
  --x-bg-page:#eef5ff;
  --x-bg-soft:#f8fafc;
  --x-card:rgba(255,255,255,.94);
  --x-card-solid:#ffffff;
  --x-panel:rgba(255,255,255,.86);
  --x-panel-2:#f1f5f9;
  --x-input:#ffffff;
  --x-text:#0f172a;
  --x-heading:#0b1220;
  --x-muted:#475569;
  --x-muted-2:#64748b;
  --x-border:rgba(15,23,42,.14);
  --x-border-strong:rgba(15,23,42,.24);
  --x-accent:#0284c7;
  --x-accent-2:#b7791f;
  --x-link:#0369a1;
  --x-success-bg:#dcfce7;
  --x-success-text:#14532d;
  --x-success-border:#86efac;
  --x-error-bg:#fee2e2;
  --x-error-text:#7f1d1d;
  --x-error-border:#fca5a5;
  --x-warning-bg:#fef3c7;
  --x-warning-text:#78350f;
  --x-warning-border:#fbbf24;
  --x-shadow:0 18px 50px rgba(15,23,42,.14);
  --bg1:var(--x-bg-1);--bg2:var(--x-bg-2);--card:var(--x-card);--text:var(--x-text);--muted:var(--x-muted);--surface:var(--x-panel);--surface2:var(--x-panel-2);--border:var(--x-border);--accent:var(--x-accent);--shadow:var(--x-shadow);
  color-scheme:light;
}
html,body{background:linear-gradient(135deg,var(--x-bg-1),var(--x-bg-2)) fixed!important;color:var(--x-text)!important;}
a{color:var(--x-link)}
.xscaleTop,.model-brand{background:var(--x-panel)!important;border:1px solid var(--x-border)!important;box-shadow:var(--x-shadow)!important;color:var(--x-text)!important;}
.xscaleBrand,.model-brand-main,.xscaleBrandName{color:var(--x-heading)!important}.xscaleBrandSub,.model-brand-sub,.sub,.small,.muted,.footerNote,.meta{color:var(--x-muted)!important}
.card,.model-shell,.hero-highlight,.stat-card,.contestItem,.modalCard,.pdf-preview-dialog,.table-wrap,.results-table,.model-loading,.hero-inner,.archiveBanner,.cardBody{background:var(--x-card)!important;border-color:var(--x-border)!important;color:var(--x-text)!important;box-shadow:var(--x-shadow)}
.hero-logo-bg{opacity:.16!important}html[data-theme="light"] .hero-logo-bg{opacity:.08!important}
header#hero,.results-section,.page-wrap,.wrap,.model-page{color:var(--x-text)!important}.contest-title,h1,h2,h3,.title,.section-head,.modelName,.contestName,.name{color:var(--x-heading)!important}
.stat-card span,.stat-card small,.hero-highlight *, .results-section *, .page-wrap *, .model-shell *, .contestItem *{color:inherit}.stat-card small,.hero-highlight .muted,.modelCat{color:var(--x-muted)!important}
input,select,textarea,.table-search-input,.table-material-filter,.inp{background:var(--x-input)!important;color:var(--x-text)!important;border-color:var(--x-border-strong)!important}input::placeholder,textarea::placeholder{color:var(--x-muted-2)!important}
button,.btn,.secondary,.resultBtn,.xscaleArchiveLink,.xscaleLink,.backLink,.hero-badge,.view-toggle-icon,.linkBtn,.pill{color:var(--x-text)!important;border-color:var(--x-border)!important;background:var(--x-panel-2)!important}.btn:not(.secondary),.resultBtn,.hero-badge-btn{background:linear-gradient(135deg,var(--x-accent-2),#ffd54a)!important;color:#111827!important}.xscaleControls{display:flex;align-items:center;gap:8px}.xscaleControls button,.theme-btn,.langBtn{border:1px solid var(--x-border)!important;background:var(--x-panel)!important;color:var(--x-text)!important;border-radius:999px;padding:8px 12px;font-weight:900;cursor:pointer}.theme-btn{min-width:42px}.langBtn{min-width:58px}
.results-table th{background:var(--x-panel-2)!important;color:var(--x-heading)!important}.results-table td{border-color:var(--x-border)!important;color:var(--x-text)!important}.results-table tr{background:transparent!important}.table-toolbar{background:var(--x-panel)!important;border-color:var(--x-border)!important}
.grid .card,.results-section .card,.stoiska .card{background:var(--x-card)!important;color:var(--x-text)!important;border-color:var(--x-border)!important}.badge{background:var(--x-warning-bg)!important;color:var(--x-warning-text)!important;border-color:var(--x-warning-border)!important}.msg{border:1px solid var(--x-border);color:var(--x-text)}.msg.ok,.ok{background:var(--x-success-bg)!important;color:var(--x-success-text)!important;border-color:var(--x-success-border)!important}.msg.err,.err,.error{background:var(--x-error-bg)!important;color:var(--x-error-text)!important;border-color:var(--x-error-border)!important}.modalOverlay{background:rgba(2,6,23,.62)!important}.xscaleFooter{margin:26px 0 0;padding:16px 4px;color:var(--x-muted)!important;font-size:12px;text-align:center}.xscaleFooter a{color:var(--x-accent)!important;font-weight:800;text-decoration:none}
html[data-theme="light"] img{filter:none}html[data-theme="light"] .hero-highlight img,html[data-theme="light"] .thumb{box-shadow:0 8px 20px rgba(15,23,42,.12)} 


html[data-theme="light"] #hero{
  background:
    radial-gradient(circle at top left, rgba(2,132,199,.10), transparent 35%),
    radial-gradient(circle at top right, rgba(183,121,31,.10), transparent 30%),
    linear-gradient(135deg, #f8fbff 0%, #eef5ff 55%, #dff4fb 100%) !important;
  border-bottom-color: var(--x-border) !important;
}
#hero{background:
  radial-gradient(circle at top left, rgba(212,175,55,.18), transparent 35%),
  radial-gradient(circle at top right, rgba(103,212,255,.12), transparent 30%),
  linear-gradient(135deg, var(--x-bg-soft) 0%, var(--x-card-solid) 55%, var(--x-bg-page) 100%) !important;
}
.hero-copy,.hero-highlight-body,.card-body,.wyniki-slide-caption{color:var(--x-text)!important;}
.hero-highlight-body p,.card-meta p,.wyniki-slide-caption p,.section-head p,#konkurs_opis,.empty-note{color:var(--x-muted)!important;}
.hero-highlight-body strong,.card-meta strong,.wyniki-slide-caption strong{color:var(--x-heading)!important;}
.hero-highlight-body h3,.card-body h3,.wyniki-slide-caption h3,#konkurs_nazwa_text{color:var(--x-heading)!important;}
.hero-highlight-card,.wyniki-slide,.card{background:var(--x-card-solid)!important;color:var(--x-text)!important;}
.card-image-wrap,.wyniki-slide-image-wrap,.hero-highlight-img{background:var(--x-panel-2)!important;}
.card-badge,.hero-highlight-kicker,.wyniki-slide-badge{background:var(--x-warning-bg)!important;color:var(--x-warning-text)!important;border:1px solid var(--x-warning-border)!important;}
.wyniki-slider{background:var(--x-card-solid)!important;border-color:var(--x-border)!important;}
.wyniki-slider-btn{background:var(--x-panel)!important;color:var(--x-heading)!important;border:1px solid var(--x-border)!important;}
.wyniki-slider-dot{background:var(--x-muted-2)!important;opacity:.55}.wyniki-slider-dot.active{background:var(--x-accent)!important;opacity:1}
html[data-theme="light"] .hero-inner,html[data-theme="light"] .hero-highlight,html[data-theme="light"] .stat-card,html[data-theme="light"] .card,html[data-theme="light"] .wyniki-slider,html[data-theme="light"] .table-wrap{background:var(--x-card-solid)!important;color:var(--x-text)!important;border-color:var(--x-border)!important;}
html[data-theme="light"] .results-section,html[data-theme="light"] #slider_section,html[data-theme="light"] .page-wrap{background:transparent!important;color:var(--x-text)!important;}
html[data-theme="light"] .section-head{border-bottom-color:var(--x-border)!important;}
html[data-theme="light"] .stat-card span{color:var(--x-heading)!important;}html[data-theme="light"] .stat-card small{color:var(--x-muted)!important;}
html[data-theme="light"] .table-material-filter option{background:#fff!important;color:#0f172a!important;}

/* Index archive banner: keep readable in both dark and light theme */
.archiveBanner{
  background:#78cfff !important;
  background-image:none !important;
  color:#061827 !important;
  border:1px solid rgba(110,231,255,.55) !important;
  box-shadow:0 14px 45px rgba(0,0,0,.16) !important;
}
.archiveBanner,.archiveBanner *{background-image:none !important;}
.archiveBanner:before,.archiveBanner:after,
.archiveBannerText:before,.archiveBannerText:after,
.archiveBannerIcon:before,.archiveBannerIcon:after{content:none !important;display:none !important;}
.archiveBannerText,.archiveBannerTitle,.archiveBannerSub,.archiveBannerIcon{background:transparent !important;}
.archiveBannerTitle{color:#061827 !important;}
.archiveBannerSub{color:#25445c !important;}
.archiveBannerIcon{color:#061827 !important;}
html[data-theme="light"] .archiveBanner{
  background:#d9f4ff !important;
  color:#062033 !important;
  border-color:rgba(2,132,199,.35) !important;
}
html[data-theme="light"] .archiveBannerTitle{color:#062033 !important;}
html[data-theme="light"] .archiveBannerSub{color:#33566f !important;}

/* Diploma preview modal must follow the selected public theme */
.pdf-preview-modal{background:rgba(2,6,23,.62)!important;}
.pdf-preview-dialog{background:var(--x-card-solid)!important;color:var(--x-text)!important;border:1px solid var(--x-border)!important;box-shadow:var(--x-shadow)!important;}
.pdf-preview-header{background:var(--x-panel)!important;color:var(--x-heading)!important;border-bottom:1px solid var(--x-border)!important;}
.pdf-preview-header strong{color:var(--x-heading)!important;background:transparent!important;}
.pdf-preview-header button{background:var(--x-panel-2)!important;color:var(--x-heading)!important;border:1px solid var(--x-border)!important;}
.pdf-preview-body{background:var(--x-bg-soft)!important;color:var(--x-text)!important;}
.pdf-preview-loader{background:rgba(15,23,42,.72)!important;color:#f8fafc!important;}
html[data-theme="light"] .pdf-preview-loader{background:rgba(255,255,255,.86)!important;color:#0f172a!important;}
html[data-theme="light"] .pdf-preview-body{background:#f8fafc!important;}
.card-meta p,.hero-highlight-body p,.wyniki-slide-caption p{color:var(--x-muted)!important;}
.card-meta strong,.hero-highlight-body strong,.wyniki-slide-caption strong{color:var(--x-heading)!important;}
.diploma-btn,.diploma-btn-small{color:var(--x-text)!important;background:var(--x-panel-2)!important;border-color:var(--x-border)!important;}
.diploma-btn:not(.diploma-btn-disabled){color:#111827!important;background:linear-gradient(135deg,var(--x-accent-2),#ffd54a)!important;}

/* Shared i18n/theme final normalization */
#slider_section .slider-page-wrap{max-width:1400px;margin:0 auto;}
#slider_section .section-head{padding-left:0;padding-right:0;}
.pdf-preview-dialog{background:var(--x-card-solid)!important;color:var(--x-text)!important;}
.pdf-preview-header,.pdf-preview-body{background:var(--x-panel)!important;color:var(--x-text)!important;}
.pdf-preview-header strong{color:var(--x-heading)!important;}
.pdf-preview-header button{color:var(--x-heading)!important;}
html[data-theme="light"] .pdf-preview-header,
html[data-theme="light"] .pdf-preview-body{background:var(--x-card-solid)!important;color:var(--x-text)!important;}

/* XScale public layout wrapper: shared header/content/footer baseline */
body.xscale-public-layout {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
body.xscale-public-layout > main,
body.xscale-public-layout > .wrap,
body.xscale-public-layout > .page-wrap {
  flex: 0 0 auto;
}
body.xscale-public-layout > [data-xscale-footer] {
  margin-top: auto;
}
[data-xscale-footer].xscale-layout-footer {
  width: 100%;
  max-width: 100%;
  flex: 0 0 auto;
  padding: 24px 16px 28px;
  text-align: center;
  clear: both;
}
.wrap [data-xscale-footer].xscale-layout-footer,
.page-wrap [data-xscale-footer].xscale-layout-footer,
.container [data-xscale-footer].xscale-layout-footer {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  max-width: 100vw;
}
.xscaleFooter {
  display: block;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  color: var(--muted, #64748b);
  font-size: 12px;
  line-height: 1.5;
}
.xscaleFooter a {
  color: var(--accent, currentColor);
  font-weight: 800;
  text-decoration: none;
}
.xscaleFooter a:hover { text-decoration: underline; }

/* Layout wrapper final fix: keep the public top bar aligned with page content, not shrink-wrapped. */
.xscaleTop{
  width:min(1400px, calc(100% - 40px)) !important;
  max-width:1400px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Results page layout: keep gallery/card content on the same full content grid as table view. */
body.xscale-public-layout #hero,
body.xscale-public-layout #slider_section,
body.xscale-public-layout #cards_section,
body.xscale-public-layout #table_section{
  width:100% !important;
}

#wyniki_dummy_never_match{display:none;}
#cards_section.page-wrap,
#table_section.page-wrap,
#slider_section .slider-page-wrap,
#hero .hero-inner{
  width:min(1400px, calc(100% - 40px)) !important;
  max-width:1400px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

#cards_section .grid{
  width:100% !important;
  grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)) !important;
}

@media (min-width: 1200px){
  #cards_section .grid{
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px){
  .xscaleTop,
  #cards_section.page-wrap,
  #table_section.page-wrap,
  #slider_section .slider-page-wrap,
  #hero .hero-inner{
    width:calc(100% - 24px) !important;
  }
}

/* ===== FIX: contest title w trybie jasnym ===== */
[data-theme="light"] .contestName {

    /* WYŁĄCZ efekty */
    background: none !important;
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
    filter: none !important;

    /* NORMALNY czytelny kolor */
    color: #1f2937 !important;
}

[data-theme="light"] .title {    color: #1e3a8a !important; /* lekko granat */}

/* === GLOBAL THEME FIX === */

body {
    transition: background 0.2s ease, color 0.2s ease;
}

body.dark {
    background: radial-gradient(circle at top, #0f1c2e, #0b1220);
    color: #e5e7eb;
}

body.light {
    background: #f5f7fb;
    color: #1a2a44;
}

.card, .panel, .box, .modal-content {
    border-radius: 12px;
}

body.dark .card, 
body.dark .panel,
body.dark .box,
body.dark .modal-content {
    background: #0f1c2e;
    color: #e5e7eb;
}

body.light .card, 
body.light .panel,
body.light .box,
body.light .modal-content {
    background: #ffffff;
    color: #1a2a44;
    border: 1px solid #e3e6ef;
}

button {
    transition: all 0.2s ease;
}

body.dark button {
    background: #1f2a44;
    color: #e5e7eb;
    border: 1px solid #2c3a5c;
}

body.light button {
    background: #ffffff;
    color: #1a2a44;
    border: 1px solid #d0d7e2;
}

body.light button:hover {
    background: #eef2f7;
}

.modal {
    backdrop-filter: blur(6px);
}

body.light .modal {
    background: rgba(255,255,255,0.7);
}

body.dark .modal {
    background: rgba(0,0,0,0.6);
}
