
/* La Gourmandine — multilingual AI concierge */
:root{
  --ga-red:#a71930;
  --ga-red-dark:#8f1127;
  --ga-ink:#171412;
  --ga-paper:#fffdfa;
  --ga-muted:#6f6964;
  --ga-line:rgba(23,20,18,.12);
}
.g-ai-launcher{
  position:fixed;left:18px;bottom:18px;z-index:2147482000;
  width:62px;height:62px;border:0;border-radius:50%;
  display:grid;place-items:center;background:var(--ga-paper);
  box-shadow:0 12px 36px rgba(0,0,0,.22);
  cursor:pointer;padding:7px;transition:transform .18s ease,box-shadow .18s ease;
}
.g-ai-launcher:hover{transform:translateY(-2px);box-shadow:0 16px 42px rgba(0,0,0,.27)}
.g-ai-launcher img{width:100%;height:100%;object-fit:contain;border-radius:50%}
.g-ai-launcher::after{
  content:"";position:absolute;right:3px;bottom:5px;width:12px;height:12px;
  border-radius:50%;background:#39a55a;border:3px solid var(--ga-paper);
}
.g-ai-panel{
  position:fixed;left:18px;bottom:92px;z-index:2147482001;
  width:min(390px,calc(100vw - 36px));height:min(650px,calc(100vh - 120px));
  display:none;grid-template-rows:auto 1fr auto;
  background:var(--ga-paper);border:1px solid var(--ga-line);border-radius:24px;
  box-shadow:0 24px 80px rgba(0,0,0,.28);overflow:hidden;
  font-family:var(--font-glacial,"Glacial Indifference",Arial,sans-serif);
}
.g-ai-panel.open{display:grid}
.g-ai-head{
  display:grid;grid-template-columns:44px 1fr 38px;gap:10px;align-items:center;
  padding:14px 14px 13px;border-bottom:1px solid var(--ga-line);background:#fff;
}
.g-ai-avatar{width:44px;height:44px;border-radius:50%;object-fit:contain}
.g-ai-head strong{display:block;font-size:16px;color:var(--ga-ink);line-height:1.15}
.g-ai-head span{display:block;margin-top:3px;font-size:12px;color:var(--ga-muted)}
.g-ai-close{width:36px;height:36px;border:0;border-radius:50%;background:#f3efeb;color:var(--ga-ink);font-size:24px;cursor:pointer}
.g-ai-body{overflow:auto;padding:16px;scroll-behavior:smooth}
.g-ai-row{display:flex;margin:0 0 11px}
.g-ai-row.user{justify-content:flex-end}
.g-ai-bubble{
  max-width:87%;padding:11px 13px;border-radius:17px;
  font-size:15px;line-height:1.42;white-space:pre-wrap;
}
.g-ai-row.bot .g-ai-bubble{background:#f2eee9;color:var(--ga-ink);border-bottom-left-radius:5px}
.g-ai-row.user .g-ai-bubble{background:var(--ga-red);color:#fff;border-bottom-right-radius:5px}
.g-ai-actions{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 14px}
.g-ai-chip,.g-ai-action{
  border:1px solid rgba(167,25,48,.22);background:#fff;color:var(--ga-red);
  border-radius:999px;padding:9px 12px;font:700 13px/1.1 inherit;cursor:pointer;
}
.g-ai-action{background:var(--ga-red);color:#fff;border-color:var(--ga-red)}
.g-ai-chip:hover{background:#fff4f5}.g-ai-action:hover{background:var(--ga-red-dark)}
.g-ai-typing{display:inline-flex;gap:4px;align-items:center}
.g-ai-typing i{width:6px;height:6px;border-radius:50%;background:#8e8985;animation:gAiDot 1s infinite alternate}
.g-ai-typing i:nth-child(2){animation-delay:.18s}.g-ai-typing i:nth-child(3){animation-delay:.36s}
@keyframes gAiDot{to{opacity:.25;transform:translateY(-2px)}}
.g-ai-foot{padding:11px 12px 10px;border-top:1px solid var(--ga-line);background:#fff}
.g-ai-form{display:grid;grid-template-columns:1fr 42px;gap:8px}
.g-ai-input{
  width:100%;min-width:0;height:42px;border:1px solid var(--ga-line);border-radius:999px;
  padding:0 14px;background:#fff;color:var(--ga-ink);font:15px inherit;outline:none;
}
.g-ai-input:focus{border-color:rgba(167,25,48,.6);box-shadow:0 0 0 3px rgba(167,25,48,.08)}
.g-ai-send{
  width:42px;height:42px;border:0;border-radius:50%;background:var(--ga-red);
  color:#fff;font-size:19px;cursor:pointer;
}
.g-ai-note{margin:8px 3px 0;font-size:10.5px;line-height:1.3;color:#888}
.g-ai-note a{text-decoration:underline}
@media(max-width:640px){
  .g-ai-launcher{left:14px;bottom:82px;width:56px;height:56px}
  .g-ai-panel{
    left:10px;right:10px;bottom:148px;width:auto;
    height:min(610px,calc(100vh - 170px));border-radius:20px;
  }
}

/* =========================================================
   V1.2 — lighter floating AI launcher / mobile alignment
   Visual-only override. No assistant logic changes.
   ========================================================= */
.g-ai-launcher{
  left:22px!important;
  bottom:22px!important;
  width:50px!important;
  height:50px!important;
  padding:5px!important;
  background:rgba(255,253,250,.90)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.18)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  backdrop-filter:blur(12px)!important;
}
.g-ai-launcher:hover{
  transform:translateY(-2px) scale(1.025)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.22)!important;
}
.g-ai-launcher::after{
  right:1px!important;
  bottom:2px!important;
  width:9px!important;
  height:9px!important;
  border-width:2px!important;
}
.g-ai-panel{
  left:22px!important;
  bottom:84px!important;
  width:min(365px,calc(100vw - 44px))!important;
  height:min(570px,calc(100dvh - 110px))!important;
  border-radius:22px!important;
  box-shadow:0 22px 68px rgba(0,0,0,.24)!important;
}
.g-ai-head{
  grid-template-columns:38px 1fr 34px!important;
  padding:12px 12px 11px!important;
}
.g-ai-avatar{width:38px!important;height:38px!important}
.g-ai-head strong{font-size:15px!important}
.g-ai-head span{font-size:11px!important}
.g-ai-close{width:32px!important;height:32px!important;font-size:21px!important}
.g-ai-body{padding:14px!important}
.g-ai-bubble{font-size:14px!important;padding:10px 12px!important}
.g-ai-chip,.g-ai-action{font-size:12px!important;padding:8px 11px!important}
.g-ai-foot{padding:10px 10px 9px!important}
.g-ai-form{grid-template-columns:1fr 40px!important;gap:7px!important}
.g-ai-input{height:40px!important;font-size:14px!important}
.g-ai-send{width:40px!important;height:40px!important}
.g-ai-note{font-size:9.5px!important}

@media(max-width:640px){
  /* Same lower baseline as the Overfull floating booking control. */
  .g-ai-launcher{
    left:14px!important;
    right:auto!important;
    bottom:calc(16px + env(safe-area-inset-bottom))!important;
    width:48px!important;
    height:48px!important;
    padding:5px!important;
  }
  .g-ai-panel{
    left:12px!important;
    right:auto!important;
    bottom:calc(76px + env(safe-area-inset-bottom))!important;
    width:min(350px,calc(100vw - 24px))!important;
    height:min(560px,68dvh)!important;
    max-height:calc(100dvh - 98px)!important;
    border-radius:20px!important;
  }
  .g-ai-head{
    grid-template-columns:36px 1fr 32px!important;
    gap:8px!important;
    padding:11px!important;
  }
  .g-ai-avatar{width:36px!important;height:36px!important}
  .g-ai-body{padding:12px!important}
  .g-ai-bubble{max-width:90%!important;font-size:13.5px!important;line-height:1.4!important}
  .g-ai-actions{gap:6px!important;margin-bottom:11px!important}
  .g-ai-chip,.g-ai-action{font-size:11.5px!important;padding:8px 10px!important}
}

@media(max-width:380px){
  .g-ai-panel{
    width:calc(100vw - 20px)!important;
    left:10px!important;
  }
}

/* V2 intelligence UX */
.g-ai-avatar-wrap{position:relative;width:44px;height:44px}.g-ai-avatar-wrap .g-ai-avatar{width:44px;height:44px}.g-ai-avatar-wrap>span{position:absolute;right:-5px;bottom:-3px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#fff;border:1px solid rgba(23,20,18,.1);font-size:12px;box-shadow:0 3px 10px rgba(0,0,0,.12)}
.g-ai-wine-dot{position:absolute;left:-4px;top:-5px;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#fff;font-size:12px;box-shadow:0 3px 10px rgba(0,0,0,.14)}
.g-ai-modebar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px}.g-ai-sommelier,.g-ai-clear{border:0;background:none;padding:3px 2px;color:#a71930;font:700 11.5px/1.2 inherit;cursor:pointer}.g-ai-clear{color:#8b8580;font-weight:500}.g-ai-sommelier:hover,.g-ai-clear:hover{text-decoration:underline}.g-ai-note{font-size:9.5px!important;line-height:1.25!important}.g-ai-panel.sommelier .g-ai-head{box-shadow:inset 0 -2px 0 rgba(167,25,48,.16)}
@media(max-width:640px){.g-ai-modebar{margin-bottom:7px}.g-ai-sommelier,.g-ai-clear{font-size:11px}.g-ai-note{font-size:9px!important}}
