/*
Theme Name: Maatwerk Online
Theme URI: https://www.maatwerkonline.nl
Version: 1.0.0
Author: Maatwerk Online
Author URI: https://www.maatwerkonline.nl/contact/
Description: This Theme is designed and developed by Maatwerk Online
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: maatwerkonline
Domain Path: /languages
*/

/* Make fonts cleaner on the site */

* {
    -webkit-font-smoothing: antialiased;
}

/* Removes margin from last paragraph child */

p:last-child {
    margin-block-end: 0px !important;
}

p {
    margin-block-start: 0px;
}

p a {
    color: var(--wp--preset--color--primary);
}

h1,h2,h3,h4,h5,h6 {
    margin-block-start: 0px;
}

/* makes content not overflow */

main {
    overflow: hidden;
}

/* Adjustment for core/list-item block */

.wp-block-list li{
    margin-bottom: 0px !important;
}
.wp-block-list li:last-child{
    margin-bottom: 1rem !important;
}

.inline_button{
    display: inline!important;
}

/* show images correctly on the site */

img, .wp-block-image img {
    max-width: 100%;
    height: auto;
    vertical-align: middle !important;
    border: 0;
}

/* Change header */

.site-header {
    position: relative;
    z-index: 1000;
}

.main-menu {
    background-color: #fff;
}

.main-menu.main-menu--sticky {
    position: fixed;
    top: 0px;
    width: 100%;
}

main.main-menu--sticky {
    margin-top: 83px !important;
}

.gw-mm-item__dropdown-content .wp-block-navigation-item  {
    margin-bottom: 0px !important;
}

@media only screen and (max-width: 1140px) {
    .main-menu {
        padding: 20px 20px !important;
    }

    .main-menu-to-bar {
        padding: 0px 20px !important;
    }

    .main-menu-left-column {
        flex-basis: 40% !important;
    }

    .main-menu-columns {
        padding-left: 0px !important;
        padding-right: 0px !important;
    }

    .right-column-menu {
        align-items: center;
    }

    .right-column-menu .gw-mm__toggle {
        margin-top: 10px;
    }
}

.header__contact-information img {
    margin-right: 7px;
}

.site-header .main-menu a {
    color: #001b2f;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition:    all .3s ease-in-out;
    -o-transition:      all .3s ease-in-out;
    -ms-transition:     all .3s ease-in-out;
    transition:         all .3s ease-in-out;
}

.site-header .main-menu a:hover {
    color: var(--wp--preset--color--tertiary);
    -webkit-transition: all .3s ease-in-out;
    -moz-transition:    all .3s ease-in-out;
    -o-transition:      all .3s ease-in-out;
    -ms-transition:     all .3s ease-in-out;
    transition:         all .3s ease-in-out;
}

/* Avatar correction for blog page */

.wp-block-avatar img {
    height: 50px;
    object-fit: cover;
}

/* adjustments for overview blog */

.post_overview-cta-label {
    display: inline;
    padding: 5px 5px !important;
    border-radius: 5px;
}

/* Make font size of blogs 14px by default */

.single-post .wp-block-post-content {
    font-size: 14px;
}

.single-post .wp-block-post-content h2 {
    font-size: 18px !important;
}

.single-post .wp-block-post-content h3 {
    font-size: 16px !important;
}

/* Remove spacing causes by p from form */

.gform_footer p,
.gform_footer br  
{
    display: none !important;
}

.shortcode-form p {
    display: none !important;
}

/* Fix foor Bootstrap blocks */

.editor-styles-wrapper *, .editor-styles-wrapper *::before, .editor-styles-wrapper *::after {
    box-sizing: border-box;
}

/* Column direction changes */

@media only screen and (max-width: 600px) {

    .wp-block-columns {
        padding: 0px 15px;
    }

}

/* Adjustment for banner on course overview pages */

.lean-courses__banner {
    padding: 100px 0px;
}

/* Sticky Mobile CTA  */

