/* Blogi — nur auf der finnischen Seite.
 *
 * Der Blog existiert auf aromainsel.com nicht, deshalb liegt sein Aussehen
 * hier und nicht im geteilten styles.css. _sync.py fasst diese Datei nicht an.
 * Die Kartenform folgt bewusst der Produktkarte des deutschen Shops, damit
 * beide Seiten dieselbe Sprache sprechen.
 */

.post-grid {
  display: grid; gap: clamp(1rem, 2.5vw, 1.75rem);
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}
.post-card {
  display: flex; flex-direction: column;
  background: #fff; border-radius: var(--radius);
  overflow: hidden; text-decoration: none; color: inherit;
  border: 1px solid var(--line);
  transition: transform .2s ease, box-shadow .2s ease;
}
.post-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.post-card__media { background: var(--paper-2); }
.post-card__media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.post-card__body { padding: 1.1rem 1.2rem 1.3rem; display: flex; flex-direction: column; gap: .45rem; }
.post-card__datum {
  font-size: .74rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--leaf); font-weight: 600;
}
.post-card h3 { font-size: 1.06rem; line-height: 1.25; }
.post-card__auszug { font-size: .9rem; color: var(--ink-soft); }

/* Archiv: alles Ältere als kompakte Liste, nach Jahr gruppiert */
.arkisto { margin-top: 1rem; }
.arkisto h3 {
  font-size: 1.5rem; margin: 2.2rem 0 .6rem;
  padding-bottom: .4rem; border-bottom: 1px solid var(--line);
}
.arkisto ul { list-style: none; padding: 0; }
.arkisto li { display: flex; gap: 1rem; align-items: baseline; padding: .42rem 0; border-bottom: 1px solid var(--line); }
.arkisto li:last-child { border-bottom: 0; }
.arkisto time { flex: 0 0 5.6rem; font-size: .8rem; color: var(--ink-mute); font-variant-numeric: tabular-nums; }
.arkisto a { color: inherit; text-decoration: none; border-bottom: 1px solid transparent; }
.arkisto a:hover { color: var(--leaf); border-bottom-color: currentColor; }

/* Beitragsseite */
.post-head__meta { font-size: .84rem; color: var(--ink-mute); margin-top: .6rem; }
.post-body { max-width: 42rem; margin-inline: auto; }
.post-body img { width: 100%; height: auto; border-radius: var(--radius); margin: 1.6rem 0; }
.post-body iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: var(--radius); margin: 1.6rem 0; }
.post-body h2 { font-size: clamp(1.35rem, 2.6vw, 1.75rem); margin: 2rem 0 .6rem; }
.post-body h3 { font-size: 1.15rem; margin: 1.6rem 0 .5rem; }
.post-nav {
  display: grid; gap: 1rem; margin-top: 3rem; padding-top: 1.6rem;
  border-top: 1px solid var(--line);
}
@media (min-width: 700px) { .post-nav { grid-template-columns: 1fr 1fr; } }
.post-nav a { text-decoration: none; color: inherit; font-size: .92rem; }
.post-nav a span { display: block; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-mute); margin-bottom: .25rem; }
.post-nav a:hover strong { color: var(--leaf); }
.post-nav__next { text-align: right; }

/* ---------------------------------------------------------- Tapahtumat
   Terminliste: links das Datum als Block, rechts der Inhalt. Vergangene
   Termine bleiben stehen, treten aber zurueck. */
.tapahtumat { display: grid; gap: 1.25rem; }
.tapahtuma {
  display: grid; gap: 1.25rem;
  background: #fff; border: 1px solid var(--line);
  border-radius: var(--radius); padding: clamp(1.2rem, 3vw, 1.9rem);
}
@media (min-width: 640px) { .tapahtuma { grid-template-columns: 6.5rem 1fr; } }
.tapahtuma__paiva {
  display: flex; flex-direction: column; align-items: flex-start;
  border-left: 3px solid var(--leaf); padding-left: .85rem;
}
@media (min-width: 640px) { .tapahtuma__paiva { align-items: center; border-left: 0; border-right: 1px solid var(--line); padding: 0 1rem 0 0; } }
.tapahtuma__pvm {
  font-family: var(--font-display); font-size: 1.5rem; line-height: 1.1;
  font-variation-settings: 'SOFT' 60, 'WONK' 1, 'opsz' 40; color: var(--leaf);
}
.tapahtuma__vuosi { font-size: .78rem; letter-spacing: .1em; color: var(--ink-mute); }
.tapahtuma h3 { font-size: 1.25rem; margin-bottom: .2rem; }
.tapahtuma .facts { font-size: .9rem; }
.tapahtuma--mennyt { background: transparent; opacity: .72; }
.tapahtuma--mennyt .tapahtuma__paiva { border-color: var(--line); }
.tapahtuma--mennyt .tapahtuma__pvm { color: var(--ink-mute); }

/* ------------------------------------------------- Suche im Blog
   114 Beitraege sind zu viele fuer reines Blaettern. Das Feld filtert
   Titel und Anreisser; der Index wird erst beim ersten Tastendruck
   geholt (blog/haku.json), damit die Seite leicht bleibt. */
.blog-haku {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem .8rem;
  margin-bottom: 1.6rem;
}
.blog-haku label {
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ink-mute);
  font-weight: 700;
  flex: 0 0 100%;
}
.blog-haku input[type="search"] {
  flex: 1 1 22rem;
  min-width: 0;
  font: inherit;
  color: var(--ink);
  background: var(--paper);
  border: 1.5px solid var(--line);
  border-radius: 12px;
  padding: .85em 1em;
  transition: border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.blog-haku input[type="search"]::placeholder { color: var(--ink-mute); opacity: .75; }
.blog-haku input[type="search"]:focus {
  outline: none;
  border-color: var(--leaf);
  box-shadow: 0 0 0 3px rgba(78, 107, 20, .13);
}
.blog-haku__tila {
  margin: 0 0 1.2rem;
  color: var(--ink-soft);
  font-size: .95rem;
}
.blog-haku__tila[hidden], .blog-haku input[hidden] { display: none; }
