/* Menu cards follow the owner's preferred homepage favourites treatment. */
#menu{background:#fffdf8;border-top:1px solid #e4dfd5}
#menu .section-heading{margin-bottom:40px}
#menu .fresh-menu-intro{margin-bottom:20px}
#menu .fresh-menu-grid{gap:28px}
#menu .fresh-menu-card{border:1px solid #ddd8ce;border-radius:22px;box-shadow:none;transition:border-color .2s,transform .2s}
#menu .fresh-menu-card:hover{box-shadow:none;transform:translateY(-2px);border-color:#b5aa97}
#menu .fresh-menu-photo{border:0;aspect-ratio:1}
#menu .fresh-menu-photo-large{aspect-ratio:1}
#menu .fresh-menu-photo-large img{object-position:50% 100%}
#menu .fresh-menu-badge{border-radius:5px;transform:rotate(-2deg);font-size:.75rem;letter-spacing:.035em;padding:7px 11px}
#menu .fresh-menu-copy{padding:24px 25px 26px}
#menu .fresh-menu-copy h3{font-size:clamp(1.55rem,2.15vw,2rem);line-height:1.13;letter-spacing:-.025em}
#menu .fresh-menu-copy>p{font-size:.95rem;line-height:1.65}
#menu .fresh-menu-link{border-top:0;padding-top:4px;color:#2549cd}
#menu .menu-quick-picks{margin:32px 0 16px}
#menu .category-links a{background:white;border:1px solid #d8d3c8;color:#37372f;transition:background .18s,border-color .18s}
#menu .category-links a:hover,#menu .category-links a:focus-visible{background:#ffefad;border-color:#bea552}
#menu .menu-discovery-note{margin:0 0 42px;max-width:680px;line-height:1.65}
#menu .menu-drawer{border:0;border-top:1px solid #d8d3c8;border-radius:0;box-shadow:none;background:transparent;overflow:visible}
#menu .menu-drawer>summary{padding:30px 0 24px;background:transparent;border:0;gap:20px}
#menu .menu-drawer>summary>span{font:700 clamp(1.65rem,2.7vw,2.4rem)/1.15 var(--serif);letter-spacing:-.035em}
#menu .menu-drawer>summary>small{font-size:.875rem;color:#6c695f}
#menu .menu-drawer>summary:after{width:34px;height:34px;display:grid;place-items:center;border:1px solid #ddd7c8;border-radius:50%;font-size:1.4rem;background:white}
#menu .menu-drawer-content{padding:0}
#menu .catalogue-layout{display:block}
#menu .catalogue-intro{margin-bottom:42px;padding:26px;background:#f5f1e7;border:1px solid #e7dfce;border-radius:18px}
#menu .menu-browse-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
#menu .menu-browse-head h3{font:700 1.45rem/1.25 var(--serif);letter-spacing:-.025em;margin:0 0 6px}
#menu .menu-browse-head .menu-overview{font-size:.8rem;color:#6c695f;margin:0;font-weight:500}
#menu .menu-browse-head>.text-link{font-size:.85rem;min-height:44px;display:inline-flex;align-items:center;color:#2549cd}
#menu .catalogue-intro>.category-links{gap:8px;margin:0 0 24px}
#menu .catalogue-intro>.category-links a{font-size:.82rem;padding:10px 14px;line-height:1.3;min-height:40px;display:inline-flex;align-items:center}
#menu .menu-service-row{display:flex;align-items:center;gap:25px;border-top:1px solid #e0d7c4;padding-top:20px}
#menu .catalogue-note{font-size:.8rem;color:#6c695f;line-height:1.6;max-width:480px;margin:0}
#menu .menu-order{margin:0 0 0 auto;gap:9px;flex-shrink:0;align-items:center}
#menu .menu-order .button{padding:11px 13px;font-size:.8rem;gap:8px;min-height:44px;border:0;border-radius:8px;box-shadow:none;white-space:nowrap}
#menu .menu-order>.text-link{display:none}
#menu .catalogue-groups{gap:28px}
#menu .catalogue-group{border:0;border-radius:0;background:transparent;overflow:visible;scroll-margin-top:110px}
#menu .catalogue-group>summary,#menu .catalogue-group[open]>summary{padding:18px 0 22px;background:transparent;border:0;border-bottom:1px solid #ddd8ce;gap:15px;min-height:72px}
#menu .catalogue-group>summary .category-index{color:#2549cd;font-size:.9rem;align-self:center}
#menu .catalogue-group>summary .category-title{font-size:clamp(1.55rem,2.5vw,2.15rem);line-height:1.18;letter-spacing:-.035em}
#menu .catalogue-group>summary .category-count{font-size:.8rem;color:#6c695f}
#menu .catalogue-group>summary:after{background:transparent;border:1px solid #d4ccbb;width:30px;height:30px;font-size:1.3rem}
#menu .catalogue-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px;padding:25px 0 6px}
#menu .catalogue-items>.menu-dish-card{display:block;min-width:0;padding:0;overflow:hidden;background:#fff;border:1px solid #ddd8ce;border-radius:20px;box-shadow:0 5px 18px #3d2e1805;line-height:1.5;overflow-wrap:normal}
#menu .menu-card-visual{width:100%;min-width:0;height:auto;aspect-ratio:1;background:#f6f3e9;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;border-bottom:1px solid #f0ede5}
/* One square frame for every item. Fit the whole dish at a consistent visual scale. */
/* Kopitiam tabletop: burgundy gingham, marble and a walnut edge.
   The original catalogue photos blend over the shared backdrop; their crop
   and scale stay unchanged. Lifestyle photographs retain their real setting. */
