/* KTT enquiry forms — works standalone; ktt-elementor-kit refines it. */
.ktt-form-wrap{--kf-navy:var(--ktt-navy,#082b60);--kf-orange:var(--ktt-cta-bg,#ff571d);--kf-text:var(--ktt-charcoal,#101827);--kf-border:#c4d0e0;--kf-muted:#44474f;font-family:var(--ktt-font-body,Inter,system-ui,sans-serif);color:var(--kf-text)}
.ktt-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
.ktt-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.ktt-field--wide,.ktt-field--consent,.ktt-field--checkboxes,.ktt-field--textarea{grid-column:1/-1}
.ktt-field>label,.ktt-field legend{font-family:var(--ktt-font-head,Montserrat,system-ui,sans-serif);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--kf-navy);padding:0}
.ktt-field fieldset{border:0;margin:0;padding:0;min-width:0}
.ktt-field input[type=text],.ktt-field input[type=email],.ktt-field input[type=tel],.ktt-field select,.ktt-field textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--kf-border);border-radius:4px;background:#fff;color:var(--kf-text);font:inherit;font-size:15px;line-height:1.5;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.ktt-field textarea{min-height:130px;resize:vertical}
.ktt-field input:focus,.ktt-field select:focus,.ktt-field textarea:focus{outline:2px solid var(--kf-navy);outline-offset:0;border-color:var(--kf-navy);box-shadow:-3px 0 0 0 var(--kf-orange)}
.ktt-field.has-error input,.ktt-field.has-error select,.ktt-field.has-error textarea{border-color:#ba1a1a}
.ktt-field-error{margin:0;color:#ba1a1a;font-size:13px}
.ktt-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin-top:6px}
.ktt-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;cursor:pointer;text-transform:none;letter-spacing:0;font-family:inherit;font-weight:400;color:var(--kf-text)}
.ktt-check input{width:18px;height:18px;margin:2px 0 0;flex:0 0 18px;accent-color:var(--kf-navy)}
.ktt-check--consent{font-size:13px;color:var(--kf-muted)}
.ktt-check a{color:var(--kf-navy);text-decoration:underline}
.ktt-req{color:#ae3100}
.ktt-form-required-note{font-size:12px;color:var(--kf-muted);margin:12px 0 16px}
.ktt-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ktt-form-submit{display:inline-flex;align-items:center;gap:10px;border:0;cursor:pointer;background:var(--kf-orange);color:#fff;font-family:var(--ktt-font-head,Montserrat,system-ui,sans-serif);font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;padding:14px 24px;border-radius:4px;box-shadow:0 4px 0 0 var(--kf-navy);transition:transform .1s,box-shadow .1s,background .15s}
.ktt-form-submit:hover{background:var(--ktt-cta-hover,#e04a12)}
.ktt-form-submit:active{transform:translateY(2px);box-shadow:0 2px 0 0 var(--kf-navy)}
.ktt-form-submit:focus-visible{outline:3px solid var(--kf-navy);outline-offset:3px}
.ktt-form-notice{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:4px;margin-bottom:16px;border-left:3px solid}
.ktt-form-notice p{margin:0}
.ktt-form-notice--success{background:#e6f4ea;border-color:#0a6b2b;color:#0a3d1c}
.ktt-form-notice--success svg{color:#0a6b2b;flex:0 0 auto}
.ktt-form-notice--error{background:#fff1ee;border-color:#ba1a1a;color:#5c0b0b}
@media (max-width:640px){.ktt-form-grid,.ktt-checks{grid-template-columns:1fr}.ktt-form-submit{width:100%;justify-content:center}}
.ktt-field>label.ktt-check{font-family:inherit;font-size:13.5px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--kf-muted);line-height:1.55}
.ktt-form-wrap a{color:var(--kf-navy)}
