/* Restaurant content and owner area */
.holiday-banner{background:#a34f35;color:#fff6e9;padding:25px 0}.holiday-banner .wrap{display:flex;align-items:center;gap:25px}.holiday-banner strong{font-family:var(--serif);font-size:26px;display:block;font-weight:400}.holiday-banner p{font-size:13px}.holiday-banner .holiday-icon{font-size:40px}.dish-title{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.dish-price{font:16px var(--sans);white-space:nowrap;color:#ddcba5}.full-menu-dialog{width:1050px;max-height:92dvh;background:var(--cream);color:var(--ink)}.full-menu-dialog .lightbox-bar{position:sticky;top:0;z-index:2;background:var(--olive);color:var(--cream)}.full-menu-tools{padding:20px 28px;display:flex;gap:15px;align-items:center;border-bottom:1px solid var(--line);background:var(--cream)}.full-menu-tools button{padding:9px 15px;background:none;color:var(--ink);border:1px solid var(--line);font-size:12px}.full-menu-tools button.selected{background:var(--olive);color:var(--cream)}.menu-source-note{font-size:11px;padding:16px 28px;color:var(--rust);background:#f0e6d7}.full-menu-body{padding:10px 28px 35px}.full-menu-body h3{font-size:30px;margin:28px 0 15px;border-bottom:1px solid var(--line);padding-bottom:12px}.full-menu-dishes{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.full-dish{padding:14px 0;border-bottom:1px solid #ddd8cd}.full-dish strong{font-size:13px;font-weight:600}.full-dish .dish-title span{font-size:13px;white-space:nowrap}.full-dish p{font-size:11px;color:var(--muted);margin-top:5px}.empty-dishes{font-size:13px;color:#d4d9cc;padding:25px 0}.public-preview-banner{position:fixed;z-index:30;left:20px;bottom:20px;background:#a34f35;color:white;padding:12px 18px;box-shadow:0 4px 20px #0003;font-size:12px}.public-preview-banner button{margin-left:15px;border:0;border-bottom:1px solid;background:none;color:white;font-size:12px}
.owner-panel{background:var(--cream);color:var(--ink);width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;overflow:auto}.owner-head{position:sticky;top:0;background:var(--olive);color:var(--cream);padding:20px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:3}.owner-head h2{font-size:27px;letter-spacing:-.5px}.owner-head p{font-size:11px;color:#d5ddcf}.owner-head button{border:1px solid #ffffff60;background:transparent;color:inherit;padding:9px 14px;font-size:12px}.owner-wrap{max-width:1150px;margin:auto;padding:30px 30px 140px}.owner-mode{font-size:12px;padding:16px 20px;background:#e9dfca;border-left:3px solid #a34f35;margin-bottom:25px}.owner-nav{display:flex;gap:10px;border-bottom:1px solid var(--line);margin-bottom:28px}.owner-nav button{background:none;color:var(--ink);border:0;padding:12px 15px;font-size:14px}.owner-nav button.active{border-bottom:3px solid var(--olive);font-weight:600}.owner-tools{display:flex;align-items:end;gap:15px;flex-wrap:wrap;margin-bottom:23px}.owner-tools label{flex:1;min-width:130px}.owner-panel label{font-size:11px;font-weight:600;display:block}.owner-panel input:not([type=checkbox]),.owner-panel select,.owner-panel textarea{display:block;border:1px solid #c6c8ba;background:#fffdf8;color:var(--ink);padding:11px 12px;border-radius:0;width:100%;font:14px var(--sans);margin-top:5px;min-height:43px}.owner-panel textarea{min-height:70px;resize:vertical}.owner-panel input:invalid{border-color:#b54e31}.owner-panel input[type=checkbox]{accent-color:var(--olive);width:17px;height:17px;vertical-align:middle;margin-right:8px}.owner-button{background:var(--olive);color:var(--cream);border:1px solid var(--olive);padding:11px 16px;font-size:12px;min-height:43px}.owner-button.secondary{background:transparent;color:var(--olive);border:1px solid #b8bdae}.owner-button:disabled{opacity:.5;cursor:wait}.owner-item{border:1px solid #d8d7ca;background:#fdfaf3;padding:18px;margin-bottom:13px}.owner-item-fields{display:grid;grid-template-columns:1.2fr 2fr 100px 95px 38px;gap:15px;align-items:end}.owner-description{margin-top:12px}.owner-description input{font-size:12px!important;min-height:37px!important;padding:8px 10px!important}.availability{padding-bottom:10px;font-weight:400!important;white-space:nowrap}.remove-dish{background:none;border:1px solid #d6c9bc;color:#a34f35;width:38px;height:43px;font-size:22px}.owner-note{font-size:12px;color:var(--muted);margin-bottom:25px}.owner-count{font-size:11px;color:var(--muted);margin:15px 0}.owner-check{padding:18px;border:1px solid var(--line);margin-top:25px;font-weight:400!important;font-size:12px!important}.holiday-fields{max-width:700px}.holiday-fields h3{font-size:34px;margin-bottom:18px}.holiday-fields>label{margin:18px 0}.holiday-dates{display:grid;grid-template-columns:1fr 1fr;gap:20px}.holiday-example{background:var(--paper);border:1px solid var(--line);padding:25px;margin-top:25px}.holiday-example strong{font:24px var(--serif);display:block;margin-bottom:10px}.holiday-example p{font-size:13px}.holiday-state{font-size:11px;margin-top:15px;color:var(--rust)}.owner-actions{position:fixed;bottom:0;left:0;right:0;z-index:4;background:#f8f4ebf7;border-top:1px solid var(--line);padding:16px 30px;display:flex;gap:12px;align-items:center;justify-content:space-between;box-shadow:0 -5px 20px #0001}.owner-actions>div{display:flex;gap:10px;align-items:center}.owner-status{font-size:12px;color:var(--muted);max-width:500px;line-height:1.5}.owner-status.error{color:#a33c2b}.owner-status.success{color:#2c663d}.owner-backup{margin-top:25px;padding-top:25px;border-top:1px solid var(--line);display:flex;gap:12px;flex-wrap:wrap}.owner-login{padding:35px;max-width:600px}.owner-login h3{margin-bottom:20px}.owner-login p{margin-bottom:20px;font-size:14px}.owner-demo-export{display:none}.offline-presentation .owner-demo-export{display:inline-block}.owner-readonly .owner-actions{display:none}.source-files{font-size:11px;margin-top:30px;color:var(--muted)}.source-files a{text-decoration:underline;margin-right:18px}
@media(max-width:760px){.holiday-banner .wrap{gap:15px}.holiday-banner strong{font-size:22px}.full-menu-tools,.full-menu-body{padding-left:18px;padding-right:18px}.full-menu-dishes{grid-template-columns:1fr}.owner-head{padding:15px 18px}.owner-head h2{font-size:24px}.owner-wrap{padding:23px 16px 180px}.owner-item{padding:14px}.owner-item-fields{grid-template-columns:1fr 95px 38px;gap:10px}.owner-item-fields .category-label{grid-column:1/-1}.owner-item-fields .dish-name-label{grid-column:1/3}.owner-item-fields .price-label{grid-column:1/2}.owner-item-fields .availability{grid-column:2/3}.owner-item-fields .remove-dish{grid-column:3;grid-row:2}.owner-actions{padding:12px 15px calc(12px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:9px}.owner-actions>div{justify-content:stretch}.owner-actions button{flex:1}.owner-status{font-size:11px}.owner-nav button{font-size:12px;padding:12px}.holiday-dates{gap:12px}.owner-mode{font-size:11px}.public-preview-banner{bottom:85px;left:15px;right:15px}.public-preview-banner button{margin-left:7px}.full-menu-dialog .lightbox-bar{gap:15px}.full-menu-dialog .lightbox-bar>span{flex:1}}

[hidden]{display:none!important}.owner-auth{max-width:520px;margin:55px auto;padding:30px}.owner-auth h3{font-size:34px;margin-bottom:20px}.owner-auth p{font-size:14px;line-height:1.8;margin-bottom:25px}.owner-auth label{margin:18px 0}.owner-auth button{margin-top:10px;width:100%}
/* Owner uploads and special menus */
.specials-entry{display:inline-flex;align-items:center;gap:16px;margin-top:20px;color:#ffdb86;font-size:14px;font-weight:600;border-bottom:1px solid #ffdb8670;padding:7px 0}.specials-entry:hover{color:white}.specials-section{padding:85px 0;background:var(--paper)}.specials-section .section-top{margin-bottom:35px}.specials-section .eyebrow{color:var(--rust);margin-bottom:15px}.specials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.special-card{min-width:0;background:var(--cream);border:1px solid #ddcda8;overflow:hidden}.special-cover{display:block;width:100%;height:280px;object-fit:cover}.special-card-body{padding:30px}.special-badge{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--rust);margin-bottom:13px}.special-card h3{font-size:35px;overflow-wrap:anywhere;margin:0 0 15px;border:0;padding:0}.special-period{font-size:11px;color:var(--muted);margin-bottom:15px}.special-intro{font-size:14px;white-space:pre-line;margin-bottom:22px}.special-total{display:inline-block;font-size:14px;font-weight:700;padding:9px 13px;background:var(--sun);margin-bottom:20px}.special-dish{display:flex;align-items:start;gap:16px;padding:18px 0;border-top:1px solid var(--line)}.special-dish-copy{flex:1;min-width:0}.special-dish-photo{width:100px;height:100px;object-fit:cover;flex:none}.special-dish strong{font-size:14px;overflow-wrap:anywhere}.special-dish p{font-size:12px;line-height:1.7;color:var(--muted);white-space:pre-line;margin-top:7px}.special-dish .dish-title{gap:12px}.special-dish .dish-title>span{font-size:13px;white-space:nowrap}.special-takeaway{font-size:12px;color:var(--olive);border-top:1px solid var(--line);padding-top:17px}.special-preview-note{background:#ffe4bb;border-left:3px solid var(--rust);padding:12px;font-size:12px;margin-bottom:15px}.menu-dish-photo{display:block;width:100%;height:180px;object-fit:cover;margin-bottom:14px;background:var(--paper)}.full-menu-dialog .menu-dish-photo{max-height:none}.full-menu-dialog .special-cover,.full-menu-dialog .special-dish-photo{max-height:none}.special-admin-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.special-admin-heading h3{font-size:30px;margin-bottom:12px}.special-admin-heading .owner-note{margin:0}.specials-empty{padding:45px 25px;border:1px dashed #c4b68f;text-align:center;background:#fffaf0}.specials-empty>span{font-size:38px;color:var(--rust)}.specials-empty h4{font:28px var(--serif);margin:12px 0}.specials-empty p{font-size:13px;color:var(--muted);line-height:1.9}.offer-editor{border:1px solid var(--line);background:#fffdf8;margin:18px 0}.offer-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px;cursor:pointer;background:#eee5d3}.offer-summary-title{font-size:16px;font-weight:600;overflow-wrap:anywhere}.offer-state{font-size:11px;color:var(--olive);padding:5px 9px;background:#fff9eb;flex:none}.offer-editor-body{padding:25px}.special-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.offer-editor-body>label,.offer-editor-body>.special-editor-grid{margin-bottom:19px}.special-checks{display:flex;flex-direction:column;gap:13px;margin:22px 0 12px}.special-check{display:flex!important;align-items:center;font-size:12px!important;gap:3px}.photo-control{border:1px solid var(--line);padding:16px;background:#fff8ea;margin:15px 0}.photo-label{display:block;font-size:11px;font-weight:600;margin-bottom:12px}.owner-photo-preview{width:145px;height:115px;object-fit:cover;margin-bottom:13px;max-height:none}.photo-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.photo-help{font-size:11px;color:var(--muted);line-height:1.7;margin-top:9px}.photo-help.error{color:#a12e20}.owner-panel .photo-file-input{display:none!important}.special-dishes-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:24px;margin-top:24px;margin-bottom:17px}.special-dishes-heading h4{font:24px var(--serif);margin:0}.special-dish-editor{padding:20px;border:1px solid var(--line);background:#f9f3e6;margin-bottom:16px}.special-dish-editor>label{margin-top:14px}.special-dish-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:15px}.owner-nav{overflow-x:auto;white-space:nowrap}.owner-panel textarea{line-height:1.6}.owner-item .photo-control{margin-bottom:0}.special-editor-grid>*{min-width:0}.owner-actions{backdrop-filter:blur(10px)}
@media(max-width:760px){.specials-section{padding:60px 0}.specials-grid{grid-template-columns:1fr;gap:20px}.special-cover{height:240px}.special-card-body{padding:22px}.special-card h3{font-size:30px}.special-dish-photo{width:76px;height:85px}.special-dish{gap:13px}.special-dish .dish-title{align-items:start}.special-dish strong{font-size:13px}.special-admin-heading{align-items:stretch;flex-direction:column}.special-admin-heading>.owner-button{width:100%}.special-editor-grid{grid-template-columns:1fr;gap:15px}.offer-editor>summary{padding:17px;align-items:start;flex-direction:column;gap:10px}.offer-editor-body{padding:16px}.special-dish-editor{padding:15px}.special-dishes-heading{align-items:stretch;flex-direction:column}.special-dish-actions{align-items:stretch;flex-direction:column}.special-dish-actions>.owner-button{width:100%}.owner-nav{gap:0}.owner-nav button{flex:none}.specials-entry{font-size:12px;margin-top:15px}.photo-actions>.owner-button{flex:1}.photo-control{padding:13px}.full-menu-dialog .special-card-body{padding:17px}.full-menu-dialog .special-cover{height:210px}}
.specials-grid>.special-card:only-child{grid-column:1/-1}.specials-grid>.special-card.has-cover:only-child{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.specials-grid>.special-card.has-cover:only-child>.special-cover{height:100%;min-height:320px}
@media(max-width:760px){.specials-grid>.special-card.has-cover:only-child{display:block}.specials-grid>.special-card.has-cover:only-child>.special-cover{height:240px;min-height:0}.public-preview-banner{font-size:11px;line-height:1.5}}
.offer-review-text{white-space:pre-line;font-size:13px;line-height:1.9;margin:12px 0 18px}.full-menu-dialog .review-photo{display:block;width:150px;height:115px;max-height:none;object-fit:cover;margin:10px 0 20px;background:var(--paper)}
