/*
  A szerveroldalon kiszolgált bejegyzés-oldal (/blog/<id>) stílusa.
  Ugyanazt a megjelenést adja, mint a blog.html bejegyzés-nézete — azért külön
  fájl, mert a Cloud Function csak a HTML-t állítja elő, a formázást innen kéri.
*/
:root{
  --bordo:#7a1f33;
  --bordo-dark:#5e1626;
  --gold:#b98b4e;
  --gold-dark:#8a6537;
  --cream:#faf7f2;
  --text:#2e2a28;
  --muted:#6b625c;
}
*{box-sizing:border-box; margin:0; padding:0;}
/* Mobilon a koppintás kékes villanását kapcsolja ki az egész oldalon. */
html{-webkit-tap-highlight-color:transparent;}
body{
  font-family: 'Georgia', 'Times New Roman', serif;
  color:var(--text);
  background:var(--cream);
  line-height:1.6;
}
a{text-decoration:none; color:inherit;}
img{max-width:100%; display:block;}

/* Top bar */
.topbar{
  background:var(--bordo);
  color:#f3e6dd;
  font-size:0.78rem;
  letter-spacing:0.04em;
  text-align:center;
  padding:8px 16px;
}
.topbar b{color:var(--gold);}

/* Header */
header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 32px;
  background:var(--cream);
  border-bottom:1px solid #e9ded2;
  flex-wrap:wrap;
  gap:16px;
}
.logo{display:flex; align-items:center; gap:14px;}
.logo img{height:280px; width:auto;}
.header-right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:14px;
}
nav ul{
  display:flex;
  list-style:none;
  gap:32px;
  flex-wrap:wrap;
  justify-content:flex-end;
  font-size:0.95rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
}
nav ul li a{
  color:var(--text);
  padding-bottom:4px;
  border-bottom:2px solid transparent;
  transition:color .2s, border-color .2s;
}
nav ul li a:hover, nav ul li a.active{
  color:var(--bordo);
  border-color:var(--gold);
}

footer{
  background:var(--bordo-dark);
  color:#e8d9cc;
  text-align:center;
  padding:22px 16px;
  font-size:0.75rem;
  letter-spacing:0.05em;
}

/* Blog fejléc */
.blog-hero{
  padding:60px 32px 10px;
  text-align:center;
}
.blog-hero .hero-title{
  font-family:'Playfair Display', Georgia, serif;
  font-size:2.2rem;
  font-weight:400;
  color:var(--bordo-dark);
  margin-bottom:18px;
  line-height:1.3;
}

.blog-section{
  padding:40px 32px 100px;
  max-width:1100px;
  margin:0 auto;
}

.state-msg{
  text-align:center;
  color:var(--muted);
  font-style:italic;
  padding:60px 20px;
}

/* Bejegyzés */
.post-detail{
  max-width:760px;
  margin:0 auto;
}
.post-detail .back-link,
.back-link{
  display:inline-block;
  margin-bottom:26px;
  font-size:0.82rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--bordo);
  border-bottom:1px solid var(--gold);
}
.post-detail .cover{
  width:100%;
  height:320px;
  background-size:cover;
  background-position:center;
  background-color:#ece3d9;
  border-radius:3px;
  margin-bottom:28px;
  overflow:hidden;
}
.post-detail .cover video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.post-detail .date{
  font-size:0.75rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--gold-dark);
  margin-bottom:12px;
}
.post-detail h1{
  font-family:'Playfair Display', Georgia, serif;
  font-size:2rem;
  font-weight:400;
  color:var(--bordo-dark);
  margin-bottom:24px;
  line-height:1.3;
}
.post-detail .content p{
  margin-bottom:20px;
  font-size:1.03rem;
  color:var(--text);
}
.post-detail .content p:last-child{margin-bottom:0;}

@media (max-width:900px){
  nav ul{gap:16px;}
  .logo img{height:180px;}
}

@media (max-width:640px){
  header{
    flex-direction:column;
    align-items:center;
    text-align:center;
    padding:16px 20px;
  }
  .logo img{height:110px;}
  .header-right{align-items:center; width:100%;}
  nav ul{
    justify-content:center;
    gap:10px 18px;
    font-size:0.72rem;
  }
  .topbar{font-size:0.68rem; padding:8px 12px;}
  .blog-hero{padding:40px 20px 4px;}
  .blog-hero .hero-title{font-size:1.5rem;}
  .blog-section{padding:30px 16px 64px;}
  .post-detail .cover{height:220px;}
  .post-detail h1{font-size:1.5rem;}
}
