.article-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 100%;
}

/* Responsive Breakpoints */
@media (max-width: 1024px) {
    .article-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 600px) {
    .article-grid {
        grid-template-columns: 1fr;
    }
}

.article-card {
    background: #fff; 
    text-align: center;
    cursor: pointer;
    font-weight: bold; 
    position: relative; 
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.article-card:hover { 
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

.article-leftside {
    position: relative;
}

.article-leftside img {
    width: 100%;
    height: auto;
    display: block; 
}

.article-leftside .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.4);
    transition: opacity 0.35s ease; 
    pointer-events: none;
}

.article-card:hover .overlay {
    opacity: 0;
}

.article-rightside {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    z-index: 2;
	 flex-direction: column;  
}
.article-rightside .grid-cat { 
    text-transform: uppercase;
	font-size: 1.6rem;
    font-weight: 600; 
	display: block;
	margin-bottom: 10px;
}
.article-rightside .grid-city {  
	font-size: 1.9rem;
    font-weight: 600; 
}

.article-details {
    grid-column: 1 / -1;
    background: #f5f5f5;
    padding: 20px 20px 0 20px; 
    animation: slideDown 0.25s ease;
    position: relative; 
}
@media (max-width: 760px) {
.article-details { 
    padding: 40px 20px 0 20px;  
}
}

.article-details .close {
    position: absolute;
    right: 21px;
    top: 10px;
    cursor: pointer;
    font-size: 18px;
	z-index: 99;
}

@keyframes slideDown {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}



/* ===========================
   FILTER BUTTONS
=========================== */
.searchwrapper {
	padding: 0 15%;
}

#news-filter { 
	margin-top: 32px;
	margin-bottom: 60px !important;
	display: none;
}

#news-filter .filter-btn {
	font-family: 'DM Sans';
	font-weight: 700;
	font-size: 1.13rem !important;
	padding: 17px 24px;
	border-radius: 99px;
	text-align: center;
	transition: all .2s ease-in-out;
	display: inline-block;
	margin: 0 10px;
	cursor: pointer;
	border: 1px solid #435059;
	background: #fff;
	color: #435059;
}

#news-filter .filter-btn:hover,
#news-filter .filter-btn[aria-pressed="true"] {
	border-color: #435059;
	background: #435059;
	color: #fff;
}

/* ===========================
   NEWS GRID
=========================== */
#news-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    margin-left: -20px;   /* NEGATIVER AUSGLEICH für padding */
    margin-top: -20px;
}

/* 4-Spalten-Basis — KEIN gap, stattdessen padding für Abstand */
#news-list article {
    flex: 0 0 25%;
    max-width: 25%;
    position: relative;
    box-sizing: border-box;
    padding-left: 20px;   /* Abstand LINKS */
    padding-top: 20px;    /* Abstand OBEN */
    cursor: pointer;      /* Cursor Pointer für gesamte Kachel */
}

/* Artikel-Container */
#news-list article .articlebox {
	position: relative;
}

/* ===========================
   IMAGE
=========================== */
#news-list article .articlebox .article-leftside {
	position: relative;
}

#news-list article .articlebox .article-leftside img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* ===========================
   HOVER OVERLAY + GANZKACHEL-LINK
=========================== */
#news-list article .articlebox .article-rightside {
	position: absolute;
	inset: 0;
	background: rgba(255,255,255,0.95);
	opacity: 0;
	pointer-events: none;
	transition: opacity .35s ease; 
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

/* Overlay aktiv */
#news-list article:hover .articlebox .article-rightside {
	opacity: 1;
	pointer-events: auto;
}

/* Link über die ganze Kachel */
#news-list article .articlebox a.full-link {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: inherit;
	z-index: 5;
}

/* Headline im Overlay bleibt sichtbar über dem Link */
#news-list article .articlebox .article-rightside a {
	position: relative;
	z-index: 6;
	text-decoration: none; 
	font-size: 1.6rem;
	line-height: 2.2rem;
	color: inherit; 
  display: flex;
  height: 100%;
  width: 100%;
  align-items: center;
  justify-content: center;
}

#news-list article:hover .articlebox .article-rightside a {
	text-decoration: underline;
}

/* ===========================
   PAGINATION
=========================== */
.navigation {
	margin: 60px 0;
	text-align: center;
}

.navigation a,
.archivebox .navigation span {
	color: #fff;
	background: #b3b1b1;
	padding: 10px 15px;
	margin: 0 2px;
	text-decoration: none;
}

.navigation span.current {
	background: #76b72a;
}

.navigation a:hover {
	background: #76b72a;
}

/* ===========================
   HIDDEN (Lazy Loading)
=========================== */
.lazy-hidden {
	display: none;
}

/* ===========================
   BREAKPOINTS
=========================== */
/* 2 Spalten ab 960px */
@media only screen and (max-width: 960px) {
	#news-list article {
		flex: 0 0 50%;
		max-width: 50%;
	}
}

/* 1 Spalte ab 480px */
@media only screen and (max-width: 480px) {
	#news-list article {
		flex: 0 0 100%;
		max-width: 100%;
	}

	#news-list article .articlebox .article-rightside {
		padding: 25px;
	}
}
