@font-face{font-family:Bebas;src:url('assets/BebasNeue.ttf')}@font-face{font-family:Raleway;src:url('assets/Raleway.ttf')}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#faf9f6;color:#2d2e83;font-family:Raleway,Arial,sans-serif;font-size:15px;line-height:1.7}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #7778cf;outline-offset:4px}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}p+p{margin-top:16px}h1,h2,h3{font-family:Bebas,Impact,sans-serif;font-weight:400;line-height:1.05}h1{font-size:clamp(56px,5.7vw,88px);letter-spacing:.3px}h2{font-size:clamp(42px,4vw,62px)}h3{font-size:28px}.demo-bar{background:#2d2e83;color:white;text-align:center;font:10px Raleway,sans-serif;letter-spacing:1.7px;padding:8px 12px}header{height:105px;display:flex;align-items:center;justify-content:space-between;padding:10px 5%;background:#faf9f6;position:sticky;top:0;z-index:5;border-bottom:1px solid #cecae366}.logo{width:150px;height:80px;object-fit:contain}nav{display:flex;align-items:center;gap:32px}nav a{text-decoration:none;font-size:13px;font-weight:bold}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;background:#2d2e83;color:white;border:1px solid #2d2e83;text-decoration:none;padding:15px 23px;font-size:13px;font-weight:bold;line-height:1.5;transition:background .2s}.button:hover{background:#4142a0}.small{padding:12px 19px}.nav-toggle{display:none}.hero{position:relative;display:grid;grid-template-columns:1.05fr 1fr;min-height:650px;padding:30px 5% 65px;gap:45px;align-items:center}.hero-copy{padding:30px 0}.eyebrow{font-size:10px;letter-spacing:3px;font-weight:bold;margin-bottom:26px}.hero h1 span{color:#8581af}.intro{margin:25px 0 30px;font-size:16px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px}.text-link{font-size:12px;text-underline-offset:7px;background:none;border:none;color:#2d2e83;padding:0}.hero-bottom{display:flex;align-items:center;gap:18px;font-size:11px;line-height:1.5;letter-spacing:1px;margin-top:45px}.wave{font-size:60px;line-height:1;font-family:Georgia}.hero-photo{position:relative;height:560px}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 50%;border-radius:48% 48% 0 0}.hero-photo figcaption{position:absolute;bottom:24px;left:-24px;background:#ececf8;padding:20px 28px;box-shadow:0 10px 30px #07071315;font-family:Bebas;font-size:28px}.hero-photo figcaption span{display:block;font-family:Raleway;font-size:8px;letter-spacing:2px}.scroll{position:absolute;bottom:20px;left:5%;font-size:9px;letter-spacing:3px;text-decoration:none}.section{padding:90px 7%}.story{display:grid;grid-template-columns:.65fr 1.4fr .65fr;gap:45px;border-top:1px solid #cecae3;align-items:start}.story p:not(.eyebrow){max-width:520px;margin-top:25px}.story>img{height:230px;width:100%;object-fit:cover;border-radius:120px 120px 0 0}.caption{font-size:11px;line-height:1.7;color:#626279}.menu-section{background:#ececf8}.section-top{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:35px}.section-top>p{font-size:12px}.example{font-size:11px;font-weight:600}.tabs{display:flex;gap:26px;border-bottom:1px solid #cecae3;margin-bottom:10px;overflow:auto}.tabs button{white-space:nowrap;border:0;border-bottom:2px solid transparent;background:none;color:#555574;font-size:13px;padding:14px 4px}.tabs button.active{color:#2d2e83;border-color:#2d2e83;font-weight:bold}.menu-items{display:grid;grid-template-columns:1fr 1fr;gap:0 60px;margin:15px 0 25px;min-height:190px}.dish{padding:24px 0;border-bottom:1px solid #cecae3}.dish>div{display:flex;justify-content:space-between;gap:20px}.dish h3{font-size:25px}.dish .price{white-space:nowrap;font-size:15px;font-weight:bold}.dish p{font-size:12px;margin-top:7px;color:#626279}.gallery{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:24px}.gallery button{padding:0;background:none;border:none;color:inherit;text-align:left}.gallery img{height:350px;width:100%;object-fit:cover;transition:filter .2s}.gallery button:hover img{filter:brightness(.9)}.gallery button:nth-child(2){padding-top:45px}.gallery span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:2px;margin-top:15px}.booking{background:#2d2e83;color:#faf9f6;display:grid;grid-template-columns:1fr 1.1fr;gap:80px}.booking h2{font-size:64px;margin-bottom:25px}.booking .notice{background:#ffffff0b;border:1px solid #ffffff33;margin:30px 0;padding:18px;font-size:12px}.booking .caption{color:#d4d1e6}.notice p{margin-top:8px}.phone{font-family:Bebas;font-size:30px;text-decoration:none}.booking-card{background:#faf9f6;color:#2d2e83;padding:32px;align-self:start}.steps{list-style:none;margin:0 0 30px;padding:0;display:flex;gap:12px;border-bottom:1px solid #cecae3;font-size:10px}.steps li{padding-bottom:14px;color:#626279}.steps .current{border-bottom:2px solid #2d2e83;color:#2d2e83;font-weight:bold}.booking-card .caption{color:#626279}fieldset{border:none;padding:0;margin:0;min-width:0}legend{font-family:Bebas;font-size:32px;margin-bottom:18px}label{display:block;font-size:12px;font-weight:600;margin-bottom:18px}input,textarea,select{width:100%;border:1px solid #cecae3;background:#fff;color:#070713;border-radius:0;padding:12px;margin-top:7px;min-height:46px}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}fieldset>.button{margin-top:22px;width:100%}.back{border:0;background:none;color:inherit;padding:10px 0}.booking-card .notice{color:#2d2e83;background:#ececf8;border-color:#cecae3;margin:20px 0}.booking-card .actions{justify-content:space-between}dl{margin:0}dt{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#626279;margin-top:12px}dd{margin:3px 0;overflow-wrap:anywhere;font-size:14px}.result-icon{font-size:45px}#booking-result p{margin:20px 0}.practical{display:grid;grid-template-columns:1fr 1fr;gap:80px}.practical .phone{display:inline-block;margin-top:30px}.info-block h3{margin:5px 0 15px}.info-block h3:not(:first-child){margin-top:35px}.multiline{white-space:pre-line}footer{border-top:1px solid #cecae3;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px 5%;flex-wrap:wrap}footer p{font-size:12px}footer p span{font-size:10px}footer small{width:100%;text-align:center;font-size:10px;color:#626279}dialog{border:1px solid #cecae3;background:#faf9f6;color:#2d2e83;padding:35px;max-width:min(900px,94vw);max-height:90dvh;overflow:auto}dialog::backdrop{background:#070713aa}.dialog-close{display:block;margin:0 0 22px auto;background:none;border:0;color:inherit}#lightbox img{max-height:70dvh;object-fit:contain;margin:auto}#lightbox p{margin-top:15px}#admin>p{margin:20px 0}#admin h2{font-size:42px}.editor-row{display:grid;grid-template-columns:1fr 1fr 85px auto;gap:12px;border-bottom:1px solid #cecae3;padding:20px 0}.editor-row label{margin:0}.editor-row .description{grid-column:1/-1}.editor-row button{background:none;border:0;color:#2d2e83;font-size:12px}#add-item{margin:20px 0 30px}#admin-form>.actions>button:not(.button),.file-label,#add-item{background:#ececf8;color:#2d2e83;border:1px solid #cecae3;padding:10px;font-size:12px}.file-label{margin:0;cursor:pointer}.file-label input{max-width:220px;font-size:11px;min-height:0;padding:4px}.integration{margin-top:30px;border-top:1px solid #cecae3;padding-top:25px}.integration p{font-size:12px;margin-top:15px}[hidden]{display:none!important}body:has(dialog[open]){overflow:hidden}
@media(min-width:1500px){main,header,footer{max-width:1600px;margin:auto}}@media(max-width:1000px){nav{gap:18px}.hero{gap:25px}.hero-photo{height:490px}.hero .actions{align-items:start;flex-direction:column}.story{grid-template-columns:1fr 2fr}.story>img{display:none}.booking{gap:35px}.section{padding:65px 5%}.booking h2{font-size:54px}.booking-card{padding:25px}.steps{gap:8px;font-size:9px}}
@media(max-width:700px){html{scroll-padding-top:85px}header{height:85px}.logo{width:120px;height:65px}.nav-toggle{display:block;background:none;border:1px solid #cecae3;padding:8px 12px;color:inherit;font-size:12px}nav{display:none;position:absolute;top:85px;left:0;right:0;background:#faf9f6;border-bottom:1px solid #cecae3;padding:22px 5%;align-items:stretch;gap:20px}nav.open{display:flex;flex-direction:column}.hero{display:flex;flex-direction:column;padding:25px 5% 60px;gap:20px;align-items:stretch}.hero-copy{padding:20px 0}h1{font-size:58px}.eyebrow{margin-bottom:20px;font-size:9px}.intro{font-size:14px}.hero .actions{flex-direction:row;align-items:center;gap:20px}.hero-bottom{display:none}.hero-photo{height:400px;margin:0 12px}.hero-photo figcaption{left:-12px;padding:14px 22px}.scroll{bottom:14px}.section{padding:55px 6%}.story{display:block}.story>div{margin-top:22px}.section-top{display:block}.section-top>p{margin-top:22px}.tabs{gap:19px}.menu-items{grid-template-columns:1fr;min-height:0}.gallery{grid-template-columns:1fr 1fr;gap:18px}.gallery button:first-child{grid-column:1/-1}.gallery img{height:235px}.gallery button:first-child img{height:300px}.gallery button:nth-child(2){padding-top:0}.gallery span{font-size:8px;letter-spacing:1px}.booking,.practical{grid-template-columns:1fr;gap:35px}.booking h2{font-size:56px}.booking-card{padding:22px 18px}.steps{font-size:9px;justify-content:space-between}.booking .notice{margin:22px 0}.form-grid{grid-template-columns:1fr 1fr;gap:12px}footer{padding:25px 6%;gap:20px}dialog{padding:22px;max-width:96vw}.editor-row{grid-template-columns:1fr 1fr}.editor-row .description{grid-column:1/-1}.demo-bar{font-size:8px;letter-spacing:1px}.demo-bar span{letter-spacing:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Carte originale et photos du restaurant. */
.menu-complete{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}.menu-complete p{width:100%;margin:0}.gallery{row-gap:30px}.gallery button:nth-child(2){padding-top:0}.gallery img{object-position:center 65%}.gallery button:first-child img{object-position:center 50%}#full-menu{width:min(1000px,96vw)}#full-menu h3{margin-bottom:20px}#menu-page-image{width:100%;height:auto;margin:20px auto}#full-menu .actions{justify-content:space-between}#full-menu .actions button{background:#ececf8;color:#2d2e83;border:1px solid #cecae3;padding:10px 14px}#full-menu button:disabled{opacity:.4;cursor:default}select:disabled{background:#ececf8;color:#626279}.dish h3{overflow-wrap:anywhere}#lightbox img{max-width:100%}
@media(max-width:700px){.gallery{grid-template-columns:1fr 1fr}.gallery button:first-child{grid-column:1/-1}.gallery button:nth-child(4){grid-column:1/-1}.gallery button:nth-child(4) img{height:320px}.menu-complete{gap:20px}#full-menu .actions{gap:10px;font-size:11px}#full-menu .actions button{font-size:11px;padding:9px}.dish h3{font-size:23px}}

/* Carnet de réservations de démonstration. */
.footer-management{display:flex;gap:18px;flex-direction:column;align-items:start}.info-block a{overflow-wrap:anywhere}#reservation-manager{width:min(1000px,96vw)}#manager-title{font-size:48px;margin-bottom:20px}.manager-notice{padding:16px;background:#ececf8;font-size:12px;margin-bottom:25px}.manager-filters{display:grid;grid-template-columns:1fr 1fr;gap:20px}.service-control{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0}.service-control p{font-size:13px;font-weight:bold}#reservation-manager button:not(.button):not(.dialog-close),#booking-result button:not(.button){background:#ececf8;border:1px solid #cecae3;color:#2d2e83;padding:10px 14px;font-size:12px}#reservation-manager button:disabled{opacity:.4;cursor:default}.manager-stats{padding:18px 0;font-weight:bold;font-size:13px;border-bottom:1px solid #cecae3}#manager-status{font-size:12px;min-height:24px;margin:12px 0}.request-card{padding:25px 0;border-bottom:1px solid #cecae3}.request-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.request-card>p{margin:10px 0;font-size:13px}.request-card .actions{margin-top:18px}.request-badge{font-size:10px;border:1px solid #cecae3;padding:4px 10px;white-space:nowrap}.request-badge.pending{background:#f5eddc;color:#715a23}.request-badge.confirmed{background:#e5f0e7;color:#2d5835}.request-badge.declined,.request-badge.cancelled{background:#f4e9eb;color:#833e4c}#email-preview{background:#ececf8;padding:25px;margin:25px 0;font-size:12px;overflow-wrap:anywhere}#preview-body{border-top:1px solid #cecae3;padding-top:18px}.phone-entry{margin:30px 0;padding:20px;border:1px solid #cecae3}.phone-entry summary{cursor:pointer;font-family:Bebas;font-size:26px}.phone-entry form{margin-top:20px}.manager-bottom{border-top:1px solid #cecae3;padding-top:25px;margin-top:25px}.manager-bottom p{margin-top:15px}
@media(max-width:700px){#manager-title{font-size:40px}.manager-filters{gap:12px}.service-control{align-items:start;flex-direction:column;gap:12px}.request-top{align-items:start;gap:10px}.request-top h3{font-size:24px}.request-card .actions{gap:10px}.phone-entry{padding:15px}#email-preview{padding:18px}.manager-stats{font-size:12px}.footer-management{width:100%}}

.review-info{background:#ececf8;padding:16px;margin:18px 0;font-size:12px}.review-info p{line-height:1.7}.review-info .back{text-decoration:underline;text-underline-offset:4px;font-size:12px}.review-info p[role="status"]{font-size:11px;margin-top:10px}
