/* ============================================================
   Gravity Forms — gravity-theme
   The structural rules the gravity-theme stylesheet provides, plus the
   Smyle Dental skin on top. Class names and markup match what the plugin
   outputs, so these pages port to a real Gravity Form unchanged.
   ============================================================ */

/* ---------- theme reset ---------- */
.gform_wrapper.gravity-theme,
.gform_wrapper.gravity-theme *,
.gform_wrapper.gravity-theme *::before,
.gform_wrapper.gravity-theme *::after{box-sizing:border-box}
.gform_wrapper.gravity-theme{font-family:"Nunito Sans",system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink)}
.gform_wrapper.gravity-theme fieldset{border:0;margin:0;padding:0;min-width:0}
.gform_wrapper.gravity-theme legend{padding:0}
.gform_wrapper.gravity-theme .gform_hidden,
.gform_wrapper.gravity-theme .gf_invisible,
.gform_wrapper.gravity-theme input[type=hidden]{display:none}
.gform_wrapper.gravity-theme .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- heading ---------- */
.gform_wrapper.gravity-theme .gform_heading{margin-bottom:18px}
.gform_wrapper.gravity-theme .gform_title{font-family:Poppins,sans-serif;font-size:21px;font-weight:800;
  letter-spacing:-.025em;line-height:1.15;margin:0 0 4px}
.gform_wrapper.gravity-theme .gform_description{display:block;font-size:14px;color:var(--slate);line-height:1.5;margin:0}

/* ---------- the field grid ---------- */
.gform_wrapper.gravity-theme .gform_fields{display:grid;grid-template-columns:repeat(12,1fr);
  grid-column-gap:2%;grid-row-gap:13px;margin:0;padding:0;list-style:none}
.gform_wrapper.gravity-theme .gfield{grid-column:1/-1;min-width:0;margin:0;padding:0}
.gform_wrapper.gravity-theme .gfield--width-full{grid-column:span 12}
.gform_wrapper.gravity-theme .gfield--width-half{grid-column:span 6}
.gform_wrapper.gravity-theme .gfield--width-third{grid-column:span 4}
.gform_wrapper.gravity-theme .gfield.gfield--type-html{margin:0}

/* ---------- labels ---------- */
.gform_wrapper.gravity-theme .gfield_label,
.gform_wrapper.gravity-theme .gform-field-label{display:block;font-size:12.5px;font-weight:800;
  letter-spacing:.02em;color:var(--ink-2);line-height:1.3;margin:0 0 6px;padding:0}
.gform_wrapper.gravity-theme .gfield_required{color:var(--red);margin-left:4px}
.gform_wrapper.gravity-theme .gfield_required_asterisk{font-size:13px;line-height:1}

/* ---------- inputs ---------- */
.gform_wrapper.gravity-theme .ginput_container{margin-top:0}
.gform_wrapper.gravity-theme input[type=text],
.gform_wrapper.gravity-theme input[type=tel],
.gform_wrapper.gravity-theme input[type=email],
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea{width:100%;font-family:inherit;font-size:15px;line-height:1.4;
  color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:12px;
  padding:12px 14px;margin:0;-webkit-appearance:none;appearance:none;
  transition:border-color .16s ease-out,background-color .16s ease-out}
.gform_wrapper.gravity-theme textarea{resize:vertical;min-height:74px}
.gform_wrapper.gravity-theme select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2339424C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;background-size:17px;padding-right:40px}
.gform_wrapper.gravity-theme input::placeholder,
.gform_wrapper.gravity-theme textarea::placeholder{color:var(--mute);opacity:1}
.gform_wrapper.gravity-theme input:focus,
.gform_wrapper.gravity-theme select:focus,
.gform_wrapper.gravity-theme textarea:focus{outline:0;border-color:var(--yellow-dk);background:#fff}
.gform_wrapper.gravity-theme input:focus-visible,
.gform_wrapper.gravity-theme select:focus-visible,
.gform_wrapper.gravity-theme textarea:focus-visible{outline:3px solid var(--yellow-dk);outline-offset:3px}

/* ---------- validation: red text only, no panel and no boxed message ---------- */
.gform_wrapper.gravity-theme .gform_validation_errors,
.gform_wrapper.gravity-theme .gform_submission_error{display:none}
.gform_wrapper.gravity-theme .gfield_validation_message,
.gform_wrapper.gravity-theme .validation_message{background:transparent;border:0;border-radius:0;
  padding:6px 0 0;margin:0;color:var(--red);font-size:13px;font-weight:700;line-height:1.4}
.gform_wrapper.gravity-theme .gfield_error input,
.gform_wrapper.gravity-theme .gfield_error select,
.gform_wrapper.gravity-theme .gfield_error textarea{border-color:var(--red);background:var(--red-soft)}
.gform_wrapper.gravity-theme .gfield_error .gfield_label{color:var(--red)}

/* ---------- footer ---------- */
.gform_wrapper.gravity-theme .gform_footer{display:block;margin:18px 0 0;padding:0}
.gform_wrapper.gravity-theme .gform_footer .gform_button{width:100%;margin:0}
.gform_wrapper.gravity-theme .gform_footer .gform_ajax_spinner{display:none}
.gform_wrapper.gravity-theme .gform_footer_note{text-align:center;font-size:13.5px;color:var(--slate);margin:14px 0 0}
.gform_wrapper.gravity-theme .gform_footer_note a{font-weight:800;color:var(--ink);text-decoration:none;
  border-bottom:2px solid var(--yellow)}
.gform_wrapper.gravity-theme .gform_footer_fine{font-size:11.5px;color:var(--mute);line-height:1.5;
  margin:12px 0 0;text-align:center}

/* ---------- confirmation ---------- */
.gform_confirmation_wrapper{text-align:center;padding:14px 0 6px}
.gform_confirmation_wrapper .gform_confirmation_tick{width:54px;height:54px;border-radius:50%;
  background:var(--yellow);color:var(--ink);display:flex;align-items:center;justify-content:center;
  font-size:26px;margin:0 auto 14px}
.gform_confirmation_message{font-size:14.5px;color:var(--slate);line-height:1.6}
.gform_confirmation_message h3{margin-bottom:8px}

/* ---------- emergency pages: the accent is red, not yellow ---------- */
.hero.em .gform_wrapper.gravity-theme input:focus,
.hero.em .gform_wrapper.gravity-theme select:focus,
.lpmodal .gform_wrapper.gravity-theme.gform--urgent input:focus,
.lpmodal .gform_wrapper.gravity-theme.gform--urgent select:focus{border-color:var(--red)}
.gform_wrapper.gravity-theme.gform--urgent .gform_footer_note a{border-bottom-color:var(--red)}
.gform_wrapper.gravity-theme.gform--urgent .gform_confirmation_wrapper .gform_confirmation_tick{
  background:var(--red);color:#fff}

@media(max-width:620px){
  .gform_wrapper.gravity-theme .gfield--width-half{grid-column:span 12}
}
