/* 20261111113808 - v2 */
.gui,
.gui-block-linklist li a {
  color: #666666;
}

.gui-page-title,
.gui a.gui-bold,
.gui-block-subtitle,
.gui-table thead tr th,
.gui ul.gui-products li .gui-products-title a,
.gui-form label,
.gui-block-title.gui-dark strong,
.gui-block-title.gui-dark strong a,
.gui-content-subtitle {
  color: #000000;
}

.gui-block-inner strong {
  color: #848484;
}

.gui a {
  color: #0a8de9;
}

.gui-input.gui-focus,
.gui-text.gui-focus,
.gui-select.gui-focus {
  border-color: #0a8de9;
  box-shadow: 0 0 2px #0a8de9;
}

.gui-select.gui-focus .gui-handle {
  border-color: #0a8de9;
}

.gui-block,
.gui-block-title,
.gui-buttons.gui-border,
.gui-block-inner,
.gui-image {
  border-color: #8d8d8d;
}

.gui-block-title {
  color: #333333;
  background-color: #ffffff;
}

.gui-content-title {
  color: #333333;
}

.gui-form .gui-field .gui-description span {
  color: #666666;
}

.gui-block-inner {
  background-color: #f4f4f4;
}

.gui-block-option {
  border-color: #ededed;
  background-color: #f9f9f9;
}

.gui-block-option-block {
  border-color: #ededed;
}

.gui-block-title strong {
  color: #333333;
}

.gui-line,
.gui-cart-sum .gui-line {
  background-color: #cbcbcb;
}

.gui ul.gui-products li {
  border-color: #dcdcdc;
}

.gui-block-subcontent,
.gui-content-subtitle {
  border-color: #dcdcdc;
}

.gui-faq,
.gui-login,
.gui-password,
.gui-register,
.gui-review,
.gui-sitemap,
.gui-block-linklist li,
.gui-table {
  border-color: #dcdcdc;
}

.gui-block-content .gui-table {
  border-color: #ededed;
}

.gui-table thead tr th {
  border-color: #cbcbcb;
  background-color: #f9f9f9;
}

.gui-table tbody tr td {
  border-color: #ededed;
}

.gui a.gui-button-large,
.gui a.gui-button-small {
  border-color: #8d8d8d;
  color: #000000;
  background-color: #ffffff;
}

.gui a.gui-button-large.gui-button-action,
.gui a.gui-button-small.gui-button-action {
  border-color: #8d8d8d;
  color: #000000;
  background-color: #ffffff;
}

.gui a.gui-button-large:active,
.gui a.gui-button-small:active {
  background-color: #cccccc;
  border-color: #707070;
}

.gui a.gui-button-large.gui-button-action:active,
.gui a.gui-button-small.gui-button-action:active {
  background-color: #cccccc;
  border-color: #707070;
}

.gui-input,
.gui-text,
.gui-select,
.gui-number {
  border-color: #8d8d8d;
  background-color: #ffffff;
}

.gui-select .gui-handle,
.gui-number .gui-handle {
  border-color: #8d8d8d;
}

.gui-number .gui-handle a {
  background-color: #ffffff;
}

.gui-input input,
.gui-number input,
.gui-text textarea,
.gui-select .gui-value {
  color: #000000;
}

.gui-progressbar {
  background-color: #76c61b;
}

/* custom */
/* ================================================================
   SEM JACHT & SCHIETSPORT — CUSTOM CSS (Proxima)
   ----------------------------------------------------------------
   INHOUD
   1. Huisstijl-variabelen
   2. Header & navigatiebalk
   3. Homepage — Categorieën-grid
   4. Homepage — Tekstblokken (mod-textblock-a/b)
   5. Homepage — Merken-sectie
   6. Homepage — Bezoek-sectie
   7. Homepage — Blog-sectie
   8. Homepage — Service-sectie
   9. Homepage — SEO-tekst
   10. Homepage — Gelijke marges voor alle secties
   11. Blog (/blogs/blog/)
   12. Productpagina & winkelwagen
   13. Footer
   ================================================================ */


/* ================================================================
   1. HUISSTIJL-VARIABELEN — kleuren hier één keer aanpassen
   ================================================================ */
:root {
  --jachtgroen: #2F4030;
  --antraciet: #1B1F1A;
  --koperbrons: #B08D57;
  --staalgrijs: #6B6B63;
  --ivoor: #F2EDE3;
  --lichtgrijs: #E1E1E1;
}


