/* =========================================================
   FONTS
   ========================================================= */

@font-face {
  font-family: 'OldWizard';
  src: url('OldWizard.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

/* =========================================================
   RESET & NORMALIZATION
   ========================================================= */

*,
*::before,
*::after {
  box-sizing: border-box;
}

a,
button {
  cursor: revert;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

img {
  max-width: 100%;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

textarea {
  white-space: revert;
}

:focus {
  outline: none;
}

blockquote,
q {
  quotes: none;
}

blockquote::before,
blockquote::after,
q::before,
q::after {
  content: '';
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* =========================================================
   CSS VARIABLES
   ========================================================= */

:root {
  --black: 0, 0, 0;
  --white: 255, 255, 255;
  --background: 69, 72, 64;
  --text: 160, 178, 118;
  --hover: 160, 159, 66;
  --link: 224, 217, 136;
  --headings: 31, 97, 66;
  --title: 245, 234, 86;
}

/* =========================================================
   BASE TYPOGRAPHY
   ========================================================= */

body {
  background: rgba(var(--background))
    url('../images/forest.jpg') fixed no-repeat;
  background-size: cover;
  color: rgba(var(--text));
  font-family: 'Poltawski Nowy', 'Times New Roman', serif;
  font-size: calc(18px + 0.390625vw);
  font-weight: 400;
  line-height: 1.8;
  margin: 4vh 2vw;
  text-align: center;
}

strong,
b {
  font-weight: 700;
}

em,
i {
  font-style: italic;
}

p {
  padding-bottom: 1.25rem;
}

hr {
  height: 1px;
  background-image: linear-gradient(
    to right,
    transparent,
    rgba(var(--link), 0.75),
    transparent
  );
  border: none;
}

/* =========================================================
   LINKS
   ========================================================= */

a {
  color: rgba(var(--link));
  font-weight: 600;
  text-decoration: none;
  transition: color 0.3s linear;
}

a:hover {
  color: rgba(var(--hover));
}

/* =========================================================
   HEADINGS
   ========================================================= */

h1 {
  font-family: 'OldWizard', 'Poltawski Nowy', Times New Roman, serif;
  font-size: 6vw;
  font-weight: 400;
  line-height: 1.3;
  color: rgba(var(--title));
}

h2,
h3,
h4,
h5,
h6 {
  font-style: italic;
  font-weight: 600;
  line-height: 1.2;
}

h2 {
  font-size: 1.6em;
  text-shadow: 2px 2px rgba(var(--background));
}

h3 {
  font-size: 1.5em;
}

h4 {
  font-size: 1.4em;
}

h5 {
  font-size: 0.8em;
  color: rgba(var(--title));
  font-style: normal;
}

h6 {
  font-size: 1.1em;
}

.updates {
  color: rgba(var(--link));
  font-size: 0.8em;
  background-color: rgba(var(--background), 0.7);
  padding: 4px;
  display: inline-block;
}

/* =========================================================
   LISTS
   ========================================================= */

ul,
ol {
  list-style-position: inside;
  margin-bottom: 1.25em;
  padding-left: 1.25rem;
}

ul li ul {
  margin-bottom: 0;
}

/* =========================================================
   FORMS & BUTTONS
   ========================================================= */

input,
textarea,
select {
  background-color: rgba(var(--background)) !important;
  border: 1px solid rgba(var(--hover)) !important;
  color: rgba(var(--text)) !important;
  font-size: 1em;
  padding: 0.625rem;
  margin: 0.2rem;
  font-family: 'Poltawski Nowy', 'Times New Roman', serif;
}

input:focus,
textarea:focus,
select:focus {
  border-color: rgba(var(--link));
}

button {
  display: block;
  background-color: rgba(var(--background));
  border: 1px solid rgba(var(--link));
  color: rgba(var(--link));
  font-size: 0.9em;
  padding: 0.625rem;
  transition: transform 0.3s linear;
  margin: 0.2rem;
  font-family: 'Poltawski Nowy', 'Times New Roman', serif;
}

button:hover {
  transform: translate(1px, 1px);
}

/* =========================================================
   LAYOUT STRUCTURE
   ========================================================= */

.container {
  display: flex;
  background-color: rgba(var(--background), 0.8);
  max-width: 1920px;
  margin: 0 auto;
  text-align: left;
  flex-wrap: wrap; /* ← THIS is the key */
}

.content {
  flex: 1;
  padding: 0.625rem 1.875rem;
  text-shadow: 1px 1px rgba(var(--background));
}

.sidebar {
  flex: 0 0 25%;
  padding: 0.625rem 1.875rem;
}

.left {
  order: -1;
  max-width: 250px;
}

.right {
  max-width: 350px;
  font-size: 0.8em;
}

header {
  text-align: center;
}

header a {
  color: rgba(var(--title));
}

/* =========================================================
   FOOTER
   ========================================================= */

.site-footer {
  width: 100%;                 /* span all columns */
  text-align: center;          /* center text */
  padding: 1.5rem 1rem;
  margin-top: 1rem;
  font-size: 0.85em;
  color: rgba(var(--text));
}


/* =========================================================
   MENU
   ========================================================= */

#menu {
  font-size: 0.9em;
}

#menu ul {
  list-style: none;
  margin-bottom: 0.625rem;
  padding: 0;
}

/* =========================================================
   COMPONENTS
   ========================================================= */

.tags a {
  text-transform: lowercase;
}

.archive-year {
  color: rgba(var(--title), 0.9);
}

.pixel-left {
  float: left;
  height: 200px;
  padding-right: 10px;
}

.pixel-right {
  float: right;
  height: 200px;
}

/* Profile */

.profile-card {
  max-width: 420px;
  padding: 6px;
  line-height: 1.5;
}

.profile-avatar {
  float: left;
  width: 120px;
  border-radius: 50%;
  margin: 0 16px 8px 0;
  border: 1px solid rgba(var(--title));
}

.profile-row {
  margin-bottom: 15px;
  text-align: left;
}

.profile-key {
  font-weight: 600;
  background-color: rgba(var(--link));
  color: rgba(var(--background));
  padding: 4px;
}

.profile-clear {
  clear: both;
}

/* =========================================================
   HUGO PAGINATION
   ========================================================= */

.pagination {
  display: flex;
  flex-wrap: nowrap;        /* force single row */
  justify-content: flex-start;
  align-items:baseline;
  /* gap: 0.2rem; */
  margin: 1.5rem 0;
  text-align: left;
  padding-left: 0;
}

.pagination a,
.pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.35rem 0.6rem;
  font-size: 0.9em;
  white-space: nowrap;      /* prevent wrapping */
}

/* Current page */
.pagination .active,
.pagination span[aria-current="page"] {
  font-weight: 700;
  color: rgba(var(--title));
}

/* Disabled links (e.g. prev on first page) */
.pagination .disabled,
.pagination span[aria-disabled="true"] {
  opacity: 0.5;
  pointer-events: none;
}

/* Optional: subtle hover */
.pagination a:hover {
  color: rgba(var(--hover));
}

.pagination ul, li {
  list-style: none;
  padding-left: 0px;
}

.pagination .page-link {
  display: block;
}


/* Hide prev / next arrows (pagination) */
.pagination a[rel="prev"],
.pagination a[rel="next"],
.pagination .prev,
.pagination .next {
  display: none !important;
}

.pagination li:has(a[rel="prev"]),
.pagination li:has(a[rel="next"]) {
  display: none;
}

.pagination span {
  display: none;
}

.pagination > .page-item.active a {
  color: rgba(var(--text));
}


/* Status Cafe */

#statuscafe {
  padding: 0.5em;
  border: 1px solid #f5ea56;
}

#statuscafe-content {
  font-style: italic;
}

