.dine-shell{max-width:560px;margin:0 auto}.dine-card{border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(#fffffffa,#fffaf4e0),#fff;border:1px solid #6b5b452e;padding:28px}.dine-card h2,.dine-header h2{margin:0 0 10px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.75rem,4vw,2.45rem);font-weight:400;line-height:1.05}.dine-copy{color:#5c6670;margin:0 0 16px}.dine-field{gap:6px;margin-bottom:14px;display:grid}.dine-field input,.dine-field select{border-radius:var(--radius-sm);background:#ffffffdb;border:1px solid #6b5b4538;min-height:48px;padding:10px 12px;transition:border-color .16s,box-shadow .16s,background .16s}.dine-field input:focus,.dine-field select:focus,.dine-search input:focus{border-color:var(--forest);outline:none;box-shadow:0 0 0 3px #3f5b351f}.dine-error{color:#b42318;margin:0 0 12px}.dine-browse{border-top:1px solid #ebe4d8;gap:10px;margin-top:18px;padding-top:18px;display:grid}.dine-browse p,.dine-notice{color:#5c6670;margin:0;font-size:.9rem;line-height:1.5}.dine-notice{background:#fffaf2;border:1px solid #9a7b4438;border-radius:8px;margin-bottom:14px;padding:12px 14px}.dine-verify-btn{width:100%;margin-top:10px}.dine-layout{grid-template-columns:minmax(0,700px) minmax(292px,340px);justify-content:center;align-items:start;gap:28px;width:min(1100px,100% - 48px);margin:0 auto;display:grid}.dine-menu{min-width:0}.dine-header{justify-content:space-between;gap:16px;margin-bottom:20px;display:flex}.dine-notification-card{border-radius:var(--radius);animation:soft-rise .26s var(--ease-out) both;background:linear-gradient(135deg,#fffaf4f5,#f7efe2bd),#fffaf2;border:1px solid #9a7b443d;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;padding:14px 16px;display:flex;box-shadow:0 14px 34px #3a30240f}.dine-notification-card strong,.dine-notification-card p{margin:0}.dine-notification-card strong{color:#453c32}.dine-notification-card p{color:#5c6670;margin-top:4px;font-size:.9rem;line-height:1.45}.dine-tools{gap:14px;margin-bottom:22px;display:grid}.dine-search{gap:6px;max-width:360px;display:grid}.dine-search label{color:#5c6670;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700}.dine-search input{border-radius:var(--radius-sm);background:#ffffffe6;border:1px solid #6b5b4538;min-height:46px;padding:10px 12px}.dine-filters{flex-wrap:wrap;gap:8px;display:flex}.dine-filters button{border-radius:var(--radius-sm);color:#453c32;cursor:pointer;background:#ffffffdb;border:1px solid #6b5b4533;min-height:34px;padding:0 12px;font-size:.72rem;font-weight:800;transition:background .16s,border-color .16s,color .16s,transform .16s}.dine-filters button:hover{border-color:#3f5b3552;transform:translateY(-1px)}.dine-filters button.active{background:var(--forest);border-color:var(--forest);color:#fff}.dine-category{margin-bottom:22px}.dine-category h3{letter-spacing:.04em;text-transform:uppercase;color:#6b5b4b;margin:0 0 12px;font-size:1rem}.dine-items{gap:12px;display:grid}.dine-empty{border-radius:var(--radius);color:#5c6670;background:#ffffffc2;border:1px dashed #6b5b4542;padding:18px}.dine-item{border-radius:var(--radius);background:linear-gradient(#fffffffa,#fffaf4c2),#fff;border:1px solid #6b5b4529;justify-content:space-between;gap:16px;padding:14px 16px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex;box-shadow:0 5px 16px #192a1e0a}.dine-item:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.dine-item-info{gap:4px;min-width:0;display:grid}.dine-item-info strong{max-width:100%;font-size:.98rem;line-height:1.3;display:block}.dine-item p{color:#5c6670;margin:0;font-size:.92rem}.dine-item-price{color:var(--forest);margin-top:3px;font-weight:800;display:block}.dine-qty{align-items:center;gap:10px;display:flex}.dine-qty button{cursor:pointer;background:#faf7f1;border:1px solid #c9b89a;border-radius:5px;width:32px;height:32px;transition:border-color .16s,background .16s,transform .16s}.dine-qty button:hover:not(:disabled){border-color:var(--forest);background:#eef4ec;transform:translateY(-1px)}.dine-cart{border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(#fffffffa,#f8faf7eb),#fff;border:1px solid #6b5b452e;padding:20px;position:sticky;top:24px}.dine-cart h3{margin:0 0 14px;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:400}.dine-cart-list{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.dine-cart-list li{justify-content:space-between;gap:12px;display:flex}.dine-total{margin:0 0 16px;font-size:1.05rem}.dine-orders{border-top:1px solid #ebe4d8;margin-top:20px;padding-top:16px}.dine-orders ul{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.dine-checkout{border-top:1px solid #ebe4d8;margin-top:20px;padding-top:16px}.dine-checkout h4{margin:0 0 8px}@media (max-width:900px){.dine-layout{grid-template-columns:1fr;gap:14px;width:min(100% - 24px,640px);padding-bottom:360px}.dine-cart{top:auto;left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom));z-index:60;overscroll-behavior:contain;border-color:#3f5b3538;max-height:min(380px,46svh);padding:16px;position:fixed;overflow:auto;box-shadow:0 -18px 44px #192a1e2e}.dine-header,.dine-notification-card{display:grid}}@media (max-width:560px){.dine-layout{width:min(100% - 20px,430px);padding-bottom:330px}.dine-shell{width:min(100% - 24px,420px);max-width:none}.dine-card{padding:20px;box-shadow:0 14px 34px #192a1e1a}.dine-copy{font-size:.9rem;line-height:1.5}.dine-field{margin-bottom:11px}.dine-field input,.dine-field select{min-height:44px}.dine-header{gap:12px;margin-bottom:14px}.dine-tools{gap:10px;margin-bottom:16px}.dine-search{max-width:none}.dine-search input{min-height:42px}.dine-filters{scrollbar-width:none;flex-wrap:nowrap;gap:6px;margin-inline:-12px;padding:0 12px 4px;overflow-x:auto}.dine-filters::-webkit-scrollbar{display:none}.dine-filters button{flex:none;min-height:31px;padding:0 10px;font-size:.66rem}.dine-category{margin-bottom:18px}.dine-category h3{margin-bottom:9px;font-size:.86rem}.dine-items{gap:9px}.dine-item{gap:10px;padding:11px 12px}.dine-item-info{gap:2px}.dine-item-info strong{font-size:.92rem}.dine-item p{font-size:.82rem;line-height:1.35}.dine-item-price{font-size:.86rem}.dine-qty{gap:7px}.dine-qty button{width:29px;height:29px}.dine-cart-list{gap:6px;max-height:88px;overflow:auto}.dine-cart-list li{font-size:.86rem}.dine-total{margin-bottom:12px}.dine-notice{padding:10px 12px;font-size:.82rem}.dine-orders,.dine-checkout{display:none}}
