.contact-form button[type="submit"]:disabled {
 opacity: .4;
 cursor: not-allowed;
 box-shadow: none;
}
.contact-form[aria-busy="true"] button[type="submit"] { cursor: wait; }
.contact-form .contact-website {
 position: absolute; width: 1px; height: 1px; padding: 0;
 overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}

/* Enfoque visible en la línea inferior, sin recuadro. */
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus {
 outline: none;
 border-bottom-color: var(--paper, #f2efe8);
 box-shadow: 0 1px 0 var(--paper, #f2efe8);
}
.contact-form .contact-select { display:block; position:relative; }
.contact-form select {
 display:block; width:100%; min-width:0; appearance:none; -webkit-appearance:none;
 background:transparent; color:var(--ink); border:0; border-bottom:1px solid var(--line);
 border-radius:0; padding:13px 28px 13px 0; font:300 13px/1.6 var(--sans); cursor:pointer;
}
.contact-form select:invalid { color:#88786c; }
.contact-form select option { background:#141414; color:var(--paper); }
.contact-select::after {
 content:''; position:absolute; right:7px; top:19px; width:7px; height:7px;
 border-right:1px solid currentColor; border-bottom:1px solid currentColor;
 transform:rotate(45deg); pointer-events:none;
}
.contact-form .contact-phone {
 display:flex; align-items:center; gap:12px; border-bottom:1px solid var(--line);
}
.contact-form .contact-phone:focus-within {
 border-bottom-color:var(--paper, #f2efe8); box-shadow:0 1px 0 var(--paper, #f2efe8);
}
.contact-form .phone-prefix { flex:none; font:300 13px/1.6 var(--sans); color:var(--ink); }
.contact-form .contact-phone input, .contact-form .contact-phone input:focus {
 flex:1; min-width:0; width:0; border:0; outline:none; box-shadow:none;
}
@media(max-width:620px){.contact-form select,.contact-form .phone-prefix{font-size:11px;}}
