/*
Theme Name: PST Hello Child
Theme URI: https://plasticsurgerythailand.org/
Description: Child theme for Plastic Surgery Thailand.
Author: Plastic Surgery Thailand
Template: hello-elementor
Version: 1.0.1
Text Domain: pst-hello-child
*/

:root {
  --pst-teal: #0f6f6a;
  --pst-teal-dark: #073f43;
  --pst-teal-ink: #06292d;
  --pst-gold: #c6a15b;
  --pst-coral: #d76546;
  --pst-ink: #172326;
  --pst-muted: #5f6f70;
  --pst-soft: #eef4ef;
  --pst-cream: #fbf7ef;
  --pst-line: rgba(7, 63, 67, .16);
  --pst-serif: "Cormorant Garamond", Georgia, serif;
  --pst-sans: "Source Sans 3", Helvetica, Arial, sans-serif;
}

body {
  color: var(--pst-ink);
  background: var(--pst-cream);
}

a {
  color: var(--pst-teal);
}

a:hover,
a:focus {
  color: var(--pst-teal-dark);
}

.gform_wrapper.gravity-theme,
.gform_wrapper {
  --gf-color-primary: var(--pst-teal-dark);
  --gf-color-danger: #ad3f2b;
  width: 100%;
  max-width: 100%;
  margin: 0;
  font-family: var(--pst-sans);
  color: var(--pst-ink);
}

.gform_wrapper.gravity-theme form,
.gform_wrapper form {
  display: block;
}

.gform_wrapper ul,
.gform_wrapper ol,
.gform_wrapper li,
.gform_wrapper.gravity-theme ul,
.gform_wrapper.gravity-theme ol,
.gform_wrapper.gravity-theme li {
  list-style: none !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.gform_wrapper .gfield,
.gform_wrapper.gravity-theme .gfield {
  margin: 0 0 18px;
}

.gform_wrapper.gravity-theme .gform_fields {
  row-gap: 20px;
  column-gap: 18px;
}

.gform_wrapper.gravity-theme .gfield_label,
.gform_wrapper .gfield_label {
  margin: 0 0 8px;
  color: var(--pst-teal-ink);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .03em;
  line-height: 1.2;
}

.gform_wrapper.gravity-theme .gfield_required,
.gform_wrapper .gfield_required {
  color: var(--pst-coral);
}

.gform_wrapper.gravity-theme input[type="text"],
.gform_wrapper.gravity-theme input[type="email"],
.gform_wrapper.gravity-theme input[type="tel"],
.gform_wrapper.gravity-theme input[type="url"],
.gform_wrapper.gravity-theme input[type="number"],
.gform_wrapper.gravity-theme input[type="password"],
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea,
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="password"],
.gform_wrapper select,
.gform_wrapper textarea {
  width: 100%;
  min-height: 52px;
  border: 1px solid rgba(7, 63, 67, .22);
  border-radius: 0;
  background: #fff;
  color: var(--pst-ink);
  box-shadow: 0 1px 0 rgba(7, 63, 67, .06);
  font-family: var(--pst-sans);
  font-size: 17px;
  line-height: 1.35;
  padding: 13px 15px;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.gform_wrapper.gravity-theme textarea,
.gform_wrapper textarea {
  min-height: 150px;
  resize: vertical;
}

.gform_wrapper.gravity-theme input:focus,
.gform_wrapper.gravity-theme select:focus,
.gform_wrapper.gravity-theme textarea:focus,
.gform_wrapper input:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus {
  outline: 0;
  border-color: var(--pst-gold);
  box-shadow: 0 0 0 3px rgba(198, 161, 91, .2);
  background: #fffdfa;
}

.gform_wrapper.gravity-theme .gfield_description,
.gform_wrapper .gfield_description,
.gform_wrapper.gravity-theme .ginput_complex label,
.gform_wrapper .ginput_complex label {
  color: var(--pst-muted);
  font-size: 13px;
  line-height: 1.35;
}

.gform_wrapper.gravity-theme .gchoice,
.gform_wrapper .gchoice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 7px 0;
}

.gform_wrapper.gravity-theme input[type="checkbox"],
.gform_wrapper.gravity-theme input[type="radio"],
.gform_wrapper input[type="checkbox"],
.gform_wrapper input[type="radio"] {
  width: 18px;
  height: 18px;
  margin-top: 3px;
  accent-color: var(--pst-teal);
}

