/* ===== DELIVERY WHATSAPP - CARDÁPIO PÚBLICO ===== */
:root { --dw-primary: #25D366; --dw-primary-dark: #128C7E; --dw-radius: 12px; --dw-shadow: 0 2px 12px rgba(0,0,0,.10); }

* { box-sizing: border-box; }

#dw-app { font-family: 'Segoe UI', Arial, sans-serif; max-width: 1100px; margin: 0 auto; padding: 16px; }

.dw-closed { text-align:center; padding:60px 20px; background:#fff3cd; border-radius:var(--dw-radius); }
.dw-closed span { font-size:48px; }
.dw-closed p { font-size:18px; color:#856404; margin-top:12px; }

.dw-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
.dw-tab { padding:8px 18px; border:2px solid var(--dw-primary); border-radius:30px; background:#fff; color:var(--dw-primary); font-weight:600; cursor:pointer; transition:.2s; font-size:14px; }
.dw-tab.active, .dw-tab:hover { background:var(--dw-primary); color:#fff; }

.dw-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:20px; }

.dw-card { background:#fff; border-radius:var(--dw-radius); box-shadow:var(--dw-shadow); overflow:hidden; display:flex; flex-direction:column; transition:transform .2s; }
.dw-card:hover { transform:translateY(-3px); }
.dw-card.hidden { display:none; }

.dw-card-img { width:100%; height:180px; object-fit:cover; }
.dw-no-img { width:100%; height:140px; display:flex; align-items:center; justify-content:center; font-size:52px; background:#f8f9fa; }

.dw-card-body { padding:14px; flex:1; display:flex; flex-direction:column; gap:6px; }
.dw-card-name { font-size:16px; font-weight:700; margin:0; color:#222; }
.dw-card-desc { font-size:13px; color:#666; margin:0; flex:1; line-height:1.5; }
.dw-card-footer { display:flex; align-items:center; justify-content:space-between; margin-top:10px; }
.dw-price { font-size:18px; font-weight:800; color:var(--dw-primary); }

.dw-btn-add { background:var(--dw-primary); color:#fff; border:none; border-radius:8px; padding:8px 16px; font-size:14px; font-weight:700; cursor:pointer; transition:.2s; }
.dw-btn-add:hover { background:var(--dw-primary-dark); }

.dw-cart-fab { position:fixed; bottom:24px; right:24px; background:var(--dw-primary); color:#fff; border:none; border-radius:50px; padding:14px 24px; font-size:15px; font-weight:700; cursor:pointer; box-shadow:0 4px 20px rgba(37,211,102,.45); z-index:999; transition:.2s; }
.dw-cart-fab:hover { background:var(--dw-primary-dark); transform:scale(1.05); }

.dw-modal { position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:1000; display:flex; align-items:flex-end; justify-content:center; }
@media(min-width:600px){ .dw-modal { align-items:center; } }

.dw-modal-box { background:#fff; border-radius:var(--dw-radius) var(--dw-radius) 0 0; width:100%; max-width:560px; max-height:92vh; overflow-y:auto; padding:24px; display:flex; flex-direction:column; gap:14px; }
@media(min-width:600px){ .dw-modal-box { border-radius:var(--dw-radius); } }

.dw-modal-header { display:flex; justify-content:space-between; align-items:center; }
.dw-modal-header h2 { margin:0; font-size:20px; }
#dw-close-modal { background:none; border:none; font-size:28px; cursor:pointer; color:#666; line-height:1; }

.dw-cart-item { display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid #f0f0f0; }
.dw-cart-item-name { flex:1; font-weight:600; font-size:14px; }
.dw-cart-item-price { font-size:13px; color:#888; }
.dw-qty-controls { display:flex; align-items:center; gap:6px; }
.dw-qty-btn { width:28px; height:28px; border-radius:50%; border:2px solid var(--dw-primary); background:#fff; color:var(--dw-primary); font-size:16px; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:.2s; }
.dw-qty-btn:hover { background:var(--dw-primary); color:#fff; }
.dw-qty-val { font-weight:700; min-width:20px; text-align:center; }
.dw-item-total { font-weight:700; color:var(--dw-primary); min-width:60px; text-align:right; }

.dw-coupon-row { display:flex; gap:8px; }
.dw-coupon-row input { flex:1; border:2px solid #ddd; border-radius:8px; padding:8px 12px; font-size:14px; }
.dw-coupon-row input:focus { outline:none; border-color:var(--dw-primary); }
#dw-apply-coupon { background:var(--dw-primary); color:#fff; border:none; border-radius:8px; padding:8px 16px; font-weight:700; cursor:pointer; }
#dw-coupon-msg { margin:0; font-size:13px; }
#dw-coupon-msg.success { color:var(--dw-primary); }
#dw-coupon-msg.error { color:#dc3545; }

.dw-totals { background:#f8f9fa; border-radius:10px; padding:14px; display:flex; flex-direction:column; gap:6px; }
.dw-total-line { display:flex; justify-content:space-between; font-size:14px; color:#555; }
.dw-total-bold { font-size:18px; font-weight:800; color:#222; margin-top:6px; padding-top:10px; border-top:2px solid #dee2e6; }

.dw-form { display:flex; flex-direction:column; gap:10px; }
.dw-form h3 { margin:0; font-size:16px; }
.dw-form input, .dw-form textarea { border:2px solid #ddd; border-radius:8px; padding:10px 14px; font-size:14px; font-family:inherit; resize:vertical; }
.dw-form input:focus, .dw-form textarea:focus { outline:none; border-color:var(--dw-primary); }

.dw-btn-whatsapp { background:var(--dw-primary); color:#fff; border:none; border-radius:10px; padding:14px; font-size:16px; font-weight:800; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:8px; transition:.2s; }
.dw-btn-whatsapp:hover { background:var(--dw-primary-dark); }
.dw-btn-whatsapp:disabled { opacity:.6; cursor:not-allowed; }

.dw-empty-cart { text-align:center; padding:30px; color:#aaa; }
.dw-empty-cart span { font-size:40px; display:block; margin-bottom:8px; }
