
.footer-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.footer-social a{display:inline-flex;align-items:center;gap:9px;border:1px solid currentColor;border-radius:999px;padding:10px 15px;text-decoration:none;font-size:14px;transition:background .2s,transform .2s}.footer-social svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.footer-social a:hover{background:#ffffff18;transform:translateY(-2px)}.footer-social a:focus-visible,.route-dialog a:focus-visible,.route-close:focus-visible{outline:3px solid #c35038;outline-offset:4px}.route-dialog{width:min(440px,calc(100vw - 32px));box-sizing:border-box;border:1px solid #d8c8b5;border-radius:20px;background:#faf2e5;color:#25201b;padding:30px;box-shadow:0 20px 70px #0003}.route-dialog::backdrop{background:#211a1766;backdrop-filter:blur(4px)}.route-dialog h2{font:700 27px/1.1 sans-serif;text-transform:none;margin:0 40px 12px 0;color:#813c32}.route-dialog p{font:15px/1.5 sans-serif;margin:0 0 24px}.route-close{position:absolute;right:16px;top:14px;border:1px solid #d8c8b5;background:transparent;border-radius:50%;width:36px;height:36px;font-size:24px;cursor:pointer}.route-options{display:grid;gap:12px}.route-options a{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border:1px solid #813c32;border-radius:10px;color:#813c32;text-decoration:none;font:600 16px sans-serif}.route-options a:first-child{background:#813c32;color:#fff}.route-dialog[open]{animation:route-enter .2s ease-out}@keyframes route-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.route-dialog[open]{animation:none}.footer-social a{transition:none}}

/* Commandes pizzas vers Uber Eats — identité terracotta */
.uber-banner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);margin-top:35px;margin-bottom:45px;border:1px solid #d5b9a4;background:#813c32;color:#f9f0df;overflow:hidden;border-radius:6px}.uber-banner-photo{min-height:280px;overflow:hidden}.uber-banner-photo img{width:100%;height:100%;object-fit:cover}.uber-banner-copy{padding:clamp(24px,4vw,48px)}.uber-banner .eyebrow{color:#e5c2a3;margin:0 0 14px}.uber-banner h2{color:#fff3df;font:800 clamp(28px,4vw,46px)/1.05 var(--display);margin:0 0 18px}.uber-banner-copy>p:not(.eyebrow){font-size:15px;line-height:1.6;max-width:40em}.uber-order{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;background:#faf0df;color:#813c32;padding:15px 20px;border-radius:999px;text-decoration:none;font-weight:700;margin:10px 0 15px;transition:transform .2s}.uber-order:hover{transform:translateY(-2px)}.uber-order:focus-visible{outline:3px solid #fff;outline-offset:4px}.uber-banner small{display:block;font-size:11px;line-height:1.5;color:#e9d3c1}.brand img{object-fit:contain}.identity-v2-intro{padding:32px;background:#f6ecdb;border:1px solid #d7bda5;border-radius:12px;margin:28px 0}.identity-v2-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.identity-v2-grid img{width:100%;height:auto}.identity-v2-intro h2{color:#813c32}.identity-v2-intro p{line-height:1.6}.identity-v2-label{display:block;font-size:12px;margin:8px 0;color:#776353}@media(max-width:650px){.uber-banner{grid-template-columns:1fr;margin-top:22px;margin-bottom:26px}.uber-banner-photo{height:170px;min-height:0}.uber-banner-copy{padding:22px}.uber-banner h2{font-size:30px}.uber-order{width:100%;box-sizing:border-box;font-size:14px}.identity-v2-grid{grid-template-columns:1fr}.identity-v2-intro{padding:18px}}@media(prefers-reduced-motion:reduce){.uber-order{transition:none}}

.header .brand img{display:block!important;width:104px;height:84px;object-fit:contain;border-radius:0}.header .brand-name{display:none}.identity-v2-intro{max-width:1200px;margin:28px auto;box-sizing:border-box}.identity-v2-grid figure{margin:0}.identity-v2-grid img{max-height:430px;object-fit:contain}@media(max-width:650px){.header .brand img{width:88px;height:70px}.identity-v2-intro{margin:20px 12px}.identity-v2-grid img{max-height:330px}}

