/* Resident Dining shares the quiet ivory and charcoal presentation of Amenities. */
#section-dining{max-width:none;font:16px/1.6 var(--font-body);color:var(--dark)}
#section-dining [hidden]{display:none!important}
#section-dining>.page-header{height:auto;min-height:0;max-width:1256px;margin:auto;padding:44px 44px 12px;border:0;background:none}
#section-dining>.page-header h2{font:500 44px/1.15 var(--font-heading);letter-spacing:-.015em;text-transform:none;color:var(--dark)}
#section-dining .breadcrumb{font:500 12px/1.5 var(--font-body);letter-spacing:.1em;color:var(--resident-soft);margin-bottom:10px}
#section-dining .dining-header-desc{font:400 15px/1.6 var(--font-body);color:var(--resident-soft);margin-top:12px}
#section-dining>.page-content{max-width:1256px;margin:auto;padding:20px 44px 80px}
#section-dining :is(h3,h4){text-transform:none;letter-spacing:0}
#section-dining :is(button,input,select,textarea){font-family:var(--font-body);letter-spacing:0;text-transform:none}
#section-dining :is(.btn,.btn-back,.btn-checkout,#diningRestaurantContext button,#diningRestaurantDirectory button){font:500 14px/1.5 var(--font-body);border-radius:8px;min-height:46px;padding:12px 16px}
#section-dining :is(.btn-checkout,.btn-primary){background:var(--dark);color:var(--ivory);border:1px solid var(--dark)}
#section-dining :is(.btn-back,.btn-ghost,#diningChangeRestaurant,#diningContextOrders,#diningAllOrders){background:transparent;color:var(--dark);border:1px solid var(--resident-line)}
#section-dining .dining-directory-heading{align-items:center;margin:8px 0 24px}
#section-dining #diningRestaurantsTitle{font:500 28px/1.3 var(--font-heading);margin:0 0 8px;outline:none}
#section-dining .dining-directory-heading p{font-size:14px;line-height:1.6;color:var(--resident-soft);margin:0;max-width:580px}
#diningRestaurantList{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:18px}
#section-dining .dining-restaurant-option{display:flex;flex-direction:column;align-items:stretch;gap:20px;margin:0;padding:24px;max-width:380px;background:var(--resident-paper);border:1px solid var(--resident-line);border-radius:12px}
#section-dining .dining-restaurant-option h3{font:500 27px/1.25 var(--font-heading);margin:0 0 14px;overflow-wrap:anywhere}
#section-dining .dining-restaurant-option p{font-size:14px;line-height:1.6;color:var(--resident-soft)}
#section-dining .dining-restaurant-option button{margin-top:auto;background:var(--dark);align-self:flex-start}
#section-dining .dining-saved-cart{font-size:13px;color:var(--dark)}
#section-dining #diningRestaurantContext{align-items:center;padding-bottom:24px;border-color:var(--resident-line);gap:10px}
#section-dining #diningRestaurantContext h3{font:500 32px/1.2 var(--font-heading);letter-spacing:0;outline:none;margin:4px 0 8px;overflow-wrap:anywhere}
#section-dining #diningSharedServiceFee{font-size:14px;color:var(--resident-soft);margin:0}
#section-dining #diningPrimaryTabs{display:flex;flex-wrap:wrap;gap:8px;border:0;margin:0 0 26px;padding:0}
#section-dining #diningPrimaryTabs .dining-tab{min-height:46px;font:500 14px/1.4 var(--font-body);border:1px solid var(--resident-line);border-radius:8px;padding:12px 16px;color:var(--resident-soft);background:none}
#section-dining #diningPrimaryTabs .dining-tab.active{background:var(--dark);color:var(--ivory);border-color:var(--dark)}
#section-dining .dining-program{margin:0 0 24px}
#section-dining .dining-program h3{font:500 26px/1.3 var(--font-heading)}
#section-dining .dining-category-title{font:500 25px/1.3 var(--font-heading)}
#section-dining #diningMenuTab .menu-card{background:var(--resident-paper);border-color:var(--resident-line)}
#section-dining :is(#diningMenuSearch,#diningRequestForm input,#diningRequestForm select,#diningRequestForm textarea,.special-instructions-textarea){min-height:50px;padding:12px 14px;font:400 16px/1.5 var(--font-body);background:var(--resident-paper);color:var(--dark);border:1px solid var(--resident-line);border-radius:8px}
#section-dining .dining-menu-search-field>span,#section-dining .form-label{font:500 13px/1.5 var(--font-body);letter-spacing:0;text-transform:none;color:var(--resident-soft)}
#section-dining .dining-menu-tools-meta{font-size:13px;color:var(--resident-soft)}
#section-dining .dining-cart-toggle{border:1px solid var(--resident-line);border-radius:8px;min-height:46px;font:500 14px var(--font-body)}
#section-dining .cart-panel{background:var(--resident-paper);border-color:var(--resident-line);border-radius:12px}
#section-dining .cart-header{font:500 25px/1.3 var(--font-heading);letter-spacing:0}
#section-dining .cart-item-name{font:600 15px/1.5 var(--font-body)}
#section-dining .cart-item-price,#section-dining .cart-item-notes{font-size:13px}
#section-dining .summary-row{font-size:14px;letter-spacing:0;text-transform:none}
#section-dining .summary-row.total{font:600 18px/1.5 var(--font-body)}
#section-dining #diningCheckoutView{max-width:800px;margin:auto;padding:28px;background:var(--resident-paper);border:1px solid var(--resident-line);border-radius:14px}
#section-dining .step-header{font:500 30px/1.3 var(--font-heading);letter-spacing:0;text-transform:none;margin-bottom:22px}
#section-dining .step-progress{gap:10px;margin-bottom:26px}
#section-dining .step-indicator{font:500 12px/1.5 var(--font-body);letter-spacing:0;text-transform:none;padding-top:10px;border-color:var(--resident-line)}
#section-dining .step-indicator.active{border-color:var(--dark)}
#section-dining .checkout-actions{gap:12px;margin-top:26px;flex-wrap:wrap}
#section-dining .destination-card{min-height:80px;border:1px solid var(--resident-line);border-radius:10px;background:var(--resident-paper);padding:18px;color:var(--dark)}
#section-dining .destination-card.selected{background:#eee8dc;border-color:#9e8c6b}
#section-dining .destination-name{font:600 16px/1.4 var(--font-body);letter-spacing:0;text-transform:none}
#section-dining #confirmationReview{padding:20px;border:1px solid var(--resident-line);border-radius:10px;box-shadow:none;background:none}
#section-dining .ready-time-display,#section-dining .warning-box{font:400 14px/1.6 var(--font-body);border-radius:8px;letter-spacing:0;padding:16px}
#section-dining .dining-checkout-note{font-size:14px;line-height:1.6}
#section-dining .confirmation-message{padding:16px 0}
#section-dining .confirmation-title{font:500 32px/1.3 var(--font-heading);letter-spacing:0;text-transform:none;outline:none}
#section-dining .confirmation-details{font:400 15px/1.6 var(--font-body);max-width:540px;margin:16px auto;color:var(--resident-soft)}
#section-dining .confirmation-order-id{font:400 12px/1.5 var(--font-body);overflow-wrap:anywhere;color:var(--resident-soft);letter-spacing:0}
#section-dining #diningOrdersTab{max-width:900px;margin:auto}
#section-dining .dining-orders-heading{font:500 28px/1.3 var(--font-heading);margin:0 0 18px}
#section-dining .order-item{padding:22px;margin:0 0 14px;background:var(--resident-paper);border:1px solid var(--resident-line);border-radius:12px;box-shadow:none;overflow-wrap:anywhere;cursor:pointer}
#section-dining .order-id{font:400 12px/1.5 var(--font-body);letter-spacing:0;text-transform:none;color:var(--resident-soft)}
#section-dining .order-summary{font:400 14px/1.6 var(--font-body);color:var(--resident-soft)}
#section-dining .dining-order-restaurant{font:600 17px/1.5 var(--font-body);margin:10px 0}
#section-dining .order-total{font:600 17px/1.5 var(--font-body);letter-spacing:0}
#section-dining .order-date{font-size:13px;color:var(--resident-soft)}
#section-dining .order-status-badge{font:500 12px/1.5 var(--font-body);letter-spacing:0;text-transform:none;padding:5px 10px;border-radius:20px;white-space:normal;background:#eeeae2;color:#625d55}
#section-dining .order-status-badge:is(.submitted,.confirmed,.preparing){background:#f2ead9;color:#735f39}
#section-dining .order-status-badge:is(.ready,.out_for_delivery,.picked_up,.delivered,.completed){background:#e8efe6;color:#3e5b3d}
#section-dining .order-status-badge.failed{background:#f4e9e5;color:#81483e}
#section-dining .dining-past-orders{margin:28px 0;padding-top:20px;border-top:1px solid var(--resident-line)}
#section-dining .dining-past-orders summary{font-size:15px;cursor:pointer;margin-bottom:18px}
#section-dining #orderDetail>.card{max-width:800px!important;padding:26px;border:1px solid var(--resident-line);border-radius:12px;background:var(--resident-paper)}
#section-dining #residentOrderDetailTitle{font:500 25px/1.3 var(--font-heading)!important;letter-spacing:0!important;text-transform:none!important;color:var(--dark)!important}
#section-dining :is(#diningRequestForm,.dining-offering){border:1px solid var(--resident-line);border-radius:12px;background:var(--resident-paper);padding:24px}
#section-dining .dining-item-modal{border-radius:14px;background:var(--resident-paper)}
#section-dining .dining-item-modal-title{font:500 30px/1.3 var(--font-heading);letter-spacing:0;text-transform:none}
#section-dining :is(button,a,input,textarea,select,summary):focus-visible{outline:2px solid #7d6943;outline-offset:3px}
@media(max-width:1000px){#section-dining>.page-header{padding:32px 26px 10px}#section-dining>.page-content{padding:20px 26px 80px}}
@media(max-width:600px){
 #section-dining>.page-header{padding:30px 20px 8px}#section-dining>.page-header h2{font-size:38px}#section-dining>.page-content{padding:18px 20px 110px}
 #section-dining .dining-directory-heading{align-items:flex-start;gap:14px}#section-dining #diningRestaurantList{grid-template-columns:minmax(0,1fr)}#section-dining .dining-restaurant-option{max-width:none;padding:22px}
 #section-dining #diningRestaurantContext{flex-wrap:wrap}#section-dining #diningRestaurantContext>div{flex-basis:100%}#section-dining #diningRestaurantContext h3{font-size:28px}
 #section-dining #diningCheckoutView{padding:22px 16px}#section-dining .step-header{font-size:27px}#section-dining .checkout-actions .btn-checkout{flex:1;min-width:0}
 #section-dining #confirmationReview{padding:16px}#section-dining .order-item{padding:18px}#section-dining #orderDetail>.card{padding:20px}
 #section-dining .order-header{gap:8px;align-items:flex-start}#section-dining .dining-menu-filters{flex-wrap:nowrap;overflow-x:auto}#section-dining .dining-menu-filters button{flex:0 0 auto}
}
#section-dining .step-indicator{height:auto;background:none;border-top:3px solid var(--resident-line);padding-top:9px}
#section-dining .step-indicator.active{background:none;border-color:var(--dark)}
#section-dining .step-indicator span{font:500 12px/1.5 var(--font-body);letter-spacing:0;text-transform:none;color:var(--resident-soft)}
#section-dining .step-indicator.active span{color:var(--dark)}
#section-dining .checkout-actions{flex-wrap:nowrap;align-items:center}
#section-dining .checkout-actions .btn-checkout{width:auto;flex:1}
#section-dining .checkout-actions .btn-back{flex:0 0 auto}
#section-dining .dining-review-label{font:500 13px/1.5 var(--font-body);color:var(--resident-soft);margin-bottom:12px}
#section-dining .dining-review-total{display:flex;justify-content:space-between;font:600 19px/1.5 var(--font-body)}
#section-dining .cart-item-price,#section-dining .cart-item-notes{color:var(--resident-soft)}
#section-dining .dining-cart-close{font:500 13px/1.5 var(--font-body);letter-spacing:0;text-transform:none;min-height:40px}
#section-dining #diningCartToggle{font:500 14px/1.5 var(--font-body);letter-spacing:0;text-transform:none}
#section-dining .qty-btn{width:32px;height:36px;border:1px solid var(--resident-line);border-radius:6px;background:transparent;color:var(--dark);font-size:16px}
#section-dining .btn-remove-item{min-width:28px;min-height:36px}
#section-dining .confirmation-message{background:#f1f4ee;border:1px solid #c6d2bf;border-radius:10px;padding:24px 18px}
@media(max-width:600px){#section-dining .checkout-actions{flex-wrap:wrap}#section-dining #checkoutConfirmation .checkout-actions{flex-direction:column;align-items:stretch}}
