:root {
    
    /* COLORS */
    --sy-color-white: #ffffff;
    --sy-color-black: #000000;
    --sy-color-grey-olive: #888;
    --sy-color-mint-cream: #eaf2e9;;
    --sy-color-alabaster-grey: #eaeaea;
    --sy-color-sea-green: #5a8a53;
    --sy-color-vibrant-coral: #eb7965;

    /* SPACING */
    --sy-spacing-02: 0.125rem; /* 2px */
	--sy-spacing-04: 0.25rem;  /* 4px */
    --sy-spacing-06: 0.375rem; /* 6px */
    --sy-spacing-08: 0.5rem;   /* 8px */
    --sy-spacing-10: 0.625rem; /* 10px */
    --sy-spacing-12: 0.75rem;  /* 12px */
    --sy-spacing-14: 0.875rem; /* 14px */
    --sy-spacing-16: 1rem;     /* 16px */
    --sy-spacing-18: 1.125rem; /* 18px */
    --sy-spacing-20: 1.25rem;  /* 20px */
    --sy-spacing-22: 1.375rem; /* 22px */
    --sy-spacing-24: 1.5rem;   /* 24px */
    --sy-spacing-26: 1.625rem; /* 26px */
    --sy-spacing-28: 1.75rem;  /* 28px */
    --sy-spacing-30: 1.875rem; /* 30px */
    --sy-spacing-32: 2rem;     /* 32px */
    --sy-spacing-36: 2.25rem;  /* 36px */
    --sy-spacing-40: 2.5rem;   /* 40px */
    --sy-spacing-42: 2.625rem; /* 42px */
    --sy-spacing-44: 2.75rem;  /* 44px */
    --sy-spacing-48: 3rem;     /* 48px */
    --sy-spacing-50: 3.125rem; /* 50px */
    --sy-spacing-52: 3.25rem;  /* 52px */
    --sy-spacing-56: 3.5rem;   /* 56px */
    --sy-spacing-60: 3.75rem;  /* 60px */
    --sy-spacing-64: 4rem;     /* 64px */
    --sy-spacing-68: 4.25rem;  /* 68px */
    --sy-spacing-72: 4.5rem;   /* 72px */
    --sy-spacing-76: 4.75rem;  /* 76px */
    --sy-spacing-80: 5rem;     /* 80px */
    --sy-spacing-84: 5.25rem;  /* 84px */
    --sy-spacing-88: 5.5rem;   /* 88px */
    --sy-spacing-92: 5.75rem;  /* 92px */
    --sy-spacing-96: 6rem;     /* 96px */
    --sy-spacing-100: 6.25rem; /* 100px */

    /* BORDER RADIUS */
    --sy-border-radius-none: 0;
    --sy-border-radius-minimal: 2px;
    --sy-border-radius-subtle: 3px;
    --sy-border-radius-small: 4px;
    --sy-border-radius-medium: 6px;
    --sy-border-radius-large: 10px;
    --sy-border-radius-xlarge: 12px;

    /* FONT WEIGHTS */
    --sy-font-weight-light: 300;
    --sy-font-weight-normal: 400;
    --sy-font-weight-medium: 600;
    --sy-font-weight-bold: 700;
    --sy-font-weight-extrabold: 900;

    /* FONT FAMILIES */
    --sy-font-family-lato: 'Lato', sans-serif;
    --sy-font-family-roboto: 'Roboto', sans-serif;
    --sy-font-family-awesome: 'Font Awesome 7 Pro';
    
    /* BORDERS */
    --sy-color-border-light: #c7c7c7;

    /* FONT SIZES */
    --sy-font-size-base: 1rem;      /* 16px */
    --sy-font-size-lg: 1.125rem;    /* 18px */
    --sy-font-size-xl: 1.25rem;     /* 20px */
    --sy-font-size-xxl: 1.5rem;     /* 24px */
    --sy-font-size-xxxl: 1.875rem;  /* 30px */
    --sy-font-size-xxxxl: 2.375rem; /* 38px */

}

/* SY ROOT PADDING CLASSES */

.pt--0 { padding-top: 0 !important; }
.pb--0 { padding-bottom: 0 !important; }

/* SY ROOT MARGIN CLASSES */

