:root{--primary:#161616;--accent:#f4f4f4;--paper:#f5f1e9;--line:rgba(22,22,22,.15);--muted:#706b65}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;background:var(--paper);color:var(--primary);font-family:Inter,"Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}.booking-shell{min-height:100vh}.restaurant-hero{position:relative;min-height:390px;background:var(--primary);display:flex;align-items:flex-end;background-image:var(--hero);background-size:cover;background-position:center}.restaurant-hero.no-image{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 72%,#fff))}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.64))}.booking-language{position:absolute;z-index:4;top:18px;right:max(20px,calc((100vw - 1120px)/2));display:flex;gap:2px;padding:3px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-radius:999px}.booking-language a{min-width:34px;padding:6px 8px;border-radius:999px;text-align:center;text-decoration:none;color:#161616;font-size:10px;font-weight:700;letter-spacing:.06em}.booking-language a.active{background:#161616;color:#fff}.restaurant-identity{position:relative;z-index:1;width:min(1120px,calc(100% - 40px));margin:0 auto;padding:70px 0 42px;color:#fff;display:flex;align-items:flex-end;gap:25px}.restaurant-logo{width:120px;height:120px;background:#fff;border:1px solid rgba(255,255,255,.5);display:grid;place-items:center;padding:13px;flex:none;box-shadow:0 12px 30px rgba(0,0,0,.16)}.restaurant-logo img{width:100%;height:100%;object-fit:contain}.restaurant-copy{min-width:0}.reservation-label,.eyebrow,.field-title{font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.reservation-label{opacity:.8;margin-bottom:10px}.restaurant-copy h1{font-size:clamp(42px,6vw,76px);line-height:.92;letter-spacing:-.055em;margin:0;font-weight:650}.restaurant-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:15px;font-size:13px;opacity:.88}.booking-main{width:min(960px,calc(100% - 36px));margin:-22px auto 0;position:relative;z-index:3;padding-bottom:44px}.booking-card{background:#fff;border:1px solid var(--line);box-shadow:0 18px 50px rgba(33,25,20,.08);padding:34px}.booking-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:28px}.booking-card-head h2{font-size:clamp(28px,4vw,42px);letter-spacing:-.045em;line-height:1;margin:7px 0 0}.booking-card-head p{max-width:340px;color:var(--muted);font-size:13px;line-height:1.5;margin:0}.stack{display:grid;gap:24px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-first-row{padding-bottom:4px}label{display:grid;gap:8px;font-size:12px;font-weight:700}label>span{font-size:12px}input,textarea,select,button{font:inherit}input,textarea,select{width:100%;border:1px solid #cbc6c0;border-radius:0;padding:14px;background:#fff;color:var(--primary);min-height:50px}input:focus,textarea:focus,select:focus{outline:2px solid color-mix(in srgb,var(--primary) 30%,transparent);outline-offset:1px}textarea{min-height:105px;resize:vertical}.availability-block{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0}.field-title{color:var(--muted);margin-bottom:12px}.times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.time-btn{border:1px solid #9c9791;background:#fff;color:var(--primary);padding:13px 10px;cursor:pointer;min-height:48px;font-weight:600}.time-btn:hover{border-color:var(--primary)}.time-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.guest-fields{display:grid;gap:18px}.primary{border:1px solid var(--primary);background:var(--primary);color:#fff;padding:15px 20px;font-weight:750;cursor:pointer;min-height:52px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.submit-booking{width:100%;font-size:14px}.primary:disabled{opacity:.55;cursor:wait}.danger{border:1px solid #8a1f11;background:#fff;color:#8a1f11;padding:14px 18px;cursor:pointer}.actions{display:flex;gap:10px;flex-wrap:wrap}.muted{color:var(--muted);font-size:13px;line-height:1.55}.availability-empty{color:var(--muted);padding:12px 0}.error{background:#fff0ed;border:1px solid #d6a59d;padding:13px 14px;color:#7c281c}.error.standalone{width:min(700px,calc(100% - 32px));margin:80px auto}.success-inline{background:#eef7ef;border:1px solid #a9c8ae;padding:13px;color:#285e31}.status-line{padding:13px 15px;background:var(--accent);border-left:3px solid var(--primary)}.booking-policy{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:16px}.booking-policy>div{background:var(--paper);padding:18px 20px;display:grid;gap:6px}.booking-policy span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700}.booking-policy strong{font-size:13px}.result-card{text-align:center;padding:58px 34px}.result-card .eyebrow{color:var(--muted)}.result-card h2{font-size:clamp(38px,6vw,62px);letter-spacing:-.055em;margin:10px 0 15px}.result-card p{max-width:580px;margin:0 auto 28px;color:var(--muted);line-height:1.6}.result-mark{width:54px;height:54px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;margin:0 auto 25px;font-size:24px}.result-link{width:max-content;margin:auto}.powered{width:min(960px,calc(100% - 36px));margin:0 auto;padding:24px 0 38px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:9px;color:var(--muted);font-size:11px}.powered a{text-decoration:none;color:var(--primary);font-size:14px;letter-spacing:-.055em;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:600;white-space:nowrap}.powered a strong,.powered a b{font-weight:600}.powered a b{color:#a64b37}.honeypot{display:none!important}.loading{padding:80px 0;color:var(--muted);text-align:center}@media(max-width:720px){.restaurant-hero{min-height:330px}.booking-language{right:14px;top:14px}.restaurant-identity{width:min(100% - 28px,1120px);padding-bottom:32px;align-items:flex-start;flex-direction:column}.restaurant-logo{width:90px;height:90px}.restaurant-copy h1{font-size:46px}.booking-main{width:min(100% - 20px,960px);margin-top:-16px}.booking-card{padding:24px 18px}.booking-card-head{display:grid;gap:14px}.grid{grid-template-columns:1fr}.times{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-policy{grid-template-columns:1fr}.powered{width:min(100% - 28px,960px)}}@media(max-width:460px){.times{grid-template-columns:repeat(2,minmax(0,1fr))}.restaurant-meta{display:grid;gap:5px}.restaurant-hero{min-height:310px}.restaurant-copy h1{font-size:40px}.result-card{padding:42px 20px}}
.booking-legal{margin:12px 0 0;font-size:12px;line-height:1.45;color:var(--muted)}.booking-legal a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* Logo « gère ton resto. » — box noire, Helvetica Neue (graisse comme l'ancien GERETONRESTO) */
.powered a{display:inline-flex!important;align-items:baseline;width:max-content!important;max-width:100%;height:auto!important;justify-self:start;flex:0 0 auto!important;background:#1b1714!important;color:#fff!important;padding:.34em .55em .42em!important;border-radius:.3em!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;font-weight:500!important;letter-spacing:-.055em!important;line-height:1!important;text-transform:none!important;white-space:nowrap;text-decoration:none!important}
.powered a span{color:#fff!important;font-weight:500!important}
.powered a b{color:#e2684e!important;font-weight:650!important}
/* Mention « Propulsé par Gère ton resto » en haut de la page de réservation */
.powered-top{position:absolute;z-index:4;top:18px;left:max(20px,calc((100vw - 1120px)/2));display:inline-flex;align-items:center;gap:8px;padding:5px 6px 5px 11px;border-radius:999px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);color:#4f4743;font:500 11px/1 "Helvetica Neue",Helvetica,Arial,sans-serif;text-decoration:none}
.powered-top strong{display:inline-block;padding:.34em .55em .42em;border-radius:.3em;background:#1b1714;color:#fff;font-size:13px;font-weight:500;letter-spacing:-.055em;line-height:1;white-space:nowrap}
.powered-top strong b{color:#e2684e;font-weight:650}
.powered-top:hover{background:#fff}
.powered-top:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:720px){.powered-top{left:14px;top:14px}}
@media(max-width:380px){.powered-top span{display:none}.powered-top{padding:4px}}
