/*
Theme Name: GoTrusted
Theme URI: https://gotrusted.eu
Description: Child theme voor Twenty Twenty-Five dat een GoTrusted-achtige look-and-feel toevoegt aan GoTrusted, inclusief een aparte template voor bedrijvenpagina's en automatische koppeling van reviews aan de juiste pagina (WP Customer Reviews).
Author: GoTrusted
Template: twentytwentyfive
Version: 2.82.0
Requires at least: 6.5
Tested up to: 7.0
Text Domain: gotrusted-trustpilot
*/

/* ================================================================
   1. Design tokens (GoTrusted palette)
   ================================================================ */
:root {
  --tp-green: #00b67a;
  --tp-green-dark: #00a06c;
  --tp-ink: #191919;
  --tp-muted: #6b6b76;
  --tp-border: #e7e9ed;
  --tp-card: #ffffff;
  --tp-bg: #f7f7f9;
  --tp-radius: 8px;
  --tp-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica,
    Arial, sans-serif;
}

/* ================================================================
   1b. Site-wide GoTrusted look — header + footer
   Header/footer markup is rendered by the [gotrusted_header] /
   [gotrusted_footer] shortcodes; colours come from the Customizer
   (CSS variables output in wp_head).
   ================================================================ */
body {
  font-family: var(--tp-font);
  color: var(--tp-ink);
}

/* reset the parent block-theme header/footer wrappers */
.wp-site-blocks header.wp-block-template-part,
.wp-site-blocks footer.wp-block-template-part {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

/* ---- header ---- */
.gt-site-header {
  background: var(--tp-header-bg, #fff);
  border-bottom: 1px solid var(--tp-border);
}
.gt-header-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 12px 24px;
}
.gt-logo {
  display: flex;
  align-items: center;
  gap: 9px;
  text-decoration: none;
  font-weight: 800;
  font-size: 20px;
  color: var(--tp-ink);
  flex: 0 0 auto;
}
.gt-logo-star {
  display: inline-flex;
}
.gt-logo--custom {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}
.gt-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 1px;
  flex: 0 0 auto;
}
.gt-tagline {
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
  color: var(--tp-green-dark);
  margin-top: 2px;
}
@media (max-width: 782px) {
  .gt-tagline {
    font-size: 11px;
  }
}
.gt-site-header .custom-logo-link {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}
.gt-site-header .custom-logo,
.gt-logo img {
  height: 40px !important;
  width: auto !important;
  max-width: 220px;
  object-fit: contain;
}
@media (max-width: 782px) {
  .gt-site-header .custom-logo,
  .gt-logo img {
    height: 34px !important;
    max-width: 160px;
  }
}
.gt-nav {
  flex: 1 1 auto;
}
.gt-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.gt-menu li {
  margin: 0;
}
.gt-menu a {
  color: var(--tp-ink);
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
}
.gt-menu a:hover {
  color: var(--tp-green-dark);
}
.gt-header-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-left: auto;
  flex: 0 0 auto;
}
.gt-header-search .wp-block-search__inside-wrapper,
.gt-header-search form {
  margin: 0;
}
.gt-cta {
  display: inline-block;
  background: var(--tp-green);
  color: #fff !important;
  border-radius: 100px;
  padding: 9px 20px;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  white-space: nowrap;
}
.gt-cta:hover {
  background: var(--tp-green-dark);
}

/* ---- pre-footer widget band ---- */
.gt-prefooter {
  background: #f7f7f9;
  border-top: 1px solid var(--tp-border);
}
.gt-prefooter-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 32px 24px;
}

