/* ==========================================================================
   HONCW – Gravity Forms Theme  v1.0.0  (2026-10-28)
   Moved from WPCode (CSS snippet 135504) into the HONCW child theme on 2026-10-29.
   OPT-IN: styles only forms inside an element with the class .honcw-gf
   (global class g-0c472de). Other forms on the site are untouched until
   their container gets that class.
   First user: /form/ (form 11, Submit Your Wedding, Engagement or Styled Shoot).
   ========================================================================== */

.honcw-gf .gform_wrapper.gravity-theme {
  --gf-plum: var(--honcw-plum, #381641);
  --gf-pink: var(--honcw-pink, #EF4E7A);
  --gf-lilac: var(--honcw-lilac, #E0C5E0);
  --gf-cream: var(--honcw-cream, #F9F6F0);
  --gf-slate: var(--honcw-slate, #355057);
  --gf-ink: var(--honcw-ink, #1B1B1D);
  --gf-tint: #F9F0F5;
  --gf-track: #F0E4F0;
  --gf-error: #B3123F;
  font-family: var(--honcw-font-body, 'Nunito', sans-serif);
  color: var(--gf-ink);
  font-size: 16px;
  margin: 0;
}

/* ---------- Layout ---------- */
.honcw-gf .gform_wrapper.gravity-theme .gform_fields { row-gap: 24px; column-gap: 20px; }
.honcw-gf .gform_wrapper.gravity-theme .gfield { margin: 0; }

/* ---------- Progress bar ---------- */
.honcw-gf .gform_wrapper.gravity-theme .gf_progressbar_wrapper { margin: 0 0 32px; }
.honcw-gf .gform_wrapper.gravity-theme .gf_progressbar_title {
  font-family: var(--honcw-font-body, 'Nunito', sans-serif);
  font-size: 14px; font-weight: 700; color: var(--gf-slate);
  margin: 0 0 10px; opacity: 1;
}
.honcw-gf .gform_wrapper.gravity-theme .gf_progressbar {
  background: var(--gf-track) !important;
  border-radius: 999px; height: 8px; padding: 0; overflow: hidden;
}
.honcw-gf .gform_wrapper.gravity-theme .gf_progressbar_percentage {
  background: var(--gf-plum) !important;
  height: 8px !important; border-radius: 999px !important;
  min-width: 8px;
}
.honcw-gf .gform_wrapper.gravity-theme .gf_progressbar_percentage span { display: none; }

/* ---------- Labels and helper text ---------- */
.honcw-gf .gform_wrapper.gravity-theme .gfield_label,
.honcw-gf .gform_wrapper.gravity-theme legend.gfield_label {
  font-family: var(--honcw-font-body, 'Nunito', sans-serif);
  font-size: 15px; font-weight: 700; line-height: 1.4;
  color: var(--gf-plum); margin: 0 0 8px; padding: 0;
}
.honcw-gf .gform_wrapper.gravity-theme .gfield_required,
.honcw-gf .gform_wrapper.gravity-theme .gfield_required_text {
  color: var(--gf-slate) !important;
  font-style: normal !important;
  font-size: 13px; font-weight: 600; margin-inline-start: 6px;
}
.honcw-gf .gform_wrapper.gravity-theme .gfield_description,
.honcw-gf .gform_wrapper.gravity-theme .gform_fileupload_rules,
.honcw-gf .gform_wrapper.gravity-theme .ginput_complex label {
  font-size: 14px; line-height: 1.45; color: var(--gf-slate); padding-top: 6px;
}
.honcw-gf .gform_wrapper.gravity-theme .field_description_above .gfield_description { padding: 0 0 10px; }

/* ---------- Text inputs and selects (pills) ---------- */
.honcw-gf .gform_wrapper.gravity-theme input[type="text"],
.honcw-gf .gform_wrapper.gravity-theme input[type="email"],
.honcw-gf .gform_wrapper.gravity-theme input[type="tel"],
.honcw-gf .gform_wrapper.gravity-theme input[type="url"],
.honcw-gf .gform_wrapper.gravity-theme input[type="number"],
.honcw-gf .gform_wrapper.gravity-theme input[type="password"],
.honcw-gf .gform_wrapper.gravity-theme select {
  height: 50px; width: 100%; box-sizing: border-box;
  border: 1.5px solid var(--gf-lilac) !important;
  border-radius: 999px !important;
  padding: 0 22px !important;
  background-color: #FFFFFF;
  font-family: var(--honcw-font-body, 'Nunito', sans-serif);
  font-size: 16px; color: var(--gf-ink);
  box-shadow: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.honcw-gf .gform_wrapper.gravity-theme select { padding: 0 44px 0 18px !important; }
.honcw-gf .gform_wrapper.gravity-theme textarea {
  min-height: 150px; width: 100%; box-sizing: border-box;
  border: 1.5px solid var(--gf-lilac) !important;
  border-radius: var(--honcw-radius-lg, 24px) !important;
  padding: 16px 22px !important;
  font-family: var(--honcw-font-body, 'Nunito', sans-serif);
  font-size: 16px; line-height: 1.55; color: var(--gf-ink);
  background-color: #FFFFFF;
}
.honcw-gf .gform_wrapper.gravity-theme input::placeholder,
.honcw-gf .gform_wrapper.gravity-theme textarea::placeholder { color: #6B7A80; }
.honcw-gf .gform_wrapper.gravity-theme input:focus,
.honcw-gf .gform_wrapper.gravity-theme select:focus,
.honcw-gf .gform_wrapper.gravity-theme textarea:focus {
  outline: none;
  border-color: var(--gf-plum) !important;
  box-shadow: 0 0 0 3px rgba(239, 78, 122, 0.28);
}

/* ---------- Radios and checkboxes (general) ---------- */
.honcw-gf .gform_wrapper.gravity-theme input[type="radio"],
.honcw-gf .gform_wrapper.gravity-theme input[type="checkbox"] {
  width: 20px; height: 20px; margin: 0; flex: 0 0 20px;
  accent-color: var(--gf-plum);
}
.honcw-gf .gform_wrapper.gravity-theme .gchoice {
  display: flex; align-items: flex-start; gap: 12px; margin: 0 0 10px;
}
.honcw-gf .gform_wrapper.gravity-theme .gchoice label {
  font-size: 16px; line-height: 1.45; margin: 0; max-width: none;
}

/* "What are you submitting?" – three choice cards (form 11, field 1) */
.honcw-gf #field_11_1 .gfield_label {
  font-family: var(--honcw-font-heading, 'Josefin Sans', sans-serif);
  font-size: 24px; line-height: 1.2; margin-bottom: 14px;
}
.honcw-gf #field_11_1 .gfield_radio {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px;
}
.honcw-gf #field_11_1 .gchoice {
  position: relative; margin: 0;
  padding: 20px; border-radius: var(--honcw-radius-lg, 24px);
  border: 2px solid var(--gf-lilac); background: #FFFFFF;
  flex-wrap: wrap; align-items: center; gap: 10px; cursor: pointer;
  transition: border-color .15s ease, background-color .15s ease;
}
.honcw-gf #field_11_1 .gchoice:hover { border-color: var(--gf-plum); }
.honcw-gf #field_11_1 .gchoice:has(input:checked) { border-color: var(--gf-plum); background: var(--gf-tint); }
.honcw-gf #field_11_1 .gchoice:has(input:focus-visible) { box-shadow: 0 0 0 3px rgba(239, 78, 122, 0.28); }
.honcw-gf #field_11_1 .gchoice label {
  flex: 1 1 0; min-width: 0;
  font-family: var(--honcw-font-heading, 'Josefin Sans', sans-serif);
  font-size: 18px; font-weight: 700; line-height: 1.25; color: var(--gf-plum); cursor: pointer;
}
/* Whole card is clickable */
.honcw-gf #field_11_1 .gchoice label::before { content: ""; position: absolute; inset: 0; border-radius: inherit; }
/* One-line descriptions under each choice */
.honcw-gf #field_11_1 .gchoice::after {
  flex: 0 0 100%;
  font-family: var(--honcw-font-body, 'Nunito', sans-serif);
  font-size: 14px; font-weight: 400; line-height: 1.45; color: var(--gf-slate);
}
.honcw-gf #field_11_1 .gchoice_11_1_0::after { content: "You're married, or you worked on the wedding"; }
.honcw-gf #field_11_1 .gchoice_11_1_1::after { content: "A proposal story or engagement photo shoot"; }
.honcw-gf #field_11_1 .gchoice_11_1_2::after { content: "An editorial shoot by a team of pros"; }

/* "Who is filling out this form?" – pill choices (fields 166 and 8 use radios / select) */
.honcw-gf #field_11_166 .gfield_radio { display: flex; flex-wrap: wrap; gap: 12px; }
.honcw-gf #field_11_166 .gchoice {
  position: relative; margin: 0; align-items: center; gap: 10px;
  min-height: 48px; box-sizing: border-box; padding: 10px 20px;
  border-radius: 999px; border: 2px solid var(--gf-lilac); background: #FFFFFF;
}
.honcw-gf #field_11_166 .gchoice:has(input:checked) { border-color: var(--gf-plum); background: var(--gf-tint); }
.honcw-gf #field_11_166 .gchoice label { font-weight: 700; font-size: 15px; color: var(--gf-plum); cursor: pointer; }
.honcw-gf #field_11_166 .gchoice label::before { content: ""; position: absolute; inset: 0; border-radius: inherit; }

/* ---------- Section intros (HTML fields) ---------- */
.honcw-gf .gform_wrapper.gravity-theme .gfield--type-html h3 {
  font-family: var(--honcw-font-heading, 'Josefin Sans', sans-serif) !important;
  font-size: 28px !important; font-weight: 700 !important; line-height: 1.15 !important;
  color: var(--gf-plum) !important; text-transform: none !important; letter-spacing: 0 !important;
  margin: 0 0 8px !important;
}
.honcw-gf .gform_wrapper.gravity-theme .gfield--type-html p {
  margin: 0; font-size: 17px; line-height: 1.55; color: var(--gf-ink);
}
/* Gallery-access notes carry an inline grey color; bring them on-brand */
.honcw-gf .gform_wrapper.gravity-theme .gfield--type-html p[style] {
  color: var(--gf-slate) !important; font-size: 15px !important;
  background: var(--gf-cream); border-radius: 16px; padding: 14px 18px;
}

/* ---------- Final page: disclaimer and opt-ins (form 11) ---------- */
.honcw-gf #field_11_163 {
  background: var(--gf-cream); border-radius: var(--honcw-radius-lg, 24px); padding: 24px;
}
.honcw-gf #field_11_163 .gchoice:last-child { margin-bottom: 0; }
.honcw-gf #field_11_164 .gchoice,
.honcw-gf #field_11_165 .gchoice {
  margin: 0; padding: 18px 20px; border-radius: var(--honcw-radius-lg, 24px);
  border: 1.5px solid var(--gf-lilac);
}

