/* Web menus (proof, Nov 2026): Hotel Prince palette, phone first (most guests arrive from the table QR code). */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.menu-hero{position:relative;min-height:300px;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.menu-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.menu-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#04424066 0%,#044240e6 75%)}
.menu-hero-copy{position:relative;padding:60px 0 30px}.menu-hero h1{color:#fff;font-size:clamp(54px,8vw,92px);margin:0}
.menu-sub{margin:0;font-size:18px;color:#e8f2f1;letter-spacing:.5px}
.menu-logo{width:110px;height:auto;margin-bottom:10px;filter:drop-shadow(0 4px 12px #0006)}
.menu-badge{display:inline-block;margin-top:12px;background:#ffffff1f;border:1px solid #ffffff55;border-radius:999px;padding:5px 12px;font-weight:700;font-size:13px}
.menu-bar{position:sticky;top:78px;z-index:15;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 6px 18px #04424012}
.menu-bar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;flex-wrap:wrap}
.menu-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.menu-tabs::-webkit-scrollbar{display:none}
.menu-tabs a{flex:none;text-decoration:none;font-weight:700;color:var(--teal);border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:14px;background:#fff;white-space:nowrap}
.menu-tabs a[aria-current]{background:var(--teal);color:#fff;border-color:var(--teal)}
.menu-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.menu-search input{min-height:42px;border:1px solid #c9d6d6;border-radius:999px;padding:8px 16px;font:inherit;width:220px}
.diet-buttons{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}
.diet-buttons button{border:0;background:transparent;padding:9px 14px;font:inherit;font-weight:700;font-size:14px;color:var(--teal);display:inline-flex;align-items:center;gap:6px;cursor:pointer;min-height:42px}
.diet-buttons button[aria-pressed=true]{background:var(--teal);color:#fff}
.diet{display:inline-block;width:14px;height:14px;border:2px solid;border-radius:3px;position:relative;flex:none;vertical-align:-2px;margin-right:6px}
.diet::after{content:'';position:absolute;inset:2px;border-radius:50%}
.diet.veg{border-color:#1a8a4a}.diet.veg::after{background:#1a8a4a}
.diet.nonveg{border-color:#a3342a}.diet.nonveg::after{background:#a3342a;border-radius:0;clip-path:polygon(50% 0,100% 100%,0 100%)}
.diet-buttons button[aria-pressed=true] .diet{border-color:#fff}.diet-buttons button[aria-pressed=true] .diet::after{background:#fff}
.menu-intro{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:18px 0 0}
.legend{margin:0;color:var(--muted);font-weight:600;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.menu-links{display:flex;gap:8px;margin:0}.menu-updated{margin:8px auto 0;color:var(--muted);font-size:13px}
.no-results{padding:30px 0;color:var(--muted);font-weight:600}
.menu-body{padding:10px 0 30px}.course{padding-top:36px;scroll-margin-top:150px}
.course-head{border-bottom:2px solid var(--copper);padding-bottom:8px;margin-bottom:18px}.course-head h2{margin:0}
.menu-section{margin:22px 0 34px;scroll-margin-top:150px}.menu-section h3{font-size:30px;margin:0 0 12px}
.section-photo{margin:0 0 14px}.section-photo img{width:100%;max-height:260px;object-fit:cover;border-radius:var(--radius)}
.group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.dish-group{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}
.dish-group h4{margin:0 0 8px;font:700 13px Inter,Arial,sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:var(--copper)}
.dish-group ul{list-style:none;margin:0;padding:0}
.dish{display:grid;grid-template-columns:1fr auto auto;gap:4px 14px;align-items:baseline;padding:10px 0;border-bottom:1px dashed #d7e4e3}.dish:last-child{border-bottom:0}
.dish-name{margin:0;font-weight:700;color:var(--ink);display:flex;align-items:baseline}
.dish-desc{margin:2px 0 0;color:var(--muted);font-size:14px}
.dish-portion{color:var(--muted);font-size:13px;white-space:nowrap}.dish-price{color:var(--teal);white-space:nowrap;font-size:16px}
.energy,.group-note{margin:8px 0 0;font-size:12px;color:var(--muted)}
.menu-notes{background:var(--copper-tint);border:1px solid #efd9c6;border-radius:var(--radius);padding:24px;margin:10px auto 60px}.menu-notes p{color:#5d2d0c;margin:0 0 8px}
.foodland .menu-hero-shade{background:linear-gradient(180deg,#04424055 0%,#044240ee 80%)}
@media(max-width:900px){.menu-bar{top:72px}.group-grid{grid-template-columns:1fr}.menu-search input{width:100%}.menu-tools{width:100%}.menu-search{flex:1}}
@media(max-width:600px){.menu-hero{min-height:240px}.dish{grid-template-columns:1fr auto}.dish-portion{grid-column:1;grid-row:2;order:3}.dish-price{grid-row:1/3;grid-column:2;align-self:center}.diet-buttons{width:100%}.diet-buttons button{flex:1;justify-content:center;padding:9px 6px}}
/* Menu pages are for diners at the table: no booking bar. */
.menu-page .mobile-book{display:none}.menu-page{padding-bottom:0}
@media(max-width:600px){.diet-buttons button{font-size:13px;white-space:nowrap;gap:4px}.diet-buttons .diet{margin-right:2px}}
/* Food Land has six cuisine buttons: they scroll sideways on narrow screens instead of being cut off. */.foodland .choice-buttons{overflow-x:auto;scrollbar-width:none;max-width:100%;flex-wrap:nowrap}.foodland .choice-buttons::-webkit-scrollbar{display:none}.foodland .choice-buttons button{flex:none;white-space:nowrap}
