/* ===========================
   TAHO Design System
   =========================== */

/* 1) Design tokens (colors, spacing, radii, shadows) */
:root {
  --taho-black: #000000;
  --taho-text:  #333333;
  --taho-muted: #555b63;
  --taho-accent:#be9775;

  --taho-bg:    #fafafa;
  --taho-white: #ffffff;

  --taho-ring:  #c9a07433;
  --taho-shadow: 0 8px 20px rgba(0,0,0,.08);

  --taho-r-sm: 8px;
  --taho-r-md: 12px;
  --taho-r-lg: 18px;

  /* spacing scale */
  --taho-s-0: 0;
  --taho-s-1: 6px;
  --taho-s-2: 10px;
  --taho-s-3: 14px;
  --taho-s-4: 16px;
  --taho-s-5: 20px;
  --taho-s-6: 24px;
  --taho-s-7: 32px;
  --taho-s-8: 40px;

  /* content width */
  --taho-max: 1600px;
}

/* 2) Scope wrapper (place this around each TAHO block in Elementor) */
.taho-scope {
  font-family: 'Montserrat', sans-serif;
  color: var(--taho-text);
  line-height: 1.7;
  font-size: 20px;
}

/* ===== Links ONLY within TAHO sections (color #333333) ===== */
.taho-scope a,
#taho-intro a,
#taho-why a,
.taho-why-custom a,
.taho-rotation-custom a,
.taho-legal a,
.taho-bedrijfsinfo a,
.taho-blog a,
.taho-cta a,
.taho-card a,
.taho-card__text a {
  font-family: 'Montserrat', sans-serif !important;
  color: #333333 !important;
  font-weight: 700 !important;
  font-style: italic !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  transition: text-decoration-thickness .2s ease, color .2s ease !important;
}
.taho-scope a:hover,
#taho-intro a:hover,
#taho-why a:hover,
.taho-why-custom a:hover,
.taho-rotation-custom a:hover,
.taho-legal a:hover,
.taho-bedrijfsinfo a:hover,
.taho-blog a:hover,
.taho-cta a:hover,
.taho-card a:hover,
.taho-card__text a:hover {
  color: #333333 !important;
  text-decoration-thickness: 2px !important;
}

/* 3) Utilities (small, reusable, no visual opinions) */
.taho-mb-0  { margin-bottom: 0 !important; }
.taho-mb-2  { margin-bottom: var(--taho-s-2) !important; }
.taho-mb-3  { margin-bottom: var(--taho-s-3) !important; }
.taho-mb-4  { margin-bottom: var(--taho-s-4) !important; }
.taho-mb-5  { margin-bottom: var(--taho-s-5) !important; }
.taho-mb-6  { margin-bottom: var(--taho-s-6) !important; }
.taho-mb-7  { margin-bottom: var(--taho-s-7) !important; }
.taho-mb-8  { margin-bottom: var(--taho-s-8) !important; }

.taho-fw-400 { font-weight: 400; }
.taho-fw-600 { font-weight: 600; }
.taho-fw-700 { font-weight: 700; }
.taho-fw-800 { font-weight: 800; }

.taho-center { text-align: center; }
.taho-muted  { color: var(--taho-muted); }
.taho-black  { color: var(--taho-black); }

.taho-container {
  max-width: var(--taho-max);
  margin-inline: auto;
  padding: clamp(var(--taho-s-6), 3vw, var(--taho-s-8));
}

/* 4) Typographical components */
.taho-title {
  color: var(--taho-black);
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.15;
  margin: 0 0 var(--taho-s-5);
  font-size: 30px; 
}

.taho-subtitle {
  margin: 0 0 var(--taho-s-7);
  color: var(--taho-muted);
  max-width: 72ch;
}

.taho-text {
  margin: 0 0 var(--taho-s-4);
  font-weight: 400;
}

.taho-eyebrow {
  display: inline-flex;
  gap: .6rem;
  align-items: center;
  padding: .35rem .7rem;
  border: 1px solid var(--taho-ring);
  border-radius: 999px;
  color: var(--taho-accent);
  background: var(--taho-white);
  font-weight: 600;
  margin-bottom: .8rem;
}

/* ===================================
   TAHO Link Styles
   =================================== */