/* Consent fields (styled shoot) */
.honcw-gf .gform_wrapper.gravity-theme .ginput_container_consent { display: flex; align-items: flex-start; gap: 12px; }

/* ---------- File upload ---------- */
.honcw-gf .gform_wrapper.gravity-theme .gform_drop_area {
  border: 2px dashed var(--gf-lilac); border-radius: var(--honcw-radius-lg, 24px);
  background: var(--gf-cream); padding: 32px 20px;
}

/* ---------- Buttons ---------- */
.honcw-gf .gform_wrapper.gravity-theme .gform_page_footer,
.honcw-gf .gform_wrapper.gravity-theme .gform_footer {
  display: flex; flex-wrap: wrap; align-items: center; gap: 16px 20px;
  margin: 32px 0 0; padding: 24px 0 0; border-top: 1px solid var(--gf-track);
}
.honcw-gf .gform_wrapper.gravity-theme .gform_page_footer .button,
.honcw-gf .gform_wrapper.gravity-theme .gform_footer .button,
.honcw-gf .gform_wrapper.gravity-theme .gform_button,
.honcw-gf .gform_wrapper.gravity-theme .gform_next_button,
.honcw-gf .gform_wrapper.gravity-theme .gform_previous_button {
  margin: 0 !important;
  font-family: var(--honcw-font-body, 'Nunito', sans-serif) !important;
  font-size: 17px !important; font-weight: 700 !important; line-height: 1.2 !important;
  text-transform: none !important; letter-spacing: 0 !important;
  border-radius: 999px !important; padding: 15px 40px !important;
  cursor: pointer; transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.honcw-gf .gform_wrapper.gravity-theme .gform_page_footer .gform_next_button,
.honcw-gf .gform_wrapper.gravity-theme .gform_page_footer .gform_button,
.honcw-gf .gform_wrapper.gravity-theme .gform_footer .gform_button {
  order: 3; margin-inline-start: auto !important;
  background: var(--gf-plum) !important; color: #FFFFFF !important;
  border: 2px solid var(--gf-plum) !important;
}
.honcw-gf .gform_wrapper.gravity-theme .gform_next_button:hover,
.honcw-gf .gform_wrapper.gravity-theme .gform_button:hover {
  background: var(--gf-pink) !important; border-color: var(--gf-pink) !important;
}
.honcw-gf .gform_wrapper.gravity-theme .gform_page_footer .gform_previous_button {
  order: 1; background: transparent !important; color: var(--gf-plum) !important;
  border: 2px solid var(--gf-plum) !important; padding: 13px 30px !important; font-size: 16px !important;
}
.honcw-gf .gform_wrapper.gravity-theme .gform_previous_button:hover { background: var(--gf-tint) !important; }
/* Save and Continue Later = quiet text link */
.honcw-gf .gform_wrapper.gravity-theme .gform_save_link {
  order: 2; margin: 0 !important; padding: 10px 0 !important;
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  font-family: var(--honcw-font-body, 'Nunito', sans-serif) !important;
  font-size: 15px !important; font-weight: 700 !important;
  text-transform: none !important; letter-spacing: 0 !important;
  color: var(--gf-plum) !important; text-decoration: underline; text-underline-offset: 4px;
  display: inline-flex; align-items: center; gap: 8px;
}
.honcw-gf .gform_wrapper.gravity-theme .gform_save_link svg path { fill: var(--gf-plum); }
.honcw-gf .gform_wrapper.gravity-theme .gform_save_link:hover { color: var(--gf-pink) !important; }
.honcw-gf .gform_wrapper.gravity-theme .gform_next_button:focus-visible,
.honcw-gf .gform_wrapper.gravity-theme .gform_button:focus-visible,
.honcw-gf .gform_wrapper.gravity-theme .gform_previous_button:focus-visible,
.honcw-gf .gform_wrapper.gravity-theme .gform_save_link:focus-visible {
  outline: 3px solid var(--gf-pink); outline-offset: 3px;
}

/* ---------- Validation ---------- */
.honcw-gf .gform_wrapper.gravity-theme .gfield_error input,
.honcw-gf .gform_wrapper.gravity-theme .gfield_error select,
.honcw-gf .gform_wrapper.gravity-theme .gfield_error textarea { border-color: var(--gf-error) !important; }
.honcw-gf .gform_wrapper.gravity-theme .gfield_validation_message,
.honcw-gf .gform_wrapper.gravity-theme .validation_message {
  background: transparent; border: 0; padding: 6px 0 0;
  color: var(--gf-error); font-size: 14px; font-weight: 600;
}
.honcw-gf .gform_wrapper.gravity-theme .gform_validation_errors {
  border: 0; border-radius: 16px; background: #FCEBF0; box-shadow: none; padding: 16px 20px;
}
.honcw-gf .gform_wrapper.gravity-theme .gform_validation_errors h2 {
  font-family: var(--honcw-font-body, 'Nunito', sans-serif) !important;
  font-size: 15px !important; font-weight: 700 !important; color: var(--gf-error) !important;
  text-transform: none !important;
}

/* ---------- Confirmation and save-and-continue messages ---------- */
.honcw-gf .gform_confirmation_message,
.honcw-gf .form_saved_message {
  font-size: 17px; line-height: 1.6; color: var(--gf-ink);
  background: var(--honcw-cream, #F9F6F0); border-radius: var(--honcw-radius-lg, 24px); padding: 32px;
}

/* ---------- Page checklist (hero "Before You Start" card; global class honcw-checklist) ---------- */
.honcw-checklist ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; }
.honcw-checklist li { position: relative; padding-inline-start: 34px; line-height: 1.45; text-align: left; }
.honcw-checklist li::before {
  content: "\2713"; position: absolute; inset-inline-start: 0; inset-block-start: 0;
  width: 22px; height: 22px; box-sizing: border-box; border-radius: 999px;
  border: 2px solid var(--honcw-plum, #381641); color: var(--honcw-plum, #381641);
  font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center;
}

/* ---------- Tablet and mobile ---------- */
@media (max-width: 1024px) {
  .honcw-gf #field_11_1 .gfield_radio { grid-template-columns: minmax(0, 1fr); }
  .honcw-gf #field_11_1 .gchoice { padding: 16px 18px; }
}
@media (max-width: 767px) {
  .honcw-gf .gform_wrapper.gravity-theme .gform_page_footer,
  .honcw-gf .gform_wrapper.gravity-theme .gform_footer { flex-direction: column; align-items: stretch; }
  .honcw-gf .gform_wrapper.gravity-theme .gform_page_footer .gform_next_button,
  .honcw-gf .gform_wrapper.gravity-theme .gform_page_footer .gform_button,
  .honcw-gf .gform_wrapper.gravity-theme .gform_footer .gform_button { order: 1; width: 100%; margin-inline-start: 0 !important; }
  .honcw-gf .gform_wrapper.gravity-theme .gform_page_footer .gform_previous_button { order: 2; width: 100%; }
  .honcw-gf .gform_wrapper.gravity-theme .gform_save_link { order: 3; justify-content: center; }
  .honcw-gf .gform_wrapper.gravity-theme .gfield--type-html h3 { font-size: 24px !important; }
  .honcw-gf #field_11_163 { padding: 18px; }
}