/*
Theme Name: RollemaMedia
Theme URI: https://www.rollemamedia.nl/
Author: Rollema Media
Author URI: https://www.rollemamedia.nl/
Description: Een door Rollema Media ontwikkelde template voor JCI Vechtdal.
Version: 2026-08-30
License: GNU General Public License
License URI: https://www.gnu.org/licenses/gpl.html
Text Domain: rollemamedia
*/

:root {
--primary-color: #0097D7;
--primary-navy: #1F4789;
--main-text: #130F2D;
--main-teal: #57BCBC;
--main-signal: #EFC40F;
--main-white: #FFFFFF;
--link: rgba(31, 71, 137, 0.5);
--font-body: 'Plus Jakarta Sans', 'Readex Pro', sans-serif;
--font-headers: 'Arvo', serif;
}
h1 { font-family: var(--font-headers); font-size: 42px; font-weight: 400; }
h2 { font-family: var(--font-headers); font-size: 32px; font-weight: 400; }
h3 { font-family: var(--font-headers); font-size: 28px; font-weight: 400; } 
p, .gform_confirmation_message { font-family: var(--font-body); letter-spacing: 0.5px; font-size: 15px; } 
ul { font-family: var(--font-body); letter-spacing: 0.5px; font-size: 15px; }
html, body { margin: 0; padding: 0; }
a { color: var(--primary-navy); transition: .3s; }
a:hover { color: var(--main-teal); }


.elementor-widget:not(:last-child) { margin-bottom: 0 !important; }

