/* ycon – form styling (Contact Form 7, WPForms, Elementor Form, plain HTML forms).
   Applies inside the ycon Contact widget and any element with the CSS class "yc-form". */

html body :is(.yc-contact__form,.yc-form){font-family:var(--yc-sans);text-align:left}
html body :is(.yc-contact__form,.yc-form) form>p,html body :is(.yc-contact__form,.yc-form) .wpcf7 form>p{margin:0 0 18px}
html body :is(.yc-contact__form,.yc-form) br{display:none}
html body :is(.yc-contact__form,.yc-form) .wpcf7-form-control-wrap{display:block;width:100%}

/* labels: text above the field */
html body :is(.yc-contact__form,.yc-form) label{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:0;font:500 13.5px/1.35 var(--yc-sans);color:var(--yc-ink)}
html body :is(.yc-contact__form,.yc-form) label:has(input[type=checkbox],input[type=radio]),html body :is(.yc-contact__form,.yc-form) .wpcf7-list-item label{flex-direction:row;align-items:flex-start;gap:12px;font-weight:400;line-height:1.6;color:var(--yc-text);cursor:pointer}
html body :is(.yc-contact__form,.yc-form) .wpcf7-list-item{display:block;margin:0}
html body :is(.yc-contact__form,.yc-form) .wpcf7-acceptance,html body :is(.yc-contact__form,.yc-form) .wpcf7-checkbox{display:block}

/* fields */
html body :is(.yc-contact__form,.yc-form) :is(input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],input[type=date],input[type=password],input[type=search],select,textarea){
  display:block;width:100%;max-width:none;box-sizing:border-box;margin:0;padding:14px 16px;border-radius:12px;border:1px solid #dcdee9;background:#fff;color:var(--yc-ink);
  font:400 15px/1.5 var(--yc-sans);box-shadow:none;outline:none;-webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s}
html body :is(.yc-contact__form,.yc-form) select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%236b7090' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:22px;padding-right:44px}
html body :is(.yc-contact__form,.yc-form) textarea{min-height:128px;resize:vertical}
html body :is(.yc-contact__form,.yc-form) :is(input,textarea,select):focus{border-color:var(--yc-navy);box-shadow:0 0 0 4px rgba(45,46,131,.12)}
html body :is(.yc-contact__form,.yc-form) ::placeholder{color:#9a9eb5;opacity:1}
html body :is(.yc-contact__form,.yc-form) input[type=checkbox],html body :is(.yc-contact__form,.yc-form) input[type=radio]{flex:none;width:18px;height:18px;margin:3px 0 0;accent-color:var(--yc-navy)}
html body :is(.yc-contact__form,.yc-form) label a,html body :is(.yc-contact__form,.yc-form) .wpcf7-list-item-label a{color:var(--yc-navy);text-decoration:underline}

/* two columns: put fields in <div class="yc-cf7"> … </div>, give full-width items the class yc-f--full */
html body .yc-cf7{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:18px 16px}
html body .yc-cf7>p{margin:0!important}
html body .yc-cf7 .yc-f--full{grid-column:1/-1}

/* submit */
html body :is(.yc-contact__form,.yc-form) :is(input[type=submit],button[type=submit],.wpcf7-submit){
  display:flex;align-items:center;justify-content:center;width:100%;margin-top:6px;padding:17px 28px;border:0;border-radius:999px;cursor:pointer;
  background:var(--yc-navy)!important;color:#fff!important;font:600 16px/1 var(--yc-sans);transition:background .25s,transform .25s}
html body :is(.yc-contact__form,.yc-form) :is(input[type=submit],button[type=submit],.wpcf7-submit):hover{background:var(--yc-orange)!important;color:#12133d!important;transform:translateY(-1px)}
html body :is(.yc-contact__form,.yc-form) :is(input[type=submit],button[type=submit]):disabled{opacity:.5;cursor:not-allowed;transform:none}
html body :is(.yc-contact__form,.yc-form) .wpcf7-spinner{display:block;margin:12px auto 0;background-color:var(--yc-navy)}

/* validation + messages (CF7) */
html body :is(.yc-contact__form,.yc-form) .wpcf7-not-valid{border-color:#c8495d!important;box-shadow:0 0 0 4px rgba(200,73,93,.1)!important}
html body :is(.yc-contact__form,.yc-form) .wpcf7-not-valid-tip{margin-top:6px;font:500 12.5px/1.4 var(--yc-sans);color:#b0405a}
html body :is(.yc-contact__form,.yc-form) .wpcf7 form .wpcf7-response-output{margin:20px 0 0;padding:14px 16px;border:0;border-radius:12px;font:500 14px/1.5 var(--yc-sans);background:var(--yc-navytint);color:var(--yc-navy)}
html body :is(.yc-contact__form,.yc-form) .wpcf7 form.sent .wpcf7-response-output{background:#e3f5ec;color:#16794f;margin:0;padding:56px 24px;text-align:center;font-size:17px}
html body :is(.yc-contact__form,.yc-form) .wpcf7 form:is(.invalid,.unaccepted,.payment-required) .wpcf7-response-output{background:#fff6e8;color:#9a5a00}
html body :is(.yc-contact__form,.yc-form) .wpcf7 form:is(.failed,.aborted,.spam) .wpcf7-response-output{background:#fbe9ec;color:#b0405a}
html body :is(.yc-contact__form,.yc-form) .wpcf7 form.sent>*:not(.wpcf7-response-output){display:none}
