.dl-ordina-btn { display:inline-block; background-color:#DA291C; color:#fff; border:none; padding:14px 32px; font-size:16px; font-weight:700; border-radius:6px; cursor:pointer; transition:background-color 0.2s,transform 0.1s; letter-spacing:0.5px; }
.dl-ordina-btn:hover { background-color:#b82217; transform:translateY(-1px); }
.dl-ordina-btn:active { transform:translateY(0); }
.dl-modal { position:fixed; top:0; left:0; right:0; bottom:0; z-index:99999; display:flex; align-items:center; justify-content:center; }
.dl-modal-overlay { position:absolute; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,0.6); backdrop-filter:blur(3px); }
.dl-modal-box { position:relative; background:#fff; border-radius:16px; padding:40px; width:90%; max-width:480px; box-shadow:0 20px 60px rgba(0,0,0,0.3); z-index:1; animation:dl-slide-up 0.25s ease; }
@keyframes dl-slide-up { from{transform:translateY(30px);opacity:0} to{transform:translateY(0);opacity:1} }
body.dl-modal-open { overflow:hidden; }
.dl-close { position:absolute; top:16px; right:20px; background:none; border:none; font-size:24px; cursor:pointer; color:#999; padding:4px 8px; border-radius:4px; transition:color 0.2s; }
.dl-close:hover { color:#333; }
.dl-step h2 { margin:0 0 24px 0; font-size:20px; font-weight:700; color:#1a1a1a; line-height:1.3; }
.dl-step-buttons { display:flex; flex-direction:column; gap:16px; }
.dl-btn-primary { background:#DA291C; color:#fff; border:none; padding:14px 20px; font-size:15px; font-weight:600; border-radius:8px; cursor:pointer; transition:background 0.2s; text-align:center; }
.dl-btn-primary:hover { background:#DA291C; }
.dl-separator { text-align:center; color:#999; font-size:13px; position:relative; }
.dl-separator::before,.dl-separator::after { content:''; position:absolute; top:50%; width:42%; height:1px; background:#e0e0e0; }
.dl-separator::before { left:0; } .dl-separator::after { right:0; }
.dl-input-group { display:flex; gap:8px; }
.dl-input-group input { flex:1; padding:12px 14px; border:2px solid #e0e0e0; border-radius:8px; font-size:14px; outline:none; transition:border-color 0.2s; }
.dl-input-group input:focus { border-color:#DA291C; }
.dl-btn-secondary { background:#1a1a1a; color:#fff; border:none; padding:12px 18px; font-size:14px; font-weight:600; border-radius:8px; cursor:pointer; transition:background 0.2s; white-space:nowrap; }
.dl-btn-secondary:hover { background:#444; }
#dl-step-loading { text-align:center; padding:20px 0; }
.dl-loading-spinner { width:48px; height:48px; border:4px solid #f0f0f0; border-top-color:#DA291C; border-radius:50%; animation:dl-spin 0.8s linear infinite; margin:0 auto 20px; }
@keyframes dl-spin { to{transform:rotate(360deg)} }
#dl-step-loading p { color:#666; font-size:15px; margin:0; }
.dl-locale-nome { font-size:14px; font-weight:600; color:#333; margin:0 0 4px 0; }
.dl-locale-distanza { font-size:13px; color:#888; margin:0 0 24px 0; }
.dl-riders-list { display:flex; flex-direction:column; gap:12px; margin-bottom:24px; }
.dl-rider-btn { display:flex; align-items:center; gap:14px; padding:16px 20px; background:#f8f8f8; border:2px solid #e8e8e8; border-radius:10px; text-decoration:none; color:#1a1a1a; font-weight:600; font-size:15px; transition:all 0.2s; }
.dl-rider-btn:hover { border-color:#DA291C; background:#fff5f5; transform:translateX(4px); color:#DA291C; }
.dl-rider-icon { font-size:24px; } .dl-rider-nome { flex:1; } .dl-rider-arrow { color:#ccc; font-size:18px; }
.dl-rider-btn:hover .dl-rider-arrow { color:#DA291C; }
.dl-no-result { text-align:center; padding:10px 0; }
.dl-no-result-icon { font-size:48px; display:block; margin-bottom:16px; }
.dl-no-result h2 { margin-bottom:12px; } .dl-error-msg { color:#666; font-size:14px; margin-bottom:24px; }
.dl-btn-back { background:none; border:2px solid #e0e0e0; color:#666; padding:10px 20px; font-size:14px; border-radius:8px; cursor:pointer; transition:all 0.2s; }
.dl-btn-back:hover { border-color:#999; color:#333; }
@media (max-width:480px) { .dl-modal { align-items:flex-end; } .dl-modal-box { padding:28px 20px; border-radius:12px 12px 0 0; position:absolute; bottom:0; left:0; right:0; max-width:100%; width:100%; } }
