/* S8 forms on Gravity Forms (inc/s8x-47-gf.php).
   The <form> carries the S8 class (w-form or w-inline-form) and each stacked
   field carries w-field, so the S8 form styles in s8.css and s8-pages.css
   apply as they did to the theme's own forms. This file only adapts the
   Gravity Forms wrappers, and draws the contact wizard's path cards and
   progress bar. Gravity Forms' own CSS is switched off for the front end. */

.s8-form_wrapper .gform_heading,
.s8-form_wrapper .gfield_required,
.s8-form_wrapper .gform_validation_container,
.s8-form_wrapper .gfield--type-honeypot,
.s8-form_wrapper .gfield--type-hidden,
.s8-form_wrapper .gform_hidden,
.s8-form_wrapper .gfield_visibility_hidden,
.s8-form_wrapper .gform_ajax_spinner,
.s8-form_wrapper .gform-loader,
.s8-gf iframe[name^="gform_ajax_frame"] {display:none!important}
.s8-form_wrapper .screen-reader-text,
.s8-form_wrapper .hidden_label > .gfield_label,
.s8-form_wrapper .hidden_label > legend,
.s8-form_wrapper .w-inline-form .gfield_label,
.s8-form_wrapper .w-inline-form .gfield_description,
.s8-form_wrapper .w-inline-form .validation_message {position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* The placement wrapper (.s8-gf) adds no box of its own, so the form and its
   "See a sample" row sit in the parent's grid or flex row as the theme's own
   form did. A wrapper that is itself a panel, or carries an inline style,
   keeps its box. */
.s8-gf:not(.w-panel):not([style]) {display:contents}
/* In the block editor the wrapper keeps a box, so the "Form" edit toolbar has
   something to attach to */
html.s8-editor .s8-gf {display:block}
.s8-form_wrapper form {margin:0}
.s8-form_wrapper fieldset {margin:0;padding:0;border:0;min-width:0}
.s8-form_wrapper .ginput_container {display:block;min-width:0}

/* Stacked: fields on a 12-column grid, half-width fields side by side */
.s8-form_wrapper .w-form .gform_fields {display:grid;gap:14px;grid-template-columns:repeat(12,minmax(0,1fr))}
.s8-form_wrapper .w-form .gfield {grid-column:1/-1;min-width:0;margin:0;padding:0}
.s8-form_wrapper .w-form .gfield--width-half {grid-column:span 6}
.s8-form_wrapper .w-field .gfield_label {display:block;margin:0;padding:0;font:inherit;color:inherit}
.s8-form_wrapper .w-field textarea {height:110px}
.s8-form_wrapper .w-form select {appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23142219' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/18px;padding-right:44px}
.s8-form_wrapper .w-form .gform_footer,
.s8-form_wrapper .w-form .gform_page_footer {display:flex;gap:10px;align-items:center;margin:0;padding:0}
.s8-form_wrapper .w-form .gform_footer .w-btn {width:100%}
.s8-gf--btn-start .s8-form_wrapper .w-form .gform_footer .w-btn {width:auto}
.s8-form_wrapper .validation_message {font-size:13px;font-weight:600;color:#D9482B;margin-top:2px}
.w-band .s8-form_wrapper .validation_message,
.pal-forest .s8-form_wrapper .validation_message {color:#FFB4A3}
.w-panel.white .s8-form_wrapper .validation_message {color:#D9482B}
.s8-form_wrapper .gform_validation_errors {margin:0}
.s8-form_wrapper .gform_validation_errors p {margin:0}
@media (max-width:600px){
	.s8-form_wrapper .w-form .gfield--width-half {grid-column:1/-1}
}

/* Inline: flatten the wrappers so the inputs and the button sit straight in
   the pill row, as in the theme's own one-line form */
.s8-form_wrapper .w-inline-form .gform-body,
.s8-form_wrapper .w-inline-form .gform_body,
.s8-form_wrapper .w-inline-form .gform_fields,
.s8-form_wrapper .w-inline-form .gfield,
.s8-form_wrapper .w-inline-form .ginput_container,
.s8-form_wrapper .w-inline-form .gform_footer {display:contents}
.s8-form_wrapper .w-inline-form textarea {flex:1 1 110px;min-width:0;border:0;background:transparent;font:inherit;font-size:16px;line-height:24px;padding:10px 14px;color:#142219;min-height:44px;height:44px;resize:none;overflow:hidden}
/* Gravity Forms prints the error note above the form; the theme's one-line
   form showed it under the pill */
.s8-form_wrapper.w-inline-form_wrapper {display:flex;flex-direction:column}
.s8-form_wrapper.w-inline-form_wrapper > .gform_validation_errors {order:2;margin:8px 4px 0 18px}
@media (max-width:600px){
	.s8-form_wrapper .w-inline-form textarea {flex:1 1 100%!important;border-bottom:1px solid rgba(20,34,25,.12)!important;border-radius:0!important}
}

/* Sending */
.s8-form_wrapper form[data-s8-sending] .w-btn {opacity:.7;cursor:progress;transform:none!important}

/* Thank-you message */
.s8-gf .gform_confirmation_wrapper,
.s8-form_wrapper + .gform_confirmation_wrapper {margin:0}
.s8-done-tx a.w-arrow {margin-left:6px}
.s8-done .s8-done-tx a {color:inherit}
.s8-done h2::after,
.s8-done .w-h2::after {content:none!important}
.s8-done--big {background:none!important;border:0!important;padding:0!important;font-weight:400!important;gap:16px!important;align-items:flex-start!important}
.s8-done--big .s8-done-ic {width:64px;height:64px}
.s8-done--big .s8-done-ic svg {width:28px;height:28px}
.s8-done--big .w-h2 {color:#142219}
.s8-done--big p {color:#4C5A50;margin:6px 0 0}
.s8-done--big + .s8-again {margin-top:16px}
.s8-gf--stacked .s8-sample-row,
.s8-form_wrapper ~ .s8-sample-row {text-align:center}

/* Contact wizard */
.s8-form_wrapper .gform_page_fields .gform_fields {gap:14px}
.s8-form_wrapper .gfield--type-html .w-h2 {color:#142219;margin:0}
.s8-form_wrapper h2::after {content:none!important}
.s8-form_wrapper .s8-gf-hint {color:#4C5A50;margin:0}
.s8-form_wrapper .gf_progressbar_wrapper {display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin:0 0 18px}
.s8-form_wrapper .gf_progressbar_title {grid-column:1;margin:0;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#4C5A50}
.s8-form_wrapper .s8-gf-path {grid-column:2;font-size:14px;color:#4C5A50}
.s8-form_wrapper .gf_progressbar {grid-column:1/-1;height:8px;border-radius:999px;background:#ECE6D4;overflow:hidden}
.s8-form_wrapper .gf_progressbar_percentage {height:100%;border-radius:999px;background:#F2B705!important;transition:width .5s cubic-bezier(.2,.8,.2,1)}
.s8-form_wrapper .gf_progressbar_percentage span {display:none}
[data-s8-step="1"] .gf_progressbar_percentage {width:8%!important}
[data-s8-step="2"] .gf_progressbar_percentage {width:33%!important}
[data-s8-step="3"] .gf_progressbar_percentage {width:67%!important}
.s8-form_wrapper .gform_page_footer {justify-content:space-between;margin-top:14px}
.s8-form_wrapper .gform_page_footer .gform_previous_button {order:-1}
.s8-form_wrapper .gform_page:first-child .gform_page_footer {display:none}
.s8-form_wrapper .gform_page:first-child:has(.s8-paths input:focus-visible) .gform_page_footer {display:flex;justify-content:flex-end}
.s8-form_wrapper .s8-paths .gfield_radio {display:grid;gap:10px}
.s8-form_wrapper .s8-paths .gchoice {position:relative}
.s8-form_wrapper .s8-paths input {position:absolute;opacity:0;width:1px;height:1px;margin:0}
.s8-form_wrapper .s8-paths label {display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:76px;padding:20px 24px;border:1px solid #DDD6C2;border-radius:26px;background:#fff;color:#142219;font-size:17px;line-height:1.3;cursor:pointer;transition:transform .25s cubic-bezier(.2,.7,.2,1),border-color .2s,background .2s}
.s8-form_wrapper .s8-paths label:hover,
.s8-form_wrapper .s8-paths input:checked + label {border-color:#F2B705;background:#FBF7EA}
.s8-form_wrapper .s8-paths label:hover {transform:translateX(6px)}
.s8-form_wrapper .s8-paths input:focus-visible + label {outline:3px solid #142219;outline-offset:2px}
.s8-path-t {display:grid;gap:2px;text-align:left;flex:1 1 auto}
.s8-path-t > span {font-weight:400;font-size:14px;color:#4C5A50}
.s8-path-arr {font-size:22px;flex:none;transition:transform .25s}
.s8-form_wrapper .s8-paths label:hover .s8-path-arr {transform:translateX(4px)}
@media (max-width:600px){
	.s8-form_wrapper .s8-paths label {padding:16px 18px}
	.s8-form_wrapper .s8-paths label:hover {transform:none}
}
@media (prefers-reduced-motion:reduce){
	.s8-form_wrapper .s8-paths label,
	.s8-path-arr,
	.s8-form_wrapper .gf_progressbar_percentage {transition:none}
}