.sticky-bottom-cta {
    padding-bottom: 15px;
    padding-top: 15px;
    z-index: 1000000;
    position: fixed;
    bottom: 0px;
    width: 100%;
}

/* Sinlge course related blogs */

.related-blogs-course-page figure {
    position: relative;
}

.related-blogs-course-page figure img {
    filter: sepia(1) hue-rotate(160deg);
}

.related-blogs-course-page figure::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #0075FF;
    opacity: .3;
}

.current-menu-item {
    color: #0075FF;
}

/* Overflow hidden website */

.wp-site-blocks {
    overflow-x: hidden;
}

/* Improvements IC form */

.clsSelectInputAllDate{
    width: 100%;
    padding: 10px;
}

.cuscourse_alldate{
    display: block;
    padding-top: 15px;
}

.ui-datepicker .ui-datepicker-prev span {
    background-position: 96px 0!important;
    padding-right: 10px;
}

.ui-icon-circle-triangle-e {
    background-position: 96px 0!important;
}

.ui-datepicker .ui-datepicker-header {
    font-size: 22px;
}

.ui-datepicker .ui-datepicker-header {
    font-size: 22px!important;
}

.ui-datepicker table {
    font-size: 16px;
}

:root{
  --gf-bg:#edf4ff;
  --gf-text:#0b2a4a;
  --gf-placeholder:#516784;
  --gf-focus:#a9c8ff;
  --gf-error:#d2343e;
  --gf-btn:#ff0a8a;
  --gf-btn-text:#ffffff;

  --gf-radius:8px;

  /* tighter layout */
  --gf-pad-y:12px;
  --gf-pad-x:16px;
  --gf-gap:6px;               /* compact grid gap */

  --gf-field-font-size:16px;
  --gf-float-label-size:12px;
  --gf-label-space:18px;

  --gf-phone-flag-width:56px;
  --gf-accent:#187CC4;
}

/* Layout */
.gform_wrapper.gravity-theme .gform_fields{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:var(--gf-gap) !important;      /* single source of spacing */
  margin:0 !important;               /* kill default UL margin */
  padding:0 !important;
}
.gform_wrapper.gravity-theme .gfield{
  margin:0 !important;               /* rely on grid gap only */
}
.gform_wrapper.gravity-theme .gfield--width-full{grid-column:span 12/span 12}
.gform_wrapper.gravity-theme .gfield--width-half{grid-column:span 6/span 6}
.gform_wrapper.gravity-theme .gfield--width-third{grid-column:span 4/span 4}
.gform_wrapper.gravity-theme .gfield--width-quarter{grid-column:span 3/span 3}
@media (max-width:768px){
  .gform_wrapper.gravity-theme .gfield{grid-column:1/-1 !important}
}
.gform_wrapper.gravity-theme .gform_required_legend{display:none}
.gform_wrapper.gravity-theme{position:relative;z-index:2}

/* Sections (titles + rule) — compact */
.gform_wrapper.gravity-theme .gfield--type-section.gsection{
  margin:16px 0 10px !important;
  padding:0 !important;
  border:0 !important;
}
.gform_wrapper.gravity-theme .gfield--type-section .gsection_title{
  margin:0 0 8px !important;
}
.gform_wrapper.gravity-theme .gfield--type-section hr{
  margin:8px 0 0 !important;
  opacity:.35;
}

/* Universal metrics (lock size; no hover jumps) */
.gform_wrapper.gravity-theme .ginput_container input,
.gform_wrapper.gravity-theme .ginput_container textarea,
.gform_wrapper.gravity-theme .ginput_container select{
  box-sizing:border-box;
  border-style:solid;
  border-width:2px;
  border-color:transparent;
  outline:0;
}