.taho-link,
.taho-scope a,
#taho-intro a,
#taho-why a {
  color: #333333 !important;
  font-style: italic !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  transition: color 0.2s ease, text-decoration-thickness 0.2s ease !important;
}
.taho-link:hover,
.taho-scope a:hover,
#taho-intro a:hover,
#taho-why a:hover {
  color: #333333 !important;
  text-decoration-thickness: 2px !important;
}

/* Alternative link style */
.taho-link-custom {
  color: #333333 !important;
  font-style: italic !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  transition: color 0.2s ease, text-decoration-thickness 0.2s ease !important;
}
.taho-link-custom:hover {
  color: #333333 !important;
  text-decoration-thickness: 2px !important;
}

/* 5) Layout components */
.taho-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(var(--taho-s-3), 2vw, var(--taho-s-4));
}
@media (min-width: 720px){
  .taho-grid--2 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1040px){
  .taho-grid--4 { grid-template-columns: repeat(4, 1fr); }
}

/* 6) UI components */

/* Card */
.taho-card {
  background: var(--taho-white);
  border: 1px solid #eee;
  border-radius: var(--taho-r-lg);
  padding: 22px 20px;
  box-shadow: var(--taho-shadow);
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.taho-card:hover {
  transform: translateY(-4px);
  border-color: var(--taho-ring);
  box-shadow: 0 12px 30px rgba(0,0,0,.12);
}
.taho-card__icon { font-size: 34px; line-height: 1; margin-bottom: 10px; }
.taho-card__title { margin: 6px 0 8px; font-size: 20px; color: var(--taho-black); }
.taho-card__text  { margin: 0; color: var(--taho-muted); }

/* Checklist */
.taho-checklist {
  list-style: none;
  padding-left: 0;
  margin: var(--taho-s-4) 0;
}
.taho-checklist li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 10px;
  color: var(--taho-text);
  font-weight: 400;
  line-height: 1.6;
}
.taho-checklist li::before {
  content: "✔";
  color: var(--taho-black);
  font-weight: 700;
  position: absolute;
  left: 0; top: 0;
}

/* FAQ */
.taho-faq {
  border: 2px solid #e7d0ff;
  background: var(--taho-white);
  border-radius: var(--taho-r-md);
  padding: var(--taho-s-6);
  margin-top: var(--taho-s-6);
}
.taho-faq__title {
  color: var(--taho-black);
  font-weight: 700;
  margin: 0 0 var(--taho-s-4);
  font-size: 18px;
}
.taho-faq details {
  border-bottom: 1px solid #f0f0f0;
  padding: 12px 0;
}
.taho-faq details:last-of-type { border-bottom: none; }
.taho-faq summary {
  list-style: none;
  cursor: pointer;
  font-weight: 700;
  color: var(--taho-black);
  position: relative;
  padding-right: 20px;
}
.taho-faq summary::-webkit-details-marker { display: none; }
.taho-faq summary::after {
  content: "▾";
  position: absolute; right: 0;
  transition: transform .2s ease;
}
.taho-faq details[open] summary::after { transform: rotate(180deg); }
.taho-faq__answer { margin-top: 8px; color: var(--taho-text); }

/* Button */
.taho-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background-color: #1e353a !important;
  border: 1px solid #be9775 !important;
  color: #be9775 !important;
  padding: 10px 16px;
  font-weight: 700;
  border-radius: var(--taho-r-sm);
  text-decoration: none;
  border: 1px solid var(--taho-ring);
  color: var(--taho-black);
  background: var(--taho-white);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.taho-btn:hover { transform: translateY(-2px); border-color: var(--taho-accent); box-shadow: var(--taho-shadow); }

/* 7) Section variants */

/* Intro */
.taho-intro,
#taho-intro {
  line-height: 1.6;
  font-family: 'Montserrat', sans-serif;
  color: var(--taho-text);
}
.taho-intro .taho-title,
#taho-intro .taho-title { font-weight: 700; margin-bottom: 12px; }
.taho-intro p,
#taho-intro p { margin-bottom: var(--taho-s-4); }

/* Why */
.taho-why,
#taho-why {
  color: var(--taho-text);
}
.taho-why .taho-eyebrow,
#taho-why .taho-eyebrow { border-color: var(--taho-ring); color: var(--taho-accent); }
.taho-why .taho-subtitle,
#taho-why .taho-subtitle { color: var(--taho-muted); }

