/* Consentement chat : petit bouton local fixe ; panneau crème ouvert uniquement au clic. Aucun décalage de mise en page. */
.et-chat-launch { position: fixed; z-index: 2147482000; right: max(20px, env(safe-area-inset-right)); bottom: max(20px, env(safe-area-inset-bottom)); display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 18px 10px 14px; border: 1px solid #BDB3FF; border-radius: 999px; background: #F9F5EC; color: #15151D; font: 700 14px/1 Manrope, system-ui, sans-serif; box-shadow: 0 8px 24px rgba(21, 21, 29, .16); cursor: pointer; transition: transform .2s ease, opacity .2s ease; }
.et-chat-launch::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #5B2CE8; }
.et-chat-launch:hover { transform: translateY(-2px); }
.et-chat-launch[hidden], .et-chat-consent[hidden] { display: none !important; }
.et-chat-consent { position: fixed; z-index: 2147482001; right: max(20px, env(safe-area-inset-right)); bottom: calc(max(20px, env(safe-area-inset-bottom)) + 56px); width: min(380px, calc(100vw - 32px)); max-height: calc(100dvh - 120px); overflow-y: auto; overscroll-behavior: contain; border: 1px solid #BDB3FF; border-radius: 16px; background: #F9F5EC; box-shadow: 0 18px 48px rgba(9, 10, 19, .24); }
.et-cc-card { position: relative; padding: 20px 20px 16px; border-left: 4px solid #5B2CE8; border-radius: 16px; color: #15151D; font: 400 14px/1.55 Manrope, system-ui, sans-serif; }
.et-cc-x { position: absolute; top: 10px; right: 10px; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.et-cc-x::before, .et-cc-x::after { content: ""; position: absolute; top: 17px; left: 10px; width: 16px; height: 2px; background: #15151D; transform: rotate(45deg); }
.et-cc-x::after { transform: rotate(-45deg); }
.et-cc-x:hover { background: #EAE5F5; }
.et-cc-kicker { margin: 0 0 6px; color: #5B2CE8; font: 500 11px/1.4 "DM Mono", ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; }
.et-cc-title { margin: 0 40px 8px 0; font: 700 19px/1.2 Manrope, system-ui, sans-serif; letter-spacing: -.01em; }
.et-cc-title:focus { outline: none; }
.et-cc-text { margin: 0 0 8px; color: #3a3943; }
.et-cc-more a { color: #15151D; font-weight: 700; text-underline-offset: 3px; }
.et-cc-more a:hover { color: #5B2CE8; }
.et-cc-actions { display: flex; gap: 8px; margin-top: 12px; }
.et-cc-btn { flex: 1 1 0; min-height: 44px; padding: 10px 14px; border: 2px solid #5B2CE8; border-radius: 999px; background: #F9F5EC; color: #15151D; font: 700 14px/1.2 Manrope, system-ui, sans-serif; cursor: pointer; transition: background .2s ease, color .2s ease; }
.et-cc-btn:hover { background: #5B2CE8; color: #F9F5EC; }
.et-cc-warn { margin: 6px 0 0; padding: 10px 12px; border-radius: 8px; background: #EAE5F5; color: #15151D; font-weight: 600; }
.et-cc-status { margin: 10px 0 0; color: #15151D; font-weight: 600; }
.et-cc-status[hidden], .et-cc-actions[hidden], .et-cc-withdraw[hidden], .et-cc-link[hidden] { display: none !important; }
.et-cc-link { margin: 10px 16px 0 0; padding: 4px 0; border: 0; background: none; color: #5B2CE8; font: 700 13px/1.4 Manrope, system-ui, sans-serif; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.et-cc-btn:focus-visible, .et-cc-link:focus-visible, .et-cc-x:focus-visible, .et-chat-launch:focus-visible, .et-chat-manage:focus-visible { outline: 3px solid #5B2CE8; outline-offset: 3px; }
.et-chat-manage { padding: 0; border: 0; background: none; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.et-chat-manage:hover { color: #BDB3FF; }
/* Entre mobile et 900 px, le chat occupe le coin bas-droit : le bouton flottant « Réserver ma place » passe au-dessus. */
@media (min-width: 601px) and (max-width: 900px) {
  .et-float { bottom: calc(max(20px, env(safe-area-inset-bottom)) + 76px); }
}
@media (max-width: 600px) {
  .et-chat-launch { left: max(16px, env(safe-area-inset-left)); right: auto; bottom: max(16px, env(safe-area-inset-bottom)); }
  .et-chat-launch[data-et-signup] { opacity: 0; visibility: hidden; pointer-events: none; }
  .et-chat-consent { left: 50%; right: auto; top: 50%; bottom: auto; width: calc(100vw - 24px); max-width: 400px; max-height: calc(100dvh - 32px); transform: translate(-50%, -50%); }
  .et-cc-card { padding: 18px 16px 14px; }
}
@media (prefers-reduced-motion: reduce) { .et-chat-launch { transition: none; } }
