/* Café-specific layout: clear menu categories and an easy-to-scan price column. */
.cafe-page .cafe-highlights{background:var(--cafe-deep);padding-block:56px;color:var(--cream)}
.cafe-page .cafe-highlights h2{color:var(--cream)}
.cafe-highlights .sec-head{margin-bottom:28px}
.cafe-highlights .perk-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;border:0;padding:0;list-style:none}
.cafe-highlights .perk{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:0;min-width:0;text-align:left}
.cafe-highlights .perk>.ico{display:block;flex:none;width:30px;height:30px;color:var(--sand);stroke-width:1.8}
.cafe-highlights .perk b{font-size:1.0625rem;line-height:1.5;white-space:normal;color:var(--cream)}
.cafe-page .menu-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;overflow:visible;margin:0 0 24px;padding:0}
.cafe-page .menu-nav a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 16px;text-align:center;font-size:1rem;line-height:1.4;background:var(--sand);color:var(--cafe-deep);border:0;border-radius:12px;white-space:normal}
.cafe-page .menu-nav a:hover,.cafe-page .menu-nav a[aria-selected="true"]{background:var(--cafe-deep);color:white}
.cafe-menu-browser :focus-visible{outline:3px solid var(--cafe-deep);outline-offset:4px}
.cafe-page .menu-panel{background:#fffdf9;border:1px solid var(--cafe-line);border-radius:24px;padding:8px 36px;margin-bottom:24px;scroll-margin-top:calc(var(--site-header-offset,90px) + 24px)}
.cafe-page .menu-panel[hidden]{display:none}
.cafe-page .menu-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);column-gap:48px;margin:0;padding:32px 0;background:none;border:0;border-bottom:1px solid var(--cafe-line);border-radius:0;box-shadow:none;min-width:0;scroll-margin-top:calc(var(--site-header-offset,90px) + 24px)}
.cafe-page .menu-section:last-child{border-bottom:0}
.cafe-page .menu-section>h3{grid-column:1;grid-row:1/span 3;font-size:1.625rem;line-height:1.3;margin:0;padding:0;border:0}
.cafe-page .menu-section>.menu-list,.cafe-page .menu-section>.note,.cafe-page .menu-section>.menu-addons{grid-column:2;min-width:0}
.cafe-page .menu-list{display:grid;gap:0}
.cafe-page .menu-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--cafe-line)}
.cafe-page .menu-item:first-child{padding-top:0}
.cafe-page .menu-item:last-child{border-bottom:0;padding-bottom:0}
.cafe-page .menu-item .name{grid-column:1;font-size:1.0625rem;line-height:1.45;font-weight:800;overflow-wrap:break-word}
.cafe-page .menu-item .cost{display:block;grid-column:2;order:0;font-size:1.0625rem;font-weight:800;text-align:right;white-space:nowrap;line-height:1.45}
.cafe-page .menu-item .cost::before{display:none}
.cafe-page .menu-item .desc{grid-column:1/-1;order:0;font-size:1rem;line-height:1.6;max-width:58ch}
.cafe-page .menu-addons{margin-top:22px;padding:14px 16px;background:var(--cream);border-radius:10px;font-size:.9375rem;line-height:1.6}
.cafe-page .menu-item .diet,.cafe-page .keys .diet{font-size:.875rem}
.cafe-cakes .about-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center}
.cafe-page .cakes-shot{width:min(100%,340px);justify-self:center;border-radius:24px;overflow:hidden;box-shadow:none}
.cafe-page .cakes-shot img{display:block;width:100%;height:auto;border-radius:24px}
.cafe-page .cafe-shots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1000px;margin-inline:auto}
.cafe-page .cafe-shots figure{position:static;margin:0;padding:0;background:none;border-radius:0;box-shadow:none;transform:none;overflow:visible;min-width:0}
.cafe-page .cafe-shots img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:24px;transform:none}
.cafe-page .cafe-shots figcaption{position:static;margin:14px 0 0;padding:0;background:none;color:var(--cafe-deep);font-family:var(--body);font-size:1rem;line-height:1.5;text-align:left;white-space:normal;overflow:visible;text-overflow:clip;transform:none}
@media(max-width:64rem){.cafe-highlights .perk-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:60rem){.cafe-cakes .about-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:48rem){.cafe-page .menu-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.cafe-page .menu-section{grid-template-columns:minmax(0,1fr);gap:18px}.cafe-page .menu-section>h3{grid-row:auto}.cafe-page .menu-section>.menu-list,.cafe-page .menu-section>.note,.cafe-page .menu-section>.menu-addons{grid-column:1}.cafe-page .cakes-shot{width:min(100%,300px)}}
@media(max-width:40rem){.cafe-page .cafe-shots{grid-template-columns:minmax(0,1fr);gap:32px}}
@media(max-width:35rem){.cafe-highlights .perk-strip{grid-template-columns:minmax(0,1fr);gap:20px}.cafe-highlights .perk{flex-direction:row;align-items:center}.cafe-highlights .perk-strip li:last-child{grid-column:auto}.cafe-page .menu-panel{padding:0 18px}.cafe-page .menu-section{padding:24px 0}.cafe-page .menu-item{column-gap:12px}.cafe-page .menu-nav a{padding:12px 10px}.cafe-page .cakes-shot{width:min(100%,280px)}}

/* Keep the desktop café highlights in one balanced, clearly separated row. */
@media(min-width:64.01rem){
  .cafe-page .cafe-highlights{padding-block:44px}
  .cafe-highlights .sec-head{display:block;max-width:none;text-align:center;margin-bottom:32px}
  .cafe-highlights h2{font-size:2.25rem;line-height:1.2}
  .cafe-highlights .perk-strip{gap:0;align-items:stretch}
  .cafe-highlights .perk{align-items:center;justify-content:flex-start;text-align:center;padding:8px 24px;gap:16px;border-left:1px solid rgba(255,255,255,.22)}
  .cafe-highlights .perk:first-child{border-left:0}
  .cafe-highlights .perk b{max-width:16ch;font-size:1rem;line-height:1.5;text-wrap:balance}
}
