/* =========================================================
GRENSZAAK BLOG CSS
========================================================= */

/* =========================================================
DESKTOP
Basisstijl voor desktop en grotere schermen
========================================================= */

.blog-page {
padding: 130px 30px 70px;
}

/* Hardcoded blog artikelpagina's - meer ruimte links/rechts */
.blog-page:has(.blog-article-content) {
padding-left: 50px;
padding-right: 50px;
}

.blog-intro {
text-align: center;
max-width: 900px;
margin: 0 auto 50px;
}

.blog-intro h1 {
color: #0D4EA5;
font-size: 48px;
margin-bottom: 18px;
}

.blog-intro h1 span {
color: #FF7300;
}

.blog-intro p {
font-size: 19px;
line-height: 1.7;
color: #444;
}

/* =========================================================
ACTUEEL NIEUWS
Desktop - smaller horizontaal voor ruimte reclame/meldingen
========================================================= */

.actual-news {
margin-bottom: 65px;
max-width: 720px;
margin-left: auto;
margin-right: auto;
}

.actual-news-label {
display: inline-block;
background: #FF7300;
color: #fff;
font-size: 14px;
font-weight: 700;
letter-spacing: 1px;
padding: 8px 16px;
border-radius: 8px 8px 0 0;
}

.actual-news-card {
background: #fff;
border-radius: 0 18px 18px 18px;
box-shadow: 0 10px 28px rgba(0,0,0,.12);
overflow: hidden;
border-left: 6px solid #FF7300;
max-width: 100%;
}

/* Foto past in hoogte én breedte, zonder uitsnede of uitrekken */
.actual-news-image {
width: 100%;
height: 360px;
max-height: 360px;
overflow: hidden;
background: #eee;
display: flex;
align-items: center;
justify-content: center;
}

.actual-news-image img {
width: 100%;
height: 100%;
max-width: 100%;
max-height: 100%;
object-fit: contain;
object-position: center;
display: block;
}

.actual-news-content {
padding: 30px 35px;
}

.actual-news-date {
color: #777;
font-size: 14px;
margin-bottom: 10px;
}

.actual-news-content h2 {
color: #0D4EA5;
font-size: 32px;
line-height: 1.3;
margin-bottom: 15px;
}

.actual-news-content h2 a {
color: #0D4EA5;
text-decoration: none;
}

.actual-news-content h2 a:hover {
color: #0D4EA5;
text-decoration: none;
}

.actual-news-content p {
color: #444;
font-size: 17px;
line-height: 1.7;
margin-bottom: 22px;
max-width: 950px;
}

.actual-news-button {
display: inline-block;
align-self: flex-start;
background: #0D4EA5;
color: #fff;
text-decoration: none;
padding: 11px 20px;
border-radius: 10px;
font-weight: 600;
transition: background .2s ease;
}

.actual-news-button:hover {
background: #FF7300;
}

/* =========================================================
BLOG CATEGORIEËN
Desktop
========================================================= */

.blog-category {
margin-bottom: 65px;
}

.blog-category-header {
display: flex;
align-items: center;
gap: 15px;
margin-bottom: 25px;
border-bottom: 3px solid #FF7300;
padding-bottom: 12px;
}

.blog-category-icon {
font-size: 34px;
}

.blog-category-header h2 {
color: #0D4EA5;
font-size: 32px;
margin: 0;
}

.blog-category-description {
color: #555;
font-size: 16px;
margin-bottom: 20px;
}

.blog-category-image {
width: 100%;
height: auto;
min-height: 240px;
overflow: hidden;
border-radius: 18px;
margin-bottom: 25px;
background: #eee;
box-shadow: 0 8px 22px rgba(0,0,0,.09);
display: flex;
align-items: center;
justify-content: center;
}

.blog-category-image img {
width: 100%;
height: auto;
object-fit: contain;
display: block;
}

/* =========================================================
ARTIKELKAARTEN
Desktop
========================================================= */

.blog-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 25px;
}

.blog-card {
background: #fff;
border-radius: 18px;
overflow: hidden;
box-shadow: 0 8px 22px rgba(0,0,0,.09);
display: flex;
flex-direction: column;
transition: transform .2s ease, box-shadow .2s ease;
}

.blog-card:hover {
transform: translateY(-4px);
box-shadow: 0 12px 28px rgba(0,0,0,.14);
}

.blog-card-top {
height: 7px;
background: #FF7300;
}

.blog-card-content {
padding: 25px;
display: flex;
flex-direction: column;
flex: 1;
}