/* Choix clair entre retrait sur le site et livraison Uber Eats. */
.uber-banner-shop{background:#fffaf2;color:#211c17;border-color:#d7bda5}
.uber-banner-shop .uber-banner-copy{background:#fffaf2}
.uber-banner-shop .eyebrow{color:#516b46}
.uber-banner-shop h2{color:#211c17}
.uber-banner-shop small{color:#60584f}
.order-choice{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:22px 0 15px}
.pickup-order,.uber-banner-shop .uber-order{display:inline-flex;align-items:center;justify-content:center;gap:16px;border-radius:999px;text-decoration:none;font-weight:750;transition:transform .2s ease}
.pickup-order{flex:1 1 240px;min-height:66px;padding:12px 25px;background:#813c32;color:#fffaf2;font-size:17px}
.uber-banner-shop .uber-order{flex:0 1 auto;min-height:46px;padding:9px 17px;margin:0;background:#06c167;color:#071e10;font-size:13px}
.pickup-order:hover,.uber-banner-shop .uber-order:hover{transform:translateY(-2px)}
.pickup-order:focus-visible,.uber-banner-shop .uber-order:focus-visible{outline:3px solid #211c17;outline-offset:3px}
@media(max-width:650px){.order-choice{align-items:stretch}.pickup-order{flex-basis:100%;min-height:58px}.uber-banner-shop .uber-order{width:auto;min-height:42px}}
@media(prefers-reduced-motion:reduce){.pickup-order,.uber-banner-shop .uber-order{transition:none}}

/* Bandeau image en plein écran, sans bordure ni gouttière. */
.uber-banner-shop.wrap{display:block;position:relative;left:50%;width:100vw;max-width:none;box-sizing:border-box;margin:35px 0 45px -50vw;padding:0;border:0;border-radius:0;overflow:hidden;background:#fffaf2}
.uber-banner-shop .uber-banner-photo{width:100%;height:auto;aspect-ratio:16/6;min-height:0;overflow:hidden}
.uber-banner-shop .uber-banner-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 52%;border:0;border-radius:0}
.uber-banner-shop .uber-banner-copy{padding:clamp(24px,5vw,64px) max(24px,calc((100vw - 1120px)/2))}
@media(max-width:650px){.uber-banner-shop.wrap{margin:22px 0 26px -50vw}.uber-banner-shop .uber-banner-photo{height:auto;aspect-ratio:16/6;min-height:0}.uber-banner-shop .uber-banner-copy{padding:24px 20px}}

/* Itinéraire : choix clair, icônes de marque et surfaces sobres. */
.route-dialog{width:min(430px,calc(100vw - 32px));padding:32px;border:1px solid #e5d8c7;border-radius:22px;background:#fffaf2;color:#211c17;box-shadow:0 24px 80px #211a1740}
.route-dialog h2{margin:0 48px 12px 0;color:#813c32;font-size:32px;line-height:1;text-transform:none;letter-spacing:-.03em}
.route-dialog .route-eyebrow{margin:0 0 10px;color:#8c7463;font-size:10px;font-weight:750;letter-spacing:.14em;text-transform:uppercase}
.route-dialog .route-address{margin:0 0 24px;color:#71675d;font-size:14px;line-height:1.55}
.route-close{right:16px;top:16px;width:38px;height:38px;border:1px solid #e5d8c7;background:#fffaf2;color:#813c32;font-size:21px;line-height:1;transition:background .18s,transform .18s}
.route-close:hover{background:#f3e8d8;transform:rotate(90deg)}
.route-options{display:grid;gap:10px}
.route-options .route-option{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:14px;min-height:72px;padding:12px 16px;border:1px solid #e5d8c7;border-radius:14px;background:#fff;color:#211c17;text-decoration:none;transition:border-color .18s,transform .18s,box-shadow .18s}
.route-options .route-option:hover{transform:translateY(-1px);border-color:#c6a58e;box-shadow:0 8px 22px #211a1710}
.route-option svg{width:38px;height:38px;display:block}
.route-option span{display:grid;gap:2px}
.route-option strong{font-size:15px;font-weight:700}
.route-option small{color:#88796b;font-size:11px;font-weight:500}
.route-option b{color:#813c32;font-size:18px;font-weight:500}
.route-dialog a:focus-visible,.route-close:focus-visible{outline:3px solid #c35038;outline-offset:3px}
.contact-block{grid-template-columns:minmax(0,1fr);max-width:820px}
.contact-visuals-full{position:relative;left:50%;width:100vw;max-width:none;margin:0 0 0 -50vw;padding:0;display:grid;grid-template-columns:1fr;gap:0}
.contact-visuals-full figure{margin:0;overflow:hidden}
.contact-visuals-full img{display:block;width:100%;max-width:none;height:auto;object-fit:cover}
.contact-visuals-full figcaption{padding:12px 20px;background:#813c32;color:#fff4e4;font-size:11px;letter-spacing:.04em}
@media(max-width:650px){.route-dialog{padding:28px 20px 20px;border-radius:20px}.route-dialog h2{font-size:29px}.route-options .route-option{min-height:68px;padding:10px 13px}.contact-visuals-full figcaption{padding:10px 16px}}
@media(prefers-reduced-motion:reduce){.route-close,.route-options .route-option{transition:none}}

/* Contact page: storefront and welcome character share a balanced two-column frame. */
.contact-visuals-full { grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr); gap: 0; align-items: stretch; }
.contact-visuals-full .contact-storefront { min-height: 560px; background: #eadbc6; }
.contact-visuals-full .contact-storefront img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.contact-visual-side { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: minmax(360px, 1fr); min-width: 0; background: #f6eedf; }
.contact-visual-side .plaque-visual { display: grid; grid-template-rows: 1fr auto; align-items: center; min-width: 0; min-height: 0; padding: clamp(12px, 1.5vw, 22px); }
.contact-visual-side .plaque-visual img { width: 100%; max-height: 300px; object-fit: contain; }
.contact-visual-side .plaque-visual figcaption { padding: 8px 0 0; color: #51372d; background: transparent; }
.contact-visual-side .contact-mascot { display: grid; grid-template-rows: 1fr auto; align-items: center; gap: 0; min-width: 0; min-height: 0; padding: 12px 10px 8px; background: #eadbc6; }
.contact-visual-side .contact-mascot img { width: 100%; height: 100%; max-height: 340px; object-fit: contain; object-position: center; justify-self: center; }
.contact-visual-side .contact-mascot figcaption { align-self: end; max-width: 22ch; padding: 8px 0 0; color: #51372d; background: transparent; font: 700 clamp(13px, 1.1vw, 17px)/1.15 var(--display); letter-spacing: 0; text-align: center; }
@media (max-width: 760px) {
  .contact-visuals-full { grid-template-columns: minmax(0, 1fr); }
  .contact-visuals-full .contact-storefront { min-height: 0; aspect-ratio: 4 / 3; }
  .contact-visual-side { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: minmax(240px, 64vw); }
  .contact-visual-side .plaque-visual { padding: 12px; }
  .contact-visual-side .plaque-visual img { max-height: none; }
  .contact-visual-side .contact-mascot { display: flex; flex-direction: column; justify-content: center; gap: 0; padding: 10px 8px 0; }
  .contact-visual-side .contact-mascot img { width: 100%; height: 48vw; max-height: 250px; }
  .contact-visual-side .contact-mascot figcaption { max-width: 18ch; padding: 5px 4px 10px; text-align: center; font-size: 14px; }
}

/* Identité réunie dans une seule image, avec composition adaptée au mobile. */
.contact-brand-visual{display:grid;grid-template-rows:1fr auto;align-content:center;min-width:0;margin:0;padding:clamp(14px,2vw,28px);background:#f6eedf}
.contact-brand-visual picture{display:block;min-width:0}
.contact-brand-visual img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain}
.contact-brand-visual figcaption{padding:12px 0 0;color:#51372d;background:transparent;font:700 clamp(14px,1.1vw,17px)/1.2 var(--display);letter-spacing:0}
.footer-social a{color:#fff4e4}
.footer-social svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}
@media(max-width:650px){.contact-brand-visual{padding:10px 14px}.contact-brand-visual img{max-height:none;width:100%}.contact-brand-visual figcaption{font-size:14px}}

/* Deux modes de commande sur le site, avec Uber Eats en lien secondaire. */
.order-choice .delivery-order{display:inline-flex;align-items:center;justify-content:center;gap:16px;flex:1 1 240px;min-height:66px;padding:12px 25px;border:2px solid #813c32;border-radius:999px;background:#fffaf2;color:#813c32;text-decoration:none;font-size:17px;font-weight:750;transition:transform .2s ease}
.order-choice .delivery-order:hover{transform:translateY(-2px)}
.order-choice .delivery-order:focus-visible{outline:3px solid #211c17;outline-offset:3px}
@media(max-width:650px){.order-choice .delivery-order{flex-basis:100%;min-height:58px}}

/* Façade côté salle, photo fournie par le client. */
.contact-visuals-full{grid-template-columns:minmax(0,42%) minmax(0,58%)}
.contact-visuals-full .contact-storefront{min-height:720px;max-height:780px}
.contact-visuals-full .contact-storefront img{object-position:center 56%}
.contact-visuals-full .contact-brand-visual{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:clamp(24px,4vw,60px)}
.contact-visuals-full .contact-brand-visual picture{width:100%}
.contact-visuals-full .contact-brand-visual figcaption{text-align:center}
@media(max-width:850px){.contact-visuals-full{grid-template-columns:minmax(0,1fr)}.contact-visuals-full .contact-storefront{min-height:0;max-height:700px;aspect-ratio:4/5}.contact-visuals-full .contact-storefront img{object-position:center 54%}}
@media(max-width:650px){.contact-visuals-full .contact-storefront{max-height:none;aspect-ratio:3/4}.contact-visuals-full .contact-brand-visual{padding:20px 14px 24px}}
