.grm-branche{font-family:var(--grm-font-body,"Inter",Inter,sans-serif);color:var(--grm-ink,#041E42);background:var(--grm-canvas,#F5F7FA);min-height:100vh}
.grm-branche h1,.grm-branche h2,.grm-branche h3,.grm-branche h4{font-family:var(--grm-font-display,"Inter Tight",sans-serif);font-weight:800;letter-spacing:-.01em;color:var(--grm-ink,#041E42);margin:0 0 .5rem}

.grm-branche__hero{position:relative;padding:40px 0 36px;overflow:hidden;background:linear-gradient(135deg,var(--grm-fp-b1,var(--grm-ink,#041E42)) 0%,var(--grm-fp-b2,color-mix(in srgb, var(--c,#103A63) 55%, #041E42)) 100%);color:#fff;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.grm-branche__hero-bg{position:absolute;inset:0;background:
  radial-gradient(60rem 30rem at 100% 0%, rgba(255,255,255,.10), transparent 60%),
  radial-gradient(40rem 25rem at 0% 100%, rgba(0,0,0,.12), transparent 65%);
  pointer-events:none}
.grm-branche__hero-in{position:relative;max-width:var(--grm-w,1424px);margin:0 auto;padding:0 24px}

.grm-branche__crumbs{display:flex;align-items:center;gap:6px;font-size:13px;color:rgba(255,255,255,.85);margin-bottom:22px}
.grm-branche__crumbs a{color:rgba(255,255,255,.85);text-decoration:none;transition:color .12s}
.grm-branche__crumbs a:hover{color:#fff}
.grm-branche__crumbs .material-symbols-rounded{font-size:14px;opacity:.55}
.grm-branche__crumb-now{color:#fff;font-weight:700;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis}

.grm-branche__hero-head{display:flex;align-items:center;gap:22px;margin-bottom:24px}
.grm-branche__hero-ic{flex-shrink:0;width:72px;height:72px;border-radius:18px;background:rgba(255,255,255,.20);display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.28);box-shadow:0 4px 14px rgba(0,0,0,.18)}
.grm-branche__hero-ic .material-symbols-rounded{font-size:36px;color:#fff}
.grm-branche__hero-txt{flex:1;min-width:0}
.grm-branche__eyebrow{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.22);padding:3px 10px;border-radius:99px;margin-bottom:8px}
.grm-branche__hero-txt h1{color:#fff;font-size:var(--grm-h1);font-weight:var(--grm-weight-display);margin:0 0 8px;line-height:1.08}
.grm-branche__hero-sub{margin:0;color:rgba(255,255,255,.92);font-size:15px;line-height:1.5}

.grm-branche__hero-stats{display:flex;gap:28px;flex-wrap:wrap;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);font-size:13px;font-weight:600;color:rgba(255,255,255,.92)}
.grm-branche__hero-stats span{display:inline-flex;align-items:center;gap:6px}
.grm-branche__hero-stats .material-symbols-rounded{font-size:16px;color:#fff}

.grm-branche__body{max-width:var(--grm-w,1424px);margin:32px auto 60px;padding:0 24px;display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:start}
@media(max-width:920px){.grm-branche__body{grid-template-columns:1fr}}

.grm-branche__sidebar{display:flex;flex-direction:column;gap:18px;position:sticky;top:96px}
@media(max-width:920px){.grm-branche__sidebar{position:static}}

.grm-branche__filters{background:#fff;border:1px solid var(--grm-line,#D7DEE7);border-radius:14px;padding:18px;box-shadow:0 2px 6px rgba(4,30,66,.04)}
.grm-branche__filter-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.grm-branche__filter-head h3{font-size:15px;margin:0;letter-spacing:-.01em}
.grm-branche__filter-reset{font-size:12px;color:var(--grm-brand,#103A63);font-weight:700;text-decoration:none}
.grm-branche__filter-reset:hover{color:var(--grm-accent,#1668C7)}

.grm-branche__fgroup{margin-bottom:14px}
.grm-branche__fgroup label{display:block;font-size:12px;font-weight:700;color:var(--grm-ink-500,#55636E);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.grm-branche__finput-wrap{position:relative}
.grm-branche__finput-wrap .material-symbols-rounded{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--grm-brand,#103A63);font-size:18px;pointer-events:none}
.grm-branche__fgroup input[type=text],
.grm-branche__fgroup select{width:100%;padding:10px 12px 10px 36px;border:1px solid var(--grm-line,#D7DEE7);border-radius:10px;font-family:inherit;font-size:14px;color:var(--grm-ink,#041E42);background:var(--grm-canvas,#F5F7FA);outline:none;transition:border-color .14s,box-shadow .14s,background .14s}
.grm-branche__fgroup select{padding-left:12px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#55636E 50%),linear-gradient(135deg,#55636E 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px}
.grm-branche__fgroup input:focus,
.grm-branche__fgroup select:focus{border-color:var(--grm-brand,#103A63);background:#fff;box-shadow:0 0 0 4px rgba(22,104,199,.14)}

.grm-branche__check{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;font-weight:600;color:var(--grm-ink,#041E42);user-select:none;text-transform:none;letter-spacing:0}
.grm-branche__check input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.grm-branche__check-box{flex-shrink:0;width:22px;height:22px;border-radius:6px;border:1.5px solid var(--grm-line,#D7DEE7);background:#fff;display:flex;align-items:center;justify-content:center;transition:background .14s,border-color .14s}
.grm-branche__check-box .material-symbols-rounded{font-size:16px;color:#fff;opacity:0;transform:scale(.6);transition:opacity .14s,transform .14s}
.grm-branche__check input:checked + .grm-branche__check-box{background:var(--grm-brand,#103A63);border-color:var(--grm-brand,#103A63)}
.grm-branche__check input:checked + .grm-branche__check-box .material-symbols-rounded{opacity:1;transform:scale(1)}
.grm-branche__check input:focus-visible + .grm-branche__check-box{outline:3px solid #1668C7;outline-offset:2px}

.grm-branche__filter-apply{width:100%;background:var(--grm-brand,#103A63);color:#fff;border:0;padding:11px 16px;border-radius:10px;font-family:inherit;font-weight:700;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .14s,transform .12s;margin-top:6px}
.grm-branche__filter-apply:hover{background:var(--grm-brand-600,#0B2A49);transform:translateY(-1px)}
.grm-branche__filter-apply .material-symbols-rounded{font-size:18px}

.grm-branche__other{background:#fff;border:1px solid var(--grm-line,#D7DEE7);border-radius:14px;padding:18px;box-shadow:0 2px 6px rgba(4,30,66,.04)}
.grm-branche__other h4{font-size:14px;margin:0 0 12px;color:var(--grm-ink,#041E42)}
.grm-branche__other-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;text-decoration:none;color:var(--grm-ink,#041E42);transition:background .14s,transform .14s}
.grm-branche__other-link:hover{background:#fff;transform:translateX(2px)}
.grm-branche__other-ic{flex-shrink:0;width:32px;height:32px;border-radius:8px;background:color-mix(in srgb,var(--c,#103A63) 14%,#fff);color:var(--c,#103A63);display:flex;align-items:center;justify-content:center}
.grm-branche__other-ic .material-symbols-rounded{font-size:18px}
.grm-branche__other-txt{display:flex;flex-direction:column;line-height:1.2;min-width:0;flex:1}
.grm-branche__other-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.grm-branche__other-count{font-size:11px;color:var(--grm-ink-500,#55636E);font-weight:500;margin-top:2px}

.grm-branche__main{display:flex;flex-direction:column;gap:24px;min-width:0}

.grm-branche__bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 18px;background:#fff;border:1px solid var(--grm-line,#D7DEE7);border-radius:12px;box-shadow:0 2px 6px rgba(4,30,66,.04)}
.grm-branche__count{font-size:14px;color:var(--grm-ink-500,#55636E)}
.grm-branche__count strong{color:var(--grm-ink,#041E42);font-family:var(--grm-font-display);font-weight:800;font-size:18px}
.grm-branche__bar-acties{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.grm-sortwrap{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--grm-ink-500,#55636E)}
.grm-sort{padding:8px 30px 8px 12px;border:1px solid var(--grm-line,#D7DEE7);border-radius:10px;font-family:inherit;font-size:13px;font-weight:600;color:var(--grm-ink,#041E42);background:#fff;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#55636E 50%),linear-gradient(135deg,#55636E 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}
.grm-sort:focus{outline:none;border-color:var(--grm-brand,#103A63);box-shadow:0 0 0 3px rgba(16,58,99,.14)}
.grm-branche__leeg-filter{padding:26px 20px;text-align:center;background:#fff;border:1px dashed var(--grm-line,#D7DEE7);border-radius:12px;color:var(--grm-ink-500,#55636E);font-size:14px}
.grm-branche__active-filters{display:inline-flex;gap:8px;flex-wrap:wrap}
.grm-branche__active-filters span{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--grm-brand,#103A63);background:var(--grm-brand-50,#EDF2F8);padding:4px 10px;border-radius:99px}
.grm-branche__active-filters .material-symbols-rounded{font-size:14px}

.grm-branche__empty{padding:72px 28px;background:#fff;border:1px dashed var(--grm-line,#D7DEE7);border-radius:14px;text-align:center;color:var(--grm-ink-500,#55636E)}
.grm-branche__empty .material-symbols-rounded{font-size:48px;color:var(--c,#103A63);opacity:.45;margin-bottom:12px}
.grm-branche__empty h3{font-size:20px;margin:0 0 8px;color:var(--grm-ink,#041E42)}
.grm-branche__empty p{margin:0 0 22px;font-size:14px;line-height:1.55}
.grm-branche__empty-ctas{display:inline-flex;gap:8px;flex-wrap:wrap;justify-content:center}

.grm-branche__pager{display:flex;justify-content:center;gap:6px;margin-top:16px;flex-wrap:wrap}
.grm-branche__pager .page-numbers{display:inline-flex;align-items:center;gap:4px;min-width:40px;height:40px;padding:0 14px;justify-content:center;border:1px solid var(--grm-line,#D7DEE7);border-radius:12px;text-decoration:none;color:var(--grm-ink,#041E42);font-weight:600;font-size:14px;background:#fff;transition:all .14s}
.grm-branche__pager .page-numbers:hover{border-color:var(--grm-brand,#103A63);color:var(--grm-brand,#103A63);background:var(--grm-brand-50,#EDF2F8)}
.grm-branche__pager .page-numbers.current{background:var(--grm-brand,#103A63);color:#fff;border-color:var(--grm-brand,#103A63)}

@media(max-width:680px){
  .grm-branche__hero{padding:28px 0 28px}
  .grm-branche__hero-head{gap:14px}
  .grm-branche__hero-ic{width:54px;height:54px;border-radius:14px}
  .grm-branche__hero-ic .material-symbols-rounded{font-size:28px}
  .grm-branche__hero-stats{gap:18px;font-size:12px}
  .grm-branche__body{padding:0 14px;margin-top:20px}
}

.grm-branche__sheet-close{display:none;position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:10px;background:#fff;border:1px solid var(--grm-line,#D7DEE7);color:var(--grm-ink,#041E42);cursor:pointer;align-items:center;justify-content:center;z-index:2}
.grm-branche__sheet-close .material-symbols-rounded{font-size:22px}
.grm-branche__sheet-close:hover{background:var(--grm-brand-50,#EDF2F8);color:var(--grm-brand,#103A63)}

.grm-branche__sheet-open{display:none;align-items:center;gap:8px;background:#fff;color:var(--grm-ink,#041E42);border:1px solid var(--grm-line,#D7DEE7);padding:11px 18px;border-radius:12px;font-family:inherit;font-weight:700;font-size:14px;cursor:pointer;box-shadow:0 4px 12px rgba(4,30,66,.06);position:relative;width:100%;justify-content:center;margin-bottom:14px}
.grm-branche__sheet-open:hover{background:var(--grm-brand-50,#EDF2F8);color:var(--grm-brand,#103A63);border-color:var(--grm-brand,#103A63)}
.grm-branche__sheet-open .material-symbols-rounded{font-size:18px;color:var(--grm-brand,#103A63)}
.grm-branche__sheet-open-dot{position:absolute;top:8px;right:14px;width:8px;height:8px;border-radius:50%;background:var(--grm-accent,#1668C7);box-shadow:0 0 0 3px rgba(22,104,199,.22)}

.grm-branche__sheet-backdrop{position:fixed;inset:0;background:rgba(4,30,66,.55);z-index:1199;opacity:0;pointer-events:none;transition:opacity .25s}
.grm-branche__sheet-backdrop.is-open{opacity:1;pointer-events:auto}

@media(max-width:920px){
  .grm-branche__sheet-open{display:inline-flex}
  .grm-branche__sheet-close{display:inline-flex}

  .grm-branche__sidebar{
    position:fixed !important;
    top:auto !important;
    bottom:0;
    left:0;
    right:0;
    z-index:1200;
    background:#fff;
    border-radius:20px 20px 0 0;
    padding:22px 18px 28px;
    max-height:85vh;
    overflow-y:auto;
    transform:translateY(100%);
    transition:transform .35s cubic-bezier(.22,1,.36,1);
    box-shadow:0 -12px 32px rgba(4,30,66,.18);
    gap:14px;
  }
  .grm-branche__sidebar.is-open{transform:translateY(0)}

  .grm-branche__sidebar::before{
    content:"";
    display:block;
    width:48px;height:5px;
    border-radius:99px;
    background:var(--grm-line,#D7DEE7);
    margin:-8px auto 14px;
  }
}

@media(max-width:920px){
  .grm-branche__filter-apply{padding:14px 18px;font-size:15px}
  .grm-branche__fgroup input[type=text],
  .grm-branche__fgroup select{padding:12px 14px 12px 38px;font-size:15px}
  .grm-branche__check{padding:6px 0}
  .grm-branche__check-box{width:24px;height:24px}
  .grm-branche__other-link{padding:12px 12px}
  .grm-branche__filter-reset{padding:8px 4px}
}

@media(max-width:980px){
  .grm-branche{padding-bottom:90px}
}

.grm-branche__main--full{grid-column:1/-1}
.grm-branche__seo{max-width:820px;margin:36px 0 0;padding-top:26px;border-top:1px solid var(--grm-line);color:var(--grm-ink-500)}
.grm-branche__seo h2{font-size:var(--grm-h3);color:var(--grm-ink);margin:0 0 10px}
.grm-branche__seo p{line-height:1.75;margin:0 0 12px}
.grm-branche__seo a{color:var(--grm-brand);font-weight:600}
.grm-branche__seo-links{font-size:14px}
.grm-branche__seo-links strong{color:var(--grm-ink)}
.grm-branche__seo h3{font-size:var(--grm-h4);color:var(--grm-ink);margin:24px 0 8px}
.grm-branche__seo-list{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:7px}
.grm-branche__seo-list li{position:relative;padding-left:24px;font-size:14px;color:var(--grm-ink-500)}
.grm-branche__seo-list li::before{content:"";position:absolute;left:0;top:5px;width:14px;height:14px;border-radius:50%;background:var(--grm-success);-webkit-mask:center/9px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E");mask:center/9px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E")}
.grm-branche__seo-list li b{color:var(--grm-ink)}
.grm-branche__seo-faq details{border-bottom:1px solid var(--grm-line);padding:10px 0}
.grm-branche__seo-faq summary{cursor:pointer;font-weight:600;color:var(--grm-ink);list-style:none}
.grm-branche__seo-faq summary::-webkit-details-marker{display:none}
.grm-branche__seo-faq p{margin:8px 0 0}
.grm-plaats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.grm-plaats-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--grm-line);border-radius:var(--grm-r-md);background:var(--grm-paper);text-decoration:none;transition:border-color var(--grm-dur) var(--grm-ease),background var(--grm-dur) var(--grm-ease)}
.grm-plaats-card:hover{border-color:var(--grm-brand);background:var(--grm-brand-50)}
.grm-plaats-card .material-symbols-rounded{color:var(--grm-brand)}
.grm-plaats-card__txt strong{display:block;color:var(--grm-ink);font-size:15px}
.grm-plaats-card__txt small{color:var(--grm-ink-500)}
@media(max-width:900px){.grm-plaats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.grm-plaats-grid{grid-template-columns:1fr}}
.grm-plaatsen-prov{margin:0 0 22px;padding:0 0 18px;border-bottom:1px solid var(--grm-line)}
.grm-plaatsen-prov:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.grm-plaatsen-prov__title{font-size:var(--grm-h4);color:var(--grm-ink);margin:0 0 8px}
.grm-plaatsen-prov__title a{color:var(--grm-ink);font-weight:700;text-decoration:none}
.grm-plaatsen-prov__title a:hover{color:var(--grm-brand)}
.grm-plaatsen-prov .grm-branche__seo-links{font-size:14px;line-height:1.95;color:var(--grm-ink-500)}
.grm-plaatsen-prov .grm-branche__seo-links a{color:var(--grm-brand);font-weight:600;text-decoration:none}
.grm-plaatsen-prov .grm-branche__seo-links a:hover{text-decoration:underline}
.grm-groepstrip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px;background:#fff;border:1px solid var(--grm-line,#D7DEE7);border-radius:12px}
.grm-groepstrip__lbl{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--grm-ink-500,#55636E);margin-right:4px}
.grm-groepstrip__chip{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:#F5F7FA;border:1px solid transparent;font-size:13px;font-weight:600;color:var(--grm-success-text,#0b2a49);text-decoration:none;transition:background .14s,border-color .14s,color .14s}
.grm-groepstrip__chip:hover{background:#EDF2F8;border-color:#D7DEE7;color:var(--grm-brand,#103A63)}
.grm-logorij{background:#fff;border:1px solid var(--grm-line,#D7DEE7);border-radius:14px;padding:18px 20px}
.grm-logorij__titel{font-size:15px;font-weight:800;color:var(--grm-ink,#041E42);margin:0 0 14px}
.grm-logorij__rij{display:flex;gap:14px;flex-wrap:wrap}
.grm-logorij__item{position:relative;width:74px;height:74px;border-radius:12px;border:1px solid var(--grm-line,#D7DEE7);background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:border-color .14s,box-shadow .14s}
.grm-logorij__item:hover{border-color:var(--grm-brand,#103A63);box-shadow:0 6px 16px rgba(4,30,66,.10)}
.grm-logorij__item img{max-width:82%;max-height:82%;object-fit:contain}
.grm-logorij__keur{position:absolute;right:3px;bottom:3px;font-size:15px;color:var(--grm-brand,#103A63);background:#fff;border-radius:50%}
.grm-tabs{display:flex;gap:4px;border-bottom:2px solid var(--grm-line,#D7DEE7);margin-bottom:20px}
.grm-tabs__tab{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border:0;background:none;font-family:inherit;font-size:15px;font-weight:700;color:var(--grm-ink-500,#55636E);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .14s,border-color .14s}
.grm-tabs__tab:hover{color:var(--grm-brand,#103A63)}
.grm-tabs__tab.is-actief{color:var(--grm-brand,#103A63);border-bottom-color:var(--grm-brand,#103A63)}
.grm-tabs__tel{font-size:12px;font-weight:800;background:var(--grm-brand-50,#EDF2F8);color:var(--grm-brand,#103A63);border-radius:999px;padding:2px 8px}
.grm-tabs__tab.is-actief .grm-tabs__tel{background:var(--grm-brand,#103A63);color:#fff}
.grm-tabs__paneel[hidden]{display:none}
.grm-tabs__paneel .grm-shopgrid{padding-left:0;padding-right:0}
/* Op een telefoon loopt de lijst eromheen van rand tot rand; dat is gewild
   voor kaarten, maar de inhoud van een tabblad plakte daardoor tegen het glas.
   Die krijgt zijn eigen inspringing terug. */
@media(max-width:900px){
  .grm-tabs__paneel{padding-left:14px;padding-right:14px}
  .grm-tabs__paneel .grm-shopgrid{margin-left:-14px;margin-right:-14px}
}
.grm-cattegels{margin:0 0 4px}
.grm-cattegels__kop{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.grm-cattegels__kop h2{font-size:17px;margin:0}
.grm-cattegels__kop a{font-size:13px;font-weight:700;color:var(--grm-brand,#103A63);text-decoration:none;white-space:nowrap}
.grm-cattegels__kop a:hover{text-decoration:underline}
.grm-cattegels__rij{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:12px}
.grm-cattegel{display:flex;flex-direction:column;gap:6px;padding:10px;background:#fff;border:1px solid var(--grm-line,#D7DEE7);border-radius:14px;text-decoration:none;transition:border-color .16s,box-shadow .16s,transform .16s;min-width:0}
.grm-cattegel:hover{border-color:var(--c,#103A63);box-shadow:0 8px 22px rgba(4,30,66,.10);transform:translateY(-2px)}
.grm-cattegel__beeld{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:color-mix(in srgb,var(--c,#103A63) 10%,#fff)}
.grm-cattegel__beeld img{width:100%;height:100%;object-fit:cover}
.grm-cattegel__beeld .material-symbols-rounded{font-size:30px;color:var(--c,#103A63)}
.grm-cattegel__naam{font-size:13.5px;font-weight:700;color:var(--grm-ink,#041E42);line-height:1.25;overflow-wrap:anywhere}
.grm-cattegel__tel{font-size:11.5px;color:var(--grm-ink-500,#55636E)}
@media(max-width:640px){.grm-cattegels__rij{grid-template-columns:repeat(auto-fill,minmax(min(100%,124px),1fr));gap:10px}}
.grm-branche__hero.has-foto .grm-branche__hero-bg{background:linear-gradient(100deg,rgba(4,30,66,.94) 0%,rgba(4,30,66,.86) 45%,color-mix(in srgb,var(--c,#103A63) 55%,rgba(4,30,66,.55)) 100%);z-index:1}
.grm-branche__hero.has-foto .grm-branche__hero-in{position:relative;z-index:2}
.grm-logorij__item{width:auto;height:auto;flex-direction:column;align-items:center;gap:6px;padding:12px 10px;text-decoration:none;min-width:104px;max-width:132px}
.grm-logorij__logo{position:relative;width:64px;height:64px;border-radius:12px;border:1px solid var(--grm-line,#D7DEE7);background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.grm-logorij__logo img{max-width:82%;max-height:82%;object-fit:contain}
.grm-logorij__naam{font-size:12.5px;font-weight:700;color:var(--grm-ink,#041E42);text-align:center;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.grm-logorij__meta{font-size:11px;color:var(--grm-ink-500,#55636E)}

.grm-themarij{margin:38px 0 0;min-width:0}
.grm-themarij__kop{display:flex;flex-direction:column;gap:2px;margin-bottom:14px}
.grm-themarij__kop h2{margin:0;font-family:"Inter Tight",sans-serif;font-size:21px;font-weight:800;color:#041E42;letter-spacing:-.01em}
.grm-themarij__kop p{margin:0;font-size:14px;color:#55636E}
.grm-themarij .grm-carrousel__spoor .grm-bk{flex:0 0 250px;max-width:250px}
@media (max-width:760px){
  .grm-themarij{margin-top:28px}
  .grm-themarij__kop h2{font-size:18px}
  .grm-themarij .grm-carrousel__spoor .grm-bk{flex:0 0 208px;max-width:208px}
}

.grm-branche__hero.has-merkbeeld .grm-branche__hero-bg{background:linear-gradient(100deg,var(--c) 8%,rgba(4,30,66,.82) 62%,rgba(4,30,66,.9) 100%)}
.grm-branche__hero-ic{background:color-mix(in srgb,var(--c) 30%,#fff 70%);color:var(--c)}
.grm-branche__hero-ic .material-symbols-rounded{color:var(--c)}

.grm-branche__main--breed{grid-column:1/-1}
/* De ruimte rond deze rij staat in grootmarkt-polish.css; twee bestanden die
   allebei de marge zetten liepen uit elkaar. */
.grm-groep__tegels{min-width:0}
.grm-groep__tegels h2{margin:0 0 16px;font-family:"Inter Tight",sans-serif;font-size:22px;font-weight:800;color:#041E42}
.grm-groep__raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px;min-width:0}
.grm-groep__tegel{display:flex;flex-direction:column;gap:0;border:1px solid var(--grm-line-soft,#eaeff5);border-radius:12px;overflow:hidden;background:#fff;color:#041E42;text-decoration:none;min-width:0;transition:border-color .15s,box-shadow .15s,transform .15s}
.grm-groep__tegel:hover{border-color:var(--c,#1668C7);box-shadow:0 10px 24px rgba(16,58,99,.12);transform:translateY(-2px)}
.grm-groep__tegel-beeld{display:block;aspect-ratio:4/3;overflow:hidden;background:#EDF2F8}
/* Met het element erbij: een tel zwaarder dan de themaregel .main-content
   img{height:auto}, die later laadt en anders wint. height:auto op een nog
   niet geladen lazy-foto is hoogte nul, en een foto van nul pixels begint
   nooit te laden: de tegel bleef grijs en trok nooit meer bij. */
span.grm-groep__tegel-beeld img{width:100%;height:100%;object-fit:cover;background:#fff;display:block}
.grm-groep__tegel-naam{display:block;padding:11px 13px;font-size:14px;font-weight:700;line-height:1.3}
@media (max-width:600px){
  .grm-groep__raster{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}
  .grm-groep__tegel-naam{padding:9px 10px;font-size:13px}
}

.grm-branche{--c-zacht:#EDF2F8;--c-radius:12px}
.grm-branche .grm-groep__tegel,
.grm-branche .grm-themarij .grm-bk,
.grm-branche .grm-cattegel{border-radius:var(--c-radius)}
.grm-branche .grm-groep__tegel-beeld{border-radius:0}

.grm-themarij{padding:26px 22px;border-radius:var(--c-radius);background:var(--c-zacht)}
.grm-themarij+.grm-themarij{margin-top:20px}
/* Dit paneel sluit direct op de hero aan, dus bovenaan geen ronde hoeken:
   een afgerond blok tegen een strakke herorand leest als een losse tegel die
   er half afvalt. Onderaan rondt hij wel af. De padding staat bij de
   containerregel in grootmarkt-polish.css, zodat er maar een eigenaar is. */
.grm-groep__tegels{border-radius:0 0 var(--c-radius) var(--c-radius);background:var(--c-zacht)}
/* Dezelfde rij staat sinds de zoekresultaten ook buiten .grm-branche, boven de
   bedrijvenlijst. Daar bestaan --c-zacht en --c-radius niet, en dan valt de
   achtergrond helemaal weg omdat een var() zonder waarde en zonder terugval
   ongeldig is. Eigen waarden, gelijk aan die van de categoriepagina. */
.grm-groep__tegels--suggestie{border-radius:0 0 12px 12px;background:#EDF2F8}
.grm-branche__seo{padding:30px 24px;border-radius:var(--c-radius);background:var(--c-zacht)}

.grm-branche.is-sfeer-strak{--c-radius:6px}
.grm-branche.is-sfeer-strak .grm-themarij__kop h2,
.grm-branche.is-sfeer-strak .grm-groep__tegels h2{letter-spacing:-.005em;text-transform:none}
.grm-branche.is-sfeer-strak .grm-groep__tegel{border-width:1px;box-shadow:none}
.grm-branche.is-sfeer-zacht .grm-groep__tegel{border-color:transparent;box-shadow:0 2px 10px rgba(4,30,66,.07)}
.grm-branche.is-sfeer-zacht .grm-themarij__kop h2{letter-spacing:-.02em}

@media (max-width:760px){
  /* .grm-groep__tegels stond hier ook in. Die rij heeft sinds de aansluiting
     op de hero een eigen boven- en onderpadding in grootmarkt-polish.css, en
     twee bestanden die allebei de padding zetten liepen uit elkaar. */
  .grm-themarij,.grm-branche__seo{padding:20px 15px}
}

.grm-groep__producten{margin:34px 0 0;padding:26px 22px;border-radius:var(--c-radius);background:var(--c-zacht);min-width:0}
.grm-groep__producten-kop{margin-bottom:16px}
.grm-groep__producten-kop h2{margin:0 0 3px;font-family:"Inter Tight",sans-serif;font-size:22px;font-weight:800;color:#041E42}
.grm-groep__producten-kop p{margin:0;font-size:14px;color:#55636E}
.grm-groep__producten .grm-shopgrid__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:14px;min-width:0}
.grm-groep__producten-meer{margin:18px 0 0;text-align:center}
@media (max-width:640px){
  .grm-groep__producten{padding:20px 15px;margin-top:26px}
  .grm-groep__producten .grm-shopgrid__grid{grid-template-columns:repeat(auto-fill,minmax(152px,1fr));gap:10px}
}

.grm-seo-tel{display:inline-block;padding:0 5px;margin-left:2px;border-radius:8px;background:#EDF2F8;color:#55636E;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}
.grm-branche__seo-links a:hover .grm-seo-tel{background:var(--grm-brand-100,#d3e0ef);color:#103A63}

/* Alle branches op één hub: gegroepeerd onder hun hoofdgroep in plaats van
   vijfentachtig tegels achter elkaar. */
.grm-hublijst{display:flex;flex-direction:column;gap:14px;min-width:0}
.grm-hublijst__groep{border:1px solid var(--grm-line-soft,#eaeff5);border-radius:14px;background:#fff;overflow:hidden}
.grm-hublijst__kop{display:flex;align-items:center;gap:13px;margin:0;padding:15px 18px;border-bottom:1px solid #EDF2F8;background:#fff;font-family:"Inter Tight",sans-serif;font-size:18px;font-weight:800;color:#041E42}
.grm-hublijst__ic{flex:0 0 auto;width:40px;height:40px;border-radius:10px;background:#EDF2F8;display:flex;align-items:center;justify-content:center}
.grm-hublijst__ic .material-symbols-rounded{font-size:22px;color:var(--c,#103A63)}
.grm-hublijst__kop-txt{display:flex;flex-direction:column;gap:1px;min-width:0}
.grm-hublijst__kop-txt small{font-size:12.5px;font-weight:500;color:var(--grm-ink-400,#7A8794)}
.grm-hublijst__alles{margin-left:auto;flex:0 0 auto;padding:7px 13px;border-radius:8px;background:var(--c,#103A63);color:#fff;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}
.grm-hublijst__alles:hover{background:#0B2A49;color:#fff}
.grm-hublijst__subs{display:grid;grid-template-columns:repeat(auto-fill,minmax(224px,1fr));gap:2px;padding:8px}
.grm-hublijst__sub{display:flex;align-items:center;gap:8px;padding:11px 13px;border-radius:8px;color:var(--grm-ink-700,#33424f);font-size:14.5px;text-decoration:none}
.grm-hublijst__sub:hover{background:#EDF2F8;color:var(--c,#103A63)}
.grm-hublijst__sub .grm-tel{margin-left:auto;background:#EDF2F8;color:var(--grm-ink-400,#7A8794)}

@media (max-width:640px){
  .grm-hublijst__kop{padding:13px 14px;font-size:16px;flex-wrap:wrap}
  .grm-hublijst__alles{margin-left:0;order:3;width:100%;text-align:center}
  .grm-hublijst__subs{grid-template-columns:1fr;padding:6px}
  .grm-hublijst__sub{min-height:48px;font-size:15px}
}

.grm-faq{margin:32px 0 8px;max-width:820px}
.grm-faq__kop{font-size:20px;font-weight:800;color:var(--grm-ink);margin:0 0 14px}
.grm-faq__lijst{display:flex;flex-direction:column;gap:10px}
.grm-faq__item{border:1px solid var(--grm-line);border-radius:var(--grm-r-md);background:var(--grm-paper);overflow:hidden}
.grm-faq__vraag{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;font-size:15.5px;font-weight:700;color:var(--grm-ink);cursor:pointer;list-style:none}
.grm-faq__vraag::-webkit-details-marker{display:none}
.grm-faq__vraag .material-symbols-rounded{color:var(--grm-brand);font-size:22px;transition:transform .18s ease}
.grm-faq__item[open] .grm-faq__vraag .material-symbols-rounded{transform:rotate(180deg)}
.grm-faq__antwoord{padding:0 18px 16px}
.grm-faq__antwoord p{margin:0;color:var(--grm-ink-500);font-size:15px;line-height:1.65}
@media (max-width:640px){
  .grm-faq__vraag{font-size:15px;padding:14px 15px}
  .grm-faq__antwoord{padding:0 15px 14px}
}

.grm-leeg{max-width:1000px;margin:0 auto;padding:8px 0 12px}
.grm-leeg__kop{text-align:center;padding:34px 24px 30px;background:var(--grm-canvas,var(--grm-canvas,#f5f7fa));border:1px solid var(--grm-line,#D7DEE7);border-radius:18px;margin-bottom:26px}
.grm-leeg__kop .material-symbols-rounded{font-size:40px;color:var(--grm-brand,#103A63);opacity:.7}
.grm-leeg__kop h2{margin:10px 0 12px;font-family:var(--grm-font-display,"Inter Tight",sans-serif);font-size:clamp(21px,2.6vw,27px);font-weight:800;letter-spacing:-.01em;color:var(--grm-ink,#041E42)}
.grm-leeg__kop p{margin:0 auto;max-width:70ch;font-size:15.5px;line-height:1.7;color:var(--grm-ink-700,var(--grm-ink-700,#33424f))}
.grm-leeg__routes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-bottom:26px}
.grm-leeg__route{background:#fff;border:1px solid var(--grm-line,#D7DEE7);border-radius:16px;padding:22px 22px 24px}
.grm-leeg__route h3{margin:0 0 10px;font-family:var(--grm-font-display,"Inter Tight",sans-serif);font-size:17.5px;font-weight:800;color:var(--grm-ink,#041E42)}
.grm-leeg__route p{margin:0 0 14px;font-size:14.8px;line-height:1.65;color:var(--grm-ink-700,var(--grm-ink-700,#33424f))}
.grm-leeg__links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.grm-leeg__links a{display:inline-flex;align-items:center;padding:7px 13px;border-radius:99px;background:var(--grm-canvas,var(--grm-canvas,#f5f7fa));border:1px solid var(--grm-line,#D7DEE7);font-size:13.5px;font-weight:600;color:var(--grm-brand,#103A63);text-decoration:none;transition:background .15s ease,border-color .15s ease}
.grm-leeg__links a:hover{background:#fff;border-color:var(--grm-accent,#1668C7);color:var(--grm-accent,#1668C7)}
/* De aanmeldoproep onder een lege lijst hoort bij de hero van diezelfde
   pagina. Hij stond vast op het marineblauw van het merk, ook als de beheerder
   de hero van die categorie een eigen kleur had gegeven in het beeldpaneel.
   --grm-heromerk-* komt van GRMF_Fotoplekken en staat er alleen als die kleur
   werkelijk gekozen is; anders blijft het merkverloop staan. */
.grm-leeg__aanmeld{
  /* Het blok blijft var(--grm-rij-merk) gebruiken, zodat het net als elke
     andere rij via het token loopt. Alleen de inhoud van dat token wordt hier
     omgezet: staat er een herokleur voor deze pagina, dan die, anders het
     merkverloop zoals het altijd was. De terugval leest de twee stops van het
     token zelf, zodat die kleuren hier niet nog een keer staan. */
  --grm-rij-merk:linear-gradient(135deg,var(--grm-heromerk-1,var(--grm-rij-merk-1)) 0%,var(--grm-heromerk-2,var(--grm-rij-merk-2)) 100%);
  background:var(--grm-rij-merk);
  color:#fff;border-radius:18px;padding:30px 28px;
}
.grm-leeg__aanmeld h3{margin:0 0 10px;font-family:var(--grm-font-display,"Inter Tight",sans-serif);font-size:20px;font-weight:800;color:#fff}
.grm-leeg__aanmeld p{margin:0 0 18px;font-size:15px;line-height:1.68;color:rgba(255,255,255,.92);max-width:78ch}
.grm-leeg__ctas{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:560px){
    .grm-leeg__kop{padding:26px 18px 24px;border-radius:14px}
    .grm-leeg__route{padding:18px}
    .grm-leeg__aanmeld{padding:24px 20px;border-radius:14px}
}

