/* LKShot Model Release — lkshot-mr.css v1.3.0 */
:root {
    --lkmr-gold: #c9a84c; --lkmr-gold-light: #e2c070;
    --lkmr-bg: #111111; --lkmr-surface: #1a1a1a; --lkmr-surface-2: #222222;
    --lkmr-border: #2e2e2e; --lkmr-text: #e8e8e8; --lkmr-text-muted: #888888;
    --lkmr-error: #e05555; --lkmr-success: #4caf50; --lkmr-radius: 6px;
}

/* PIN gate */
.lkshot-mr-pin-gate { text-align:center; padding:48px 24px; }
.lkshot-mr-pin-icon { font-size:3rem; line-height:1; margin-bottom:16px; }
.lkshot-mr-pin-title { color:var(--lkmr-gold); font-size:1.3rem; margin:0 0 8px; }
.lkshot-mr-pin-sub { color:var(--lkmr-text-muted); font-size:.88rem; margin:0 auto 24px; max-width:380px; }
.lkshot-mr-pin-row { display:flex; gap:10px; justify-content:center; align-items:center; flex-wrap:wrap; }
.lkshot-mr-pin-input {
    background:var(--lkmr-surface-2); border:1px solid var(--lkmr-border); border-radius:var(--lkmr-radius);
    color:var(--lkmr-text); font-size:1.4rem; letter-spacing:6px; text-align:center;
    padding:10px 16px; width:160px; box-sizing:border-box; -webkit-appearance:none; appearance:none; transition:border-color .18s;
}
.lkshot-mr-pin-input:focus { outline:none; border-color:var(--lkmr-gold); box-shadow:0 0 0 2px rgba(201,168,76,.18); }
.lkshot-mr-pin-btn { background:var(--lkmr-gold); color:#111; border:none; border-radius:var(--lkmr-radius);
    font-size:.95rem; font-weight:700; padding:12px 24px; cursor:pointer; transition:background .18s; white-space:nowrap; }
.lkshot-mr-pin-btn:hover { background:var(--lkmr-gold-light); }
.lkshot-mr-pin-error { color:#f08080; font-size:.85rem; margin:12px auto 0; max-width:360px; }
.lkshot-mr-pin-shake { animation:lkshot-shake .4s ease; }
@keyframes lkshot-shake { 0%,100%{transform:translateX(0)} 20%{transform:translateX(-8px)} 40%{transform:translateX(8px)} 60%{transform:translateX(-5px)} 80%{transform:translateX(5px)} }

/* Wrapper */
.lkshot-mr-wrap { max-width:780px; margin:0 auto; background:var(--lkmr-surface); border:1px solid var(--lkmr-border);
    border-radius:10px; padding:36px 40px; color:var(--lkmr-text);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif; line-height:1.55; }
@media(max-width:600px){ .lkshot-mr-wrap{padding:20px 16px;} }

/* Section headings */
.lkshot-mr-section { font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:1.5px;
    color:var(--lkmr-gold); margin:32px 0 16px; padding-bottom:8px; border-bottom:1px solid var(--lkmr-border); }
.lkshot-mr-section:first-of-type { margin-top:0; }
.lkshot-mr-section .optional { font-weight:400; font-size:.75rem; text-transform:none; letter-spacing:0; color:var(--lkmr-text-muted); }

/* Grid */
.lkshot-mr-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; margin-bottom:8px; }
.lkshot-mr-field { display:flex; flex-direction:column; }
.lkshot-mr-full { grid-column:1/-1; }

/* Labels */
.lkshot-mr-field label { font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.6px; color:var(--lkmr-text-muted); margin-bottom:6px; }
.req { color:var(--lkmr-gold); }
.optional { font-weight:400; font-size:.72rem; text-transform:none; letter-spacing:0; color:var(--lkmr-text-muted); }

/* Inputs */
.lkshot-mr-wrap input[type="text"],.lkshot-mr-wrap input[type="email"],.lkshot-mr-wrap input[type="tel"],
.lkshot-mr-wrap input[type="date"],.lkshot-mr-wrap select,.lkshot-mr-wrap textarea {
    background:var(--lkmr-surface-2); border:1px solid var(--lkmr-border); border-radius:var(--lkmr-radius);
    color:var(--lkmr-text); font-size:.95rem; padding:10px 12px; width:100%; box-sizing:border-box;
    transition:border-color .18s; -webkit-appearance:none; appearance:none; }
.lkshot-mr-wrap input[type="date"]::-webkit-calendar-picker-indicator { filter:invert(.6); cursor:pointer; }
.lkshot-mr-wrap select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23888' d='M6 8L0 0h12z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; padding-right:32px; }
.lkshot-mr-wrap input:focus,.lkshot-mr-wrap select:focus,.lkshot-mr-wrap textarea:focus { outline:none; border-color:var(--lkmr-gold); box-shadow:0 0 0 2px rgba(201,168,76,.18); }
.lkshot-mr-wrap textarea { resize:vertical; min-height:90px; }

