/*
Theme Name: Minimal Archive
Description: Prosty szablon archiwum z listą artykułów (miniatura po lewej, tekst po prawej), sortowaniem i przełącznikiem 1/2 kolumny.
Version: 1.2.0
Text Domain: minimal-archive
*/

:root {
  --container: 1100px;
  --gap: 1.2rem;
  --radius: 14px;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica, Arial;
  line-height: 1.6;
  color: #111;
  background: #fff;
}

a {
    color: #000000;
    font-weight: 400;
    text-decoration: none;
    font-size: 35px;
}
.list-controls a,
a.page-numbers  {
  font-size: 12px;
}
a:hover { text-decoration: underline; }

.container { max-width: var(--container); margin: 0 auto; padding: 0 1rem; }

.site-header { border-bottom: 1px solid #eee; top: 0; background: #fff; z-index: 10; }

.brand { display: flex; align-items: center; gap: .8rem; padding: .8rem 0; }
.brand .site-title { font-size: 1.25rem; font-weight: 700; margin: 0; }
.brand .site-description { font-size: .9rem; color: #666; margin: 0; }

.nav { list-style: none; margin: 0; padding: .5rem 0 1rem; display: flex; flex-wrap: wrap; gap: .8rem; }
.nav a { display: inline-block; padding: .5rem .8rem; border-radius: .6rem; }
.nav .current-menu-item > a, .nav a:hover { background: #f2f4f7; text-decoration: none; }

.archive-header { padding: 1.5rem 0 1rem; border-bottom: 1px solid #f1f1f1; margin-bottom: 1rem; }
.archive-header h1 { margin: 0 0 .2rem; }
.archive-description { color: #666; }

/* Controls bar */
.list-controls {
  display: flex; gap: .8rem; align-items: center; flex-wrap: wrap;
  padding: .8rem 0; margin-bottom: .4rem;
}
.list-controls form.search { display: flex; gap: .4rem; align-items: center; }
.list-controls input[type="search"]{ padding: .5rem .7rem; border: 1px solid #e5e7eb; border-radius: .6rem; min-width: 220px; }
.list-controls select, .list-controls button, .list-controls .toggle-group a {
  padding: .5rem .7rem; border: 1px solid #e5e7eb; border-radius: .6rem; background: #fff; cursor: pointer; text-decoration: none; color: #111;
}
.list-controls .toggle-group { display: inline-flex; border: 1px solid #e5e7eb; border-radius: .6rem; overflow: hidden; }
.list-controls .toggle-group a { border: 0; padding: .5rem .8rem; }
.list-controls .toggle-group a.active { background: #0b57d0; color: #fff; }

/* List grid */
.list-grid {
  display: grid;
  gap: var(--gap);
  margin: .8rem 0 2rem;
}
.list-grid.cols-1 { grid-template-columns: 1fr; }
.list-grid.cols-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
@media (max-width: 900px) { .list-grid.cols-2 { grid-template-columns: 1fr; } }

/* Item */
.list-item {
  border: 1px solid #eee; border-radius: var(--radius); background: #fff;
  overflow: hidden;
}

.item-inner {
  display: grid;
  grid-template-columns: 38% 1fr; /* left thumb, right text */
  gap: 1rem;
}
@media (max-width: 640px) {
  .item-inner { grid-template-columns: 1fr; }
}

.item-thumb {
  width: 100%; height: 100%;
  aspect-ratio: 16/9; object-fit: cover; background: #f4f6f8; display:block;
}

.item-body { padding: 1rem; }
.item-body h2 { margin: 0 0 .4rem; font-size: 1.15rem; line-height: 1.3; }
.item-meta { color: #666; font-size: .9rem; margin-bottom: .4rem; }
.item-excerpt { color: #333; }

/* Pagination */
.pagination { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; justify-content: center; margin-bottom: 2rem; }
.pagination a, .pagination span { padding: .5rem .8rem; border-radius: .6rem; border: 1px solid #eee; }
.pagination .current { background: #0b57d0; color: #fff; border-color: #0b57d0; }

/* Footer */
.site-footer { background: #0b0b0b; color: #e9e9e9; margin-top: 2rem; padding: 2rem 0; }
.footer-widgets { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); margin-bottom: 1rem; }
@media (max-width: 980px) { .footer-widgets { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .footer-widgets { grid-template-columns: 1fr; } }
.site-footer a { color: #fff; }
.site-footer .site-info { font-size: .9rem; color: #bdbdbd; }

/* Single */
.single-header { padding: 1.5rem 0 1rem; border-bottom: 1px solid #f1f1f1; margin-bottom: 1rem; }
.single-title { margin: 0 0 .4rem; font-size: 2rem; line-height: 1.2; }
.single-meta { color: #666; font-size: .95rem; }
.single-thumb { margin: .8rem 0 1rem; border-radius: var(--radius); overflow: hidden; }
.single-content { font-size: 1.05rem; }
.single-content img { max-width: 100%; height: auto; }
.post-nav { display: flex; justify-content: space-between; gap: 1rem; padding: 1.5rem 0; border-top: 1px solid #eee; }
