.lct-contact { --lct-accent: #9d6200; --lct-border: #d9d2c6; }
.lct-contact [hidden] { display: none !important; }
.lct-contact .lct-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.lct-contact .lct-full { grid-column: 1 / -1; }
#top .lct-contact .lct-field { margin: 0; }
#top .lct-contact label { display: block; font-weight: 600; line-height: 1.5; margin-bottom: 7px; }
#top .lct-contact input:not([type=checkbox]), #top .lct-contact select, #top .lct-contact textarea {
    width: 100%; box-sizing: border-box; margin: 0; border: 1px solid var(--lct-border); border-radius: 3px;
    padding: 12px; min-height: 46px; background: #fcfaf6; color: #333; font: inherit;
}
#top .lct-contact textarea { resize: vertical; }
.lct-contact .lct-details { margin: 24px 0 0; padding: 0; border: 0; min-width: 0; }
.lct-contact button { font: inherit; cursor: pointer; border-radius: 3px; padding: 12px 18px; min-height: 44px; }
#top .lct-contact .button { background: #f8ac27; color: #30210c; border: 1px solid #c98510; }
.lct-contact button:disabled { cursor: not-allowed; opacity: .5; }
.lct-contact :is(input, select, textarea, button):focus-visible { outline: 3px solid var(--lct-accent); outline-offset: 3px; }
.lct-contact .lct-category-notice, .lct-contact .lct-result { background: #fff8e9; border-left: 4px solid #c98510; padding: 16px 20px; margin: 20px 0; }
.lct-contact .lct-error { border-color: #a32c22; background: #fff3f1; }
.lct-contact .lct-dialog { box-sizing: border-box; width: min(640px, calc(100% - 32px)); max-height: calc(100dvh - 40px); overflow-y: auto;
    margin: auto; padding: clamp(20px, 4vw, 36px); border: 1px solid var(--lct-border); border-radius: 8px;
    background: #fffdf9; color: #333; box-shadow: 0 18px 70px #0004; }
.lct-contact .lct-dialog::backdrop { background: #1d241fb3; }
.lct-contact .lct-dialog h3 { line-height: 1.4; margin: 0 0 20px; }
#top .lct-contact .lct-ack { display: flex; gap: 12px; align-items: flex-start; margin: 24px 0; }
.lct-contact .lct-ack input { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 3px; accent-color: var(--lct-accent); }
.lct-contact .lct-dialog-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.lct-contact .lct-close, .lct-contact .lct-review { background: transparent; border: 1px solid var(--lct-border); color: #463c2d; }
.lct-contact .lct-trap, .lct-contact .lct-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 600px) { .lct-contact .lct-grid { grid-template-columns: 1fr; } .lct-contact .lct-dialog-actions button { width: 100%; } }