.blog-card h3 {
color: #0D4EA5;
font-size: 21px;
line-height: 1.35;
margin-bottom: 14px;
}

.blog-card p {
color: #555;
font-size: 15px;
line-height: 1.65;
margin-bottom: 22px;
flex: 1;
}

.blog-card a {
display: inline-block;
align-self: flex-start;
background: #0D4EA5;
color: #fff;
text-decoration: none;
padding: 11px 20px;
border-radius: 10px;
font-weight: 600;
transition: background .2s ease;
}

.blog-card a:hover {
background: #FF7300;
}

/* =========================================================
ONDERSTE BLOK
Desktop
========================================================= */

.blog-bottom {
background: #0D4EA5;
color: #fff;
border-radius: 22px;
padding: 40px;
text-align: center;
margin-top: 20px;
}

.blog-bottom h2 {
font-size: 30px;
margin-bottom: 12px;
}

.blog-bottom p {
font-size: 17px;
line-height: 1.6;
margin: 0;
}


/* =========================================================
BLOG LAYOUT MET SIDEBARS - Desktop smaller + advertentie ruimte
========================================================= */

.blog-layout {
display: grid;
grid-template-columns: 220px 1fr 220px;
gap: 28px;
max-width: 1320px;
margin: 0 auto;
align-items: start;
}

.blog-main-content {
min-width: 0;
max-width: 760px;
margin: 0 auto;
width: 100%;
}

.blog-sidebar {
position: sticky;
top: 100px;
}

.blog-sidebar-left {
order: 1;
}

.blog-sidebar-right {
order: 3;
}

.blog-main-content {
order: 2;
}

.sidebar-ad {
background: #fff;
border-radius: 12px;
padding: 16px;
box-shadow: 0 6px 18px rgba(0,0,0,.06);
border: 1px solid #eee;
}

.sidebar-ad-label {
font-size: 11px;
font-weight: 700;
letter-spacing: 1px;
color: #999;
text-transform: uppercase;
margin-bottom: 10px;
text-align: center;
}

.sidebar-ad-content {
text-align: center;
}

/* Mobiele advertentie - alleen zichtbaar op mobiel/tablet */
.blog-ad-mobile {
display: none;
margin: 30px 0;
}

/* Tablet: sidebars smaller */
@media (max-width: 1200px) {
  .blog-layout {
    grid-template-columns: 180px 1fr 180px;
    gap: 20px;
    max-width: 1180px;
  }
}

@media (max-width: 1100px) {
  .blog-layout {
    grid-template-columns: 1fr;
  }
  .blog-sidebar {
    display: none;
  }
  .blog-ad-mobile {
    display: block;
  }
  .blog-main-content {
    max-width: 100%;
  }
}


/* =========================================================
TABLET
1000px en kleiner
========================================================= */

@media (max-width: 1000px) {

.blog-grid {
grid-template-columns: repeat(2, 1fr);
}

}

/* =========================================================
MOBIEL
768px en kleiner
========================================================= */

@media (max-width: 768px) {

.blog-page {
padding: 105px 22px 50px;
}

.blog-page:has(.blog-article-content) {
padding-left: 24px;
padding-right: 24px;
}

.blog-intro {
margin-bottom: 40px;
}

.blog-intro h1 {
font-size: 34px;
}

.blog-intro p {
font-size: 16px;
padding: 0 10px;
}

/* ACTUEEL NIEUWS - mobiel weer full-width */
.actual-news {
margin-bottom: 45px;
max-width: none;
}

.actual-news-image {
height: auto;
max-height: none;
}

.actual-news-image img {
width: 100%;
height: auto;
max-height: none;
}

.actual-news-content {
padding: 25px 22px;
}

.actual-news-content h2 {
font-size: 25px;
}

.actual-news-content p {
font-size: 16px;
}

/* BLOG CATEGORIE */

.blog-category {
margin-bottom: 45px;
}

.blog-category-header {
gap: 10px;
}

.blog-category-icon {
font-size: 28px;
}

.blog-category-header h2 {
font-size: 25px;
}

.blog-category-image {
margin-bottom: 20px;
}

/* ARTIKELKAARTEN */

.blog-grid {
grid-template-columns: 1fr;
gap: 18px;
}

.blog-card-content {
padding: 22px;
}

/* ONDERSTE BLOK */

.blog-bottom {
padding: 30px 22px;
}

.blog-bottom h2 {
font-size: 25px;
}

}

/* =========================================================
GRENSZAAK - HARDCODED ARTIKEL PAGINA'S
Niet volle breedte + ruimte boven subtitels + meer blauw/oranje
========================================================= */