/* Photo upload */
.lkshot-mr-upload-area { position:relative; border:2px dashed var(--lkmr-border); border-radius:var(--lkmr-radius); background:var(--lkmr-surface-2); transition:border-color .18s; overflow:hidden; }
.lkshot-mr-upload-area:hover,.lkshot-mr-upload-area:focus-within { border-color:var(--lkmr-gold); }
.lkshot-mr-file-input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; z-index:2; }
.lkshot-mr-upload-ui { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:28px 20px; pointer-events:none; }
.lkshot-mr-upload-icon { font-size:2.2rem; line-height:1; }
.lkshot-mr-upload-label { font-size:.95rem; font-weight:600; color:var(--lkmr-gold); }
.lkshot-mr-upload-sub { font-size:.75rem; color:var(--lkmr-text-muted); }
.lkshot-mr-upload-preview { position:relative; padding:12px; text-align:center; }
.lkshot-mr-upload-preview img { max-width:100%; max-height:220px; border-radius:var(--lkmr-radius); object-fit:contain; display:block; margin:0 auto; }
.lkshot-mr-upload-remove { display:inline-block; margin-top:10px; padding:4px 12px; font-size:.75rem; background:transparent; color:var(--lkmr-error); border:1px solid var(--lkmr-error); border-radius:4px; cursor:pointer; z-index:3; position:relative; transition:background .15s; }
.lkshot-mr-upload-remove:hover { background:rgba(224,85,85,.12); }

/* Legal */
.lkshot-mr-legal { background:var(--lkmr-surface-2); border-left:4px solid var(--lkmr-gold); border-radius:0 var(--lkmr-radius) var(--lkmr-radius) 0; padding:18px 20px; font-size:.84rem; color:#bbb; margin-bottom:8px; }
.lkshot-mr-legal p { margin:0 0 10px; } .lkshot-mr-legal p:last-child{margin-bottom:0;}
.lkshot-mr-legal ul { padding-left:20px; margin:8px 0 12px; } .lkshot-mr-legal li{margin-bottom:5px;}
.lkshot-mr-definitions { background:rgba(255,255,255,.03); border:1px solid var(--lkmr-border); border-radius:var(--lkmr-radius); padding:12px 14px; margin-top:14px; font-size:.8rem; line-height:1.6; color:#999; }

/* Signature canvas */
.lkshot-mr-sig-wrap { position:relative; }
.lkshot-mr-canvas { display:block; width:100%; height:120px; background:#fafafa; border:1px dashed var(--lkmr-border); border-radius:var(--lkmr-radius); cursor:crosshair; touch-action:none; }
.lkshot-mr-canvas.active { border-color:var(--lkmr-gold); }
.lkshot-mr-btn-clear { display:inline-block; margin-top:6px; padding:4px 10px; font-size:.72rem; background:var(--lkmr-surface-2); color:var(--lkmr-text-muted); border:1px solid var(--lkmr-border); border-radius:4px; cursor:pointer; transition:color .15s,border-color .15s; }
.lkshot-mr-btn-clear:hover { color:var(--lkmr-gold); border-color:var(--lkmr-gold); }

/* Note */
.lkshot-mr-note { font-size:.8rem; color:var(--lkmr-text-muted); font-style:italic; margin:-8px 0 16px; }

/* Error */
.lkshot-mr-error { background:rgba(224,85,85,.12); border:1px solid var(--lkmr-error); border-radius:var(--lkmr-radius); color:#f08080; font-size:.88rem; padding:12px 16px; margin-bottom:20px; }

/* Submit */
.lkshot-mr-btn-submit { display:block; width:100%; margin-top:32px; padding:15px 24px; background:var(--lkmr-gold); color:#111; font-size:1rem; font-weight:700; letter-spacing:.5px; border:none; border-radius:var(--lkmr-radius); cursor:pointer; transition:background .2s,transform .1s; }
.lkshot-mr-btn-submit:hover { background:var(--lkmr-gold-light); }
.lkshot-mr-btn-submit:active { transform:scale(.99); }
.lkshot-mr-btn-submit:disabled { background:#444; color:#777; cursor:not-allowed; }

/* Success */
.lkshot-mr-success { text-align:center; padding:48px 24px; }
.lkshot-mr-success-icon { display:flex; align-items:center; justify-content:center; width:64px; height:64px; background:rgba(76,175,80,.15); border:2px solid var(--lkmr-success); border-radius:50%; font-size:2rem; color:var(--lkmr-success); margin:0 auto 20px; }
.lkshot-mr-success h2 { color:var(--lkmr-gold); font-size:1.4rem; margin:0 0 12px; }
.lkshot-mr-success p { color:var(--lkmr-text-muted); font-size:.92rem; max-width:440px; margin:0 auto; }
