/* ============================================================
   Car Cleaning Dokter — alleen de afgesproken aanpassingen
   op de bestaande homepage. Rest van de site ongewijzigd.
   1. Tweede knop naast "Afspraak maken"
   2. Drie witte balkjes in de hero: subtieler
   3. Groene strook met "biologisch afbreekbaar" etc.: subtieler
   4. Pakketten → direct naar SimplyBook (in HTML)
   5. "Meest gekozen" op pakket 2
   ============================================================ */

/* ---------- 1. Knoppen in de hero ---------- */
.trsn-header-image .ccd-knoppen { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 14px; }
.trsn-header-image .ccd-knoppen .btn { margin: 0; }
.trsn-header-image .ccd-knoppen .ccd-btn-tweede {
  background: transparent !important; border: 1px solid rgba(255, 255, 255, 0.85) !important; color: #fff !important;
  transition: background .2s, border-color .2s, color .2s;
}
.trsn-header-image .ccd-knoppen .ccd-btn-tweede:hover { background: #fff !important; color: #1f373a !important; border-color: #fff !important; }
.trsn-header-image .inner > i { display: block; margin: 0 0 4px 0 !important; }

/* ---------- 2. Witte balkjes → rustige glazen regels ---------- */
.trsn-header-image .inner-usps { gap: 10px; }
.trsn-header-image .inner-usps li {
  transform: none !important;
  background: rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-left: 3px solid #4ac2d3;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 16px !important; font-weight: 500 !important; letter-spacing: .03em;
  padding: 14px 22px !important; margin-bottom: 0 !important;
  display: flex; align-items: center; gap: 12px;
}
.trsn-header-image .inner-usps li i { color: #4ac2d3 !important; font-size: 18px !important; margin: 0 !important; }

/* ---------- 3. Strook onder de hero: subtieler ---------- */
.trsn-usps { background: #f4f7f7 !important; border-bottom: 1px solid #e3eaea; padding: 22px 0 !important; }
.trsn-usps li { color: #1f373a !important; font-size: 15px !important; font-weight: 500 !important; letter-spacing: .04em; }
.trsn-usps li i { color: #4ac2d3 !important; font-size: 22px !important; }

/* ---------- 4. Pakketten ---------- */
#pakketten { scroll-margin-top: 90px; }
.prices-table-container .ccd-optie { display: block; margin-top: 10px; font-size: 13px; color: #5d6b6d; font-family: Lato, sans-serif; text-transform: none; }
.prices-table-container .table-row.most-sold .ccd-optie { color: rgba(255, 255, 255, 0.75) !important; }

/* ---------- 5. "Meest gekozen" op pakket 2 ----------
   Het bestaande label stond op pakket 3; nu op pakket 2 met dezelfde stijl. */
.prices-table-container .prices-table .table-row:nth-child(2) { background-color: #1f373a; }
.prices-table-container .prices-table .table-row:nth-child(2) *, .prices-table-container .prices-table .table-row:nth-child(2) span { color: #fff; }
.prices-table-container .prices-table .table-row:nth-child(2) ul li i { color: #4ac2d3; }
.prices-table-container .prices-table .table-row:nth-child(2)::before {
  content: "Meest gekozen"; position: absolute; left: 0; right: 0; top: -18px; margin: 0 auto; width: max-content;
  padding: 6px 16px; background: #4ac2d3; color: #fff; font-family: Oswald, sans-serif; font-weight: 600; font-size: 14px; text-transform: uppercase; letter-spacing: .06em;
}
.prices-table-container .prices-table .table-row:nth-child(2) .btn { background: #fff !important; border-color: #fff !important; color: #1f373a !important; }
.prices-table-container .prices-table .table-row.most-sold:nth-child(3) { background-color: transparent; }
.prices-table-container .prices-table .table-row.most-sold:nth-child(3) * { color: #020027; }
.prices-table-container .prices-table .table-row.most-sold:nth-child(3) ul li i { color: #1f373a; }
.prices-table-container .prices-table .table-row.most-sold:nth-child(3) .btn { color: #fff; }
.prices-table-container .prices-table .table-row.most-sold:nth-child(3)::before { content: none; }
.prices-table-container .prices-table .table-row.most-sold:nth-child(3) .ccd-optie { color: #5d6b6d !important; }

/* ---------- Mobiel ---------- */
@media screen and (max-width: 63.99rem) {
  .trsn-header-image .ccd-knoppen { flex-direction: column; align-items: stretch; }
  .trsn-header-image .ccd-knoppen .btn { width: 100%; text-align: center; }
  .trsn-header-image .inner-usps li { width: 100% !important; font-size: 15px !important; padding: 12px 16px !important; }
  .trsn-usps { padding: 18px 16px !important; gap: 12px !important; }
  .trsn-usps li { font-size: 14px !important; }
  .prices-table-container .prices-table { gap: 2.4rem !important; }
}


/* ============================================================
   Mobiel- en desktopvriendelijk (alleen bruikbaarheid, zelfde uitstraling)
   ============================================================ */
.prices-table-container .ccd-optie { font-size: 14px; }
.prices-table-container > .trsn-container > p > a { display: inline-flex !important; align-items: center; min-height: 48px; padding: 0 6px; }
.trsn-header-image .inner p.phone a { display: inline-flex; align-items: center; min-height: 44px; }
.ccd-balk { display: none; }

@media screen and (max-width: 63.99rem) {
  /* Kopbalk: logo links, menu rechts, in één rij (was 2 rijen, 167px) */
  .theme-page-header { min-height: 76px !important; }
  .theme-page-header-top { height: 76px; display: flex !important; align-items: center; justify-content: space-between; padding: 0 12px 0 16px !important; }
  .theme-page-header-top-logo { padding: 0 !important; margin: 0 !important; }
  .theme-page-header-top-logo img { max-width: 150px !important; height: auto; }
  .theme-page-header-top-social-list { position: static !important; display: flex !important; align-items: center; padding: 0 !important; margin: 0 !important; height: auto !important; }
  .theme-page-header-top-social-list .theme-component-social-profile, .theme-page-header-top-social-list .theme-icon-meta-search { display: none !important; }
  .theme-page-header-top-social-list > div:has(.theme-component-social-profile) { display: none !important; }
  .theme-icon-meta-menu { display: inline-flex !important; align-items: center; justify-content: center; width: 48px !important; height: 48px !important; border: 1px solid rgba(255,255,255,.35); line-height: 48px !important; }
  .theme-page-header-top-menu-responsive li a { min-height: 52px; display: flex !important; align-items: center; }

  /* Hero: compacter, knoppen in beeld */
  .trsn-header-image { height: auto !important; min-height: 0 !important; margin-top: -76px !important; }
  .trsn-header-image > img { position: absolute; inset: 0; width: 100%; height: 100% !important; }
  .trsn-header-image .trsn-container { position: relative !important; padding: 104px 20px 28px !important; gap: 22px !important; justify-content: flex-start !important; }
  .trsn-header-image .inner h1 { font-size: 42px !important; line-height: 1.05; margin-bottom: 10px !important; }
  .trsn-header-image .inner p { font-size: 19px !important; margin-bottom: 18px !important; }
  .trsn-header-image .inner > i { font-size: 15px; }
  .trsn-header-image .inner p.phone { font-size: 16px !important; margin-top: 6px !important; }
  .trsn-header-image .ccd-knoppen .btn { min-height: 54px; display: flex !important; align-items: center; justify-content: center; }
  .trsn-header-image .inner-usps { gap: 8px; width: 100%; }
  .trsn-header-image .inner-usps li { font-size: 14px !important; padding: 11px 14px !important; }

  /* Strook: compacte lijst i.p.v. drie grote blokken */
  .trsn-usps { flex-direction: column !important; align-items: stretch !important; gap: 10px !important; padding: 20px !important; text-align: left !important; }
  .trsn-usps li { flex-direction: row !important; justify-content: flex-start !important; gap: 12px !important; text-align: left; font-size: 14px !important; line-height: 1.35; }
  .trsn-usps li i { flex: 0 0 26px; font-size: 20px !important; text-align: center; }

  /* Pakketten: rustiger kaarten, knop volle breedte */
  .prices-table-container { padding: 44px 0 56px !important; }
  .prices-table-container .prices-table { background: transparent !important; gap: 2.2rem !important; padding: 0 16px; }
  .prices-table-container .prices-table .table-row { padding: 26px 18px 22px !important; }
  .prices-table-container .prices-table .table-row ul li { transform: none !important; font-size: 15px; padding: 5px 0; }
  .prices-table-container .prices-table .table-row .btn { width: 100%; min-height: 54px; display: flex !important; align-items: center; justify-content: center; }
  .prices-table-container .prices-table .table-row > div:last-child { width: 100%; }

  /* Footer: ruimere tikvlakken */
  .theme-page-footer a { display: inline-flex; align-items: center; min-height: 44px; }
  .theme-page-footer li { margin: 0 !important; }
  .theme-page-footer .textwidget a[href*="voorwaarden"] { min-height: 0; display: inline; text-decoration: underline; }

  /* Vaste actiebalk onderaan */
  .ccd-balk { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.97); box-shadow: 0 -6px 20px rgba(0,0,0,.12); transform: translateY(110%); transition: transform .25s ease; }
  .ccd-balk.zichtbaar { transform: none; }
  .ccd-balk a { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; font-family: Oswald, sans-serif; font-weight: 600; font-size: 16px; text-transform: uppercase; text-decoration: none; }
  .ccd-balk .ccd-balk-hoofd { background: #4ac2d3; color: #fff; }
  .ccd-balk .ccd-balk-bel { border: 1px solid #1f373a; color: #1f373a; }
  body.ccd-balk-aan { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  body.ccd-balk-aan .joinchat { bottom: calc(80px + env(safe-area-inset-bottom)) !important; }
}

/* Desktop / tablet liggend */
@media screen and (min-width: 64rem) {
  .trsn-header-image .ccd-knoppen .btn { min-width: 220px; justify-content: center; display: inline-flex; }
  .prices-table-container .prices-table .table-row { transition: transform .2s ease, box-shadow .2s ease; }
  .prices-table-container .prices-table .table-row:hover { transform: translateY(-4px); box-shadow: 0 16px 34px -18px rgba(31,55,58,.55); }
  .prices-table-container .prices-table .table-row .btn { min-width: 220px; }
  .theme-page-header-top-menu-default a { transition: color .15s; }
}
@media (prefers-reduced-motion: reduce) {
  .ccd-balk, .prices-table-container .prices-table .table-row { transition: none !important; }
}

/* Tablet liggend (1024): zelfde compacte kopbalk als mobiel */
@media screen and (min-width: 64rem) and (max-width: 80rem) {
  .theme-page-header-top-social-list .theme-component-social-profile, .theme-page-header-top-social-list .theme-icon-meta-search { display: none !important; }
  .theme-page-header-top-social-list > div:has(.theme-component-social-profile) { display: none !important; }
  .theme-icon-meta-menu { width: 48px !important; height: 48px !important; display: inline-flex !important; align-items: center; justify-content: center; }
}
/* Footer + telefoonlinks op alle schermen goed klikbaar */
.theme-page-footer .widget_theme_widget_menu_list a, .theme-page-footer .mc4wp-form-fields a { display: inline-flex; align-items: center; min-height: 40px; }
a[href^="tel:"] { white-space: nowrap; }
.wpb_text_column a[href^="tel:"], .theme-component-feature a[href^="tel:"] { display: inline-flex; align-items: center; min-height: 44px; }

.theme-component-feature p a[href*="wa.me"], .theme-component-feature p a[href^="tel:"] { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }


/* ============================================================
   Eigen foto's van Car Cleaning Dokter
   ============================================================ */
.trsn-header-image picture { display: contents; }
.trsn-header-image img.ccd-hero-foto { width: 100%; height: 100%; object-fit: cover; object-position: 70% 55%; }
.trsn-header-image::after { background: linear-gradient(90deg, rgba(5,19,36,.88) 0%, rgba(5,19,36,.72) 42%, rgba(5,19,36,.25) 75%, rgba(5,19,36,.15) 100%) !important; }

/* Leer-reinigen in "Wie is de Car Cleaning Dokter" */
.vc_custom_1706996281537 { background-image: url("fotos/leer-reinigen.jpg") !important; background-size: cover !important; background-position: 40% 50% !important; }

/* Foto boven elk pakket */
.prices-table-container .prices-table .table-row { overflow: visible; }
.ccd-pakket-foto { margin: -1.2rem -.4rem 18px; width: calc(100% + .8rem); aspect-ratio: 16 / 10; overflow: hidden; background: #1f373a; }
.ccd-pakket-foto img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.prices-table-container .prices-table .table-row:hover .ccd-pakket-foto img { transform: scale(1.04); }
.prices-table-container .prices-table .table-row:nth-child(2) .ccd-pakket-foto { outline: 1px solid #1f373a; }

/* Buitenkant-strook */
.ccd-buitenkant { background: #f5f5f5; padding: 0 0 56px; }
.ccd-buitenkant .trsn-container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ccd-buitenkant figure { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; }
.ccd-buitenkant img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ccd-buitenkant p { text-align: center; margin: 16px 0 0; font-family: Oswald, sans-serif; text-transform: uppercase; letter-spacing: .05em; color: #1f373a; font-size: 15px; }
@media screen and (max-width: 63.99rem) {
  .trsn-header-image img.ccd-hero-foto { object-position: 72% 50%; }
  .trsn-header-image::after { background: linear-gradient(180deg, rgba(5,19,36,.82) 0%, rgba(5,19,36,.7) 55%, rgba(5,19,36,.86) 100%) !important; }
  .ccd-pakket-foto { margin: -26px -18px 18px; width: calc(100% + 36px); }
  .ccd-buitenkant { padding: 0 16px 44px; }
  .ccd-buitenkant .trsn-container { grid-template-columns: 1fr 1fr; gap: 8px; }
  .ccd-buitenkant .ccd-buitenkant-3 { display: none; }
  .vc_custom_1706996281537 { min-height: 280px; }
}
@media (prefers-reduced-motion: reduce) { .ccd-pakket-foto img { transition: none; } }

@media screen and (max-width: 63.99rem) {
  .trsn-header-image img.ccd-hero-foto { position: absolute; inset: 0; width: 100%; height: 100% !important; }
}


/* ============================================================
   Desktop: lege helft, dubbele kop, reviews, stappen
   ============================================================ */
/* 1. "Hoe werkt" kenmerken: rechts een foto i.p.v. leeg vlak, dubbele kop weg */
.vc_custom_1496147473671:has(.theme-icon-feature-eco-car) .theme-component-header-subheader { display: none; }
@media screen and (min-width: 64rem) {
  .vc_custom_1496147473671:has(.theme-icon-feature-eco-car) { align-items: stretch; }
  .vc_custom_1496147473671:has(.theme-icon-feature-eco-car)::after {
    content: "" !important; display: block !important; flex: 0 0 50%; min-height: 420px;
    background: #1f373a url("fotos/detail-ventilatie.jpg") center / cover no-repeat;
  }
  .vc_custom_1496147473671:has(.theme-icon-feature-eco-car) > .wpb_column { flex: 0 0 50%; max-width: 50%; }
  .vc_custom_1496147473671:has(.theme-icon-feature-eco-car) .vc_custom_1496147152147 { padding: 72px 64px !important; }
  .vc_custom_1496147473671:has(.theme-icon-feature-eco-car) .vc_inner.theme-padding-top-5 { padding-top: 24px !important; }
  .vc_custom_1496147473671:has(.theme-icon-feature-eco-car) .theme-component-feature p { font-size: 15px; line-height: 1.6; }

  /* "Wie is": tekstkolom minder hoog */
  .vc_custom_1496147473671:not(:has(.theme-icon-feature-eco-car)) .theme-padding-1 { padding: 64px !important; }

  /* 3. Stappen altijd naast elkaar */
  .theme-component-process-list ul { display: flex !important; justify-content: center; gap: 0; }
  .theme-component-process-list ul li { flex: 1 1 0; width: auto !important; max-width: 290px; display: block !important; }
  .theme-component-process-list ul li h5 { font-size: 15px; }
}

/* 2. Reviews: pijlen naast de kaarten, beide zichtbaar, rustiger kop */
.ti-widget .ti-reviews-container { padding: 0 56px !important; position: relative; }
.ti-widget .ti-reviews-container .ti-next, .ti-widget .ti-reviews-container .ti-prev {
  display: flex !important; align-items: center; justify-content: center;
  width: 44px !important; height: 44px !important; border-radius: 50% !important;
  background: #fff !important; border: 1px solid #d9d9d9 !important; box-shadow: 0 6px 16px -8px rgba(0,0,0,.35) !important;
  top: 50% !important; transform: translateY(-50%) !important; margin: 0 !important; cursor: pointer; z-index: 3;
}
.ti-widget .ti-reviews-container .ti-prev { left: 0 !important; right: auto !important; }
.ti-widget .ti-reviews-container .ti-next { right: 0 !important; left: auto !important; }
.ti-widget .ti-reviews-container .ti-next:hover, .ti-widget .ti-reviews-container .ti-prev:hover { background: #4ac2d3 !important; border-color: #4ac2d3 !important; }
.ti-widget .ti-review-item > .ti-inner { border-radius: 0 !important; border-color: #e3e6e6 !important; transition: box-shadow .2s; }
.ti-widget .ti-review-item > .ti-inner:hover { box-shadow: 0 12px 26px -16px rgba(31,55,58,.5); }
.ti-widget .ti-header { margin-bottom: 8px !important; }
.vc_custom_1496131115724:has(.ti-widget) { padding-top: 24px !important; padding-bottom: 32px !important; }
@media screen and (max-width: 63.99rem) {
  .ti-widget .ti-reviews-container { padding: 0 !important; }
  .ti-widget .ti-reviews-container .ti-next, .ti-widget .ti-reviews-container .ti-prev { width: 40px !important; height: 40px !important; }
  .ti-widget .ti-reviews-container .ti-prev { left: -6px !important; }
  .ti-widget .ti-reviews-container .ti-next { right: -6px !important; }
}

.ti-widget .ti-reviews-container .ti-controls { left: 0 !important; right: 0 !important; width: auto !important; margin: 0 !important; transform: none !important; }

/* Vangnet: als de review-opmaak niet laadt, geen ruwe lijst tonen */
.ti-widget:not(.ti-goog) .ti-review-item { display: none; }

/* ============================================================
   Mobiel menu: volledig scherm, grote knoppen
   ============================================================ */
.ccd-menu { position: fixed; inset: 0; z-index: 100000; background: #0b1c24; color: #fff; display: flex; flex-direction: column; padding: 0 20px calc(20px + env(safe-area-inset-bottom)); overflow-y: auto; opacity: 0; transform: translateY(-12px); transition: opacity .22s ease, transform .22s ease; }
.ccd-menu.open { opacity: 1; transform: none; }
.ccd-menu[hidden] { display: none; }
html.ccd-menu-open, html.ccd-menu-open body { overflow: hidden !important; }
.ccd-menu-top { display: flex; align-items: center; justify-content: space-between; height: 76px; flex: 0 0 auto; }
.ccd-menu-top img { max-width: 150px; height: auto; }
.ccd-menu-sluit { position: relative; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.35); background: transparent; cursor: pointer; }
.ccd-menu-sluit span { position: absolute; left: 12px; right: 12px; top: 23px; height: 2px; background: #fff; }
.ccd-menu-sluit span:first-child { transform: rotate(45deg); }
.ccd-menu-sluit span:last-child { transform: rotate(-45deg); }
.ccd-menu-links { display: flex; flex-direction: column; margin-top: 12px; }
.ccd-menu-links a { display: flex; align-items: center; justify-content: space-between; min-height: 60px; border-bottom: 1px solid rgba(255,255,255,.12); color: #fff !important; font-family: Oswald, sans-serif; font-size: 24px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; text-decoration: none; }
.ccd-menu-links a::after { content: "›"; color: #4ac2d3; font-size: 28px; font-weight: 400; }
.ccd-menu-links a:active { color: #4ac2d3 !important; }
.ccd-menu-acties { margin-top: auto; padding-top: 28px; display: flex; flex-direction: column; gap: 10px; }
.ccd-menu-acties a { display: flex; align-items: center; justify-content: center; min-height: 54px; font-family: Oswald, sans-serif; font-weight: 600; font-size: 17px; text-transform: uppercase; text-decoration: none; }
.ccd-menu-hoofd { background: #4ac2d3; color: #fff !important; }
.ccd-menu-rij { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ccd-menu-rij a { border: 1px solid rgba(255,255,255,.4); color: #fff !important; }
.ccd-menu-acties p { margin: 6px 0 0; text-align: center; font-size: 14px; color: rgba(255,255,255,.65); }
@media screen and (min-width: 64rem) { .ccd-menu { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .ccd-menu { transition: none; } }
@media screen and (max-width: 63.99rem) { .theme-page-header-top-menu-responsive { display: none !important; } }

/* ============================================================
   Menu als lade van rechts
   ============================================================ */
@media screen and (max-width: 63.99rem) {
  .theme-page-header-top-social-list { margin-left: auto !important; }
  .theme-icon-meta-menu { margin: 0 !important; }
}
.ccd-menu-achter { position: fixed; inset: 0; z-index: 99999; background: rgba(5, 15, 20, .55); opacity: 0; transition: opacity .25s ease; }
.ccd-menu-achter.open { opacity: 1; }
.ccd-menu-achter[hidden] { display: none; }
.ccd-menu { left: auto !important; right: 0; top: 0; bottom: 0; width: min(86vw, 380px); padding: 0 22px calc(22px + env(safe-area-inset-bottom)); box-shadow: -18px 0 40px rgba(0,0,0,.35); opacity: 1 !important; transform: translateX(100%) !important; transition: transform .28s cubic-bezier(.2,.8,.2,1) !important; }
.ccd-menu.open { transform: translateX(0) !important; }
.ccd-menu-top { justify-content: space-between; }
.ccd-menu-top img { max-width: 120px; }
.ccd-menu-links { margin-top: 8px; }
.ccd-menu-links a { font-size: 21px; min-height: 58px; padding: 0 2px; }
.ccd-menu-acties { padding-top: 22px; }
@media (prefers-reduced-motion: reduce) { .ccd-menu, .ccd-menu-achter { transition: none !important; } }

/* ============================================================
   Vaste menubalk bij scrollen (desktop): donker i.p.v. wit,
   zodat het witte logo en de menulinks zichtbaar blijven
   ============================================================ */
.theme-page-header.theme-page-header-sticky .theme-page-header-top {
  background: rgba(11, 28, 36, .96) !important;
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  box-shadow: 0 8px 24px -14px rgba(0, 0, 0, .55) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.theme-page-header.theme-page-header-sticky .theme-page-header-top .theme-page-header-top-menu.theme-page-header-top-menu-default > ul > li > a { color: rgba(255, 255, 255, .88) !important; }
.theme-page-header.theme-page-header-sticky .theme-page-header-top .theme-page-header-top-menu.theme-page-header-top-menu-default > ul > li:hover > a,
.theme-page-header.theme-page-header-sticky .theme-page-header-top .theme-page-header-top-menu.theme-page-header-top-menu-default > ul > li.current-menu-item > a,
.theme-page-header.theme-page-header-sticky .theme-page-header-top .theme-page-header-top-menu.theme-page-header-top-menu-default > ul > li.current-menu-ancestor > a { color: #4ac2d3 !important; }
.theme-page-header.theme-page-header-sticky .theme-page-header-top .theme-page-header-top-logo .theme-page-header-top-logo-normal { display: block !important; }
.theme-page-header.theme-page-header-sticky .theme-page-header-top .theme-page-header-top-logo .theme-page-header-top-logo-sticky { display: none !important; }
.theme-page-header.theme-page-header-sticky .theme-page-header-top [class*="theme-icon-meta"], .theme-page-header.theme-page-header-sticky .theme-page-header-top .theme-component-social-profile a { color: #fff !important; }

/* ============================================================
   Mobiel/tablet: contactblok (Bel ons / Ons adres / Openingstijden)
   stond in een smalle strook. Nu drie volle kaarten, alleen deze rij.
   ============================================================ */
@media screen and (max-width: 63.99rem) {
  .theme-page-content > .theme-main:has(.theme-section-space-top-1 .theme-icon-feature-phone-circle) { width: auto !important; margin-left: 20px !important; margin-right: 20px !important; }
  .vc_row.theme-section-space-top-1:has(.theme-icon-feature-phone-circle) { padding-left: 0 !important; padding-right: 0 !important; display: grid !important; gap: 12px; }
  .vc_row.theme-section-space-top-1:has(.theme-icon-feature-phone-circle)::before, .vc_row.theme-section-space-top-1:has(.theme-icon-feature-phone-circle)::after { display: none !important; }
  .vc_row.theme-section-space-top-1:has(.theme-icon-feature-phone-circle) > .wpb_column { width: 100% !important; float: none !important; padding: 0 !important; margin: 0 !important; }
  .vc_row.theme-section-space-top-1:has(.theme-icon-feature-phone-circle) .vc_column-inner { padding: 0 !important; }
  .vc_row.theme-section-space-top-1:has(.theme-icon-feature-phone-circle) .theme-component-feature { width: auto !important; margin: 0 !important; padding: 18px 18px 18px 66px !important; background: #fff; border: 1px solid #e3e8e8; }
  .vc_row.theme-section-space-top-1:has(.theme-icon-feature-phone-circle) .theme-component-feature > span { left: 18px !important; top: 18px !important; }
  .vc_row.theme-section-space-top-1:has(.theme-icon-feature-phone-circle) .theme-component-feature p { text-align: left !important; }
}
@media screen and (min-width: 40rem) and (max-width: 63.99rem) {
  .vc_row.theme-section-space-top-1:has(.theme-icon-feature-phone-circle) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .vc_row.theme-section-space-top-1:has(.theme-icon-feature-phone-circle) .theme-component-feature { padding: 66px 16px 18px !important; }
}

/* Hero tussen 1024 en 1366: tekst niet tegen de rand of onder het logo */
@media screen and (min-width: 64rem) and (max-width: 85.4rem) {
  .trsn-header-image .trsn-container { gap: 3rem !important; padding: 140px 48px 48px !important; justify-content: space-between !important; max-width: none !important; }
  .trsn-header-image .inner { max-width: 58%; }
  .trsn-header-image .inner h1 { font-size: clamp(56px, 5.6vw, 76px) !important; line-height: 1.02; }
  .trsn-header-image .inner-usps { max-width: 38%; }
  .trsn-header-image .inner-usps li { font-size: 15px !important; }
}

/* ============================================================
      Feedback klant 18-10: logo weer in het midden (mobiel/tablet),
   hero-kop rustiger en kleiner
   ============================================================ */
@media screen and (max-width: 63.99rem) {
  .theme-page-header-top { position: relative; justify-content: center !important; padding: 0 64px !important; }
  .theme-page-header-top-logo { margin: 0 auto !important; }
  .theme-page-header-top-logo img { max-width: 180px !important; }
  .theme-page-header-top-social-list { position: absolute !important; right: 12px; top: 50%; transform: translateY(-50%); margin: 0 !important; }
  .trsn-header-image .inner h1 { font-size: 30px !important; line-height: 1.1; letter-spacing: .01em; margin-bottom: 8px !important; }
  .trsn-header-image .inner p { font-size: 17px !important; }
  .trsn-header-image .inner > p:not(.phone) { text-wrap: pretty; }
  .trsn-header-image .inner h1 { text-wrap: balance; }
}
@media screen and (min-width: 64rem) and (max-width: 85.4rem) {
  .trsn-header-image .inner h1 { font-size: clamp(44px, 4.2vw, 56px) !important; }
}
@media screen and (min-width: 85.5rem) {
  .trsn-header-image .inner h1 { font-size: 64px !important; line-height: 1.05; }
}

/* ============================================================
   Feedback klant 19-10: pijltje "naar boven" zat onder de WhatsApp-knop
   (desktop) en half onder de belbalk (mobiel). Nu netjes boven WhatsApp,
   op dezelfde lijn.
   ============================================================ */
#theme-go-to-top { right: 33px !important; bottom: 100px !important; z-index: 9991 !important; }
@media screen and (max-width: 63.99rem) {
  #theme-go-to-top { bottom: calc(160px + env(safe-area-inset-bottom)) !important; }
}
@media screen and (max-width: 480px) {
  #theme-go-to-top { right: 19px !important; }
}