.mt--0 { margin-top: 0!important; }
.mb--0 { margin-bottom: 0!important; }


/* MOBILE CSS */
@media (max-width: 849px) {

    .dg-req-grid { 
        grid-template-columns:1fr; 
    }

    .dg-contact-card {
        grid-template-columns: 1fr;
        text-align: left;
    }

    .dg-card { 
        padding: var(--sy-spacing-16); 
    }

    .dg-search { 
        padding: var(--sy-spacing-10) var(--sy-spacing-12); 
    }

    .dg-province-grid { 
        grid-template-columns:1fr; 
        gap: var(--sy-spacing-10); 
    }

    .dg-province-grid a {
        display:flex;
        align-items:center;
        justify-content:space-between;
        padding: var(--sy-spacing-16) var(--sy-spacing-18);
        border:1px solid rgba(0,0,0,.08);
        border-radius: var(--sy-spacing-14);
        background: var(--sy-color-white);
        text-decoration:none;
    }

    .dg-province-grid a:hover { 
        border-color: rgba(0,0,0,.14); 
    }

    .dg-form-card { 
        padding: var(--sy-spacing-14); 
    }

    .dg-contact-card { 
        padding: var(--sy-spacing-14); 
    }

}

/* GLOBAL */
footer#footer .ux-menu-link,
footer#footer p {
    color: #4b4b4b !important;
}

.ux-menu-title.flex,
footer#footer .ux-menu-link a:hover {
    color: var(--fs-color-primary) !important;
    font-weight: var(--sy-font-weight-bold);
}

.dg-card a.fill {
    z-index: 99999;
}

.sy-results-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: var(--sy-spacing-24);
}

.font--18px {
    font-size: var(--sy-font-size-lg);
}

/* Search */

.form-flat input:not([type=submit]), .form-flat select, .form-flat textarea {
    border-radius: var(--sy-border-radius-xlarge);
}

/* Hero: voorbeeldregel */
.dg-example {
    margin-top: var(--sy-spacing-10);
    font-size: var(--sy-font-size-base);
    opacity: .65;
}

/* Search (werkt met jullie shortcode-output in .dg-search__field) */
.dg-search {
    display: flex;
    align-items: center;
    gap: var(--sy-spacing-10);
    border: 1px solid rgba(0,0,0,.10);
    border-radius: var(--sy-border-radius-xlarge);
    padding: var(--sy-spacing-12) var(--sy-spacing-14);
    background: var(--sy-color-white);
}

/* Provincie grid: verwacht dat jullie shortcode <a> items output */
.dg-province-grid {
  display: grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap: var(--sy-spacing-14);
  margin-top: var(--sy-spacing-22);
}

/* Populaire cards */
.dg-card,
article.page.type-page {
  display: block;
  padding: var(--sy-spacing-18);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: var(--sy-border-radius-xlarge);
  background: var(--sy-color-white);
  text-decoration: none;
  height: 100%;
  box-shadow: 0 var(--sy-spacing-06) var(--sy-spacing-18) rgba(0,0,0,.04);
}

.dg-card:hover,
article.page.type-page:hover { 
    box-shadow: 0 var(--sy-spacing-10) var(--sy-spacing-26) rgba(0,0,0,.06); 
}

.dg-card__label{
  display: flex;
  align-items: center;
  gap: var(--sy-spacing-08);
  font-size: var(--sy-font-size-base);
  opacity: .75;
  margin-bottom: var(--sy-spacing-10);
}

.dg-card__title,
.entry-title { 
    font-weight: var(--sy-font-weight-bold); 
    margin-bottom: var(--sy-spacing-06); 
}

.dg-card__value { 
    font-weight: var(--sy-font-weight-bold); 
    margin-bottom: var(--sy-spacing-10); 
}

.dg-card__link { 
    display: inline-flex; 
    align-items: center; 
    gap: var(--sy-spacing-08); 
    font-weight: var(--sy-font-weight-medium); 
}

/* USP's */
.dg-usp__icon {
  width: var(--sy-spacing-56);
  height: var(--sy-spacing-56);
  border-radius: var(--sy-border-radius-xlarge);
  background: var(--sy-color-mint-cream);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--sy-spacing-10);
  font-size: var(--sy-font-size-xl);
  border: 2px solid var(--sy-color-sea-green);
}

