/* Container Breedtes */
.pgf-width--boxed .pgf-container { max-width: var(--container-medium); margin-inline: auto; padding-inline: var(--spacing-m); }
.pgf-width--narrow .pgf-container { max-width: var(--container-small); margin-inline: auto; padding-inline: var(--spacing-m); }
.pgf-width--full .pgf-container { max-width: var(--container-full); width: 100%; }

/* Achtergrondkleuren */
.pgf-bg--default { background-color: transparent; }
.pgf-bg--light-gray { background-color: var(--color-bg); }
.pgf-bg--dark { background-color: var(--color-text-main); color: var(--color-bg); }
.pgf-bg--primary { background-color: var(--theme-dominant-color); color: #ffffff; }

/* Verticale Padding (Boven & Onder) */
.pgf-pt--none   { padding-top: 0; }
.pgf-pt--small  { padding-top: var(--spacing-s); }
.pgf-pt--medium { padding-top: var(--spacing-l); }
.pgf-pt--large  { padding-top: var(--spacing-xl); }

.pgf-pb--none   { padding-bottom: 0; }
.pgf-pb--small  { padding-bottom: var(--spacing-s); }
.pgf-pb--medium { padding-bottom: var(--spacing-l); }
.pgf-pb--large  { padding-bottom: var(--spacing-xl); }

/* Uitlijning */
.pgf-align--left { text-align: left; }
.pgf-align--center { text-align: center; }
.pgf-align--right { text-align: right; }

/* Text Contrast Overrides */
.pgf-contrast--dark { color: var(--color-text-main) !important; }
.pgf-contrast--light { color: var(--color-bg) !important; }

/* Afgeronde Hoeken & Schaduwen */
.pgf-radius--small { border-radius: 4px; }
.pgf-radius--medium { border-radius: 8px; }
.pgf-radius--large { border-radius: 16px; }

.pgf-shadow--subtle { box-shadow: 0 4px 12px rgba(68, 33, 0, 0.04); }
.pgf-shadow--medium { box-shadow: 0 8px 24px rgba(68, 33, 0, 0.08); }
.pgf-shadow--large { box-shadow: 0 16px 40px rgba(68, 33, 0, 0.12); }