.gform_wrapper.gravity-theme .gform_footer,
.gform_wrapper .gform_footer {
  margin: 26px 0 0;
  padding: 0;
}

.gform_wrapper.gravity-theme .gform_button,
.gform_wrapper.gravity-theme .gform_next_button,
.gform_wrapper.gravity-theme .gform_previous_button,
.gform_wrapper.gravity-theme input[type="submit"],
.gform_wrapper.gravity-theme input[type="button"],
.gform_wrapper .gform_button,
.gform_wrapper .gform_next_button,
.gform_wrapper .gform_previous_button,
.gform_wrapper input[type="submit"],
.gform_wrapper input[type="button"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  min-width: 190px;
  border: 0;
  border-radius: 0;
  background: var(--pst-coral);
  color: #fff;
  cursor: pointer;
  font-family: var(--pst-sans);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1;
  padding: 17px 28px;
  text-transform: none;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.gform_wrapper.gravity-theme .gform_button:hover,
.gform_wrapper.gravity-theme .gform_next_button:hover,
.gform_wrapper.gravity-theme .gform_previous_button:hover,
.gform_wrapper.gravity-theme input[type="submit"]:hover,
.gform_wrapper.gravity-theme input[type="button"]:hover,
.gform_wrapper .gform_button:hover,
.gform_wrapper .gform_next_button:hover,
.gform_wrapper .gform_previous_button:hover,
.gform_wrapper input[type="submit"]:hover,
.gform_wrapper input[type="button"]:hover {
  background: #bf553a;
  box-shadow: 0 14px 30px rgba(215, 101, 70, .24);
  transform: translateY(-1px);
}

.gform_wrapper.gravity-theme .gf_progressbar_wrapper,
.gform_wrapper .gf_progressbar_wrapper {
  margin: 0 0 22px;
}

.gform_wrapper.gravity-theme .gf_progressbar_title,
.gform_wrapper .gf_progressbar_title {
  color: var(--pst-teal-ink);
  font-family: var(--pst-serif);
  font-size: 26px;
  font-weight: 600;
  line-height: 1;
}

.gform_wrapper.gravity-theme .gf_progressbar,
.gform_wrapper .gf_progressbar {
  background: var(--pst-soft);
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
}

.gform_wrapper.gravity-theme .gf_progressbar_percentage,
.gform_wrapper .gf_progressbar_percentage {
  background: var(--pst-teal);
  border-radius: 0;
  color: #fff;
  font-weight: 800;
  text-shadow: none;
}

.gform_wrapper.gravity-theme .gform_validation_errors,
.gform_wrapper .gform_validation_errors {
  border: 1px solid rgba(173, 63, 43, .32);
  border-radius: 0;
  background: #fff5f2;
  box-shadow: none;
  color: #7f2f22;
  margin: 0 0 22px;
  padding: 18px 20px;
}

.gform_wrapper.gravity-theme .validation_message,
.gform_wrapper .validation_message {
  border: 0;
  background: transparent;
  color: #9f3c2b;
  font-size: 14px;
  font-weight: 700;
  padding: 7px 0 0;
}

.gform_wrapper.gravity-theme .gfield_error input,
.gform_wrapper.gravity-theme .gfield_error select,
.gform_wrapper.gravity-theme .gfield_error textarea,
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error select,
.gform_wrapper .gfield_error textarea {
  border-color: rgba(173, 63, 43, .58);
  box-shadow: 0 0 0 3px rgba(173, 63, 43, .1);
}

.pst-form-panel .gform_wrapper,
.pstp-form .gform_wrapper {
  background: #fff;
  border: 1px solid var(--pst-line);
  box-shadow: 0 22px 50px rgba(7, 63, 67, .08);
  padding: clamp(22px, 4vw, 38px);
}

@media (max-width: 640px) {
  .gform_wrapper.gravity-theme .gform_fields {
    row-gap: 16px;
  }

  .gform_wrapper.gravity-theme .gform_button,
  .gform_wrapper.gravity-theme input[type="submit"],
  .gform_wrapper .gform_button,
  .gform_wrapper input[type="submit"] {
    width: 100%;
  }
}
