*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,sans-serif;background:#fdf6f0}.navbar{display:flex;align-items:center;gap:10px;padding:10px 15px;background:#f4a261;color:#fff;overflow-x:auto}.logo{font-size:20px;font-weight:700;margin-right:10px;color:#fff;display:flex;align-items:center;gap:8px}.logo-img{height:28px;width:auto}.navbar button{background:#2a9d8f;color:#fff;border:none;padding:12px 18px;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;white-space:nowrap}.navbar button:hover{background:#21867a}.map{height:calc(100vh - 50px);width:100%}.custom-pin{display:flex;align-items:center;justify-content:center}.pin-bubble{background:#fff;border:2px solid #f4a261;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 2px 6px #0000004d}.pin-label{position:absolute;top:42px;left:50%;transform:translate(-50%);background:#ffffffe6;color:#264653;font-size:10px;padding:1px 6px;border-radius:8px;white-space:nowrap;box-shadow:0 1px 4px #0003}.search-box{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:1500;width:80%;max-width:360px}.search-box input{width:100%;padding:12px 16px;border:2px solid #f4a261;border-radius:30px;font-size:16px;box-shadow:0 2px 8px #0000004d;outline:none}.search-results{background:#fff;border:1px solid #e0c9b5;border-radius:10px;margin-top:6px;max-height:260px;overflow-y:auto;box-shadow:0 4px 12px #0003}.search-item{padding:10px 14px;cursor:pointer;border-bottom:1px solid #f0e6dd;font-size:14px}.search-item:hover{background:#fff3e6}.search-item:last-child{border-bottom:none}.leaflet-control-attribution{display:none}.map-attribution{position:absolute;bottom:2px;right:5px;z-index:1000;background:#fffc;font-size:10px;padding:2px 8px;border-radius:4px;color:#888;pointer-events:none}.pulse-dot{position:absolute;top:50%;left:50%;width:12px;height:12px;background:#3b82f6;border:2px solid #ffffff;border-radius:50%;transform:translate(-50%,-50%);z-index:2}.pulse-ring{position:absolute;top:30px;left:30px;width:12px;height:12px;border:2px solid #3b82f6;border-radius:50%;animation:radial-expand 2.5s ease-out infinite}@keyframes radial-expand{0%{width:12px;height:12px;top:30px;left:30px;opacity:.8}to{width:60px;height:60px;top:6px;left:6px;opacity:0}}.loc-toggle{position:absolute;bottom:40px;right:10px;z-index:1000;border-radius:30px;padding:12px 18px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #0000004d}.loc-on{background:#2a9d8f;color:#fff;border:2px solid #21867a}.loc-off{background:#9ca3af;color:#fff;border:2px solid #6b7280}.locate-me{position:absolute;bottom:90px;right:10px;z-index:1000;background:#fff;color:#264653;border:2px solid #f4a261;border-radius:30px;padding:12px 18px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #0000004d}.form-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.pin-form{background:#fffaf5;padding:24px;border-radius:14px;width:90%;max-width:440px;max-height:88vh;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.pin-form h3{margin:0;color:#264653;font-size:22px}.pin-form input,.pin-form select,.pin-form textarea{width:100%;padding:14px;border:2px solid #e0c9b5;border-radius:8px;font-size:18px;background:#fff}.pin-form input:focus,.pin-form select:focus,.pin-form textarea:focus{outline:none;border-color:#f4a261;box-shadow:0 0 0 3px #f4a2614d}.pin-form label{font-size:16px}.field-tip{font-size:13px;color:#8a6d5a;margin-top:-8px}.pin-form button[type=submit],.pin-form button[type=button]{background:#2a9d8f;color:#fff;border:none;padding:16px;border-radius:8px;font-size:18px;cursor:pointer}.pin-form button[type=submit]:hover{background:#21867a}.pin-form button[type=button]{background:#e76f51}.pin-form button[type=button]:hover{background:#d65e3e}.pin-form .photo-count{font-size:12px;color:#888}.drop-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:9999;cursor:crosshair;display:flex;flex-direction:column;align-items:center;pointer-events:none}.drop-banner{margin-top:12px;background:#264653;color:#fff;padding:10px 20px;border-radius:30px;font-size:14px;font-weight:700;box-shadow:0 2px 10px #0000004d;pointer-events:none}.drop-cancel{margin-top:8px;background:#e76f51;color:#fff;border:none;padding:6px 16px;border-radius:30px;font-size:13px;cursor:pointer;pointer-events:auto}
