.omde-root { font-family: inherit; padding: 12px; max-width: 720px; margin: 0 auto; }
.omde-title { font-size: 20px; margin-bottom: 8px; text-align: center; }
.omde-list { display: flex; flex-direction: column; gap: 8px; }
.omde-row { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px; border:1px solid #eee; border-radius:8px; background:#fff; }
.omde-left { display:flex; flex-direction: column; gap:4px; min-width:0; flex: 1; }
.omde-left-top { display:flex; align-items:center; gap:8px; }
.omde-stock { font-weight:700; min-width:38px; text-align:center; }
.omde-thumb { width:48px; height:48px; object-fit:cover; border-radius:4px; flex:0 0 48px; }
.omde-title-cell { font-size:14px; line-height:1.3; word-wrap:break-word; overflow-wrap:break-word; }
.omde-price { font-size:13px; margin-left:6px; white-space: nowrap; }
.omde-qty-controls { display: flex; align-items: center; gap: 4px; }
.omde-qty-btn { width: 32px; height: 32px; border: 1px solid #ddd; background: #f9f9f9; border-radius: 4px; cursor: pointer; display: flex; align-items: center; justify-content: center; font-weight: bold; }
.omde-qty-input { width: 50px; height: 32px; text-align: center; border: 1px solid #ddd; border-radius: 4px; font-size: 14px; }
.omde-add { padding:6px 8px; border-radius:6px; border:0; background:#0071a1; color: white; cursor:pointer; white-space: nowrap; }
.omde-add:disabled { background: #ccc; cursor: not-allowed; }
.omde-load-more-wrap { text-align:center; margin:12px 0; }
.omde-load-more { padding:8px 12px; }

/* fixed bottom */
.omde-bottom { position:fixed; left:0; right:0; bottom:0; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 12px; background:#fff; border-top:1px solid #ddd; box-shadow:0 -4px 14px rgba(0,0,0,0.03); z-index:9999; }
.omde-total { font-weight:700; }
.omde-buttons { display:flex; gap:8px; }
.omde-btn { padding:8px 10px; border-radius:6px; border:0; cursor:pointer; }
.omde-btn.primary { background:#0071a1; color:#fff; }

/* mobile-first layout: keep compact */
@media (max-width: 9000px) {
    .omde-row { padding:6px; }
    .omde-title { font-size:18px }
}

.omde-message { 
    position: fixed; 
    top: 20px; 
    left: 50%; 
    transform: translateX(-50%); 
    background: #333; 
    color: white; 
    padding: 10px 20px; 
    border-radius: 4px; 
    z-index: 10000; 
    font-size: 14px;
}