select { -moz-appearance: none; -webkit-appearance: none; appearance: none; padding: 15px 40px 15px 15px; border: 1px solid #ccc; border-radius: 3px; color: #2d2d2f; background: #fff url('https://cdn.onlinewebfonts.com/svg/img_295694.svg') no-repeat; background-size: 14px; background-position: 97% 50%; }
input,
textarea { border: 1px solid #ccc; border-radius: 3px; padding: 10px; font-family: var(--font-body); font-size: .9em; font-weight: 300; }

main { max-width: 1600px; margin: 0 auto; }
main .container { padding: 10px; }

header h1 { padding: 0 10px; }

.melding-balk { padding: 10px; color: #fff; text-align: center; }
.melding-balk a { color: #fff; }

/* Header */
header#header { position: sticky; top: 0;  background-color: var(--main-white); z-index: 999; }  
#header {  font-family: var(--font-body); font-weight: 600; text-transform: uppercase; margin: 0 auto;  }
#branding img { width: 120px; }
.inner-header { max-width: 1600px; margin: 0 auto; padding: 10px 40px; display: flex; flex-direction: row; flex-wrap: wrap; align-content: center; justify-content: space-between; align-items: center; box-sizing: border-box;  }

.mega-social a.mega-menu-link:before { content: ""; font-family: "Font Awesome 7 BRANDS" !important; font-weight: 500 !important; font-size: 20px !important; color: #fff !important; background: var(--primary-navy) !important; padding: 5px !important; width: 30px !important; height: 30px !important; border-radius: 100% !important; display: flex !important; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: center; transition: .3s !important; }
.mega-social a.mega-menu-link:hover:before { background: var(--main-teal) !important; }
.mega-social.mega-instagram a.mega-menu-link:before { content: "\f16d"; }
.mega-social.mega-facebook a.mega-menu-link:before { content: "\f39e"; }

/* Footer */
footer { font-family: var(--font-body); box-sizing: border-box; background-color: #1F4789; color: white; }
#copyright { max-width: 1600px; margin: 0 auto; padding: 10px 40px; box-sizing: border-box; }

/* FAQ - Begin */
.faq { margin: 0; }
.faq .single-faq { background: #eee; padding: 20px; font-size: .8em; border-radius: 10px; margin: 0 0 20px; }
.faq .faq-vraag a { text-decoration: none; font-weight: 500; display: flex; align-items: center; }
.faq .faq-vraag a:before { content: "\f13a"; font-weight: 300; font-family: "Font Awesome 6 PRO"; font-size: 1.1em; margin-right: 10px; transition: .3s; }
.faq .faq-vraag.active a:before { content: "\f139"; }
.faq .faq-antwoord { margin: 10px 0 0 0; }
.faq .faq-antwoord p:nth-last-child(-n+1) { margin: 0; }
.faq .subtitel { font-size: 1.1em; font-weight: 600; }
/* FAQ - Einde */

/* Pagina CSS - Begin */
.home .pagina-hero { height: fit-content; min-height: calc(50vh - 40px); padding: 40px 40px; display: flex ; flex-direction: column; justify-content: flex-end; background-size: cover; position: relative; background-position: 50% 50%; overflow: hidden; }
.home .pagina-hero::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: url('/wp-content/uploads/achtergrond-blauw.png'); background-size: cover; background-position: center; opacity: 0.4; pointer-events: none; z-index: 1; 
background-attachment: fixed;
background-position: center;
background-repeat: no-repeat;
background-size: cover;}
.pagina-hero { height: calc(20vh - 40px); min-height: 200px; padding: 40px 40px; display: flex ; flex-direction: column; justify-content: flex-end; background-size: cover; position: relative; background-position: 50% 50%; }
.pagina-hero::before { content: ''; position: absolute; background: rgba(31, 71, 137, 0.736); top: 0; left: 0; width: 100%; height: 100%; }
.pagina-hero::after { content: ''; position: absolute;  inset: 0;  left: 0; bottom: 0; width: 100%; height: 5vh; clip-path: path("M 0 0 H 100 V 90 Q 50 100 0 90 Z"); }
.pagina-hero .content { color: #fff; z-index: 9; max-width: 70%; display: flex ; justify-content: flex-start; flex-direction: column; flex-wrap: wrap; gap: 0; margin: 0; position: relative; }
.pagina-hero .content h1 { color: #fff; font-size: 1.8em; line-height: 30px; font-weight: 900; letter-spacing: 1.2px; margin: 0 0 20px; }
.pagina-hero .content .woocommerce-breadcrumb,
.pagina-hero .content .woocommerce-breadcrumb a { color: #fff; font-size: .7em; }

.rm-container { margin: 0 auto; padding: clamp(24px,3vw,20px) 16px; }
.rm-container .knop { display:  inline-block; }
.rm-container.rm-grid.rm-1200 { max-width: calc(1600px - 80px); padding: 80px 0px; }
.rm-container h2.titel { font-weight: 900; font-size: 1.5em; text-align: center;  }
.rm-grid { display: grid; gap: clamp(16px,2vw,32px); max-width: calc(1600px - 20px); padding: 20px; width: 100%; margin: 0 auto; position: relative; align-items: center; box-sizing: border-box; }
.inner-container { display: grid; gap: clamp(16px,2vw,32px); max-width: calc(1600px - 80px);  width: 100%; margin: 0 auto; position: relative; box-sizing: border-box; }
.has-bg-photo { position: relative; color: #fff; }
.has-bg-photo::before { content: ''; position: absolute; background: rgba(31, 71, 137, 0.736); top: 0; left: 0; width: 100%; height: 100%; }

/*tekstblok overlap*/
.rm-col-overlap.tekstblok-overlap { background-color: #f9f9f9; padding: 40px; border-radius: 10px; margin-right: -80px; z-index: 1; box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;  }
.rm-col-overlap.tekstblok-rechts-overlap { background-color: #f9f9f9; padding: 40px; border-radius: 10px; margin-left: -80px; z-index: 1; box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;  }
.rm-col-overlap img { border-radius: 10px; width: 100%; max-height: 500px !important; object-fit: cover;}

/* Iconen */
.rm-card-icon { font-family: "Font Awesome Pro 7"; font-size: 55px; }
.rm-card.icon-center { align-items: center; }

.rm-blokken-3 .rm-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: stretch;
}
.rm-blokken-2 .rm-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: stretch;
}

.rm-card {
    height: 100%;
}
.homepage-blokken.contact .rm-card-link .rm-card { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; }

.knop-opmaak { background-color: #1F4789; padding: 8px 20px; display: inline-block; }
.knop-opmaak:hover { background-color: var(--link); }

/* Tekstblok - Afbeelding */
.rm-col.tekstblok { background-color: rgba(19, 15, 45, 0.1); padding: 40px; border-radius: 0; z-index: 1; box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;  }
.rm-col.tekstblok-rechts {  background-color: rgba(19, 15, 45, 0.1); padding: 40px; border-radius: 0; z-index: 1; box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;  }
.rm-col.tekstblok h3,
.rm-col.tekstblok-rechts h3 { color: #000 !important; font-family: var(--font-headers); font-size: 28px; font-weight: 400; line-height: 32px; letter-spacing: 0.5px;}
.rm-col.tekstblok h2,
.rm-col.tekstblok-rechts h2 { color: #000; font-family: var(--font-headers); }
.rm-col.tekstblok p,
.rm-col.tekstblok-rechts p { color: var(--main-text); } 


.rm-grid.rm-2col { display: grid; align-items: stretch; }



/* Afbeelding - tekstblok */
.wens .rm-col img { object-fit: contain; }
.rm-blok.heeft-foto::before { background: rgba(8, 58, 92, .8); position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; content: '';  }

/* .rm-blok.rm-blokken-naast-elkaar { display: grid; grid-column: 3; } */
.commissies p,
.commissies ul { color: var(--main-text); }
.commissies a.rm-card-link { color: var(--primary-navy) !important; }
.commissies .knop-opmaak { background-color: var(--primary-color); color: var(--main-white); }
.commissies .knop-opmaak:hover { background-color: var(--main-text);}

.rm-col img { border-radius: 15px 0; width: 100%; max-height: 450px; object-fit: cover; }
.rm-2col { grid-template-columns: repeat(2,minmax(0,1fr)); z-index: 9; padding-top: 60px; }
.rm-responsive { align-items: center; }
/* .rm-auto-cols { grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); } */
.rm-auto-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; align-items: start; }

h2.rm-container { font-family: font-family: var(--font-headers); width: 90%; font-size: 1.8em !important; font-weight: 600 !important; text-transform: uppercase !important; line-height: 50px !important; letter-spacing: 0.5px; text-align: center; }

.rm-container.rm-grid.rm-1200 { margin-bottom: 0px; z-index: 10; }
.rm-container .titel-blok { font-family: var(--font-headers); font-size: 28px; font-weight: 400; line-height: 35px;  }
.rm-center { text-align: center; }

.rm-wysiwyg :where(p,ul,ol) { margin: 0 0 10px; }
.rm-wysiwyg.intro { font-size: .8em; }


/* Leden */
.rm-shortcode { padding: 0px; }
.lid-foto img { border-radius: 15px 0px; height: 250px; width: 250px; object-fit: cover; box-shadow: 16px 16px var(--main-teal); margin-bottom: 15px; }
.leden-grid { display: grid; grid-template-columns: repeat(3, 1fr); justify-items: center; }
.lid { align-items: center; display: flex; flex-direction: column; }
.leden-grid .lid h3  { margin: 0; font-size: 23px; }
.leden-grid .lid .functie { text-transform: italic; margin: 0; }
.leden-grid .lid .bedrijf { text-transform: uppercase; }
.rm-shortcode.leden-blok h2 { text-align: center; }


/* Afbeelding volledige breedte */
.rm-afbeelding-volledige-breedte { width: 100%; height: 600px; background-size: cover; background-position: center; position: relative; }
.rm-afbeelding-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; /* overlaykleur of semi-transparant zwart bv: rgba(0,0,0,0.4) */ }


a.hero-button {  width: fit-content !important; background-color: var(--primary-color); font-family: var(--font-body); font-size: .9em; color: #fff !important; font-weight: 600; border-style: none; border-radius: 2px; padding: 10px 40px 10px 40px; margin-top: 20px; text-decoration: none; }  
.hero-button:hover { background-color:  #fff;; color: #2d2d2f !important; }

.rm-container .knop.primair { background-color: var(--primary-navy); font-family: var(--font-headers); font-size: .9em; color: #fff !important; border-style: none; border-radius: 3px 3px 3px 3px; padding: 10px 40px 10px 40px; text-decoration: none; }  
.rm-container .knop.primair:hover { background-color:  var(--primary-color); color: var(--main-text); }

.rm-container .knop.secundair:hover { background-color:  #083a5c !important; color: #fff !important; }

.rm-hero-over-image { position:relative; color: #111; }
.rm-hero-over-image .rm-hero-inner {  max-width: 1600px; box-sizing: border-box; min-height: 450px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 10px 40px; }
.cta-blok .rm-hero-text.rm-wysiwyg { width: 50%; }
.cta-blok .rm-hero-text.rm-wysiwyg a { color: var(--primary-navy); }

.rm-card,
.rm-product-card { background: #fff; border: 0px solid #333; border-radius: 10px; padding: 20px; box-shadow: 0 0 20px -10px rgba(0, 0, 0, .3); transition: .4s; }
.rm-card:hover,
.rm-product-card:hover { box-shadow: 0 0 20px -10px rgba(0, 0, 0, .6);  }
.rm-card-link { text-decoration: none; margin-bottom: 40px;  }
.rm-card-media img { display: block; width: 100%; height: 250px; object-fit: cover; border-radius: 5px; }
.rm-logos img,
.rm-product-media img { display: block; max-width: 100%; height: 200px; border-radius: 5px; object-fit: contain; }
.rm-logos-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(120px,1fr)); gap: 24px; align-items: center; }
.logo-titel { text-align: center; }

.rm-products-grid { display: grid ; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: clamp(16px, 2vw, 32px); max-width: 1600px; padding: 0; width: 100%; margin: 0 auto; position: relative; }
.rm-product-title { font-size: 1.1rem; margin: .5rem 0; }
.rm-product-price del{opacity:.7;margin-right:.35em;}
.rm-product-price ins{text-decoration:none;}

/* Homepage blokken */
.homepage-blokken .rm-card-link { color: var(--main-white); }
.homepage-blokken .rm-card-link .rm-card { border-radius: 0; }

/* Formulier - home */
.formulier-home .rm-container.rm-grid.rm-1200 { max-width: 800px;  }
section.rm-blok.rm-text-1200.formulier-home { margin: 40px auto 0; background-color: var(--primary-color);  }
.gform-body.gform_body { font-family: var(--font-body);  }
.formulier-home .rm-container .titel-blok { color: var(--main-white); }
.formulier-home .rm-container .rm-wysiwyg { color: var(--main-white); }

/* Gravity forms - Begin */
.gform-theme--framework .gform-field-label:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) { color: var(--main-white); }
.gform_button.button { background-color: var(--primary-navy) !important; font-family: var(--font-body) !important; }
.gform_button.button:hover { background-color: var(--main-teal) !important; }
.gform-theme--framework .field_sublabel_above .gform-field-label--type-sub { color: white; }
#gform_wrapper_1 { --gf-ctrl-label-color-primary: var(--main-white) !important; }
#gform_wrapper_1 .gfield_required_text { color: var(--main-signal); }
/* Gravity forms - Einde */

/* Vormscheiding (asymmetrische boog) */
.rm-shape-sep svg path { fill: #fff; /* of een andere kleur */ }
.rm-shape-sep--top svg path { transform: rotate(180deg); }

/* Sectie spacing */
.rm-blok { position: relative; padding: 40px; }
.rm-blok + .rm-blok { margin-top: 40px; }

section.rm-blok.rm-text-1200.formulier-home { margin: 0 auto 0; }

 
/* Pagina CSS - Einde */

/* Single Post - Begin */
.pagina-hero-bericht { height: fit-content; min-height: 0; padding: 40px 40px; display: flex ; flex-direction: column; justify-content: flex-end; background-size: cover; position: relative; background-position: 50% 50%; }
.pagina-hero-bericht::before { content: ''; position: absolute; background: rgba(31, 71, 137, 0.736); top: 0; left: 0; width: 100%; height: 100%; }
.pagina-hero-bericht::after { content: ''; position: absolute;  inset: 0;  left: 0; bottom: 0; width: 100%; height: 5vh; clip-path: path("M 0 0 H 100 V 90 Q 50 100 0 90 Z"); }
.single-post .post-layout { max-width: 1600px; margin: 0 auto; padding: 40px; font-family: var(--font-body); }
.single-post .post-title { margin: 0px; }
.single-post .post-content-wrapper { display: flex; gap: 40px; justify-content: space-between; }
.single-post .content-text { display: flex; flex-direction: column; width: 60%; }
.single-post .post-text { flex: 1; }
.single-post .post-image { flex: 0.8; }
.single-post .post-image img { width: 100%; max-height: 450px; display: block; object-fit: cover; border-radius: 2px; box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;  }
.single-post .post-meta { margin-top: 10px; margin-bottom: 20px; font-size: 0.9rem; color: #777; }
.single-post a { color: var(--link); text-decoration: none; }
.single-post a:hover { color: var(--primary-hover); }
.fa-light.fa-arrow-turn-down-left { vertical-align: sub; }

/* Single Post - Einde */

/* Archive */
.pagina-hero-bericht h1 { color: #fff; font-size: 2rem; }
.archive-posts { padding: 40px; }
.posts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; padding: 0; }
.post-card { background: #fff; border-radius: 2px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.08); display: flex; flex-direction: column;  }
.post-card-image img { width: 100%; height: 300px; object-fit: cover; display: block; }
.post-card-content { padding: 1.5rem; display: flex; flex-direction: column; flex-grow: 1; font-family: var(--font-body); }
.post-card-title { margin: 0 0 1rem; font-size: 1.2rem; }
.post-card-title a { text-decoration: none; color: var(--primary-color); }
.post-card-excerpt { flex-grow: 1; color: #555; margin-bottom: 1.5rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.post-card-button { align-self: flex-start; padding: 0.6rem 1.2rem; background-color: var(--primary-color); color: #fff; text-decoration: none; border-radius: 2px; font-size: 0.9rem; }
.post-card-button:hover { background-color: var(--main-signal); color: var(--main-white); }

/* Agendapunten */
.agenda{ max-width:1000px; font-family: var(--font-body); }
.agenda-maand { font-size: 26px; font-weight: 700; margin: 40px 0 10px 0; }
.agenda-item {  display: flex; margin-bottom: 0; border-radius: 0px; overflow: hidden; color: #000; }
.agenda-datumblok { width: 80px; text-align: center; padding:10px; background: #e5e5e55c; position: relative; display: flex; flex-direction: row; justify-content: flex-start; gap: 10px; }
/* .leeg-datumblok { background: transparent; } */
.agenda-info { padding:12px 16px; flex:1; display: grid; grid-template-columns: 80px 1fr 300px; justify-items: start;  align-items: start; gap: 4px; }

/* kleuren per taxonomie */
.agenda-roze { background: #F2E0DF;}
.agenda-grijs { background:rgba(234, 218, 65, 0.1);}
.agenda-groen { background: #F1FEE0;}
.agenda-blauw { background:#cce3f5;}

.agenda-tijd { font-weight: bold; }
.agenda-activiteit { font-size: 15px; }
.agenda-locatie { font-size: 15px; }
.agenda-dag { font-size: 16px; font-weight: bold; }
.agenda-weekdag { font-size: 16px; text-transform: uppercase; z-index: 99; position: relative; }

.agenda-legenda { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 20px; margin-bottom: 20px; font-size: 14px; align-items: center; }
.agenda-legenda-item { display: flex; align-items: center; gap: 6px; }
.agenda-legenda-color { width: 20px; height: 20px; border-radius: 4px; display: inline-block; }
/* .agenda-item.eerste-van-agendapunt { margin-bottom: -30px; z-index: 10; position: relative; } */
.agenda-item.volgende-van-agendapunt { margin-bottom:0px; }

.rm-shortcode-inner .rm-grid { padding: 40px; }

/* Galerij */
.rm-card-media img,
.rm-logos img,
.rm-galerij img,
.rm-product-media img { display: block; width: 100%; height: 250px; border-radius: 5px; object-fit: cover; }
.rm-galerij-grid,
.rm-logos-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(120px,1fr)); gap: 24px; align-items: center; }

.rm-galerij-carousel { overflow: hidden; max-width:  calc(1600px - 80px); }
.rm-galerij-item img { width: 100%; height: 200px; display: block; border-radius: 10px; object-fit: contain; }
/* Media carousel - tekst met media blok */

.rm-media-carousel {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.rm-media-carousel .swiper-slide {
  aspect-ratio: 16 / 9;
}

.rm-media-carousel .swiper-slide img,
.rm-media-carousel .swiper-slide video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 10px;
}


.swiper-button-next, .swiper-button-prev { color: var(--color-white) !important; }
.swiper-pagination-bullet.swiper-pagination-bullet-active { background-color: var(--primary-navy) !important; }
.swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal { bottom: 0; }
.rm-tekst-met-media .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal { bottom: 10px; }

/* ---------------------------------------------------------
   WordPress classic gallery ([gallery] shortcode)
   Werkt voor gallery-columns-1 t/m 9, responsive.
   --------------------------------------------------------- */

.gallery {
  --gallery-columns: 3;
  --gallery-gap: 12px;

  display: grid;
  grid-template-columns: repeat(var(--gallery-columns), minmax(0, 1fr));
  gap: var(--gallery-gap);
  margin: 0 0 1.5rem;
}

/* WP zet <br style="clear:both"> tussen de rijen — niet nodig bij grid */
.gallery br {
  display: none;
}

/* Overschrijft de inline float/width die WP zelf inject */
.gallery .gallery-item {
  float: none !important;
  width: auto !important;
  max-width: none;
  margin: 0 !important;
  text-align: center;
}

.gallery .gallery-icon {
  margin: 0;
}

.gallery .gallery-icon a {
  display: block;
  overflow: hidden;
  border-radius: 4px;
}

.gallery .gallery-icon img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;   /* alle tegels even hoog; weglaten voor originele verhouding */
  object-fit: cover;
  border: 0 !important;  /* sommige thema's zetten een border op gallery-img */
  transition: transform .3s ease, opacity .3s ease;
}

.gallery .gallery-icon a:hover img,
.gallery .gallery-icon a:focus-visible img {
  transform: scale(1.04);
  opacity: .9;
}

.gallery .gallery-icon a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* Bijschriften (dd.gallery-caption) */
.gallery .gallery-caption {
  margin: .5em 0 0;
  font-size: .8125rem;
  line-height: 1.4;
}

/* --- Kolommen --------------------------------------------- */

.gallery-columns-1 { --gallery-columns: 1; }
.gallery-columns-2 { --gallery-columns: 2; }
.gallery-columns-3 { --gallery-columns: 3; }
.gallery-columns-4 { --gallery-columns: 4; }
.gallery-columns-5 { --gallery-columns: 5; }
.gallery-columns-6 { --gallery-columns: 6; }
.gallery-columns-7 { --gallery-columns: 7; }
.gallery-columns-8 { --gallery-columns: 8; }
.gallery-columns-9 { --gallery-columns: 9; }

/* --- Responsive: maximaal aantal kolommen aftoppen --------- */

@media (max-width: 1024px) {
  .gallery-columns-6,
  .gallery-columns-7,
  .gallery-columns-8,
  .gallery-columns-9 { --gallery-columns: 5; }
}

@media (max-width: 782px) {
  .gallery-columns-4,
  .gallery-columns-5,
  .gallery-columns-6,
  .gallery-columns-7,
  .gallery-columns-8,
  .gallery-columns-9 { --gallery-columns: 3; }
}

@media (max-width: 480px) {
  .gallery {
    --gallery-gap: 8px;
  }

  .gallery-columns-3,
  .gallery-columns-4,
  .gallery-columns-5,
  .gallery-columns-6,
  .gallery-columns-7,
  .gallery-columns-8,
  .gallery-columns-9 { --gallery-columns: 2; }
}
/* Galerij - Einde */


@media (min-width: 1680px) {
  .posts-grid { padding: 0 40px; }
}


@media (max-width: 1024px) {
  .rm-logos-grid { column-count: 3; }
  .leden-grid { display: grid; grid-template-columns: repeat(2, 1fr); justify-items: center; }
  .rm-blokken-3 .rm-container {grid-template-columns: repeat(3, minmax(125px, 550px)); }
  h3.rm-card-title { font-size: 20px; }
}

@media (max-width: 768px) {
  .pagina-hero { height: auto; }
  .rm-auto-cols { grid-template-columns: repeat(2, 1fr); padding: 30px; }
  .rm-2col { grid-template-columns: repeat(1,minmax(0,1fr)); padding: 30px; }
  .rm-col { padding: 20px 0; }
  .rm-blok.rm-text-1200 { padding: 40px; }
  .rm-blok { padding: 0 40px; }
  .rm-col-overlap.tekstblok-rechts-overlap { margin-left: 0;  }
  .rm-col-overlap.tekstblok-overlap { margin-right: 0; }
  .rm-logos-grid { grid-template-columns: repeat(2, 1fr); }
  .rm-grid { padding: 30px 0;  display: block; }
  .inner-container { padding: 0; width: 100%; }
  .home .rm-card { margin: 0 0 20px; }
  .rm-container .knop.primair,
  a.hero-button { font-size: .9em; padding: 10px 20px; }
  footer { padding: 10px 0px; }
  .rm-blokken-3 .rm-container { grid-template-columns: repeat(1, 1fr); }
  .rm-container.rm-grid.rm-auto-cols { row-gap: 20px; }
  .rm-shortcode .rm-grid .leden-grid { grid-template-columns: repeat(1, 1fr); }
  .rm-container.rm-grid.rm-1200 { padding: 0; }
  .single-post .post-content-wrapper { flex-direction: column; }
  .single-post .content-text { width: 100%; }
  .posts-grid { grid-template-columns: repeat(2, 1fr); }
  .agenda-info { grid-template-columns: 80px 1fr 1fr; justify-items: start;  align-items: start; gap: 4px; }
  .rm-blokken-2 .rm-container { grid-template-columns: repeat(1, 1fr); }
  .pagina-hero .content { max-width: 100%; }
}

@media (max-width: 480px) {
  .home .pagina-hero { padding: 20px; }
  .inner-header { padding: 10px 20px; }
  .single-post .post-layout { padding: 20px; }
  .single-post .post-title { font-size: 35px; }
  .rm-blok.rm-text-1200 { padding: 20px; }
  .rm-blok.rm-blokken-naast-elkaar.rm-blokken-3.homepage-blokken { padding: 20px; }
  .rm-blok.rm-tekst-afbeelding,
  .rm-blok.rm-afbeelding-tekst { padding: 20px; }
  .rm-logos-grid { grid-template-columns: repeat(1, 1fr);}
  .rm-auto-cols { grid-template-columns: repeat(1, 1fr); padding: 30px 0; }
  .rm-products-grid { grid-template-columns: repeat(1, 1fr); }
  .project-archief .container { grid-template-columns: repeat(1, 1fr); }
  .home .rm-card img { height: 70px; }
  h1.entry-title { font-size: 2em !important; }
  .rm-shortcode .rm-grid .leden-grid { grid-template-columns: repeat(1, 1fr); }
  .posts-grid { grid-template-columns: repeat(1, 1fr); }
  .agenda-info { grid-template-columns: repeat(1, 1fr); justify-items: start;  align-items: start; gap: 4px; }
  .pagina-hero { padding: 20px; }
  #copyright { padding: 10px 20px; }
  .archive-posts { padding: 20px; }
}