.dg-usp__title { 
    font-weight: var(--sy-font-weight-bold); 
    margin-bottom: var(--sy-spacing-06); 
}

.dg-usp__text { 
    opacity: .75; 
    font-size: var(--sy-font-size-base); 
}

/* Steps + badges + desktop connector line */
.dg-step {
  position: relative;
  padding-top: var(--sy-spacing-12);
  max-width: 320px;
  margin: 0 auto;
}

.dg-step__badge{
  position: absolute;
  top: 0;
  left: 55%;
  transform: translateX(-50%);
  width: var(--sy-spacing-26);
  height: var(--sy-spacing-26);
  border-radius: var(--sy-border-radius-xlarge);
  background: var(--fs-color-alert);
  color: var(--sy-color-white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: var(--sy-font-weight-bold);
  font-size: var(--sy-font-size-base);
}

.dg-step__icon {
  width: var(--sy-spacing-64);
  height: var(--sy-spacing-64);
  border-radius: var(--sy-border-radius-xlarge);
  border: 2px solid var(--sy-color-sea-green);
  background: var(--sy-color-mint-cream);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--sy-spacing-10);
  font-size: var(--sy-spacing-22);
}

.dg-step__title { 
    font-weight: var(--sy-font-weight-bold); 
    margin-bottom:v ar(--sy-spacing-06); 
}

.dg-step__text { 
    opacity: .75; 
    font-size: var(--sy-font-size-base); 
}

@media (min-width: 850px){
  .dg-steps { 
    position: relative; 
}

  .dg-steps:before {
    content: "";
    position: absolute;
    left: 10%;
    right: 10%;
    top: var(--sy-spacing-76);
    height: var(--sy-spacing-02);
    background: var(--sy-color-sea-green);
  }
}

/* Hero meta */
.dg-muni-hero__meta {
  margin-top: var(--sy-spacing-14);
  display: flex;
  gap: var(--sy-spacing-14);
  flex-wrap: wrap;
}

/* Requirements grid (verwacht anchors/divs van shortcode) */
.dg-req-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: var(--sy-spacing-14);
  margin-top: var(--sy-spacing-22);
}

/* Suggestie voor card output vanuit shortcode */
.dg-req-card {
  border: 1px solid rgba(0,0,0,.08);
  border-radius: var(--sy-border-radius-xlarge);
  background: var(--sy-color-white);
  padding: var(--sy-spacing-16);
  box-shadow: 0 var(--sy-spacing-08) var(--sy-spacing-20) rgba(0,0,0,.04);
  height: 100%;
}

.dg-req-card__icon {
  width: var(--sy-spacing-40);
  height: var(--sy-spacing-40);
  border-radius: var(--sy-border-radius-xlarge);
  background: rgba(0,0,0,.04);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: ar(--sy-spacing-10);
}

.dg-req-card__title { 
    font-weight: var(--sy-font-weight-bold); 
    margin-bottom: var(--sy-spacing-06); 
}

.dg-req-card__text { 
    font-size: var(--sy-font-size-base); 
}

/* Examples grid (klikbaar naar detailpagina) */

.dg-examples .is-divider {
    display: none;
}

.dg-examples .box-text.text-left {
    border: 1px solid var(--sy-color-alabaster-grey);
    border-bottom-left-radius: var(--sy-border-radius-xlarge);
    border-bottom-right-radius: var(--sy-border-radius-xlarge);
}

.dg-examples img.attachment-medium.size-medium.wp-post-image {
    border-top-left-radius: var(--sy-border-radius-xlarge);
    border-top-right-radius: var(--sy-border-radius-xlarge);
}

/* Benefits */
.dg-benefit__icon {
  width: var(--sy-spacing-56);
  height: var(--sy-spacing-56);
  border-radius: var(--sy-border-radius-xlarge);
  background: rgba(0,0,0,.04);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--sy-spacing-10);
  font-size: var(--sy-font-size-xl);
}

.dg-benefit__text { 
    font-size: var(--sy-font-size-base); 
}

/* Form card */

.gform-theme--foundation {
    --gf-form-gap-y: var(--sy-spacing-12);
}

