/* components/forms.css — contact forms */
.ftabs{display:inline-grid;grid-template-columns:1fr 1fr;border:1px solid var(--rule);padding:4px;background:var(--linen);max-width:100%}
.ftabs button{padding:12px 22px;border:0;background:transparent;color:var(--slate);font-weight:500;font-size:.92rem;cursor:pointer;white-space:nowrap}
.ftabs button[aria-selected="true"]{background:var(--white);color:var(--indigo);box-shadow:0 0 0 1px var(--rule)}
.cform{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px;margin-top:20px}
.cform[hidden]{display:none}
.cform-title{grid-column:1/-1;font-family:var(--serif);font-size:1.6rem;font-weight:300;letter-spacing:-.01em;line-height:1.25;max-width:30ch;color:var(--ink)}
.field{display:grid;gap:8px;align-content:start;min-width:0}
fieldset.field{border:0;padding:0;margin:0}
.field.full{grid-column:1/-1}
.field label,.field legend{padding:0;color:var(--indigo);font-size:.9rem;font-weight:500}
.field legend{margin-bottom:10px}
.field label i,.form-foot i{font-style:normal;color:var(--accent)}
.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{width:100%;min-height:48px;padding:11px 13px;border:1px solid #C9CDD4;border-radius:var(--radius);background:var(--white);color:var(--indigo);font:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}
.field ::placeholder{color:#9AA1AD}
.field select{appearance:none;-webkit-appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px;background-size:5px 5px;background-repeat:no-repeat;cursor:pointer}
.field select.empty{color:#9AA1AD}
.field select option{color:var(--indigo)}
.field textarea{min-height:150px;resize:vertical;line-height:1.55}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--indigo);box-shadow:0 0 0 3px rgba(23,35,59,.1)}
.field [aria-invalid="true"]{border-color:var(--error)!important}
.phone{display:flex;border:1px solid #C9CDD4;border-radius:var(--radius)}
.phone:focus-within{border-color:var(--indigo);box-shadow:0 0 0 3px rgba(23,35,59,.1)}
.field .phone select,.field .phone input[type=tel]{border:0;box-shadow:none!important}
.field .phone select{flex:0 0 104px;width:104px;border-right:1px solid var(--rule);border-radius:var(--radius) 0 0 var(--radius)}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.checks.radios{grid-template-columns:repeat(3,auto);justify-content:start;gap:10px 28px}
.check{display:flex;align-items:center;gap:10px;color:var(--slate);font-size:.96rem;line-height:1.35;cursor:pointer}
.check input{appearance:none;-webkit-appearance:none;flex:none;display:grid;place-items:center;width:20px;height:20px;margin:0;border:1px solid #B8BEC7;border-radius:3px;background:var(--white);cursor:pointer}
.check input[type=radio]{border-radius:50%}
.check input::after{content:"";width:10px;height:6px;border:solid #fff;border-width:0 0 2px 2px;transform:rotate(-45deg) translate(1px,-1px);opacity:0}
.check input[type=radio]::after{width:8px;height:8px;border:0;border-radius:50%;background:#fff;transform:none}
.check input:checked{background:var(--indigo);border-color:var(--indigo)}
.check input:checked::after{opacity:1}
.err{font-size:.84rem;color:var(--error)}
.err:empty{display:none}
.form-foot{grid-column:1/-1;display:grid;gap:12px;margin-top:6px}
.form-foot .btn{width:100%}
.form-foot p{font-size:var(--t-small);color:var(--muted)}
.textlink{padding:0;border:0;background:none;color:var(--ink);font:inherit;font-weight:500;text-decoration-color:var(--accent);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.form-status{grid-column:1/-1;font-weight:500}
.form-status:empty{display:none}
.form-status.is-success{color:var(--success)}
.form-status.is-error{color:var(--error)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media (max-width:600px){.cform{grid-template-columns:1fr}.checks{grid-template-columns:1fr}.ftabs{display:grid}.ftabs button{padding:11px 8px}}