/* =========================================================
   DETAILS / ARCHIVE
   ========================================================= */

details summary {
  cursor: pointer;
  font-size: 1.2em;
  list-style: none;
}

details[open] .hidden-text {
  animation: fadeIn 0.3s ease;
}

.hidden-text {
  font-size: 1.1em;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* =========================================================
   BUTTON WALL
   ========================================================= */

.button-wall {
  text-align: center;
  margin: 20px;
}

.button-link {
  display: inline-block;
  width: 88px;
  height: 31px;
  margin: 5px;
  transition: transform 0.2s ease;
}

.button-link:hover {
  transform: scale(1.05);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}

.button-image {
  width: 100%;
  height: 100%;
  display: block;
}

.my-button {
  padding: 10px;
}

/* =========================================================
   UTILITIES
   ========================================================= */

.gradient {
  background: linear-gradient(
    90deg,
    rgba(86, 92, 69, 0.74) 48%
  );
}

.credits ul {
  list-style: none; /* Remove default list markers */
  padding: 0;      /* Adjust padding/margin as needed */
  margin: 0;
}

.credits li {
  padding-left: 30px; /* Make space for the custom marker */
  position: relative; /* Position the pseudo-element relative to the list item */
}

.credits li::before {
  content: "";
  background-image: url('../images/leafpixel.png');
  background-size: 20px 20px; /* Control the image size */
  background-repeat: no-repeat;
  background-position: center left; /* Align the image */
  width: 20px; /* Set the width and height */
  height: 20px;
  position: absolute; /* Position the pseudo-element */
  left: 0;
  top: 50%;
  transform: translateY(-50%); /* Vertically center the image */
}

#HCB_comment_box h3 {
  font-family: 'Poltawski Nowy', 'Times New Roman', serif !important;
}

input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  width: 1.2rem;
  height: 1.2rem;
  border: 2px solid rgba(var(--link));
  border-radius: 4px;
  background-color: rgba(var(--background));
  cursor: pointer;
  position: relative;
}

/* Checked state */
input[type="checkbox"]:checked {
  background-color: rgba(var(--link));
  border-color: rgba(var(--link));
}

/* Checkmark */
input[type="checkbox"]:checked::after {
  content: "✓";
  position: absolute;
  color: rgba(var(--title));
  font-size: 0.9rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.post input, 
.post label {
  vertical-align: middle;
}

/* Optional: Add some spacing */
.post input {
  margin-right: 10px;
}




/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 960px) {
  h1 {
    font-size: 8vw;
  }

  .container {
    flex-direction: column;
  }

  .left,
  .right {
    max-width: 100%;
  }

  #menu {
    column-count: 3;
  }

  .submenu {
    display: none;
  }
}