/* ================================================================
   2. HEADER & NAVIGATIEBALK
   ================================================================ */
/* Geen animaties/verschuivingen in de header (behalve hamburger-icoon) */
#header-holder,
#header-holder *:not(.hb-icon-line):not(.hb-icon-label) {
  transform: none !important;
  transition: none !important;
}

/* Ruimte tussen header en pagina-inhoud */
.header-scrollable { padding-top: 80px !important; }

/* Navigatiebalk vast onder de header (105px = hoogte header + USP-balk) */
#navbar-holder {
  position: fixed !important;
  top: 105px !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 299 !important;
}
#subnav-dimmed { margin-top: 52px !important; }
.navscrolled { display: none !important; }

#navbar-items {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
}
.navbar-right-links {
  display: flex !important;
  align-items: center !important;
  gap: 32px !important;
  margin-left: auto !important;
  white-space: nowrap;
}

/* "Alle categorieën"-knop + uitklapmenu */
.navbar-allcats-item {
  position: relative;
  margin-right: 20px;
  display: flex;
  align-items: center;
}
#navbar-holder .navbar-allcats-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  background: var(--jachtgroen) !important;
  color: #fff !important;
  padding: 4px 12px !important;
  border-radius: 14px !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.navbar-allcats-link::after {
  content: '';
  width: 8px;
  height: 8px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
  margin-top: -3px;
}
.navbar-allcats-link:hover { background: var(--antraciet); }
.navbar-allcats-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15);
  border-radius: 0 0 12px 12px;
  z-index: 50;
  width: 1050px;
  max-width: calc(100vw - 40px);
  padding: 24px;
}
.navbar-allcats-item:hover .navbar-allcats-dropdown { display: block; }
.navbar-allcats-inner { display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px 20px; }
.navbar-allcats-title { display: block; font-weight: 700; font-size: 15px; color: var(--antraciet); text-decoration: none; margin-bottom: 8px; }
.navbar-allcats-sub { list-style: none; margin: 0; padding: 0; }
.navbar-allcats-sub li { margin-bottom: 4px; }
.navbar-allcats-sub a { font-size: 13px; color: var(--staalgrijs); text-decoration: none; }
.navbar-allcats-sub a:hover { color: var(--koperbrons); }
.navbar-allcats-sub .navbar-allcats-more { font-weight: 700; color: #2F4030; }

@media (max-width: 767px) {
  .header-scrollable { padding-top: 10px !important; }
  #navbar-holder { display: none !important; }
}


/* ================================================================
   3. HOMEPAGE — CATEGORIEËN-GRID
   ================================================================ */
.mod-categories { margin-bottom: 40px; }
.mod-categories .headline-side { font-size: 26px; }

/* Geen zoom/verschuiving bij hover of tikken */
.home-category-block,
.home-category-block:hover,
.home-category-block:active,
.home-category-block:focus { transform: none !important; }
.home-category-img,
.home-category-block:hover .home-category-img,
.home-category-block:active .home-category-img { transform: none !important; transition: none !important; }

.custom-categories-cta {
  text-align: center !important;
  margin-top: 30px !important;
}

@media (max-width: 767px) {
  #homepage-categories-grid {
    flex-wrap: wrap !important;
    align-items: stretch !important;
    margin: 0 !important;
  }
  #homepage-categories-grid > div {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
    display: flex !important;
    margin: 0 0 12px 0 !important;
    padding: 6px !important;
    box-sizing: border-box !important;
  }
  #homepage-categories-grid .home-category-block {
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: center;
    width: 100% !important;
    height: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  #homepage-categories-grid .home-category-img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 2.2 !important;
    object-fit: cover !important;
    margin: 0 !important;
    flex-shrink: 0;
  }
  #homepage-categories-grid .home-category-title {
    padding: 10px 8px !important;
    margin: 0 !important;
    width: 100%;
    min-height: 3em;
    display: flex !important;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
    box-sizing: border-box;
  }
  #homepage-categories-grid .home-category-block .icon-arrow-right { display: none !important; }
}

/* ================================================================
   4. HOMEPAGE — TEKSTBLOKKEN (mod-textblock-a/b)
   ================================================================ */
