/* MediZen | Schedule a Consultation v9, page-scoped styling
   Scope: .medizen-consult

   v9 = v8 compacted so the closed form fits one screen without scrolling.
   v8 = v7 with a 30/60 column split, and the accordion limited to the concerns
   field (result buttons and comments sit open beneath it).
   v7 = v6 plus a second column of contact buttons beside the form.
   v6 = the accordion layout, with the concern picker inside it rendered as a
   horizontal carousel rather than a 21-tile grid (see consult-accordion-slider.js).
   The grid rules are kept below because they are what the carousel overrides,
   and they are also the no-JS fallback. House language is
   unchanged and still taken from the category-showcase block:
     card = white + 3px gold top bar + 8px radius
     heading = IvyMode serif in navy + 44x2px gold rule
     overline/label = Interstate 600 uppercase 0.12em in #816118 (AA on white at 5.74:1)
     body = rgba(#072E41,.82) at 1.7
     CTA = .btn--solid.btn--secondary, gold fill / dark text / 5px radius
     tile overlay gradient mirrors the showcase slide overlay

   Per-tile background images live in concern-tiles.generated.css. */

/* ---- containment ---- */
.medizen-consult .block-large-contact-form__pod { max-width: 880px; margin-left: auto; margin-right: auto; }
.medizen-consult .block-large-contact-form__content { max-width: 58ch; margin-left: auto; margin-right: auto; }
.medizen-consult .block-large-contact-form__content p { font-size: .9375rem; line-height: 1.7; color: rgba(7,46,65,.82); }
.medizen-consult .block-large-contact-form__content p:last-child { margin-bottom: 0; }

.medizen-consult .block-large-contact-form__pre-heading.overline {
  font-family: "Interstate","Montserrat",sans-serif;
  font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #816118;
}

/* ---- the card ---- */
.medizen-consult .block-large-contact-form__form {
  background: #fff;
  border-top: 3px solid #E2BB65;
  border-radius: 8px;
  padding: 2.25rem 2.5rem 2.5rem;
  margin-top: 2.5rem;
  box-shadow: 0 1.125rem 2.75rem rgba(0,0,0,.10);
  text-align: left;
}

/* ---- step rail ---- */
.medizen-consult .gform_wrapper .gf_page_steps {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin: 0 0 1.75rem;
  padding: 0 0 1.25rem;
  border: 0;
  border-bottom: 1px solid rgba(7,46,65,.12);
}
.medizen-consult .gform_wrapper .gf_step {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin: 0;
  padding: 0;
  opacity: 1;
  font-family: "Interstate","Montserrat",sans-serif;
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(7,46,65,.45);
}
.medizen-consult .gform_wrapper .gf_step .gf_step_number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem; height: 1.75rem;
  border: 1px solid rgba(7,46,65,.28);
  border-radius: 50%;
  background: transparent;
  font-size: .8125rem;
  font-weight: 700;
  letter-spacing: 0;
  color: inherit;
}
.medizen-consult .gform_wrapper .gf_step .gf_step_label { margin: 0; }
.medizen-consult .gform_wrapper .gf_step_active { color: #072E41; }
.medizen-consult .gform_wrapper .gf_step_active .gf_step_number {
  background: #E2BB65; border-color: #E2BB65; color: #072E41;
}
.medizen-consult .gform_wrapper .gf_step_completed { color: rgba(7,46,65,.7); }
.medizen-consult .gform_wrapper .gf_step_completed .gf_step_number {
  background: #072E41; border-color: #072E41; color: #fff;
}

/* ---- rhythm the theme removes ---- */
.medizen-consult .gform_wrapper.gravity-theme .gform_fields { row-gap: 2rem; }

/* helper text above the controls */
.medizen-consult .gform_wrapper.gravity-theme .gfield { display: flex; flex-direction: column; }
.medizen-consult .gform_wrapper.gravity-theme .gfield > .gfield_label { order: 1; }
.medizen-consult .gform_wrapper.gravity-theme .gfield > .gfield_description { order: 2; }
.medizen-consult .gform_wrapper.gravity-theme .gfield > .ginput_container { order: 3; }
.medizen-consult .gform_wrapper.gravity-theme .gfield > .gfield_validation_message { order: 4; }
.medizen-consult .gform_wrapper .gform_validation_container { display: none !important; }

/* ---- labels ---- */
.medizen-consult .gform_wrapper.gravity-theme .gfield_label {
  font-family: "Interstate","Montserrat",sans-serif;
  font-size: .75rem !important;
  font-weight: 600 !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #816118;
  margin-bottom: .45rem;
}
.medizen-consult .gform_wrapper.gravity-theme .gfield_required {
  color: rgba(7,46,65,.55);
  font-weight: 400;
  letter-spacing: .06em;
}

.medizen-consult .gform_wrapper.gravity-theme .medizen-consult-concerns > .gfield_label,
.medizen-consult .gform_wrapper.gravity-theme .medizen-consult-result > .gfield_label,
.medizen-consult .gform_wrapper.gravity-theme .medizen-consult-notes > .gfield_label {
  font-family: "IvyMode","Montserrat",sans-serif;
  font-size: 1.5rem !important;
  font-weight: 400 !important;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.15;
  color: #072E41;
  margin-bottom: 0;
}
.medizen-consult .gform_wrapper.gravity-theme .medizen-consult-concerns > .gfield_label::after,
.medizen-consult .gform_wrapper.gravity-theme .medizen-consult-result > .gfield_label::after,
.medizen-consult .gform_wrapper.gravity-theme .medizen-consult-notes > .gfield_label::after {
  content: "";
  display: block;
  width: 2.75rem; height: 2px;
  margin: .75rem 0 .875rem;
  background: #E2BB65;
}
.medizen-consult .gform_wrapper.gravity-theme .gfield_description {
  margin: 0 0 .9rem;
  padding: 0;
  font-size: .84375rem;
  line-height: 1.7;
  color: rgba(7,46,65,.82);
}

/* ---- plain choice rows (steps 2 and 3) ---- */
.medizen-consult .gform_wrapper.gravity-theme .gfield_checkbox,
.medizen-consult .gform_wrapper.gravity-theme .gfield_radio { display: grid; gap: .125rem; }
.medizen-consult .gform_wrapper.gravity-theme .gchoice {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  padding: .35rem .5rem;
  border-radius: 4px;
  transition: background-color .2s ease-out;
}
/* background-color, not the background shorthand: the tiles carry a
   background-image that a shorthand here would wipe out on hover. */
.medizen-consult .gform_wrapper.gravity-theme .gchoice:hover { background-color: rgba(226,187,101,.18); }
.medizen-consult .gform_wrapper.gravity-theme .gchoice label {
  font-family: "Interstate","Montserrat",sans-serif;
  font-size: .9375rem; line-height: 1.5; font-weight: 400;
  color: #072E41; margin: 0; cursor: pointer;
}
.medizen-consult .gform_wrapper.gravity-theme .gchoice input[type=checkbox],
.medizen-consult .gform_wrapper.gravity-theme .gchoice input[type=radio] {
  appearance: none; -webkit-appearance: none;
  width: 1.0625rem; height: 1.0625rem; min-width: 1.0625rem;
  margin: .2rem 0 0;
  border: 1px solid rgba(7,46,65,.55);
  background: #fff;
  position: relative; cursor: pointer;
  transition: background-color .2s ease-out, border-color .2s ease-out;
}
.medizen-consult .gform_wrapper.gravity-theme .gchoice input[type=checkbox] { border-radius: 3px; }
.medizen-consult .gform_wrapper.gravity-theme .gchoice input[type=radio] { border-radius: 50%; }
.medizen-consult .gform_wrapper.gravity-theme .gchoice input[type=checkbox]:checked,
.medizen-consult .gform_wrapper.gravity-theme .gchoice input[type=radio]:checked {
  background: #E2BB65; border-color: #E2BB65;
}
.medizen-consult .gform_wrapper.gravity-theme .gchoice input[type=checkbox]:checked::after {
  content: ""; position: absolute;
  left: .34rem; top: .12rem; width: .26rem; height: .55rem;
  border: solid #072E41; border-width: 0 2px 2px 0;
  transform: rotate(42deg);
}
.medizen-consult .gform_wrapper.gravity-theme .gchoice input[type=radio]:checked::after {
  content: ""; position: absolute;
  left: 50%; top: 50%; width: .4375rem; height: .4375rem;
  border-radius: 50%; background: #072E41;
  transform: translate(-50%,-50%);
}
.medizen-consult .gform_wrapper.gravity-theme .gchoice input:focus-visible {
  outline: 2px solid #072E41; outline-offset: 2px;
}

/* ---- step 1: concern picker as image tiles ---- */
.medizen-consult .medizen-consult-concerns .gfield_checkbox {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: .625rem;
}
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice {
  position: relative;
  display: block;
  padding: 0;
  aspect-ratio: 4 / 3;
  border-radius: 6px;
  overflow: hidden;
  background-color: #072E41;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: transform .2s ease-out, box-shadow .2s ease-out;
}
/* overlay mirrors the showcase slide gradient so white type stays legible
   whatever the photograph underneath is doing */
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice::after {
  content: "";
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(180deg, rgba(7,46,65,.30) 0%, rgba(7,46,65,.15) 38%, rgba(7,46,65,.88) 100%);
  transition: background .2s ease-out;
}
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:hover {
  transform: translateY(-2px);
  box-shadow: 0 .5rem 1.25rem rgba(7,46,65,.28);
}
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice label {
  position: absolute; inset: 0; z-index: 2;
  display: flex; align-items: flex-end;
  margin: 0; padding: .6rem .65rem;
  font-size: .8125rem; font-weight: 600; line-height: 1.25;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
}
/* the input doubles as the selected badge, so selection reads without :has() */
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice input[type=checkbox] {
  position: absolute; top: .5rem; right: .5rem; z-index: 3;
  width: 1.25rem; height: 1.25rem; min-width: 1.25rem;
  margin: 0;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.85);
  background: rgba(7,46,65,.42);
}
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice input[type=checkbox]:checked {
  background: #E2BB65; border-color: #E2BB65;
}
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice input[type=checkbox]:checked::after {
  left: .42rem; top: .2rem; width: .28rem; height: .58rem; border-color: #072E41;
}
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:has(input:checked) {
  box-shadow: inset 0 0 0 3px #E2BB65;
}
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:has(input:checked)::after {
  background: linear-gradient(180deg, rgba(7,46,65,.15) 0%, rgba(7,46,65,.10) 38%, rgba(7,46,65,.82) 100%);
}