/* ---- footer (dark, multi-column) ---- */
.gt-site-footer {
  background: var(--tp-footer-bg, #1c1c1c);
  color: var(--tp-footer-text, #c9c9d1);
}
.gt-footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 52px 24px 36px;
  display: flex;
  align-items: flex-start;
  gap: 40px;
}
.gt-footer-brand {
  flex: 0 0 260px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.gt-footer-cols {
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.gt-footer-name {
  color: #fff;
  font-weight: 800;
  font-size: 18px;
  display: inline-flex;
  align-items: center;
}
.gt-footer-brand .gt-logo-star {
  margin-bottom: 2px;
}
.gt-footer-tagline {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--tp-footer-text, #c9c9d1);
  max-width: 34ch;
}
.gt-footer-col .gt-widget-title,
.gt-footer-col h3 {
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin: 0 0 14px;
}
.gt-footer-links,
.gt-footer-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.gt-footer-links li,
.gt-footer-col li {
  margin: 0 0 10px;
}
.gt-site-footer a {
  color: var(--tp-footer-text, #c9c9d1);
  text-decoration: none;
  font-size: 14px;
}
.gt-site-footer a:hover {
  color: #fff;
}
.gt-footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.gt-footer-bottom-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 18px 24px;
  font-size: 13px;
  color: var(--tp-footer-text, #c9c9d1);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 24px;
}
.gt-footer-legal {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin: 0;
  padding: 0;
}
.gt-footer-legal li {
  margin: 0;
}
.gt-footer-legal a {
  color: var(--tp-footer-text, #c9c9d1);
  text-decoration: none;
}
.gt-footer-legal a:hover {
  color: #fff;
  text-decoration: underline;
}
.gt-footer-legal--widgets {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 20px;
}
.gt-footer-legal--widgets .gt-widget-title {
  display: none;
}
@media (max-width: 640px) {
  .gt-footer-bottom-inner {
    justify-content: flex-start;
  }
}

/* core buttons everywhere -> green GoTrusted pill */
.wp-site-blocks .wp-element-button,
.wp-site-blocks .wp-block-button__link,
.wp-site-blocks button.wp-block-search__button {
  background-color: var(--tp-green) !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 100px !important;
  font-weight: 600 !important;
}
.wp-site-blocks .wp-element-button:hover,
.wp-site-blocks .wp-block-button__link:hover,
.wp-site-blocks button.wp-block-search__button:hover {
  background-color: var(--tp-green-dark) !important;
  color: #ffffff !important;
}

/* content links pick up the brand green (nav keeps its own colour) */
.wp-site-blocks .entry-content a,
.wp-site-blocks .wp-block-post-content a {
  color: var(--tp-green-dark);
}
.wp-site-blocks .entry-content a:hover,
.wp-site-blocks .wp-block-post-content a:hover {
  color: var(--tp-green);
}

.wp-site-blocks h1,
.wp-site-blocks h2,
.wp-site-blocks h3 {
  color: var(--tp-ink);
}

@media (max-width: 900px) {
  .gt-footer-inner {
    flex-direction: column;
    gap: 28px;
  }
  .gt-footer-brand {
    flex-basis: auto;
  }
  .gt-footer-cols {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 782px) {
  .gt-header-inner {
    flex-wrap: wrap;
    gap: 12px 18px;
  }
  .gt-nav {
    order: 3;
    flex-basis: 100%;
  }
  .gt-menu {
    gap: 16px;
  }
}
@media (max-width: 560px) {
  .gt-footer-cols {
    grid-template-columns: 1fr;
  }
}

/* ================================================================
   2. WP Customer Reviews widget -> GoTrusted styling
   These rules OVERRIDE the plugin's own CSS, so they work with the
   stock plugin too (no need to edit the plugin itself). The green
   star sprite is loaded from this child theme's /assets folder.
   ================================================================ */
body .wpcr3_respond_1 {
  font-family: var(--tp-font);
  color: var(--tp-ink);
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
  -webkit-font-smoothing: antialiased;
}

/* remove the old dotted separators – we use cards instead */
body div.wpcr3_dotline,
body div.wpcr3_review div.wpcr3_dotline {
  display: none !important;
}

body .wpcr3_leave_text {
  font-weight: 700;
  font-size: 1.15rem;
  color: var(--tp-ink);
  margin-bottom: 6px;
}

/* --- aggregate / overall rating header --- */
body div.wpcr3_aggregateRating {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--tp-border);
  line-height: 1.4;
  font-size: 15px;
}
body div.wpcr3_aggregateRating span.wpcr3_aggregateRating_overallText {
  font-weight: 700;
  font-size: 18px;
  color: var(--tp-ink);
}
body div.wpcr3_aggregateRating div.wpcr3_aggregateRating_ratingValue {
  display: inline-block !important;
  position: relative;
  top: 1px;
}
body div.wpcr3_aggregateRating span.wpcr3_aggregateRating_reviewCount {
  color: var(--tp-muted);
  font-size: 14px;
}

body div.wpcr3_review_item div.wpcr3_item_name {
  font-size: 0.85em;
  color: var(--tp-muted);
  font-style: normal;
}

/* --- review cards --- */
body div.wpcr3_review {
  background: var(--tp-card);
  border: 1px solid var(--tp-border);
  border-radius: var(--tp-radius);
  padding: 20px 24px;
  margin-bottom: 16px;
  box-shadow: 0 1px 2px rgba(25, 25, 25, 0.04);
}
body div.wpcr3_review div,
body div.wpcr3_review span {
  line-height: 1.5;
}
body div.wpcr3_review div.wpcr3_review_ratingValue {
  display: block !important;
  margin-bottom: 10px;
}
body div.wpcr3_review div.wpcr3_review_datePublished,
body div.wpcr3_review div.wpcr3_review_author {
  font-size: 13px;
  font-style: normal;
  color: var(--tp-muted);
}
body div.wpcr3_review div.wpcr3_review_author .wpcr3_caps,
body div.wpcr3_review div.wpcr3_review_author a {
  color: var(--tp-ink);
  font-weight: 600;
  text-decoration: none;
}
body div.wpcr3_review div.wpcr3_review_title {
  font-size: 16px;
  font-weight: 700;
  color: var(--tp-ink);
  display: block !important;
  margin: 8px 0 4px;
}
body div.wpcr3_review blockquote.wpcr3_content {
  font-size: 15px;
  color: #2b2b31;
  display: block !important;
  margin: 4px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  quotes: none;
}
body div.wpcr3_review blockquote.wpcr3_content:before,
body div.wpcr3_review blockquote.wpcr3_content:after {
  content: "" !important;
}
body div.wpcr3_review blockquote.wpcr3_content p {
  font-size: 15px;
  line-height: 1.6;
  display: inline !important;
  margin: 0 !important;
}
/* company reply */
body div.wpcr3_review blockquote.wpcr3_content.wpcr3_admin_response {
  display: block !important;
  margin: 14px 0 0 !important;
  padding: 12px 16px !important;
  background: #f5f6f8;
  border-left: 3px solid var(--tp-green);
  border-radius: 4px;
  color: var(--tp-ink);
}

/* --- form fields --- */
body .wpcr3_respond_2 input[type="text"],
body .wpcr3_respond_2 textarea {
  width: 100%;
  max-width: 100%;
  border: 1px solid var(--tp-border);
  border-radius: 4px;
  padding: 10px 12px;
  font-size: 15px;
  font-family: inherit;
  color: var(--tp-ink);
  background: #fff;
  box-sizing: border-box;
}
body .wpcr3_respond_2 input[type="text"]:focus,
body .wpcr3_respond_2 textarea:focus {
  outline: 0;
  border-color: var(--tp-green);
  box-shadow: 0 0 0 2px rgba(0, 182, 122, 0.15);
}
body .wpcr3_respond_2 textarea {
  height: 120px !important;
  min-height: 120px;
}
body .wpcr3_no_reviews {
  color: var(--tp-muted);
  font-size: 15px;
}

/* --- star rating widget: green GoTrusted squares --- */
/* geometry is forced here so it works regardless of plugin version */
body div.wpcr3_rating_style1,
body div.wpcr3_rating_style1 div,
body div.wpcr3_rating_style1 * {
  line-height: 16px !important;
}
body div.wpcr3_rating_style1_base {
  background: url(assets/newstars.png) 0 0 no-repeat !important;
  width: 85px !important;
  height: 16px !important;
  padding-right: 4px;
}
body div.wpcr3_rating_style1_average {
  background: url(assets/newstars.png) 0 -16px no-repeat !important;
  height: 16px !important;
}
body div.wpcr3_rating_style1_status,
body div.wpcr3_rating_style1_score {
  height: 16px !important;
}
body div.wpcr3_rating_style1_score {
  background: url(assets/newstars.png) 0 0 no-repeat !important;
  width: 85px !important;
}
body div.wpcr3_rating_style1_score div {
  height: 16px !important;
}
body div.wpcr3_rating_style1_score div:hover {
  background: url(assets/newstars.png) 0 -32px no-repeat !important;
}

/* --- buttons: green pill CTA --- */
body .wpcr3_button_1 {
  border: 1px solid transparent !important;
  border-radius: 100px !important;
  background: var(--tp-green) !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 10px 22px !important;
  margin-bottom: 12px;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease;
  filter: none !important;
  text-shadow: none !important;
}
body .wpcr3_button_1:hover,
body .wpcr3_button_1:active,
body .wpcr3_button_1:focus {
  background: var(--tp-green-dark) !important;
  border-color: var(--tp-green-dark) !important;
  color: #fff !important;
  filter: none !important;
}
body .wpcr3_button_1.wpcr3_cancel_btn {
  background: #ffffff !important;
  color: var(--tp-ink) !important;
  border: 1px solid var(--tp-border) !important;
}
body .wpcr3_button_1.wpcr3_cancel_btn:hover {
  background: #f5f6f8 !important;
  border-color: #cfd2da !important;
}

/* --- pagination --- */
body .wpcr3_pagination .wpcr3_a {
  color: var(--tp-ink);
  background: #fff;
  border: 1px solid var(--tp-border);
  border-radius: 4px;
  padding: 7px 12px;
  margin: 0 3px;
}
body .wpcr3_pagination .wpcr3_a:hover,
body .wpcr3_pagination .wpcr3_a.wpcr3_current {
  color: #fff;
  background: var(--tp-green);
  border-color: var(--tp-green);
}
body .wpcr3_pagination .wpcr3_a.wpcr3_disabled,
body .wpcr3_pagination .wpcr3_a.wpcr3_disabled:hover {
  background: #f5f6f8;
  border-color: var(--tp-border);
  color: #c2c4cc;
}
body .wpcr3_pagination_page {
  color: var(--tp-muted);
}

/* ================================================================
   3. Company page chrome (template: company-page.php)
   ================================================================ */
.gt-company-page .gt-company-main {
  background: var(--tp-bg);
  padding: 0 0 64px;
}

.gt-hero {
  background: #ffffff;
  border-bottom: 1px solid var(--tp-border);
  padding: 40px 20px 32px;
}
.gt-hero-inner {
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 20px;
}
.gt-hero-logo {
  flex: 0 0 auto;
  width: 72px;
  height: 72px;
  border-radius: 16px;
  background: var(--tp-green);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--tp-font);
  font-size: 34px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  box-shadow: 0 4px 14px rgba(0, 182, 122, 0.25);
}
.gt-hero-logo--img {
  background: #ffffff;
  border: 1px solid var(--tp-border);
  box-shadow: 0 2px 8px rgba(25, 25, 25, 0.06);
  overflow: hidden;
}
.gt-hero-logo--img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.gt-hero h1.gt-company-name {
  font-family: var(--tp-font);
  font-size: clamp(26px, 4vw, 38px);
  font-weight: 800;
  color: var(--tp-ink);
  margin: 0 0 4px;
  line-height: 1.15;
}
.gt-hero-sub {
  font-family: var(--tp-font);
  font-size: 15px;
  color: var(--tp-muted);
  margin: 0;
}
.gt-company-url {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 6px;
  font-family: var(--tp-font);
  font-size: 14px;
  font-weight: 600;
  color: var(--tp-green-dark);
  text-decoration: none;
}
.gt-company-url:hover {
  color: var(--tp-green);
  text-decoration: underline;
}
.gt-company-url svg {
  flex: 0 0 auto;
}
.gt-hero-score {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  font-family: var(--tp-font);
}
.gt-hero-score .gt-score-num {
  font-size: 18px;
  font-weight: 800;
  color: var(--tp-ink);
}
.gt-hero-score .gt-score-label {
  font-size: 14px;
  color: var(--tp-muted);
}

.gt-company-body {
  max-width: 1080px;
  margin: 0 auto;
  padding: 32px 20px 0;
  font-family: var(--tp-font);
}
.gt-company-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 32px;
  align-items: start;
}
.gt-company-col {
  min-width: 0;
}
.gt-company-aside {
  position: sticky;
  top: 20px;
}

/* keurmerk (trust-mark) widget */
.gt-keurmerk {
  background: var(--tp-card);
  border: 1px solid var(--tp-border);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(25, 25, 25, 0.05);
}
.gt-keurmerk-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  background: var(--tp-green);
  color: #fff;
}
.gt-keurmerk-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.gt-keurmerk-title {
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.02em;
}
.gt-keurmerk-body {
  padding: 18px;
}
.gt-keurmerk-intro {
  font-size: 14px;
  font-weight: 700;
  color: var(--tp-ink);
  margin: 0 0 14px !important;
  line-height: 1.5;
}
.gt-keurmerk-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.gt-keurmerk-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 14px;
}
.gt-keurmerk-item:last-child {
  margin-bottom: 0;
}
.gt-keurmerk-item .gt-check {
  flex: 0 0 auto;
  margin-top: 1px;
}
.gt-keurmerk-text {
  font-size: 13.5px;
  line-height: 1.5;
  color: #2b2b31;
}
.gt-keurmerk-text strong {
  color: var(--tp-ink);
  font-weight: 700;
}

@media (max-width: 880px) {
  .gt-company-layout {
    grid-template-columns: 1fr;
  }
  .gt-company-aside {
    position: static;
    order: -1; /* show the keurmerk above the reviews on mobile */
  }
}
.gt-company-desc {
  color: #2b2b31;
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 28px;
}
.gt-reviews-heading {
  font-family: var(--tp-font);
  font-size: 20px;
  font-weight: 800;
  color: var(--tp-ink);
  margin: 8px 0 14px;
}

/* on company pages our heading replaces the plugin's business name and
   "Average rating:" label; keep the stars + review count */
.gt-company-page .wpcr3_business > .wpcr3_item_name,
.gt-company-page .wpcr3_product > .wpcr3_item_name,
.gt-company-page .wpcr3_aggregateRating_overallText {
  display: none !important;
}
.gt-company-page .wpcr3_aggregateRating {
  margin-top: 0;
  margin-bottom: 8px;
  gap: 8px;
}

/* "honest experience" checkbox (the plugin's relabelled confirm box) */
.gt-honest-label {
  display: flex !important;
  align-items: flex-start;
  gap: 8px;
  font-family: var(--tp-font);
  font-size: 14px;
  color: var(--tp-ink);
  line-height: 1.5;
  margin: 8px 0 2px;
  cursor: pointer;
}
.gt-honest-label input {
  width: auto !important;
  min-height: 0 !important;
  margin: 3px 0 0 !important;
  accent-color: var(--tp-green);
  flex: 0 0 auto;
}

/* keep the plugin widget nicely contained on the company page */
.gt-company-page .wpcr3_respond_1 {
  background: transparent;
}

/* "Review <company>" hero call-to-action */
.gt-review-cta {
  display: inline-block;
  margin: 22px 0 26px;
  border: 0;
  border-radius: 100px;
  background: var(--tp-green);
  color: #fff;
  font-family: var(--tp-font);
  font-size: 15px;
  font-weight: 700;
  padding: 12px 26px;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.gt-review-cta:hover,
.gt-review-cta:focus {
  background: var(--tp-green-dark);
  outline: 0;
}
.gt-review-cta:focus-visible {
  box-shadow: 0 0 0 3px rgba(0, 182, 122, 0.25);
}

/* the hero button replaces the plugin's inline "create review" button
   on company pages to avoid two identical calls-to-action */
.gt-company-page .wpcr3_respond_3 .wpcr3_show_btn {
  display: none !important;
}

/* required "agree to the terms" checkbox */
.gt-terms {
  margin: 10px 0 4px;
}
.gt-terms-label {
  display: flex !important;
  align-items: flex-start;
  gap: 8px;
  font-family: var(--tp-font);
  font-size: 14px;
  color: var(--tp-ink);
  cursor: pointer;
  line-height: 1.5;
}
.gt-terms-label input.gt-terms-check {
  width: auto !important;
  min-height: 0 !important;
  margin: 3px 0 0 !important;
  accent-color: var(--tp-green);
  flex: 0 0 auto;
}
.gt-terms-label a {
  color: var(--tp-green-dark);
  font-weight: 600;
  text-decoration: underline;
}
.gt-terms-error {
  margin-top: 6px;
  font-size: 13px;
  font-weight: 600;
  color: #c0392b;
}

@media (max-width: 600px) {
  .gt-hero-inner {
    gap: 14px;
  }
  .gt-hero-logo {
    width: 56px;
    height: 56px;
    font-size: 26px;
    border-radius: 12px;
  }
}

/* ---- widget spacing (page sidebar + pre-footer band) ---- */
.gt-page-widgets {
  margin-top: 16px;
}
.gt-page-widgets .gt-widget {
  background: var(--tp-card);
  border: 1px solid var(--tp-border);
  border-radius: 12px;
  padding: 16px 18px;
  margin-bottom: 16px;
}
.gt-page-widgets .gt-widget-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--tp-ink);
  margin: 0 0 10px;
}
.gt-prefooter .gt-widget {
  margin: 0;
}