.blog-page:has(.blog-article-content) {
background: #f7f9fc;
}

.blog-page:has(.blog-article-content) .blog-intro h1 {
color: #0D4EA5;
margin-bottom: 32px;
}

.blog-page:has(.blog-article-content) .blog-intro .blog-category-description {
margin-top: 0;
color: #333;
}

/* Artikel container - niet volle breedte, met witruimte links/rechts */
.blog-page:has(.blog-article-content) .blog-article-content {
max-width: 760px !important;
margin: 0 auto !important;
background: #fff;
padding: 38px 42px;
border-radius: 18px;
box-shadow: 0 8px 24px rgba(0,0,0,.07);
border-top: 6px solid #FF7300;
line-height: 1.8;
}

/* Subtitels H2 - regel ruimte erboven + blauw met oranje accent */
.blog-page:has(.blog-article-content) .blog-article-content h2 {
color: #0D4EA5;
font-size: 28px;
line-height: 1.35;
margin-top: 52px;
margin-bottom: 18px;
padding-bottom: 10px;
border-bottom: 3px solid #FF7300;
}

.blog-page:has(.blog-article-content) .blog-article-content h2:first-of-type {
margin-top: 12px;
}

/* Under-subtitels H3 - regel ruimte erboven + blauw/oranje combinatie */
.blog-page:has(.blog-article-content) .blog-article-content h3 {
color: #0D4EA5;
font-size: 20px;
line-height: 1.4;
margin-top: 36px;
margin-bottom: 12px;
padding-left: 14px;
border-left: 4px solid #FF7300;
}

/* Paragrafen */
.blog-page:has(.blog-article-content) .blog-article-content p {
color: #444;
margin-bottom: 16px;
}

/* Lijsten - meer blauw/oranje */
.blog-page:has(.blog-article-content) .blog-article-content ul {
margin: 14px 0 22px 20px;
}

.blog-page:has(.blog-article-content) .blog-article-content ul li {
margin-bottom: 10px;
}

.blog-page:has(.blog-article-content) .blog-article-content ul li strong {
color: #0D4EA5;
}

.blog-page:has(.blog-article-content) .blog-article-content ul li::marker {
color: #FF7300;
}

/* Tips - oranje accent */
.blog-page:has(.blog-article-content) .blog-article-content p em {
display: block;
background: #fff7f0;
border-left: 4px solid #FF7300;
padding: 14px 16px;
border-radius: 0 10px 10px 0;
margin: 22px 0;
color: #333;
font-style: normal;
}

/* Links in artikel - blauw/oranje */
.blog-page:has(.blog-article-content) .blog-article-content a {
color: #0D4EA5;
font-weight: 600;
text-decoration: none;
border-bottom: 2px solid rgba(255,115,0,.25);
}

.blog-page:has(.blog-article-content) .blog-article-content a:hover {
color: #FF7300;
border-bottom-color: #FF7300;
}

/* Gerelateerde onderwerpen */
.blog-page:has(.blog-article-content) .blog-article-content h2:last-of-type {
border-bottom: none;
}

/* Extra ruimte voor reclame/meldingen op grote schermen */
@media (min-width: 1200px) {
  .actual-news {
    max-width: 680px;
  }
  .blog-page:has(.blog-article-content) .blog-article-content {
    max-width: 780px !important;
  }
}

/* Mobiel - meer ruimte links/rechts, artikel smaller */
@media (max-width: 768px) {
  .blog-page:has(.blog-article-content) .blog-article-content {
    padding: 26px 20px;
    border-radius: 14px;
    max-width: 100% !important;
  }
  .blog-page:has(.blog-article-content) .blog-article-content h2 {
    font-size: 22px;
    margin-top: 40px;
  }
  .blog-page:has(.blog-article-content) .blog-article-content h3 {
    font-size: 18px;
    margin-top: 28px;
  }
}



.blog-category-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,.08);
    border: 1px solid #f0f0f0;
    font-size: 28px;
    flex-shrink: 0;
}

.blog-category-icon img {
    width: 36px;
    height: 36px;
    object-fit: contain;
}

/* =========================================================
ACTUEEL NIEUWS DETAIL - zelfde kaart als hardcoded artikelen
========================================================= */

.blog-article-content .article-body {
    line-height:1.8;
    color:#444;
}

.blog-article-content .article-body p {
    margin-bottom:16px;
}

.blog-article-content .article-body img {
    max-width:100%;
    height:auto;
    border-radius:12px;
    margin:16px 0;
}