legend.gfield_label.gform-field-label.gfield_label_before_complex, label.gfield_label.gform-field-label {
    font-weight: var(--sy-font-weight-medium);
    color: var(--fs-color-primary);
}

.gform_wrapper .gform_footer input#gform_submit_button_1,
.gform_wrapper .gform_footer input.gform_button,
.gform_wrapper .gform_footer input[type="submit"]{
    width: 100%;
    display: block;
    background-color: var(--sy-color-vibrant-coral);
    color: var(--sy-color-white);
    border-radius: var(--sy-border-radius-xlarge);
}

.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder{
  color: var(--sy-color-black);
  opacity: 0.6;
}
		
/* Contact card */
.dg-contact-card{
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: var(--sy-spacing-16);
  align-items: center;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: var(--sy-border-radius-xlarge);
  background: var(--sy-color-white);
  padding: var(--sy-spacing-16);
  box-shadow: 0 var(--sy-spacing-10) var(--sy-spacing-26) rgba(0,0,0,.05);
  max-width: 820px;
  margin: 0 auto;
}

.dg-contact-card__imgph {
  width: 120px;
  height:  120px;
  border-radius: var(--sy-border-radius-xlarge);
  background: rgba(0,0,0,.06);
}

.dg-contact-card__kicker { 
    font-weight: var(--sy-font-weight-medium); 
    color: var(--fs-color-secondary); 
    margin-bottom: var(--sy-spacing-04); 
}

.dg-contact-card__name { 
    font-weight: var(--sy-font-weight-bold); 
    margin-bottom:var(--sy-spacing-06); 
}

.dg-contact-card__text { 
    margin-bottom: var(--sy-spacing-10); 
}

.dg-contact-card__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sy-spacing-14);
}

.dg-contact-card__links a {
  display: inline-flex;
  align-items: center;
  gap: var(--sy-spacing-08);
  text-decoration: none;
}

/* Over gemeente meta */
.dg-muni-meta {
  margin-top: var(--sy-spacing-12);
  padding: var(--sy-spacing-12) var(--sy-spacing-14);
  border-radius: var(--sy-border-radius-xlarge);
  background: rgba(0,0,0,.04);
  display: inline-block;
}

/**FOOTER**/

.absolute-footer.dark {
    display: none;
}

/* SY CUSTOM PROVINCE GRID */
/* Styling voor de provincie-overzichtskaarten */
.sy-province-overview.sy-grid,
.blog-wrapper.blog-archive #post-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); /* Maakt het responsive */
    gap: var(--sy-spacing-20);
    padding: var(--sy-spacing-20) 0;
}

.sy-province-card {
    width: 100%;
}

.sy-province-card a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--sy-spacing-20);
    border: 1px solid var(--sy-color-alabaster-grey);
    border-radius: var(--sy-spacing-08);
    height: 100%;
}

.sy-province-card a:hover {
    box-shadow: 0 var(--sy-spacing-04) var(--sy-spacing-10) rgba(0,0,0,0.1);
    transform: translateY(-2px);
}

.sy-province-info p {
    font-size: var(--sy-font-size-base);
    color: var(--sy-color-grey-olive);
}
.sy-province-info h3 {
    font-size: var(--sy-font-size-lg);
}

.sy-arrow-icon {
    font-size: var(--sy-font-size-xxl);
    color: var(--sy-color-grey-olive);
}

/* SEARCH RESULTS PAGE */
.entry-divider.is-divider.small,
footer.entry-meta.clearfix {
    display: none;
}

a.more-link.button.primary.is-outline.is-smaller,
a.more-link.button.primary.is-outline.is-smaller:hover {
    border: unset;
    color: var(--fs-color-alert);
    font-size: var(--sy-font-size-base);
    background-color: var(--sy-color-white);
}

a.plain {
    font-size: var(--sy-font-size-base);
}

.entry-header-text.entry-header-text-top.text-left,
a.more-link.button.primary.is-outline.is-smaller,
div#post-list .entry-content {
    margin: 0;
    padding: 0;
}

.entry-content {
    margin-top: auto !important;
}

.article-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
}

ul.page-numbers {
    grid-column: 2;
}