/* ---- text inputs ---- */
.medizen-consult .gform_wrapper.gravity-theme input[type=text],
.medizen-consult .gform_wrapper.gravity-theme input[type=email],
.medizen-consult .gform_wrapper.gravity-theme input[type=tel],
.medizen-consult .gform_wrapper.gravity-theme .ginput_container_textarea textarea {
  border-radius: 5px;
  border: 1px solid rgba(7,46,65,.45);
  background-color: #F3EEE3;
  font-family: "Interstate","Montserrat",sans-serif;
  font-size: .9375rem;
  color: #072E41;
}
.medizen-consult .gform_wrapper.gravity-theme input[type=text]:focus,
.medizen-consult .gform_wrapper.gravity-theme input[type=email]:focus,
.medizen-consult .gform_wrapper.gravity-theme input[type=tel]:focus,
.medizen-consult .gform_wrapper.gravity-theme .ginput_container_textarea textarea:focus {
  outline: 2px solid #E2BB65; outline-offset: 1px; border-color: #072E41;
}
.medizen-consult .gform_wrapper.gravity-theme .ginput_container_textarea textarea {
  min-height: 7.5rem; height: 7.5rem;
  padding: .8rem .95rem; line-height: 1.6; resize: vertical;
}

/* ---- consent ---- */
.medizen-consult .medizen-consult-consent { padding-top: 1.1rem; border-top: 1px solid rgba(7,46,65,.12); }
.medizen-consult .medizen-consult-consent .gchoice { padding-left: 0; }
.medizen-consult .medizen-consult-consent .gchoice label { font-size: .8125rem; line-height: 1.6; color: rgba(7,46,65,.82); }
.medizen-consult .medizen-consult-consent .gchoice label a { color: #072E41; text-decoration: underline; text-underline-offset: 2px; }
.medizen-consult .medizen-consult-consent .gchoice label a:hover { color: #816118; }

/* ---- step and submit buttons ---- */
.medizen-consult .gform_wrapper.gravity-theme .gform_page_footer,
.medizen-consult .gform_wrapper.gravity-theme .gform_footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin: 1.75rem 0 0;
  padding: 1.25rem 0 0;
  border-top: 1px solid rgba(7,46,65,.12);
}
.medizen-consult .gform_wrapper.gravity-theme .gform_page_footer input[type=submit],
.medizen-consult .gform_wrapper.gravity-theme .gform_footer input[type=submit] {
  display: inline-block;
  border-radius: 5px;
  font-family: "Interstate","Montserrat",sans-serif;
  font-size: 1rem;
  font-weight: 700;
  padding: .8rem 2rem;
  margin: 0;
  cursor: pointer;
  width: auto;
  transition: all .2s ease-out;
}
/* forward actions carry the gold CTA */
.medizen-consult .gform_wrapper.gravity-theme .gform_next_button,
.medizen-consult .gform_wrapper.gravity-theme .gform_footer input[type=submit] {
  background-color: #E2BB65;
  border: 2px solid #E2BB65;
  color: #000;
  order: 2;
}
.medizen-consult .gform_wrapper.gravity-theme .gform_next_button:hover,
.medizen-consult .gform_wrapper.gravity-theme .gform_footer input[type=submit]:hover {
  background-color: #eace90; border-color: #eace90; color: #000;
}
/* going back is the quiet action */
.medizen-consult .gform_wrapper.gravity-theme .gform_previous_button {
  background-color: transparent;
  border: 2px solid rgba(7,46,65,.35);
  color: #072E41;
  order: 1;
}
.medizen-consult .gform_wrapper.gravity-theme .gform_previous_button:hover {
  background-color: #072E41; border-color: #072E41; color: #fff;
}
.medizen-consult .gform_wrapper.gravity-theme .gform_page_footer input[type=submit]:focus,
.medizen-consult .gform_wrapper.gravity-theme .gform_footer input[type=submit]:focus {
  outline: 1px solid #072E41; outline-offset: 2px;
}

/* ---- validation ---- */
.medizen-consult .gform_wrapper .gform_validation_errors { border-radius: 5px; }
.medizen-consult .gform_wrapper .gfield_validation_message { color: #c02b0a; font-size: .8125rem; margin-top: .35rem; }

/* ---- confirmation ---- */
.medizen-consult .medizen-consult-confirmation h3 {
  font-family: "IvyMode","Montserrat",sans-serif;
  font-size: 1.75rem; font-weight: 400; line-height: 1.15; color: #072E41; margin: 0;
}
.medizen-consult .medizen-consult-confirmation h3::after {
  content: ""; display: block; width: 2.75rem; height: 2px; margin: 1rem 0; background: #E2BB65;
}
.medizen-consult .medizen-consult-confirmation p { font-size: .9375rem; line-height: 1.7; color: rgba(7,46,65,.82); }
.medizen-consult .medizen-consult-confirmation p:last-child { margin-bottom: 0; }
.medizen-consult .medizen-consult-confirmation a { color: #072E41; text-decoration: underline; text-underline-offset: 2px; }
.medizen-consult .medizen-consult-confirmation a:hover { color: #816118; }

/* ---- responsive ---- */
@media (max-width: 900px) {
  .medizen-consult .medizen-consult-concerns .gfield_checkbox { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .medizen-consult .medizen-consult-concerns .gfield_checkbox { grid-template-columns: repeat(2, minmax(0,1fr)); gap: .5rem; }
  .medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice { aspect-ratio: 3 / 2; }
  .medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice label { font-size: .75rem; padding: .5rem .55rem; }
  .medizen-consult .gform_wrapper .gf_step { font-size: .625rem; gap: .4rem; }
  .medizen-consult .gform_wrapper .gf_page_steps { gap: .75rem; }
  .medizen-consult .gform_wrapper .gf_step .gf_step_number { width: 1.5rem; height: 1.5rem; font-size: .75rem; }
}
@media (max-width: 575px) {
  .medizen-consult .block-large-contact-form__form { padding: 1.75rem 1.25rem 1.875rem; }
  .medizen-consult .gform_wrapper.gravity-theme .medizen-consult-concerns > .gfield_label,
  .medizen-consult .gform_wrapper.gravity-theme .medizen-consult-result > .gfield_label,
  .medizen-consult .gform_wrapper.gravity-theme .medizen-consult-notes > .gfield_label { font-size: 1.3125rem !important; }
  .medizen-consult .gform_wrapper.gravity-theme .gform_page_footer input[type=submit],
  .medizen-consult .gform_wrapper.gravity-theme .gform_footer input[type=submit] { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .medizen-consult .gform_wrapper.gravity-theme .gchoice,
  .medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice,
  .medizen-consult .gform_wrapper.gravity-theme .gchoice input,
  .medizen-consult .gform_wrapper.gravity-theme .gform_page_footer input[type=submit],
  .medizen-consult .gform_wrapper.gravity-theme .gform_footer input[type=submit] { transition: none; }
  .medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:hover { transform: none; }
}

/* ============================================================
   Accordion (v3)
   Applied by consult-accordion.js to the three optional fields.
   Everything degrades to a plain open field if the JS never runs.
   ============================================================ */

/* the legend is the disclosure header, so let it fill the fieldset */
.medizen-consult .mz-acc > .gfield_label {
  width: 100%;
  display: block;
  float: none;
  padding: 0;
  margin: 0 !important;
}
.medizen-consult .mz-acc { border-bottom: 1px solid rgba(7,46,65,.12); padding-bottom: .25rem; }

.medizen-consult .mz-acc__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  margin: 0;
  padding: .95rem 0;
  border: 0;
  background: none;
  text-align: left;
  cursor: pointer;
  color: #072E41;
  transition: color .2s ease-out;
}
.medizen-consult .mz-acc__toggle:hover { color: #816118; }
.medizen-consult .mz-acc__toggle:focus-visible { outline: 2px solid #E2BB65; outline-offset: 3px; }

.medizen-consult .mz-acc__title {
  font-family: "IvyMode","Montserrat",sans-serif;
  font-size: 1.375rem;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: 0;
  text-transform: none;
  color: inherit;
}
.medizen-consult .mz-acc__meta { display: flex; align-items: center; gap: .75rem; flex: 0 0 auto; }

/* selection summary, so a closed panel still shows what is inside it */
.medizen-consult .mz-acc__count {
  font-family: "Interstate","Montserrat",sans-serif;
  font-size: .625rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #072E41;
  background: #E2BB65;
  border-radius: 999px;
  padding: .25rem .6rem;
  white-space: nowrap;
}

.medizen-consult .mz-acc__chev {
  width: .625rem; height: .625rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  margin-top: -.25rem;
  transition: transform .2s ease-out;
}
.medizen-consult .mz-acc--open .mz-acc__chev { transform: rotate(-135deg); margin-top: .2rem; }

.medizen-consult .mz-acc__panel { order: 3; padding: .25rem 0 1.25rem; }
.medizen-consult .mz-acc__panel[hidden] { display: none; }

/* the serif heading inside the toggle already carries the hierarchy, so the
   standalone gold rule under these three labels would double up */
.medizen-consult .mz-acc > .gfield_label::after { content: none; }

/* tighten the stack now that each field is one row when closed */
.medizen-consult .gform_wrapper.gravity-theme .gform_fields { row-gap: 1.25rem; }
.medizen-consult .mz-acc + .mz-acc { margin-top: -1.25rem; }

@media (max-width: 575px) {
  .medizen-consult .mz-acc__title { font-size: 1.1875rem; }
  .medizen-consult .mz-acc__toggle { padding: .8rem 0; }
}
@media (prefers-reduced-motion: reduce) {
  .medizen-consult .mz-acc__chev, .medizen-consult .mz-acc__toggle { transition: none; }
}

/* ============================================================
   Concern carousel (inside the accordion panel) + result buttons
   Applied by consult-accordion-slider.js. .mz-slider here is a wrapper DIV
   inside .ginput_container, not the fieldset, so the arrows position against
   the track rather than the whole accordion. Degrades to a plain grid and
   plain radios if the JS never runs.

   Selectors carry the .gform_wrapper.gravity-theme prefix on purpose: the base
   rules above are (0,4,0), so a variant rule without it silently loses.
   ============================================================ */

.medizen-consult .gform_wrapper.gravity-theme .mz-slider { position: relative; }

/* ---- the track ---- */
.medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__track {
  --gap: .75rem;
  --per: 3.4;                 /* cards in view; the .4 is the peek that says "more" */
  display: flex;
  flex-wrap: nowrap;
  gap: var(--gap);
  height: auto;
  padding: 0;
  margin: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  background: none;
  border-radius: 0;
}
.medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__track::-webkit-scrollbar { width: 0; height: 0; }

/* ---- the cards ---- */
.medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__track .gchoice {
  position: relative;
  display: block;
  flex: 0 0 calc((100% - (var(--per) - 1) * var(--gap)) / var(--per));
  width: auto;
  height: auto;
  aspect-ratio: 4 / 5;
  margin: 0;
  padding: 0;
  border-radius: 8px;
  overflow: hidden;
  scroll-snap-align: start;
  background-color: #072E41;
  background-size: cover;
  background-position: center;
  transition: box-shadow .2s ease-out, transform .2s ease-out;
}
.medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__track .gchoice:hover {
  transform: translateY(-2px);
  box-shadow: 0 .5rem 1.25rem rgba(7,46,65,.28);
}
.medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__track .gchoice::after {
  background: linear-gradient(180deg, rgba(7,46,65,.24) 0%, rgba(7,46,65,.10) 34%, rgba(7,46,65,.90) 100%);
}
.medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__track .gchoice label {
  align-items: flex-end;
  padding: .9rem .95rem 1rem;
  font-family: "IvyMode","Montserrat",sans-serif;
  font-size: clamp(.9375rem, 1.5vw, 1.1875rem);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: 0;
  text-shadow: 0 1px 5px rgba(0,0,0,.45);
}
.medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__track .gchoice input[type=checkbox] {
  top: .625rem;
  right: .625rem;
  width: 1.5rem;
  height: 1.5rem;
  min-width: 1.5rem;
}
.medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__track .gchoice input[type=checkbox]:checked::after {
  left: .5rem; top: .2rem; width: .34rem; height: .68rem; border-width: 0 2px 2px 0;
}
.medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__track .gchoice:has(input:checked) {
  box-shadow: inset 0 0 0 3px #E2BB65;
}

/* ---- arrows sit over the track edges, so "there is more" is unmissable ---- */
.medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__nav {
  position: absolute;
  top: 50%;
  z-index: 4;
  width: 2.75rem;
  height: 2.75rem;
  margin-top: -2.25rem;
  border: 1px solid rgba(7,46,65,.14);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 .25rem .875rem rgba(7,46,65,.20);
  cursor: pointer;
  transition: background-color .2s ease-out, opacity .2s ease-out, transform .2s ease-out;
}
.medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__nav--prev { left: -.875rem; }
.medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__nav--next { right: -.875rem; }
.medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__nav::before {
  content: "";
  position: absolute;
  left: 50%; top: 50%;
  width: .5rem; height: .5rem;
  border-right: 2px solid #072E41;
  border-bottom: 2px solid #072E41;
  transition: border-color .2s ease-out;
}
.medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__nav--prev::before { transform: translate(-35%,-50%) rotate(135deg); }
.medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__nav--next::before { transform: translate(-65%,-50%) rotate(-45deg); }
.medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__nav:hover:not(:disabled) { background: #072E41; transform: scale(1.06); }
.medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__nav:hover:not(:disabled)::before { border-color: #fff; }
.medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__nav:disabled { opacity: .28; cursor: default; box-shadow: none; }
.medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__nav:focus-visible { outline: 2px solid #E2BB65; outline-offset: 2px; }

/* ---- progress + selected count ---- */
.medizen-consult .gform_wrapper.gravity-theme .mz-slider__bar {
  display: flex;
  align-items: center;
  gap: .875rem;
  margin-top: .875rem;
}
.medizen-consult .gform_wrapper.gravity-theme .mz-slider__prog {
  position: relative;
  flex: 1 1 auto;
  height: 2px;
  border-radius: 2px;
  background: rgba(7,46,65,.14);
}
.medizen-consult .gform_wrapper.gravity-theme .mz-slider__prog span {
  position: absolute;
  top: 0; left: 0;
  height: 100%;
  width: 30%;
  border-radius: 2px;
  background: #E2BB65;
  transition: left .2s ease-out, width .2s ease-out;
}
.medizen-consult .gform_wrapper.gravity-theme .mz-slider__count {
  font-family: "Interstate","Montserrat",sans-serif;
  font-size: .625rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(7,46,65,.55);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.medizen-consult .gform_wrapper.gravity-theme .mz-slider__sel {
  font-family: "Interstate","Montserrat",sans-serif;
  font-size: .625rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #072E41;
  background: #E2BB65;
  border-radius: 999px;
  padding: .3rem .7rem;
  white-space: nowrap;
}

/* ---- result: three styled buttons ---- */
.medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .gfield_radio {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: .75rem;
}
.medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .gchoice {
  display: block; position: relative; padding: 0; border-radius: 6px; background: none;
}
.medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .gchoice:hover { background: none; }
.medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .gchoice input[type=radio] {
  position: absolute; opacity: 0; width: 1px; height: 1px; min-width: 1px; margin: 0; pointer-events: none;
}
.medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .gchoice label {
  display: flex;
  flex-direction: column;
  gap: .3rem;
  height: 100%;
  padding: 1rem .9rem;
  border: 1px solid rgba(7,46,65,.28);
  border-radius: 6px;
  background: #fff;
  text-align: left;
  cursor: pointer;
  transition: border-color .2s ease-out, background-color .2s ease-out;
}
.medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .gchoice label:hover { border-color: #E2BB65; background: rgba(226,187,101,.10); }
.medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .gchoice input[type=radio]:focus-visible + label { outline: 2px solid #072E41; outline-offset: 2px; }
/* the input precedes the label in GF markup, so no :has() is needed here */
.medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .gchoice input[type=radio]:checked + label {
  border-color: #E2BB65; background: #E2BB65;
}
.medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .mz-btn__t {
  font-family: "IvyMode","Montserrat",sans-serif; font-size: 1.125rem; line-height: 1.1; color: #072E41;
}
.medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .mz-btn__d {
  font-family: "Interstate","Montserrat",sans-serif; font-size: .75rem; line-height: 1.45; color: rgba(7,46,65,.72);
}
.medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .gchoice input[type=radio]:checked + label .mz-btn__d { color: rgba(7,46,65,.85); }

@media (max-width: 900px) {
  .medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__track { --per: 2.4; }
}
@media (max-width: 700px) {
  .medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .gfield_radio { grid-template-columns: 1fr; }
  .medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .gchoice label { flex-direction: row; align-items: baseline; gap: .5rem; }
}
@media (max-width: 575px) {
  .medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__track { --per: 2.15; --gap: .5rem; }
  .medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__nav { width: 2.25rem; height: 2.25rem; }
  .medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__nav--prev { left: -.625rem; }
  .medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__nav--next { right: -.625rem; }
}
@media (prefers-reduced-motion: reduce) {
  .medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__track { scroll-behavior: auto; }
  .medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__nav,
  .medizen-consult .gform_wrapper.gravity-theme .mz-slider__prog span,
  .medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .gchoice label { transition: none; }
  .medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__track .gchoice:hover { transform: none; }
}

/* ============================================================
   Two columns: form + contact buttons
   The ACF block already renders its pod inside
   .row.justify-content-end > .col-12.col-xl-6, so the left half is free.
   consult-page-enhance.js inserts the aside as a sibling column.
   ============================================================ */

/* form first on narrow screens, buttons alongside from xl up */
.medizen-consult .mz-aside-col { order: 2; }
.medizen-consult .mz-aside-col .mz-aside {
  text-align: left;
  max-width: 26rem;
  margin: 0 auto;
  padding: 2rem 0 0;
}

@media (min-width: 1200px) {
  /* The theme forces this block's columns full width when it carries .full-width:
       section.block-large-contact-form.full-width .col-xl-6 { width: 100% }
     which is why the form has been spanning the whole container. Adding
     .medizen-consult to the compound outranks it (0,4,1 vs 0,3,1) and restores
     the half/half split, on this page only. */
  section.block-large-contact-form.full-width.medizen-consult .col-xl-6 { width: 50%; }

  .medizen-consult .mz-aside-col { order: 0; display: flex; align-items: flex-start; }
  .medizen-consult .mz-aside-col .mz-aside { margin: 0; padding: 3.25rem 2rem 0 0; }
  /* the theme puts 5rem of side padding on the pod, which the half-width column
     cannot spare. The white card carries its own padding and the pod's cream
     matches the section, so dropping it costs nothing visually. */
  .medizen-consult .block-large-contact-form__pod {
    padding: 0;
    background: none;
    border-radius: 0;
  }
  /* narrower column, so fewer cards in view */
  .medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__track { --per: 2.6; }
}

.medizen-consult .mz-aside__eyebrow {
  font-family: "Interstate","Montserrat",sans-serif;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #816118;
  margin: 0 0 .5rem;
}
.medizen-consult .mz-aside__title {
  font-family: "IvyMode","Montserrat",sans-serif;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  font-weight: 400;
  line-height: 1.12;
  color: #072E41;
  margin: 0;
}
.medizen-consult .mz-aside__title::after {
  content: "";
  display: block;
  width: 2.75rem;
  height: 2px;
  margin: 1rem 0;
  background: #E2BB65;
}
.medizen-consult .mz-aside__lede {
  font-size: .9375rem;
  line-height: 1.7;
  color: rgba(7,46,65,.82);
  margin: 0;
}

.medizen-consult .mz-aside__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .75rem;
  margin: 1.5rem 0 1.25rem;
}
.medizen-consult .mz-btn {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  padding: .875rem 1.5rem;
  border: 1px solid rgba(7,46,65,.10);
  border-radius: 999px;
  background: #fff;
  color: #072E41;
  font-family: "Interstate","Montserrat",sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: 0 .25rem .75rem rgba(7,46,65,.12);
  transition: background-color .2s ease-out, color .2s ease-out, transform .2s ease-out;
}
.medizen-consult .mz-btn:hover,
.medizen-consult .mz-btn:focus-visible {
  background: #072E41;
  color: #fff;
  transform: translateY(-1px);
}
.medizen-consult .mz-btn:focus-visible { outline: 2px solid #E2BB65; outline-offset: 3px; }
.medizen-consult .mz-btn__ico { display: inline-flex; flex: 0 0 auto; }
.medizen-consult .mz-btn--wa {
  background: #25D366;
  border-color: #25D366;
  color: #fff;
}
.medizen-consult .mz-btn--wa:hover,
.medizen-consult .mz-btn--wa:focus-visible { background: #1da851; color: #fff; }

.medizen-consult .mz-aside__note {
  font-size: .8125rem;
  line-height: 1.6;
  color: rgba(7,46,65,.68);
  margin: 0;
  max-width: 22rem;
}

@media (max-width: 1199px) {
  .medizen-consult .mz-aside-col .mz-aside {
    border-top: 1px solid rgba(7,46,65,.14);
    padding-top: 2rem;
    text-align: center;
  }
  .medizen-consult .mz-aside__title::after { margin-left: auto; margin-right: auto; }
  .medizen-consult .mz-aside__actions { align-items: center; }
  .medizen-consult .mz-aside__note { margin: 0 auto; }
}
@media (prefers-reduced-motion: reduce) {
  .medizen-consult .mz-btn { transition: none; }
  .medizen-consult .mz-btn:hover { transform: none; }
}

/* ---- two-column refinements at xl, where the form drops to half width ---- */
@media (min-width: 1200px) {
  /* the intro is centred by the theme's .text-center pod, which reads as a
     mis-alignment once there is a left-aligned column beside it */
  .medizen-consult .block-large-contact-form__form-intro { text-align: left; }
  .medizen-consult .block-large-contact-form__content { margin-left: 0; }

  /* the form is long, so keep the contact buttons in reach while scrolling */
  .medizen-consult .mz-aside-col .mz-aside { position: sticky; top: 2rem; }

  /* three result buttons across a half-width column clips the longest label,
     so stack them and put the description inline, as on mobile */
  .medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .gfield_radio { grid-template-columns: 1fr; }
  .medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .gchoice label {
    flex-direction: row;
    align-items: baseline;
    gap: .5rem;
  }
}

/* ============================================================
   v8: 30 / 60 split, and only the concerns field is an accordion
   ============================================================ */
@media (min-width: 1200px) {
  /* The row is .justify-content-end and Bootstrap sets that with !important,
     so rather than fight it, the aside takes the free space with margin-right
     and the form stays pinned right. */
  section.block-large-contact-form.full-width.medizen-consult .col-xl-6 { width: 60%; }
  section.block-large-contact-form.full-width.medizen-consult .mz-aside-col {
    width: 30%;
    margin-right: auto;
  }
  .medizen-consult .mz-aside-col .mz-aside { max-width: none; padding-right: 1rem; }

  /* wider form column than v7, so one more card fits in the carousel */
  .medizen-consult .gform_wrapper.gravity-theme .mz-slider .mz-slider__track { --per: 3; }

  /* results back on a single line: three across, title over description */
  .medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .gfield_radio {
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
  .medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .gchoice label {
    flex-direction: column;
    align-items: stretch;
    gap: .25rem;
    padding: .875rem .8rem;
  }
  .medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .mz-btn__t { font-size: 1.0625rem; }
  .medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .mz-btn__d { font-size: .6875rem; line-height: 1.4; }
}

/* the two open fields carry the same serif heading as the accordion toggle, so
   the three sections read as one set rather than two treatments */
.medizen-consult .gform_wrapper.gravity-theme .medizen-consult-result > .gfield_label,
.medizen-consult .gform_wrapper.gravity-theme .medizen-consult-notes > .gfield_label {
  font-size: 1.375rem !important;
}

/* ============================================================
   v9: fit the closed form on one screen
   Height came from four places: the gold rules under each heading, the
   descriptions, the stacked name/email/phone, and generous padding. Each is
   trimmed rather than any content being removed.
   ============================================================ */

/* header block */
.medizen-consult .block-large-contact-form__form-intro { margin-bottom: 1.25rem; }
.medizen-consult .block-large-contact-form__heading .heading { font-size: clamp(1.75rem, 2.6vw, 2.25rem); }
.medizen-consult .block-large-contact-form__content p { font-size: .875rem; line-height: 1.55; }

/* card */
.medizen-consult .block-large-contact-form__form { padding: 1.5rem 1.5rem 1.75rem; margin-top: 1.25rem; }
.medizen-consult .gform_wrapper.gravity-theme .gform_fields { row-gap: .875rem; }

/* section headings: smaller, and the 44x2 gold rule costs ~28px a piece */
.medizen-consult .gform_wrapper.gravity-theme .medizen-consult-concerns > .gfield_label,
.medizen-consult .gform_wrapper.gravity-theme .medizen-consult-result > .gfield_label,
.medizen-consult .gform_wrapper.gravity-theme .medizen-consult-notes > .gfield_label {
  font-size: 1.125rem !important;
  margin-bottom: .3rem;
}
.medizen-consult .gform_wrapper.gravity-theme .medizen-consult-concerns > .gfield_label::after,
.medizen-consult .gform_wrapper.gravity-theme .medizen-consult-result > .gfield_label::after,
.medizen-consult .gform_wrapper.gravity-theme .medizen-consult-notes > .gfield_label::after { content: none; }
.medizen-consult .mz-acc { border-bottom: 0; padding-bottom: 0; }
.medizen-consult .mz-acc__toggle { padding: .3rem 0; }
.medizen-consult .mz-acc__title { font-size: 1.125rem; }

/* descriptions */
.medizen-consult .gform_wrapper.gravity-theme .gfield_description {
  font-size: .75rem;
  line-height: 1.5;
  margin: 0 0 .45rem;
}
/* the phone hint only restates the label */
.medizen-consult .gform_wrapper.gravity-theme .gfield--type-phone .gfield_description { display: none; }

/* field labels */
.medizen-consult .gform_wrapper.gravity-theme .gfield_label { margin-bottom: .25rem; }

/* three short answers, one row: GF's own 12-column grid does the work */
@media (min-width: 768px) {
  .medizen-consult .gform_wrapper.gravity-theme .gfield--type-text,
  .medizen-consult .gform_wrapper.gravity-theme .gfield--type-email,
  .medizen-consult .gform_wrapper.gravity-theme .gfield--type-phone { grid-column: span 4; }
}

/* comments box: three rows is enough for a note */
.medizen-consult .gform_wrapper.gravity-theme .ginput_container_textarea textarea {
  min-height: 4.25rem;
  height: 4.25rem;
}

/* result buttons */
.medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .gchoice label { padding: .65rem .75rem; }
.medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .mz-btn__t { font-size: 1rem; }
.medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .mz-btn__d { font-size: .6875rem; line-height: 1.4; }

/* consent + submit */
.medizen-consult .medizen-consult-consent { padding-top: .55rem; }
.medizen-consult .medizen-consult-consent .gchoice label { font-size: .75rem; line-height: 1.5; }
.medizen-consult .gform_wrapper.gravity-theme .gform_footer { margin: .875rem 0 0; padding: .875rem 0 0; }
.medizen-consult .gform_wrapper.gravity-theme .gform_footer input[type=submit] {
  padding: .7rem 1.7rem;
  font-size: .9375rem;
}

/* the theme gives this block 5rem of padding top and bottom at >=1200,
   which is 160px of the page height on its own */
.medizen-consult.block-large-contact-form { padding-top: 1.5rem; padding-bottom: 2rem; }
@media (min-width: 1200px) {
  .medizen-consult.block-large-contact-form { padding-top: 2rem; padding-bottom: 2.5rem; }
}

/* ---- second pass: trim to fit a laptop viewport with the site header ---- */
.medizen-consult .block-large-contact-form__pre-heading.overline { margin-bottom: .35rem; font-size: .6875rem; }
.medizen-consult .block-large-contact-form__heading .heading { font-size: clamp(1.625rem, 2.2vw, 2rem); }
.medizen-consult .block-large-contact-form__content p { font-size: .8125rem; line-height: 1.5; }
.medizen-consult .block-large-contact-form__form-intro { margin-bottom: .9rem; }
.medizen-consult .block-large-contact-form__form { padding: 1.25rem 1.25rem 1.5rem; margin-top: 1rem; }
.medizen-consult .gform_wrapper.gravity-theme .gform_fields { row-gap: .7rem; }
.medizen-consult .gform_wrapper.gravity-theme .gfield_description { font-size: .6875rem; margin: 0 0 .35rem; }
.medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .gchoice label { padding: .55rem .65rem; }
.medizen-consult .gform_wrapper.gravity-theme .mz-choicebtns .mz-btn__d { font-size: .625rem; line-height: 1.35; }
.medizen-consult .gform_wrapper.gravity-theme .ginput_container_textarea textarea { min-height: 3.5rem; height: 3.5rem; }
.medizen-consult .medizen-consult-consent { padding-top: .4rem; }
.medizen-consult .medizen-consult-consent .gchoice { padding-top: .1rem; padding-bottom: .1rem; }
.medizen-consult .medizen-consult-consent .gchoice label { font-size: .6875rem; line-height: 1.45; }
.medizen-consult .gform_wrapper.gravity-theme .gform_footer { margin: .7rem 0 0; padding: .7rem 0 0; }

/* ---- third pass: spend the reclaimed space on legibility ---- */
/* GF's "medium" size caps these at 50% of their column, which is far too narrow
   once the three sit side by side */
.medizen-consult .gform_wrapper.gravity-theme .gfield--type-text input,
.medizen-consult .gform_wrapper.gravity-theme .gfield--type-email input,
.medizen-consult .gform_wrapper.gravity-theme .gfield--type-phone input { width: 100%; }
.medizen-consult .gform_wrapper.gravity-theme .gform_fields { row-gap: .85rem; }
.medizen-consult .gform_wrapper.gravity-theme .ginput_container_textarea textarea { min-height: 4rem; height: 4rem; }
.medizen-consult .gform_wrapper.gravity-theme .gfield_description { font-size: .71875rem; }
/* Preferred date + time, one half/half row.
   Targets GF's own type classes so it works whether the fields were added over
   the REST API or by hand in the form editor. */
@media (min-width: 768px) {
  .medizen-consult .gform_wrapper.gravity-theme .gfield--type-date,
  .medizen-consult .gform_wrapper.gravity-theme .gfield--type-select { grid-column: span 6; }
}
.medizen-consult .gform_wrapper.gravity-theme .gfield--type-date input,
.medizen-consult .gform_wrapper.gravity-theme .gfield--type-select select {
  width: 100%;
  border-radius: 5px;
  border: 1px solid rgba(7,46,65,.45);
  background-color: #F3EEE3;
  font-family: "Interstate","Montserrat",sans-serif;
  font-size: .9375rem;
  color: #072E41;
}
.medizen-consult .gform_wrapper.gravity-theme .gfield--type-date input:focus,
.medizen-consult .gform_wrapper.gravity-theme .gfield--type-select select:focus {
  outline: 2px solid #E2BB65;
  outline-offset: 1px;
  border-color: #072E41;
}
/* the caveat sits under the date field and should read as a note, not a label */
.medizen-consult .gform_wrapper.gravity-theme .gfield--type-date .gfield_description {
  font-size: .6875rem;
  color: rgba(7,46,65,.7);
  margin: .3rem 0 0;
  order: 4;
}
/* the jQuery UI datepicker is appended to <body>, so it needs styling outside
   the .medizen-consult scope */
#ui-datepicker-div.ui-datepicker {
  border: 1px solid rgba(7,46,65,.18);
  border-radius: 6px;
  box-shadow: 0 .75rem 2rem rgba(7,46,65,.18);
  font-family: "Interstate","Montserrat",sans-serif;
  font-size: .8125rem;
  z-index: 9600;
}
#ui-datepicker-div .ui-datepicker-header { background: #072E41; color: #fff; border: 0; border-radius: 5px 5px 0 0; }
#ui-datepicker-div .ui-datepicker-title { color: #fff; }
#ui-datepicker-div .ui-state-active, #ui-datepicker-div .ui-state-hover { background: #E2BB65; color: #072E41; }

/* the extra row costs height, so recover a little either side of it */
.medizen-consult .gform_wrapper.gravity-theme .gform_fields { row-gap: .78rem; }
.medizen-consult .gform_wrapper.gravity-theme .ginput_container_textarea textarea { min-height: 3.5rem; height: 3.5rem; }
/* GENERATED by build_tile_css.py, do not edit by hand. */
/* Concern tile images, from MediZen's own concern featured images. */
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:nth-child(1){background-image:url(https://www.medizen.co.uk/wp-content/uploads/2023/01/laser-ipl-300x200.png)} /* Skin Health */
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:nth-child(2){background-image:url(https://www.medizen.co.uk/wp-content/uploads/2023/01/acne-300x151.jpg)} /* Acne */
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:nth-child(3){background-image:url(https://www.medizen.co.uk/wp-content/uploads/2023/01/IMG_1225-3-1-300x200.jpg)} /* Scarring */
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:nth-child(4){background-image:url(https://www.medizen.co.uk/wp-content/uploads/2023/02/New-website-pictures-3-300x197.png)} /* Pigmentation */
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:nth-child(5){background-image:url(https://www.medizen.co.uk/wp-content/uploads/2023/01/Untitled-1200-×-788px-11-300x197.png)} /* Redness */
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:nth-child(6){background-image:url(https://www.medizen.co.uk/wp-content/uploads/2023/01/advances-electrolysis-300x199.png)} /* Skin Texture & Pores */
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:nth-child(7){background-image:url(https://www.medizen.co.uk/wp-content/uploads/2023/01/Untitled-1200-×-788px-12-300x197.png)} /* Skin Lesions */
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:nth-child(8){background-image:url(https://www.medizen.co.uk/wp-content/uploads/2023/02/New-website-pictures-4-300x197.png)} /* Fine Lines & Wrinkles */
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:nth-child(9){background-image:url(https://www.medizen.co.uk/wp-content/uploads/2023/01/stretch-marks-300x201.png)} /* Stretch Marks */
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:nth-child(10){background-image:url(https://www.medizen.co.uk/wp-content/uploads/2023/01/Untitled-1200-×-788px-14-300x197.png)} /* Skin Tightening */
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:nth-child(11){background-image:url(https://www.medizen.co.uk/wp-content/uploads/2023/02/New-website-pictures-2-300x197.png)} /* Jowls */
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:nth-child(12){background-image:url(https://www.medizen.co.uk/wp-content/uploads/2023/01/lip-filler-300x169.png)} /* Lips */
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:nth-child(13){background-image:url(https://www.medizen.co.uk/wp-content/uploads/2023/01/Untitled-1200-×-788px-7-300x197.png)} /* Unwanted Fat */
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:nth-child(14){background-image:url(https://www.medizen.co.uk/wp-content/uploads/2023/01/veins-300x198.png)} /* Thread Veins */
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:nth-child(15){background-image:url(https://www.medizen.co.uk/wp-content/uploads/2026/04/varicose-vein-2-300x200.png)} /* Varicose Veins */
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:nth-child(16){background-image:url(https://www.medizen.co.uk/wp-content/uploads/2023/02/New-website-pictures-300x197.png)} /* Excessive Sweating */
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:nth-child(17){background-image:url(https://www.medizen.co.uk/wp-content/uploads/2023/02/Untitled-1200-×-788px-15-300x197.png)} /* Teeth Grinding & Jaw Clenching */
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:nth-child(18){background-image:url(https://www.medizen.co.uk/wp-content/uploads/2023/01/migraine-300x199.png)} /* Migraines */
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:nth-child(19){background-image:url(https://www.medizen.co.uk/wp-content/uploads/2023/02/New-website-pictures-6-300x197.png)} /* Menopause */
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:nth-child(20){background-image:url(https://www.medizen.co.uk/wp-content/uploads/2023/01/20250121-OakleyMedizen-1122-KA-300x200.jpg)} /* Weight Management */
.medizen-consult .medizen-consult-concerns .gfield_checkbox .gchoice:nth-child(21){background-image:url(https://www.medizen.co.uk/wp-content/uploads/2024/02/20250121-OakleyMedizen-0339-KA-300x200.jpg)} /* GP Services */
/* ============================================================
   Consultation panel chrome
   Mirrors how the .mega nav panel opens: a fixed full-width sheet under the
   header that fades in and slides 4px, toggled by an .is-open class.
   ============================================================ */
.mz-panel {
  position: fixed;
  left: 0;
  right: 0;
  top: var(--mz-panel-top, 5.625rem);
  /* .sc-wrap (the floating contact bubbles) sits at 9000 and would cover the
     panel; .site-header is 99999, so staying under that keeps the nav usable,
     the same way the .mega panel does */
  z-index: 9500;
  background: #F3EEE3;
  box-shadow: 0 1.25rem 3.75rem rgba(14,30,48,.18);
  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;
  transition: opacity .18s ease-out, transform .18s ease-out;
  max-height: calc(100vh - var(--mz-panel-top, 5.625rem));
  overflow-y: auto;
  overscroll-behavior: contain;
}
.mz-panel.is-open { opacity: 1; transform: translateY(0); pointer-events: auto; }
.mz-panel[hidden], .mz-panel__scrim[hidden] { display: none; }
.mz-panel__wrap { position: relative; }

.mz-panel__scrim {
  position: fixed;
  inset: 0;
  z-index: 9490;
  background: rgba(7,46,65,.45);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease-out;
}
.mz-panel__scrim.is-open { opacity: 1; pointer-events: auto; }

.mz-panel__close {
  position: absolute;
  top: .75rem;
  right: 1rem;
  z-index: 5;
  width: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(7,46,65,.16);
  border-radius: 50%;
  background: #fff;
  color: #072E41;
  cursor: pointer;
  box-shadow: 0 .25rem .75rem rgba(7,46,65,.12);
  transition: background-color .18s ease-out, color .18s ease-out;
}
.mz-panel__close:hover { background: #072E41; color: #fff; }
.mz-panel__close:focus-visible { outline: 2px solid #E2BB65; outline-offset: 2px; }

/* the panel already sits inside its own sheet, so the block's own vertical
   padding would only add dead space */
.mz-panel .medizen-consult.block-large-contact-form { padding-top: 1.25rem; padding-bottom: 1.75rem; }
@media (min-width: 1200px) {
  .mz-panel .medizen-consult.block-large-contact-form { padding-top: 1.5rem; padding-bottom: 2rem; }
}
body.mz-panel-open { overflow: hidden; }

@media (max-width: 575px) {
  .mz-panel { top: var(--mz-panel-top, 4.5rem); max-height: calc(100vh - var(--mz-panel-top, 4.5rem)); }
  .mz-panel__close { top: .5rem; right: .5rem; width: 2.25rem; height: 2.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  .mz-panel, .mz-panel__scrim, .mz-panel__close { transition: none; }
  .mz-panel { transform: none; }
}

/* the floating contact cluster would otherwise float over the form */
body.mz-panel-open .sc-wrap { opacity: 0; pointer-events: none; transition: opacity .18s ease-out; }

/* ---- extra item in the floating contact widget ----
   The widget belongs to the V2 header family, whose palette is navy #1C3354
   and gold #F0D195 (the same gold as .btn--solid.btn--primary), NOT the
   app.css #072E41 / #E2BB65 used elsewhere in this stylesheet. Gold sets it
   apart from the two white items and the green WhatsApp one below it.
   .sc-item.sc-item--consult is (0,2,0) so it outranks .sc-item--whatsapp. */
.sc-item.sc-item--consult { background: #F0D195; color: #1C3354; }
.sc-item.sc-item--consult:hover { background: #E7C07C; color: #0E1E30; }
.sc-item.sc-item--consult .sc-item-icon { opacity: 1; }