/* ================================================================
   Review overlay (GoTrusted-style "add review" modal)
   ================================================================ */
.gt-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
}
.gt-modal.is-open {
  display: block;
}
.gt-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(25, 25, 25, 0.55);
}
.gt-modal__dialog {
  position: relative;
  max-width: 560px;
  margin: 6vh auto;
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
  max-height: 88vh;
  overflow: auto;
  font-family: var(--tp-font);
}
.gt-modal__head {
  position: sticky;
  top: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 24px;
  background: #ffffff;
  border-bottom: 1px solid var(--tp-border);
}
.gt-modal__title {
  margin: 0;
  font-size: 20px;
  font-weight: 800;
  color: var(--tp-ink);
}
.gt-modal__close {
  margin-left: auto;
  background: transparent;
  border: 0;
  cursor: pointer;
  font-size: 26px;
  line-height: 1;
  color: var(--tp-muted);
  padding: 0 4px;
}
.gt-modal__close:hover {
  color: var(--tp-ink);
}
.gt-modal__body {
  padding: 18px 24px 24px;
}
body.gt-modal-open {
  overflow: hidden;
}

/* the plugin form is always visible inside the modal */
.gt-modal .wpcr3_respond_2 {
  display: block !important;
}
.gt-modal .wpcr3_div_2 {
  max-width: 100%;
}
/* our modal title replaces the plugin's "Submit your review" heading */
.gt-modal .wpcr3_leave_text {
  display: none;
}
/* the cancel button isn't needed in the modal (X closes it) */
.gt-modal .wpcr3_cancel_btn {
  display: none !important;
}
.gt-modal .wpcr3_submit_btn {
  width: 100%;
  box-sizing: border-box;
}

/* bigger, GoTrusted-like rating stars in the form */
.gt-modal .wpcr3_review_form_rating_field td {
  padding: 6px 0 18px;
}
.gt-modal .wpcr3_rating_stars {
  display: inline-block;
  height: 34px;
}
.gt-modal .wpcr3_rating_stars .wpcr3_rating_style1 {
  transform: scale(2);
  transform-origin: left center;
}

@media (max-width: 600px) {
  .gt-modal__dialog {
    margin: 0;
    min-height: 100%;
    max-height: 100vh;
    border-radius: 0;
  }
}

/* average score shown next to the aggregate stars */
.gt-company-page .gt-agg-score {
  font-size: 20px;
  font-weight: 800;
  color: var(--tp-ink);
  margin-right: 4px;
  line-height: 1;
}

/* ================================================================
   "Bedrijf toevoegen" front-end form
   ================================================================ */
.gt-add-company {
  max-width: 640px;
  font-family: var(--tp-font);
}
.gt-add-company .gt-field {
  margin: 0 0 16px;
}
.gt-add-company label {
  display: block;
  font-weight: 600;
  color: var(--tp-ink);
  margin-bottom: 6px;
}
.gt-add-company input[type="text"],
.gt-add-company input[type="url"],
.gt-add-company input[type="email"],
.gt-add-company textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--tp-border);
  border-radius: 6px;
  padding: 11px 12px;
  font-size: 15px;
  font-family: inherit;
  color: var(--tp-ink);
  background: #fff;
}
.gt-add-company input:focus,
.gt-add-company textarea:focus {
  outline: 0;
  border-color: var(--tp-green);
  box-shadow: 0 0 0 2px rgba(0, 182, 122, 0.15);
}
.gt-add-company .gt-cta {
  border: 0;
  border-radius: 100px;
  background: var(--tp-green);
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  padding: 12px 26px;
  cursor: pointer;
}
.gt-add-company .gt-cta:hover {
  background: var(--tp-green-dark);
}
.gt-add-company .gt-hp {
  position: absolute !important;
  left: -9999px !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}
.gt-form-notice {
  max-width: 640px;
  border-radius: 8px;
  padding: 14px 16px;
  margin: 0 0 18px;
  font-family: var(--tp-font);
  font-size: 15px;
}
.gt-form-notice.gt-ok {
  background: #e7f7f0;
  color: #0b6b4f;
  border: 1px solid #a7e3cd;
}
.gt-form-notice.gt-err {
  background: #fdecec;
  color: #a3271f;
  border: 1px solid #f3c2be;
}

/* ================================================================
   "Bedrijf toevoegen" front-end form
   ================================================================ */
.gt-add-company {
  max-width: 560px;
  font-family: var(--tp-font);
}
.gt-add-company .gt-field {
  display: block;
  margin: 0 0 16px;
}
.gt-add-company .gt-field label {
  display: block;
  font-weight: 600;
  font-size: 14px;
  color: var(--tp-ink);
  margin-bottom: 6px;
}
.gt-add-company input[type="text"],
.gt-add-company input[type="url"],
.gt-add-company input[type="email"],
.gt-add-company textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--tp-border);
  border-radius: 6px;
  padding: 11px 13px;
  font-size: 15px;
  font-family: inherit;
  color: var(--tp-ink);
  background: #fff;
}
.gt-add-company input:focus,
.gt-add-company textarea:focus {
  outline: 0;
  border-color: var(--tp-green);
  box-shadow: 0 0 0 2px rgba(0, 182, 122, 0.15);
}
.gt-add-company .gt-cta {
  border: 0;
  cursor: pointer;
  font-size: 15px;
}
.gt-add-company .gt-hp {
  position: absolute;
  left: -9999px;
  height: 1px;
  width: 1px;
  overflow: hidden;
}
.gt-form-notice {
  max-width: 560px;
  border-radius: 8px;
  padding: 14px 16px;
  margin: 0 0 20px;
  font-family: var(--tp-font);
  font-size: 15px;
}
.gt-form-notice.gt-ok {
  background: #e7f7f0;
  border: 1px solid #9fe1cb;
  color: #0f6e56;
}
.gt-form-notice.gt-err {
  background: #fcecec;
  border: 1px solid #f5c0c0;
  color: #a32d2d;
}

/* ================================================================
   "Bedrijf toevoegen" front-end form
   ================================================================ */
.gt-add-company {
  max-width: 640px;
  margin: 0 auto;
  font-family: var(--tp-font);
}
.gt-add-company .gt-field {
  display: block;
  margin: 0 0 16px;
}
.gt-add-company .gt-field label {
  display: block;
  font-weight: 600;
  font-size: 14px;
  color: var(--tp-ink);
  margin-bottom: 6px;
}
.gt-add-company input[type="text"],
.gt-add-company input[type="url"],
.gt-add-company input[type="email"],
.gt-add-company textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--tp-border);
  border-radius: 8px;
  padding: 11px 12px;
  font-size: 15px;
  font-family: inherit;
  background: #fff;
  color: var(--tp-ink);
}
.gt-add-company input:focus,
.gt-add-company textarea:focus {
  outline: 0;
  border-color: var(--tp-green);
  box-shadow: 0 0 0 2px rgba(0, 182, 122, 0.15);
}
.gt-add-company .gt-cta {
  border: 0;
  cursor: pointer;
}
.gt-add-company .gt-hp {
  position: absolute !important;
  left: -9999px !important;
  height: 1px;
  overflow: hidden;
}
.gt-form-notice {
  border-radius: 8px;
  padding: 12px 16px;
  margin: 0 0 18px;
  font-size: 15px;
}
.gt-form-notice.gt-ok {
  background: #e6f7f0;
  border: 1px solid #9fe1cb;
  color: #0f6e56;
}
.gt-form-notice.gt-err {
  background: #fdecec;
  border: 1px solid #f4c0c0;
  color: #a32d2d;
}