/* Terms and Conditions */
.taho-card-wrap { border: 1px solid #eee; border-radius: var(--taho-r-md); padding: var(--taho-s-5); background: var(--taho-white); }

.taho-bedrijfsinfo {
  font-family: 'Montserrat', sans-serif;
  color: var(--taho-text);
  line-height: 1.7;
  margin-top: var(--taho-s-6);
}

/* First line larger and bolder */
.taho-bedrijfsinfo .taho-intro-line {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--taho-black);
  margin-bottom: var(--taho-s-4);
}

/* Other text lines */
.taho-bedrijfsinfo p {
  margin: 0 0 var(--taho-s-3);
  font-weight: 400;
}

.taho-bedrijfsinfo strong {
  color: var(--taho-black);
  font-weight: 700;
}

/* 8) Why section */
.taho-why .taho-container,
#taho-why .taho-container { max-width: var(--taho-max); margin-inline: auto; padding: clamp(var(--taho-s-6), 3vw, var(--taho-s-8)); }

.taho-why .taho-title,
#taho-why .taho-title {
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.15;
  font-weight: 800;
  margin: 0 0 1.25rem;
  letter-spacing: -.02em;
}

.taho-why .taho-grid,
#taho-why .taho-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(var(--taho-s-3), 2vw, var(--taho-s-4));
}
@media (min-width: 720px){
  .taho-why .taho-grid,
  #taho-why .taho-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1040px){
  .taho-why .taho-grid,
  #taho-why .taho-grid { grid-template-columns: repeat(4, 1fr); }
}

.taho-why .taho-card,
#taho-why .taho-card {
  background: var(--taho-white);
  border: 1px solid #eee;
  border-radius: var(--taho-r-lg);
  padding: 22px 20px;
  box-shadow: var(--taho-shadow);
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.taho-why .taho-card:hover,
#taho-why .taho-card:hover { transform: translateY(-4px); border-color: var(--taho-ring); box-shadow: 0 12px 30px rgba(0,0,0,.12); }

.taho-why .taho-card__icon,
#taho-why .taho-card__icon { font-size: 34px; line-height: 1; margin-bottom: 10px; }
.taho-why .taho-card__title,
#taho-why .taho-card__title { margin: 6px 0 8px; font-size: 20px; color: var(--taho-black); }
.taho-why .taho-card__text,
#taho-why .taho-card__text { margin: 0; color: var(--taho-muted); }

/* 9) Responsive tweaks */
@media (max-width: 768px){
  .taho-subtitle, .taho-text { font-size: 0.98rem; }
}

/* Increase specificity so that Elementor/theme cannot override */
.elementor #taho-why .taho-container { max-width: var(--taho-max); margin-inline:auto; padding: clamp(var(--taho-s-6),3vw,var(--taho-s-8)); }
.elementor #taho-why .taho-eyebrow   { border:1px solid var(--taho-ring); color:var(--taho-accent); background:#fff; font-weight:600; }
.elementor #taho-why .taho-title     { color:var(--taho-black); font-weight:800; letter-spacing:-.02em; line-height:1.15; margin:0 0 1.25rem; font-size:clamp(28px,4vw,44px); }
.elementor #taho-why .taho-subtitle  { color:var(--taho-muted); margin:0 0 var(--taho-s-7); max-width:72ch; }

.elementor #taho-why .taho-grid { display:grid; grid-template-columns:1fr; gap:clamp(var(--taho-s-3),2vw,var(--taho-s-4)); }
@media (min-width:720px){  .elementor #taho-why .taho-grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1040px){ .elementor #taho-why .taho-grid { grid-template-columns:repeat(4,1fr); } }

.elementor #taho-why .taho-card {
  background:#fff; border:1px solid #eee; border-radius:var(--taho-r-lg);
  padding:22px 20px; box-shadow:var(--taho-shadow);
  transition: transform .28s, border-color .28s, box-shadow .28s;
}
.elementor #taho-why .taho-card:hover { transform:translateY(-4px); border-color:var(--taho-ring); box-shadow:0 12px 30px rgba(0,0,0,.12); }
.elementor #taho-why .taho-card__icon  { font-size:34px; line-height:1; margin-bottom:10px; }
.elementor #taho-why .taho-card__title { margin:6px 0 8px; font-size:20px; color:var(--taho-black); }
.elementor #taho-why .taho-card__text  { margin:0; color:var(--taho-muted); }

/* Desktop & tablet */
#taho-why h2.taho-title,
.taho-why h2.taho-title,
.elementor #taho-why h2.taho-title {
  font-size: 28px !important;
  line-height: 1.2;
  letter-spacing: -0.02em;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: normal;
  margin: 0 0 1.25rem;
  color: var(--taho-black);
  font-weight: 800;
}

