/* =========================================
   DORFWISSEN ARTICLE PAGE
========================================= */

.article-page{
  background:#f8f5ef;
  min-height:100vh;
}

/* =========================================
   MINIMAL HEADER
========================================= */

.article-mini-header{
  position:sticky;
  top:0;
  z-index:5000;

  height:74px;

  display:flex;
  align-items:center;

  padding:0 26px;

  background:rgba(248,245,239,.92);

  backdrop-filter:blur(10px);

  border-bottom:1px solid rgba(0,0,0,.05);
}

.article-mini-brand{
  display:flex;
  align-items:center;
  gap:14px;

  font-family:Georgia,"Times New Roman",serif;

  font-size:24px;

  letter-spacing:.03em;

  color:#214f2b;
}

.article-mini-logo{
  width:34px;
  height:34px;

  stroke:#5f8d3d;
  stroke-width:5;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* =========================================
   HERO
========================================= */

.article-top{
  max-width:920px;

  margin:14px auto 0;

  padding:0 22px;
}

.article-hero{
  position:relative;

  border-radius:28px;

  overflow:hidden;

  background:#e7dfd2;

  box-shadow:
    0 18px 44px rgba(83,65,42,.06);

  margin-bottom:42px;
}

.article-hero-image{
  position:relative;

  width:100%;

  aspect-ratio:5 / 4;

  overflow:hidden;
}

.article-hero-image img{
  width:100%;
  height:100%;

  object-fit:cover;

  display:block;
}

.article-hero-overlay{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(20,20,20,.02) 0%,
      rgba(20,20,20,.08) 40%,
      rgba(20,20,20,.42) 100%
    );
}

.article-hero-content{
  position:absolute;

  left:0;
  right:0;
  bottom:0;

  z-index:2;

  padding:44px;
}

.article-category{
  display:inline-flex;
  align-items:center;
  gap:8px;

  height:38px;

  padding:0 18px;

  border-radius:999px;

  background:rgba(255,255,255,.92);

  color:#355327;

  font-size:14px;
  font-weight:700;

  margin-bottom:20px;

  backdrop-filter:blur(8px);
}

.article-title{
  max-width:760px;

  font-family:Georgia,"Times New Roman",serif;

  font-size:52px;

  line-height:.92;

  letter-spacing:-0.045em;

  color:white;

  margin-bottom:18px;

  text-shadow:
    0 4px 18px rgba(0,0,0,.28);
}

.article-excerpt{
  max-width:700px;

  font-size:20px;

  line-height:1.7;

  color:rgba(255,255,255,.94);

  text-shadow:
    0 2px 10px rgba(0,0,0,.18);
}

/* =========================================
   META
========================================= */

.article-meta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;

  margin-top:24px;
}

.article-meta-item{
  display:flex;
  align-items:center;
  gap:8px;

  height:40px;

  padding:0 16px;

  border-radius:999px;

  background:rgba(255,255,255,.92);

  color:#334236;

  font-size:14px;
  font-weight:700;
}

/* =========================================
   LAYOUT
========================================= */

.article-layout{
  max-width:1100px;

  margin:0 auto;

  padding:0 24px 80px;

  display:grid;

  grid-template-columns:minmax(0,720px) 300px;

  gap:54px;
}

.article-main{
  min-width:0;
}

/* =========================================
   CONTENT
========================================= */

.article-content{
  font-size:20px;

  line-height:1.95;

  color:#28352b;
}

.article-content p{
  margin-bottom:30px;
}

.article-content h2{
  font-family:Georgia,"Times New Roman",serif;

  font-size:42px;

  line-height:1.08;

  letter-spacing:-0.03em;

  color:#17341d;

  margin-top:70px;
  margin-bottom:24px;
}

.article-content h3{
  font-size:30px;

  line-height:1.2;

  color:#17341d;

  margin-top:50px;
  margin-bottom:18px;
}

.article-content ul,
.article-content ol{
  padding-left:28px;
  margin-bottom:30px;
}

.article-content li{
  margin-bottom:14px;
}

.article-content strong{
  color:#17341d;
}

/* =========================================
   ACTIONS
========================================= */

.article-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;

  margin-top:56px;
  margin-bottom:64px;
}

.article-action-btn{
  height:52px;

  padding:0 22px;

  border:none;

  border-radius:16px;

  background:#f2eee6;

  color:#223426;

  font-size:15px;
  font-weight:700;

  cursor:pointer;

  transition:.18s ease;

  box-shadow:
    0 6px 18px rgba(83,65,42,.04);
}

.article-action-btn:hover{
  transform:translateY(-2px);

  background:#e9e3d7;
}

