.mcgf-form { --mcgf-purple: #70547f; --mcgf-teal: #275963; }
.mcgf-form .gsection_title { color: var(--mcgf-teal); }
.mcgf-form .gform_button,.mcgf-form .gform_next_button,.mcgf-form .button { background: var(--mcgf-teal); color: #fff; border: 0; border-radius: 8px; padding: 12px 20px; cursor: pointer; }
.mcgf-form .button:disabled { opacity: .6; cursor: wait; }
.mcgf-summary,.mcgf-card { padding: 20px; border: 1px solid #e3dbe8; background: #faf8fc; border-radius: 12px; }
.mcgf-card iframe { width: 100%; height: 280px; border: 0; background: #fff; }
.mcgf-status:empty { display: none; }
.mcgf-status,.mcgf-card [role=status] { font-size: .95rem; }
.mcgf-trap { position: absolute !important; left: -10000px !important; height: 1px; overflow: hidden; }
@media(max-width:640px) { .mcgf-summary,.mcgf-card { padding: 14px; } }

form.mcgf-forwarding .gform_page {visibility:hidden;}

.mcgf-handoff-referral {display:none!important;}

.mcgf-unused-extra { display:none !important; }
[data-mcgf-price-refresh][hidden] { display:none !important; }

/* Service choices: scoped by purpose, not form or field IDs. */
.gform_wrapper .mcgf-frequency-choices .gfield_radio {
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  gap:10px!important;
}
.gform_wrapper .mcgf-frequency-choices .gchoice,
.gform_wrapper .mcgf-addon-choice .gchoice {
  position:relative; width:100%; min-width:0; margin:0!important;
}
.gform_wrapper .mcgf-frequency-choices input[type=radio] {
  position:absolute; opacity:0; width:1px; height:1px;
}
.gform_wrapper .mcgf-frequency-choices .gchoice label {
  display:flex!important; align-items:center; justify-content:center;
  box-sizing:border-box; width:100%!important; max-width:none!important; height:100%; min-height:62px;
  padding:12px 8px!important; margin:0!important; text-align:center;
  border:2px solid #718b91; border-radius:9px; background:#fff; color:#23525e;
  font-size:16px!important; line-height:1.3; font-weight:600; cursor:pointer;
}
.gform_wrapper .mcgf-frequency-choices input:checked+label,
.gform_wrapper .mcgf-addon-choice input:checked+label {
  border-color:#875696!important; background:#f3edf7!important;
  box-shadow:inset 0 0 0 1px #875696;
}
.gform_wrapper .mcgf-frequency-choices input:focus-visible+label,
.gform_wrapper .mcgf-addon-choice input:focus-visible+label {
  outline:2px solid #23525e; outline-offset:3px;
}
.gform_wrapper .mcgf-frequency-choices label:hover,
.gform_wrapper .mcgf-addon-choice label:hover {border-color:#23525e;}
.gform_wrapper .gfield.mcgf-extras-heading {
  grid-column:1/-1!important; margin:20px 0 0!important; padding:18px 20px!important;
  border:0!important; border-left:4px solid #875696!important; border-radius:8px;
  background:#f3edf7;
}
.gform_wrapper .mcgf-extras-heading .gsection_title {color:#23525e; margin:0 0 5px;}
.gform_wrapper .mcgf-extras-heading .gsection_description {padding:0!important; font-size:16px;}
/* GF's native 12-column CSS grid: each extra occupies four columns. */
.gform_wrapper .gform_fields:has(>.mcgf-addon-choice) {
  display:grid!important; grid-template-columns:repeat(12,minmax(0,1fr))!important;
}
.gform_wrapper .gfield.mcgf-addon-choice {
  grid-column:span 4!important; min-width:0; padding:0!important; margin:0!important;
}
.gform_wrapper .mcgf-addon-choice>legend {
  position:absolute!important; width:1px!important; height:1px!important;
  padding:0!important; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap;
}
.gform_wrapper .mcgf-addon-choice .ginput_container,
.gform_wrapper .mcgf-addon-choice .gfield_checkbox,
.gform_wrapper .mcgf-addon-choice .gchoice {height:100%;}
.gform_wrapper .mcgf-addon-choice .gchoice label {
  display:flex!important; align-items:center; box-sizing:border-box;
  width:100%!important; max-width:none!important; min-height:76px; height:100%;
  padding:14px 12px 14px 42px!important; margin:0!important;
  border:2px solid #bbc7ca; border-radius:9px; background:#fff; color:#23525e;
  font-size:16px!important; line-height:1.35; cursor:pointer;
}
.gform_wrapper .mcgf-addon-choice input[type=checkbox] {
  position:absolute!important; left:14px; top:50%; transform:translateY(-50%);
  z-index:1; margin:0!important; width:18px; height:18px; accent-color:#875696;
}
@media(max-width:760px) {
  .gform_wrapper .gfield.mcgf-addon-choice {grid-column:span 6!important;}
  .gform_wrapper .mcgf-frequency-choices .gfield_radio {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:420px) {
  .gform_wrapper .gfield.mcgf-addon-choice {grid-column:1/-1!important;}
}

/* 0.8.2: stretch both physical and logical dimensions used by GF themes. */
.gform_wrapper .mcgf-frequency-choices .ginput_container,
.gform_wrapper .mcgf-frequency-choices .gfield_radio,
.gform_wrapper .mcgf-addon-choice .ginput_container,
.gform_wrapper .mcgf-addon-choice .gfield_checkbox,
.gform_wrapper .mcgf-frequency-choices .gchoice,
.gform_wrapper .mcgf-addon-choice .gchoice,
.gform_wrapper .mcgf-frequency-choices .gchoice label,
.gform_wrapper .mcgf-addon-choice .gchoice label {
    width:100%!important; inline-size:100%!important;
    max-width:none!important; max-inline-size:none!important;
    min-width:0!important; min-inline-size:0!important;
    box-sizing:border-box!important; justify-self:stretch!important;
}
.gform_wrapper .mcgf-frequency-choices .gchoice,
.gform_wrapper .mcgf-addon-choice .gfield_checkbox,
.gform_wrapper .mcgf-addon-choice .gchoice {
    display:grid!important; grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
}
.gform_wrapper .mcgf-addon-choice .gchoice label {
    padding:14px 12px!important; justify-content:center; text-align:center;
}
/* Keep actual checkboxes focusable and accessible, but visually hidden. */
.gform_wrapper .mcgf-addon-choice input[type=checkbox] {
    position:absolute!important; width:1px!important; height:1px!important;
    inline-size:1px!important; block-size:1px!important;
    clip-path:inset(50%)!important; overflow:hidden!important;
    opacity:0!important; margin:0!important; padding:0!important;
    left:0; top:0; transform:none; border:0!important;
}
.gform_wrapper .mcgf-addon-choice .gchoice label::before,
.gform_wrapper .mcgf-addon-choice .gchoice label::after {display:none!important;}
.gform_wrapper .gfield.mcgf-extras-heading {
    margin:8px 0 0!important; padding:12px 16px!important;
}
.gform_wrapper .mcgf-extras-heading .gsection_title {
    font-family:inherit!important; font-size:20px!important;
    line-height:1.25!important; margin:0 0 4px!important;
}
.gform_wrapper .mcgf-extras-heading .gsection_description {
    font-size:15px!important; line-height:1.4!important;
}
/* Stick the entire grid item, not its child (which has no scroll travel). */
.gform_wrapper .gfield.mcgf-price-field {
    position:sticky!important; top:var(--mcgf-sticky-top,12px);
    z-index:30; align-self:start!important; grid-column:1/-1!important;
    margin:0!important; padding:0!important;
}
body.admin-bar .gform_wrapper .gfield.mcgf-price-field {
    top:calc(var(--mcgf-sticky-top,12px) + 32px);
}
.gform_wrapper .mcgf-price-field .mcgf-summary {
    padding:12px 16px!important; background:#faf8fc!important;
    box-shadow:0 3px 12px rgba(35,82,94,.12);
}
.gform_wrapper .mcgf-price-field .mcgf-summary h2 {
    font-family:inherit!important; font-size:22px!important;
    line-height:1.25!important; margin:0 0 6px!important;
}
.gform_wrapper .mcgf-price-field .mcgf-summary p {
    margin:4px 0!important; font-size:16px!important; line-height:1.4!important;
}
.gform_wrapper .mcgf-price-field .mcgf-summary p:empty {display:none;}
.gform_wrapper .mcgf-price-field [data-mcgf-price-refresh] {margin-top:6px;}
@media(max-width:782px) {
    body.admin-bar .gform_wrapper .gfield.mcgf-price-field {
        top:calc(var(--mcgf-sticky-top,12px) + 46px);
    }
}

.gform_wrapper [data-mcgf-restart] { color:#23525e; font-weight:600; text-decoration:underline; cursor:pointer; }

/* 0.8.4: outline only the active step; retain GF completed checkmarks. */
.gform_wrapper .mcgf-form .gf_step.gf_step_active .gf_step_number,
.gform_wrapper form:has(.mcgf-price-field) .gf_step.gf_step_active .gf_step_number {
    background:transparent!important;
    background-color:transparent!important;
    border:2px solid #a473b2!important;
    border-radius:50%!important;
    box-shadow:none!important;
    color:#a473b2!important;
    box-sizing:border-box!important;
}
.gform_wrapper .mcgf-form .gf_step.gf_step_active,
.gform_wrapper form:has(.mcgf-price-field) .gf_step.gf_step_active {
    opacity:1!important;
}

/* 0.8.7: keep navigation labels readable while Gravity Forms 3 is submitting. */
.gform_wrapper form:is(.mcgf-form,.mcgf-property-form) button:is(.gform_next_button,.gform_button).gform-has-spinner {
    display:inline-flex!important; align-items:center!important;
    justify-content:center!important; gap:12px!important; color:#fff!important;
}
.gform_wrapper form:is(.mcgf-form,.mcgf-property-form) button:is(.gform_next_button,.gform_button).gform-has-spinner::before {
    color:inherit!important;
}
.gform_wrapper form:is(.mcgf-form,.mcgf-property-form) button:is(.gform_next_button,.gform_button) .gform-loader {
    position:static!important; inset:auto!important; margin:0!important;
    flex:0 0 20px; width:20px!important; height:20px!important;
    inline-size:20px!important; block-size:20px!important;
}
.gform_wrapper form:is(.mcgf-form,.mcgf-property-form) button.gform_previous_button.gform-has-spinner {
    position:relative!important; overflow:visible!important; color:#23525e!important;
    margin-inline-end:36px!important;
}
.gform_wrapper form:is(.mcgf-form,.mcgf-property-form) button.gform_previous_button.gform-has-spinner::before {color:inherit!important;}
.gform_wrapper form:is(.mcgf-form,.mcgf-property-form) button.gform_previous_button .gform-loader {
    position:absolute!important; inset:auto!important;
    left:auto!important; right:-32px!important; top:0!important; bottom:0!important;
    margin:auto 0!important; width:20px!important; height:20px!important;
    inline-size:20px!important; block-size:20px!important;
    border-block-end-color:#a473b2; border-inline-start-color:#a473b2;
}
/* 0.8.8: available-date calendar and compact hosted payment panel. */
.gform_wrapper .mcgf-calendar-native {position:absolute!important;inline-size:1px!important;block-size:1px!important;opacity:0;clip-path:inset(50%);overflow:hidden;}
.gform_wrapper .mcgf-calendar {padding:16px;border:1px solid #d7dfe1;border-radius:12px;background:#fff;color:#23525e;}
.gform_wrapper .mcgf-calendar-nav {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.gform_wrapper .mcgf-calendar-nav strong {font-size:20px;line-height:1.3;}
.gform_wrapper .mcgf-calendar-nav button {background:#23525e!important;color:white!important;padding:2px 14px!important;font-size:26px!important;border:0;border-radius:6px;min-width:44px;min-height:44px;}
.gform_wrapper .mcgf-calendar-nav button:disabled {opacity:.3;cursor:default;}
.gform_wrapper .mcgf-calendar-grid {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;}
.gform_wrapper .mcgf-calendar-weekday {text-align:center;font-size:13px;font-weight:600;padding:6px 0;}
.gform_wrapper button.mcgf-calendar-day {display:block;width:100%!important;min-width:0!important;min-height:48px;padding:8px 2px!important;border:1px solid #b9cbcf!important;border-radius:5px!important;background:#eaf1f2!important;color:#23525e!important;font-size:16px!important;font-weight:600;box-shadow:none!important;cursor:pointer;}
.gform_wrapper button.mcgf-calendar-day:disabled {background:#fafafa!important;color:#9ba8ab!important;border-color:#eee!important;cursor:default;opacity:1;}
.gform_wrapper button.mcgf-calendar-day[aria-pressed=true]:not(:disabled) {background:#23525e!important;color:white!important;border-color:#23525e!important;}
.gform_wrapper button.mcgf-calendar-day:focus-visible {outline:2px solid #a473b2;outline-offset:1px;}
.gform_wrapper .mcgf-calendar-selection {font-size:16px!important;font-weight:600;margin:12px 0 4px!important;}
.gform_wrapper .mcgf-calendar-hint {font-size:13px!important;margin:0!important;}
.gform_wrapper .mcgf-card {max-width:640px;padding:18px!important;margin-inline:auto;box-sizing:border-box;}
.gform_wrapper .mcgf-card h3 {font-family:inherit!important;font-size:22px!important;line-height:1.3!important;margin:0 0 8px!important;}
.gform_wrapper .mcgf-card p {font-size:15px!important;line-height:1.4!important;margin:8px 0!important;}
.gform_wrapper .mcgf-card iframe {display:block;width:100%;height:190px!important;border:0;background:#faf8fc;margin:8px 0;}
.gform_wrapper .mcgf-card [data-mcgf-card-save] {padding:10px 18px!important;font-size:16px!important;}
@media(max-width:480px){.gform_wrapper .mcgf-calendar{padding:10px;}.gform_wrapper button.mcgf-calendar-day{min-height:44px;}.gform_wrapper .mcgf-calendar-grid{gap:2px;}}

/* 0.8.9: horizontal hosted card row and shorter optional instructions. */
.gform_wrapper .mcgf-card {width:100%;max-width:none;margin-inline:0;}
.gform_wrapper .mcgf-card iframe {height:112px!important;}
.gform_wrapper .mcgf-home-instructions textarea {
    height:90px!important; min-height:90px!important; resize:vertical!important;
    line-height:1.4!important;
}
@media(max-width:520px){.gform_wrapper .mcgf-card iframe{height:210px!important;}}