/* ================================================================
   GoTrusted homepage
   ================================================================ */
.gt-home-main {
  background: #ffffff;
  font-family: var(--tp-font);
  color: var(--tp-ink);
}

/* hero */
.gt-home-hero {
  background: linear-gradient(180deg, #eafaf4 0%, #ffffff 100%);
  border-bottom: 1px solid var(--tp-border);
  padding: 64px 20px 56px;
  text-align: center;
}
.gt-home-hero-inner {
  max-width: 720px;
  margin: 0 auto;
}
.gt-home-hero h1 {
  font-size: clamp(28px, 5vw, 44px);
  font-weight: 800;
  line-height: 1.12;
  color: var(--tp-ink);
  margin: 0 0 12px;
}
.gt-home-sub {
  font-size: 18px;
  color: var(--tp-muted);
  margin: 0 0 26px;
}
.gt-home-search {
  display: flex;
  max-width: 560px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid #cfd2da;
  border-radius: 100px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(25, 25, 25, 0.06);
}
.gt-home-search input[type="search"] {
  flex: 1;
  border: 0;
  outline: 0;
  padding: 15px 22px;
  font-size: 16px;
  font-family: inherit;
  background: transparent;
  color: var(--tp-ink);
}
.gt-home-search button {
  border: 0;
  background: var(--tp-green);
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  padding: 0 26px;
  cursor: pointer;
}
.gt-home-search button:hover {
  background: var(--tp-green-dark);
}

/* USPs */
.gt-usps {
  padding: 36px 20px;
}
.gt-usps-inner {
  max-width: 1080px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.gt-usp {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.gt-usp-icon {
  flex: 0 0 auto;
  margin-top: 2px;
}
.gt-usp h3 {
  font-size: 15px;
  font-weight: 700;
  color: var(--tp-ink);
  margin: 0 0 4px;
}
.gt-usp p {
  font-size: 14px;
  line-height: 1.5;
  color: var(--tp-muted);
  margin: 0;
}

/* sections */
.gt-home-section {
  padding: 44px 20px;
}
.gt-home-section--alt {
  background: var(--tp-bg);
  border-top: 1px solid var(--tp-border);
  border-bottom: 1px solid var(--tp-border);
}
.gt-home-section-inner {
  max-width: 1080px;
  margin: 0 auto;
}
.gt-home-section-inner > h2 {
  font-size: 24px;
  font-weight: 800;
  color: var(--tp-ink);
  margin: 0 0 22px;
}

/* company grid */
.gt-company-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

/* recent reviews */
.gt-reviews-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.gt-rcard {
  background: #fff;
  border: 1px solid var(--tp-border);
  border-radius: 10px;
  padding: 16px 18px;
}
.gt-rcard-title {
  font-weight: 700;
  color: var(--tp-ink);
  margin: 8px 0 4px;
}
.gt-rcard-body {
  font-size: 14px;
  line-height: 1.5;
  color: #2b2b31;
  margin: 4px 0 10px;
}
.gt-rcard-meta {
  font-size: 13px;
  color: var(--tp-muted);
}
.gt-rcard-meta a {
  color: var(--tp-green-dark);
  text-decoration: none;
}
.gt-home-content {
  font-size: 16px;
  line-height: 1.7;
}

@media (max-width: 900px) {
  .gt-usps-inner { grid-template-columns: repeat(2, 1fr); }
  .gt-company-grid,
  .gt-reviews-strip { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .gt-usps-inner,
  .gt-company-grid,
  .gt-reviews-strip { grid-template-columns: 1fr; }
  .gt-home-hero { padding: 44px 18px 40px; }
}

/* ================================================================
   Search results (company pages only)
   ================================================================ */
.gt-search-main {
  background: #fff;
  font-family: var(--tp-font);
  color: var(--tp-ink);
}
.gt-search-head {
  background: linear-gradient(180deg, #eafaf4 0%, #ffffff 100%);
  border-bottom: 1px solid var(--tp-border);
  padding: 40px 20px 34px;
}
.gt-search-head-inner {
  max-width: 1080px;
  margin: 0 auto;
}
.gt-search-head h1 {
  font-size: clamp(22px, 3.5vw, 30px);
  font-weight: 800;
  color: var(--tp-ink);
  margin: 0 0 18px;
}
.gt-search-head .gt-home-search {
  margin: 0;
  max-width: 560px;
}
.gt-search-empty {
  font-size: 17px;
  color: var(--tp-muted);
}
.gt-search-pagination {
  margin-top: 26px;
}
.gt-search-pagination .page-numbers {
  display: inline-block;
  padding: 8px 13px;
  margin: 0 4px 6px 0;
  border: 1px solid var(--tp-border);
  border-radius: 8px;
  text-decoration: none;
  color: var(--tp-ink);
  font-weight: 600;
}
.gt-search-pagination .page-numbers.current {
  background: var(--tp-green);
  border-color: var(--tp-green);
  color: #fff;
}
.gt-search-pagination .page-numbers:hover:not(.current) {
  border-color: var(--tp-green);
  color: var(--tp-green-dark);
}

/* ---- homepage as editable blocks (custom template) ---- */
.gt-home-main { }
.gt-home-page .gt-home-main > *:first-child { margin-top: 0; }
/* style the block-based hero (Heading + Paragraph + search shortcode) */
.gt-home-page .wp-block-group.has-background h1.wp-block-heading {
  font-size: clamp(28px, 5vw, 44px);
  font-weight: 800;
  line-height: 1.12;
  color: var(--tp-ink);
  margin: 0 0 10px;
}
.gt-home-page .wp-block-group.has-background p.has-text-align-center {
  font-size: 18px;
  color: var(--tp-muted);
  margin: 0 0 22px;
}
.gt-home-page .wp-block-group.has-background .gt-home-search {
  margin-left: auto;
  margin-right: auto;
}

/* footer without the brand block -> columns fill the whole row */
.gt-footer-inner--nobrand .gt-footer-cols {
  flex: 1 1 auto;
}

/* ================================================================
   Company directory ([gotrusted_bedrijven])
   ================================================================ */
.gt-directory {
  padding: 44px 20px;
  font-family: var(--tp-font);
}
.gt-directory-inner {
  max-width: 1080px;
  margin: 0 auto;
}
.gt-directory-title {
  font-size: 24px;
  font-weight: 800;
  color: var(--tp-ink);
  margin: 0 0 18px;
}
.gt-dir-searchbar {
  margin: 0 0 28px;
}
.gt-dir-search {
  width: 100%;
  max-width: 560px;
  box-sizing: border-box;
  border: 1px solid #cfd2da;
  border-radius: 100px;
  padding: 13px 20px;
  font-size: 16px;
  font-family: var(--tp-font);
  color: var(--tp-ink);
  background: #fff;
}
.gt-dir-search:focus {
  outline: 0;
  border-color: var(--tp-green);
  box-shadow: 0 0 0 2px rgba(0, 182, 122, 0.15);
}
.gt-dir-group {
  margin: 0 0 30px;
}
.gt-dir-letter {
  font-size: 20px;
  font-weight: 800;
  color: var(--tp-green-dark);
  margin: 0 0 14px;
  padding-bottom: 6px;
  border-bottom: 2px solid var(--tp-border);
}
.gt-dir-noresults,
.gt-dir-empty {
  color: var(--tp-muted);
  font-size: 15px;
}

/* subscription checkout button (front-end) */
.gt-sub-cta {
  cursor: pointer;
}

/* subscription checkout buttons */
.gt-sub-buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}
.gt-sub-cta {
  cursor: pointer;
}
.gt-sub-cta--alt {
  background: transparent !important;
  color: var(--tp-green-dark) !important;
  border: 1px solid var(--tp-green) !important;
}
.gt-sub-cta--alt:hover {
  background: rgba(0, 182, 122, 0.08) !important;
}

/* ================================================================
   Subscription pricing cards ([gotrusted_abonnement_knop])
   ================================================================ */
.gt-plans {
  max-width: 760px;
  margin: 0 auto;
  font-family: var(--tp-font);
}
.gt-plans-intro {
  text-align: center;
  font-size: 24px;
  font-weight: 800;
  color: var(--tp-ink);
  margin: 0 0 22px;
}
.gt-plans-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.gt-plan {
  background: #fff;
  border: 1px solid var(--tp-border);
  border-radius: 14px;
  padding: 26px 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
}
.gt-plan--annual {
  border-color: var(--tp-green);
  box-shadow: 0 8px 24px rgba(0, 182, 122, 0.1);
}
.gt-plan-title {
  font-size: 18px;
  font-weight: 800;
  color: var(--tp-ink);
  margin: 0 0 8px;
}
.gt-plan-price {
  font-size: 32px;
  font-weight: 800;
  color: var(--tp-ink);
  margin: 0 0 8px;
  line-height: 1.1;
}
.gt-plan-price span {
  font-size: 15px;
  font-weight: 600;
  color: var(--tp-muted);
}
.gt-plan-badge {
  align-self: center;
  background: #e6f7f0;
  color: #0f6e56;
  font-weight: 700;
  font-size: 13px;
  border-radius: 100px;
  padding: 5px 12px;
  margin: 0 0 12px;
}
.gt-plan-desc {
  color: var(--tp-muted);
  font-size: 14px;
  line-height: 1.5;
  margin: 0 0 18px;
}
.gt-plan .gt-cta {
  margin-top: auto;
}
@media (max-width: 600px) {
  .gt-plans-grid {
    grid-template-columns: 1fr;
  }
}

/* add-company form: small helper text under fields */
.gt-add-company .gt-help {
  display: block;
  margin-top: 4px;
  color: var(--tp-muted);
  font-size: 13px;
}

/* ================================================================
   Reviewer self-service page ([gotrusted_mijn_review])
   ================================================================ */
.gt-myreview {
  max-width: 640px;
  margin: 0 auto;
}
.gt-myreview-meta {
  color: var(--tp-muted);
  font-size: 14px;
  margin: 0 0 16px;
}
.gt-myreview-delete {
  margin-top: 18px;
  border-top: 1px solid var(--tp-border);
  padding-top: 16px;
}
.gt-btn-danger {
  background: #fff;
  color: #a32d2d;
  border: 1px solid #e0b4b4;
  border-radius: 100px;
  padding: 10px 18px;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
}
.gt-btn-danger:hover {
  background: #fdecec;
}

/* keurmerk box for a not-yet-verified (unclaimed) company: yellow header */
.gt-keurmerk--unclaimed .gt-keurmerk-head {
  background: #f5b301;
  color: #3d2e00;
}
.gt-keurmerk--unclaimed .gt-keurmerk-head svg path {
  stroke: #3d2e00;
}

/* claim box inside the (unverified) keurmerk aside */
.gt-claim {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--tp-border);
}
.gt-claim-label {
  display: block;
  font-weight: 700;
  font-size: 14px;
  color: var(--tp-ink);
  margin-bottom: 8px;
}
.gt-claim-row {
  display: flex;
  gap: 8px;
}
.gt-claim-row input[type="email"] {
  flex: 1;
  min-width: 0;
  border: 1px solid #cfd2da;
  border-radius: 8px;
  padding: 9px 12px;
  font-size: 14px;
  font-family: var(--tp-font);
}
.gt-claim-row input[type="email"]:focus {
  outline: 0;
  border-color: var(--tp-green);
  box-shadow: 0 0 0 2px rgba(0, 182, 122, 0.15);
}
.gt-claim-row button {
  flex: 0 0 auto;
  border: 0;
  background: var(--tp-green);
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  border-radius: 8px;
  padding: 9px 16px;
  cursor: pointer;
}
.gt-claim-row button:hover {
  background: var(--tp-green-dark);
}
.gt-claim--done p {
  margin: 0;
  font-size: 14px;
  color: var(--tp-ink);
}
.gt-claim--done a {
  color: var(--tp-green-dark);
  font-weight: 700;
  text-decoration: none;
}
.gt-claim-notice {
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 14px;
  margin-bottom: 12px;
}
.gt-claim-notice.gt-ok {
  background: #e6f7f0;
  color: #0f6e56;
}
.gt-claim-notice.gt-err {
  background: #fdecec;
  color: #a32d2d;
}

/* ================================================================
   Blog/post content images: responsive + nicely centered
   (targets standard post/page content, not custom GoTrusted blocks)
   ================================================================ */
.wp-block-post-content img,
.entry-content img {
  max-width: 100%;
  height: auto;
}
.wp-block-post-content figure,
.wp-block-post-content .wp-block-image,
.entry-content figure,
.entry-content .wp-block-image {
  margin-top: 1.6rem;
  margin-bottom: 1.6rem;
  text-align: center;
}
.wp-block-post-content figure img,
.wp-block-post-content .wp-block-image img,
.wp-block-post-content p > img,
.entry-content figure img,
.entry-content .wp-block-image img,
.entry-content p > img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  border-radius: 10px;
}
.wp-block-post-content figure figcaption,
.entry-content figure figcaption {
  text-align: center;
  font-size: 13px;
  color: var(--tp-muted, #6b6b76);
  margin-top: 8px;
}
/* keep explicitly aligned images doing their own thing */
.wp-block-post-content .alignleft,
.entry-content .alignleft { margin-left: 0; }
.wp-block-post-content .alignright,
.entry-content .alignright { margin-right: 0; }

/* ================================================================
   Contact page ([gotrusted_contact])
   ================================================================ */
.gt-contact {
  max-width: 640px;
  margin: 0 auto;
  padding: 8px 0 24px;
  font-family: var(--tp-font);
}
.gt-contact-title {
  font-size: 26px;
  font-weight: 800;
  color: var(--tp-ink);
  margin: 0 0 8px;
}
.gt-contact-intro {
  color: var(--tp-muted);
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 22px;
}

/* ================================================================
   Company page SEO blocks: breadcrumbs, facts, distribution, FAQ, similar
   ================================================================ */
.gt-breadcrumbs {
  max-width: 1120px;
  margin: 0 auto;
  padding: 14px 20px 0;
  font-size: 13px;
  color: var(--tp-muted);
}
.gt-breadcrumbs a {
  color: var(--tp-muted);
  text-decoration: none;
}
.gt-breadcrumbs a:hover { color: var(--tp-green-dark); }
.gt-bc-sep { margin: 0 6px; color: #c9c9d1; }
.gt-bc-current { color: var(--tp-ink); font-weight: 600; }

.gt-facts {
  background: #eafaf4;
  border: 1px solid #cdeee1;
  border-radius: 10px;
  padding: 12px 16px;
  font-size: 16px;
  font-weight: 600;
  color: var(--tp-ink);
  margin: 0 0 22px;
}

/* rating distribution */
.gt-dist { margin: 0 0 26px; }
.gt-dist-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--tp-ink);
  margin: 0 0 10px;
}
.gt-dist-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}
.gt-dist-star {
  flex: 0 0 34px;
  font-size: 13px;
  font-weight: 600;
  color: var(--tp-muted);
}
.gt-dist-bar {
  flex: 1;
  height: 10px;
  background: #ececef;
  border-radius: 6px;
  overflow: hidden;
}
.gt-dist-fill {
  display: block;
  height: 100%;
  background: var(--tp-green);
  border-radius: 6px;
}
.gt-dist-pct {
  flex: 0 0 42px;
  text-align: right;
  font-size: 13px;
  color: var(--tp-muted);
}

/* FAQ */
.gt-faq { margin: 30px 0 0; }
.gt-faq-title {
  font-size: 20px;
  font-weight: 800;
  color: var(--tp-ink);
  margin: 0 0 12px;
}
.gt-faq-item {
  border: 1px solid var(--tp-border);
  border-radius: 10px;
  padding: 4px 16px;
  margin-bottom: 10px;
  background: #fff;
}
.gt-faq-q {
  cursor: pointer;
  font-weight: 700;
  color: var(--tp-ink);
  padding: 12px 0;
  list-style: none;
}
.gt-faq-q::-webkit-details-marker { display: none; }
.gt-faq-q::after {
  content: "+";
  float: right;
  color: var(--tp-green);
  font-weight: 800;
}
.gt-faq-item[open] .gt-faq-q::after { content: "–"; }
.gt-faq-a {
  padding: 0 0 14px;
  color: var(--tp-muted);
  line-height: 1.6;
}

/* similar companies */
.gt-similar { margin-top: 22px; }
.gt-similar-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--tp-ink);
  margin: 0 0 10px;
}
.gt-similar-list { list-style: none; margin: 0; padding: 0; }
.gt-similar-list li { margin: 0 0 6px; }
.gt-similar-list a {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: baseline;
  text-decoration: none;
  padding: 9px 12px;
  border: 1px solid var(--tp-border);
  border-radius: 8px;
  background: #fff;
}
.gt-similar-list a:hover { border-color: var(--tp-green); }
.gt-similar-name { font-weight: 600; color: var(--tp-ink); }
.gt-similar-score { font-size: 13px; color: var(--tp-muted); white-space: nowrap; }

