/*
Theme Name: Next 21st Minimal
Author: Nextrockgroup
Description: Minimalist white front page with hero image and clickable text navigation + pagination.
Version: 1.3
*/

:root{
  --bg:#fff;
  --fg:#111;
  --muted:#666;
  --max: 980px;
}

*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  line-height:1.6;
}

/* Hide the small header image on the front page (front page already has the big hero) */
body.home .n21-siteheader,
body.front-page .n21-siteheader{
  display:none;
}

/* Site header (shown on post/pages) */
.n21-siteheader{
  padding: 18px 0;
  border-bottom: 1px solid rgba(0,0,0,.10);
}
.n21-siteheader-inner{
  display:flex;
  justify-content:center;
}
.n21-siteheader-link{
  display:block;
}
.n21-siteheader-img{
  width: min(820px, 100%);
  height: auto;
  display:block;
}

a{ color:inherit; text-decoration:none; }
a:focus{ outline:2px dashed #999; outline-offset:4px; }

.n21-container{
  width:min(var(--max), calc(100% - 40px));
  margin:0 auto;
}

.n21-hero{
  min-height: 78vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 40px 0 10px;
}

.n21-hero img{
  width:100%;
  max-width: 1100px;
  height:auto;
  display:block;
}

.n21-nav{
  padding: 6px 0 26px;
}

.n21-navtop{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin: 4px 0 14px;
}

.n21-pagecount{
  font-size: 12px;
  color: var(--muted);
  letter-spacing: .02em;
}

.n21-navline{
  display:flex;
  flex-wrap:wrap;
  gap: 12px 18px;
  justify-content:center;
  font-size: 18px;
  line-height: 1.7;
}

.n21-linktext{
  display:inline-block;
  padding: 2px 0;
  border-bottom: 1px solid transparent;
  transition: border-color 140ms ease, transform 160ms ease;
  will-change: transform;
}

.n21-linktext:hover{
  border-bottom-color: rgba(0,0,0,.28);
  animation: n21-shake 320ms linear both;
}

.n21-linktext.is-disabled{
  color: rgba(0,0,0,.35);
  border-bottom-color: transparent !important;
  cursor: default;
  pointer-events: none;
}

@keyframes n21-shake{
  0%   { transform: translate(0,0) rotate(0deg); }
  20%  { transform: translate(-1px, 0) rotate(-0.2deg); }
  40%  { transform: translate(1px, 0) rotate(0.2deg); }
  60%  { transform: translate(-1px, 0) rotate(-0.2deg); }
  80%  { transform: translate(1px, 0) rotate(0.2deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}

/* NEXT */
.n21-nextpage{
  display:inline-block;
  font-size: 12px;
  color: var(--muted);
  border-bottom: 1px solid rgba(0,0,0,.18);
}
.n21-nextpage:hover{
  color: var(--fg);
  border-bottom-color: rgba(0,0,0,.45);
  animation: n21-shake 320ms linear both;
}

/* Big black NEXT button */
.n21-nextpage--big{
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background:#000;
  border: 1px solid #000;
  border-radius: 999px;
  padding: 10px 18px;
  letter-spacing: .04em;
}
.n21-nextpage--big:hover{
  color:#fff;
  border-color:#000;
  animation: n21-shake 320ms linear both;
}

/* First post block */
.n21-first-post{
  padding: 0 0 70px;
}

.n21-post-title{
  font-size: 28px;
  line-height: 1.15;
  margin: 0 0 10px;
}

.n21-post-meta{
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 18px;
}

.n21-post-content img,
.n21-post-content video,
.n21-post-content iframe{
  max-width:100%;
  height:auto;
}

/* Single */
.n21-single{
  padding: 48px 0 70px;
}

.n21-back{
  display:inline-block;
  margin-bottom: 22px;
  font-size: 14px;
  color: var(--muted);
  border-bottom: 1px solid rgba(0,0,0,.18);
}

.n21-back:hover{
  color: var(--fg);
  border-bottom-color: rgba(0,0,0,.45);
  animation: n21-shake 320ms linear both;
}

.n21-postnav{
  margin-top: 28px;
  display:flex;
  gap: 18px;
  flex-wrap:wrap;
  justify-content:flex-start;
}

/* Pagination buttons */
.n21-pagenav{
  margin-top: 16px;
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  justify-content:center;
  align-items:center;
}

.n21-pagebtn{
  display:inline-block;
  font-size: 12px;
  color: var(--muted);
  border-bottom: 1px solid rgba(0,0,0,.18);
}
.n21-pagebtn:hover{
  color: var(--fg);
  border-bottom-color: rgba(0,0,0,.45);
  animation: n21-shake 320ms linear both;
}

.n21-pagebtn.is-current{
  color:#fff;
  background:#000;
  border:1px solid #000;
  border-bottom:none;
  border-radius: 999px;
  padding: 8px 14px;
}

.n21-nextpage--end{
  margin-left: 12px;
}

.n21-pagenum{
  font-size: 12px;
}
.n21-pagenum a,
.n21-pagenum span{
  display:inline-block;
  padding: 2px 6px;
  border-radius: 6px;
  border: 1px solid rgba(0,0,0,.14);
  color: var(--muted);
}
.n21-pagenum a:hover{
  color: var(--fg);
  border-color: rgba(0,0,0,.35);
  animation: n21-shake 320ms linear both;
}
.n21-pagenum .current{
  color: #fff;
  background:#000;
  border-color:#000;
}

/* Footer */
.n21-footer{
  padding: 26px 0 34px;
  border-top: 1px solid rgba(0,0,0,.10);
}
.n21-footer .n21-container{
  display:flex;
  flex-wrap:wrap;
  gap: 14px 20px;
  justify-content:center;
}
.n21-footer a{
  font-size: 12px;
  color: var(--muted);
  border-bottom: 1px solid rgba(0,0,0,.18);
}
.n21-footer a:hover{
  color: var(--fg);
  border-bottom-color: rgba(0,0,0,.45);
  animation: n21-shake 320ms linear both;
}

.n21-postnav a{
  color: var(--muted);
  border-bottom: 1px solid rgba(0,0,0,.18);
}
.n21-postnav a:hover{
  color: var(--fg);
  border-bottom-color: rgba(0,0,0,.45);
  animation: n21-shake 320ms linear both;
}