/* Base fields */
.gform_wrapper.gravity-theme .ginput_container input[type=text],
.gform_wrapper.gravity-theme .ginput_container input[type=email],
.gform_wrapper.gravity-theme .ginput_container input[type=tel],
.gform_wrapper.gravity-theme .ginput_container input[type=number],
.gform_wrapper.gravity-theme .ginput_container input[type=url],
.gform_wrapper.gravity-theme .ginput_container textarea{
  background:var(--gf-bg);
  border-radius:var(--gf-radius);
  padding:var(--gf-pad-y) var(--gf-pad-x);
  color:var(--gf-text);
  font-size:var(--gf-field-font-size);
  width:100%;
  transition:border-color .15s ease,background-color .15s ease;
}

/* Floating labels (with :focus-within + .is-filled from JS) */
.gform_wrapper.gravity-theme .ginput_container--animated{position:relative}
.gform_wrapper.gravity-theme .ginput_container--animated input::placeholder,
.gform_wrapper.gravity-theme .ginput_container--animated textarea::placeholder{color:transparent}
.gform_wrapper.gravity-theme .ginput_container--animated input[type=text],
.gform_wrapper.gravity-theme .ginput_container--animated input[type=email],
.gform_wrapper.gravity-theme .ginput_container--animated input[type=number],
.gform_wrapper.gravity-theme .ginput_container--animated input[type=url],
.gform_wrapper.gravity-theme .ginput_container--animated textarea{
  padding:calc(var(--gf-pad-y) + var(--gf-label-space)) var(--gf-pad-x) var(--gf-pad-y) var(--gf-pad-x);
}
.gform_wrapper.gravity-theme .ginput_container--animated::before{
  content:attr(data-ph);
  position:absolute;
  left:var(--gf-pad-x);
  top:50%;
  transform:translateY(-50%);
  color:var(--gf-placeholder);
  font-size:var(--gf-field-font-size);
  line-height:1;
  pointer-events:none;
  z-index:1;
  background:transparent;
  padding:0;
  transition:top .18s,transform .18s,font-size .18s,color .18s,background-color .18s,padding .18s;
}
.gform_wrapper.gravity-theme .ginput_container--animated:focus-within::before,
.gform_wrapper.gravity-theme .ginput_container--animated.is-filled::before{
  top:6px; transform:none;
  font-size:var(--gf-float-label-size);
  color:var(--gf-focus);
  background:var(--gf-bg);
  padding:1px 3px;
}
.gform_wrapper.gravity-theme .ginput_container--animated input:focus,
.gform_wrapper.gravity-theme .ginput_container--animated textarea:focus{border-color:var(--gf-focus)}
.gform_wrapper.gravity-theme .ginput_container_textarea.ginput_container--animated::before{top:calc(var(--gf-pad-y) + 2px);transform:none}
.gform_wrapper.gravity-theme .ginput_container textarea{min-height:150px;resize:vertical}

/* Phone field (no floating label; safe prefix padding) */
.gform_wrapper.gravity-theme .ginput_container_phone.ginput_container--animated::before{content:none!important}
.gform_wrapper.gravity-theme .ginput_container_phone input[type=tel]{padding-left:calc(var(--gf-pad-x) + var(--gf-phone-flag-width))}
.gform_wrapper.gravity-theme .ginput_container_phone input[type=tel]::placeholder{color:var(--gf-placeholder);opacity:.9}
.gform_wrapper.gravity-theme .ginput_container_phone select{background-image:none!important;padding-right:var(--gf-pad-x)!important}

/* Selects */
.gform_wrapper.gravity-theme .ginput_container select{
  background:var(--gf-bg);
  border-radius:var(--gf-radius);
  padding:var(--gf-pad-y) var(--gf-pad-x);
  color:var(--gf-text);
  font-size:var(--gf-field-font-size);
  width:100%;
  appearance:none; -webkit-appearance:none; -moz-appearance:none;
  background-image:
    linear-gradient(45deg,transparent 50%,var(--gf-placeholder) 50%),
    linear-gradient(135deg,var(--gf-placeholder) 50%,transparent 50%);
  background-position:
    calc(100% - 24px) calc(50% - 2px),
    calc(100% - 16px) calc(50% - 2px);
  background-size:7px 7px,7px 7px;
  background-repeat:no-repeat;
  padding-right:40px;
  transition:border-color .15s ease;
}
.gform_wrapper.gravity-theme .ginput_container select:focus{border-color:var(--gf-focus);outline:0}