/* =========================================
   SIDEBAR
========================================= */

.article-sidebar{
  position:sticky;
  top:100px;

  align-self:start;
}

.sidebar-card{
  background:#f8f4ee;

  border:1px solid rgba(0,0,0,.05);

  border-radius:24px;

  padding:26px;

  box-shadow:
    0 10px 26px rgba(83,65,42,.045);

  margin-bottom:22px;
}

.sidebar-card h3{
  font-family:Georgia,"Times New Roman",serif;

  font-size:28px;

  color:#17341d;

  margin-bottom:18px;
}

.sidebar-author{
  display:flex;
  align-items:center;
  gap:16px;
}

.sidebar-avatar{
  width:58px;
  height:58px;

  border-radius:50%;

  background:#dce8d0;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:22px;
  font-weight:800;

  color:#214f2b;
}

.sidebar-author-name{
  font-weight:800;
  color:#203926;
}

.sidebar-author-meta{
  margin-top:4px;

  font-size:14px;

  color:#5d645d;
}

/* =========================================
   RELATED POSTS
========================================= */

.related-posts{
  margin-top:80px;
}

.related-posts h2{
  font-family:Georgia,"Times New Roman",serif;

  font-size:42px;

  line-height:1.1;

  color:#17341d;

  margin-bottom:28px;
}

.related-grid{
  display:grid;

  grid-template-columns:repeat(3,1fr);

  gap:20px;
}

/* =========================================
   COMMENTS
========================================= */

.comments{
  margin-top:80px;
}

.comments h2{
  font-family:Georgia,"Times New Roman",serif;

  font-size:40px;

  color:#17341d;

  margin-bottom:26px;
}

.comment-form{
  background:#f7f3eb;

  border:1px solid rgba(0,0,0,.05);

  border-radius:26px;

  padding:28px;

  margin-bottom:34px;
}

.comment-form input,
.comment-form textarea{
  width:100%;

  border:none;

  border-radius:16px;

  background:white;

  padding:18px;

  font-size:16px;

  outline:none;

  margin-bottom:16px;

  box-shadow:
    inset 0 0 0 1px rgba(0,0,0,.06);
}

.comment-form textarea{
  min-height:150px;
  resize:vertical;
}

.comment{
  background:#fffdf9;

  border:1px solid rgba(0,0,0,.05);

  border-radius:22px;

  padding:24px;

  margin-bottom:18px;

  box-shadow:
    0 8px 20px rgba(83,65,42,.035);
}

.comment-author{
  font-weight:800;

  color:#203926;

  margin-bottom:12px;
}

.comment-body{
  color:#4f5a50;

  line-height:1.8;
}

/* =========================================
   RESPONSIVE
========================================= */

@media(max-width:1100px){

  .article-layout{
    grid-template-columns:1fr;
  }

  .article-sidebar{
    position:static;
  }

  .related-grid{
    grid-template-columns:1fr 1fr;
  }

}

@media(max-width:760px){

  .article-mini-header{
    justify-content:center;

    height:68px;

    padding:0 16px;
  }

  .article-mini-brand{
    font-size:22px;
  }

  .article-mini-logo{
    width:30px;
    height:30px;
  }

  .article-top{
    margin-top:10px;

    padding:0 14px;
  }

  .article-layout{
    padding:0 16px 60px;
  }

  .article-hero{
    border-radius:22px;
  }

  .article-hero-content{
    padding:24px;
  }

  .article-title{
  font-size:32px;

  line-height:1.02;
}

  .article-excerpt{
  font-size:15px;

  line-height:1.55;
}

  .article-content{
    font-size:17px;
  }

  .article-content h2{
    font-size:32px;
  }

  .article-meta{
    gap:10px;
  }

  .article-meta-item{
    height:36px;

    padding:0 12px;

    font-size:12px;
  }

  .related-grid{
    grid-template-columns:1fr;
  }

  .article-sidebar{
    display:none;
  }

}
.article-hero-content{
  padding:18px;
}
.article-hero{
  overflow:visible;
}

.article-hero-content{
  position:relative;

  background:#f8f5ef;

  color:#17341d;

  padding:22px 18px 0;

  border-radius:0 0 22px 22px;
}

.article-title{
  color:#17341d;

  text-shadow:none;

  font-size:30px;

  line-height:1.04;

  margin-bottom:14px;
}

.article-excerpt{
  color:#526055;

  text-shadow:none;

  font-size:15px;

  line-height:1.6;
}

.article-meta{
  margin-top:18px;
}

.article-hero-overlay{
  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.02) 0%,
      rgba(0,0,0,.12) 100%
    );
}