.mod-textblock-a { background: var(--ivoor); border-radius: 12px; padding: 20px !important; }
.mod-textblock-a .banner-img { border-radius: 8px; }
.mod-textblock-a .heading-with-highlight { font-size: 18px !important; color: var(--antraciet) !important; font-weight: 700; background: none !important; }
.mod-textblock-a .heading-with-highlight::after { display: none !important; }
.mod-textblock-a p { font-size: 14px; color: var(--staalgrijs); line-height: 1.5; }
.mod-textblock-a .button { background: none !important; border: none !important; color: var(--koperbrons) !important; text-decoration: underline; padding: 0 !important; font-weight: 600; font-size: 14px; box-shadow: none !important; }
.mod-textblock-a .button-lined { border-left: 1px solid #ccc !important; padding-left: 12px !important; margin-left: 4px !important; border-radius: 0 !important; }
.mod-textblock-a .button:hover { background: none !important; text-decoration: none; }
.mod-textblock-a .home-textblock,
.mod-textblock-b .home-textblock { flex-direction: column !important; }
.mod-textblock-a .home-textblock-col,
.mod-textblock-b .home-textblock-col { flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important; }
.mod-textblock-a .home-textblock-image img,
.mod-textblock-b .home-textblock-image img { width: 100%; border-radius: 8px 8px 0 0; }


/* ================================================================
   5. HOMEPAGE — MERKEN-SECTIE
   ================================================================ */
.custom-merken-sectie { padding: 30px 0; }
.custom-merken-wrap { position: relative; }
.custom-merken-row {
  display: flex;
  gap: 30px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 8px;
  scrollbar-width: none;
}
.custom-merken-row::-webkit-scrollbar { display: none; }
.custom-merk-card {
  flex: 0 0 300px;
  position: relative;
  aspect-ratio: 4 / 3;
  border-radius: 12px;
  overflow: hidden;
  display: block;
  text-decoration: none;
}
.custom-merk-card:first-child { margin-left: 15px; }
.custom-merk-card:last-child { margin-right: 15px; }
.custom-merk-img {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.custom-merk-overlay {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 16px 16px 20px;
  background: none;
  text-align: center;
}
.custom-merk-overlay h3 {
  color: #fff;
  font-size: 22px;
  font-weight: 800;
  margin: 0;
  line-height: 1.2;
  text-shadow: 0 2px 6px rgba(0,0,0,0.9), 0 0 20px rgba(0,0,0,0.5);
}
.custom-merken-arrow {
  position: absolute;
  top: 40%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--lichtgrijs);
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 2;
  padding: 0;
}
.custom-merken-arrow--next { right: -18px; }
.custom-merken-arrow--prev { left: -18px; display: none; }
.custom-merken-arrow:hover { background: var(--ivoor); }

@media (max-width: 767px) {
  .custom-merken-arrow { display: none !important; }
}


/* ================================================================
   6. HOMEPAGE — BEZOEK-SECTIE ("Kom langs in onze winkel")
   ================================================================ */
.custom-bezoek-sectie { padding: 40px 0; }
.custom-bezoek-row { display: flex; gap: 30px; background: var(--ivoor); border-radius: 12px; overflow: hidden; margin-bottom: 20px; }
.custom-bezoek-text { flex: 1; padding: 32px; }
.custom-bezoek-title { font-size: 22px; font-weight: 700; color: var(--antraciet); margin-bottom: 14px; }
.custom-bezoek-p { font-size: 14px; color: var(--staalgrijs); line-height: 1.6; margin-bottom: 20px; }
.custom-bezoek-cols { display: flex; gap: 30px; flex-wrap: wrap; }
.custom-bezoek-col h5 { font-size: 14px; font-weight: 700; color: var(--jachtgroen); margin-bottom: 8px; }
.custom-bezoek-col a,
.custom-bezoek-col p { display: block; font-size: 14px; color: var(--staalgrijs); text-decoration: none; line-height: 1.5; }
.custom-bezoek-col a:hover { color: var(--koperbrons); }
.custom-bezoek-img { flex: 1; min-height: 260px; }
.custom-bezoek-img img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 12px; }

