:root{--bg:#1d1410;--bg2:#2a1c15;--card:#33231a;--cream:#f7ecd9;--mute:#c9b79c;--mango:#f2a31b;--chili:#d9482b;--leaf:#5f8f4a;--r:18px}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--cream);font:17px/1.6 "Segoe UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,.brand{font-family:Georgia,"Times New Roman",serif;line-height:1.1}
a{color:inherit}
.wrap{max-width:1080px;margin:auto;padding:0 20px}
nav{position:sticky;top:0;z-index:20;background:rgba(29,20,16,.92);backdrop-filter:blur(8px);border-bottom:1px solid #ffffff14}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:60px;gap:12px}
.brand{font-size:21px;text-decoration:none;color:var(--mango)}
nav ul{display:flex;gap:20px;list-style:none;padding:0}nav ul a{text-decoration:none;color:var(--mute);font-size:15px}nav ul a:hover{color:var(--cream)}
.btn{display:inline-block;background:var(--mango);color:#2a1700;font-weight:700;text-decoration:none;padding:13px 24px;border-radius:99px;border:0;font-size:16px;cursor:pointer;transition:transform .15s}
.btn:hover{transform:translateY(-2px)}.btn.alt{background:transparent;color:var(--cream);border:2px solid #ffffff40}
.hero{position:relative;overflow:hidden;padding:90px 0 70px;background:radial-gradient(900px 500px at 85% -10%,#f2a31b55,transparent 60%),radial-gradient(700px 500px at 0% 110%,#d9482b44,transparent 60%),var(--bg)}
.hero h1{font-size:clamp(42px,8vw,86px);max-width:12em}.hero h1 em{color:var(--mango);font-style:normal}
.hero p.lead{max-width:34em;margin:20px 0 30px;color:var(--mute);font-size:19px}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.mango{position:absolute;right:-60px;top:40px;width:420px;opacity:.9;pointer-events:none}
.status{display:inline-flex;gap:8px;align-items:center;background:#ffffff12;border-radius:99px;padding:6px 14px;font-size:14px;margin-bottom:22px}
.dot{width:9px;height:9px;border-radius:50%;background:#888}.open .dot{background:#6fd07a}.closed .dot{background:var(--chili)}
.notice{background:var(--chili);text-align:center;padding:10px 16px;font-weight:600}
section{padding:70px 0}section h2{font-size:clamp(30px,5vw,46px);margin-bottom:12px}
.sub{color:var(--mute);max-width:36em;margin-bottom:34px}
.tags{display:flex;flex-wrap:wrap;gap:10px}.tags span{background:var(--card);border:1px solid #ffffff14;padding:8px 16px;border-radius:99px;font-size:15px}
.grid{display:grid;gap:20px}.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:var(--card);border-radius:var(--r);padding:28px;border:1px solid #ffffff10}
.brunch{background:linear-gradient(135deg,var(--mango),#e07b12);color:#2a1700;border-radius:var(--r);padding:38px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
.brunch h2{margin:0}.brunch .price{font:700 64px Georgia,serif}
.hours{width:100%;border-collapse:collapse}.hours td{padding:10px 0;border-bottom:1px solid #ffffff14}.hours td:last-child{text-align:right;color:var(--mute)}.hours tr.today td{color:var(--mango);font-weight:700}
.big{font-size:22px;font-family:Georgia,serif;display:block;margin:4px 0 14px;text-decoration:none}
.label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.gallery{columns:3 240px;gap:14px}.gallery figure{margin:0 0 14px;break-inside:avoid}.gallery img{width:100%;border-radius:14px;display:block}.gallery figcaption{font-size:13px;color:var(--mute);padding:6px 4px 0}
footer{border-top:1px solid #ffffff14;padding:34px 0;color:var(--mute);font-size:14px}footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
.mbar{display:none}
@media(max-width:860px){nav ul{display:none}}
@media(max-width:760px){.navr .ico{display:none}.mango{width:240px;right:-50px;top:10px;opacity:.5}.hero{padding:60px 0 50px}
.mbar{display:grid;grid-template-columns:1fr 1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--bg2);border-top:1px solid #ffffff20}
.mbar a{padding:15px;text-align:center;font-weight:700;text-decoration:none}.mbar a:first-child{background:var(--mango);color:#2a1700}body{padding-bottom:54px}}
.reveal{opacity:0;transform:translateY(24px);transition:.7s}.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

.navr{display:flex;align-items:center;gap:10px}.ico{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%;color:var(--mute);border:1px solid #ffffff22}.ico:hover{color:var(--cream)}.ico svg{width:19px;height:19px}
.btn.sm{padding:9px 18px;font-size:15px}.btn.dark{background:#2a1700;color:var(--cream)}.btn svg{width:18px;height:18px;vertical-align:-3px;margin-right:4px}
.social{display:flex;gap:18px;margin-top:22px}.social a{display:inline-flex;gap:7px;align-items:center;color:var(--mute);text-decoration:none;font-size:15px}.social a:hover{color:var(--cream)}.social svg{width:18px;height:18px}
.head{display:flex;flex-wrap:wrap;gap:16px;align-items:end;justify-content:space-between;margin-bottom:28px}.head .sub{margin-bottom:0}
.menu ul{list-style:none;padding:0;margin-top:14px}.menu li{padding:10px 0;border-bottom:1px solid #ffffff10}.menu li:last-child{border:0}
.mi{display:flex;align-items:baseline;gap:10px}.mi span{font-weight:600}.mi i{flex:1;border-bottom:1px dotted #ffffff30;transform:translateY(-4px)}.mi b{color:var(--mango);white-space:nowrap;font-family:Georgia,serif;font-size:19px}
.menu li p{color:var(--mute);font-size:15px;margin-top:3px}.note{color:var(--mute);font-size:14px;font-style:italic;margin-top:12px}
.brunch .bt{flex:1 1 380px}.brunch .bi{font-size:15px;margin-top:12px;opacity:.85}.bp{display:flex;flex-direction:column;align-items:center;gap:10px}
.form label{display:block;margin:0 0 14px;font-size:14px;color:var(--mute)}
.form input,.form textarea,.form select,.admin input,.admin textarea,.admin select{width:100%;padding:11px;margin-top:5px;border-radius:10px;border:1px solid #ffffff30;background:#1d1410;color:#fff;font:inherit;font-size:16px}
.form input[type=file]{padding:9px}.two,.three{display:grid;gap:12px}.two{grid-template-columns:1fr 1fr}.three{grid-template-columns:1.3fr 1fr .8fr}
@media(max-width:560px){.two,.three{grid-template-columns:1fr}}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.okmsg{background:#2d5a27;padding:12px 16px;border-radius:10px;margin-bottom:16px}.errmsg{background:#6b2116;padding:12px 16px;border-radius:10px;margin-bottom:16px}
.stack{display:flex;flex-direction:column;gap:12px;margin-top:14px}.stack .btn{text-align:center}.pay{color:var(--mute);font-size:15px;margin-top:6px}
.admin h3{margin:22px 0 10px}.admin .card>h3:first-child,.admin form>h3:first-of-type{margin-top:0}
.atop{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.anav{display:flex;flex-wrap:wrap;gap:8px 18px;margin:14px 0 20px}.anav a{color:var(--mango)}
.linkbtn{background:none;border:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer;padding:2px 4px}.linkbtn:disabled{opacity:.3;cursor:default}
.admin .row{display:grid;grid-template-columns:1fr 2fr;gap:10px;margin-bottom:8px}.admin .row input,.mrow input{margin-top:0}
.mrow{display:grid;grid-template-columns:2fr .7fr 3fr;gap:8px;margin-bottom:8px}@media(max-width:620px){.mrow{grid-template-columns:1fr 1fr}.mrow input:last-child{grid-column:1/-1}}
fieldset{border:1px solid #ffffff20;border-radius:12px;padding:12px 14px;margin:0 0 14px}legend{padding:0 6px;color:var(--mango)}
.thumb{display:flex;gap:10px;align-items:center;margin-bottom:10px}.thumb img{width:80px;height:60px;object-fit:cover;border-radius:8px}.thumb form{display:flex}
.savebar{position:sticky;bottom:0;padding:12px 0 0;background:var(--card)}
.resa{display:flex;gap:14px;justify-content:space-between;align-items:start;padding:12px 14px;border-radius:12px;background:#ffffff08;margin-bottom:10px;border-left:4px solid var(--mango)}
.resa.s-confirmee{border-color:#6fd07a}.resa.s-annulee{border-color:#888;opacity:.6}.resa.past{opacity:.55}.resa select{width:auto;margin:0}.resa small{color:var(--mute)}.rm{color:var(--mute)}
.mgrid{grid-template-columns:1fr 1fr}@media(max-width:760px){.mgrid{grid-template-columns:1fr}}
