/* Designers Stack — Gravity Forms contact form, styled like the original form.
   Scoped to #contact .ds-gf so other Gravity Forms on the site are untouched. */
#contact .ds-gf{--gf-line:rgba(241,238,232,.25);--gf-text:var(--paper,#f1eee8);position:relative}
#contact .ds-gf .gform_wrapper,#contact .ds-gf .gform_wrapper.gravity-theme,#contact .ds-gf .gform-theme{margin:0!important;padding:0!important;background:none!important;box-shadow:none!important;border:0!important;max-width:none!important;
  --gf-ctrl-bg-color:transparent;--gf-ctrl-border-color:var(--gf-line);--gf-ctrl-color:var(--gf-text);--gf-ctrl-label-color-primary:var(--gf-text);--gf-color-primary:#8759F2}
#contact .ds-gf .gform_heading,#contact .ds-gf .gform_required_legend{display:none!important}

/* grid: 2 columns; short fields half width, long ones full — whatever width is set in the form editor */
#contact .ds-gf .gform_fields{display:grid!important;grid-template-columns:1fr 1fr!important;column-gap:24px!important;row-gap:8px!important;margin:0!important;padding:0!important;list-style:none}
#contact .ds-gf .gform_fields>.gfield{grid-column:span 1!important;margin:0!important;padding:0!important;position:relative;min-width:0;border:0}
#contact .ds-gf .gform_fields>.gfield--type-textarea,#contact .ds-gf .gform_fields>.gfield--type-checkbox,#contact .ds-gf .gform_fields>.gfield--type-radio,
#contact .ds-gf .gform_fields>.gfield--type-consent,#contact .ds-gf .gform_fields>.gfield--type-html,#contact .ds-gf .gform_fields>.gfield--type-section,
#contact .ds-gf .gform_fields>.gfield--type-captcha,#contact .ds-gf .gform_fields>.gfield--type-turnstile,#contact .ds-gf .gform_fields>.gfield--type-fileupload,
#contact .ds-gf .gform_fields>.gfield--type-address,#contact .ds-gf .gform_fields>.gfield--type-list,#contact .ds-gf .gform_fields>.gfield--type-name,
#contact .ds-gf .gform_fields>.gfield--type-post_content,#contact .ds-gf .gform_fields>.gfield.ds-full{grid-column:1/-1!important}
#contact .ds-gf .gform_fields>.gfield.ds-half{grid-column:span 1!important}
#contact .ds-gf .gfield--type-hidden,#contact .ds-gf .gform_validation_container,#contact .ds-gf .gfield--type-honeypot,#contact .ds-gf .gform_hidden{display:none!important}

/* inputs: no box, bottom line only */
#contact .ds-gf input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=file]),#contact .ds-gf select,#contact .ds-gf textarea{
  width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;background:none!important;border:0!important;border-bottom:1px solid var(--gf-line)!important;border-radius:0!important;box-shadow:none!important;outline:none!important;
  color:var(--gf-text)!important;font:400 20px/1.3 var(--sans,"Inter Tight",system-ui,sans-serif)!important;padding:26px 0 14px!important;margin:0!important;-webkit-appearance:none;appearance:none;transition:border-color .3s}
#contact .ds-gf textarea{min-height:110px!important;resize:vertical}
#contact .ds-gf input:focus,#contact .ds-gf select:focus,#contact .ds-gf textarea:focus{border-bottom-color:#8759F2!important}
#contact .ds-gf ::placeholder{color:transparent!important}
#contact .ds-gf select{cursor:pointer;padding-right:28px!important;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%23f1eee8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 2v10M3 8l4 4 4-4'/%3E%3C/svg%3E") right 4px center/14px no-repeat!important}
#contact .ds-gf select option{background:var(--ink,#0b0b0c);color:var(--gf-text)}
#contact .ds-gf .ginput_container{margin:0!important;position:relative}

/* floating labels (JS adds .ds-float / .ds-up) */
#contact .ds-gf .gfield.ds-float>.gfield_label,#contact .ds-gf .gfield.ds-float>legend.gfield_label{position:absolute!important;left:0;top:26px;margin:0!important;padding:0!important;pointer-events:none;
  font:400 20px/1.3 var(--sans,"Inter Tight",system-ui,sans-serif)!important;color:var(--gf-text)!important;opacity:.5;transition:top .3s,font-size .3s,opacity .3s;z-index:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