/* Checkboxes */
.gform_wrapper.gravity-theme .gfield--type-checkbox .gfield_label{display:none}
.gform_wrapper.gravity-theme .gfield--type-checkbox .ginput_container_checkbox{padding-left:var(--gf-pad-x)}
.gform_wrapper.gravity-theme .gfield--type-checkbox .gfield_checkbox .gchoice{display:flex;align-items:center;gap:14px;row-gap:6px}
.gform_wrapper.gravity-theme .gfield--type-checkbox .gfield-choice-input[type=checkbox]{
  margin:0;inline-size:18px;block-size:18px;transform:scale(1.2);transform-origin:center;accent-color:var(--gf-accent);border-radius:3px;
}
.gform_wrapper.gravity-theme .gfield--type-checkbox .gfield-choice-input[type=checkbox]:focus-visible{outline:2px solid var(--gf-focus);outline-offset:2px}
.gform_wrapper.gravity-theme .gfield--type-checkbox .gfield_checkbox label{display:block;line-height:1.5;margin:0;background:transparent!important;border:0!important;padding:0!important;cursor:pointer}
.gform_wrapper.gravity-theme .gfield--type-checkbox .gfield-choice-input[type=checkbox]:checked+label{background:rgba(24,124,196,.08);border-radius:6px;padding:2px 6px}

/* Radios (match checkbox polish; circular bullets) */
.gform_wrapper.gravity-theme .gfield--type-radio .ginput_container_radio{padding-left:var(--gf-pad-x)}
.gform_wrapper.gravity-theme .gfield--type-radio .gfield_radio .gchoice{display:flex;align-items:center;gap:14px;row-gap:6px;list-style:none;margin:0;padding-left:0}
.gform_wrapper.gravity-theme .gfield--type-radio .gfield-choice-input[type=radio]{
  margin:0;inline-size:18px;block-size:18px;transform:scale(1.2);transform-origin:center;accent-color:var(--gf-accent);border-radius:50%;
}
.gform_wrapper.gravity-theme .gfield--type-radio .gfield-choice-input[type=radio]:focus-visible{outline:2px solid var(--gf-focus);outline-offset:2px}
.gform_wrapper.gravity-theme .gfield--type-radio .gfield_radio label{display:block;line-height:1.5;margin:0;background:transparent!important;border:0!important;padding:0!important;cursor:pointer}
.gform_wrapper.gravity-theme .gfield--type-radio .gfield-choice-input[type=radio]:checked+label{background:rgba(24,124,196,.08);border-radius:6px;padding:2px 6px}
/* neutralize legacy fake bullets/boxes */
.enrolment_form .gfield_checkbox label::before,
.enrolment_form .gfield_checkbox label::after,
.contact_form_square .gfield_checkbox label::before,
.contact_form_square .gfield_checkbox label::after,
.enrolment_form .gfield_radio label::before,
.enrolment_form .gfield_radio label::after,
.contact_form_square .gfield_radio label::before,
.contact_form_square .gfield_radio label::after{content:none!important;display:none!important}

/* Errors (field + summary) */
.gform_wrapper.gravity-theme .gfield_error .ginput_container input,
.gform_wrapper.gravity-theme .gfield_error .ginput_container textarea,
.gform_wrapper.gravity-theme .gfield_error .ginput_container select{border-color:rgba(210,52,62,.55)}
.gform_wrapper.gravity-theme .gfield_validation_message,
.gform_wrapper.gravity-theme .validation_message{
  color:var(--gf-error);background:#fff4f4;border:1px solid rgba(210,52,62,.25);
  border-radius:6px;padding:8px 10px;margin-top:6px;
}
.gform_wrapper.gravity-theme .gform_validation_errors{
  background:#fff4f4;border:1px solid rgba(210,52,62,.35);color:var(--gf-error);
  border-radius:8px;padding:12px 14px;margin:10px 0 16px;
}
.gform_wrapper.gravity-theme .gform_validation_errors .gform-icon{display:none!important}
.gform_wrapper.gravity-theme .gform_submission_error,
.gform_wrapper.gravity-theme .validation_error{background:transparent;border:0;margin:0;padding:0;color:var(--gf-error);font-weight:600}

