.lt-open{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:410px;height:43px;margin:14px 0 4px;padding:0 20px;border:1.5px solid var(--lt-accent);border-radius:10px;background:var(--lt-accent);color:#fff;font-family:Domine,Georgia,serif;font-size:15px;font-weight:700;line-height:1;letter-spacing:0;text-transform:none;cursor:pointer;transition:background-color .2s,color .2s}
.lt-open svg{flex:none}
.lt-open:hover,.lt-open:focus{background:var(--lt-accent);color:#fff;filter:brightness(1.25)}
@media (max-width:767px){.lt-open{max-width:none}}
.lt-lock{overflow:hidden}
.lt-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px}
.lt-modal[hidden]{display:none}
.lt-backdrop{position:absolute;inset:0;background:rgba(20,12,14,.6)}
.lt-panel{position:relative;width:min(760px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;color:#2a2224;border-radius:14px;padding:28px;font-size:15px;line-height:1.5}
.lt-panel h2{margin:0 0 18px;font-family:Domine,Georgia,serif;color:var(--lt-accent);font-size:1.5em;line-height:1.2}
.lt-x{position:absolute;top:10px;right:12px;width:38px;height:38px;border:0;background:none;font-size:28px;line-height:1;cursor:pointer;color:inherit}
.lt-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.lt-label{margin:0 0 6px;font-weight:600}
.lt-drop,.lt-frame{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:3/4;border-radius:6px;overflow:hidden;background:#f6f1ef}
.lt-drop{border:1.5px dashed #c9b8b4;cursor:pointer}
.lt-drop:focus-within{outline:2px solid var(--lt-accent);outline-offset:2px}
.lt-drop input{position:absolute;opacity:0;width:1px;height:1px}
.lt-drop img,.lt-frame img{width:100%;height:100%;object-fit:cover}
.lt-drop span{position:absolute;bottom:12px;padding:.4em .9em;background:#fff;border-radius:3px;font-weight:600;color:var(--lt-accent)}
.lt-drop img[hidden]+span{position:static}
.lt-tip,.lt-note{margin:8px 0 0;font-size:.85em;color:#6b5d5f}
.lt-busy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;text-align:center;background:rgba(255,255,255,.88)}
.lt-busy[hidden]{display:none}
.lt-spin{width:34px;height:34px;border:3px solid #e6dad7;border-top-color:var(--lt-accent);border-radius:50%;animation:lt-r 1s linear infinite}
@keyframes lt-r{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.lt-spin{animation-duration:3s}}
.lt-consent{display:flex;gap:8px;align-items:flex-start;margin:18px 0 0;font-size:.9em}
.lt-consent input{margin-top:.25em}
.lt-error{margin:12px 0 0;padding:10px 12px;background:#fbeaea;color:#8a1c1c;border-radius:4px}
.lt-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.lt-go,.lt-save{padding:.8em 1.6em;border-radius:10px;font:inherit;font-family:Domine,Georgia,serif;font-weight:700;cursor:pointer;text-decoration:none}
.lt-go{border:0;background:var(--lt-accent);color:#fff}
.lt-go:disabled{opacity:.45;cursor:not-allowed}
.lt-save{border:1.5px solid var(--lt-accent);color:var(--lt-accent)}
.lt-save[hidden]{display:none}
.lt-open:focus-visible,.lt-go:focus-visible,.lt-save:focus-visible,.lt-x:focus-visible{outline:2px solid var(--lt-accent);outline-offset:2px}
@media (max-width:600px){.lt-panel{padding:22px 16px}.lt-grid{grid-template-columns:1fr 1fr;gap:10px}.lt-panel h2{font-size:1.25em}}