#contact .ds-gf .gfield.ds-float.ds-up>.gfield_label{top:2px;font-size:12px!important;opacity:.6}
#contact .ds-gf .gfield:not(.ds-float)>.gfield_label,#contact .ds-gf .gfield>legend.gfield_label{font:500 12px/1.4 var(--mono,"JetBrains Mono",monospace)!important;letter-spacing:.06em;text-transform:uppercase;opacity:.6;color:var(--gf-text)!important;margin:22px 0 6px!important;padding:0!important}
#contact .ds-gf .gfield_required{color:#FF3E80!important;font-size:.8em;margin-left:3px}
#contact .ds-gf .gfield_required .gfield_required_text{font-size:11px;opacity:.8}
#contact .ds-gf .gfield_description{font-size:13px;opacity:.55;padding:6px 0 0!important;margin:0!important;color:var(--gf-text)}
/* complex fields (Name first/last, Address) */
#contact .ds-gf .ginput_complex{display:grid!important;grid-template-columns:1fr 1fr;column-gap:24px;row-gap:0}
#contact .ds-gf .ginput_complex>span{width:auto!important;padding:0!important;margin:0!important;position:relative}
#contact .ds-gf .ginput_complex label{font-size:12px!important;opacity:.55;color:var(--gf-text)!important;padding-top:6px!important}
/* checkboxes / radios / consent */
#contact .ds-gf .gchoice,#contact .ds-gf .ginput_container_consent{display:flex;align-items:center;gap:10px;margin:8px 0}
#contact .ds-gf input[type=checkbox],#contact .ds-gf input[type=radio]{accent-color:#8759F2;width:18px;height:18px;margin:0}
#contact .ds-gf .gchoice label,#contact .ds-gf .ginput_container_consent label{font-size:15px;opacity:.8;color:var(--gf-text)!important;margin:0!important}

/* errors */
#contact .ds-gf .gform_validation_errors{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0 0 10px!important}
#contact .ds-gf .gform_validation_errors>h2,#contact .ds-gf .gform_submission_error{font:500 15px var(--sans,sans-serif)!important;color:#FF3E80!important;margin:0!important;padding:0!important}
#contact .ds-gf .gform_validation_errors>h2 svg,#contact .ds-gf .gform-icon{display:none!important}
#contact .ds-gf .gfield_error input,#contact .ds-gf .gfield_error select,#contact .ds-gf .gfield_error textarea{border-bottom-color:#FF3E80!important}
#contact .ds-gf .gfield_validation_message,#contact .ds-gf .validation_message{background:none!important;border:0!important;padding:6px 0 0!important;margin:0!important;color:#FF3E80!important;font-size:13px!important}
#contact .ds-gf .gfield_error .gfield_label{color:var(--gf-text)!important}

/* submit: the site's purple pill + arrow circle */
#contact .ds-gf .gform_footer,#contact .ds-gf .gform_page_footer{margin:30px 0 0!important;padding:0!important;display:flex;align-items:center;gap:16px}
#contact .ds-gf .gform_footer .btn,#contact .ds-gf .gform_button{display:inline-flex!important;align-items:center;gap:12px;width:auto!important;min-height:50px;padding:9px 14px 9px 24px!important;margin:0!important;border:0!important;border-radius:999px!important;
  background:#6d3fe0!important;color:#fff!important;font:500 15px var(--sans,"Inter Tight",system-ui,sans-serif)!important;line-height:1!important;cursor:pointer;box-shadow:none!important;transition:background .35s}
#contact .ds-gf .gform_button:hover{background:#8759F2!important}
#contact .ds-gf .gform_button[disabled]{opacity:.6;cursor:wait}
#contact .ds-gf .gform_ajax_spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:dsgfspin .8s linear infinite;margin:0!important}
@keyframes dsgfspin{to{transform:rotate(360deg)}}

/* success */
#contact .ds-gf .gform_confirmation_message{font-size:20px;color:var(--c,#00D4E6);margin:20px 0 0;padding:0;border:0;background:none}
#contact .ds-gf-note{font-size:14px;color:#FF3E80}

/* mobile: one column, full-width button */
@media (max-width:640px){
  #contact .ds-gf .gform_fields{grid-template-columns:1fr!important}
  #contact .ds-gf .gform_fields>.gfield,#contact .ds-gf .gform_fields>.gfield.ds-half{grid-column:1/-1!important}
  #contact .ds-gf .ginput_complex{grid-template-columns:1fr}
  #contact .ds-gf .gform_footer .btn,#contact .ds-gf .gform_button{width:100%!important;justify-content:space-between}
}
/* textarea same height as the original (GF prints rows="10") */
#contact .ds-gf textarea{height:110px!important}
/* dropdown: like the original, the first option ("Service needed") is the visible text; label kept for screen readers */
#contact .ds-gf .gfield--type-select>.gfield_label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;margin:0!important;padding:0!important}
#contact .ds-gf .gfield--type-textarea.ds-float>.gfield_label{white-space:normal;right:0}