/* reCAPTCHA + footer spacing */
.gform_wrapper.gravity-theme .gform_body + .gform_footer,
.gform_wrapper.gravity-theme .ginput_recaptcha{margin-top:8px}
.gform_wrapper.gravity-theme .ginput_recaptcha>div{background:#fff;border-radius:var(--gf-radius);box-shadow:0 0 0 1px rgba(0,0,0,.06)}

/* Submit button */
.gform_wrapper.gravity-theme .gform_footer input[type=submit],
.gform_wrapper.gravity-theme .gform_button{
  display:block;width:100%;box-sizing:border-box;background:var(--gf-btn);color:var(--gf-btn-text);
  border:2px solid transparent;border-radius:6px;padding:12px 22px;font-size:18px;font-weight:700;cursor:pointer;transition:filter .15s ease;
}
.gform_wrapper.gravity-theme .gform_button:hover{filter:brightness(1.05)}
.gform_wrapper.gravity-theme .gform_button:active{filter:brightness(0.95)}

/* No-jump hover/focus locks (color only) */
.gform_wrapper.gravity-theme .ginput_container input:hover,
.gform_wrapper.gravity-theme .ginput_container input:focus,
.gform_wrapper.gravity-theme .ginput_container textarea:hover,
.gform_wrapper.gravity-theme .ginput_container textarea:focus,
.gform_wrapper.gravity-theme .ginput_container select:hover,
.gform_wrapper.gravity-theme .ginput_container select:focus{
  border-width:2px;padding:var(--gf-pad-y) var(--gf-pad-x)!important;border-color:var(--gf-focus);
}
.gform_wrapper.gravity-theme .ginput_container--animated input:hover,
.gform_wrapper.gravity-theme .ginput_container--animated input:focus,
.gform_wrapper.gravity-theme .ginput_container--animated textarea:hover,
.gform_wrapper.gravity-theme .ginput_container--animated textarea:focus{
  border-width:2px;
  padding:calc(var(--gf-pad-y) + var(--gf-label-space)) var(--gf-pad-x) var(--gf-pad-y) var(--gf-pad-x)!important;
  border-color:var(--gf-focus);
}
/* Phone hover/focus: keep metrics stable */
.gform_wrapper.gravity-theme .ginput_container_phone input[type=tel]:hover,
.gform_wrapper.gravity-theme .ginput_container_phone input[type=tel]:focus{
  border-width:2px!important;
  padding-left:calc(var(--gf-pad-x) + var(--gf-phone-flag-width))!important;
  padding-right:var(--gf-pad-x)!important;
  padding-top:var(--gf-pad-y)!important;
  padding-bottom:var(--gf-pad-y)!important;
  border-color:var(--gf-focus);
}

/* ============== Anti-jump hard lock ============== */
/* Non-animated fields */
.gform_wrapper.gravity-theme .ginput_container
  input[type="text"],
.gform_wrapper.gravity-theme .ginput_container
  input[type="email"],
.gform_wrapper.gravity-theme .ginput_container
  input[type="number"],
.gform_wrapper.gravity-theme .ginput_container
  input[type="url"],
.gform_wrapper.gravity-theme .ginput_container
  textarea {
  border-width: 2px !important;
  padding: var(--gf-pad-y) var(--gf-pad-x) !important;
}

/* Animated (floating-label) fields */
.gform_wrapper.gravity-theme .ginput_container--animated
  input[type="text"],
.gform_wrapper.gravity-theme .ginput_container--animated
  input[type="email"],
.gform_wrapper.gravity-theme .ginput_container--animated
  input[type="number"],
.gform_wrapper.gravity-theme .ginput_container--animated
  input[type="url"],
.gform_wrapper.gravity-theme .ginput_container--animated
  textarea {
  border-width: 2px !important;
  padding: calc(var(--gf-pad-y) + var(--gf-label-space)) var(--gf-pad-x) var(--gf-pad-y) var(--gf-pad-x) !important;
}

/* Selects (reserve arrow space) */
.gform_wrapper.gravity-theme .ginput_container select {
  border-width: 2px !important;
  padding: var(--gf-pad-y) 40px var(--gf-pad-y) var(--gf-pad-x) !important;
}

/* Phone input (intl-tel-input) */
.gform_wrapper.gravity-theme .ginput_container_phone input[type="tel"] {
  border-width: 2px !important;
  padding-left: calc(var(--gf-pad-x) + var(--gf-phone-flag-width)) !important;
  padding-right: var(--gf-pad-x) !important;
  padding-top: var(--gf-pad-y) !important;
  padding-bottom: var(--gf-pad-y) !important;
}

/* On hover/focus: change COLOR only, never metrics */
.gform_wrapper.gravity-theme .ginput_container input:hover,
.gform_wrapper.gravity-theme .ginput_container input:focus,
.gform_wrapper.gravity-theme .ginput_container textarea:hover,
.gform_wrapper.gravity-theme .ginput_container textarea:focus,
.gform_wrapper.gravity-theme .ginput_container select:hover,
.gform_wrapper.gravity-theme .ginput_container select:focus {
  border-color: var(--gf-focus) !important;
}

/* ============== Neutralize legacy hover rules that shrink padding ============== */
.enrolment_form .ginput_container_text input:hover,
.enrolment_form .ginput_container_email input:hover,
.enrolment_form .ginput_container_phone input:hover,
.enrolment_form .ginput_container_textarea textarea:hover,
.contact_form_square .ginput_container_text input:hover,
.contact_form_square .ginput_container_email input:hover,
.contact_form_square .ginput_container_phone input:hover,
.contact_form_square .ginput_container_textarea textarea:hover,
.contact_form_square select:hover {
  padding: inherit !important;
  border-width: 2px !important;
}

/* Phone: remove extra bottom gap created by intl-tel-input wrapper */
.gform_wrapper.gravity-theme .ginput_container_phone .iti{
  display:block;         /* removes inline-block baseline gap */
  width:100%;
  margin:0 !important;   /* some skins add a bottom margin */
}

/* Ensure the inner bits don't force extra height */
.gform_wrapper.gravity-theme .ginput_container_phone input[type="tel"]{
  margin:0 !important;
  line-height:normal;
}

/* (defensive) keep flag container from stretching the line */
.gform_wrapper.gravity-theme .ginput_container_phone .iti__flag-container{
  height:100%;
}


/* =========================================
   Radios — remove legacy bullets completely
   ========================================= */

/* Remove list bullets + stray margins */
.gform_wrapper.gravity-theme .gfield--type-radio .gfield_radio,
.gform_wrapper.gravity-theme .gfield--type-radio .gfield_radio .gchoice{
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Kill any pseudo graphics and background images on labels */
.gform_wrapper.gravity-theme .gfield--type-radio .gfield_radio label,
.gform_wrapper.gravity-theme .gfield--type-radio .gfield_radio .gform-field-label{
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0;
  position: relative;
  line-height: 1.5;
  cursor: pointer;
}
.gform_wrapper.gravity-theme .gfield--type-radio .gfield_radio label::before,
.gform_wrapper.gravity-theme .gfield--type-radio .gfield_radio label::after{
  content: none !important;
  display: none !important;
  background: none !important;
  border: 0 !important;
  width: 0 !important;
  height: 0 !important;
  box-shadow: none !important;
}

/* Our intended layout & control look (restate to win specificity) */
.gform_wrapper.gravity-theme .gfield--type-radio .ginput_container_radio{
  padding-left: var(--gf-pad-x);
}
.gform_wrapper.gravity-theme .gfield--type-radio .gfield_radio .gchoice{
  display: flex;
  align-items: center;
  gap: 14px;
  row-gap: 6px;
}
.gform_wrapper.gravity-theme .gfield--type-radio .gfield-choice-input[type="radio"]{
  margin: 0;
  inline-size: 18px;
  block-size: 18px;
  transform: scale(1.2);
  transform-origin: center;
  accent-color: var(--gf-accent);
  border-radius: 50%;
  appearance: auto;          /* ensure native radios, not custom skin */
  -webkit-appearance: auto;
  -moz-appearance: auto;
}
.gform_wrapper.gravity-theme .gfield--type-radio .gfield-choice-input[type="radio"]:focus-visible{
  outline: 2px solid var(--gf-focus);
  outline-offset: 2px;
}
/* Selected “chip” behind label (no shift) */
.gform_wrapper.gravity-theme .gfield--type-radio .gfield-choice-input[type="radio"]:checked + label{
  background: rgba(24,124,196,.08);
  border-radius: 6px;
  padding: 2px 6px;
}

/* Defensive: if any global styles target these older wrappers, neutralize them too */
.enrolment_form .gfield_radio label::before,
.enrolment_form .gfield_radio label::after,
.contact_form_square .gfield_radio label::before,
.contact_form_square .gfield_radio label::after{
  content: none !important;
  display: none !important;
  background: none !important;
  border: 0 !important;
}

/* =========================================
   CHECKBOXES — remove legacy boxes completely
   ========================================= */

/* Remove stray pseudo elements and fake boxes */
.gform_wrapper.gravity-theme .gfield--type-checkbox .gfield_checkbox label,
.gform_wrapper.gravity-theme .gfield--type-checkbox .gfield_checkbox .gform-field-label{
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0;
  position: relative;
  line-height: 1.5;
  cursor: pointer;
}
.gform_wrapper.gravity-theme .gfield--type-checkbox .gfield_checkbox label::before,
.gform_wrapper.gravity-theme .gfield--type-checkbox .gfield_checkbox label::after{
  content: none !important;
  display: none !important;
  background: none !important;
  border: 0 !important;
  width: 0 !important;
  height: 0 !important;
  box-shadow: none !important;
}

/* Reset container & alignment */
.gform_wrapper.gravity-theme .gfield--type-checkbox .ginput_container_checkbox{
  padding-left: var(--gf-pad-x);
}
.gform_wrapper.gravity-theme .gfield--type-checkbox .gfield_checkbox .gchoice{
  display: flex;
  align-items: center;
  gap: 14px;
  row-gap: 6px;
}

/* Modern checkbox style (same sizing & accent as radios) */
.gform_wrapper.gravity-theme .gfield--type-checkbox .gfield-choice-input[type="checkbox"]{
  margin: 0;
  inline-size: 18px;
  block-size: 18px;
  transform: scale(1.2);
  transform-origin: center;
  accent-color: var(--gf-accent);
  border-radius: 4px;
  appearance: auto;
  -webkit-appearance: auto;
  -moz-appearance: auto;
}
.gform_wrapper.gravity-theme .gfield--type-checkbox .gfield-choice-input[type="checkbox"]:focus-visible{
  outline: 2px solid var(--gf-focus);
  outline-offset: 2px;
}

/* Add same “checked chip” background behind label */
.gform_wrapper.gravity-theme .gfield--type-checkbox .gfield-choice-input[type="checkbox"]:checked + label{
  background: rgba(24,124,196,.08);
  border-radius: 6px;
  padding: 2px 6px;
}

/* Defensive cleanup for older form skins */
.enrolment_form .gfield_checkbox label::before,
.enrolment_form .gfield_checkbox label::after,
.contact_form_square .gfield_checkbox label::before,
.contact_form_square .gfield_checkbox label::after{
  content: none !important;
  display: none !important;
  background: none !important;
  border: 0 !important;
}

