#section-dining .dining-program{margin:16px 0;padding:20px;border:1px solid var(--sand-light,#ddd);border-radius:12px}#section-dining .dining-program h3{font-size:1.5rem}#section-dining .dining-program p{margin:10px 0;white-space:pre-line}.dining-offering{border:1px solid #ddd;border-radius:12px;padding:18px;margin:16px 0}#diningRequestForm{padding:20px;border:1px solid #ddd;border-radius:12px}#diningRequestForm label{display:block;margin:14px 0}#diningRequestForm input,#diningRequestForm select,#diningRequestForm textarea{display:block;width:100%;max-width:540px;padding:10px;box-sizing:border-box}#diningPrimaryTabs [hidden]{display:none!important}#diningProgramIntro{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}#section-dining .menu-card-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}#section-dining .menu-card-photo{width:100%;height:220px;object-fit:cover}#section-dining button:disabled{opacity:.55}
#section-dining .dining-offering{box-sizing:border-box;max-width:100%;overflow-wrap:anywhere}#section-dining .dining-offering p{white-space:normal;margin:10px 0}#section-dining [role=status]{box-sizing:border-box;max-width:100%;white-space:normal;overflow-wrap:anywhere}#section-dining .dining-offering button,#diningRequestForm button,#diningRequestHistory>button,#diningShopBottles,#section-dining .menu-card-footer button{border:1px solid var(--graphite,#262623);background:var(--graphite,#262623);color:var(--ivory,#fff);border-radius:6px;padding:10px 16px;min-height:40px;cursor:pointer;font:inherit;font-size:13px;margin:8px 4px 0 0}#section-dining .dining-program a{display:inline-block;padding:10px 0;text-underline-offset:4px}#section-dining button:focus-visible{outline:2px solid var(--sand,#ad956a);outline-offset:3px}#diningGroupRequests label{display:block;margin:10px 0}#diningGroupRequests input,#diningGroupRequests textarea,#diningGroupRequests select{display:block;max-width:100%;padding:8px;box-sizing:border-box}
#diningRestaurantDirectory[hidden],#diningRestaurantContext[hidden]{display:none!important}.dining-directory-heading{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:24px}.dining-directory-heading h3{font-size:24px}.dining-directory-heading p{max-width:600px;color:var(--muted)}.dining-restaurant-option{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;border:1px solid var(--sand-light,#ddd);border-radius:12px;margin:16px 0;background:white}.dining-restaurant-option h3{font-size:22px;margin:0 0 10px}.dining-restaurant-option p{margin:6px 0;color:var(--muted)}.dining-saved-cart{font-weight:600;color:var(--graphite)!important}#diningRestaurantContext{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--sand-light,#ddd);padding:0 0 20px;margin-bottom:24px}#diningRestaurantContext>div{flex:1}#diningRestaurantContext span{font-size:12px;color:var(--muted)}#diningRestaurantContext h3{font-size:24px;margin:4px 0}.dining-order-restaurant{font-weight:650;margin:10px 0;overflow-wrap:anywhere}#diningRestaurantContext button,#diningRestaurantDirectory button{background:var(--graphite,#262623);color:white;border:0;padding:12px 18px;border-radius:8px;font:inherit;font-size:14px;cursor:pointer;min-height:42px}@media(max-width:700px){.dining-directory-heading,.dining-restaurant-option,#diningRestaurantContext{flex-wrap:wrap}.dining-restaurant-option>div{width:100%}#diningRestaurantContext>div{flex-basis:100%}}