/* Mobiel */
@media (max-width: 480px) {
  #taho-why h2.taho-title,
  .taho-why h2.taho-title,
  .elementor #taho-why h2.taho-title {
    font-size: 24px !important;
  }
}

/* Extra narrow (old 320px phones) */
@media (max-width: 360px) {
  #taho-why h2.taho-title,
  .taho-why h2.taho-title,
  .elementor #taho-why h2.taho-title {
    font-size: 22px !important;
  }
}

/* ===== TAHO Blog ===== */

/* Layout: 3/2/1 columns */
.taho-blog .taho-grid--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1024px){
  .taho-blog .taho-grid--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px){
  .taho-blog .taho-grid--3 { grid-template-columns: 1fr; }
}

/* Grid items must be able to be the same height */
.taho-blog__grid { align-items: stretch; }

/* Map as a flex column that is always the same height */
.taho-blog__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--taho-white);
  border: 1px solid #eee;
  border-radius: var(--taho-r-lg);
  padding: 22px 20px;
  box-shadow: var(--taho-shadow);
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.taho-blog__card:hover {
  transform: translateY(-4px);
  border-color: var(--taho-ring);
  box-shadow: 0 12px 30px rgba(0,0,0,.12);
}

/* === TAHO Blog: thumbs are exactly the same size everywhere === */
:root{
  --taho-thumb-h-desktop: 220px; 
  --taho-thumb-h-tablet:  200px;
  --taho-thumb-h-mobile:  180px;
}

.taho-blog .taho-blog__thumb{
  position: relative;
  display: block;
  width: 100%;
  height: var(--taho-thumb-h-desktop); 
  overflow: hidden;
  border-radius: 12px;
}

@media (max-width: 1024px){
  .taho-blog .taho-blog__thumb{ height: var(--taho-thumb-h-tablet); }
}
@media (max-width: 768px){
  .taho-blog .taho-blog__thumb{ height: var(--taho-thumb-h-mobile); }
}

/* Always fill the frame completely – also works with <picture> */
.taho-blog .taho-blog__thumb picture,
.taho-blog .taho-blog__thumb img{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  max-width: none !important;
}

/* Placeholder if there is no featured image */
.taho-blog__thumb--placeholder {
  background: #f5f5f5;
  border: 1px dashed var(--taho-ring);
  border-radius: 12px;
}

/* Content fills remaining height and “pushes” CTA down */
.taho-blog__content {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 12px;
  flex: 1 1 auto;
}

