/* Lacque House website forms (apply, contact, collab, franchising) - shared with js/lead-form.js */
.app-form{max-width:720px;margin:0 auto;text-align:left;}
.app-form fieldset{border:0;padding:0;margin:0 0 34px;min-width:0;}
.app-form legend{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--orange);margin-bottom:16px;padding:0;}
.app-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.app-grid > div{min-width:0;}
.app-grid .full{grid-column:1 / -1;}
.app-form label{display:block;font-size:12.5px;font-weight:500;margin-bottom:6px;}
.app-form label .opt{color:var(--taupe);font-weight:400;}
.app-form input,.app-form select,.app-form textarea{width:100%;box-sizing:border-box;font-family:var(--sans);font-size:15px;color:inherit;background:#fff;border:1px solid var(--hairline);border-radius:12px;padding:13px 15px;outline:none;transition:border-color .25s var(--ease);}
.app-form input:focus,.app-form select:focus,.app-form textarea:focus{border-color:var(--orange);}
.app-form textarea{min-height:110px;resize:vertical;}
.app-form [aria-invalid="true"]{border-color:#B3261E;}
.app-choices{display:flex;gap:8px;flex-wrap:wrap;}
.app-choices input{display:none;}
.app-choices span{display:inline-block;padding:11px 20px;border:1px solid var(--hairline);border-radius:999px;font-size:13px;cursor:pointer;transition:all .25s var(--ease);background:#fff;}
.app-choices input:checked + span{background:var(--orange);border-color:var(--orange);color:#fff;}
.app-note{font-size:12.5px;color:var(--taupe);line-height:1.6;margin-top:14px;}
.app-sent{margin-top:18px;padding:16px 20px;border:1px solid var(--hairline);border-radius:14px;background:#fff;font-size:14px;line-height:1.6;}
.app-sent[hidden]{display:none;}
.app-sent strong{display:block;font-weight:600;margin-bottom:4px;}

/* Phone: one field, a compact dial-code prefix sized to the chosen code (form-playbook 12) */
.app-form .lh-tel{display:flex;align-items:stretch;background:#fff;border:1px solid var(--hairline);border-radius:12px;overflow:hidden;transition:border-color .25s var(--ease);}
.app-form .lh-tel:focus-within{border-color:var(--orange);}
.app-form .lh-tel:has(input[aria-invalid="true"]){border-color:#B3261E;}
.app-form .lh-tel select{flex:0 0 auto;width:56px;-webkit-appearance:none;appearance:none;margin:0;min-height:48px;padding:0 24px 0 12px;font-family:var(--sans);font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink);cursor:pointer;border:0;border-radius:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23F37021' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 9px center/9px 6px;transition:color .15s ease;}
.app-form .lh-tel select:hover,.app-form .lh-tel select:focus-visible{color:var(--orange);}
.app-form .lh-tel select:focus{outline:0;}
.app-form .lh-tel input,.app-form .lh-tel input:focus{flex:1 1 auto;min-width:0;border:0;border-radius:0;padding-left:13px;background:transparent linear-gradient(var(--hairline),var(--hairline)) left center/1px 52% no-repeat;}

/* Consent block, legal links, status */
.lh-consent{display:grid;gap:12px;margin:0 0 22px;}
.app-form .lh-check{display:flex;gap:12px;align-items:flex-start;margin:0;font-size:12.5px;font-weight:400;line-height:1.6;color:var(--ink);cursor:pointer;}
.app-form .lh-check input{flex:none;width:18px;height:18px;margin:2px 0 0;padding:0;border-radius:4px;accent-color:var(--orange);cursor:pointer;}
.lh-consent__note{font-size:12px;color:var(--taupe);line-height:1.6;margin:0;}
.lh-form__actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.lh-form__actions .pill{cursor:pointer;border:0;font-family:var(--sans);}
.lh-form__actions .pill[disabled]{opacity:.6;cursor:progress;}
.lh-form__legal{margin:14px 0 0;font-size:12px;color:var(--taupe);line-height:1.6;}
.lh-form__legal a,.lh-form__status a,.app-sent a{color:var(--orange);text-decoration:underline;text-underline-offset:2px;}
.lh-form__status{margin:16px 0 0;padding:12px 16px;border-radius:12px;background:#fff;border:1px solid var(--hairline);font-size:13.5px;line-height:1.6;}
.lh-form__status.is-err{border-color:#B3261E;}
.lh-form__status[hidden]{display:none;}
.lh-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;}
.lh-ts{position:fixed;width:0;height:0;overflow:hidden;}

/* A white form card on coloured bands (contact CTA) */
.lh-form-card{max-width:760px;margin:clamp(34px,4.5vw,52px) auto 0;padding:clamp(24px,4vw,44px);background:var(--paper);border:1px solid var(--hairline);border-radius:22px;text-align:left;}
.lh-form-card .app-form{max-width:none;}

@media (max-width:560px){.app-grid{grid-template-columns:1fr;}}
@media (prefers-reduced-motion:reduce){.app-form .lh-tel,.app-form .lh-tel select,.app-form input,.app-form select,.app-form textarea{transition:none;}}