/* Groene "kom langs"-kaart */
.custom-bezoek-groen { display: flex; align-items: center; justify-content: space-between; gap: 30px; flex-wrap: wrap; background: var(--jachtgroen); border-radius: 40px; padding: 40px 50px; }
.custom-bezoek-groen-content h3 { color: #fff; font-size: 24px; font-weight: 700; margin-bottom: 8px; }
.custom-bezoek-groen-content p { color: #d7ddd3; font-size: 14px; margin-bottom: 16px; }
.custom-bezoek-btn { display: inline-block; background: #fff; color: var(--antraciet); font-weight: 600; font-size: 14px; padding: 12px 22px; border-radius: 24px; text-decoration: none; }
.custom-bezoek-groen-contact { display: flex; flex-direction: column; gap: 10px; }
.custom-bezoek-contactlink { color: #fff; font-size: 14px; text-decoration: none; }
.custom-bezoek-contactlink:hover { color: var(--koperbrons); }

@media (max-width: 767px) {
  .custom-bezoek-row { flex-direction: column; }
  .custom-bezoek-img { min-height: 200px; }
  .custom-bezoek-groen { border-radius: 20px; padding: 30px; flex-direction: column; align-items: flex-start; }
  .custom-bezoek-groen-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .custom-bezoek-groen-content .custom-bezoek-btn {
    display: block;
    width: 100%;
    text-align: center;
    box-sizing: border-box;
    margin-left: 0 !important;
  }
  .custom-bezoek-groen-content .custom-bezoek-contactlink { margin-left: 0 !important; }
}


/* ================================================================
   7. HOMEPAGE — BLOG-SECTIE (nieuwste 4 artikelen)
   ================================================================ */
.custom-blog-sectie { padding: 30px 0; }
.custom-blog-row { display: flex; gap: 16px; }
.custom-blog-card { flex: 1 1 0; min-width: 0; background: var(--ivoor); border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; }
.custom-blog-imgwrap { display: block; }
.custom-blog-img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.custom-blog-content { padding: 16px; display: flex; flex-direction: column; flex: 1; }
.custom-blog-title { display: block; font-weight: 700; font-size: 18px; color: var(--antraciet); text-decoration: none; margin-bottom: 8px; }
.custom-blog-text { font-size: 14px; color: var(--staalgrijs); line-height: 1.5; margin-bottom: 8px; }
.custom-blog-link { display: block; font-size: 14px; color: var(--koperbrons); text-decoration: underline; font-weight: 600; margin-top: auto; }
.custom-blog-footer { text-align: center; margin-top: 20px; }

@media (max-width: 767px) {
  .custom-blog-card:nth-child(n+2) { display: none; }
}


/* ================================================================
   8. HOMEPAGE — SERVICE-SECTIE (Werkplaats / Custom shop / Bewaring)
   ================================================================ */
.custom-service-sectie { padding: 30px 0; }
.custom-service-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 16px; }
.custom-service-stack { display: flex; flex-direction: column; gap: 16px; }
.custom-service-card { position: relative; display: block; border-radius: 12px; overflow: hidden; text-decoration: none; color: #fff; }
.custom-service-card--large { min-height: 480px; }
.custom-service-card--small { min-height: 232px; }
.custom-service-ph-1,
.custom-service-ph-2,
.custom-service-ph-3 { background-size: cover; background-position: center; }
.custom-service-ph-1 { background-image: url('https://cdn.webshopapp.com/shops/347401/files/505657928/werkplaats.jpg'); }
.custom-service-ph-2 { background-image: url('https://cdn.webshopapp.com/shops/347401/files/505657927/custom-shop.jpg'); }
.custom-service-ph-3 { background-image: url('https://cdn.webshopapp.com/shops/347401/files/505657926/wapen-in-bewaring.jpg'); }
.custom-service-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 24px; background: linear-gradient(to top, rgba(0,0,0,0.55), rgba(0,0,0,0) 65%); }
.custom-service-title { font-size: 26px; font-weight: 800; color: #fff; margin-bottom: 8px; }
.custom-service-text { font-size: 14px; color: var(--lichtgrijs); max-width: 480px; margin-bottom: 12px; }
.custom-service-link { font-weight: 700; color: #fff; text-decoration: underline; }

@media (max-width: 767px) {
  /* Kaarten worden een horizontale swipe-rij met groene scrollbalk */
  .custom-service-grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 16px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: var(--jachtgroen) #e0dbd1;
  }
  .custom-service-grid::-webkit-scrollbar { height: 4px; }
  .custom-service-grid::-webkit-scrollbar-track { background: #e0dbd1; border-radius: 4px; }
  .custom-service-grid::-webkit-scrollbar-thumb { background: var(--jachtgroen); border-radius: 4px; }
  .custom-service-stack { display: contents; }
  .custom-service-card { flex: 0 0 100%; scroll-snap-align: start; }
  .custom-service-card--large,
  .custom-service-card--small { min-height: 320px; }
}


/* ================================================================
   9. HOMEPAGE — SEO-TEKST
   ================================================================ */
.custom-seo-tekst-sectie { padding: 40px 0; }
.custom-seo-tekst-sectie h2 { font-size: 28px; font-weight: 800; margin-bottom: 16px; }
.custom-seo-tekst-sectie h3 { font-size: 20px; font-weight: 700; margin-top: 32px; margin-bottom: 12px; }
.custom-seo-tekst-sectie p { margin-bottom: 16px; line-height: 1.6; }


/* ================================================================
   10. HOMEPAGE — GELIJKE MARGES VOOR ALLE SECTIES
   (staat bewust ná de secties, zodat deze regels voorgaan)
   ================================================================ */
@media (min-width: 768px) {
  .custom-blog-row,
  .custom-service-grid,
  .custom-merken-row,
  .custom-seo-tekst-sectie { padding: 0 15px; }
  .custom-merken-sectie > h3.headline,
  .custom-service-sectie > h3.headline,
  .custom-blog-sectie > h3.headline { padding-left: 15px; }
  .custom-bezoek-row { margin-left: 15px; margin-right: 15px; }
}
@media (max-width: 767px) {
  .custom-merken-sectie > h3.headline { padding-left: 15px; }
  .custom-blog-sectie,
  .custom-service-sectie,
  .custom-seo-tekst-sectie { padding-left: 15px; padding-right: 15px; box-sizing: border-box; }
}


/* ================================================================
   11. BLOG (/blogs/blog/)
   ================================================================ */
#blog-custom .row {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
#blog-custom .row > div[class*="col-"] {
  flex: none !important;
  max-width: 100% !important;
  width: 100% !important;
}
#blog-custom .blog-custom-article { border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.08); background: #fff; }
#blog-custom .pos-relative { position: relative; }
#blog-custom .article-picture { aspect-ratio: 4/3; display: block; }
#blog-custom .article-picture img { width: 100%; height: 100%; object-fit: cover; display: block; }
#blog-custom .article-date { position: absolute; top: 12px; left: 12px; background: var(--jachtgroen); color: #fff; border-radius: 8px; padding: 6px 10px; text-align: center; line-height: 1.1; z-index: 2; }
#blog-custom .article-date-day { font-size: 18px; font-weight: 700; display: block; }
#blog-custom .article-date-month,
#blog-custom .article-date-year { font-size: 11px; display: block; text-transform: uppercase; }
/* Titel-badge: native "matglas"-effect uitzetten */
#blog-custom .article-title.block-acrylic-dark {
  background: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 16px;
}
#blog-custom .article-title h1.blog-custom-article-title {
  font-size: 18px !important;
  color: #fff !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.8);
  margin: 0 !important;
}
#blog-custom .blog-custom-summary { padding: 16px !important; }
#blog-custom .blog-custom-summary > div:first-child { font-size: 14px; color: var(--staalgrijs); line-height: 1.5; }
#blog-custom .button.button-small { background: var(--antraciet); color: #fff; border-radius: 20px; padding: 8px 18px; font-size: 13px; font-weight: 600; text-decoration: none; }
#blog-custom .button.button-small:hover { background: var(--koperbrons); }

@media (max-width: 767px) {
  #blog-custom .row { grid-template-columns: 1fr; }
}


/* ================================================================
   12. PRODUCTPAGINA & WINKELWAGEN
   ================================================================ */
/* "Bestel nog voor X, gratis verzending"-meldingen verbergen */
.cart-free-shipping,
.freeshipping { display: none !important; }

/* Levertijd-blok (vrachtwagentje) op productpagina: weer zichtbaar sinds 11-11-2026, toont de levertijd uit de backoffice */


/* ================================================================
   13. FOOTER
   ================================================================ */
footer .row { align-items: flex-start !important; }
footer .footer-title { margin-top: 0 !important; padding-top: 0 !important; margin-bottom: 16px !important; }
footer .footer-logo { margin: 0 !important; display: block; }
footer .footer-links { margin: 12px 0 0 0 !important; padding: 0; }
footer .footer-links li { margin-bottom: 8px; }

/* Categorieën/Informatie: "Toon meer"-knop */
.footer-cats-toggle {
  background: none;
  border: none;
  color: inherit;
  font-weight: 600;
  font-size: 14px;
  text-decoration: underline;
  cursor: pointer;
  padding: 0;
  margin-top: 8px;
}
.footer-cats-toggle:hover { opacity: 0.8; }

/* Linkerkolom: adres/telefoon/e-mail (iconen verborgen) */
footer .footer-contact-icon { display: none !important; }
footer .footer-contact-item {
  display: flex;
  align-items: center;
  margin-left: 0 !important;
}
footer .footer-address.footer-contact-item { margin-top: 8px !important; }
footer .footer-address + .footer-contact-item { margin-top: 0 !important; }
footer .footer-address + .footer-contact-item + .footer-contact-item { margin-top: 8px !important; }
footer .footer-address > div { margin-left: 0; }
footer .contact-description { margin-top: 12px !important; }

/* Openingstijden-kolom */
footer .gray-bordergray-bg.as-body {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin-top: 0.5rem !important;
}
footer .gray-bordergray-bg.as-body.mt-3 { margin-top: 0 !important; }
footer .gray-bordergray-bg.as-body h5,
footer .gray-bordergray-bg.as-body .icon-location,
footer .col-md-3.mt-3.mt-md-0 .text-center.mt-3 { display: none !important; }
footer .toggle-content.toggle-content-md > .d-flex.mt-3 { margin-top: 12px !important; }
footer .gray-bordergray-bg.as-body .mt-1.fz-090 {
  color: var(--lichtgrijs) !important;
  font-size: 14px !important;
  line-height: 40px !important;
  white-space: nowrap;
  margin-top: -9px !important;
}
footer .gray-bordergray-bg.as-body .mt-1.fz-090 br {
  content: "";
  display: block;
  margin-top: 16px;
}

@media (max-width: 767px) {
  /* Op mobiel alle footer-links direct tonen, zonder "Toon meer" */
  .footer-cats-extra,
  .footer-info-extra { display: block !important; }
  .footer-cats-toggle { display: none !important; }
}

/* Blog: nieuwste artikel breed (vult 5 per pagina netjes op) */
@media (min-width: 768px) {
  #blog-custom .row > div[class*="col-"]:first-child { grid-column: span 2; }
  #blog-custom .row > div[class*="col-"]:first-child .article-picture { aspect-ratio: 8 / 3; }
}

/* Blog: foto blijft binnen zijn vak (mobiel stak hij uit over de tekst) */
#blog-custom .article-picture { overflow: hidden; }
#blog-custom .article-picture img { height: 100% !important; min-height: 0 !important; }

/* Mobiel: klein logo + zoekbalk in de kop */
@media (max-width: 767px) {
  #header .logo-left { position: relative; }
  #header-left { flex: 1 1 auto; min-width: 0; position: static !important; }
  #header-left > a.mr-3.mr-sm-0 { flex: none; margin-right: 0 !important; }
  #header-left > a.mr-3.mr-sm-0 img.logo { width: 64px !important; height: auto !important; max-height: none !important; }
  #header-search { display: flex !important; align-items: center; position: static !important; flex: 1 1 auto; min-width: 0; margin-left: 10px !important; margin-right: 6px !important; }
  #header-search-input { flex: 1 1 auto; min-width: 0; width: 100% !important; }
  #header-search .search-button { position: static !important; flex: none; align-self: center; margin: 0 0 0 -40px !important; transform: none !important; }
  #search-results { left: 12px !important; right: 12px !important; top: 100% !important; width: auto !important; min-width: 0 !important; max-width: none !important; margin: 0 !important; }
}

/* Homepage: maximaal 4 aanbevolen producten (1 rij) */
.home-main-products .static-products-holder > :nth-child(n+5) { display: none !important; }

/* Homepage: maximaal 4 categorieën bij "Onze categorieën" (1 rij) */
#homepage-categories-grid > :nth-child(n+5) { display: none !important; }

/* Menubalk-uitklapper: alleen 2 niveaus tonen (het 3e niveau, bv. alle merken onder Magazijnen, rekt het menu uit) en max. 5 per kopje */
.navbar-sub.megamenu .sub3 { display: none !important; }
.navbar-sub.megamenu .sub2 > li:nth-child(n+6) { display: none !important; }

/* Winkelwagen: akkoord-tekst ("Algemene voorwaarden : Ik accepteer ...") niet onder de productnaam tonen. Het vinkje blijft wel bij de bestelling opgeslagen. */
.cart-item .custom-holder { display: none !important; }

/* Geen shop-review-score in de kop (mobiel en computer); de echte WebwinkelKeur-score staat in het roze blokje */
.header-rating, .subheader-rating { display: none !important; }

/* Zoekresultaten (snel zoeken): foto zichtbaar, rustige tekst, op mobiel 1 per rij */
#search-results .mini-list-image { flex: 0 0 56px !important; width: 56px !important; }
#search-results .mini-list-image img { width: 56px !important; height: 56px !important; object-fit: contain; }
#search-results .mini-list-search { align-items: center; gap: 10px; }
#search-results .mini-list-title { flex: 1 1 auto; min-width: 0; }
#search-results .mini-list-title h5 { font-family: Inter, Helvetica, sans-serif !important; font-weight: 600 !important; font-size: 14px !important; line-height: 1.3 !important; margin: 2px 0 !important; }
#search-results .mini-list-price { flex: none; font-weight: 600; white-space: nowrap; }
@media (max-width: 767px) {
  #search-results > [data-mode="grid_list-search"] { flex: 0 0 100% !important; max-width: 100% !important; }
  #search-results .margin-left-10 { display: none !important; }
  #search-results > [data-mode="grid_list-search"]:nth-of-type(n+5) { display: none !important; }
  #search-results { max-height: calc(100vh - 120px); overflow-y: auto; }
}

/* iPhone: niet inzoomen bij tikken op een invulveld (iPhone zoomt in bij tekst kleiner dan 16px) */
@media (max-width: 767px) {
  input[type="text"], input[type="search"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], textarea, select { font-size: 16px !important; }
}

/* Productoverzicht: alles wat besteld kan worden (ook pre-order) in hetzelfde groen als "Op voorraad"; niet bestelbaar blijft rood */
.product-col-delivery.backorder { color: #3ca76b !important; }

/* Categorie-knoppen bovenaan categoriepagina: hele foto tonen (hoort bij de wijziging 48x48x1 -> 128x72x2 in het thema-bestand van de subcategorie-knoppen) */
.collection-category-carousel-block .home-category-img {
  width: 64px !important;
  height: 36px !important;
  object-fit: contain;
  mix-blend-mode: multiply;
}

/* Winkelwagen: "Leverbaar, reserveer nu" groen, gelijk aan productoverzichten */
.c-backorder {
  color: #3CA76B !important;
}

/* Productpagina: voorraadstatus in kleur (groen = bestelbaar, rood = niet leverbaar) */
.product-deliverytime.delivery-in-stock,
.product-deliverytime.delivery-backorder,
.product-deliverytime.delivery-in-stock .delivery-time-text,
.product-deliverytime.delivery-backorder .delivery-time-text {
  color: #3CA76B !important;
  font-weight: 600;
}
.product-deliverytime.delivery-out-of-stock,
.product-deliverytime.delivery-out-of-stock .delivery-time-text {
  color: #905659 !important;
  font-weight: 600;
}

/* Homepage merken: alleen het logo, geen naam eroverheen */
.custom-merk-overlay { display: none !important; }

/* Menubalk-uitklapper: categorieën in nette kolommen van boven naar beneden, zonder gaten */
.navbar-sub.megamenu .maxheight > .row {
  display: block !important;
  column-count: 4;
  column-gap: 32px;
  margin: 0 !important;
}
.navbar-sub.megamenu .maxheight > .row > .sub-holder {
  display: inline-block !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 0 14px !important;
  break-inside: avoid;
}
.navbar-sub.megamenu .sub-holder > a { font-size: 15px !important; line-height: 1.3; }
.navbar-sub.megamenu .sub2 { margin-top: 4px !important; }
.navbar-sub.megamenu .sub2 li { line-height: 1.5; }

/* Categorieteksten: tussenkopjes (bv. FAQ-vragen) links, gewone letters */
.container.catalog .content h3 {
  text-align: left !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  font-size: 17px !important;
  margin: 18px 0 6px !important;
  padding-left: 0 !important;
}