/* Title & excerpt line-clamp for identical text blocks */
.taho-card__title,
.taho-card__title a {
  color: var(--taho-black);
  margin: 6px 0 0;
  font-size: 20px;
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.taho-card__text {
  color: var(--taho-muted);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.7;
  min-height: calc(1em * 1.7 * 3);
}

/* CTA button at the same height everywhere */
.taho-blog .taho-btn--brand {
  margin-top: auto !important;
  align-self: flex-start;
  line-height: 1;
  min-height: 44px;
  padding: 10px 22px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: #1e353a !important;
  border: 2px solid #be9775 !important;
  color: #be9775 !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  font-family: 'Montserrat', sans-serif !important;
  text-decoration: none !important;
  width: auto !important;
  text-transform: none !important;
  transition: all 0.3s ease;
}
.taho-blog .taho-btn--brand:hover {
  background: transparent !important;
  color: #1e353a !important;
  border-color: #1e353a !important;
}

/* Filter bar*/
.taho-blog__bar {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: var(--taho-s-6);
  position: relative;
}
.taho-blog__filter-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: #1e353a;
  border: 1px solid #be9775;
  color: #be9775;
  border-radius: 999px;
  font-weight: 700;
  font-family: 'Montserrat', sans-serif;
  padding: 10px 22px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
}
.taho-blog__filter-toggle:hover {
  background: transparent;
  color: #1e353a;
  border-color: #1e353a;
}
.taho-blog__filter-ico { fill: currentColor; }
.taho-blog__dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 20;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 10px;
  padding: 8px;
  margin-top: 6px;
  box-shadow: var(--taho-shadow);
  min-width: 220px;
}
.taho-blog__dropdown[hidden]{ display: none; }
.taho-blog__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.taho-blog__tag {
  border: 1px solid var(--taho-ring);
  background: #fff;
  color: var(--taho-black);
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}
.taho-blog__tag.is-active { background: var(--taho-accent); color:#fff; border-color: transparent; }

/* ===== Mobile overflow for TAHO Blog ===== */
@media (max-width: 768px){

  .taho-blog .taho-card,
  .taho-blog .taho-card * {
    max-width: 100%;
  }
  .taho-blog .taho-card__title,
  .taho-blog .taho-card__title a,
  .taho-blog .taho-card__text,
  .taho-blog p,
  .taho-blog a {
    overflow-wrap: anywhere; 
    word-break: break-word;
    hyphens: auto;
  }

  .taho-blog,
  .taho-blog__grid {
    overflow-x: clip;
  }

  .taho-blog .taho-blog__thumb,
  .taho-blog .taho-blog__thumb picture,
  .taho-blog .taho-blog__thumb img {
    max-width: 100% !important;
  }

  .taho-blog .taho-btn--brand {
    white-space: normal !important;
  }

  .taho-blog .taho-grid--3 { grid-template-columns: 1fr !important; }
}

html, body { overflow-x: hidden; }

/* ===================================
    TAHO Blog home page
   =================================== */

h4.entry-title {
  white-space: normal;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* ===================================
    TAHO Info & Warning Texts
   =================================== */

.taho-warning {
  background-color: #fff8f4; 
  border-left: 4px solid #be9775;
  padding: 12px 16px;
  border-radius: 6px;
  color: var(--taho-text);
  font-weight: 500;
  line-height: 1.7;
}
.taho-warning strong {
  color: #1e353a;
}

/* ==========================================
   TAHO – Title size per section
   ========================================== */
.taho-intro .taho-title {
  font-size: 30px !important;
  line-height: 1.2;
  letter-spacing: -0.02em;
  font-weight: 800;
  color: var(--taho-black);
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: normal;
}

/* ==========================================
   TAHO – Legal / Informative text sections
   ========================================== */

.taho-legal {
  font-family: 'Montserrat', sans-serif;
  color: var(--taho-text);
  line-height: 1.7;
  max-width: var(--taho-max);
  margin-inline: auto;
  padding: clamp(var(--taho-s-6), 3vw, var(--taho-s-8));
}

.taho-legal h1,
.taho-legal h2,
.taho-legal h3 {
  color: var(--taho-black);
  font-weight: 700;
  line-height: 1.3;
  margin: var(--taho-s-6) 0 var(--taho-s-3);
}

.taho-legal h1 {
  font-size: clamp(26px, 3vw, 38px);
  border-bottom: 2px solid var(--taho-ring);
  padding-bottom: .4rem;
}

.taho-legal h2 { font-size: clamp(20px, 2.5vw, 26px); }

.taho-legal p,
.taho-legal ul,
.taho-legal ol {
  font-size: inherit;
  margin-bottom: var(--taho-s-4);
  color: var(--taho-text);
  font-weight: 400;
}

.taho-legal strong { color: var(--taho-black); font-weight: 700; }
.taho-legal a:hover { text-decoration-thickness: 2px; color: #333333 !important; }

.taho-legal ul,
.taho-legal ol { padding-left: 1.5rem; }
.taho-legal li { margin-bottom: .5rem; }

.taho-legal .taho-muted {
  color: var(--taho-muted);
  font-size: .95rem;
  margin-top: var(--taho-s-5);
}

/* ===== TAHO – Headline Rotator ===== */
.taho-rotator {
  --lh: 1.3;
  display: block;
  position: relative;
  overflow: hidden;
  height: calc(var(--lh) * 1em);
  line-height: var(--lh);
  text-align: center;
  color: var(--taho-black);
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  contain: content;
}

.taho-rotator__track {
  display: flex;
  width: 100%;
  transform: translateX(0);
  will-change: transform;
  backface-visibility: hidden;
}

.taho-rotator__slide {
  flex: 0 0 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  font-size: clamp(18px, 2vw, 28px);
  color: var(--taho-black);
}

@media (prefers-reduced-motion: reduce) {
  .taho-rotator__track { transition: none !important; }
}

/* =====================================
   TAHO – CTA section
   ===================================== */
.taho-cta {
  text-align: left;
  background: var(--taho-bg, #f9f9f9);
  padding-block: clamp(40px, 6vw, 80px);
}

.taho-cta .taho-title {
  color: var(--taho-black);
  margin-bottom: var(--taho-s-5);
  font-size: clamp(24px, 3vw, 36px);
}

.taho-btn--cta {
  background-color: #1e353a;
  border: 1px solid #be9775;
  color: #be9775;
  font-weight: 700;
  font-family: 'Montserrat', sans-serif;
  padding: 16px 36px;
  font-size: 1.1rem;
  display: inline-flex;
  align-items: left;
  gap: 10px;
  transition: all 0.3s ease;
}

.taho-btn--cta:hover {
  background: transparent;
  color: #1e353a;
  border-color: #1e353a;
}

.taho-btn--cta .taho-icon { font-size: 1.2em; line-height: 1; }

*, *::before, *::after { box-sizing: border-box; }

/* ====== TAHO Why Custom ====== */
.taho-why-custom,
.taho-rotation-custom {
  max-width: 100%;
  overflow-x: clip;
}

/* Container */
.taho-why-custom .taho-container{
  max-width: 1200px;
  margin: 0 auto;
  padding: clamp(16px, 3vw, 28px) 16px;
}

/* Eyebrow (Why advertise with us) center */
.taho-why-custom .taho-eyebrow-custom{
  display: block;
  width: fit-content;
  margin: 0 auto 16px;
  padding: 6px 16px;
  font-weight: 600;
  color: var(--taho-accent);
  background: #fff;
  border: 1px solid var(--taho-ring);
  border-radius: 999px;
  text-align: center;
}

/* Titel & subtitel */
.taho-why-custom .taho-title{
  text-align:center; font-weight:800; letter-spacing:-.02em; line-height:1.15;
  font-size: clamp(24px, 4vw, 28px);
  margin:10px 0 14px; color: var(--taho-black);
}
.taho-why-custom .taho-subtitle{
  text-align:center; color: var(--taho-muted);
  max-width: 900px; margin: 0 auto clamp(24px, 3vw, 44px);
}

/* GRID: desktop 3, tablet 2, mobiel 1 */
.taho-why-custom .taho-grid{
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(3, minmax(0,1fr));
  align-items: start;
}
@media (max-width: 1024px){
  .taho-why-custom .taho-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .taho-why-custom .taho-grid{ grid-template-columns: 1fr; }
}

/* Cards */
.taho-why-custom .taho-card{
  width: 100%;
  max-width: none;
  background: var(--taho-white);
  border: 1px solid #eee;
  border-radius: var(--taho-r-lg);
  box-shadow: var(--taho-shadow);
  padding: 28px 24px;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.taho-why-custom .taho-card:hover{
  transform: translateY(-4px);
  border-color: var(--taho-ring);
  box-shadow: 0 12px 30px rgba(0,0,0,.12);
}
.taho-why-custom .taho-card__icon{ font-size:44px; line-height:1; margin-bottom:12px; }
.taho-why-custom .taho-card__title{ color:var(--taho-black); font-weight:800; margin:6px 0 10px; font-size: clamp(18px,2.2vw,26px); }
.taho-why-custom .taho-card__text{ color: var(--taho-muted); margin:0; }

@media (max-width: 640px){
  .taho-why-custom .taho-card{ padding:22px 18px; }
}

/* ====== TAHO Rotation Custom ====== */
.taho-rotation-custom {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
  padding: 24px 16px 28px;
}

/* Text above the rotator */
.taho-rotation-custom .taho-subtitle {
  font-size: clamp(20px, 2vw, 28px);
  color: var(--taho-muted);
  margin: 0;
}

/* Rotator titel */
.taho-rotation-custom .taho-title {
  font-size: clamp(22px, 2.4vw, 32px);
  font-weight: 800;
  color: var(--taho-black);
  margin: 0;
}

/* Link styling */
.taho-rotation-custom .taho-link-custom {
  color: #333333 !important;
  text-decoration: underline;
  font-style: italic;
  font-weight: 700;
}
.taho-rotation-custom .taho-link-custom:hover { text-decoration: underline; }

/* Rotator: prevent overflow that causes horizontal scrolling */
.taho-rotation-custom .taho-rotator{
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  vertical-align: top;
}
.taho-rotation-custom .taho-rotator__track{
  display: inline-flex;
  will-change: transform;
}
.taho-rotation-custom .taho-rotator__slide{
  flex: 0 0 100%;
  white-space: normal;
}

/* ===== Base tokens (desktop + tablet) ===== */
:root{
  /* colors */
  --bg:#f6f7f9; --card:#ffffff; --text:#0f172a; --muted:#475569; --border:#e2e8f0;
  --primary:#1e353a; --primary-text:#BE9775; --primary-border:#BE9775;
  --check:#22c55e; --cross:#ef4444;
  --shadow:0 10px 20px rgba(2,8,23,.06), 0 2px 6px rgba(2,8,23,.04);

  /* sizing (desktop/tablet defaults) */
  --fs-h1:clamp(24px,4vw,44px);
  --fs-sub:14px;
  --fs-feature-title:22px;
  --fs-feature-text:16px;
  --fs-head:16px;
  --icon:22px;
  --cell-pad-y:18px;
  --cell-pad-x:20px;


  --check-nudge-x: 16px;
}
 /* nudge from the green check marks */
*{ box-sizing:border-box; }

body{
  margin:0;
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
}

.wrap{ max-width:980px; margin:0 auto; padding:32px 16px 80px; }

header{ text-align:center; margin-bottom:20px; }
header .eyebrow{ color:var(--muted); font-weight:600; }

.cta{
  display:inline-flex; align-items:center; gap:.5rem; margin-top:10px;
  background:var(--primary); color:var(--primary-text);
  border:2px solid var(--primary-border); border-radius:999px;
  padding:10px 16px; font-weight:600; cursor:pointer;
  box-shadow:var(--shadow); text-decoration:none;
}

h1{ text-align:center; font-size:var(--fs-h1); margin:30px 0 6px; }
.subtitle{ text-align:center; color:var(--muted); font-size:var(--fs-sub); margin-bottom:18px; }

.card{
  background:var(--card); border:1px solid var(--border);
  border-radius:16px; box-shadow:var(--shadow); overflow:hidden;
}

/* ===== Desktop/Tablet table ===== */
table{ width:100%; border-collapse:collapse; }
thead th{
  background:#fcfdff; text-align:left; font-weight:600;
  padding:var(--cell-pad-y) var(--cell-pad-x);
  border-bottom:1px solid var(--border);
  font-size:var(--fs-head);
}
tbody td{
  padding:var(--cell-pad-y) var(--cell-pad-x);
  border-bottom:1px solid var(--border);
  vertical-align:top;
}
thead th:nth-child(2),
thead th:nth-child(3),
tbody td:nth-child(2),
tbody td:nth-child(3){ text-align:center; }

.feature-title{ font-weight:700; font-size:var(--fs-feature-title); margin:0 0 6px; }
.feature-desc{ color:var(--muted); font-size:var(--fs-feature-text); margin:0; }
.icon{ width:var(--icon); height:var(--icon); display:inline-block; vertical-align:middle; }
.check{ color:var(--check); }
.cross{ color:var(--cross); }

tbody td:nth-child(2) .icon.check{
  transform: translateX(var(--check-nudge-x));
}

/* ===== Mobile list (default hidden) ===== */
@media (max-width: 760px){
  .mobile-card { display:block !important; }
}
@media (min-width: 761px){
  .mobile-card { display:none !important; }
}

/* ===== Mobile overrides ===== */
@media (max-width:760px){
  :root{
    --m-fs-head:11px;
    --m-fs-title:14px;
    --m-fs-text:12px;
    --m-icon:14px;
    --m-pad:8px;
    --m-colw:84px;
  }

  table{ display:none; }
  .mobile-card{ display:block; }

  .mobile-card .mhead{
    display:grid;
    grid-template-columns:minmax(0,1fr) var(--m-colw) var(--m-colw);
    border-bottom:1px solid var(--border);
  }
  .mobile-card .mhead>div{
    padding:10px var(--m-pad);
    font-weight:700; color:var(--muted);
    text-align:center; font-size:var(--m-fs-head);
    white-space:nowrap; overflow:visible; text-overflow:clip;
  }
  .mobile-card .mhead>div:nth-child(2){
    white-space:normal; word-break:break-word; line-height:1.15;
  }
  .mobile-card .mhead>div:nth-child(3){
    white-space:nowrap; overflow:visible; text-overflow:clip;
  }
  .mobile-card .mhead>div:first-child{ text-align:left; }

  .mobile-card .mrow{
    display:grid;
    grid-template-columns:minmax(0,1fr) var(--m-colw) var(--m-colw);
    grid-template-rows:auto auto;
    align-items:center;
    padding:var(--m-pad);
    border-bottom:1px solid var(--border);
    column-gap:8px; row-gap:6px;
  }
  .mobile-card .mtitle{
    grid-column:1/2; font-size:var(--m-fs-title); line-height:1.3; text-align:left;  font-weight: 700;
  }
  .mobile-card .mcheck{
    grid-column:2/3; display:flex; justify-content:center; align-items:center; color:var(--check);
    transform: translateX(var(--check-nudge-x)); /* zelfde nudge op mobiel */
  }
  .mobile-card .mcross{
    grid-column:3/4; display:flex; justify-content:center; align-items:center; color:var(--cross);
  }
  .mobile-card .mdesc{
    grid-column:1/4; font-size:var(--m-fs-text); line-height:1.4; margin-top:2px;
  }
  .mobile-card .icon{ width:var(--m-icon); height:var(--m-icon); }
}

/* ===================================================
  TAHO – Modern FAQ 
   =================================================== */

.taho-faq.taho-faq--modern {
  --faq-bg: var(--taho-white);
  --faq-border: #eee;
  --faq-ring: var(--taho-ring);
  --faq-accent: var(--taho-accent); 
  --faq-head: #1e353a;      
  --faq-text: var(--taho-text); 
  --faq-radius: 14px;
  --faq-shadow: var(--taho-shadow);
}

/* Titel in de FAQ */
.taho-faq.taho-faq--modern .taho-title {
  font-size: 30px !important;
  line-height: 1.2;
  font-weight: 800;
  color: var(--taho-black);
  margin: 0 0 var(--taho-s-5);
}

/* Ticket sense per question */
.taho-faq.taho-faq--modern details {
  background: var(--faq-bg);
  border: 1px solid var(--faq-border);
  border-radius: var(--faq-radius);
  box-shadow: var(--faq-shadow);
  margin: 0 0 12px;
  overflow: hidden;
  transition: box-shadow .25s ease, border-color .25s ease, transform .25s ease;
}
.taho-faq.taho-faq--modern details:hover {
  transform: translateY(-2px);
  border-color: var(--faq-ring);
  box-shadow: 0 12px 30px rgba(0,0,0,.10);
}

/* Head (summary) */
.taho-faq.taho-faq--modern summary {
  display: grid;
  grid-template-columns: 28px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 16px 18px;
  cursor: pointer;
  list-style: none;
  font-size: 20px;
  font-weight: 700;
  color: var(--faq-head);
  background:
    linear-gradient(0deg, rgba(190,151,117,.06), rgba(190,151,117,.06)) 0 0/0 0 no-repeat;
  transition: background-size .25s ease, color .25s ease;
}
.taho-faq.taho-faq--modern summary::-webkit-details-marker { display: none; }

/* Accent dot on the front left */
.taho-faq.taho-faq--modern summary::before {
  content: "";
  width: 10px; height: 10px;
  border-radius: 999px;
  background: var(--faq-accent);
  display: inline-block;
}

/* Chevron right */
.taho-faq.taho-faq--modern summary::after {
  content: "▾";
  font-size: 18px;
  line-height: 1;
  transform: rotate(0deg);
  transition: transform .2s ease;
  color: var(--faq-head);
}

/* Open state: highlight + rotate chevron */
.taho-faq.taho-faq--modern details[open] summary {
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-image: linear-gradient(0deg, rgba(190,151,117,.06), rgba(190,151,117,.06));
}
.taho-faq.taho-faq--modern details[open] summary::after {
  transform: rotate(180deg);
}

/* Focus accessibility */
.taho-faq.taho-faq--modern summary:focus-visible {
  outline: 3px solid var(--faq-ring);
  outline-offset: 2px;
  border-radius: 8px;
}

/* Answer body  */
.taho-faq.taho-faq--modern .taho-faq__answer,
.taho-faq.taho-faq--modern .taho-answer {
  padding: 14px 18px 18px;
  font-size: 20px; 
  font-weight: 400;
  line-height: 1.7;
  color: var(--faq-text);
  border-top: 1px solid var(--faq-border);
  background: #fff;
}

.taho-faq.taho-faq--modern .taho-faq__answer ul,
.taho-faq.taho-faq--modern .taho-answer ul {
  padding-left: 1.2rem;
  margin: .4rem 0 0 0;
}

/* Links in FAQ */
.taho-faq.taho-faq--modern a { color: #333333 !important; }

/* Disable author on blog pages */
.top-detail-info.clearfix{
	display: none; 	
}