:root{--red:#9f171d;--red-dark:#741016;--cream:#fffaf1;--paper:#fffdf8;--ink:#211b18;--muted:#756b64;--line:#dfd3c5;--gold:#b99055;--green:#27633e;--shadow:0 20px 55px rgba(62,34,22,.12);font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--cream);scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink)}body.admin-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem clamp(1.2rem,5vw,5rem);background:rgba(255,250,241,.94);border-bottom:1px solid rgba(159,23,29,.14);backdrop-filter:blur(12px)}.brand{display:grid;line-height:1;text-align:center;min-width:145px;user-select:none}.brand-kicker,.brand-year{font-size:.58rem;letter-spacing:.22em;text-transform:uppercase}.brand-name{font:800 1.55rem/1.05 "Playfair Display",serif;color:var(--red)}.brand-year{color:var(--gold);margin-top:.25rem}.site-header nav{display:flex;gap:1.5rem;align-items:center;font-size:.9rem;font-weight:600}.site-header nav a{padding:.5rem 0;border-bottom:2px solid transparent}.site-header nav a:hover{color:var(--red);border-color:var(--red)}.nav-toggle{display:none;border:1px solid var(--red);color:var(--red);background:transparent;border-radius:999px;padding:.6rem 1rem}.hero{min-height:78vh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(2rem,6vw,7rem);padding:clamp(4rem,8vw,8rem) clamp(1.2rem,7vw,7rem);overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--red);font-size:.75rem;font-weight:700;margin:0 0 1rem}.hero h1,.section h2{font:700 clamp(2.8rem,6vw,5.8rem)/.98 "Playfair Display",serif;margin:.2rem 0 1.5rem}.hero h1 em{font-weight:600;color:var(--red)}.hero-text{max-width:560px;font-size:1.1rem;line-height:1.75;color:var(--muted)}.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:2rem 0}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:.9rem 1.3rem;font-weight:700}.button.primary,.accent{background:var(--red);color:white;border:0}.button.primary:hover,.accent:hover{background:var(--red-dark)}.button.secondary{border:1px solid var(--red);color:var(--red);background:transparent}.quick-facts{display:flex;gap:1.6rem;color:var(--muted);font-size:.88rem}.hero-art{position:relative;min-height:480px;border-radius:240px 240px 24px 24px;background:linear-gradient(145deg,#f1dfc6,#c79d6f);padding:14px;box-shadow:var(--shadow)}.photo-placeholder{height:100%;min-height:300px;border:1px dashed rgba(117,55,39,.35);border-radius:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#785c4d;background:linear-gradient(135deg,rgba(255,255,255,.34),rgba(255,255,255,.08));background-size:cover;background-position:center}.photo-placeholder span{font:700 1.25rem "Playfair Display",serif}.photo-placeholder small{margin-top:.5rem}.hero-stamp{position:absolute;right:-18px;bottom:35px;width:110px;height:110px;border-radius:50%;background:var(--red);color:white;display:grid;place-content:center;text-align:center;transform:rotate(7deg);box-shadow:0 12px 30px rgba(116,16,22,.25);font:600 .8rem "Playfair Display",serif}.hero-stamp strong{font-size:1.55rem}.section{padding:clamp(4rem,8vw,7rem) clamp(1.2rem,7vw,7rem)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.4rem}.section-heading h2{font-size:clamp(2.5rem,5vw,4.5rem);margin:0}.search{display:flex;align-items:center;gap:.8rem;border-bottom:1px solid var(--ink);padding:.5rem 0;min-width:min(330px,100%)}.search span{font-weight:700}.search input{border:0;outline:0;background:transparent;width:100%;font-size:1rem}.category-scroll{display:flex;gap:.6rem;overflow:auto;padding:.2rem 0 1.3rem;scrollbar-width:none}.category-scroll button{white-space:nowrap;border:1px solid var(--line);background:var(--paper);padding:.65rem 1rem;border-radius:999px}.category-scroll button.active{background:var(--ink);color:white;border-color:var(--ink)}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem}.menu-item{display:grid;grid-template-columns:1fr auto;gap:.4rem 1rem;padding:1.25rem 0;border-bottom:1px solid var(--line)}.menu-item h3{margin:0;font:700 1.15rem "Playfair Display",serif}.menu-item p{grid-column:1;margin:0;color:var(--muted);font-size:.9rem;line-height:1.45}.menu-item strong{color:var(--red)}.tag{display:inline-block;margin-right:.35rem;margin-top:.5rem;padding:.2rem .48rem;border-radius:999px;background:#efe5d7;color:#654d3e;font-size:.68rem;font-weight:700;text-transform:uppercase}.empty-state{text-align:center;padding:3rem;border:1px dashed var(--line);color:var(--muted)}.daily-section{background:var(--red);color:white}.section-heading.light .eyebrow{color:#efcfa5}.date-chip{border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:.7rem 1rem}.daily-card{background:var(--paper);color:var(--ink);padding:clamp(1.5rem,4vw,3rem);border-radius:18px;box-shadow:0 24px 60px rgba(50,0,0,.22)}.daily-public-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}.daily-card h3{font:700 1.1rem "Playfair Display",serif;color:var(--red);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line);padding-bottom:.45rem}.daily-card ul{list-style:none;padding:0;margin:.7rem 0 1.4rem}.daily-card li{padding:.22rem 0}.daily-price{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px dotted var(--line)}.light-button{background:white;color:var(--red);margin-top:1.2rem}.moment-section{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:clamp(2rem,6vw,6rem)}.moment-photo{min-height:480px;border-radius:24px;overflow:hidden;background:#ead8c0}.moment-photo>img{width:100%;height:100%;object-fit:cover}.moment-copy{align-self:center}.moment-copy h2{margin-bottom:1rem}.moment-copy h3{font:700 1.9rem "Playfair Display",serif;margin:.5rem 0}.moment-copy>p{color:var(--muted);line-height:1.7}.ingredients{font-style:italic}.price-row{display:flex;align-items:center;gap:1.2rem;margin:1.5rem 0}.price-row span{font:700 2rem "Playfair Display",serif;color:var(--red)}.promo-section{background:#f1e5d5}.promo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.promo-card{background:var(--paper);border:1px solid #e2d4c3;border-radius:18px;padding:1.4rem;display:flex;flex-direction:column}.discount{font:800 3rem "Playfair Display",serif;color:var(--red)}.promo-card h3{margin:.4rem 0;font:700 1.3rem "Playfair Display",serif}.promo-card p{color:var(--muted);line-height:1.5;flex:1}.promo-meta{display:flex;justify-content:space-between;font-size:.8rem;margin:1rem 0;color:var(--muted)}.about-contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,8rem);align-items:center}.about-block h2{font-size:clamp(2.5rem,5vw,4rem)}.about-block>p:last-child{font-size:1.08rem;line-height:1.8;color:var(--muted)}.contact-card{padding:2rem;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:var(--shadow)}.contact-card h3{font:700 1.7rem "Playfair Display",serif}.wifi{display:grid;grid-template-columns:1fr auto;gap:.4rem;padding-top:1rem;border-top:1px solid var(--line)}.wifi span{font-size:.8rem;color:var(--muted)}.wifi button{grid-column:2;grid-row:1/3;border:0;background:#efe4d7;border-radius:999px;padding:.6rem .9rem;color:var(--red);font-weight:700}footer{display:flex;justify-content:space-between;padding:2rem clamp(1.2rem,7vw,7rem);background:var(--ink);color:white}.whatsapp{position:fixed;right:1rem;bottom:1rem;z-index:18;background:#1d8248;color:white;padding:.8rem 1rem;border-radius:999px;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.2)}.modal{border:0;border-radius:22px;padding:0;max-width:min(520px,calc(100% - 2rem));width:100%;box-shadow:0 30px 90px rgba(0,0,0,.3)}.modal::backdrop{background:rgba(25,18,15,.7);backdrop-filter:blur(5px)}.modal>div{padding:2.2rem}.modal-close{position:absolute;right:.7rem;top:.6rem;border:0;background:transparent;font-size:1.8rem}.coupon-code{font:800 1.65rem "DM Sans",sans-serif;letter-spacing:.08em;text-align:center;border:2px dashed var(--red);padding:1rem;border-radius:12px;color:var(--red);margin:1.2rem 0}.coupon-discount{font:800 4rem "Playfair Display",serif;color:var(--red);line-height:1}.login-modal form{display:grid;gap:1rem}.login-modal label,.editor-form label{display:grid;gap:.4rem;font-weight:700;font-size:.9rem}.login-modal input,.editor-form input,.editor-form textarea,.editor-form select,.verify-form input{width:100%;padding:.8rem .9rem;border:1px solid var(--line);border-radius:10px;background:white}.login-hint{font-size:.8rem;color:var(--muted);background:#f7eee2;padding:.8rem;border-radius:10px}.admin-shell{position:fixed;inset:0;z-index:100;background:#f5f0e8;display:grid;grid-template-columns:240px 1fr}.admin-sidebar{background:var(--ink);color:white;padding:1.3rem;display:flex;flex-direction:column}.admin-brand{display:grid;padding:1rem .7rem 1.5rem}.admin-brand span{font:700 1.5rem "Playfair Display",serif}.admin-brand small{color:#c6bdb6}.admin-sidebar nav{display:grid;gap:.35rem}.admin-sidebar nav button,.logout{border:0;background:transparent;color:#d7d0ca;text-align:left;padding:.8rem;border-radius:8px}.admin-sidebar nav button.active,.admin-sidebar nav button:hover{background:#3b302b;color:white}.logout{margin-top:auto}.admin-main{overflow:auto;padding:0 2rem 3rem}.admin-topbar{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;background:rgba(245,240,232,.94);backdrop-filter:blur(8px);padding:1rem 0;border-bottom:1px solid var(--line)}.admin-topbar>div{display:flex;align-items:center;gap:.7rem}.demo-badge{background:#f5d9a8;color:#68450e;border-radius:999px;padding:.35rem .65rem;font-size:.75rem;font-weight:700}.admin-topbar button,.panel-actions button,.editor-form button,.settings-grid button,.file-button{border:1px solid var(--line);background:white;padding:.7rem 1rem;border-radius:9px}.admin-panel{display:none;max-width:1250px;margin:0 auto;padding-top:2rem}.admin-panel.active{display:block}.admin-panel h2{font:700 2rem "Playfair Display",serif;margin:.4rem 0}.admin-lead{color:var(--muted)}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}.stat-grid>div{background:white;border:1px solid var(--line);padding:1.3rem;border-radius:14px;display:grid;gap:.6rem}.stat-grid span{color:var(--muted);font-size:.85rem}.stat-grid strong{font-size:1.5rem}.notice{background:#fff5de;border:1px solid #efd095;border-radius:14px;padding:1.2rem}.notice p{margin-bottom:0;color:#765b27}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.panel-heading p{color:var(--muted);margin:.3rem 0}.panel-actions{display:flex;gap:.5rem}.panel-actions .accent,.editor-form .accent,.verify-form .accent{color:white;border-color:var(--red)}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.9fr);gap:1.5rem;align-items:start}.editor-form{display:grid;gap:1rem;background:white;border:1px solid var(--line);border-radius:14px;padding:1.2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.preview-wrap{position:sticky;top:78px}.preview-wrap>span{display:block;font-size:.75rem;color:var(--muted);margin-bottom:.5rem}.a5-preview{aspect-ratio:210/148;background:white;border:1px solid #d7cec4;border-radius:6px;padding:4%;font-size:clamp(6px,.75vw,10px);box-shadow:0 8px 30px rgba(0,0,0,.1);overflow:hidden}.a5-head{text-align:center;border-bottom:1px solid var(--red);padding-bottom:.5em}.a5-head strong{font:700 1.7em "Playfair Display",serif;color:var(--red)}.a5-columns{display:grid;grid-template-columns:1fr 1fr;gap:3em;padding-top:1em}.a5-preview h4{font-size:1.05em;color:var(--red);margin:.65em 0 .25em;text-transform:uppercase}.a5-preview p{margin:.15em 0}.a5-price{display:flex;justify-content:space-between;font-weight:700}.full{width:100%;margin-top:.8rem}.narrow{max-width:720px}.switch-line{grid-template-columns:auto 1fr!important;align-items:center;justify-content:start}.switch-line input{width:auto}.promo-form{max-width:720px}.admin-list{display:grid;gap:.7rem;margin-top:1rem}.admin-list-item{background:white;border:1px solid var(--line);border-radius:12px;padding:1rem;display:grid;grid-template-columns:1fr auto;gap:.5rem}.admin-list-item p{margin:.2rem 0;color:var(--muted)}.admin-list-item button{border:0;background:#eee3d7;color:var(--red);border-radius:8px;padding:.5rem .7rem}.verify-form{display:flex;gap:.6rem;max-width:680px}.verify-result{margin:1rem 0;padding:1rem;border-radius:12px;max-width:680px}.verify-result.valid{background:#dcefe3;color:#174f2d}.verify-result.invalid{background:#f5dbdc;color:#7c171b}.verify-result.expired{background:#fff0cf;color:#765407}.verify-result.muted{background:white;color:var(--muted)}.history{margin-top:2rem}.history-row{display:grid;grid-template-columns:1fr auto auto;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.settings-grid section{background:white;border:1px solid var(--line);border-radius:14px;padding:1.2rem}.settings-grid section>*{margin-right:.5rem}.file-button{display:inline-block;cursor:pointer}.file-button input{display:none}#toast{position:fixed;z-index:200;left:50%;bottom:1.5rem;transform:translate(-50%,140%);background:var(--ink);color:white;border-radius:999px;padding:.8rem 1.2rem;transition:.25s;box-shadow:var(--shadow)}#toast.show{transform:translate(-50%,0)}#printArea{display:none}
@media(max-width:900px){.nav-toggle{display:block}.site-header nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;background:var(--cream);padding:1rem 1.2rem;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.hero,.moment-section,.about-contact{grid-template-columns:1fr}.hero{padding-top:4rem}.hero-art{min-height:360px;order:-1}.menu-grid{grid-template-columns:1fr}.promo-grid{grid-template-columns:1fr 1fr}.daily-public-grid{grid-template-columns:1fr}.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:sticky;top:0;z-index:6;padding:.6rem;display:grid;grid-template-columns:1fr auto}.admin-brand{padding:.5rem}.admin-sidebar nav{grid-column:1/3;display:flex;overflow:auto}.admin-sidebar nav button{white-space:nowrap}.logout{position:absolute;right:.6rem;top:.5rem}.admin-main{padding:0 1rem 3rem}.editor-layout{grid-template-columns:1fr}.preview-wrap{position:static}.stat-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}}
@media(max-width:600px){.hero h1{font-size:3rem}.section-heading{align-items:stretch;flex-direction:column}.search{min-width:0}.promo-grid{grid-template-columns:1fr}.quick-facts{flex-direction:column;gap:.4rem}.hero-art{min-height:300px}.hero-stamp{right:8px}.form-row{grid-template-columns:1fr}.admin-topbar small{display:none}.panel-heading{align-items:stretch;flex-direction:column}.panel-actions{flex-wrap:wrap}.verify-form{flex-direction:column}.history-row{grid-template-columns:1fr}.wifi{grid-template-columns:1fr}.wifi button{grid-column:1;grid-row:auto}footer{flex-direction:column;gap:.5rem}}
@media print{body>*:not(#printArea){display:none!important}#printArea{display:block!important;width:210mm;height:297mm;margin:0;padding:0;color:#111;background:white}.print-sheet{width:210mm;height:148.5mm;padding:9mm 11mm;break-inside:avoid;border-bottom:.2mm dashed #bbb}.print-sheet:last-child{border-bottom:0}.print-sheet .a5-preview{width:100%;height:100%;aspect-ratio:auto;border:0;box-shadow:none;font-size:9.2pt;padding:0}.print-sheet .a5-columns{gap:8mm}@page{size:A4 portrait;margin:0}}
