/* ==========================================================================
   TWS Blog — huisstijl voor artikelen (Elementor-sjabloon 37) en het overzicht
   (/blog/, categorie). Geladen door mu-plugins/tws-blog.php op body.tws-blog.
   ========================================================================== */
body.tws-blog{
  --tws-gold:#d2b77a;
  --tws-gold-light:#E8D5A3;
  --tws-gold-dark:#A68B4B;
  --tws-ink:#2e2216;
  --tws-ink-soft:#3d2e1f;
  --tws-cream:#FDFBF7;
  --tws-sand:#EFE9DF;
  --tws-gray:#6B6B6B;
  --tws-line:rgba(46,34,22,.12);
  --tws-shadow:0 4px 20px rgba(0,0,0,.06);
  --tws-display:'Cormorant Garamond',Georgia,serif;
  --tws-body:'Montserrat',-apple-system,'Segoe UI',sans-serif;
}

/* ---------- artikel: hero ---------- */
body.tws-blog .elementor-37 .raven-post-title{
  font-family:var(--tws-display) !important;
  font-weight:500 !important;
  font-size:clamp(2.1rem,4.4vw,3.4rem) !important;
  line-height:1.12 !important;
  letter-spacing:-.01em !important;
  text-wrap:balance;
}
body.tws-blog #jupiterx-post-terms-widget-wrapper a{
  display:inline-block;
  background:transparent !important;
  padding:0 !important;
  text-decoration:none !important;
}
body.tws-blog #jupiterx-post-terms-widget-wrapper .jupiterx-post-term-item{
  display:inline-block;
  background:var(--tws-gold) !important;
  color:var(--tws-ink) !important;
  font-family:var(--tws-body) !important;
  font-size:.66rem !important;
  font-weight:600 !important;
  letter-spacing:.2em !important;
  text-transform:uppercase !important;
  padding:8px 14px !important;
  margin:0 !important;
  border-radius:0 !important;
  border:0 !important;
}
body.tws-blog .raven-post-meta,
body.tws-blog .raven-post-meta li,
body.tws-blog .raven-post-meta a,
body.tws-blog .raven-post-meta span{
  font-family:var(--tws-body) !important;
  font-size:.78rem !important;
  font-weight:500 !important;
  letter-spacing:.06em !important;
}

