:root{--bg:#11110f;--paper:#fbf9f3;--ink:#1a1a17;--line:#ded8c9;--gold:#c5a15a;--cream:#efdfb8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 'DM Sans',Arial,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.ribbon{background:#241f15;color:#f3e8c6;display:flex;gap:14px;justify-content:center;align-items:center;text-align:center;padding:8px 16px;font-size:11px;letter-spacing:.08em}.ribbon b{color:#ffd786}.topbar{background:#0e0e0c;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px max(4vw,20px);position:sticky;top:0;z-index:12;border-bottom:1px solid #453922}.brand{display:flex;align-items:center;gap:12px}.brand-mark{font:bold 26px Georgia,serif;border:1px solid #ad8b4b;color:#cfa750;padding:9px 11px;line-height:1;letter-spacing:-.09em}.brand-mark span{font-size:14px;vertical-align:5px;padding:0 4px}.brand b{display:block;letter-spacing:.16em;font-size:17px}.brand small{display:block;letter-spacing:.1em;color:#9f998a;font-size:9px}.topbar nav{display:flex;gap:30px;font-size:13px;color:#dcd4c6}.topbar nav a:hover,.topbar a:hover{color:#f4c86f}.cartBtn{background:#c9a35c;border:none;border-radius:30px;padding:11px 18px;font-weight:700;white-space:nowrap}.cartBtn span{display:inline-grid;place-items:center;background:#181714;color:#fff;border-radius:50%;min-width:22px;height:22px;margin-left:8px}.hero{min-height:560px;background:#0d0d0c;color:#fff;display:grid;grid-template-columns:1fr 1fr}.heroText{align-self:center;padding:65px max(4vw,24px) 65px max(7vw,40px)}.eyebrow{display:block;letter-spacing:.18em;font-size:11px;color:#b38c4c;font-weight:700;margin-bottom:17px}.hero h1{font:500 clamp(53px,6vw,90px)/1.03 'Playfair Display',Georgia,serif;letter-spacing:-.04em;margin:0 0 22px}.hero h1 em{color:#cfad72;font-weight:400}.hero p{font-size:16px;color:#c5c0b5;line-height:1.9;max-width:500px}.heroBtns{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.btn{display:inline-flex;align-items:center;gap:20px;justify-content:center;padding:14px 23px;border-radius:5px;font-weight:700;font-size:13px}.btn.primary{color:#17140e;background:#d5b16d;border:1px solid #d5b16d}.btn.primary:hover{background:#f2ca7a}.btn.ghost{border:1px solid #746549;color:#e6decf}.statLine{font-size:11px;display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:40px;color:#a9a195}.statLine i{width:3px;height:3px;border-radius:50%;background:var(--gold)}.heroPic{position:relative;overflow:hidden}.heroPic img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center top;filter:brightness(.78)}.heroPic:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0e0e0cc0,transparent 60%),linear-gradient(0deg,#000a,transparent 30%)}.heroOverlay{position:absolute;bottom:39px;right:40px;z-index:1;text-align:right}.heroOverlay small{display:block;color:#dabb7b;letter-spacing:.16em}.heroOverlay strong{font:32px Georgia,serif}.shell{width:min(1180px,92%);margin:auto}.sectionHead{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin:78px 0 27px}h2{font:500 clamp(32px,4vw,50px)/1.15 'Playfair Display',Georgia,serif;margin:0 0 11px}h3{font-family:'Playfair Display',Georgia,serif}.sectionHead p,.gallerySection p{color:#68645c;max-width:750px}.asterisk{color:#bd9961}.found{white-space:nowrap;color:#8b744f;font-size:13px;padding-bottom:12px}.toolbar{display:flex;flex-wrap:wrap;gap:13px;margin-bottom:27px;align-items:center}.searchWrap{background:white;border:1px solid #e3ded3;display:flex;align-items:center;gap:8px;padding:0 14px;min-width:245px;flex:1;max-width:450px;border-radius:8px}.searchWrap span{font-size:25px;color:#9c875e}.searchWrap input{border:none;outline:none;padding:14px 3px;width:100%;background:transparent}.filters{display:flex;gap:7px;flex-wrap:wrap}.filters button{border:1px solid #dbd5ca;border-radius:25px;background:transparent;padding:9px 13px;color:#4c463d;font-size:12px}.filters button.active{background:#171713;color:#fff;border-color:#171713}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.itemCard{background:white;border:1px solid #eee8df;border-radius:11px;overflow:hidden;box-shadow:0 12px 30px #15120e0b;display:flex;flex-direction:column}.itemPic{position:relative;aspect-ratio:1.5;overflow:hidden;background:#161510}.itemPic img{width:100%;height:100%;object-fit:cover;filter:brightness(.83);transform:scale(1.03);transition:transform .3s}.itemCard:hover .itemPic img{transform:scale(1.09)}.pageTag{position:absolute;bottom:10px;left:11px;background:#141412db;color:#f0dcba;font-size:10px;padding:4px 8px;border-radius:4px}.itemBody{padding:16px;display:flex;flex-direction:column;flex:1}.itemBody small{color:#987744;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.itemBody h3{font:600 16px/1.3 'DM Sans',Arial,sans-serif;margin:9px 0 20px;min-height:42px}.itemFoot{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:auto}.itemFoot strong{font-size:16px;color:#735123}.addItem{background:#171713;color:white;border:0;border-radius:5px;padding:8px 13px;font-weight:700}.addItem:hover{background:#a17736}.empty{padding:50px;text-align:center;background:#fff;border-radius:9px}.note{background:#f4ecdf;color:#6d593b;border:1px solid #e2cfae;border-radius:8px;padding:14px 18px;margin:30px 0 75px;font-size:13px}.gallerySection{background:#161613;color:#fff;padding:78px 0 85px}.gallerySection p{color:#c2bbad}.galleryControls{display:flex;flex-wrap:wrap;align-items:end;gap:16px;margin:27px 0}.galleryControls label{font-size:11px;color:#c3b99f;display:flex;flex-direction:column;gap:6px}.galleryControls select{background:#2c2a25;color:#f7e6c5;border:1px solid #504735;padding:10px 15px;min-width:155px;border-radius:4px}.galleryControls a{color:#dbbd88;border-bottom:1px solid #a88d60;font-size:13px;margin-bottom:10px}.galleryFrame{display:flex;align-items:center;justify-content:center;gap:12px}.galleryFrame img{width:min(520px,78vw);max-height:720px;object-fit:contain;border:1px solid #493e2c;box-shadow:0 20px 50px #0009}.galleryFrame button{border:1px solid #9d875f;background:transparent;color:#e9cd94;border-radius:50%;width:40px;height:40px;font-size:28px}.galleryCounter{text-align:center;margin-top:17px;color:#b7aa8a;font-size:12px}.how{padding-top:78px;padding-bottom:85px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;margin-top:27px}.steps article{padding:27px;background:white;border:1px solid #eae4d8;border-radius:8px}.steps article span{color:#b8965b;font-size:12px;letter-spacing:.12em}.steps article h3{font-size:24px;margin:17px 0 10px}.steps article p{color:#666056}footer{background:#0f0f0d;color:#fff;padding:36px max(5vw,22px);display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between}footer span,footer small{display:block;color:#aaa192;font-size:12px;margin-top:7px}footer a{color:#dbb875;margin-right:17px;font-size:12px}.shade{position:fixed;inset:0;background:#0d0b08b8;z-index:39}.drawer{position:fixed;top:0;right:0;height:100dvh;overflow:auto;background:white;z-index:40;width:min(480px,100%);padding:23px;transform:translateX(101%);transition:transform .25s;box-shadow:-10px 0 40px #0002}.drawer.open{transform:translateX(0)}.drawerHead{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e8e1d7;padding-bottom:12px}.drawerHead small{letter-spacing:.16em;color:#a1875d;font-size:10px}.drawerHead h2{font-size:31px}.drawerHead button{font-size:27px;background:none;border:0}.cartItems{margin-top:18px}.cartLine{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid #f1ece5}.cartLine b{font-size:13px;display:block}.cartLine small{display:block;color:#8b714b}.stepper{display:flex;align-items:center;gap:9px}.stepper button{width:25px;height:25px;border:1px solid #c9b99e;background:white;border-radius:4px}.emptyCart{background:#f8f6f1;padding:22px;color:#8d8171;font-size:14px;margin:15px 0}.totals{background:#f8f4eb;border:1px solid #ebe1d1;padding:16px;border-radius:7px;margin-top:20px}.totals div{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:12px}.totals .grand{padding-top:10px;border-top:1px solid #dfd0b8;font-size:16px;font-weight:700}.totals small{font-size:10px;color:#706456}.drawer form{margin:23px 0 40px}.drawer form label{display:block;margin-top:14px;font-size:12px;font-weight:700}.drawer form input:not([type=radio]),.drawer form textarea,.drawer form select{display:block;width:100%;border:1px solid #d8d1c8;border-radius:5px;padding:11px;margin-top:6px;background:#fff}.segment{display:flex;gap:8px}.segment label{flex:1;margin:0 !important}.segment input{position:absolute;opacity:0}.segment span{display:block;padding:12px;border:1px solid #ded6c8;text-align:center;border-radius:4px;cursor:pointer}.segment input:checked+span{background:#171611;color:#fff;border-color:#171611}.checkoutWarning{background:#fff0dc;color:#79531e;padding:12px;font-size:12px;line-height:1.6;border-radius:5px;margin:19px 0}.wide{width:100%;border:none}.floatingCart{display:none;position:fixed;bottom:16px;left:5%;width:90%;background:#ba914c;color:#12120e;border:none;padding:14px;border-radius:9px;z-index:15;box-shadow:0 6px 25px #0003;justify-content:space-between;font-weight:700}#formStatus{font-size:12px;color:#7a5d37}@media(max-width:950px){.cards{grid-template-columns:repeat(3,1fr)}.heroText{padding:40px 5vw}.topbar nav{display:none}}@media(max-width:680px){.ribbon{display:block}.ribbon span{display:block;letter-spacing:normal}.topbar{padding:12px 16px}.brand b{font-size:13px}.brand small{font-size:8px}.brand-mark{font-size:18px}.hero{grid-template-columns:1fr}.heroText{padding:56px 6vw 28px}.heroPic{min-height:320px}.hero h1{font-size:55px}.heroOverlay{right:20px;bottom:20px}.sectionHead{margin:49px 0 17px;display:block}.found{margin-top:12px}.cards{grid-template-columns:repeat(2,1fr);gap:9px}.itemBody{padding:11px}.itemBody h3{font-size:12px;min-height:44px;margin:7px 0 14px}.itemFoot strong{font-size:14px}.addItem{padding:7px 10px}.steps{grid-template-columns:1fr}.galleryFrame{gap:3px}.galleryFrame button{width:29px;height:29px}.gallerySection{padding:56px 0}.floatingCart{display:flex}.drawer{padding:18px}}@media(max-width:350px){.cards{grid-template-columns:1fr}}

.botTrap{position:absolute!important;left:-99999px!important;opacity:0;pointer-events:none}
.privacyCheck{font-size:12px;line-height:1.55;display:flex!important;align-items:flex-start;gap:9px;color:#ccc!important}
.privacyCheck input{width:19px!important;height:19px!important;flex:0 0 auto;margin-top:2px}
.successModal[hidden]{display:none}
.successModal{position:fixed;z-index:500;inset:0;background:rgba(0,0,0,.87);display:flex;align-items:center;justify-content:center;padding:18px}
.successInner{background:#171715;color:#f4efe3;border:1px solid #8d723a;max-width:510px;border-radius:20px;padding:36px;text-align:center;box-shadow:0 24px 70px #000a}
.successInner h2{font:600 2rem 'Playfair Display',serif;margin:12px 0}
.successInner p{line-height:1.75;color:#d5d0bf}
.successIcon{border:2px solid #dbb966;color:#dbb966;border-radius:50%;width:60px;height:60px;display:grid;place-items:center;margin:auto;font-size:28px}
.successActions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}
button[disabled]{opacity:.55;cursor:wait}

/* Bonappé brand update — supplied logo and original restaurant motto */
.topbar { padding-top: 10px; padding-bottom: 10px; }
.topbar .brand-logo { display:block; width: 212px; height:auto; object-fit:contain; }
.hero h1 { margin-bottom: 8px; font-size: clamp(51px, 5.5vw, 82px); }
.hero p.heroMotto { color:#e8c27d; font:italic 500 clamp(24px,2.7vw,39px)/1.27 'Playfair Display',Georgia,serif; letter-spacing:.005em; margin:0 0 29px; max-width:fit-content; }
.hero p.heroMotto:after { content:''; display:block; width:75px; height:2px; background:#c5a15a; margin:17px 0 0; }
@media(max-width:680px) { .topbar .brand-logo {width:151px;} .hero h1 {font-size:clamp(48px,11vw,61px)} .hero p.heroMotto {font-size:clamp(25px,6vw,33px); margin-bottom:22px;} }
@media(max-width:360px) { .topbar .brand-logo {width:130px;} .topbar {gap:10px;} .cartBtn {padding:9px 12px;} }

/* BONAPPÉ SIGNATURE SONG — optional, visitor-triggered playback */
.musicWelcome[hidden]{display:none!important}
.musicWelcome{position:fixed;inset:0;z-index:120;background:rgba(5,5,4,.90);backdrop-filter:blur(9px);display:grid;place-items:center;padding:20px;overflow-y:auto}
.musicWelcomePanel{max-width:490px;width:100%;border-radius:18px;border:1px solid #7b6138;background:linear-gradient(160deg,#211c15,#0b0b09 70%);text-align:center;padding:30px clamp(18px,4vw,43px);box-shadow:0 40px 110px #0009;color:#f8f2e7}
.musicWelcomeLogo{display:block;width:min(250px,78%);height:auto;max-height:125px;object-fit:contain;margin:0 auto 20px}
.musicEyebrow{color:#d9b578;letter-spacing:.21em;font-size:10px;font-weight:700}
.musicWelcomePanel h2{font:500 clamp(29px,6vw,41px)/1.1 'Playfair Display',Georgia,serif;margin:13px 0 15px;color:#fff}
.musicWelcomePanel p{color:#d8cdb8;line-height:1.75;margin:0 0 26px;font-size:14px}
.musicWelcomePanel em{color:#e4b96d;font:italic 20px 'Playfair Display',Georgia,serif}
.musicWelcomePanel button{width:100%;display:block;min-height:49px;border-radius:7px;font-weight:700}
.musicEntryPrimary{background:#d7ad62;color:#19140c;border:1px solid #ddba78}
.musicEntryPrimary:hover{background:#f0cc87}
.musicEntryQuiet{background:transparent;color:#f8ecd9;border:1px solid #706043;margin-top:10px}
.musicWelcomePanel small{color:#a89d8c;display:block;margin-top:18px;font-size:11px}
.musicDock{position:fixed;bottom:20px;right:20px;z-index:16;display:flex;align-items:center;gap:9px;padding:9px 12px;background:#14120fed;border:1px solid #a88751;border-radius:15px;box-shadow:0 13px 36px #0006;color:#f6e7d0;max-width:min(370px,calc(100vw - 24px));backdrop-filter:blur(10px)}
.musicDock button{border:0;flex-shrink:0;display:grid;place-items:center}
.musicDock button:focus-visible,.musicWelcomePanel button:focus-visible,#musicVolume:focus-visible{outline:3px solid #f8d887;outline-offset:3px}
.musicRound{background:#d1a85d;color:#100f0c;width:39px;height:39px;border-radius:50%;font-size:22px}
.musicDockDetails{display:flex;flex-direction:column;gap:0;min-width:90px;white-space:nowrap}
.musicDockDetails strong{font-size:12px;letter-spacing:.025em}
.musicDockDetails span{font-size:10px;color:#c1b3a0}
.musicMute{color:#e5c286;background:transparent;font-size:19px;width:25px;height:30px}
#musicVolume{width:74px;accent-color:#d7ad62;cursor:pointer}
@media(max-width:680px){.musicDock{bottom:76px;right:10px;padding:7px 9px;gap:7px;border-radius:13px}.musicRound{width:35px;height:35px;font-size:20px}.musicDockDetails{min-width:77px}.musicDockDetails strong{font-size:11px}.musicDockDetails span{font-size:9px}#musicVolume{width:57px}}
@media(max-width:380px){.musicDock{right:8px;bottom:73px}.musicDockDetails{min-width:65px}.musicDockDetails strong{font-size:10px}#musicVolume{width:40px}}
