.form-city-control { position:relative; min-width:0; }
.form-city-control__native,
.form-file-control__native { position:absolute !important; inline-size:1px !important; block-size:1px !important; opacity:0 !important; overflow:hidden !important; clip-path:inset(50%) !important; }
.form-city-control__input { width:100%; min-height:44px; border:1px solid #c9c0ae; border-radius:12px; padding:10px 42px 10px 13px; color:#2f2b25; background:#fffdf7; font:inherit; }
.form-city-control__input:focus-visible { outline:3px solid color-mix(in srgb, #a76b35 34%, transparent); outline-offset:2px; border-color:#a76b35; }
.form-city-control.is-disabled .form-city-control__input { background:#f0ece3; color:#7e7669; cursor:not-allowed; }
.form-city-control__clear { position:absolute; right:8px; top:50%; transform:translateY(-50%); width:28px; height:28px; border:0; border-radius:50%; color:#655b4e; background:transparent; font-size:22px; line-height:1; cursor:pointer; }
.form-city-control__clear:focus-visible { outline:2px solid #a76b35; outline-offset:2px; }
.form-city-control__results { position:absolute; z-index:30; width:100%; max-height:300px; overflow:auto; margin:6px 0 0; padding:6px; list-style:none; border:1px solid #d8cebc; border-radius:12px; background:#fffdf8; box-shadow:0 12px 28px rgb(68 48 24 / 18%); }
.form-city-control__option { display:block; width:100%; border:0; border-radius:8px; padding:10px; color:#302a22; background:transparent; text-align:left; font:inherit; cursor:pointer; }
.form-city-control__option:hover,
.form-city-control__option.is-active { background:#edf3e5; color:#38532e; }
.form-city-control__empty { padding:10px; color:#796f60; }
.form-file-control { position:relative; display:grid; gap:6px; min-height:82px; padding:14px 16px; border:1px dashed #b9a883; border-radius:14px; color:#3d352a; background:#fffdf6; cursor:pointer; }
.form-file-control:focus-within { border-color:#8c6837; box-shadow:0 0 0 3px rgb(167 107 53 / 20%); }
.form-file-control.has-files { border-style:solid; border-color:#94a67d; background:#f3f7ea; }
.form-file-control__state { display:grid; gap:3px; pointer-events:none; }
.form-file-control__summary { font-size:15px; }
.form-file-control__detail { color:#766b5a; font-size:13px; overflow-wrap:anywhere; }
.form-file-control__picker { justify-self:start; border:1px solid #8c6837; border-radius:7px; padding:6px 10px; color:#4d3925; background:#f8f1df; font-size:13px; font-weight:700; line-height:1.2; cursor:pointer; }
.form-file-control__picker:hover { background:#efe1c4; }
.form-file-control__picker:focus-visible { outline:3px solid rgb(167 107 53 / 35%); outline-offset:2px; }
.form-file-control__previews { display:grid; gap:6px; margin:4px 0 0; padding:0; list-style:none; }
.form-file-control__preview-item { display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:8px; padding:6px; border-radius:8px; background:rgb(255 255 255 / 60%); }
.form-file-control__preview-media { width:40px; height:32px; border-radius:5px; object-fit:cover; background:#e6e1d7; }
.form-file-control__preview-copy { min-width:0; overflow-wrap:anywhere; font-size:12px; color:#5f5649; }
.form-file-control__remove { border:0; border-radius:6px; padding:4px 7px; color:#6d3d32; background:#f7e5df; font:inherit; font-size:12px; cursor:pointer; }
.form-file-control__remove:focus-visible { outline:2px solid #8c6837; outline-offset:2px; }
.form-file-control--existing { isolation:isolate; }
@media (max-width:560px) { .form-city-control__results { max-height:240px; } .form-file-control { min-height:76px; } }
