/* Restaurant.png — tokens et composants globaux conservés. */
.ch-restaurant .ch-hero {min-height:440px;padding-bottom:max(80px,6vw)}
.ch-restaurant .ch-hero__copy {max-width:620px}
.ch-restaurant .ch-hero h1 .ch-accent {display:block}
.ch-restaurant .ch-asset-missing {display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;border:1px dashed var(--ch-color-border);background:#eeeae5;color:var(--ch-color-muted);font-size:.8rem;text-align:center}
.ch-restaurant .ch-background-missing {position:absolute;bottom:38px;right:5%;margin:0;font-size:.7rem;color:#ddd}
.ch-restaurant .ch-restaurant-delivery-image.ch-asset-missing {inset:auto 20px 14px auto;width:auto;height:auto;display:block;padding:0;border:0;color:#ddd;background:transparent;z-index:2;font-size:.65rem}
.ch-restaurant-delivery-image.ch-asset-missing span {margin-left:8px}
.ch-restaurant-delivery-image.ch-asset-missing + .ch-restaurant-delivery-copy {padding-bottom:60px}
.ch-restaurant-table {position:relative;margin-top:-28px;padding:20px 24px;border-radius:var(--ch-radius-sm);background:var(--ch-color-bordeaux);display:grid;grid-template-columns:1.35fr 1fr 1fr 1.2fr 1.4fr;gap:14px;align-items:center}
.ch-restaurant-table h2 {font:600 1rem var(--ch-font-body);margin:0}
.ch-restaurant-table .ch-field {margin:0;min-width:0}
.ch-restaurant-table label {font-size:.8rem}
.ch-restaurant-table input {width:100%;min-width:0;color:var(--ch-color-text);background:white;padding:10px;border:1px solid var(--ch-color-border);border-radius:4px}
.ch-restaurant-notice {font-size:.8rem;margin:0;scroll-margin-top:2rem}
.ch-restaurant-table .ch-restaurant-notice {grid-column:1/-1}
.ch-restaurant-intro {display:grid;grid-template-columns:1fr 1.1fr;gap:6%;align-items:center}
.ch-restaurant-intro-image {width:100%;height:360px;object-fit:cover;border-radius:var(--ch-radius-md)}
.ch-restaurant-benefits {list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:26px 0;text-align:center;font-size:.8rem}
.ch-restaurant-benefits .ch-icon {display:block;margin:0 auto 12px;color:var(--ch-color-gold-text);font-size:1.2rem}
.ch-restaurant-menu {padding-bottom:24px;scroll-margin-top:1rem}
.ch-restaurant-menu header {text-align:center}
.ch-restaurant-menu header p {margin-bottom:4px}
.ch-restaurant-categories {display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:20px 0}
.ch-restaurant-categories a {background:#f0eeee;border-color:transparent;color:var(--ch-color-text);text-transform:uppercase;min-width:110px}
.ch-restaurant-categories a[aria-current] {background:var(--ch-color-bordeaux);color:white}
.ch-restaurant-dishes {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.ch-dish {overflow:hidden;display:flex;flex-direction:column}
.ch-dish-image {width:100%;height:180px;object-fit:cover}
.ch-dish-body {padding:16px;display:flex;flex-direction:column;flex:1}
.ch-dish h3 {font-size:1.25rem;margin-bottom:10px}
.ch-dish-body p {font-size:.9rem;flex:1}
.ch-dish .ch-button {margin-top:12px;width:100%}
.ch-restaurant-menu-all .ch-actions {justify-content:center;margin-top:18px}
.ch-restaurant-empty {text-align:center;padding:24px;border:1px solid var(--ch-color-border)}
.ch-restaurant-delivery {position:relative;overflow:hidden;border-radius:var(--ch-radius-md);margin-block:0 24px;min-height:325px}
.ch-restaurant-delivery-image {position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ch-restaurant-delivery::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.93),rgba(0,0,0,.65) 45%,rgba(0,0,0,.1))}
.ch-restaurant-delivery-copy {position:relative;z-index:1;max-width:570px;padding:30px}
.ch-restaurant-delivery ul {list-style:none;margin:0 0 20px;padding:0;font-size:.9rem}
.ch-restaurant-delivery .ch-icon {color:var(--ch-color-gold);width:1em;height:1em}
.ch-restaurant-delivery .ch-restaurant-notice {margin-top:14px}
.ch-restaurant-practical {border:1px solid var(--ch-color-border);border-radius:var(--ch-radius-md);padding:28px 10px;margin-bottom:24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));text-align:center}
.ch-restaurant-practical > div {padding:0 22px;border-right:1px solid var(--ch-color-border)}
.ch-restaurant-practical > div:last-child {border:0}
.ch-restaurant-practical h2 {font:400 .9rem var(--ch-font-body);color:var(--ch-color-gold-text);margin:20px 0 14px}
.ch-restaurant-practical .ch-icon {color:var(--ch-color-gold-text)}
.ch-restaurant-practical p,.ch-restaurant-practical a {font-size:.9rem;color:inherit;text-decoration:none}
.ch-restaurant-practical .ch-socials {justify-content:center;flex-wrap:wrap}
@media(max-width:1024px) {.ch-restaurant-table {grid-template-columns:repeat(3,minmax(0,1fr))}.ch-restaurant-table h2 {grid-column:1/-1}.ch-restaurant-table > .ch-button {grid-column:1/-1}.ch-restaurant-dishes {grid-template-columns:repeat(2,minmax(0,1fr))}.ch-restaurant-practical {grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.ch-restaurant-practical > div:nth-child(2) {border:0}.ch-restaurant-intro {gap:30px}.ch-restaurant-benefits {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px) {.ch-restaurant-intro {grid-template-columns:1fr}.ch-restaurant-intro-image {height:300px}.ch-restaurant .ch-hero {min-height:400px}}
@media(max-width:480px) {.ch-restaurant-table {grid-template-columns:1fr;padding:18px}.ch-restaurant-dishes,.ch-restaurant-practical {grid-template-columns:1fr}.ch-restaurant-practical > div {border:0;border-bottom:1px solid var(--ch-color-border);padding-bottom:20px}.ch-dish-image {height:220px}.ch-restaurant-delivery-copy {padding:24px}.ch-restaurant-categories {display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ch-restaurant-categories a {min-width:0;padding-inline:6px;font-size:.75rem}}