/* ----------------------------------------------------------------
   Normalize the new company-page blocks to the standard body size
   (they were inheriting a larger base font from the theme)
   ---------------------------------------------------------------- */
.gt-facts { font-size: 16px; }
.gt-faq-title { font-size: 20px; }
.gt-faq-q { font-size: 16px; }
.gt-faq-a { font-size: 16px; }
.gt-dist-title { font-size: 15px; }
.gt-dist-star,
.gt-dist-pct { font-size: 13px; }
.gt-similar-title { font-size: 15px; }
.gt-similar-name { font-size: 16px; }
.gt-similar-score { font-size: 13px; }
.gt-breadcrumbs,
.gt-breadcrumbs a { font-size: 13px; }

/* ---------------------------------------------------------------
   Reviewlijst op bedrijfspagina's (door het thema gerenderd)
   --------------------------------------------------------------- */
.gt-reviews-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 18px 0 26px;
}
.gt-review {
  background: #fff;
  border: 1px solid #e6e8ec;
  border-radius: 12px;
  padding: 18px 20px;
}
.gt-review-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
}
.gt-review-stars {
  color: var(--tp-green, #00b67a);
  font-size: 18px;
  letter-spacing: 2px;
}
.gt-review-date {
  color: #6b7280;
  font-size: 13px;
}
.gt-review-author {
  font-weight: 700;
  color: var(--tp-ink, #191919);
  font-size: 15px;
}
.gt-review-title {
  margin: 8px 0 4px;
  font-size: 17px;
  line-height: 1.3;
}
.gt-review-body p {
  margin: 4px 0;
  font-size: 15px;
  color: #2b2b31;
}
.gt-review-reply {
  margin-top: 14px;
  padding: 12px 14px;
  background: #f6f8fa;
  border-left: 3px solid var(--tp-green, #00b67a);
  border-radius: 8px;
  font-size: 14px;
}
.gt-review-reply p {
  margin: 4px 0 0;
}
.gt-reviews-empty {
  color: #6b7280;
  font-style: italic;
  margin: 14px 0 22px;
}

/* ---------------------------------------------------------------
   "Schrijf een review"-knop in de bedrijfsheader
   --------------------------------------------------------------- */
.gt-hero-inner {
  align-items: center;
}
.gt-hero-action {
  margin-left: auto;
  padding-left: 20px;
  flex: 0 0 auto;
}
.gt-hero-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--tp-green, #00b67a);
  color: #fff !important;
  border-radius: 100px;
  padding: 12px 22px;
  font-weight: 700;
  font-size: 15px;
  line-height: 1;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background 0.15s ease;
}
.gt-hero-btn:hover,
.gt-hero-btn:focus {
  background: var(--tp-green-dark, #019a68);
  color: #fff !important;
}
.gt-write-review-cta {
  margin: 6px 0 26px;
}
@media (max-width: 760px) {
  .gt-hero-action {
    margin-left: 0;
    padding-left: 0;
    width: 100%;
    margin-top: 14px;
  }
  .gt-hero-btn {
    width: 100%;
    justify-content: center;
  }
}

/* ---------------------------------------------------------------
   Volle-breedte sjabloonpagina's: geen loze ruimte onder de header
   (bedrijf toevoegen, review schrijven, voor bedrijven, homepage)
   --------------------------------------------------------------- */
.gt-addpage-page .wp-block-post-content,
.gt-addpage-page .entry-content,
.gt-revpage-page .wp-block-post-content,
.gt-revpage-page .entry-content,
.gt-uitleg-page .wp-block-post-content,
.gt-uitleg-page .entry-content,
.gt-home6-page .wp-block-post-content,
.gt-home6-page .entry-content,
.gt-loket-page .wp-block-post-content,
.gt-loket-page .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.gt-addpage-page .wp-site-blocks > main,
.gt-revpage-page .wp-site-blocks > main,
.gt-uitleg-page .wp-site-blocks > main,
.gt-home6-page .wp-site-blocks > main,
.gt-loket-page .wp-site-blocks > main {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.gt-addpage-page .wp-block-post-content > *:first-child,
.gt-revpage-page .wp-block-post-content > *:first-child,
.gt-uitleg-page .wp-block-post-content > *:first-child,
.gt-home6-page .wp-block-post-content > *:first-child {
  margin-top: 0 !important;
}
.gt-addpage,
.gt-revpage,
.gt-uitleg,
.gt-home6 {
  margin-top: 0 !important;
}

/* ---------------------------------------------------------------
   Blog: overzicht met samenvattingen + zijbalk
   --------------------------------------------------------------- */
.gt-blog {
  max-width: 1200px;
  margin: 0 auto;
  padding: 38px 24px 70px;
}
.gt-blog-head {
  margin-bottom: 30px;
}
.gt-blog-head h1 {
  margin: 0 0 6px;
  font-size: 34px;
  line-height: 1.2;
  color: var(--tp-ink, #191919);
}
.gt-blog-sub {
  color: #6b7280;
  font-size: 16px;
}
.gt-blog-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 38px;
  align-items: start;
}
.gt-post-list {
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.gt-post-card {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 20px;
  background: #fff;
  border: 1px solid #e6e8ec;
  border-radius: 14px;
  overflow: hidden;
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.gt-post-card:hover {
  box-shadow: 0 10px 26px rgba(13, 27, 61, 0.08);
  transform: translateY(-1px);
}
.gt-post-card:not(:has(.gt-post-thumb)) {
  grid-template-columns: 1fr;
}
.gt-post-thumb {
  display: block;
  height: 100%;
  min-height: 180px;
}
.gt-post-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.gt-post-body {
  padding: 20px 22px 22px;
}
.gt-post-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  font-size: 13px;
  color: #6b7280;
  margin-bottom: 8px;
}
.gt-post-meta a {
  color: var(--tp-green, #00b67a);
  text-decoration: none;
}
.gt-post-title {
  margin: 0 0 8px;
  font-size: 22px;
  line-height: 1.3;
}
.gt-post-title a {
  color: var(--tp-ink, #191919);
  text-decoration: none;
}
.gt-post-title a:hover {
  color: var(--tp-green, #00b67a);
}
.gt-post-excerpt {
  margin: 0 0 12px;
  color: #4b5563;
  font-size: 15px;
  line-height: 1.6;
}
.gt-post-more {
  font-weight: 700;
  color: var(--tp-green, #00b67a);
  text-decoration: none;
  font-size: 15px;
}
.gt-post-more:hover {
  text-decoration: underline;
}
.gt-pagination {
  margin-top: 30px;
  display: flex;
  justify-content: center;
}
.gt-pagination .page-numbers {
  display: inline-block;
  padding: 8px 14px;
  margin: 0 3px;
  border: 1px solid #e6e8ec;
  border-radius: 8px;
  color: var(--tp-ink, #191919);
  text-decoration: none;
  font-size: 14px;
}
.gt-pagination .page-numbers.current,
.gt-pagination .page-numbers:hover {
  background: var(--tp-green, #00b67a);
  border-color: var(--tp-green, #00b67a);
  color: #fff;
}
.gt-blog-empty {
  color: #6b7280;
  font-style: italic;
}

/* zijbalk */
.gt-blog-sidebar {
  position: sticky;
  top: 24px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.gt-blog-sidebar .gt-widget {
  background: #fff;
  border: 1px solid #e6e8ec;
  border-radius: 14px;
  padding: 18px 20px;
}
.gt-blog-sidebar .gt-widget-title {
  margin: 0 0 12px;
  font-size: 16px;
  color: var(--tp-ink, #191919);
}
.gt-blog-sidebar .gt-widget ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.gt-recent-posts li,
.gt-cat-list li {
  padding: 8px 0;
  border-bottom: 1px solid #f0f2f4;
  font-size: 14px;
}
.gt-recent-posts li:last-child,
.gt-cat-list li:last-child {
  border-bottom: 0;
}
.gt-recent-posts a,
.gt-cat-list a {
  color: var(--tp-ink, #191919);
  text-decoration: none;
  font-weight: 600;
}
.gt-recent-posts a:hover,
.gt-cat-list a:hover {
  color: var(--tp-green, #00b67a);
}
.gt-recent-date {
  display: block;
  color: #9aa1ab;
  font-size: 12px;
  margin-top: 2px;
}
.gt-cat-list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.gt-cat-count {
  background: #f1f3f5;
  color: #6b7280;
  border-radius: 20px;
  padding: 2px 9px;
  font-size: 12px;
}
.gt-blog-search {
  display: flex;
  gap: 8px;
}
.gt-blog-search input {
  flex: 1;
  min-width: 0;
  padding: 9px 12px;
  border: 1px solid #dfe3e8;
  border-radius: 8px;
  font-size: 14px;
}
.gt-blog-search button {
  background: var(--tp-green, #00b67a);
  color: #fff;
  border: 0;
  border-radius: 8px;
  padding: 9px 14px;
  font-weight: 700;
  cursor: pointer;
}
.gt-blog-sidebar .gt-widget-cta {
  background: linear-gradient(135deg, #f2fbf7, #fff);
  border-color: #d7eee5;
}
.gt-blog-sidebar .gt-widget-cta p {
  margin: 0 0 12px;
  font-size: 14px;
  color: #4b5563;
}
.gt-blog-sidebar .gt-widget-btn {
  display: inline-block;
  background: var(--tp-green, #00b67a);
  color: #fff !important;
  border-radius: 100px;
  padding: 10px 18px;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none !important;
}
@media (max-width: 980px) {
  .gt-blog-layout {
    grid-template-columns: 1fr;
  }
  .gt-blog-sidebar {
    position: static;
  }
  .gt-post-card {
    grid-template-columns: 1fr;
  }
  .gt-post-thumb {
    max-height: 220px;
  }
}

/* ---------------------------------------------------------------
   Blog: losse berichtpagina (artikel + zijbalk)
   --------------------------------------------------------------- */
.gt-crumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  font-size: 13px;
  color: #9aa1ab;
  margin-bottom: 20px;
}
.gt-crumbs a {
  color: var(--tp-green, #00b67a);
  text-decoration: none;
  font-weight: 600;
}
.gt-crumbs a:hover {
  text-decoration: underline;
}
.gt-crumb-current {
  color: #6b7280;
}
.gt-article {
  background: #fff;
  border: 1px solid #e6e8ec;
  border-radius: 14px;
  padding: 30px 34px 34px;
}
.gt-article-head {
  margin-bottom: 20px;
}
.gt-article-title {
  margin: 8px 0 0;
  font-size: 34px;
  line-height: 1.22;
  color: var(--tp-ink, #191919);
}
.gt-read-time::before {
  content: "·";
  margin-right: 10px;
  color: #cbd2d9;
}
.gt-article-thumb {
  margin: 0 0 24px;
  border-radius: 12px;
  overflow: hidden;
}
.gt-article-thumb img {
  width: 100%;
  height: auto;
  display: block;
}
.gt-article-body {
  font-size: 17px;
  line-height: 1.7;
  color: #2b2b31;
}
.gt-article-body > * {
  max-width: 100%;
}
.gt-article-body h2 {
  font-size: 25px;
  line-height: 1.3;
  margin: 32px 0 12px;
  color: var(--tp-ink, #191919);
}
.gt-article-body h3 {
  font-size: 20px;
  margin: 26px 0 10px;
  color: var(--tp-ink, #191919);
}
.gt-article-body p {
  margin: 0 0 18px;
}
.gt-article-body ul,
.gt-article-body ol {
  margin: 0 0 18px 22px;
}
.gt-article-body li {
  margin-bottom: 8px;
}
.gt-article-body img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}
.gt-article-body a {
  color: var(--tp-green, #00b67a);
}
.gt-article-body blockquote {
  margin: 22px 0;
  padding: 14px 18px;
  border-left: 3px solid var(--tp-green, #00b67a);
  background: #f6f8fa;
  border-radius: 8px;
}
.gt-article-tags {
  margin-top: 26px;
  padding-top: 18px;
  border-top: 1px solid #f0f2f4;
  font-size: 14px;
}
.gt-article-tags a {
  display: inline-block;
  background: #f1f3f5;
  color: #4b5563;
  border-radius: 20px;
  padding: 5px 12px;
  margin: 0 6px 6px 0;
  text-decoration: none;
}
.gt-article-tags a:hover {
  background: var(--tp-green, #00b67a);
  color: #fff;
}
.gt-post-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 22px;
}
.gt-post-nav-item {
  background: #fff;
  border: 1px solid #e6e8ec;
  border-radius: 12px;
  padding: 14px 16px;
  text-decoration: none;
  display: block;
}
.gt-post-nav-item:hover {
  border-color: var(--tp-green, #00b67a);
}
.gt-post-nav-item span {
  display: block;
  font-size: 12px;
  color: #9aa1ab;
  margin-bottom: 4px;
}
.gt-post-nav-item strong {
  color: var(--tp-ink, #191919);
  font-size: 15px;
  line-height: 1.35;
  display: block;
}
.gt-post-nav-next {
  text-align: right;
}
@media (max-width: 980px) {
  .gt-article {
    padding: 22px 20px 26px;
  }
  .gt-article-title {
    font-size: 27px;
  }
  .gt-post-nav {
    grid-template-columns: 1fr;
  }
  .gt-post-nav-next {
    text-align: left;
  }
}

/* ---------------------------------------------------------------
   Blog: gebrande hero + CTA (in GO we trust)
   --------------------------------------------------------------- */
.gt-blog-hero {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: linear-gradient(135deg, #0d2340 0%, #123a5c 55%, #0f5c46 100%);
  color: #fff;
  padding: 54px 24px 58px;
  position: relative;
  overflow: hidden;
}
.gt-blog-hero::after {
  content: "";
  position: absolute;
  right: -120px;
  top: -120px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(22, 200, 121, 0.22), transparent 65%);
}
.gt-blog-hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 30px;
  align-items: center;
  position: relative;
  z-index: 1;
}
.gt-blog-hero .gt-eyebrow {
  display: inline-block;
  background: rgba(22, 200, 121, 0.18);
  color: #7ef0bd;
  border-radius: 100px;
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}
.gt-blog-hero .gt-slogan {
  margin: 14px 0 6px;
  font-size: 15px;
  color: #c5d2e9;
  letter-spacing: 0.5px;
}
.gt-blog-hero .gt-slogan b {
  color: #16c879;
}
.gt-blog-hero h1 {
  margin: 0 0 10px;
  font-size: 40px;
  line-height: 1.15;
  color: #fff;
}
.gt-blog-hero .gt-blog-lead,
.gt-blog-hero .gt-blog-sub {
  color: #c5d2e9;
  font-size: 16px;
  line-height: 1.6;
  max-width: 620px;
  margin: 0;
}
.gt-blog-hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 22px;
}
.gt-blog-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #16c879;
  color: #052e20 !important;
  border-radius: 100px;
  padding: 12px 22px;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none !important;
  border: 2px solid #16c879;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.gt-blog-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(22, 200, 121, 0.3);
}
.gt-blog-btn.ghost {
  background: transparent;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.35);
}
.gt-blog-btn.ghost:hover {
  border-color: #fff;
  box-shadow: none;
}
.gt-blog-hero-visual img {
  width: 100%;
  max-width: 260px;
  height: auto;
  display: block;
  margin: 0 auto;
  filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.28));
}

/* CTA onderaan het overzicht */
.gt-blog-cta {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 0 24px 60px;
}
.gt-blog-cta-box {
  max-width: 1200px;
  margin: 0 auto;
  background: linear-gradient(135deg, #0d2340, #0f5c46);
  border-radius: 22px;
  padding: 32px 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.gt-blog-cta-box h2 {
  margin: 0 0 6px;
  color: #fff;
  font-size: 26px;
}
.gt-blog-cta-box p {
  margin: 0;
  color: #c5d2e9;
  font-size: 15px;
  max-width: 640px;
}

/* kaarten iets rijker */
.gt-post-card {
  border-radius: 16px;
}
.gt-post-card:hover .gt-post-title a {
  color: var(--tp-green, #00b67a);
}
.gt-post-meta time {
  font-weight: 600;
}
.gt-post-cats a {
  background: #e8f8f0;
  color: #0f9d63 !important;
  border-radius: 100px;
  padding: 3px 10px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

@media (max-width: 900px) {
  .gt-blog-hero-inner {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .gt-blog-hero h1 {
    font-size: 30px;
  }
  .gt-blog-hero-actions {
    justify-content: center;
  }
  .gt-blog-hero-visual img {
    max-width: 190px;
  }
  .gt-blog-cta-box {
    padding: 26px 22px;
  }
}

/* ---------------------------------------------------------------
   Blog: uitgelicht bericht + hero op het artikel
   --------------------------------------------------------------- */
.gt-post-featured {
  background: #fff;
  border: 1px solid #e6e8ec;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(13, 27, 61, 0.07);
  margin-bottom: 8px;
}
.gt-featured-thumb {
  display: block;
  max-height: 340px;
  overflow: hidden;
}
.gt-featured-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.gt-featured-body {
  padding: 24px 28px 28px;
}
.gt-featured-flag {
  display: inline-block;
  background: #0d2340;
  color: #7ef0bd;
  border-radius: 100px;
  padding: 5px 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.gt-featured-title {
  margin: 6px 0 10px;
  font-size: 30px;
  line-height: 1.22;
}
.gt-featured-title a {
  color: var(--tp-ink, #191919);
  text-decoration: none;
}
.gt-featured-title a:hover {
  color: var(--tp-green, #00b67a);
}
.gt-featured-excerpt {
  margin: 0 0 18px;
  color: #4b5563;
  font-size: 16px;
  line-height: 1.65;
}

/* hero op de losse berichtpagina */
.gt-single-hero {
  padding: 46px 24px 48px;
}
.gt-single-hero-inner {
  grid-template-columns: 1fr;
}
.gt-single-hero .gt-blog-hero-copy {
  max-width: 900px;
}
.gt-single-hero h1 {
  font-size: 38px;
}
.gt-single-hero-meta {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: 14px;
  color: #c5d2e9;
  font-size: 14px;
}
.gt-single-post .gt-article-head {
  margin-bottom: 12px;
}
.gt-single-post .gt-crumbs {
  margin-top: 22px;
}

@media (max-width: 900px) {
  .gt-featured-title {
    font-size: 24px;
  }
  .gt-featured-body {
    padding: 20px;
  }
  .gt-single-hero h1 {
    font-size: 27px;
  }
  .gt-single-hero-inner {
    text-align: left;
  }
}

/* ---------------------------------------------------------------
   Bedrijven overzicht: hero, A–Z-navigatie en CTA
   --------------------------------------------------------------- */
.gt-dir-hero {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: linear-gradient(135deg, #0d2340 0%, #123a5c 55%, #0f5c46 100%);
  color: #fff;
  padding: 54px 24px 58px;
  position: relative;
  overflow: hidden;
}
.gt-dir-hero::after {
  content: "";
  position: absolute;
  right: -120px;
  top: -140px;
  width: 440px;
  height: 440px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(22, 200, 121, 0.22), transparent 65%);
}
.gt-dir-hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 30px;
  align-items: center;
  position: relative;
  z-index: 1;
}
.gt-dir-hero .gt-eyebrow {
  display: inline-block;
  background: rgba(22, 200, 121, 0.18);
  color: #7ef0bd;
  border-radius: 100px;
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}
.gt-dir-hero .gt-slogan {
  margin: 14px 0 6px;
  font-size: 15px;
  color: #c5d2e9;
  letter-spacing: 0.5px;
}
.gt-dir-hero .gt-slogan b {
  color: #16c879;
}
.gt-dir-hero h1 {
  margin: 0 0 10px;
  font-size: 40px;
  line-height: 1.15;
  color: #fff;
}
.gt-dir-lead {
  color: #c5d2e9;
  font-size: 16px;
  line-height: 1.6;
  max-width: 640px;
  margin: 0;
}
.gt-dir-hero-visual img {
  width: 100%;
  max-width: 240px;
  height: auto;
  display: block;
  margin: 0 auto;
  filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.28));
}

/* A–Z springnavigatie */
.gt-dir-alpha {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
  margin: 18px 0 30px;
}
.gt-dir-alpha a,
.gt-dir-alpha span {
  display: inline-grid;
  place-items: center;
  min-width: 34px;
  height: 34px;
  padding: 0 6px;
  border-radius: 9px;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
}
.gt-dir-alpha a {
  background: #fff;
  border: 1px solid #dfe3e8;
  color: #0d2340;
}
.gt-dir-alpha a:hover {
  background: #16c879;
  border-color: #16c879;
  color: #fff;
}
.gt-dir-alpha span {
  color: #c8cdd4;
  border: 1px solid transparent;
}
.gt-dir-group {
  scroll-margin-top: 90px;
}
.gt-dir-letter {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: #0d2340;
  color: #7ef0bd;
  font-size: 16px;
}

/* CTA onderaan */
.gt-dir-cta {
  margin-top: 46px;
  background: linear-gradient(135deg, #0d2340, #0f5c46);
  border-radius: 22px;
  padding: 30px 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  flex-wrap: wrap;
}
.gt-dir-cta h2 {
  margin: 0 0 6px;
  color: #fff;
  font-size: 25px;
}
.gt-dir-cta p {
  margin: 0;
  color: #c5d2e9;
  font-size: 15px;
  max-width: 620px;
}
.gt-dir-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #16c879;
  color: #052e20 !important;
  border-radius: 100px;
  padding: 12px 22px;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none !important;
  white-space: nowrap;
}
.gt-dir-btn:hover {
  box-shadow: 0 8px 20px rgba(22, 200, 121, 0.3);
}

@media (max-width: 900px) {
  .gt-dir-hero-inner {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .gt-dir-hero h1 {
    font-size: 29px;
  }
    .gt-dir-hero-visual img {
    max-width: 170px;
  }
  .gt-dir-cta {
    padding: 24px 20px;
  }
}

/* Het blokthema centreert de pagina-inhoud; de hero moet links uitlijnen. */
.gt-dir-hero,
.gt-dir-hero-inner,
.gt-dir-hero-copy,
.gt-dir-hero-copy h1,
.gt-dir-lead,
.gt-directory,
.gt-directory-inner,
.gt-dir-group,
.gt-dir-cta {
  text-align: left;
}
.gt-dir-alpha {
  justify-content: flex-start;
}
.gt-dir-searchbar {
  text-align: left;
}
@media (max-width: 900px) {
  .gt-dir-hero,
  .gt-dir-hero-inner,
  .gt-dir-hero-copy,
  .gt-dir-hero-copy h1,
  .gt-dir-lead {
    text-align: left;
  }
}

/* ---------------------------------------------------------------
   Bedrijven overzicht: uit de contentcontainer breken + titel weg
   Het blokthema zet een max-width op alles binnen de paginacontent;
   zonder onderstaande regels blijft de hero een smal blok in het midden.
   --------------------------------------------------------------- */
.gt-dirpage .wp-block-post-title,
.gt-dirpage .entry-title {
  display: none;
}
.gt-dirpage {
  overflow-x: hidden;
}
.gt-dirpage .gt-dir-hero {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  border-radius: 0;
}
.gt-dirpage .gt-directory {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}
/* geen loze ruimte boven de hero */
.gt-dirpage .wp-block-post-content > *:first-child {
  margin-top: 0;
}
/* Blokthema zet padding/marge boven de content; op deze pagina weghalen zodat
   de donkere hero direct onder de header begint (zoals op 'bedrijf toevoegen'). */
.gt-dirpage .wp-block-post-content,
.gt-dirpage .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.gt-dirpage .wp-site-blocks > main,
.gt-dirpage main.wp-block-group,
.gt-dirpage .wp-block-group.is-layout-constrained > .wp-block-post-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.gt-dirpage .wp-block-post-content > *:first-child,
.gt-dirpage .entry-content > *:first-child {
  margin-top: 0 !important;
}

/* Letterblokjes: het thema kleurt koppen zwart -> forceer wit. */
.gt-dir-letter,
.gt-dirpage .gt-dir-letter,
.gt-dirpage h3.gt-dir-letter {
  color: #fff !important;
}

/* ---------------------------------------------------------------
   Bedrijvenoverzicht: kaartenraster met keurmerken (mockup)
   --------------------------------------------------------------- */
.gt-dir-toolbar {
  margin: 6px 0 18px;
}
.gt-dirpage .gt-dir-searchbar {
  position: relative;
  max-width: 560px;
}
.gt-dir-search-ico {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #9aa4b2;
  display: inline-flex;
}
.gt-dirpage .gt-dir-search {
  width: 100%;
  padding: 13px 16px 13px 44px;
  border: 1px solid #e2e6ec;
  border-radius: 12px;
  font: inherit;
  font-size: 15px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(13, 27, 61, 0.04);
}
.gt-dirpage .gt-dir-search:focus {
  outline: 0;
  border-color: #16c879;
}

/* categoriefilter */
.gt-dir-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 26px;
}
.gt-dir-cat {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid #e2e6ec;
  background: #fff;
  color: #33415c;
  border-radius: 100px;
  padding: 8px 15px;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
  line-height: 1;
  user-select: none;
  -webkit-user-select: none;
}
.gt-dir-cat:hover {
  border-color: #16c879;
  color: #0d2340;
}
.gt-dir-cat.is-active {
  background: #0d2340;
  border-color: #0d2340;
  color: #fff;
}

/* raster */
.gt-company-grid-flat {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
  grid-auto-rows: auto;
}
.gt-card-wrap {
  display: flex;
  min-width: 0;
}
.gt-card-wrap > .gt-ccard {
  width: 100%;
}

/* kaart */
.gt-ccard {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: 1px solid #e8eaee;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 1px 3px rgba(13, 27, 61, 0.04);
  transition: box-shadow 0.15s ease, transform 0.15s ease, border-color 0.15s ease;
}
.gt-ccard:hover {
  box-shadow: 0 12px 28px rgba(13, 27, 61, 0.1);
  transform: translateY(-2px);
  border-color: #d6f0e3;
}
.gt-ccard-top {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.gt-ccard-logo {
  flex: 0 0 auto;
  width: 60px;
  height: 60px;
  border-radius: 14px;
  background: #f4f6f8;
  display: grid;
  place-items: center;
  overflow: hidden;
  text-decoration: none !important;
}
.gt-ccard-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.gt-ccard-initial {
  font-size: 24px;
  font-weight: 800;
  color: #16c879;
}
.gt-ccard-head {
  min-width: 0;
}
.gt-ccard-name {
  display: block;
  font-size: 18px;
  font-weight: 800;
  color: #0d2340 !important;
  text-decoration: none !important;
  line-height: 1.2;
}
.gt-ccard-name:hover {
  color: #0f9d63 !important;
}
.gt-ccard-cat {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  font-size: 13px;
  color: #6b7787;
  font-weight: 600;
}
.gt-ccard-cat-ico {
  font-size: 13px;
}
.gt-ccard-score {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  font-size: 13px;
  color: #6b7787;
}
.gt-ccard-score strong {
  color: #0d2340;
}

/* badges */
.gt-ccard-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 16px 0 18px;
}
.gt-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #eefaf3;
  color: #0f9d63;
  border-radius: 100px;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 700;
}
.gt-badge svg {
  flex: 0 0 auto;
}
.gt-badge-geo {
  background: #f1f4f8;
  color: #5a6678;
}

/* voet */
.gt-ccard-foot {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: auto;
}
.gt-ccard-btn {
  flex: 1 1 auto;
  text-align: center;
  border: 1px solid #16c879;
  color: #0f9d63 !important;
  border-radius: 10px;
  padding: 10px 14px;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none !important;
  transition: background 0.15s ease, color 0.15s ease;
}
.gt-ccard-btn:hover {
  background: #16c879;
  color: #fff !important;
}
.gt-ccard-save {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border: 1px solid #e2e6ec;
  border-radius: 10px;
  display: grid;
  place-items: center;
  color: #9aa4b2;
  cursor: pointer;
}
.gt-ccard-save:hover {
  color: #0d2340;
  border-color: #cfd6df;
}

@media (max-width: 1000px) {
  .gt-company-grid-flat {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .gt-company-grid-flat {
    grid-template-columns: 1fr;
  }
}

/* Zoekbalk: knop + wissen (no-JS vangnet) */
.gt-dir-searchbar { display: flex; align-items: center; gap: 8px; position: relative; }
.gt-dir-search-btn {
  flex: 0 0 auto;
  border: 0;
  background: #16c879;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  padding: 12px 18px;
  border-radius: 12px;
  cursor: pointer;
  transition: background 0.15s ease;
}
.gt-dir-search-btn:hover { background: #0f9d63; }
.gt-dir-search-clear {
  flex: 0 0 auto;
  color: #6b7787 !important;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
  padding: 6px 8px;
}
.gt-dir-search-clear:hover { color: #0d2340 !important; }
.gt-dir-searchbar .gt-dir-search { flex: 1 1 auto; width: auto; }
@media (max-width: 560px) {
  .gt-dir-searchbar { flex-wrap: wrap; }
  .gt-dir-searchbar .gt-dir-search { flex: 1 1 100%; }
}