.menu-display-filters{position:absolute;pointer-events:none;overflow:hidden}
#menu .menu-card-visual-catalogue{background:#f4f0eb url("/assets/menu/kopitiam-tabletop-v1.webp") center/cover no-repeat;isolation:isolate;border-bottom:2px solid #b08a4b}
#menu .menu-card-visual-catalogue>.item-photo,#menu .menu-card-visual-catalogue>.menu-cup-photo{filter:var(--menu-photo-filter,none);mix-blend-mode:multiply}
#menu .menu-card-visual-catalogue>.item-photo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:var(--menu-photo-width,94%);height:var(--menu-photo-height,94%);max-width:none;border-radius:0;margin:0;background:transparent}
#menu .menu-card-visual-catalogue>.menu-cup-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;display:block}
#menu .menu-cup-photo img{position:static;width:100%;height:100%;object-fit:contain}
#menu .menu-card-visual-original>.dish-photo,#menu .menu-card-visual-original>.supplier-photo{width:100%;max-width:none;height:100%;aspect-ratio:auto!important;margin:0;border-radius:0;align-self:stretch}
#menu .menu-card-visual-original>.dish-photo img{object-fit:cover;object-position:50% 55%;width:100%;height:100%}
#menu .menu-card-visual-original>.dish-photo-large img{object-position:50% 100%}
#menu .menu-card-visual-original>.supplier-photo img{position:static;object-fit:cover!important;width:100%!important;height:100%!important}
#menu .menu-card-body{padding:23px 24px 26px}
#menu .menu-card-body>.menu-item-name{display:block;font:700 1.4rem/1.2 var(--serif);letter-spacing:-.025em;margin:0 0 12px;color:#252520;overflow-wrap:break-word}
#menu .menu-card-body>.menu-item-price{display:inline-block;font-size:1.05rem;font-weight:700;color:#a91e36;margin:0 0 12px;line-height:1.3}
#menu .menu-card-body>.menu-description{font-size:.92rem;line-height:1.65;color:#656157;margin:0}
#menu .menu-card-body>small{display:block;font-size:.8rem;line-height:1.5;color:#6e685d;font-weight:500;margin-top:12px}
#menu .menu-dish-card-text .menu-card-body{padding-block:25px}
#menu .fries-option{margin:22px -24px -26px;border:0;border-top:1px solid #e3dbc9;padding:0;border-radius:0;overflow:hidden;background:#faf7ef}
#menu .fries-option>.dish-photo{border-radius:0;aspect-ratio:1;margin:0;max-width:none}
#menu .fries-option>div{padding:22px 24px 26px}
#menu .fries-option h4{font-size:1.05rem;line-height:1.3}
#menu .fries-option p{font-size:.82rem;line-height:1.6}
#menu .fries-option .text-link{font-size:.82rem;color:#2549cd}
#menu .menu-dish-card:target{outline:2px solid #d5ad2d;outline-offset:5px}
@media(max-width:1150px){#menu .catalogue-items{grid-template-columns:repeat(2,minmax(0,1fr))}#menu .menu-service-row{align-items:flex-start;flex-direction:column;gap:16px}#menu .menu-order{margin:0}#menu .catalogue-note{max-width:none}}
@media(max-width:680px){
 #menu .section-heading{margin-bottom:28px}
 #menu .fresh-menu-grid{gap:24px}
 #menu .fresh-menu-photo,#menu .fresh-menu-photo-large{aspect-ratio:1}
 #menu .fresh-menu-copy{padding:23px 24px 26px}
 #menu .fresh-menu-copy h3{font-size:1.8rem}
 #menu .fresh-menu-meta{margin-bottom:12px}
 #menu .fresh-menu-copy>p{font-size:.95rem}
 #menu .menu-quick-picks{gap:8px}
 #menu .menu-quick-picks a{font-size:.78rem;padding:10px 12px}
 #menu .menu-discovery-note{font-size:.84rem;margin-bottom:28px}
 #menu .menu-drawer>summary{padding:25px 0 20px;gap:12px}
 #menu .menu-drawer>summary>span{font-size:1.65rem}
 #menu .menu-drawer>summary>small{font-size:.8rem}
 #menu .menu-drawer-content{padding:0}
 #menu .catalogue-intro{padding:20px 18px;margin-bottom:26px;border-radius:16px}
 #menu .menu-browse-head{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:15px}
 #menu .menu-browse-head h3{font-size:1.35rem}
 #menu .menu-browse-head>.text-link{font-size:.8rem}
 #menu .catalogue-intro>.category-links{margin-bottom:18px;gap:7px}
 #menu .catalogue-intro>.category-links a{padding:8px 11px;font-size:.78rem;min-height:38px}
 #menu .menu-service-row{padding-top:16px;gap:14px}
 #menu .catalogue-note{font-size:.75rem}
 #menu .menu-order{width:100%;gap:9px;display:grid;grid-template-columns:1fr}
 #menu .menu-order .button{width:100%;justify-content:space-between;font-size:.82rem;padding:12px 14px}
 #menu .catalogue-groups{gap:20px}
 #menu .catalogue-group>summary,#menu .catalogue-group[open]>summary{padding:17px 0 19px;gap:10px;min-height:72px;flex-wrap:nowrap}
 #menu .catalogue-group>summary .category-title{font-size:1.55rem;flex:1;flex-basis:auto}
 #menu .catalogue-group>summary .category-index{font-size:.78rem}
 #menu .catalogue-group>summary .category-count{display:none}
 #menu .catalogue-group>summary:after{width:27px;height:27px;flex-shrink:0}
 #menu .catalogue-items{grid-template-columns:1fr;gap:22px;padding:20px 0 0}
 #menu .catalogue-items>.menu-dish-card{border-radius:20px}
 #menu .menu-card-visual{height:auto;aspect-ratio:1}
 #menu .fries-option{margin-bottom:-25px}
 #menu .menu-card-body{padding:22px 24px 25px}
 #menu .menu-card-body>.menu-item-name{font-size:1.5rem;line-height:1.22;margin-bottom:12px}
 #menu .menu-card-body>.menu-item-price{font-size:1.08rem;margin-bottom:13px}
 #menu .menu-card-body>.menu-description{font-size:.95rem;line-height:1.65}
 #menu .menu-dish-card-text .menu-card-body{padding-block:24px}
}
@media(prefers-reduced-motion:reduce){#menu .fresh-menu-card{transition:none}#menu .fresh-menu-card:hover{transform:none}}
