/*
Theme Name: Lowtoxkeuken
Theme URI: https://lowtoxkeuken.nl
Author: Lowtoxkeuken
Description: Lichtgewicht maatwerkthema voor Lowtoxkeuken, gericht op SEO, affiliate-content en automatische publicatie.
Version: 1.30.7
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: lowtoxkeuken
*/

:root {
  --ltk-green: #91aa9d;
  --ltk-green-dark: #748c80;
  --ltk-green-deep: #24342d;
  --ltk-cream: #f7f3ed;
  --ltk-cream-dark: #ece5db;
  --ltk-text: #242824;
  --ltk-muted: #666b67;
  --ltk-white: #ffffff;
  --ltk-border: #ded8ce;
  --ltk-shadow: 0 14px 36px rgba(32, 42, 37, .09);
  --ltk-radius: 16px;
  --ltk-content: 1120px;
  --ltk-article: 820px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ltk-cream);
  color: var(--ltk-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.68;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--ltk-green-dark); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: var(--ltk-text); }
button, input, textarea, select { font: inherit; }
.ltk-container { width: min(calc(100% - 40px), var(--ltk-content)); margin-inline: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Header */
.site-topbar { background: var(--ltk-green); color: #fff; text-align: center; font-size: .76rem; padding: 4px 16px; }
.site-header { position: relative; z-index: 30; background: rgba(255,255,255,.98); border-bottom: 1px solid rgba(0,0,0,.055); }
.header-inner { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.site-branding { display: flex; align-items: center; flex: 0 0 auto; }
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo { max-height: 48px; width: auto; }
.site-title { margin: 0; font-size: 1.1rem; font-weight: 760; letter-spacing: -.025em; }
.site-title a { color: var(--ltk-text); text-decoration: none; }
.primary-nav { margin-left: auto; }
.primary-nav ul { list-style: none; display: flex; align-items: center; gap: 24px; margin: 0; padding: 0; }
.primary-nav a { color: var(--ltk-text); text-decoration: none; font-size: .86rem; font-weight: 620; }
.primary-nav a:hover, .primary-nav .current-menu-item > a, .primary-nav .current_page_item > a { color: var(--ltk-green-dark); }
.menu-toggle { display: none; border: 0; background: transparent; font-size: 1.45rem; padding: 8px; cursor: pointer; color: var(--ltk-text); }

/* Hero */
.hero { position: relative; min-height: 390px; display: grid; place-items: center; isolation: isolate; background-position: center; background-size: cover; color: #fff; background-color: #6d756f; }
.hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(24,34,29,.62), rgba(24,34,29,.42)); z-index: -1; }
.hero:not(.has-image)::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 70% 35%, rgba(255,255,255,.13), transparent 34%); z-index: -1; }
.hero-content { max-width: 780px; text-align: center; padding: 64px 20px; }
.hero h1 { margin: 0 0 16px; font-size: clamp(2.55rem, 5.4vw, 4.15rem); line-height: 1.06; letter-spacing: -.045em; }
.hero p { margin: 0 auto 27px; max-width: 690px; font-size: clamp(1rem, 1.8vw, 1.16rem); line-height: 1.55; color: rgba(255,255,255,.94); font-weight: 540; }
.button-row { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.ltk-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 11px 22px; border-radius: 999px; border: 1px solid transparent; font-weight: 720; text-decoration: none; transition: transform .18s ease, background .18s ease, color .18s ease; }
.ltk-button:hover { transform: translateY(-1px); }
.ltk-button-primary { background: var(--ltk-white); color: var(--ltk-text); }
.ltk-button-primary:hover { background: var(--ltk-cream); color: var(--ltk-green-dark); }
.ltk-button-secondary { background: transparent; color: #fff; border-color: rgba(255,255,255,.9); }
.ltk-button-secondary:hover { background: #fff; color: var(--ltk-text); }

/* Sections */
.section { padding: 68px 0; }
.section-white { background: var(--ltk-white); }
.section-heading { margin: 0 0 8px; text-align: center; font-size: clamp(2rem, 3.6vw, 2.75rem); line-height: 1.14; letter-spacing: -.035em; }
.section-intro { margin: 0 auto 34px; max-width: 720px; text-align: center; color: var(--ltk-muted); }

/* Post cards */
.post-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 20px; }
.post-card { background: #fff; border: 1px solid rgba(40,48,43,.055); border-radius: var(--ltk-radius); overflow: hidden; box-shadow: var(--ltk-shadow); display: flex; flex-direction: column; min-width: 0; }
.post-card-image { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--ltk-cream-dark); }
.post-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.post-card-image .ltk-image-placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(145deg,var(--ltk-cream-dark),#e4ddd2); }
.post-card:hover .post-card-image img { transform: scale(1.025); }
.post-card-body { padding: 17px 18px 19px; display: flex; flex-direction: column; flex: 1; }
.post-card h3 { margin: 0 0 10px; font-size: 1.03rem; line-height: 1.3; letter-spacing: -.016em; }
.post-card h3 a { color: var(--ltk-text); text-decoration: none; }
.post-card-excerpt { color: var(--ltk-muted); font-size: .9rem; margin: 0 0 16px; line-height: 1.55; }
.post-card-meta { color: var(--ltk-muted); font-size: .78rem; margin-top: auto; }

/* Category cards */
.category-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.category-card { overflow: hidden; border-radius: var(--ltk-radius); background: var(--ltk-green); color: #fff; box-shadow: var(--ltk-shadow); }
.category-card-image { aspect-ratio: 16/9; overflow: hidden; background: var(--ltk-green-dark); }
.category-card-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.category-card-image .ltk-image-placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(140deg,var(--ltk-green-dark),var(--ltk-green)); }
.category-card-content { padding: 25px 24px 27px; text-align: center; }
.category-card h3 { margin: 0 0 8px; font-size: 1.42rem; }
.category-card p { margin: 0 0 18px; color: rgba(255,255,255,.94); font-size: .93rem; }
.category-card .ltk-button { background: #fff; color: var(--ltk-text); min-height: 42px; padding: 9px 20px; }

/* Generic page / archive */
.page-hero { padding: 58px 0 38px; text-align: center; }
.page-hero h1 { margin: 0; font-size: clamp(2.2rem, 4.8vw, 3.65rem); letter-spacing: -.042em; line-height: 1.08; }
.page-hero p { max-width: 720px; margin: 14px auto 0; color: var(--ltk-muted); }

/* Articles */
.article-shell { width: min(calc(100% - 32px), 900px); margin: 40px auto 72px; background: #fff; border-radius: 18px; padding: clamp(26px, 4.5vw, 54px); box-shadow: 0 10px 32px rgba(30,40,35,.07); }
.article-header { margin-bottom: 24px; }
.article-title { margin: 0; font-size: clamp(2rem, 4.2vw, 3.35rem); line-height: 1.1; letter-spacing: -.042em; }
.article-meta { margin-top: 13px; color: var(--ltk-muted); font-size: .86rem; }
.article-featured { margin: 0 0 28px; border-radius: 14px; overflow: hidden; aspect-ratio: 16/9; background: var(--ltk-cream-dark); }
.article-featured img { width: 100%; height: 100%; object-fit: cover; display: block; }
.article-content { width: min(100%, var(--ltk-article)); margin-inline: auto; font-size: 1rem; line-height: 1.72; }
.article-content > *:first-child { margin-top: 0; }
.article-content h2 { margin-top: 2em; margin-bottom: .55em; font-size: clamp(1.55rem, 2.8vw, 2.05rem); line-height: 1.22; letter-spacing: -.025em; }
.article-content h3 { margin-top: 1.7em; margin-bottom: .45em; font-size: 1.28rem; line-height: 1.3; }
.article-content p { margin: 0 0 1.18em; }
.article-content ul, .article-content ol { padding-left: 1.25em; margin-bottom: 1.3em; }
.article-content img { border-radius: 12px; }
.article-content > p:first-child img,
.article-content > figure:first-child img,
.article-content > img:first-child { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; margin-bottom: 28px; }
.article-content blockquote { margin: 1.9em 0; padding: 18px 22px; border-left: 5px solid var(--ltk-green); background: var(--ltk-cream); border-radius: 0 10px 10px 0; }
.article-content table { width: 100%; border-collapse: collapse; margin: 1.7em 0; font-size: .93rem; }
.article-content th, .article-content td { padding: 12px 14px; border: 1px solid var(--ltk-border); text-align: left; vertical-align: top; }
.article-content th { background: var(--ltk-cream); }
.ltk-affiliate-disclosure { width: min(100%, var(--ltk-article)); margin: 0 auto 24px; padding: 13px 16px; background: var(--ltk-cream); border-radius: 10px; color: var(--ltk-muted); font-size: .83rem; }

/* Product block */
.ltk-product-card { display: grid; grid-template-columns: 190px 1fr; gap: 24px; padding: 22px; margin: 32px 0; border: 1px solid var(--ltk-border); border-radius: var(--ltk-radius); background: var(--ltk-cream); }
.ltk-product-card img { width: 100%; aspect-ratio: 1; object-fit: contain; background: #fff; border-radius: 10px; }
.ltk-product-card h3 { margin-top: 0; }
.ltk-product-card .ltk-button { margin-top: 8px; background: var(--ltk-green-dark); color: #fff; }

/* Footer */
.site-footer { background: var(--ltk-green-deep); color: rgba(255,255,255,.84); padding: 52px 0 22px; }
.footer-grid { display: grid; grid-template-columns: 1.35fr .8fr; gap: 56px; }
.site-footer h2, .site-footer h3 { color: #fff; margin-top: 0; }
.site-footer h2 { font-size: 1.45rem; }
.site-footer h3 { font-size: 1rem; }
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.site-footer li { margin-bottom: 7px; }
.site-footer a { color: rgba(255,255,255,.9); text-decoration: none; }
.footer-bottom { margin-top: 34px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.13); font-size: .8rem; }

/* Pagination */
.pagination { margin-top: 38px; display: flex; justify-content: center; }
.nav-links { display: flex; gap: 8px; flex-wrap: wrap; }
.page-numbers { min-width: 40px; height: 40px; display: inline-grid; place-items: center; border-radius: 999px; background: #fff; color: var(--ltk-text); text-decoration: none; }
.page-numbers.current { background: var(--ltk-green); color: #fff; }

@media (max-width: 980px) {
  .post-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .category-grid { grid-template-columns: 1fr; max-width: 720px; margin-inline: auto; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  body { font-size: 15.5px; }
  .site-topbar { display: none; }
  .header-inner { min-height: 66px; }
  .custom-logo { max-height: 42px; }
  .menu-toggle { display: inline-flex; }
  .primary-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-top: 1px solid rgba(0,0,0,.06); padding: 18px 20px 22px; box-shadow: 0 10px 22px rgba(0,0,0,.08); }
  .primary-nav.is-open { display: block; }
  .primary-nav ul { flex-direction: column; align-items: flex-start; gap: 13px; }
  .hero { min-height: 410px; }
  .hero-content { padding: 56px 20px; }
  .section { padding: 54px 0; }
  .post-grid { grid-template-columns: 1fr; }
  .post-card { max-width: 560px; width: 100%; margin-inline: auto; }
  .article-shell { width: min(calc(100% - 18px), 900px); margin-top: 18px; padding: 24px 18px 34px; border-radius: 14px; }
  .ltk-product-card { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
}


/* Topic hubs: Zonder PFAS / Zonder Plastic / Zonder Chemicaliën */
.topic-hero {
  position: relative;
  overflow: hidden;
  padding: 72px 0;
  background: linear-gradient(135deg, #eef3ef 0%, #f8f5ef 72%);
}
.topic-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(380px, 1.08fr);
  gap: 64px;
  align-items: center;
}
.topic-hero-copy { max-width: 650px; }
.topic-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ltk-green-dark);
  font-size: .77rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  margin-bottom: 15px;
}
.topic-eyebrow::before { content: ""; width: 24px; height: 2px; border-radius: 99px; background: currentColor; }
.topic-hero h1 {
  margin: 0 0 18px;
  font-size: clamp(3rem, 6vw, 5.2rem);
  line-height: .98;
  letter-spacing: -.055em;
}
.topic-hero-copy > p {
  margin: 0 0 28px;
  max-width: 590px;
  color: #555f59;
  font-size: clamp(1.02rem, 1.6vw, 1.18rem);
  line-height: 1.65;
}
.topic-primary-button { background: var(--ltk-green-deep); color: #fff; }
.topic-primary-button:hover { background: var(--ltk-green-dark); color: #fff; }
.topic-hero-media {
  aspect-ratio: 5 / 4;
  border-radius: 28px;
  overflow: hidden;
  background: #dfe8e2;
  box-shadow: 0 24px 60px rgba(36,52,45,.14);
  transform: rotate(1.2deg);
}
.topic-hero-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.topic-hero-media .ltk-image-placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(145deg,#dfe8e2,#c9d9cf); }
.topic-section { padding: 76px 0; }
.topic-shortcuts-section { background: #fff; }
.topic-posts-section { background: var(--ltk-cream); }
.topic-depth-section { background: #fff; }
.topic-section-heading { max-width: 720px; margin-bottom: 34px; }
.topic-section-heading h2,
.topic-depth-intro h2 { margin: 0 0 10px; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.1; letter-spacing: -.04em; }
.topic-section-heading p,
.topic-depth-intro p { margin: 0; color: var(--ltk-muted); }
.topic-shortcuts { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.topic-shortcut-card {
  min-width: 0;
  border-radius: 20px;
  overflow: hidden;
  background: var(--ltk-cream);
  color: var(--ltk-text);
  text-decoration: none;
  border: 1px solid rgba(36,40,36,.06);
  transition: transform .2s ease, box-shadow .2s ease;
}
.topic-shortcut-card:hover { transform: translateY(-3px); box-shadow: var(--ltk-shadow); color: var(--ltk-text); }
.topic-shortcut-media { aspect-ratio: 16/10; background: var(--ltk-cream-dark); overflow: hidden; }
.topic-shortcut-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.topic-shortcut-card:hover .topic-shortcut-media img { transform: scale(1.03); }
.topic-shortcut-media .ltk-image-placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(145deg,var(--ltk-cream-dark),#ded7cc); }
.topic-shortcut-copy { padding: 22px 22px 24px; display: grid; gap: 8px; }
.topic-shortcut-title { font-size: 1.25rem; font-weight: 800; letter-spacing: -.02em; }
.topic-shortcut-desc { color: var(--ltk-muted); font-size: .91rem; line-height: 1.55; }
.topic-shortcut-link { color: var(--ltk-green-dark); font-size: .86rem; font-weight: 800; margin-top: 4px; }
.topic-post-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.topic-depth-grid { display: grid; grid-template-columns: minmax(220px,.55fr) minmax(0,1.45fr); gap: 66px; align-items: start; }
.topic-depth-intro { position: sticky; top: 108px; }
.topic-depth-content { width: 100%; margin: 0; }
.topic-depth-content > h2:first-child,
.topic-depth-content > h3:first-child { margin-top: 0; }
.topic-depth-content img { display: none !important; }
.topic-depth-content p:last-child { margin-bottom: 0; }
.footer-grid-simple { max-width: 860px; }
.footer-navigation .menu { columns: 2; column-gap: 28px; }
.footer-navigation li { break-inside: avoid; }

@media (max-width: 980px) {
  .topic-hero-grid { grid-template-columns: 1fr 1fr; gap: 34px; }
  .topic-shortcuts { grid-template-columns: 1fr; }
  .topic-shortcut-card { display: grid; grid-template-columns: minmax(220px,.75fr) 1.25fr; }
  .topic-shortcut-media { aspect-ratio: auto; min-height: 220px; }
  .topic-post-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .topic-depth-grid { grid-template-columns: 1fr; gap: 30px; }
  .topic-depth-intro { position: static; max-width: 720px; }
}
@media (max-width: 760px) {
  .topic-hero { padding: 40px 0 48px; }
  .topic-hero-grid { grid-template-columns: 1fr; gap: 30px; }
  .topic-hero-media { aspect-ratio: 4/3; transform: none; border-radius: 20px; order: -1; }
  .topic-hero h1 { font-size: clamp(2.7rem, 14vw, 4rem); }
  .topic-section { padding: 54px 0; }
  .topic-shortcut-card { display: block; }
  .topic-shortcut-media { aspect-ratio: 16/10; min-height: 0; }
  .topic-post-grid { grid-template-columns: 1fr; }
  .footer-navigation .menu { columns: 1; }
}

/* v1.3.0 — Blog filters + About page */
.blog-archive-hero { padding-bottom: 30px; }
.blog-eyebrow {
  display: inline-block;
  margin-bottom: 8px;
  color: var(--ltk-green-dark);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .72rem;
  font-weight: 800;
}
.blog-filters {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 26px;
}
.blog-filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 15px;
  border-radius: 999px;
  border: 1px solid var(--ltk-border);
  background: rgba(255,255,255,.72);
  color: var(--ltk-text);
  text-decoration: none;
  font-size: .82rem;
  font-weight: 720;
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.blog-filter:hover { transform: translateY(-1px); border-color: var(--ltk-green); color: var(--ltk-green-dark); }
.blog-filter.is-active { background: var(--ltk-green); border-color: var(--ltk-green); color: #fff; }
.blog-archive-section { padding-top: 48px; }
.blog-post-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.blog-empty-state { max-width: 620px; margin: 30px auto; text-align: center; padding: 44px; border-radius: 20px; background: var(--ltk-cream); }
.blog-empty-state h2 { margin: 0 0 8px; }
.blog-empty-state p { margin: 0 0 22px; color: var(--ltk-muted); }
.blog-empty-button { background: var(--ltk-green); color: #fff; }

.about-visual-hero {
  min-height: 255px;
  display: flex;
  align-items: end;
  position: relative;
  isolation: isolate;
  background: linear-gradient(135deg, #506259, #83968c);
  background-size: cover;
  background-position: center;
  color: #fff;
}
.about-visual-hero::before { content:""; position:absolute; inset:0; z-index:-1; background: linear-gradient(90deg,rgba(23,34,29,.65),rgba(23,34,29,.25)); }
.about-visual-hero-inner { padding-top: 62px; padding-bottom: 38px; }
.about-hero-kicker { display:block; margin-bottom:7px; text-transform:uppercase; letter-spacing:.12em; font-size:.7rem; font-weight:800; color:rgba(255,255,255,.86); }
.about-visual-hero p { margin:0; font-size:clamp(1.05rem,2vw,1.3rem); font-weight:700; max-width:720px; }
.about-story-section { padding: 70px 0 82px; background: #fff; }
.about-story-wrap { max-width: 1040px; }
.about-story-heading { max-width: 820px; margin-bottom: 30px; }
.about-story-heading h1 { margin: 6px 0 0; font-size: clamp(2.35rem,5vw,4rem); line-height:1.08; letter-spacing:-.045em; }
.about-story-copy { width: 100%; max-width: 930px; margin:0; color:var(--ltk-text); }
.about-story-copy h2 { font-size: 1.35rem; margin-top: 0; }
.about-story-copy p { color:#3d423f; }
.about-story-image { margin: 48px 0 0; border-radius: 22px; overflow:hidden; aspect-ratio: 16/7; background:var(--ltk-cream-dark); }
.about-story-image img { width:100%; height:100%; object-fit:cover; display:block; }
.about-faq-section { padding: 76px 0 88px; background: var(--ltk-cream); }
.about-faq-wrap { max-width: 1040px; }
.about-faq-heading { max-width: 720px; margin-bottom: 38px; }
.about-faq-heading h2 { margin: 6px 0 10px; font-size:clamp(2.1rem,4vw,3.25rem); letter-spacing:-.04em; line-height:1.1; }
.about-faq-heading p { margin:0; color:var(--ltk-muted); }
.about-faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 46px; }
.about-faq-item { padding: 23px 0 28px; border-top:1px solid #d7d0c6; }
.about-faq-item h3 { margin:0 0 10px; font-size:1.04rem; line-height:1.35; }
.about-faq-answer { color:#424744; font-size:.94rem; line-height:1.68; }
.about-faq-answer > *:first-child { margin-top:0; }
.about-faq-answer > *:last-child { margin-bottom:0; }

.topic-depth-panel {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(34px,4.5vw,56px);
  background: var(--ltk-cream);
  border: 1px solid rgba(36,40,36,.06);
  border-radius: 22px;
}
.topic-depth-panel .topic-depth-intro { position: static; max-width: 780px; margin-bottom: 30px; }
.topic-depth-panel .topic-depth-content { max-width: none; }
.topic-depth-content h3,
.topic-depth-content h4,
.topic-depth-content h5,
.topic-depth-content h6 {
  margin: 1.8em 0 .55em;
  font-size: clamp(1.08rem,1.4vw,1.22rem);
  line-height: 1.4;
  letter-spacing: -.012em;
  font-weight: 800;
}
.topic-depth-content p > strong:only-child {
  display: block;
  margin-top: 1.75em;
  margin-bottom: .45em;
  font-size: clamp(1.06rem,1.35vw,1.18rem);
  line-height: 1.4;
  letter-spacing: -.01em;
  color: var(--ltk-text);
}

@media (max-width: 980px) {
  .blog-post-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .blog-filters { justify-content: flex-start; flex-wrap: nowrap; overflow-x:auto; padding-bottom:6px; scrollbar-width:none; }
  .blog-filters::-webkit-scrollbar { display:none; }
  .blog-filter { flex:0 0 auto; }
  .blog-post-grid { grid-template-columns: 1fr; }
  .about-visual-hero { min-height: 210px; }
  .about-story-section, .about-faq-section { padding: 54px 0 62px; }
  .about-story-image { aspect-ratio: 4/3; margin-top:32px; }
  .about-faq-grid { grid-template-columns: 1fr; gap:0; }
}


/* v1.5.0 — Topic hub depth polish */
.topic-depth-section .ltk-container {
  width: min(calc(100% - 40px), var(--ltk-content));
  max-width: var(--ltk-content);
}
.topic-depth-panel {
  width: 100%;
}
.topic-depth-content .topic-faq-heading {
  margin: 2.15rem 0 1.15rem;
  font-size: clamp(1.55rem, 2.5vw, 2rem);
  line-height: 1.2;
  letter-spacing: -.025em;
}
.topic-depth-content .topic-faq-question {
  margin: 1.65rem 0 .55rem;
  font-size: clamp(1.13rem, 1.55vw, 1.3rem);
  line-height: 1.35;
  letter-spacing: -.012em;
  font-weight: 800;
  color: var(--ltk-text);
}
.topic-depth-content .topic-faq-question + p {
  margin-top: 0;
}
.topic-depth-content a {
  color: var(--ltk-green-dark);
}
@media (max-width: 760px) {
  .topic-depth-section .ltk-container { width: min(calc(100% - 28px), var(--ltk-content)); }
  .topic-depth-panel { padding: 28px 22px; }
}


/* v1.6.0 — Product hub pages */
.product-hub-hero {
  min-height: 340px;
  display: grid;
  place-items: center;
  position: relative;
  isolation: isolate;
  background: linear-gradient(135deg,#b8c4bd,#87998f);
  background-size: cover;
  background-position: center;
}
.product-hub-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(31,45,38,.24), rgba(31,45,38,.08));
}
.product-hub-hero-card {
  width: min(640px, calc(100% - 32px));
  margin: 54px auto;
  padding: clamp(28px,4vw,44px) clamp(26px,4.5vw,54px);
  border-radius: 4px;
  background: rgba(255,255,255,.96);
  text-align: center;
  box-shadow: 0 18px 46px rgba(27,38,32,.14);
  backdrop-filter: blur(3px);
}
.product-hub-eyebrow {
  display: inline-block;
  margin-bottom: 9px;
  color: var(--ltk-green-dark);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .68rem;
  font-weight: 850;
}
.product-hub-hero-card h1 {
  margin: 0 0 12px;
  font-size: clamp(2rem,4.1vw,3.15rem);
  line-height: 1.08;
  letter-spacing: -.045em;
}
.product-hub-hero-card p {
  max-width: 540px;
  margin: 0 auto 22px;
  color: #454b47;
  font-size: .96rem;
  line-height: 1.62;
}
.product-hub-hero-card .ltk-button {
  min-height: 42px;
  padding-inline: 20px;
  background: #5d6862;
  color: #fff;
}
.product-hub-hero-card .ltk-button:hover { background: var(--ltk-green-deep); color:#fff; }

.product-hub-posts {
  padding: 66px 0 76px;
  background: var(--ltk-cream);
}
.product-hub-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 30px;
}
.product-hub-heading-copy { max-width: 680px; }
.product-hub-heading h2 {
  margin: 4px 0 7px;
  font-size: clamp(2rem,3.6vw,2.8rem);
  line-height: 1.1;
  letter-spacing: -.04em;
}
.product-hub-heading p { margin:0; color:var(--ltk-muted); }
.product-hub-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.product-hub-grid .post-card { min-width:0; }
.product-hub-more {
  display:inline-flex;
  flex:0 0 auto;
  color:var(--ltk-green-dark);
  font-weight:800;
  text-decoration:none;
}
.product-hub-more:hover { color:var(--ltk-text); }

.product-hub-faq {
  padding: 72px 0 88px;
  background:#fff;
}
.product-hub-faq-wrap { max-width: 1060px; }
.product-hub-faq-heading { max-width: 760px; margin-bottom: 36px; }
.product-hub-faq-heading h2 {
  margin: 5px 0 10px;
  font-size: clamp(2rem,3.8vw,3rem);
  line-height:1.1;
  letter-spacing:-.04em;
}
.product-hub-faq-heading p { margin:0; color:var(--ltk-muted); }
.product-hub-faq-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:58px;
  row-gap:4px;
}
.product-hub-faq-item {
  padding: 24px 0 28px;
  border-top:1px solid #e4ded5;
}
.product-hub-faq-item h3 {
  margin:0 0 10px;
  font-size: clamp(1.08rem,1.55vw,1.24rem);
  line-height:1.34;
  letter-spacing:-.016em;
}
.product-hub-faq-answer {
  color:#424744;
  font-size:.94rem;
  line-height:1.7;
}
.product-hub-faq-answer > *:first-child { margin-top:0; }
.product-hub-faq-answer > *:last-child { margin-bottom:0; }
.product-hub-faq-answer a { color:var(--ltk-green-dark); }
.product-hub-empty {
  grid-column:1/-1;
  padding:34px;
  border-radius:18px;
  background:#fff;
  color:var(--ltk-muted);
  text-align:center;
}

@media (max-width: 980px) {
  .product-hub-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-hub-heading { align-items:start; }
}
@media (max-width: 760px) {
  .product-hub-hero { min-height: 300px; }
  .product-hub-hero-card { margin: 34px auto; border-radius: 12px; }
  .product-hub-posts, .product-hub-faq { padding: 54px 0 62px; }
  .product-hub-heading { display:block; }
  .product-hub-more { margin-top:14px; }
  .product-hub-grid { grid-template-columns:1fr; }
  .product-hub-faq-grid { grid-template-columns:1fr; column-gap:0; }
}

/* =========================================================
   Article experience v2 — editorial + affiliate friendly
   ========================================================= */
.ltk-article-page { background: var(--ltk-cream); }
.ltk-article-hero { padding: 58px 20px 30px; background: linear-gradient(180deg,#f8f5ef 0%,#f7f3ed 100%); }
.ltk-article-hero-inner { width:min(100%,980px); margin:0 auto; text-align:center; }
.ltk-article-kickers { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.ltk-article-kicker { display:inline-flex; align-items:center; min-height:30px; padding:5px 11px; border-radius:999px; background:#e7eee9; color:var(--ltk-green-dark); font-size:.74rem; font-weight:800; letter-spacing:.025em; text-decoration:none; }
.ltk-article-kicker:hover { background:#dce8e1; color:var(--ltk-green-deep); }
.ltk-article-title { margin:0 auto; max-width:940px; font-size:clamp(2.65rem,5.7vw,5rem); line-height:1.01; letter-spacing:-.058em; text-wrap:balance; }
.ltk-article-deck { max-width:760px; margin:20px auto 0; color:#545c57; font-size:clamp(1.02rem,1.8vw,1.22rem); line-height:1.6; }
.ltk-article-meta-row { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:8px; margin-top:20px; color:var(--ltk-muted); font-size:.84rem; }
.ltk-article-media-wrap { width:min(calc(100% - 32px),1120px); margin:12px auto 0; }
.ltk-article-hero-media { margin:0; aspect-ratio:16/8.2; overflow:hidden; border-radius:22px; background:var(--ltk-cream-dark); box-shadow:0 18px 48px rgba(35,48,40,.10); }
.ltk-article-hero-media img { width:100%; height:100%; object-fit:cover; display:block; }

.ltk-article-body-wrap { width:min(calc(100% - 32px),1100px); margin:0 auto; padding:52px 0 82px; display:grid; grid-template-columns:minmax(0,1fr); gap:52px; align-items:start; }
.ltk-article-body-wrap.has-toc { grid-template-columns:210px minmax(0,790px); justify-content:center; }
.ltk-article-main { min-width:0; }
.ltk-article-toc { position:relative; }
.ltk-article-toc-card { position:sticky; top:94px; padding:18px 17px; border:1px solid var(--ltk-border); border-radius:14px; background:rgba(255,255,255,.72); backdrop-filter:blur(8px); }
.ltk-article-toc-title { margin-bottom:10px; color:var(--ltk-text); font-size:.8rem; font-weight:850; letter-spacing:.055em; text-transform:uppercase; }
.ltk-article-toc ol { list-style:none; padding:0; margin:0; }
.ltk-article-toc li { margin:0; }
.ltk-article-toc li + li { margin-top:7px; }
.ltk-article-toc li.level-3 { padding-left:11px; }
.ltk-article-toc a { display:block; color:#626963; text-decoration:none; font-size:.82rem; line-height:1.38; }
.ltk-article-toc a:hover { color:var(--ltk-green-dark); }

.ltk-article-main .ltk-affiliate-disclosure { width:100%; margin:0 0 28px; padding:12px 15px; display:flex; align-items:flex-start; gap:9px; background:#f0ebe3; border:1px solid #e7e0d6; border-radius:11px; color:#6a6c68; font-size:.78rem; line-height:1.5; }
.ltk-disclosure-dot { flex:0 0 7px; width:7px; height:7px; border-radius:50%; background:var(--ltk-green); margin-top:.42em; }
.ltk-article-content { width:100%; margin:0; font-size:1.03rem; line-height:1.82; color:#303632; }
.ltk-article-content > *:first-child { margin-top:0; }
.ltk-article-content p { margin:0 0 1.32em; }
.ltk-article-content h2 { scroll-margin-top:100px; margin:2.5em 0 .72em; padding-top:.08em; font-size:clamp(1.72rem,3vw,2.25rem); line-height:1.16; letter-spacing:-.035em; color:var(--ltk-text); }
.ltk-article-content h2::before { content:""; display:block; width:34px; height:3px; margin-bottom:13px; border-radius:99px; background:var(--ltk-green); }
.ltk-article-content h3 { scroll-margin-top:100px; margin:1.85em 0 .55em; font-size:1.22rem; line-height:1.35; letter-spacing:-.015em; color:var(--ltk-text); }
.ltk-article-content .ltk-question-heading { padding-top:18px; border-top:1px solid #e2dcd2; }
.ltk-article-content strong { color:#202622; }
.ltk-article-content ul,.ltk-article-content ol { margin:0 0 1.5em; padding-left:1.3em; }
.ltk-article-content li + li { margin-top:.36em; }
.ltk-article-content blockquote { margin:2em 0; padding:20px 22px; border:0; border-left:4px solid var(--ltk-green); background:#f1f5f2; border-radius:0 12px 12px 0; color:#3f4742; }

.ltk-insight { margin:22px 0 26px; padding:18px 20px 19px; border-radius:14px; border:1px solid var(--ltk-border); }
.ltk-insight-feature { background:#f7f3ed; }
.ltk-insight-verdict { background:#eaf1ed; border-color:#d4e1d9; }
.ltk-insight-label { margin-bottom:5px; color:var(--ltk-green-dark); font-size:.76rem; line-height:1; font-weight:850; letter-spacing:.075em; text-transform:uppercase; }
.ltk-insight-copy { color:#3c433f; line-height:1.7; }
.ltk-insight-copy:empty::after { content:"—"; }

/* Product & comparison UI */
.ltk-product-card { display:grid; grid-template-columns:150px minmax(0,1fr) auto; align-items:center; gap:22px; margin:34px 0; padding:18px 19px; background:#fff; border:1px solid #ddd8cf; border-radius:16px; box-shadow:0 8px 24px rgba(35,45,39,.055); }
.ltk-product-card > div:first-child { display:flex; align-items:center; justify-content:center; min-height:120px; padding:8px; border-radius:12px; background:#faf9f6; }
.ltk-product-card img { width:100%; height:118px; object-fit:contain; background:transparent; border-radius:8px; }
.ltk-product-card h3 { margin:0 0 6px; font-size:1.08rem; }
.ltk-product-card p { margin-bottom:.7em; color:#626863; font-size:.9rem; line-height:1.55; }
.ltk-product-card .ltk-button { white-space:nowrap; margin:0; padding:10px 16px; min-height:42px; background:var(--ltk-green); color:#fff; }
.ltk-product-card .ltk-button:hover { background:var(--ltk-green-dark); color:#fff; }

.ltk-article-content table { width:100%; margin:2em 0; overflow:hidden; border-collapse:separate; border-spacing:0; border:1px solid #dfd9d0; border-radius:14px; font-size:.88rem; background:#fff; }
.ltk-article-content th,.ltk-article-content td { padding:13px 14px; border:0; border-bottom:1px solid #ebe6de; text-align:left; vertical-align:middle; }
.ltk-article-content tr:last-child td { border-bottom:0; }
.ltk-article-content th { background:#f6f2ec; color:#303632; font-size:.75rem; text-transform:uppercase; letter-spacing:.045em; }
.ltk-article-content tr:hover td { background:#fbfaf8; }

/* Existing bol.com links immediately get a trustworthy CTA treatment. */
.ltk-article-content .ltk-bol-link { color:var(--ltk-green-dark); font-weight:750; text-underline-offset:3px; text-decoration-thickness:1px; }
.ltk-article-content p > .ltk-bol-link:only-child,
.ltk-article-content .ltk-button.ltk-bol-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 18px; border-radius:999px; background:var(--ltk-green); color:#fff; text-decoration:none; box-shadow:none; }
.ltk-article-content p > .ltk-bol-link:only-child:hover,
.ltk-article-content .ltk-button.ltk-bol-link:hover { background:var(--ltk-green-dark); color:#fff; }

.ltk-article-related { padding:68px 0 82px; background:#fff; }
.ltk-related-heading { margin-bottom:28px; }
.ltk-related-heading h2 { margin:6px 0 0; font-size:clamp(2rem,4vw,3rem); letter-spacing:-.045em; line-height:1.08; }
.ltk-related-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }

@media (min-width:1100px) {
  .ltk-article-content .alignwide { width:calc(100% + 120px); margin-left:-60px; max-width:none; }
}
@media (max-width:960px) {
  .ltk-article-body-wrap.has-toc { grid-template-columns:1fr; gap:24px; }
  .ltk-article-toc { display:none; }
  .ltk-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .ltk-article-hero { padding:38px 18px 22px; }
  .ltk-article-title { font-size:clamp(2.35rem,11vw,3.5rem); }
  .ltk-article-media-wrap { width:calc(100% - 20px); margin-top:5px; }
  .ltk-article-hero-media { aspect-ratio:4/3; border-radius:15px; }
  .ltk-article-body-wrap { width:calc(100% - 34px); padding:34px 0 58px; }
  .ltk-article-content { font-size:1rem; line-height:1.76; }
  .ltk-product-card { grid-template-columns:92px 1fr; gap:15px; }
  .ltk-product-card > div:first-child { min-height:88px; }
  .ltk-product-card img { height:82px; }
  .ltk-product-card .ltk-button { grid-column:1/-1; width:100%; }
  .ltk-related-grid { grid-template-columns:1fr; }
}


/* =========================================================
   Article experience v3 — wider editorial layout
   ========================================================= */
.ltk-article-body-wrap {
  width:min(calc(100% - 36px),1320px);
  padding:54px 0 86px;
}
.ltk-article-body-wrap.has-toc {
  grid-template-columns:210px minmax(0,960px);
  gap:46px;
  justify-content:center;
}
.ltk-article-main { width:100%; max-width:960px; }
.ltk-article-content { font-size:1.08rem; line-height:1.82; }
.ltk-article-content p { margin-bottom:1.38em; }

/* Larger and clearer hierarchy. */
.ltk-article-content h2 {
  margin-top:2.35em;
  margin-bottom:.7em;
  font-size:clamp(2rem,3.4vw,2.65rem);
  line-height:1.1;
}
.ltk-article-content h3 {
  margin-top:1.85em;
  font-size:clamp(1.3rem,2vw,1.52rem);
  line-height:1.28;
}
.ltk-article-content .ltk-product-heading {
  margin-top:2.5em;
  padding-top:0;
  font-size:clamp(1.85rem,3vw,2.35rem);
}
.ltk-article-content .ltk-product-heading::before { width:44px; }

/* TOC remains beside the article instead of narrowing the reading column too much. */
.ltk-article-toc-card { padding:20px 18px; }
.ltk-article-toc a { font-size:.84rem; line-height:1.45; }

/* Consistent editorial callouts. */
.ltk-insight { margin:24px 0; padding:20px 22px 21px; }
.ltk-insight-feature { background:#f7f3ed; }
.ltk-insight-verdict { background:#e9f1ec; border-color:#cddfd4; }
.ltk-insight-verdict .ltk-insight-label::before { content:"✓ "; }
.ltk-insight-label { font-size:.79rem; }
.ltk-insight-copy { font-size:1rem; line-height:1.72; }

/* FAQ section: one strong heading, then calm individual questions. */
.ltk-article-content .ltk-faq-heading {
  margin-top:3.1em;
  padding-top:32px;
  border-top:1px solid #dcd5cb;
}
.ltk-article-content .ltk-question-heading {
  margin:0;
  padding:23px 0 9px;
  border-top:1px solid #ddd7ce;
  font-size:1.2rem;
  line-height:1.35;
}
.ltk-article-content .ltk-faq-heading + .ltk-question-heading { border-top:0; padding-top:10px; }
.ltk-article-content .ltk-question-heading + p { color:#424944; margin-bottom:1.35em; }

/* Related reading: four cards on desktop. */
.ltk-related-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }

/* Comparison component, ready for migrated/AI product data. */
.ltk-comparison {
  margin:0 0 42px;
  padding:26px;
  background:#fff;
  border:1px solid #ded8ce;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(35,45,39,.055);
}
.ltk-comparison-head { margin-bottom:18px; }
.ltk-comparison-head h2 { margin:2px 0 5px; font-size:1.7rem; line-height:1.15; letter-spacing:-.03em; }
.ltk-comparison-head p { margin:0; color:var(--ltk-muted); font-size:.92rem; }
.ltk-comparison-table-wrap { overflow-x:auto; }
.ltk-comparison-table { width:100%; border-collapse:separate; border-spacing:0; }
.ltk-comparison-table th { padding:10px 12px; background:#f6f2ec; text-align:left; font-size:.72rem; text-transform:uppercase; letter-spacing:.055em; }
.ltk-comparison-table td { padding:13px 12px; border-bottom:1px solid #ebe6de; vertical-align:middle; }
.ltk-comparison-table tr:last-child td { border-bottom:0; }
.ltk-comparison-product { display:flex; align-items:center; gap:12px; min-width:230px; }
.ltk-comparison-product img { width:72px; height:54px; object-fit:contain; background:#faf9f6; border-radius:8px; }
.ltk-comparison-button { min-height:38px; padding:8px 14px; background:var(--ltk-green); color:#fff; white-space:nowrap; }
.ltk-comparison-button:hover { background:var(--ltk-green-dark); color:#fff; }

@media (max-width:1100px) {
  .ltk-article-body-wrap.has-toc { grid-template-columns:190px minmax(0,1fr); gap:32px; }
  .ltk-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:960px) {
  .ltk-article-body-wrap.has-toc { grid-template-columns:1fr; }
  .ltk-article-main { max-width:820px; margin-inline:auto; }
  .ltk-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .ltk-article-content { font-size:1rem; }
  .ltk-related-grid { grid-template-columns:1fr; }
  .ltk-comparison { padding:18px 15px; margin-bottom:30px; }
}

.ltk-commercial-note { margin:8px auto 0; color:#777b77; font-size:.72rem; line-height:1.4; }


/* =========================================================
   Article experience v10 — one polished article first
   ========================================================= */

/* The reading column is as wide as the hero. The TOC lives outside it. */
.ltk-article-body-wrap,
.ltk-article-body-wrap.has-toc {
  width:min(calc(100% - 40px),1510px);
  margin-inline:auto;
  align-items:start;
}
.ltk-article-body-wrap.has-toc {
  grid-template-columns:220px minmax(0,1120px);
  gap:42px;
  justify-content:center;
}
.ltk-article-main {
  width:100%;
  max-width:1120px;
  min-width:0;
}
.ltk-article-content {
  width:100%;
  max-width:none;
  font-size:1.075rem;
  line-height:1.82;
}

/* The old per-article disclosure must never be shown. */
.ltk-commercial-note,
.ltk-affiliate-disclosure {
  display:none !important;
}

/* Buying guides need a stronger hierarchy. */
.ltk-article-type-buying_guide .ltk-article-content .ltk-product-heading {
  margin-top:2.55em;
  padding-top:.15em;
  font-size:clamp(2rem,3.5vw,2.7rem);
  line-height:1.08;
}
.ltk-article-type-buying_guide .ltk-article-content .ltk-product-heading::before {
  width:48px;
  height:4px;
}

/* Product insight blocks: same treatment every single time. */
.ltk-insight {
  margin:24px 0;
  padding:22px 24px;
  border:1px solid #dcd6cd;
  border-radius:16px;
  box-shadow:0 8px 22px rgba(35,45,39,.035);
}
.ltk-insight-feature {
  background:#f8f5ef;
}
.ltk-insight-verdict {
  background:#eaf2ed;
  border-color:#cfdfd5;
}
.ltk-insight-label {
  margin-bottom:8px;
  font-size:.78rem;
  letter-spacing:.085em;
}
.ltk-insight-copy {
  font-size:1.02rem;
  line-height:1.73;
}
.ltk-insight-verdict .ltk-insight-label::before {
  content:"✓ ";
}

/* FAQ becomes a deliberate editorial section instead of a loose tail. */
.ltk-faq-block {
  margin-top:78px;
  padding-top:42px;
  border-top:1px solid #d9d2c8;
}
.ltk-faq-block .ltk-faq-heading {
  margin:0 0 26px;
  padding:0;
  border:0;
  font-size:clamp(2.1rem,3.5vw,2.8rem);
  line-height:1.08;
}
.ltk-faq-block .ltk-faq-heading::before {
  content:"";
  display:block;
  width:42px;
  height:4px;
  margin-bottom:14px;
  border-radius:99px;
  background:var(--ltk-green);
}
.ltk-faq-card-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.ltk-faq-card {
  padding:22px 22px 20px;
  border:1px solid #ded8cf;
  border-radius:15px;
  background:#fff;
}
.ltk-faq-card .ltk-question-heading {
  margin:0 0 10px;
  padding:0;
  border:0;
  font-size:1.12rem;
  line-height:1.34;
}
.ltk-faq-card-answer {
  color:#4c534f;
  font-size:.96rem;
  line-height:1.66;
}
.ltk-faq-card-answer > *:first-child { margin-top:0; }
.ltk-faq-card-answer > *:last-child { margin-bottom:0; }

/* TOC is visually secondary and truly outside the article column. */
.ltk-article-toc-card {
  position:sticky;
  top:92px;
  padding:18px 16px;
  background:rgba(255,255,255,.78);
  border:1px solid #ded8cf;
  box-shadow:0 8px 24px rgba(35,45,39,.04);
}
.ltk-article-toc a {
  font-size:.82rem;
  line-height:1.4;
}

/* Related content: four calm cards on desktop. */
.ltk-related-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
}

/* Comparison table belongs to buying guides only and appears only once real product data exists. */
.ltk-article-type-review .ltk-comparison,
.ltk-article-type-how_to .ltk-comparison {
  display:none;
}

@media (max-width:1380px) {
  .ltk-article-body-wrap.has-toc {
    grid-template-columns:200px minmax(0,960px);
    gap:32px;
  }
  .ltk-article-main { max-width:960px; }
}
@media (max-width:1040px) {
  .ltk-article-body-wrap.has-toc {
    grid-template-columns:1fr;
    width:min(calc(100% - 36px),900px);
  }
  .ltk-article-main { max-width:900px; margin-inline:auto; }
  .ltk-article-toc { display:none; }
  .ltk-faq-card-grid { grid-template-columns:1fr; }
  .ltk-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .ltk-faq-block { margin-top:56px; padding-top:32px; }
  .ltk-faq-card { padding:19px 18px; }
  .ltk-related-grid { grid-template-columns:1fr; }
}


/* =========================================================
   Article experience v11 — centered reading column + external TOC
   ========================================================= */

/*
 * On desktop the image and text share exactly the same centered width.
 * The TOC is absolutely positioned OUTSIDE that width, so it no longer
 * pushes the article itself to the right.
 */
@media (min-width: 1200px) {
  .ltk-article-page {
    --ltk-reading-width: min(1120px, calc(100vw - 430px));
    --ltk-toc-width: 184px;
    --ltk-toc-gap: 28px;
  }

  .ltk-article-media-wrap {
    width: var(--ltk-reading-width);
    margin-left: auto;
    margin-right: auto;
  }

  .ltk-article-body-wrap,
  .ltk-article-body-wrap.has-toc {
    display: block;
    position: relative;
    width: var(--ltk-reading-width);
    max-width: none;
    margin-left: auto;
    margin-right: auto;
  }

  .ltk-article-main {
    width: 100%;
    max-width: none;
    margin: 0 auto;
  }

  .ltk-article-toc {
    position: absolute;
    top: 0;
    right: calc(100% + var(--ltk-toc-gap));
    width: var(--ltk-toc-width);
  }

  .ltk-article-toc-card {
    width: 100%;
  }
}

/* Keep tablet reading width generous while avoiding a cramped floating TOC. */
@media (min-width: 1041px) and (max-width: 1199px) {
  .ltk-article-media-wrap,
  .ltk-article-body-wrap,
  .ltk-article-body-wrap.has-toc {
    width: min(calc(100% - 48px), 930px);
  }
  .ltk-article-body-wrap.has-toc {
    grid-template-columns: 1fr;
  }
  .ltk-article-main {
    width: 100%;
    max-width: none;
    margin-inline: auto;
  }
  .ltk-article-toc {
    display: none;
  }
}

/* Product heading normalization: all numbered products look identical. */
.ltk-article-type-buying_guide .ltk-article-content > .ltk-product-heading,
.ltk-article-type-buying_guide .ltk-article-content .ltk-product-heading {
  display: block;
  margin: 3.05em 0 .72em;
  padding: 0;
  font-size: clamp(2.05rem, 3.1vw, 2.72rem);
  line-height: 1.08;
  letter-spacing: -.038em;
  font-weight: 850;
}
.ltk-article-type-buying_guide .ltk-article-content > .ltk-product-heading::before,
.ltk-article-type-buying_guide .ltk-article-content .ltk-product-heading::before {
  content: "";
  display: block;
  width: 46px;
  height: 4px;
  margin-bottom: 13px;
  border-radius: 99px;
  background: var(--ltk-green);
}

/* Identical insight treatment, including product 2 imported as separate label paragraphs. */
.ltk-article-content .ltk-insight {
  display: block;
  width: 100%;
}
.ltk-article-content .ltk-insight + .ltk-insight {
  margin-top: 14px;
}
.ltk-article-content .ltk-insight-label {
  font-weight: 850;
  text-transform: uppercase;
}


/* =========================================================
   Structured buying-guide products v12
   ========================================================= */
.ltk-comparison {
  margin:10px 0 52px;
  padding:24px;
  border:1px solid #dcd6cd;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 30px rgba(35,45,39,.045);
}
.ltk-comparison-head h2 {
  font-size:clamp(1.75rem,2.6vw,2.25rem);
}
.ltk-comparison-table th:last-child,
.ltk-comparison-table td:last-child {
  text-align:right;
}
.ltk-comparison-product strong {
  line-height:1.25;
}
.ltk-comparison-product img {
  width:82px;
  height:62px;
  border:1px solid #eee9e1;
}
.ltk-comparison-button {
  border-radius:999px;
  font-weight:750;
}

.ltk-product-offer {
  display:grid;
  grid-template-columns:150px minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  margin:18px 0 30px;
  padding:18px 19px;
  border:1px solid #d9d4cb;
  border-radius:17px;
  background:#fff;
  box-shadow:0 8px 24px rgba(35,45,39,.05);
}
.ltk-product-offer-media {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:118px;
  padding:10px;
  border-radius:13px;
  background:#faf9f6;
}
.ltk-product-offer-media img {
  display:block;
  width:100%;
  height:112px;
  object-fit:contain;
}
.ltk-product-offer-copy {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
}
.ltk-product-offer-badge {
  display:inline-flex;
  padding:5px 9px;
  border-radius:999px;
  background:#e5eee8;
  color:#516d5e;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.ltk-product-offer-name {
  font-size:1.12rem;
  line-height:1.28;
}
.ltk-product-offer-note {
  color:#69706b;
  font-size:.87rem;
  line-height:1.45;
}
.ltk-product-offer-button {
  white-space:nowrap;
  border-radius:999px;
  background:var(--ltk-green);
  color:#fff;
  font-weight:750;
}
.ltk-product-offer-button:hover {
  background:var(--ltk-green-dark);
  color:#fff;
}

/* If an image could not safely be recovered, keep the card elegant. */
.ltk-product-offer:not(:has(.ltk-product-offer-media)) {
  grid-template-columns:minmax(0,1fr) auto;
}

@media (max-width:800px) {
  .ltk-comparison { padding:18px 14px; }
  .ltk-product-offer {
    grid-template-columns:95px minmax(0,1fr);
    gap:15px;
  }
  .ltk-product-offer-media { min-height:90px; padding:7px; }
  .ltk-product-offer-media img { height:82px; }
  .ltk-product-offer-action {
    grid-column:1/-1;
  }
  .ltk-product-offer-button {
    display:flex;
    justify-content:center;
    width:100%;
  }
  .ltk-product-offer:not(:has(.ltk-product-offer-media)) {
    grid-template-columns:1fr;
  }
}


/* =========================================================
   Buying guide conversion polish v13
   ========================================================= */
.ltk-product-offer {
  grid-template-columns:170px minmax(0,1fr) auto;
  gap:24px;
  padding:20px;
  border-color:#d4d9d4;
  box-shadow:0 10px 28px rgba(35,45,39,.065);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.ltk-product-offer:hover {
  transform:translateY(-1px);
  border-color:#becfc4;
  box-shadow:0 14px 34px rgba(35,45,39,.085);
}

.ltk-product-offer-media {
  min-height:128px;
  padding:11px;
  text-decoration:none;
  cursor:pointer;
  transition:background .16s ease;
}
.ltk-product-offer-media:hover {
  background:#f2f5f1;
}
.ltk-product-offer-media img {
  height:122px;
}

.ltk-product-offer-name-link {
  color:var(--ltk-ink);
  text-decoration:none;
}
.ltk-product-offer-name-link:hover {
  color:var(--ltk-green-dark);
  text-decoration:underline;
  text-underline-offset:3px;
}
.ltk-product-offer-name {
  font-size:1.2rem;
}
.ltk-product-offer-note {
  max-width:48ch;
  font-size:.9rem;
}

.ltk-product-offer-button {
  min-width:210px;
  min-height:50px;
  padding:14px 20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  background:#6f927f;
  border:1px solid #6f927f;
  box-shadow:0 6px 14px rgba(83,118,98,.16);
  font-size:.96rem;
  font-weight:800;
}
.ltk-product-offer-button:hover {
  background:#557563;
  border-color:#557563;
  transform:translateY(-1px);
}

.ltk-comparison-button {
  min-width:142px;
  padding:10px 14px;
  background:#6f927f;
  color:#fff;
  border:1px solid #6f927f;
  box-shadow:0 4px 10px rgba(83,118,98,.12);
}
.ltk-comparison-button:hover {
  background:#557563;
  color:#fff;
}

/* All buying guides / top-X / choice guides use this same polished rhythm. */
.ltk-article-type-buying_guide .ltk-comparison {
  margin-top:4px;
  margin-bottom:58px;
}
.ltk-article-type-buying_guide .ltk-product-offer {
  margin-top:18px;
  margin-bottom:34px;
}

@media (max-width:900px) {
  .ltk-product-offer {
    grid-template-columns:120px minmax(0,1fr);
  }
  .ltk-product-offer-action {
    grid-column:1/-1;
  }
  .ltk-product-offer-button {
    width:100%;
  }
}
@media (max-width:620px) {
  .ltk-product-offer {
    grid-template-columns:92px minmax(0,1fr);
    gap:14px;
    padding:15px;
  }
  .ltk-product-offer-media {
    min-height:86px;
    padding:6px;
  }
  .ltk-product-offer-media img {
    height:82px;
  }
  .ltk-product-offer-name {
    font-size:1.06rem;
  }
}


/* =========================================================
   Primary affiliate CTA polish v14
   ========================================================= */
.ltk-product-offer-button {
  min-width:270px;
  min-height:54px;
  padding:14px 22px;
  border-radius:12px;
  background:#4f8068;
  border:2px solid #4f8068;
  box-shadow:0 7px 18px rgba(53,95,74,.18);
  font-size:.98rem;
  font-weight:800;
  letter-spacing:-.01em;
  white-space:nowrap;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
}
.ltk-product-offer-button:hover,
.ltk-product-offer-button:focus-visible {
  background:#38644f;
  border-color:#38644f;
  box-shadow:0 10px 22px rgba(53,95,74,.24);
  transform:translateY(-2px);
}
.ltk-product-offer-button:focus-visible {
  outline:3px solid rgba(79,128,104,.25);
  outline-offset:3px;
}
.ltk-product-offer-button span[aria-hidden="true"] {
  font-size:1.15em;
  line-height:1;
  transition:transform .15s ease;
}
.ltk-product-offer-button:hover span[aria-hidden="true"] {
  transform:translateX(3px);
}
.ltk-comparison-button {
  border-radius:10px;
  background:#4f8068;
  border:2px solid #4f8068;
  font-weight:800;
  box-shadow:0 5px 13px rgba(53,95,74,.14);
}
.ltk-comparison-button:hover,
.ltk-comparison-button:focus-visible {
  background:#38644f;
  border-color:#38644f;
  box-shadow:0 7px 16px rgba(53,95,74,.20);
}
@media (max-width:900px) {
  .ltk-product-offer-button {
    min-width:0;
    width:100%;
  }
}


/* =========================================================
   Affiliate CTA v15 — bol logo + stronger click cue
   ========================================================= */
.ltk-product-offer-action {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}

.ltk-bol-logo {
  display:block;
  width:44px;
  height:28px;
  object-fit:contain;
  flex:0 0 auto;
  border-radius:7px;
}

.ltk-product-offer-button {
  min-width:270px;
  min-height:54px;
  padding:14px 22px;
  border-radius:12px;
  font-size:1.06rem;
  font-weight:800;
  line-height:1.15;
}

.ltk-comparison-cta {
  display:inline-flex;
  align-items:center;
  gap:7px;
  white-space:nowrap;
}

.ltk-bol-logo-small {
  width:31px;
  height:20px;
  border-radius:5px;
}

.ltk-comparison-button {
  font-size:.94rem;
}

@media (max-width:900px) {
  .ltk-product-offer-action {
    grid-column:1 / -1;
    justify-content:flex-end;
  }
}

@media (max-width:620px) {
  .ltk-product-offer-action {
    justify-content:stretch;
    gap:8px;
  }
  .ltk-bol-logo {
    width:40px;
    height:26px;
  }
  .ltk-product-offer-button {
    min-width:0;
    width:100%;
    font-size:1.02rem;
  }
}


/* v17 affiliate CTA: stronger dark green conversion button */
.ltk-product-offer-button,
.ltk-comparison-button {
  background: #5f8875;
  border-color: #5f8875;
}

.ltk-product-offer-button:hover,
.ltk-comparison-button:hover {
  background: #4f7664;
  border-color: #4f7664;
}


/* v18 - unified affiliate CTA */
.ltk-product-offer-button,
.ltk-comparison-button {
    background:#5f8875 !important;
    border-color:#5f8875 !important;
    color:#fff !important;
    font-size:1.06rem;
    font-weight:800;
}

.ltk-product-offer-button:hover,
.ltk-comparison-button:hover {
    background:#4f7664 !important;
    border-color:#4f7664 !important;
}

/* v18 - section separators */
.ltk-section-heading {
    position:relative;
    margin-top:70px;
    padding-top:18px;
}

.ltk-section-heading:before {
    content:"";
    display:block;
    width:42px;
    height:3px;
    background:#5f8875;
    margin-bottom:18px;
}

/* Keep FAQ clean but give it clearer separation */
.ltk-faq {
    margin-top:55px;
}


/* v19 - article section consistency */

/* Make article sections feel like separate chapters */
.article-content h2,
.article-content h3,
.entry-content h2,
.entry-content h3 {
    scroll-margin-top: 100px;
}

/* "Meer weten", "Verder lezen" and similar closing sections */
.article-content h2,
.entry-content h2 {
    margin-top: 70px;
}

/* Related articles stay aligned with article width */
.related-posts,
.related-posts-section,
.further-reading,
.maybe-interesting {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

/* Give closing sections the same visual rhythm */
.article-section-heading {
    position: relative;
    padding-top: 18px;
    margin-top: 60px;
}

.article-section-heading:before {
    content: "";
    display: block;
    width: 42px;
    height: 3px;
    background: #5f8875;
    margin-bottom: 18px;
}

/* FAQ keeps its current cards, only improve separation */
.faq-section {
    margin-top: 60px;
}


/* v20 - closing sections refinement */

/* Make "Meer weten" and related closing headings look like real sections */
.entry-content h2,
.entry-content h3,
.article-content h2,
.article-content h3 {
    position: relative;
}

.entry-content h3,
.article-content h3 {
    margin-top: 55px;
}

/* Specifically style common closing headings */
.entry-content h3:has(+ p),
.article-content h3:has(+ p) {
    padding-top: 22px;
}

.entry-content h3:has(+ p)::before,
.article-content h3:has(+ p)::before {
    content: "";
    display: block;
    width: 42px;
    height: 3px;
    background: #5f8875;
    margin-bottom: 16px;
}

/* FAQ gets more separation from previous content */
.faq-section,
.entry-content h2:has(+ .faq),
.entry-content h2:has(+ .faq-section) {
    margin-top: 80px;
}

/* Keep related content aligned */
.related-posts,
.related-posts-section,
.maybe-interesting {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}


/* v21 - real article sections */
.topic-more-heading {
  position: relative;
  margin: 70px 0 26px;
  padding-top: 22px;
  font-size: 28px;
  line-height: 1.25;
}

.topic-more-heading:before {
  content: "";
  display: block;
  width: 42px;
  height: 3px;
  background: var(--ltk-green);
  position: absolute;
  top: 0;
  left: 0;
}

.ltk-article-related {
  width: 100%;
  max-width: var(--ltk-article);
  margin-left: auto;
  margin-right: auto;
}

.ltk-article-related .container {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}


/* v22 article closing sections */
.ltk-more-info-block {
  margin-top: 70px;
  padding-top: 40px;
  border-top: 1px solid var(--ltk-border);
}

.ltk-more-info-block .ltk-section-heading-wrap,
.ltk-faq-block .ltk-section-heading {
  position: relative;
}

.ltk-more-info-block .ltk-section-line {
  display:block;
  width:42px;
  height:3px;
  background:var(--ltk-green);
  margin-bottom:16px;
}

.ltk-more-info-block h2 {
  font-size: clamp(30px, 4vw, 44px);
  line-height:1.12;
  margin:0 0 24px;
  color:var(--ltk-green-deep);
}

.ltk-more-info-content {
  max-width: var(--ltk-article);
}

.ltk-article-related {
  margin-top:80px;
}

.ltk-article-related-inner {
  width:min(calc(100% - 40px), var(--ltk-article));
  margin-inline:auto;
}

.ltk-related-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:20px;
}

.ltk-related-grid .post-card-image {
  aspect-ratio: 4 / 3;
}

.ltk-related-grid .post-card-image img {
  height:100%;
  object-fit:cover;
}

@media (max-width: 900px) {
  .ltk-related-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}


/* v23 article sections and related cards */
.ltk-more-info-block { margin:70px 0 0; }
.ltk-section-heading-wrap { margin-bottom:28px; }
.ltk-section-heading-wrap h2 {
 margin:12px 0 0;
 font-size:clamp(2rem,4vw,3rem);
 line-height:1.1;
 letter-spacing:-.04em;
}
.ltk-section-line {display:block;width:42px;height:3px;background:var(--ltk-green);}
.ltk-more-info-content {margin-top:20px;}

.ltk-article-related-inner {
 width:min(900px, calc(100% - 40px));
 margin:0 auto;
}
.ltk-related-grid {
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:22px;
}
.ltk-related-grid img {
 aspect-ratio:4/3;
 object-fit:cover;
}
@media(max-width:960px){
 .ltk-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}


/* v24 final sizing fix */
.ltk-more-info-block {
    border-top: none;
    padding-top: 0;
}

.ltk-article-related {
    width: min(100%, var(--ltk-article));
    max-width: var(--ltk-article);
    margin-left: auto;
    margin-right: auto;
}

.ltk-article-related-inner {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

.ltk-related-grid {
    width: 100%;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ltk-related-grid .post-card {
    min-width: 0;
}

.ltk-related-grid .post-card-image {
    aspect-ratio: 1.35 / 1;
}

@media(max-width:960px){
    .ltk-related-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}


/* v25 final cleanup */
.ltk-article-related {
    padding: 68px 0 82px;
}

.ltk-article-related-inner {
    width: min(calc(100% - 40px), var(--ltk-content));
    margin-inline: auto;
}

.ltk-related-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.ltk-related-grid .post-card-image img {
    aspect-ratio: 1.35 / 1;
    object-fit: cover;
}

.ltk-related-grid .post-card-excerpt {
    display: none;
}

/* remove duplicate section separator above Meer weten */
.ltk-article-content h2 {
    border-top: 0 !important;
}

.ltk-section-heading:before {
    margin-bottom: 18px;
}

/* keep section headings with one accent line */
.article-content h2::before {
    margin-bottom: 18px;
}


/* =========================================================
   v26 blog template refinements
   - cleaner affiliate cards
   - simplified related posts
   - isolated closing sections
========================================================= */

/* Product cards: final layout */
.ltk-product-card {
  grid-template-columns: 150px minmax(0, 1fr) auto;
  align-items: center;
  gap: 26px;
}

.ltk-product-card .ltk-button {
  white-space: nowrap;
}

/* Keep product cards consistent on smaller screens */
@media (max-width: 900px) {
  .ltk-product-card {
    grid-template-columns: 120px minmax(0,1fr);
  }

  .ltk-product-card .ltk-button {
    grid-column: 1 / -1;
  }
}

/* Related articles: only image, title and meta */
.ltk-related-grid .post-card-excerpt {
  display: none;
}

.ltk-related-grid .post-card {
  min-height: 0;
}

.ltk-related-grid .post-card-title {
  margin-bottom: 8px;
}

/* More information block: one clean component */
.ltk-more-info-block {
  max-width: var(--ltk-content-width, 820px);
  margin: 70px auto 0;
  padding: 42px 0 0;
  border-top: 1px solid var(--ltk-border);
}

.ltk-more-info-block .ltk-section-line {
  display: none;
}

.ltk-more-info-block h2 {
  margin-top: 0;
}

/* Remove duplicate decorative lines inside closing sections */
.ltk-more-info-block::before,
.ltk-more-info-block::after {
  display:none;
}

/* FAQ cards stay compact and readable */
.ltk-faq-block {
  max-width: var(--ltk-content-width, 820px);
  margin-left: auto;
  margin-right: auto;
}

/* End v26 refinements */

/* v26.1 - align closing sections with article width */
.ltk-more-info-block,
.ltk-faq-block,
.ltk-article-related,
.ltk-article-related-inner {
  width: min(100%, var(--ltk-article, 900px));
  max-width: var(--ltk-article, 900px);
}

.ltk-more-info-block,
.ltk-faq-block {
  margin-left: auto;
  margin-right: auto;
}

.ltk-related-grid {
  width: 100%;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.ltk-related-grid .post-card {
  width: 100%;
}

@media (max-width: 960px) {
  .ltk-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .ltk-related-grid {
    grid-template-columns: 1fr;
  }
}

/* End v26.1 width fixes */


/* v26.2 - force closing sections to use the full editorial width */
.ltk-more-info-block,
.ltk-faq-block,
.ltk-article-related {
    width: 100%;
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}

.ltk-more-info-block,
.ltk-faq-block {
    box-sizing: border-box;
}

.ltk-faq-card-grid {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ltk-article-related-inner {
    width: 100%;
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}

.ltk-related-grid {
    width: 100%;
}

@media (max-width: 760px) {
    .ltk-faq-card-grid {
        grid-template-columns: 1fr;
    }
}
/* End v26.2 */


/* v26.3 - breakout closing sections from article text column */
.ltk-article-main > .ltk-more-info-block,
.ltk-article-main > .ltk-faq-block,
.ltk-article-main > .ltk-article-related {
    width: min(calc(100vw - 64px), 1120px);
    max-width: 1120px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

.ltk-article-main > .ltk-more-info-block .ltk-more-info-content,
.ltk-article-main > .ltk-faq-block,
.ltk-article-main > .ltk-article-related-inner {
    width: 100%;
    max-width: 100%;
}

@media (max-width: 700px) {
    .ltk-article-main > .ltk-more-info-block,
    .ltk-article-main > .ltk-faq-block,
    .ltk-article-main > .ltk-article-related {
        width: calc(100vw - 32px);
    }
}
/* End v26.3 */

/* v26.4 wide closing article sections: escape narrow text column */
.ltk-article-content > .ltk-more-info-block,
.ltk-article-content > .topic-faq-section,
.ltk-article-content > .ltk-faq-section {
  width: calc(100% + 320px);
  max-width: none;
  margin-left: -160px;
}

@media (max-width: 1100px) {
  .ltk-article-content > .ltk-more-info-block,
  .ltk-article-content > .topic-faq-section,
  .ltk-article-content > .ltk-faq-section {
    width: 100%;
    margin-left: 0;
  }
}

/* v26.5 - Meer weten uses the same section width as FAQ, while text stays readable */
.ltk-more-info-block {
  width: 100%;
  max-width: var(--ltk-article, 900px);
  margin-left: auto;
  margin-right: auto;
}

.ltk-more-info-content {
  max-width: var(--ltk-content-width, 820px);
}


/* v26.6 - Related reading: full-width white band, content aligned to wide article sections */
.ltk-article-related {
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: none;
  margin-left: -50vw;
  margin-right: -50vw;
  margin-top: 80px;
  padding: 68px 0 82px;
  background: #fff;
}

.ltk-article-related-inner {
  width: min(calc(100% - 40px), var(--ltk-content));
  max-width: var(--ltk-content);
  margin: 0 auto;
}

.ltk-related-grid {
  width: 100%;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 960px) {
  .ltk-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .ltk-article-related-inner {
    width: min(calc(100% - 32px), var(--ltk-content));
  }
  .ltk-related-grid {
    grid-template-columns: 1fr;
  }
}
/* End v26.6 */

/* v26.8 - Meer weten: dezelfde buitenbreedte als FAQ/productblokken,
   met een leesbare tekstkolom die links uitlijnt */
.ltk-article-content > .ltk-more-info-block {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.ltk-article-content > .ltk-more-info-block .ltk-more-info-content {
  width: 100%;
  max-width: var(--ltk-article);
  margin-left: 0;
  margin-right: auto;
}
/* End v26.8 */

/* =========================================================
   Top-X layout v1.0 — FROZEN
   Final closing-section behavior. Do not tweak per article.
   ========================================================= */

/* "Meer weten" is a full-viewport white band, just like related reading. */
.ltk-article-content > .ltk-more-info-block {
  position: relative;
  width: 100vw;
  max-width: none;
  margin: 78px calc(50% - 50vw) 0;
  padding: 62px 0 66px;
  border-top: 0;
  background: #fff;
}

.ltk-more-info-inner {
  width: min(calc(100% - 40px), var(--ltk-content));
  max-width: var(--ltk-content);
  margin-inline: auto;
}

.ltk-more-info-block .ltk-section-heading-wrap {
  width: 100%;
  max-width: var(--ltk-content);
}

.ltk-more-info-block .ltk-section-line {
  margin-bottom: 16px;
}

.ltk-more-info-block h2 {
  margin-bottom: 24px;
}

/* Keep prose readable while its white section itself remains full width. */
.ltk-article-content > .ltk-more-info-block .ltk-more-info-content {
  width: 100%;
  max-width: var(--ltk-article);
  margin: 0;
}

/* FAQ stays on the established broad article grid immediately after the white band. */
.ltk-article-content > .ltk-more-info-block + .ltk-faq-block {
  margin-top: 0;
  padding-top: 58px;
}

/* Related band remains full width; its inner grid aligns with the same 1120px content line. */
.ltk-article-related-inner {
  width: min(calc(100% - 40px), var(--ltk-content));
  max-width: var(--ltk-content);
  margin-inline: auto;
}

@media (max-width: 600px) {
  .ltk-article-content > .ltk-more-info-block {
    margin-top: 58px;
    padding: 46px 0 50px;
  }
  .ltk-more-info-inner,
  .ltk-article-related-inner {
    width: min(calc(100% - 32px), var(--ltk-content));
  }
}
/* End Top-X layout v1.0 — frozen */

/* =========================================================
   Lowtox article layout system v2.0 — v28.0
   One visual language, five editorial layouts.
   Top-X v1.0 remains visually frozen; the selectors below only
   alias its old buying_guide class to the canonical top_x key.
   ========================================================= */

/* --- Shared layout lead ---------------------------------- */
.ltk-layout-lead {
  margin: 4px 0 48px;
  padding: 25px 27px 26px;
  border: 1px solid #dcd6cd;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(35,45,39,.045);
}
.ltk-layout-lead .topic-eyebrow { display:block; margin-bottom:8px; }
.ltk-layout-lead h2 {
  margin:0 0 8px;
  font-size:clamp(1.55rem,2.5vw,2rem);
  line-height:1.13;
  letter-spacing:-.03em;
}
.ltk-layout-lead p { margin:0 0 18px; color:#545b56; line-height:1.65; }
.ltk-layout-lead-links { display:flex; flex-wrap:wrap; gap:9px; margin-top:15px; }
.ltk-layout-lead-links a {
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:7px 12px;
  border:1px solid #dbe3de;
  border-radius:999px;
  background:#f2f6f3;
  color:#496657;
  font-size:.82rem;
  font-weight:720;
  line-height:1.25;
  text-decoration:none;
}
.ltk-layout-lead-links a:hover { background:#e8f0eb; color:#263a30; }

/* --- Top X / Beste X: v1.0 frozen ------------------------ */
.ltk-article-type-top_x .ltk-article-content > .ltk-product-heading,
.ltk-article-type-top_x .ltk-article-content .ltk-product-heading {
  display:block;
  margin:3.05em 0 .72em;
  padding:0;
  font-size:clamp(2.05rem,3.1vw,2.72rem);
  line-height:1.08;
  letter-spacing:-.038em;
  font-weight:850;
}
.ltk-article-type-top_x .ltk-article-content > .ltk-product-heading::before,
.ltk-article-type-top_x .ltk-article-content .ltk-product-heading::before {
  content:"";
  display:block;
  width:46px;
  height:4px;
  margin-bottom:13px;
  border-radius:99px;
  background:var(--ltk-green);
}
.ltk-article-type-top_x .ltk-comparison { margin-top:4px; margin-bottom:58px; }
.ltk-article-type-top_x .ltk-product-offer { margin-top:18px; margin-bottom:34px; }

/* --- Shared numbered editorial headings ----------------- */
.ltk-choice-heading,
.ltk-alternative-heading,
.ltk-step-heading,
.ltk-editorial-numbered-heading {
  display:flex;
  align-items:flex-start;
  gap:14px;
}
.ltk-layout-number {
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  margin-top:-2px;
  border-radius:50%;
  background:var(--ltk-green-deep);
  color:#fff;
  font-size:.92rem;
  font-weight:850;
  letter-spacing:0;
}
.ltk-layout-heading-text { min-width:0; }

/* --- Keuzegids ------------------------------------------ */
.ltk-article-type-choice_guide .ltk-layout-lead {
  background:linear-gradient(135deg,#fff 0%,#f3f7f4 100%);
  border-color:#d4dfd8;
}
.ltk-article-type-choice_guide .ltk-choice-heading {
  margin:2.8em 0 .8em;
  padding:0;
  font-size:clamp(1.9rem,3.1vw,2.5rem);
  line-height:1.12;
}
.ltk-article-type-choice_guide .ltk-choice-heading::before { display:none; }
.ltk-guide-callout {
  margin:18px 0;
  padding:18px 20px;
  border:1px solid #ddd8cf;
  border-radius:15px;
  background:#fff;
}
.ltk-guide-callout-label {
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:7px;
  color:#536b5e;
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.ltk-guide-plus { background:#edf4ef; border-color:#d2e1d6; }
.ltk-guide-minus { background:#faf6f1; border-color:#e7dbcd; }
.ltk-guide-perfect { background:#f4f1eb; }
.ltk-guide-plus .ltk-guide-callout-label::before { content:"+"; font-size:1rem; }
.ltk-guide-minus .ltk-guide-callout-label::before { content:"–"; font-size:1rem; }
.ltk-guide-perfect .ltk-guide-callout-label::before { content:"✓"; }
.ltk-guide-callout > *:last-child { margin-bottom:0; }
.ltk-guide-callout ul,
.ltk-guide-callout ol { margin-bottom:0; }
.ltk-guide-recommendation {
  margin:24px 0 30px;
  padding:21px 22px;
  border:1px solid #cfded4;
  border-radius:16px;
  background:#eaf2ed;
}
.ltk-guide-recommendation > strong { display:block; margin:5px 0 6px; font-size:1.08rem; }
.ltk-guide-recommendation p:last-child { margin-bottom:0; }
.ltk-guide-conclusion {
  margin:62px 0 0;
  padding:28px 30px;
  border:1px solid #d3dfd7;
  border-radius:18px;
  background:#edf4ef;
}
.ltk-guide-conclusion h2 { margin-top:0; }
.ltk-guide-conclusion h2::before { width:40px; }
.ltk-guide-conclusion .ltk-conclusion-copy > *:last-child { margin-bottom:0; }

/* --- Uitleg + alternatieven ----------------------------- */
.ltk-article-type-alternatives .ltk-layout-lead {
  background:#fff;
  border-left:5px solid var(--ltk-green);
}
.ltk-article-type-alternatives .ltk-alternative-heading {
  margin:2.7em 0 .85em;
  padding:0;
  font-size:clamp(1.85rem,3vw,2.42rem);
  line-height:1.12;
}
.ltk-article-type-alternatives .ltk-alternative-heading::before { display:none; }
.ltk-article-type-alternatives .ltk-layout-number {
  background:var(--ltk-green);
  color:#fff;
}
.ltk-alternatives-conclusion {
  margin:60px 0 0;
  padding:28px 30px;
  border:1px solid #ded8ce;
  border-radius:18px;
  background:#fff;
  box-shadow:0 9px 24px rgba(35,45,39,.04);
}
.ltk-alternatives-conclusion h2 { margin-top:0; }
.ltk-alternatives-conclusion .ltk-conclusion-copy > *:last-child { margin-bottom:0; }

/* --- Product / merk review ------------------------------ */
.ltk-article-type-review .ltk-layout-lead {
  padding:28px 30px;
  background:linear-gradient(135deg,#eaf2ed 0%,#f8f5ef 100%);
  border-color:#ceddd4;
}
.ltk-article-type-review .ltk-layout-lead h2 { font-size:clamp(1.7rem,2.8vw,2.2rem); }
.ltk-article-type-review .ltk-article-content h2 {
  margin-top:2.45em;
}
.ltk-review-verdict {
  margin:62px 0 0;
  padding:30px 31px;
  border:1px solid #cadccf;
  border-radius:18px;
  background:#e8f1eb;
  box-shadow:0 10px 26px rgba(35,45,39,.04);
}
.ltk-review-verdict::before {
  content:"Ons oordeel";
  display:block;
  margin-bottom:8px;
  color:#617e6e;
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.085em;
  text-transform:uppercase;
}
.ltk-review-verdict h2 { margin:0 0 12px; font-size:clamp(1.8rem,3vw,2.4rem); }
.ltk-review-verdict h2::before { display:none; }
.ltk-review-verdict .ltk-conclusion-copy > *:last-child { margin-bottom:0; }

/* --- How-to / informatief ------------------------------- */
.ltk-article-type-how_to .ltk-layout-lead {
  background:#fff;
}
.ltk-article-type-how_to .ltk-step-heading {
  position:relative;
  margin:2em 0 .7em;
  padding:18px 20px;
  border:1px solid #ded8ce;
  border-radius:15px;
  background:#fff;
  box-shadow:0 7px 20px rgba(35,45,39,.035);
  font-size:clamp(1.2rem,2.1vw,1.5rem);
  line-height:1.3;
}
.ltk-article-type-how_to .ltk-step-heading::before { display:none; }
.ltk-article-type-how_to .ltk-step-heading + p,
.ltk-article-type-how_to .ltk-step-heading + ul,
.ltk-article-type-how_to .ltk-step-heading + ol { margin-left:54px; }
.ltk-tip-box {
  display:flex;
  gap:10px;
  margin:18px 0 22px;
  padding:15px 17px;
  border-left:4px solid var(--ltk-green);
  border-radius:0 12px 12px 0;
  background:#eef4f0;
  color:#3e4943;
}
.ltk-tip-box strong { flex:0 0 auto; color:#4f6d5c; }

/* Imported commercial CTAs in all layouts. */
.ltk-article-content .ltk-imported-cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:43px;
  padding:9px 17px;
  border-radius:999px;
  background:#6f927f;
  color:#fff;
  font-weight:760;
  text-decoration:none;
  box-shadow:0 4px 10px rgba(83,118,98,.12);
}
.ltk-article-content .ltk-imported-cta:hover { background:#557563; color:#fff; }

/* Comparison belongs to Top-X only. */
.ltk-article-page:not(.ltk-article-type-top_x) .ltk-comparison { display:none; }

/* Keep all five layouts aligned to the exact same article geometry. */
.ltk-article-type-top_x .ltk-article-main,
.ltk-article-type-choice_guide .ltk-article-main,
.ltk-article-type-alternatives .ltk-article-main,
.ltk-article-type-review .ltk-article-main,
.ltk-article-type-how_to .ltk-article-main { width:100%; }

@media (max-width:760px) {
  .ltk-layout-lead { margin-bottom:34px; padding:20px 18px 21px; }
  .ltk-layout-lead-links { gap:7px; }
  .ltk-layout-lead-links a { width:100%; border-radius:11px; }
  .ltk-layout-number { width:34px; height:34px; font-size:.84rem; }
  .ltk-guide-conclusion,
  .ltk-alternatives-conclusion,
  .ltk-review-verdict { padding:22px 19px; }
  .ltk-article-type-how_to .ltk-step-heading + p,
  .ltk-article-type-how_to .ltk-step-heading + ul,
  .ltk-article-type-how_to .ltk-step-heading + ol { margin-left:0; }
}
/* End Lowtox article layout system v2.0 */

/* 28.9.1: full-width bands respect the usable viewport (including scrollbars). */
@supports (width: 1cqw) {
  .ltk-article-page { container-type: inline-size; }
  .ltk-article-related { width: 100cqw; margin-left: -50cqw; margin-right: -50cqw; }
  .ltk-article-content > .ltk-more-info-block { width: 100cqw; margin-left: calc(50% - 50cqw); margin-right: calc(50% - 50cqw); }
}
.ltk-article-content { overflow-wrap: anywhere; }