/* Platform menu: compact cards, grouped by the building's configured categories. */
#section-dining{max-width:1180px;margin-inline:auto}
#section-dining #diningMenuTab #menuGrid{display:block;margin:0;min-width:0}
#section-dining .dining-menu-category{margin:0 0 32px;min-width:0}
#section-dining .dining-category-title{font:600 21px/1.3 var(--font-body,sans-serif);letter-spacing:0;text-transform:none;margin:0 0 16px;color:var(--graphite)}
#section-dining .dining-category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:20px;align-items:stretch}
#section-dining #diningMenuTab .menu-card{display:flex;flex-direction:column;align-self:stretch;gap:0;min-height:0;min-width:0;max-width:360px;padding:18px;border:1px solid var(--sand-light,#ddd);border-radius:12px;background:#fff;box-shadow:none;transition:none;overflow-wrap:anywhere}
#section-dining #diningMenuTab .menu-card-visual{flex:none;display:block;grid-area:auto;width:100%;height:auto;min-height:0;aspect-ratio:4/3;margin:0 0 16px;border:0;border-radius:7px;overflow:hidden;background:#f5f3ee}
#section-dining #diningMenuTab .menu-card-photo,#section-dining #diningMenuTab .menu-card:hover .menu-card-photo,#section-dining #diningMenuTab .menu-card:focus-within .menu-card-photo{display:block;position:static;width:100%;height:100%;object-fit:cover;transform:none;transition:none;will-change:auto}
#section-dining #diningMenuTab .menu-card-title{flex:none;font:600 18px/1.35 var(--font-body,sans-serif);letter-spacing:0;text-transform:none;margin:0 0 10px;color:var(--graphite)}
#section-dining #diningMenuTab .dining-item-description{font-size:14px;line-height:1.55;color:var(--muted,#666);margin:0 0 14px;white-space:normal}
#section-dining #diningMenuTab .dining-item-tags{font-size:12px;line-height:1.5;color:var(--muted,#666);margin:0 0 14px}
#section-dining #diningMenuTab .menu-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-top:auto;padding:8px 0 0;border:0}
#section-dining #diningMenuTab .menu-card-footer button{margin:0;min-height:44px;border-radius:8px;padding:10px 18px;font-size:14px}
#section-dining .dining-program{background:transparent;border:0;padding:0;margin:8px 0 24px;max-width:700px}
#section-dining .dining-program h3{font:600 24px/1.3 var(--font-body,sans-serif);letter-spacing:0;text-transform:none;margin:0 0 12px}
#section-dining .dining-program p{font-size:14px;line-height:1.55;margin:8px 0;color:var(--muted,#666)}
#section-dining .dining-menu-tools{background:transparent;padding:0 0 12px;gap:18px}
#section-dining #diningMenuSearch{border-radius:8px;font-size:14px}
#section-dining .dining-menu-filters{padding:0 0 20px;margin-bottom:24px;gap:8px}
#section-dining .dining-menu-filters .dining-tab{border-radius:20px;font-size:13px;letter-spacing:0;text-transform:none;padding:9px 15px;min-height:40px}
@media(max-width:600px){#section-dining .dining-category-grid{grid-template-columns:minmax(0,1fr);gap:16px}#section-dining #diningMenuTab .menu-card{max-width:none}#section-dining .dining-category-title{font-size:20px}#section-dining .dining-menu-category{margin-bottom:28px}}

#section-dining #diningMenuTab .menu-card-visual::before,#section-dining #diningMenuTab .menu-card-visual::after{content:none}
#section-dining .dining-menu-filters .dining-tab:not(.active){color:var(--muted,#666);background:#fff}

#residentServiceCharges{max-width:960px}.service-charge-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:20px 0;border-top:1px solid var(--sand-light,#ddd);overflow-wrap:anywhere}.service-charge-row>p,.service-charge-row>details{grid-column:1/-1;font-size:14px;color:var(--muted,#666);margin:0}.service-charge-row summary{cursor:pointer}.service-charge-row details p{overflow-wrap:anywhere}#servicePaymentInstructions{white-space:pre-line}#serviceChargesMore{padding:12px 18px;border:1px solid var(--sand-light,#ddd);border-radius:8px;background:white;cursor:pointer}