/* ---------- artikel: tekst ---------- */
body.tws-blog .elementor-widget-raven-post-content .elementor-widget-container{
  font-family:var(--tws-body);
  font-size:1.02rem;
  line-height:1.78;
  color:var(--tws-ink-soft);
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
body.tws-blog .elementor-widget-raven-post-content h2,
body.tws-blog .tws-faq h2,
body.tws-blog .tws-cta__title{
  font-family:var(--tws-display) !important;
  font-weight:500 !important;
  font-size:clamp(1.7rem,3vw,2.2rem) !important;
  line-height:1.18 !important;
  letter-spacing:-.01em !important;
  color:var(--tws-ink) !important;
  margin:2.4rem 0 .85rem !important;
  text-wrap:balance;
}
body.tws-blog .elementor-widget-raven-post-content h3{
  font-family:var(--tws-display) !important;
  font-weight:600 !important;
  font-size:1.45rem !important;
  line-height:1.25 !important;
  color:var(--tws-ink) !important;
  margin:1.8rem 0 .6rem !important;
}
body.tws-blog .elementor-widget-raven-post-content p{margin:0 0 1.15rem;font-size:1.02rem;line-height:1.78}
body.tws-blog .elementor-widget-raven-post-content p:first-of-type{font-size:1.12rem;color:var(--tws-ink)}
body.tws-blog .elementor-widget-raven-post-content strong{color:var(--tws-ink);font-weight:600}
body.tws-blog .elementor-widget-raven-post-content a:not(.tws-cta__btn){color:var(--tws-gold-dark);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
body.tws-blog .elementor-widget-raven-post-content a:not(.tws-cta__btn):hover{color:var(--tws-ink)}
body.tws-blog .elementor-widget-raven-post-content ul,
body.tws-blog .elementor-widget-raven-post-content ol{margin:0 0 1.3rem;padding-left:1.35rem}
body.tws-blog .elementor-widget-raven-post-content li{margin:.45rem 0;padding-left:.2rem}
body.tws-blog .elementor-widget-raven-post-content ul li::marker{color:var(--tws-gold)}
body.tws-blog .elementor-widget-raven-post-content ol li::marker{color:var(--tws-gold-dark);font-weight:600}

/* tabellen */
body.tws-blog .tws-table-wrap{overflow-x:auto;margin:1.4rem 0 1.8rem;border:1px solid var(--tws-line);background:#fff}
body.tws-blog .tws-table{width:100%;min-width:560px;border-collapse:collapse;font-size:.9rem}
body.tws-blog .tws-table th{font-family:var(--tws-body);font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--tws-gray);text-align:left;padding:12px 14px;background:var(--tws-sand);border-bottom:1px solid var(--tws-line)}
body.tws-blog .tws-table td{padding:11px 14px;border-bottom:1px solid var(--tws-line);vertical-align:top;color:var(--tws-ink-soft)}
body.tws-blog .tws-table tr:last-child td{border-bottom:0}

/* ---------- FAQ ---------- */
body.tws-blog .tws-faq{margin:2.6rem 0 0}
body.tws-blog .tws-faq__item{border-top:1px solid var(--tws-line)}
body.tws-blog .tws-faq__item:last-child{border-bottom:1px solid var(--tws-line)}
body.tws-blog .tws-faq__item summary{
  list-style:none;cursor:pointer;position:relative;
  padding:16px 40px 16px 0;
  font-family:var(--tws-body);font-size:1rem;font-weight:600;color:var(--tws-ink);line-height:1.45;
}
body.tws-blog .tws-faq__item summary::-webkit-details-marker{display:none}
body.tws-blog .tws-faq__item summary::after{content:'+';position:absolute;right:4px;top:50%;transform:translateY(-52%);font-family:var(--tws-display);font-size:1.7rem;font-weight:400;color:var(--tws-gold-dark);line-height:1}
body.tws-blog .tws-faq__item[open] summary::after{content:'\2212'}
body.tws-blog .tws-faq__item summary:focus-visible{outline:2px solid var(--tws-gold);outline-offset:4px}
body.tws-blog .tws-faq__answer p{margin:0 0 18px;color:var(--tws-ink-soft);font-size:.98rem}

/* ---------- CTA ---------- */
body.tws-blog .tws-cta{
  background:var(--tws-cream);
  border:1px solid var(--tws-line);
  border-top:3px solid var(--tws-gold);
  padding:30px 32px 28px;
  margin:2.6rem 0 0;
}
body.tws-blog .tws-cta__eyebrow{font-family:var(--tws-body);font-size:.66rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--tws-gold-dark)}
body.tws-blog .tws-cta__title{margin:8px 0 10px !important;font-size:clamp(1.6rem,2.6vw,2rem) !important}
body.tws-blog .tws-cta__text{margin:0 !important;font-size:.98rem;color:var(--tws-ink-soft)}
body.tws-blog .tws-cta__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
body.tws-blog .tws-cta__btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:15px 28px;
  font-family:var(--tws-body) !important;font-size:.78rem !important;font-weight:600 !important;
  letter-spacing:.12em;text-transform:uppercase;text-decoration:none !important;
  border-radius:0;transition:background .3s ease,color .3s ease,transform .3s ease;
}
body.tws-blog .tws-cta__btn--primary{background:var(--tws-gold);color:var(--tws-ink) !important}
body.tws-blog .tws-cta__btn--primary:hover{background:var(--tws-gold-light);transform:translateY(-2px)}
body.tws-blog .tws-cta__btn--outline{border:1.5px solid var(--tws-ink);color:var(--tws-ink) !important;background:transparent}
body.tws-blog .tws-cta__btn--outline:hover{background:var(--tws-ink);color:#fff !important}

/* ---------- auteur ---------- */
body.tws-blog .tws-author{border-top:1px solid var(--tws-line);margin-top:2.2rem;padding-top:22px}
body.tws-blog .tws-author__name{font-family:var(--tws-display);font-size:1.35rem;font-weight:600;color:var(--tws-ink);margin-bottom:4px}
body.tws-blog .tws-author__bio{margin:0 !important;font-size:.9rem !important;color:var(--tws-gray)}
body.tws-blog .elementor-widget-raven-author-box,
body.tws-blog .elementor-widget-raven-post-comments{display:none !important}

/* ---------- gerelateerd / navigatie ---------- */
body.tws-blog .elementor-37 .elementor-element-41bbcad8{background-color:var(--tws-cream) !important}
body.tws-blog .elementor-widget-raven-heading .raven-heading,
body.tws-blog .elementor-widget-raven-heading h2,
body.tws-blog .elementor-widget-raven-heading h3{font-family:var(--tws-display) !important;font-weight:500 !important;font-size:1.9rem !important;color:var(--tws-ink) !important}
body.tws-blog .raven-posts-grid .raven-post{background:#fff;border:1px solid var(--tws-line);border-top:3px solid var(--tws-gold);box-shadow:var(--tws-shadow)}
body.tws-blog .raven-posts-grid .raven-post-title,
body.tws-blog .raven-posts-grid .raven-post-title a{font-family:var(--tws-display) !important;font-size:1.35rem !important;font-weight:600 !important;line-height:1.25 !important;color:var(--tws-ink) !important}
body.tws-blog .raven-posts-grid .raven-post-excerpt,
body.tws-blog .raven-posts-grid .raven-post-meta,
body.tws-blog .raven-posts-grid a.raven-post-read-more{font-family:var(--tws-body) !important}
body.tws-blog .raven-post-navigation a{font-family:var(--tws-body) !important;font-size:.74rem !important;font-weight:600 !important;letter-spacing:.12em;text-transform:uppercase;color:var(--tws-gold-dark) !important}
body.tws-blog .raven-post-navigation a:hover{color:var(--tws-ink) !important}

/* ---------- overzicht (/blog/, categorie) ---------- */
body.tws-blog.blog .jupiterx-main,
body.tws-blog.category .jupiterx-main,
body.tws-blog.author .jupiterx-main{background:var(--tws-cream)}
body.tws-blog.blog .jupiterx-primary > .jupiterx-content,
body.tws-blog.category .jupiterx-primary > .jupiterx-content,
body.tws-blog.author .jupiterx-primary > .jupiterx-content{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:26px;
  padding-top:48px;
  padding-bottom:72px;
}
body.tws-blog .tws-blog-intro{grid-column:1 / -1;max-width:72ch;margin-bottom:8px}
body.tws-blog .tws-blog-intro__eyebrow{font-family:var(--tws-body);font-size:.7rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--tws-gold-dark);margin-bottom:12px}
body.tws-blog .tws-blog-intro__title{font-family:var(--tws-display) !important;font-weight:500 !important;font-size:clamp(2.1rem,4.4vw,3.2rem) !important;line-height:1.1 !important;letter-spacing:-.01em;color:var(--tws-ink) !important;margin:0 0 14px !important;text-wrap:balance}
body.tws-blog .tws-blog-intro__text{font-family:var(--tws-body);font-size:1rem;line-height:1.7;color:var(--tws-gray);margin:0}
body.tws-blog .jupiterx-post-loop{
  background:#fff;border:1px solid var(--tws-line);border-top:3px solid var(--tws-gold);
  box-shadow:var(--tws-shadow);padding:0 0 26px;margin:0 !important;
  display:flex;flex-direction:column;overflow:hidden;
}
body.tws-blog .jupiterx-post-loop .jupiterx-post-image,
body.tws-blog .jupiterx-post-loop .jupiterx-post-media,
body.tws-blog .jupiterx-post-loop figure{margin:0 0 6px !important}
body.tws-blog .jupiterx-post-loop .jupiterx-post-image img,
body.tws-blog .jupiterx-post-loop figure img,
body.tws-blog .jupiterx-post-loop .jupiterx-post-media img{display:block;width:100%;height:210px;object-fit:cover}
body.tws-blog .jupiterx-post-loop .jupiterx-post-header{padding:22px 26px 0 !important}
body.tws-blog .jupiterx-post-loop .jupiterx-post-title{font-family:var(--tws-display) !important;font-size:1.55rem !important;font-weight:600 !important;line-height:1.22 !important;margin:0 0 10px !important;text-wrap:balance}
body.tws-blog .jupiterx-post-loop .jupiterx-post-title a{color:var(--tws-ink) !important;text-decoration:none !important}
body.tws-blog .jupiterx-post-loop .jupiterx-post-title a:hover{color:var(--tws-gold-dark) !important}
body.tws-blog .jupiterx-post-loop .jupiterx-post-meta{padding:0 26px;font-family:var(--tws-body);font-size:.74rem;letter-spacing:.06em;color:var(--tws-gray)}
body.tws-blog .jupiterx-post-loop .jupiterx-post-body{padding:0 26px !important;flex:1;display:flex;flex-direction:column}
body.tws-blog .jupiterx-post-loop .jupiterx-post-content{flex:1;display:flex;flex-direction:column}
body.tws-blog .jupiterx-post-loop .jupiterx-post-content p{font-family:var(--tws-body);font-size:.93rem !important;line-height:1.7;color:var(--tws-gray);margin:0 0 18px}
body.tws-blog .jupiterx-post-loop .jupiterx-post-content > a,
body.tws-blog .jupiterx-post-loop .jupiterx-post-more{
  align-self:flex-start;margin-top:auto;
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 20px;border:1.5px solid var(--tws-gold) !important;border-radius:0 !important;
  background:transparent !important;color:var(--tws-ink) !important;
  font-family:var(--tws-body) !important;font-size:.72rem !important;font-weight:600 !important;letter-spacing:.12em;text-transform:uppercase;text-decoration:none !important;
  transition:background .3s ease,color .3s ease;
}
body.tws-blog .jupiterx-post-loop .jupiterx-post-content > a:hover,
body.tws-blog .jupiterx-post-loop .jupiterx-post-more:hover{background:var(--tws-gold) !important;color:var(--tws-ink) !important}
body.tws-blog .jupiterx-post-loop .jupiterx-post-footer{padding:0 26px;font-family:var(--tws-body);font-size:.74rem}
body.tws-blog.blog .jupiterx-pagination,
body.tws-blog.blog nav.pagination,
body.tws-blog.category .jupiterx-pagination{grid-column:1 / -1}

@media (max-width:600px){
  body.tws-blog .tws-cta{padding:22px 18px 22px}
  body.tws-blog .tws-cta__btn{width:100%}
  body.tws-blog .jupiterx-post-loop .jupiterx-post-header,
  body.tws-blog .jupiterx-post-loop .jupiterx-post-body{padding-left:18px !important;padding-right:18px !important}
}
