/* ===== RestoCall — immersif.css =====
   Pages sombres « immersives » (lot 4, audit V4 / K7) : carte.html, demo-site-restaurant.html,
   demo-agent-vocal.html, demo-reservation.html, demo-admin.html.
   Elles gardent leur fond sombre, mais portent la même marque que l'accueil :
   - en-tête réduit : « ← Retour », logo, UN bouton plein « Créer mon site gratuit » ;
   - boutons de l'accueil (dégradé bleu, rayon plein, même survol) ;
   - bandeau repliable en bas d'écran sur les maquettes ;
   - pied de page de l'accueil (carte, démo site, démo vocale).
   Aucune dépendance : pas de Font Awesome (absent des maquettes), flèches et coches en SVG inline.
   Les maquettes n'ont pas chargé Inter : la pile système prend le relais, sans nouvelle police. */

.im-entete,.im-bandeau,.im-sortie,.im-btn,.pied{
  --im-bleu:#2563EB;
  --im-bleu-clair:#60A5FA;
  --im-degrade:linear-gradient(135deg,#2563EB 0%,#3B82F6 50%,#60A5FA 100%);
  --im-transition:250ms cubic-bezier(.4,0,.2,1);
  --im-police:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --im-titre:'Space Grotesk','Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}

/* ── En-tête réduit ── */
.im-entete{position:relative;z-index:50;font-family:var(--im-police);}
.im-entete-dedans{max-width:1120px;margin:0 auto;padding:.9rem 1.25rem;display:flex;align-items:center;gap:.75rem;}
.im-retour{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:0 1rem;border-radius:9999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:rgba(248,250,252,.85);font-size:.86rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:background var(--im-transition),color var(--im-transition);}
.im-retour:hover{background:rgba(255,255,255,.09);color:#fff;}
.im-logo{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;color:#fff;text-decoration:none;font-family:var(--im-titre);font-weight:700;font-size:1.12rem;letter-spacing:-.02em;white-space:nowrap;}
.im-logo img{width:30px;height:30px;display:block;flex-shrink:0;}
.im-logo-ai{color:var(--im-bleu-clair);}
.im-entete-cta{margin-left:auto;}
.im-entete :focus-visible,.im-bandeau :focus-visible,.im-sortie :focus-visible,.pied :focus-visible{outline:3px solid #93C5FD;outline-offset:3px;}
@media(max-width:520px){
  .im-entete-dedans{padding:.75rem 1rem;gap:.5rem;}
  .im-entete--retour .im-logo-texte{display:none;}
  .im-suite{display:none;}
}
/* Maquette ouverte dans la fenêtre de demo-site-restaurant.html : la fenêtre a déjà son en-tête (fermer, plein écran). */
.im-cadre .im-entete{display:none;}

/* ── Boutons : ceux de l'accueil ── */
.im-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:44px;padding:.8rem 1.5rem;border-radius:9999px;border:none;font-family:var(--im-police);font-size:.95rem;font-weight:600;line-height:1.3;letter-spacing:normal;text-transform:none;text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform var(--im-transition),box-shadow var(--im-transition),background var(--im-transition),border-color var(--im-transition);}
.im-btn svg{flex-shrink:0;transition:transform var(--im-transition);}
.im-btn--plein{background:var(--im-degrade);color:#fff;box-shadow:0 8px 16px -4px rgba(37,99,235,.35);}
.im-btn--plein:hover{color:#fff;transform:translateY(-2px);box-shadow:0 20px 25px -5px rgba(0,0,0,.28),0 8px 16px -4px rgba(37,99,235,.45);}
.im-btn--plein:hover svg{transform:translateX(3px);}
.im-btn--plein:active{transform:scale(.96);}
.im-btn--contour{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.32);}
.im-btn--contour:hover{color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.58);transform:translateY(-2px);}
.im-entete .im-btn{padding:.6rem 1.15rem;font-size:.88rem;font-weight:700;}
.im-reassurance{margin:.8rem 0 0;font-family:var(--im-police);font-size:.84rem;font-weight:500;line-height:1.5;color:rgba(248,250,252,.74);letter-spacing:normal;text-transform:none;}
.im-reassurance::before{content:"";display:inline-block;width:.95em;height:.95em;margin-right:.45em;vertical-align:-.13em;border-radius:50%;background:#34D399 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.2 8.3l2.5 2.4 5-5.2' fill='none' stroke='%230F172A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/78% no-repeat;}

/* ── Bandeau repliable en bas d'écran (maquettes interactives) ──
   Ne masque pas la démo : une ligne sur ordinateur, se replie en pastille ; au-dessus de la zone de geste iOS. */
.im-bandeau{position:fixed;z-index:90;left:50%;bottom:calc(.85rem + env(safe-area-inset-bottom,0px));transform:translateX(-50%);display:flex;align-items:center;gap:.85rem;width:max-content;max-width:calc(100% - 1.5rem);padding:.45rem .45rem .45rem 1.2rem;border-radius:9999px;background:rgba(15,23,42,.93);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(96,165,250,.38);box-shadow:0 18px 40px -12px rgba(0,0,0,.65);font-family:var(--im-police);color:#F8FAFC;}
.im-bandeau{transition:opacity .25s ease,translate .25s ease,visibility 0s;}
.im-bandeau--masque{opacity:0;visibility:hidden;pointer-events:none;translate:0 1rem;transition:opacity .25s ease,translate .25s ease,visibility 0s linear .25s;}
.im-bandeau-texte{margin:0;font-size:.92rem;font-weight:600;line-height:1.35;white-space:nowrap;}
.im-bandeau .im-btn{padding:.6rem 1.15rem;font-size:.88rem;}
.im-bandeau-replier{flex-shrink:0;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:#CBD5E1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background var(--im-transition),color var(--im-transition);}
.im-bandeau-replier:hover{background:rgba(255,255,255,.12);color:#fff;}
.im-bandeau-replier svg{transition:transform var(--im-transition);}
.im-bandeau[data-replie="true"]{left:auto;right:.85rem;transform:none;padding:.35rem;gap:.35rem;}
.im-bandeau[data-replie="true"] .im-bandeau-texte{display:none;}
.im-bandeau[data-replie="true"] .im-bandeau-replier svg{transform:rotate(180deg);}
@media(max-width:640px){
  .im-bandeau:not([data-replie="true"]){left:.75rem;right:.75rem;transform:none;width:auto;max-width:none;flex-wrap:wrap;gap:.5rem;padding:.6rem .6rem .65rem .95rem;border-radius:1.1rem;}
  .im-bandeau:not([data-replie="true"]) .im-bandeau-texte{flex:1 1 0;white-space:normal;}
  .im-bandeau:not([data-replie="true"]) .im-btn{order:3;flex:1 1 100%;}
}
@media print{.im-bandeau{display:none;}}

/* ── Écran de sortie (fin du parcours de demo-reservation.html) ── */
.im-sortie{width:100%;max-width:440px;margin:1.6rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(96,165,250,.22);text-align:center;font-family:var(--im-police);letter-spacing:normal;text-transform:none;}
.im-sortie-titre{margin:0 0 1.1rem;font-family:var(--im-titre);font-size:1.4rem;font-weight:700;line-height:1.25;letter-spacing:-.01em;color:#fff;}
.im-sortie-liens{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem 1.4rem;margin-top:.9rem;}
.im-lien{display:inline-flex;align-items:center;min-height:44px;padding:0;border:none;background:none;color:#BFDBFE;font-family:var(--im-police);font-size:.92rem;font-weight:500;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.im-lien:hover{color:#fff;}

/* ── Pied de page de l'accueil (copie de blog/blog.css, section « Pied de page ») ── */
.pied{background:#0F172A;color:rgba(255,255,255,.8);padding:4rem 2rem 2rem;font-family:var(--im-police);line-height:1.6;text-align:left;border-top:1px solid rgba(255,255,255,.06);position:relative;z-index:1;}
.pied .footer-content{max-width:1280px;margin:0 auto 3rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;}
.pied h3,.pied h4{font-family:var(--im-titre);font-weight:700;line-height:1.2;letter-spacing:-.02em;}
.pied .footer-brand h3{color:#fff;margin:0 0 1rem;font-size:1.5rem;}
.pied .footer-logo{display:flex;align-items:center;gap:.65rem;}
.pied .footer-logo img{width:36px;height:36px;display:block;}
.pied .footer-brand p{color:rgba(255,255,255,.7);line-height:1.7;margin:0 0 1.5rem;font-size:1rem;}
.pied .footer-brand .footer-france{font-size:.82rem;color:rgba(255,255,255,.55);margin:1rem 0 0;}
.pied .footer-france svg{display:inline-block;width:1.35em;height:.9em;border-radius:2px;box-shadow:0 0 0 1px rgba(15,23,42,.14);flex-shrink:0;vertical-align:-.08em;margin-left:.15em;}
.pied .footer-links h4{color:#fff;margin:0 0 1.25rem;font-size:1rem;}
.pied .footer-links ul{list-style:none;margin:0;padding:0;}
.pied .footer-links li{margin:0 0 .75rem;font-size:1rem;}
.pied .footer-links a{color:rgba(255,255,255,.7);text-decoration:none;transition:all var(--im-transition);display:inline-block;}
.pied .footer-links a:hover{color:#fff;transform:translateX(3px);}
.pied .footer-note{color:rgba(255,255,255,.5);font-size:.78rem!important;margin-top:.5rem;}
.pied .footer-bottom{max-width:1280px;margin:0 auto;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.pied .footer-bottom p{margin:0;color:rgba(255,255,255,.66);font-size:.86rem;}
.pied .footer-bottom-links{display:flex;gap:2rem;flex-wrap:wrap;}
.pied .footer-bottom-links a{color:rgba(255,255,255,.6);text-decoration:none;font-size:.875rem;}
.pied .footer-bottom-links a:hover{color:#fff;}
@media(max-width:1024px){.pied .footer-content{grid-template-columns:repeat(2,1fr);}}
@media(max-width:768px){
  .pied{padding:2.25rem 1rem 1.25rem;}
  .pied .footer-content{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1rem;margin-bottom:2rem;}
  .pied .footer-brand,.pied .footer-content > .footer-links:last-child{grid-column:1 / -1;}
  .pied .footer-brand .footer-france{display:none;}
  .pied .footer-links h4{margin-bottom:.75rem;}
  .pied .footer-links li{margin-bottom:.45rem;font-size:.88rem;}
  .pied .footer-bottom{flex-direction:column;text-align:center;gap:.75rem;}
  .pied .footer-bottom-links{justify-content:center;}
}
@media(max-width:480px){
  .pied{padding:2rem 1rem 1.25rem;}
  .pied .footer-content{margin-bottom:1.25rem;}
  .pied .footer-bottom{padding-top:1.25rem;}
  .pied .footer-brand p{margin-bottom:.75rem;font-size:.875rem;}
}

@media(prefers-reduced-motion:reduce){
  .im-btn,.im-btn svg,.im-retour,.im-bandeau,.im-bandeau-replier,.im-bandeau-replier svg,.pied .footer-links a{transition:none!important;}
  .im-btn:hover,.im-btn--plein:hover svg{transform:none!important;}
}
