.xy-v2-wrapper {
  max-width: 1120px;
  margin: 32px auto;
  padding: 0 18px;
  font-family: inherit;
}
.xy-v2-hero,
.xy-v2-card {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 20px;
  box-shadow: 0 16px 44px rgba(15, 23, 42, 0.08);
  padding: 28px;
  margin-bottom: 20px;
}
.xy-v2-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 12px;
  opacity: 0.7;
}
.xy-v2-hero h2,
.xy-v2-card h3 {
  margin-top: 0;
}
.xy-v2-description p:last-child,
.xy-v2-weather p:last-child {
  margin-bottom: 0;
}
.xy-v2-intro {
  font-size: 18px;
  line-height: 1.55;
  margin: 10px 0 18px;
}
.xy-v2-radius-note {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 8px 12px;
  margin: 0 0 14px;
  background: rgba(15, 23, 42, 0.06);
  color: #334155;
  font-size: 14px;
}
.xy-v2-city-info {
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  margin-top: 18px;
  padding-top: 18px;
}
.xy-v2-city-info h3 {
  margin-top: 0;
  font-size: 20px;
}
.xy-v2-webcam-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}
.xy-v2-webcam-card {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  padding: 12px;
}
.xy-v2-webcam-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 16px;
  background: var(--xy-v2-primary, #0f172a);
}
.xy-v2-webcam-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.xy-v2-webcam-card h4 {
  margin: 12px 0 6px;
}
.xy-v2-webcam-card p {
  margin: 0 0 10px;
  font-size: 14px;
  opacity: 0.82;
}
.xy-v2-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 8px 12px;
  background: var(--xy-v2-button-bg, var(--xy-v2-primary, #0f172a));
  color: var(--xy-v2-button-text, #fff);
  text-decoration: none;
  font-size: 13px;
}
.xy-v2-link:hover,
.xy-v2-link:focus {
  color: #fff;
  opacity: 0.9;
}
.xy-v2-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0;
}
.xy-v2-quick-actions button,
.xy-v2-chat-form button {
  border: 0;
  border-radius: 999px;
  padding: 10px 16px;
  background: var(--xy-v2-button-bg, var(--xy-v2-primary, #0f172a));
  color: var(--xy-v2-button-text, #fff);
  cursor: pointer;
}
.xy-v2-chat-widget,
.xy-v2-chat-widget * {
  box-sizing: border-box;
}
.xy-v2-chat-widget {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 99999;
  font-family: var(--xy-v2-font-family, inherit);
  max-width: calc(100vw - 28px);
}
.xy-v2-chat-toggle {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: 0;
  background: var(--xy-v2-button-bg, var(--xy-v2-primary, #0f172a));
  color: var(--xy-v2-button-text, var(--xy-v2-header-text, #fff));
  font-size: 26px;
  cursor: pointer;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.25);
}
.xy-v2-chat-panel {
  display: none;
  position: absolute;
  right: 0;
  bottom: 78px;
  width: min(390px, calc(100vw - 36px));
  height: 560px;
  max-height: calc(100vh - 120px);
  background: var(--xy-v2-chat-bg, #f8fafc);
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 22px;
  box-shadow: 0 22px 80px rgba(15, 23, 42, 0.24);
  overflow: hidden;
  max-width: calc(100vw - 36px);
}
.xy-v2-chat-widget.is-open .xy-v2-chat-panel {
  display: flex;
  flex-direction: column;
}
.xy-v2-chat-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 18px;
  background: var(--xy-v2-primary, #0f172a);
  color: var(--xy-v2-header-text, #fff);
  min-width: 0;
}
.xy-v2-chat-header-main {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: 1 1 auto;
}
.xy-v2-chat-avatar {
  width: 55px;
  height: 55px;
  border-radius: 50%;
  overflow: hidden;
  flex: 0 0 55px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.18);
  box-shadow: 0 4px 14px rgba(0,0,0,0.18);
}
.xy-v2-chat-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.xy-v2-chat-header-content {
  min-width: 0;
  flex: 1 1 auto;
}
.xy-v2-chat-subtitle {
  margin-top: 2px;
  font-size: 13px;
  line-height: 1.3;
  opacity: 0.92;
  overflow-wrap: anywhere;
}
.xy-v2-chat-header strong {
  color: var(--xy-v2-title-color, var(--xy-v2-header-text, #fff));
  min-width: 0;
  overflow-wrap: anywhere;
}
.xy-v2-chat-close {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 50%;
  color: var(--xy-v2-header-text, #fff);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  flex: 0 0 auto;
  transition: transform .16s ease, background .16s ease, opacity .16s ease;
}
.xy-v2-chat-close:hover,
.xy-v2-chat-close:focus {
  background: rgba(255,255,255,0.18);
  transform: scale(1.04);
  opacity: 1;
}
.xy-v2-chat-close span {
  display: block;
  transform: translateY(-1px);
}
.xy-v2-chat-messages {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 16px;
  background: var(--xy-v2-chat-bg, #f8fafc);
  max-width: 100%;
}
.xy-v2-msg {
  max-width: 86%;
  margin-bottom: 10px;
  padding: 11px 13px;
  border-radius: 16px;
  line-height: 1.4;
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal;
}
.xy-v2-msg a {
  color: var(--xy-v2-primary, #0f172a);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.xy-v2-msg-bot {
  background: var(--xy-v2-bot-bg, #fff);
  border: 1px solid rgba(15, 23, 42, 0.08);
  color: var(--xy-v2-text-color, #0f172a);
}
.xy-v2-msg-user {
  margin-left: auto;
  background: var(--xy-v2-primary, #0f172a);
  color: var(--xy-v2-user-text, #fff);
}
.xy-v2-msg-user a {
  color: var(--xy-v2-user-text, #fff);
}
.xy-v2-chat-form {
  display: flex;
  gap: 8px;
  padding: 12px;
  background: #fff;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  position: relative;
  max-width: 100%;
}
.xy-v2-chat-form input {
  flex: 1 1 auto;
  min-width: 0;
  border: 1px solid rgba(15, 23, 42, 0.18);
  border-radius: 999px;
  padding: 10px 14px;
  color: var(--xy-v2-input-text, var(--xy-v2-text-color, #0f172a));
  background: var(--xy-v2-input-bg, #ffffff);
}
.xy-v2-chat-form button {
  flex: 0 0 auto;
}
.xy-v2-chat-form.is-loading::before {
  content: '';
  display: none;
  position: absolute;
  bottom: 65px;
  left: 18px;
  font-size: 12px;
  opacity: 0.7;
  color: var(--xy-v2-text-color, #0f172a);
}
@media (max-width: 520px) {
  .xy-v2-chat-widget {
    right: 14px;
    bottom: 14px;
  }
  .xy-v2-chat-panel {
    height: 74vh;
    width: calc(100vw - 28px);
    max-width: calc(100vw - 28px);
  }
  .xy-v2-chat-form {
    gap: 6px;
  }
  .xy-v2-chat-form button {
    padding-left: 12px;
    padding-right: 12px;
  }
}
.xy-v2-date-action {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.xy-v2-date-action label {
  font-weight: 700;
  color: var(--xy-v2-text-color, #0f172a);
}
.xy-v2-date-action input[type="date"] {
  max-width: 170px;
  border: 1px solid rgba(15, 23, 42, 0.18);
  border-radius: 999px;
  padding: 9px 12px;
  min-width: 0;
}
.xy-v2-chat-panel,
.xy-v2-chat-messages,
.xy-v2-msg,
.xy-v2-msg * {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-wrap: break-word;
}
.xy-v2-msg pre,
.xy-v2-msg code {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.xy-v2-chat-form {
  overflow: hidden;
}
@media (max-width: 520px) {
  .xy-v2-date-action {
    width: 100%;
  }
  .xy-v2-date-action input[type="date"] {
    flex: 1 1 150px;
  }
}

/* V2.1.2 — boutons frontend plus propres et anti-styles du thème */
.xy-v2-wrapper,
.xy-v2-wrapper * {
  box-sizing: border-box;
}
.xy-v2-quick-actions {
  align-items: center;
  gap: 12px;
  margin: 22px 0 24px;
}
.xy-v2-quick-actions > button,
.xy-v2-date-action button {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 44px !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 14px !important;
  padding: 0 16px !important;
  margin: 0 !important;
  background: var(--xy-v2-button-bg, var(--xy-v2-primary, #0f172a)) !important;
  color: var(--xy-v2-button-text, var(--xy-v2-header-text, #fff)) !important;
  font-family: var(--xy-v2-font-family, inherit) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14) !important;
  cursor: pointer !important;
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease !important;
}
.xy-v2-quick-actions > button:hover,
.xy-v2-date-action button:hover,
.xy-v2-quick-actions > button:focus,
.xy-v2-date-action button:focus {
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.18) !important;
  opacity: .96 !important;
}
.xy-v2-date-action {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  padding: 6px !important;
  border: 1px solid rgba(15, 23, 42, 0.09) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06) !important;
}
.xy-v2-date-action label {
  margin: 0 2px 0 4px !important;
  white-space: nowrap !important;
  font-size: 14px !important;
}
.xy-v2-date-action input[type="date"] {
  height: 44px !important;
  width: 170px !important;
  max-width: min(170px, 48vw) !important;
  border-radius: 14px !important;
  background: #fff !important;
}

/* V2.1.2 — webcams : évite les iframes cassées et affiche un vrai état de secours */
.xy-v2-webcam-frame {
  background: linear-gradient(135deg, rgba(15,23,42,.08), rgba(15,23,42,.16));
}
.xy-v2-webcam-frame img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
}
.xy-v2-webcam-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 18px;
  text-align: center;
  color: #334155;
  background: linear-gradient(135deg, #f1f5f9, #e2e8f0);
}
.xy-v2-webcam-placeholder span {
  font-size: 26px;
  line-height: 1;
}
.xy-v2-webcam-placeholder strong {
  font-size: 14px;
  color: #0f172a;
}
.xy-v2-webcam-placeholder small {
  font-size: 12px;
  color: #64748b;
}
.xy-v2-webcam-frame-image .xy-v2-webcam-placeholder {
  display: none;
}
.xy-v2-webcam-frame-image.is-broken .xy-v2-webcam-placeholder {
  display: flex;
}

/* V2.1.2 — chat : boutons et messages sans scroll horizontal */
.xy-v2-chat-panel,
.xy-v2-chat-panel * {
  box-sizing: border-box;
}
.xy-v2-chat-panel {
  overflow: hidden !important;
}
.xy-v2-chat-messages {
  overscroll-behavior: contain;
}
.xy-v2-msg {
  width: fit-content;
  min-width: 0;
  max-width: 88% !important;
  overflow: hidden;
}
.xy-v2-msg p,
.xy-v2-msg ul,
.xy-v2-msg ol {
  max-width: 100%;
  overflow-wrap: anywhere;
}
.xy-v2-language-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  max-width: 88%;
  margin: 0 0 12px;
}
.xy-v2-language-chips button,
.xy-v2-chat-form button {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  height: 42px !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  border: 0 !important;
  border-radius: 14px !important;
  padding: 0 14px !important;
  margin: 0 !important;
  background: var(--xy-v2-button-bg, var(--xy-v2-primary, #0f172a)) !important;
  color: var(--xy-v2-button-text, var(--xy-v2-header-text, #fff)) !important;
  font-family: var(--xy-v2-font-family, inherit) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}
.xy-v2-chat-form button {
  flex: 0 0 auto !important;
  min-width: 86px !important;
}
.xy-v2-chat-form input {
  height: 42px !important;
  max-width: 100% !important;
}
.xy-v2-chat-toggle {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 60px !important;
  height: 60px !important;
  min-width: 60px !important;
  min-height: 60px !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  border-radius: 50% !important;
}
@media (max-width: 700px) {
  .xy-v2-quick-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .xy-v2-quick-actions > button {
    width: 100% !important;
    white-space: normal !important;
  }
  .xy-v2-date-action {
    grid-column: 1 / -1;
    width: 100%;
    flex-wrap: wrap;
  }
}
@media (max-width: 420px) {
  .xy-v2-quick-actions {
    grid-template-columns: 1fr;
  }
  .xy-v2-date-action input[type="date"] {
    flex: 1 1 150px !important;
    width: auto !important;
  }
  .xy-v2-chat-form {
    align-items: stretch;
  }
  .xy-v2-chat-form button {
    min-width: 74px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}


/* V2.1.3 — correctif critique : le panneau de chat ne doit jamais reprendre la largeur du bouton */
html body .xy-v2-chat-widget[data-xy-v2-chat] {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat].is-open {
  width: 390px !important;
  min-width: 320px !important;
  max-width: calc(100vw - 32px) !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-panel {
  position: fixed !important;
  right: 22px !important;
  bottom: 96px !important;
  left: auto !important;
  top: auto !important;
  width: 390px !important;
  min-width: 320px !important;
  max-width: calc(100vw - 32px) !important;
  height: 560px !important;
  max-height: calc(100vh - 125px) !important;
  min-height: 360px !important;
  display: none !important;
  flex-direction: column !important;
  overflow: hidden !important;
  transform: none !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat].is-open .xy-v2-chat-panel {
  display: flex !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-header {
  width: 100% !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-header strong {
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  letter-spacing: normal !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-messages {
  width: 100% !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form {
  width: 100% !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
}
@media (max-width: 520px) {
  html body .xy-v2-chat-widget[data-xy-v2-chat] {
    right: 14px !important;
    bottom: 14px !important;
  }
  html body .xy-v2-chat-widget[data-xy-v2-chat].is-open {
    width: calc(100vw - 28px) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 28px) !important;
  }
  html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-panel {
    right: 14px !important;
    bottom: 88px !important;
    width: calc(100vw - 28px) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 28px) !important;
    height: 74vh !important;
    max-height: calc(100vh - 112px) !important;
  }
}

/* V3 — envoi du récapitulatif par mail */
.xy-v2-email-share {
  flex: 0 0 auto;
  padding: 10px 12px 12px;
  background: #fff;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}
.xy-v2-email-toggle {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--xy-v2-primary, #0f172a) !important;
  font-family: var(--xy-v2-font-family, inherit) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 0 !important;
  margin: 0 0 8px !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  cursor: pointer !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  box-shadow: none !important;
}
.xy-v2-email-form {
  display: flex;
  gap: 8px;
  align-items: center;
  max-width: 100%;
}
.xy-v2-email-form[hidden] {
  display: none !important;
}
.xy-v2-email-form input[type="email"] {
  flex: 1 1 auto;
  min-width: 0;
  height: 40px;
  border: 1px solid rgba(15, 23, 42, 0.18);
  border-radius: 14px;
  padding: 9px 12px;
  color: var(--xy-v2-text-color, #0f172a);
}
.xy-v2-email-form button {
  flex: 0 0 auto !important;
  height: 40px !important;
  min-width: 74px !important;
  border-radius: 14px !important;
  border: 0 !important;
  padding: 0 12px !important;
  background: var(--xy-v2-button-bg, var(--xy-v2-primary, #0f172a)) !important;
  color: var(--xy-v2-button-text, var(--xy-v2-header-text, #fff)) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}
.xy-v2-email-status {
  min-height: 16px;
  margin: 6px 0 0;
  font-size: 12px;
  line-height: 1.3;
  color: var(--xy-v2-text-color, #0f172a);
  opacity: .82;
}
@media (max-width: 420px) {
  .xy-v2-email-form {
    flex-direction: column;
    align-items: stretch;
  }
  .xy-v2-email-form button,
  .xy-v2-email-form input[type="email"] {
    width: 100% !important;
  }
}

/* V4.1 — liens du chat visibles en boutons compacts */
.xy-v2-msg-bot a,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-msg-bot a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  margin: 2px 2px !important;
  padding: 5px 9px !important;
  border-radius: 999px !important;
  background: var(--xy-v2-button-bg, var(--xy-v2-primary, #0f172a)) !important;
  color: var(--xy-v2-button-text, var(--xy-v2-header-text, #ffffff)) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  max-width: 100% !important;
}
.xy-v2-msg-bot a:hover,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-msg-bot a:hover {
  opacity: .9 !important;
  text-decoration: none !important;
}

/* V5.0 — indicateur de réflexion du chatbot */
.xy-v2-chat-form.is-loading::before,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form.is-loading::before {
  content: none !important;
  display: none !important;
}
.xy-v2-thinking,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-thinking {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  max-width: 88% !important;
  opacity: .9;
}
.xy-v2-thinking-text {
  white-space: nowrap;
}
.xy-v2-thinking-dots {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.xy-v2-thinking-dots span {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: currentColor;
  opacity: .35;
  animation: xyTcThinkingDots 1s infinite ease-in-out;
}
.xy-v2-thinking-dots span:nth-child(2) {
  animation-delay: .16s;
}
.xy-v2-thinking-dots span:nth-child(3) {
  animation-delay: .32s;
}
@keyframes xyTcThinkingDots {
  0%, 80%, 100% {
    transform: translateY(0);
    opacity: .35;
  }
  40% {
    transform: translateY(-3px);
    opacity: 1;
  }
}

/* V5.2 — bouton de réinitialisation de session */
.xy-v2-session-reset,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-session-reset {
  display: flex !important;
  justify-content: flex-start !important;
  width: 100% !important;
  margin: 8px 0 4px !important;
}
.xy-v2-session-reset button,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-session-reset button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 9px 14px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: var(--xy-v2-button-bg, var(--xy-v2-primary, #0f172a)) !important;
  color: var(--xy-v2-button-text, var(--xy-v2-header-text, #ffffff)) !important;
  font-family: var(--xy-v2-font-family, inherit) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
  white-space: normal !important;
  max-width: 100% !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .16) !important;
}
.xy-v2-session-reset button:hover,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-session-reset button:hover {
  opacity: .92 !important;
}

/* V5.3 — carte gratuite OpenStreetMap avant les webcams */
.xy-v2-map-card {
  overflow: hidden;
}
.xy-v2-map-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}
.xy-v2-map-head h3 {
  margin: 0 0 6px !important;
}
.xy-v2-map-head p {
  margin: 0;
  color: #475569;
  line-height: 1.45;
}
.xy-v2-map-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: 16px;
  align-items: stretch;
}
.xy-v2-map-canvas {
  width: 100%;
  min-height: 420px;
  border-radius: 18px;
  overflow: hidden;
  background: #e2e8f0;
  border: 1px solid rgba(15, 23, 42, 0.08);
  z-index: 1;
}
.xy-v2-map-list {
  max-height: 420px;
  overflow: auto;
  padding: 6px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, 0.08);
}
.xy-v2-map-status {
  margin: 10px;
  color: #475569;
  font-size: 14px;
  line-height: 1.45;
}
.xy-v2-map-list-item {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: flex !important;
  width: 100% !important;
  gap: 10px !important;
  align-items: flex-start !important;
  text-align: left !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #0f172a !important;
  padding: 10px !important;
  margin: 0 0 8px !important;
  cursor: pointer !important;
  box-shadow: none !important;
  min-height: 0 !important;
  height: auto !important;
  font-family: var(--xy-v2-font-family, inherit) !important;
}
.xy-v2-map-list-item:hover,
.xy-v2-map-list-item:focus {
  border-color: rgba(15, 23, 42, 0.22) !important;
  background: #f8fafc !important;
}
.xy-v2-map-pin {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: var(--xy-v2-primary, #0f172a);
  color: var(--xy-v2-header-text, #fff);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}
.xy-v2-map-list-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.xy-v2-map-list-text strong {
  font-size: 14px;
  line-height: 1.25;
  color: #0f172a;
}
.xy-v2-map-list-text small,
.xy-v2-map-list-text em {
  font-size: 12px;
  line-height: 1.25;
  color: #64748b;
  font-style: normal;
}
.xy-v2-map-list-text .xy-v2-map-geocoded {
  color: #475569;
  opacity: .78;
}
.xy-v2-map-card .leaflet-container {
  font-family: var(--xy-v2-font-family, inherit);
}
.xy-v2-map-card .leaflet-popup-content {
  line-height: 1.35;
}
.xy-v2-map-card .leaflet-popup-content a {
  display: inline-flex;
  margin-top: 5px;
  padding: 5px 9px;
  border-radius: 999px;
  background: var(--xy-v2-primary, #0f172a);
  color: var(--xy-v2-header-text, #fff) !important;
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
}
@media (max-width: 860px) {
  .xy-v2-map-layout {
    grid-template-columns: 1fr;
  }
  .xy-v2-map-canvas {
    min-height: 340px;
  }
  .xy-v2-map-list {
    max-height: 280px;
  }
}

/* V5.5 — météo dans le bloc informations */
.xy-v2-city-weather {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(15, 23, 42, 0.05);
  border: 1px solid rgba(15, 23, 42, 0.08);
  color: #334155;
}
.xy-v2-city-weather strong {
  color: #0f172a;
}
.xy-v2-city-weather span {
  line-height: 1.35;
}

/* V5.5 — carte centrée sur la ville + aperçu photo au survol */
.xy-v2-map-canvas {
  position: relative;
}
.xy-v2-map-radius-circle {
  stroke: var(--xy-v2-primary, #0f172a);
  fill: var(--xy-v2-primary, #0f172a);
}
.xy-v2-map-photo-preview {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 500;
  width: min(220px, calc(100% - 28px));
  border-radius: 16px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.12);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.22);
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}
.xy-v2-map-photo-preview.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.xy-v2-map-photo-preview img {
  display: block;
  width: 100%;
  height: 130px;
  object-fit: cover;
  background: #e2e8f0;
}
.xy-v2-map-photo-preview strong,
.xy-v2-map-photo-preview small {
  display: block;
  padding: 0 12px;
}
.xy-v2-map-photo-preview strong {
  padding-top: 10px;
  color: #0f172a;
  line-height: 1.25;
}
.xy-v2-map-photo-preview small {
  padding-top: 4px;
  padding-bottom: 10px;
  color: #64748b;
  line-height: 1.25;
}
.xy-v2-map-photo-empty {
  height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e2e8f0;
  color: #64748b;
  font-size: 13px;
  font-weight: 700;
}
.xy-v2-map-popup-photo {
  display: block;
  width: 210px;
  max-width: 100%;
  height: 105px;
  object-fit: cover;
  border-radius: 10px;
  margin: 0 0 8px;
  background: #e2e8f0;
}
@media (max-width: 640px) {
  .xy-v2-map-photo-preview {
    top: auto;
    bottom: 14px;
    right: 14px;
    width: min(200px, calc(100% - 28px));
  }
  .xy-v2-map-photo-preview img {
    height: 105px;
  }
}

/* V5.6.1 — correctif carte : certains thèmes imposent une hauteur/affichage à 0 */
.xy-v2-map-card,
.xy-v2-map-layout,
.xy-v2-map-canvas {
  display: block;
}
.xy-v2-map-layout {
  display: grid !important;
}
.xy-v2-map-canvas,
.xy-v2-map-canvas.leaflet-container {
  height: 420px !important;
  min-height: 420px !important;
  max-height: none !important;
}
.xy-v2-map-canvas .leaflet-pane,
.xy-v2-map-canvas .leaflet-map-pane,
.xy-v2-map-canvas .leaflet-tile-pane,
.xy-v2-map-canvas .leaflet-overlay-pane,
.xy-v2-map-canvas .leaflet-marker-pane,
.xy-v2-map-canvas .leaflet-popup-pane {
  max-width: none !important;
}
@media (max-width: 640px) {
  .xy-v2-map-canvas,
  .xy-v2-map-canvas.leaflet-container {
    height: 340px !important;
    min-height: 340px !important;
  }
}


/* V5.6.3 — correction largeur carte / suppression scroll horizontal */
.xy-v2-wrapper,
.xy-v2-wrapper *,
.xy-v2-chat-widget,
.xy-v2-chat-widget * {
  box-sizing: border-box;
}
.xy-v2-wrapper,
.xy-v2-card,
.xy-v2-map-card,
.xy-v2-map-layout,
.xy-v2-map-canvas,
.xy-v2-map-list {
  max-width: 100% !important;
  min-width: 0 !important;
}
.xy-v2-map-card {
  width: 100% !important;
  overflow: hidden !important;
}
.xy-v2-map-layout {
  width: 100% !important;
  overflow: hidden !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(240px, .75fr) !important;
}
.xy-v2-map-canvas,
.xy-v2-map-canvas.leaflet-container {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.xy-v2-map-list {
  width: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
.xy-v2-map-list-item,
html body .xy-v2-wrapper .xy-v2-map-list-item {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.xy-v2-map-list-text {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.xy-v2-map-list-text strong,
.xy-v2-map-list-text small,
.xy-v2-map-list-text em {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
.xy-v2-map-card .leaflet-container,
.xy-v2-map-card .leaflet-pane,
.xy-v2-map-card .leaflet-map-pane {
  max-width: 100% !important;
}
.xy-v2-map-photo-empty {
  display: none !important;
}
@media (max-width: 980px) {
  .xy-v2-map-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* V6.1 — météo locale dans l'entête du chat, aucune information hors bulle */
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-header {
  align-items: flex-start !important;
  gap: 12px !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-header-content {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-weather {
  display: block !important;
  margin-top: 5px !important;
  line-height: 1.25 !important;
  color: var(--xy-v2-header-text, #fff) !important;
  opacity: 0.92 !important;
  white-space: normal !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-weather span {
  display: block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  opacity: 0.8 !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-weather small {
  display: block !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

/* V7.3 — rendu frontend verrouillé comme la prévisualisation backend */
html body .xy-v2-chat-widget[data-xy-v2-chat],
html body .xy-v2-chat-widget[data-xy-v2-chat] * {
  font-family: var(--xy-v2-font-family, inherit) !important;
  box-sizing: border-box !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-panel {
  background: var(--xy-v2-chat-bg, #f8fafc) !important;
  font-size: var(--xy-v2-font-size, 14px) !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-header {
  background: var(--xy-v2-primary, #0f172a) !important;
  color: var(--xy-v2-header-text, #fff) !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-header strong {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.18 !important;
  max-height: 2.36em !important;
  color: var(--xy-v2-title-color, var(--xy-v2-header-text, #fff)) !important;
  font-size: calc(var(--xy-v2-font-size, 14px) + 1px) !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-close {
  color: var(--xy-v2-header-text, #fff) !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-messages {
  background: var(--xy-v2-chat-bg, #f8fafc) !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-msg {
  font-size: var(--xy-v2-font-size, 14px) !important;
  line-height: 1.42 !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-msg-bot {
  background: var(--xy-v2-bot-bg, #fff) !important;
  color: var(--xy-v2-text-color, #0f172a) !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-msg-user,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-language-chips button {
  background: var(--xy-v2-primary, #0f172a) !important;
  color: var(--xy-v2-user-text, #fff) !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-share {
  background: #fff !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form input[type="text"],
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-form input[type="email"] {
  background: var(--xy-v2-input-bg, #fff) !important;
  color: var(--xy-v2-input-text, #0f172a) !important;
  font-size: var(--xy-v2-font-size, 14px) !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form button,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-form button,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-toggle {
  background: var(--xy-v2-button-bg, var(--xy-v2-primary, #0f172a)) !important;
  color: var(--xy-v2-button-text, var(--xy-v2-header-text, #fff)) !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-toggle {
  color: var(--xy-v2-primary, #0f172a) !important;
  font-size: calc(var(--xy-v2-font-size, 14px) - 1px) !important;
}

/* V7.3 correctif — taille de police appliquée à toute la fenêtre */
html body .xy-v2-chat-widget[data-xy-v2-chat] {
  font-size: var(--xy-v2-font-size, 14px) !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-panel,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-header,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-weather,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-weather span,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-weather small,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-messages,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-msg,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-msg *,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-language-chips button,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form input[type="text"],
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form button,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-toggle,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-form input[type="email"],
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-form button,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-status {
  font-size: var(--xy-v2-font-size, 14px) !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-header strong {
  font-size: calc(var(--xy-v2-font-size, 14px) + 1px) !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-close {
  font-size: calc(var(--xy-v2-font-size, 14px) + 10px) !important;
}

/* V7.4 — tailles séparées et verrouillage final frontend/back */
html body .xy-v2-chat-widget[data-xy-v2-chat],
html body .xy-v2-chat-widget[data-xy-v2-chat] * {
  font-family: var(--xy-v2-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] {
  font-size: var(--xy-v2-text-font-size, var(--xy-v2-font-size, 14px)) !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-panel,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-messages,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-msg,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-msg *,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-weather,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-weather span,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-weather small,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form input[type="text"],
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-form input[type="email"],
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-status {
  font-size: var(--xy-v2-text-font-size, var(--xy-v2-font-size, 14px)) !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-header strong {
  font-size: var(--xy-v2-title-font-size, 16px) !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form button,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-form button,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-toggle,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-language-chips button,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-toggle {
  font-size: var(--xy-v2-button-font-size, var(--xy-v2-text-font-size, 14px)) !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-close {
  font-size: calc(var(--xy-v2-title-font-size, 16px) + 8px) !important;
}


/* V7.4.1 — couleurs HEX effectives et boutons langue liés au réglage "Fond boutons / langues" */
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-language-chips button,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form button,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-form button,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-toggle,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-session-reset button,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-msg-bot a {
  background: var(--xy-v2-button-bg, var(--xy-v2-primary, #0f172a)) !important;
  color: var(--xy-v2-button-text, #ffffff) !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-msg-user {
  background: var(--xy-v2-primary, #0f172a) !important;
  color: var(--xy-v2-user-text, #ffffff) !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-header {
  background: var(--xy-v2-primary, #0f172a) !important;
}


/* V7.4.3 — chat toujours au premier plan */
html body .xy-v2-chat-widget[data-xy-v2-chat] {
  position: fixed !important;
  z-index: 2147483646 !important;
  isolation: isolate !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat].is-open,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-toggle,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-panel {
  z-index: 2147483647 !important;
}

/* V7.5.0 — phrase agenda dans l'entête du chat */
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-agenda {
  margin-top: 4px;
  font-size: calc(var(--xy-v2-text-font-size, 14px) - 1px);
  line-height: 1.25;
  color: var(--xy-v2-chat-header-text, #ffffff);
  opacity: .95;
  font-weight: 600;
}

html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-agenda span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-agenda span::before {
  content: '📅';
  font-size: .95em;
}


/* V7.5.5 — dictée vocale et lecture audio des réponses */
/* v9.7.4 — Bouton de langue placé dans la barre de saisie, juste avant le champ.
   La grille de drapeaux était retirée du DOM après le premier choix et la langue
   mémorisée n'expire pas : le retour au français était impossible. Même gabarit
   que le bouton micro pour ne pas alourdir la barre. */
.xy-v2-chat-form .xy-v2-chat-language,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form .xy-v2-chat-language {
  min-width: 42px !important;
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  border-radius: 14px !important;
  font-size: 17px !important;
  line-height: 1 !important;
  background: transparent !important;
  color: var(--xy-v2-primary, #0f172a) !important;
  box-shadow: none !important;
  border: 0 !important;
  cursor: pointer;
  flex: 0 0 auto;
}
.xy-v2-chat-form .xy-v2-chat-language:hover,
.xy-v2-chat-form .xy-v2-chat-language:focus,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form .xy-v2-chat-language:hover,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form .xy-v2-chat-language:focus {
  background: transparent !important;
  opacity: .82 !important;
  box-shadow: none !important;
}
/* Grille de drapeaux rappelée par ce bouton : elle reste dans le fil de
   conversation, où elle était déjà, mais n'est plus détruite. */
.xy-v2-chat-form .xy-v2-voice-input,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form .xy-v2-voice-input {
  min-width: 42px !important;
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  border-radius: 14px !important;
  font-size: 16px !important;
  line-height: 1 !important;
  background: transparent !important;
  color: var(--xy-v2-primary, #0f172a) !important;
  box-shadow: none !important;
  border: 0 !important;
}
.xy-v2-chat-form .xy-v2-voice-input:hover,
.xy-v2-chat-form .xy-v2-voice-input:focus,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form .xy-v2-voice-input:hover,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form .xy-v2-voice-input:focus {
  background: transparent !important;
  opacity: .82 !important;
  box-shadow: none !important;
}
.xy-v2-chat-form .xy-v2-voice-input.is-listening,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form .xy-v2-voice-input.is-listening {
  opacity: 1 !important;
  background: rgba(239, 68, 68, .12) !important;
  color: #b91c1c !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, .22) !important;
  border: 1px solid rgba(239, 68, 68, .35) !important;
}
.xy-v2-chat-form .xy-v2-voice-input[aria-pressed="true"],
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form .xy-v2-voice-input[aria-pressed="true"] {
  font-weight: 700 !important;
}
.xy-v2-chat-form .xy-v2-voice-input.is-disabled,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form .xy-v2-voice-input.is-disabled {
  opacity: .48 !important;
}
.xy-v2-speak-answer,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-speak-answer {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  padding: 0 !important;
  margin: 8px 0 0 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--xy-v2-button-bg, var(--xy-v2-primary, #0f172a)) !important;
  color: var(--xy-v2-button-text, var(--xy-v2-header-text, #ffffff)) !important;
  font-size: 14px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: 0 8px 16px rgba(15, 23, 42, .14) !important;
}
.xy-v2-speak-answer.is-speaking,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-speak-answer.is-speaking {
  opacity: .9 !important;
}
@media (max-width: 420px) {
  .xy-v2-chat-form .xy-v2-voice-input,
  html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form .xy-v2-voice-input {
    min-width: 40px !important;
    width: 40px !important;
  }
}


/* V7.5.11 — sépare l'icône audio du texte de réponse */
.xy-v2-speak-answer-row,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-speak-answer-row {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  width: 100% !important;
  margin-top: 10px !important;
  clear: both !important;
}
.xy-v2-speak-answer-row .xy-v2-speak-answer,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-speak-answer-row .xy-v2-speak-answer {
  margin: 0 !important;
  flex: 0 0 30px !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-msg-bot > .xy-v2-speak-answer-row:first-child {
  margin-top: 0 !important;
}

/* V7.5.12 — corrections mobile entête, événement, météo et largeur chat */
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-header {
  position: relative !important;
  display: block !important;
  padding: 14px 50px 14px 18px !important;
  min-height: 0 !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-header-content {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-close {
  position: absolute !important;
  top: 8px !important;
  right: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
  z-index: 3 !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-agenda {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 6px !important;
  padding-right: 0 !important;
  line-height: 1.22 !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-agenda span {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-agenda span::before {
  display: inline-block !important;
  margin-right: 5px !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-weather {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 7px !important;
  padding-right: 0 !important;
  overflow: visible !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-weather span,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-weather small {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form {
  width: 100% !important;
  max-width: 100% !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form input[type="text"] {
  width: 100% !important;
  max-width: 100% !important;
}
@media (max-width: 520px) {
  html body .xy-v2-chat-widget[data-xy-v2-chat] {
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
  }
  html body .xy-v2-chat-widget[data-xy-v2-chat].is-open {
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
  }
  html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-panel {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    height: 82vh !important;
    height: 82dvh !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    border-radius: 18px 18px 0 0 !important;
  }
  html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-messages {
    width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 42px minmax(82px, auto) !important;
    align-items: center !important;
    gap: 8px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form input[type="text"] {
    min-width: 0 !important;
  }
  html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-share {
    width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}
@media (max-width: 360px) {
  html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form {
    grid-template-columns: minmax(0, 1fr) 40px !important;
  }
  html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-form button[type="submit"] {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }
}

/* V7.5.20 — lien agenda dans l'entête du chat */
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-agenda-link {
  display: inline-block !important;
  margin-top: 3px !important;
  color: var(--xy-v2-chat-header-text, #ffffff) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  font-weight: 700 !important;
  opacity: .98 !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-agenda-link:hover,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-agenda-link:focus {
  opacity: 1 !important;
  text-decoration-thickness: 2px !important;
}


/* V7.5.22 — détails agenda dans le chat */
html body .xy-v2-chat-widget[data-xy-v2-chat] button.xy-v2-agenda-link {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  font: inherit;
  color: inherit;
  text-decoration: underline;
  cursor: pointer;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-agenda-chat-item {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid rgba(15, 23, 42, 0.12);
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-agenda-chat-item a {
  font-weight: 600;
  text-decoration: underline;
}
.xyv2-feedback{border-top:1px solid rgba(15,23,42,.08);padding:12px;background:#fff;display:flex;flex-direction:column;gap:8px}.xyv2-feedback[hidden]{display:none}.xyv2-stars{display:flex;gap:4px}.xyv2-stars button{border:0;background:transparent;font-size:24px;cursor:pointer;line-height:1}.xyv2-stars button.is-active{font-weight:700}.xyv2-feedback textarea{width:100%;border:1px solid rgba(15,23,42,.16);border-radius:12px;padding:8px;resize:vertical}.xyv2-feedback [data-xyv2-feedback-send]{border:0;border-radius:999px;padding:8px 12px;background:var(--xy-v2-button-bg,#0f172a);color:var(--xy-v2-button-text,#fff);cursor:pointer}.xy-v2-language-grid{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.xy-v2-language-grid button{border:1px solid rgba(15,23,42,.12);border-radius:999px;background:#fff;padding:7px 10px;cursor:pointer}


/* ValerIA 2 v1.0.3 — titre de fenêtre en gras + message d'accueil paramétrable */
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-header strong,
.xy-v2-chat-header strong {
  font-weight: 800 !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-msg,
.xy-v2-msg {
  font-size: var(--xy-v2-text-font-size, var(--xy-v2-font-size, 14px)) !important;
}


/* ValerIA 2 v1.0.5 — phrase agenda visible dans l'entête */
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-header-content,
.xy-v2-chat-header-content {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}


/* ValerIA 2 v1.0.6 — sous-titre, lecture vocale et commentaire obligatoire avis faibles */
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-subtitle,
.xy-v2-chat-subtitle{
  display:block!important;
  margin-top:4px!important;
  font-size:calc(var(--xy-v2-text-font-size,var(--xy-v2-font-size,14px)) - 1px)!important;
  line-height:1.25!important;
  color:var(--xy-v2-header-text,#fff)!important;
  opacity:.9!important;
  overflow-wrap:anywhere!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-subtitle[hidden],
.xy-v2-chat-subtitle[hidden]{display:none!important}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-read-text,
.xy-v2-read-text{
  margin-left:8px!important;
  padding:2px 5px!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(15,23,42,.08)!important;
  color:inherit!important;
  cursor:pointer!important;
  font-size:14px!important;
  line-height:1.2!important;
  vertical-align:middle!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-feedback textarea.is-required,
.xyv2-feedback textarea.is-required{border-color:#dc2626!important;background:#fff7f7!important}

/* ValerIA 2 v1.0.11 — fermeture avis */
.xyv2-feedback{position:relative}
.xyv2-feedback-close{position:absolute;top:8px;right:8px;width:26px;height:26px;border:0;border-radius:999px;background:rgba(15,23,42,.08);color:#0f172a;font-size:18px;line-height:1;cursor:pointer}
.xyv2-feedback-close:hover{background:rgba(15,23,42,.16)}
.xyv2-feedback strong{padding-right:34px}

/* ValerIA 2 v1.0.15 — historique multi-pages + réouverture avis */
.xy-v2-email-share{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.xy-v2-email-share .xy-v2-email-form{flex-basis:100%}
.xy-v2-email-share .xy-v2-email-status{flex-basis:100%;margin:0}
.xyv2-feedback-open{border:0;background:transparent;color:var(--xy-v2-button-bg,#0f172a);text-decoration:underline;cursor:pointer;font-size:var(--xy-v2-button-font-size,var(--xy-v2-font-size,14px));padding:6px 4px}
.xyv2-feedback-open[hidden]{display:none!important}


/* ValerIA 2 v1.0.17 — sources masquées côté chat + avis stylisé */
.xyv2-feedback-close{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  top:10px!important;
  right:10px!important;
  width:30px!important;
  height:30px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#ffffff,#f8fafc)!important;
  color:#334155!important;
  box-shadow:0 6px 18px rgba(15,23,42,.10)!important;
  font-size:14px!important;
  line-height:1!important;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease!important;
}
.xyv2-feedback-close:hover{
  background:#f1f5f9!important;
  box-shadow:0 8px 22px rgba(15,23,42,.16)!important;
  transform:translateY(-1px)!important;
}
.xyv2-feedback-close span{pointer-events:none!important}
.xyv2-feedback-open{
  display:inline!important;
  border:0!important;
  background:transparent!important;
  color:var(--xy-v2-button-bg,#0f172a)!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
  cursor:pointer!important;
  font-size:var(--xy-v2-button-font-size,var(--xy-v2-font-size,14px))!important;
  padding:0 2px!important;
}
.xyv2-feedback-open:hover{opacity:.78!important}
.xyv2-feedback-open[hidden]{display:none!important}

/* ValerIA 2 v1.0.18 — alignement liens bas de chat + icône fermeture chat stylisée */
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-share,
.xy-v2-email-share{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:0 12px!important;
  padding-top:10px!important;
  padding-bottom:10px!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-toggle,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-feedback-open,
.xy-v2-email-toggle,
.xyv2-feedback-open{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-height:22px!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  line-height:22px!important;
  vertical-align:middle!important;
  font-size:var(--xy-v2-button-font-size,var(--xy-v2-font-size,14px))!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-toggle{
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-feedback-open{
  color:var(--xy-v2-button-bg,var(--xy-v2-primary,#0f172a))!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-share .xy-v2-email-form{
  flex:0 0 100%!important;
  margin-top:8px!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-share .xy-v2-email-status{
  flex:0 0 100%!important;
  margin-top:6px!important;
}

html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-close{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.14)!important;
  box-shadow:0 8px 20px rgba(15,23,42,.18)!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
  overflow:hidden!important;
  backdrop-filter:blur(6px)!important;
  -webkit-backdrop-filter:blur(6px)!important;
  transition:transform .16s ease, background .16s ease, box-shadow .16s ease, border-color .16s ease!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-close::before,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-close::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:15px!important;
  height:2px!important;
  border-radius:999px!important;
  background:var(--xy-v2-header-text,#ffffff)!important;
  transform-origin:center!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-close::before{
  transform:translate(-50%,-50%) rotate(45deg)!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-close::after{
  transform:translate(-50%,-50%) rotate(-45deg)!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-close:hover,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-close:focus{
  background:rgba(255,255,255,.24)!important;
  border-color:rgba(255,255,255,.34)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.24)!important;
  transform:translateY(-1px)!important;
}

/* ValerIA 2 v2.0.15 — choix icône agenda */
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-agenda[data-xyv2-agenda-icon="attention"] span::before{content:'⚠️' !important;}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-agenda[data-xyv2-agenda-icon="calendar"] span::before{content:'📅' !important;}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-agenda[data-xyv2-agenda-icon="info"] span::before{content:'ℹ️' !important;}


/* ValerIA 2 v2.0.18 — langues sous forme de drapeaux sur une seule ligne */
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-language-grid{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:5px!important;
  width:100%!important;
  max-width:100%!important;
  margin:8px 0 12px!important;
  padding:2px 2px 7px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:thin!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-language-grid button,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-language-grid .xy-v2-language-flag-button{
  flex:0 0 32px!important;
  width:32px!important;
  min-width:32px!important;
  max-width:32px!important;
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  padding:0!important;
  margin:0!important;
  border-radius:999px!important;
  border:1px solid rgba(15,23,42,.12)!important;
  background:#fff!important;
  color:#0f172a!important;
  box-shadow:0 2px 8px rgba(15,23,42,.08)!important;
  line-height:1!important;
  font-size:20px!important;
  overflow:hidden!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-language-grid button:hover,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-language-grid button:focus{
  transform:translateY(-1px)!important;
  box-shadow:0 5px 14px rgba(15,23,42,.14)!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-language-grid .xy-v2-language-flag{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  font-size:20px!important;
  line-height:1!important;
}

/* ValerIA 2 v3.0.2 — bulle de chat fixe sans bordure avec points animés */
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-toggle,
html body .xy-v2-chat-widget[data-xyv2-chat] .xy-v2-chat-toggle,
.xy-v2-chat-widget .xy-v2-chat-toggle{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:60px!important;
  height:60px!important;
  min-width:60px!important;
  min-height:60px!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  border-radius:999px!important;
  background-image:none!important;
  text-decoration:none!important;
  transform:none!important;
  animation:none!important;
  overflow:hidden!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-toggle:before,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-toggle:after,
html body .xy-v2-chat-widget[data-xyv2-chat] .xy-v2-chat-toggle:before,
html body .xy-v2-chat-widget[data-xyv2-chat] .xy-v2-chat-toggle:after,
.xy-v2-chat-widget .xy-v2-chat-toggle:before,
.xy-v2-chat-widget .xy-v2-chat-toggle:after{
  content:none!important;
  display:none!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-toggle:focus,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-toggle:focus-visible,
html body .xy-v2-chat-widget[data-xyv2-chat] .xy-v2-chat-toggle:focus,
html body .xy-v2-chat-widget[data-xyv2-chat] .xy-v2-chat-toggle:focus-visible,
.xy-v2-chat-widget .xy-v2-chat-toggle:focus,
.xy-v2-chat-widget .xy-v2-chat-toggle:focus-visible{
  border:0!important;
  outline:0!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-toggle-icon,
html body .xy-v2-chat-widget[data-xyv2-chat] .xy-v2-chat-toggle-icon,
.xy-v2-chat-widget .xy-v2-chat-toggle-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  font-size:26px!important;
  transform:none!important;
  animation:none!important;
  opacity:.72!important;
  position:relative!important;
  z-index:1!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-toggle-dots,
html body .xy-v2-chat-widget[data-xyv2-chat] .xy-v2-chat-toggle-dots,
.xy-v2-chat-widget .xy-v2-chat-toggle-dots{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  width:auto!important;
  height:auto!important;
  min-width:34px!important;
  padding:5px 7px!important;
  line-height:1!important;
  pointer-events:none!important;
  transform:translate(-50%, -44%)!important;
  border-radius:999px!important;
  background:rgba(255, 255, 255, .18)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.22), 0 5px 14px rgba(0,0,0,.18)!important;
  z-index:2!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-toggle-dots span,
html body .xy-v2-chat-widget[data-xyv2-chat] .xy-v2-chat-toggle-dots span,
.xy-v2-chat-widget .xy-v2-chat-toggle-dots span{
  display:block!important;
  width:7px!important;
  height:7px!important;
  border-radius:999px!important;
  background:#fff!important;
  opacity:.65!important;
  transform:translateY(0);
  box-shadow:0 0 7px rgba(255,255,255,.95), 0 1px 2px rgba(0,0,0,.25)!important;
  animation:xyTcLauncherDots 1.05s infinite ease-in-out!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-toggle-dots span:nth-child(2),
html body .xy-v2-chat-widget[data-xyv2-chat] .xy-v2-chat-toggle-dots span:nth-child(2),
.xy-v2-chat-widget .xy-v2-chat-toggle-dots span:nth-child(2){
  animation-delay:.16s!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-toggle-dots span:nth-child(3),
html body .xy-v2-chat-widget[data-xyv2-chat] .xy-v2-chat-toggle-dots span:nth-child(3),
.xy-v2-chat-widget .xy-v2-chat-toggle-dots span:nth-child(3){
  animation-delay:.32s!important;
}
@keyframes xyTcLauncherDots{
  0%, 80%, 100%{ transform:translateY(0) scale(.9); opacity:.55; }
  40%{ transform:translateY(-4px) scale(1.12); opacity:1; }
}


/* ValerIA 2 v3.0.7 — avis compact : étoiles après le titre */
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-feedback,
.xyv2-feedback{
  padding:8px 10px!important;
  gap:6px!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-feedback-heading,
.xyv2-feedback-heading{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding-right:36px!important;
  min-height:26px!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-feedback strong,
.xyv2-feedback strong{
  padding-right:0!important;
  font-size:13px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-stars,
.xyv2-stars{
  display:flex!important;
  align-items:center!important;
  gap:2px!important;
  margin-left:auto!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-stars button,
.xyv2-stars button{
  font-size:20px!important;
  line-height:1!important;
  padding:0 2px!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-feedback textarea,
.xyv2-feedback textarea{
  min-height:42px!important;
  max-height:68px!important;
  padding:7px 8px!important;
  border-radius:10px!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-feedback [data-xyv2-feedback-send],
.xyv2-feedback [data-xyv2-feedback-send]{
  padding:6px 10px!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-feedback [data-xyv2-feedback-status],
.xyv2-feedback [data-xyv2-feedback-status]{
  margin:0!important;
  font-size:12px!important;
}

/* ValerIA 2 v3.0.11 — icônes animées de bulle front-end */
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-toggle.xyv2-launcher-has-image,
html body .xy-v2-chat-widget[data-xyv2-chat] .xy-v2-chat-toggle.xyv2-launcher-has-image,
.xy-v2-chat-widget .xy-v2-chat-toggle.xyv2-launcher-has-image{
  background:transparent!important;
  border:0!important;
  padding:0!important;
  overflow:visible!important;
  box-shadow:none!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-launcher-img,
html body .xy-v2-chat-widget[data-xyv2-chat] .xy-v2-chat-launcher-img,
.xy-v2-chat-widget .xy-v2-chat-launcher-img,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-launcher-svg,
html body .xy-v2-chat-widget[data-xyv2-chat] .xy-v2-chat-launcher-svg,
.xy-v2-chat-widget .xy-v2-chat-launcher-svg{
  display:block!important;
  width:64px!important;
  height:64px!important;
  border-radius:50%!important;
  object-fit:contain!important;
  border:0!important;
  outline:0!important;
  box-shadow:0 18px 40px rgba(15,23,42,.25)!important;
  transform-origin:center!important;
  animation:xyvLauncherPulse 2.8s infinite ease-in-out!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-toggle[data-xyv2-launcher-icon="robot"] .xy-v2-chat-launcher-img,
html body .xy-v2-chat-widget[data-xyv2-chat] .xy-v2-chat-toggle[data-xyv2-launcher-icon="robot"] .xy-v2-chat-launcher-img,
.xy-v2-chat-widget .xy-v2-chat-toggle[data-xyv2-launcher-icon="robot"] .xy-v2-chat-launcher-img{animation:xyvLauncherFloat 3.2s infinite ease-in-out!important}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-toggle[data-xyv2-launcher-icon="sparkle"] .xy-v2-chat-launcher-img,
html body .xy-v2-chat-widget[data-xyv2-chat] .xy-v2-chat-toggle[data-xyv2-launcher-icon="sparkle"] .xy-v2-chat-launcher-img,
.xy-v2-chat-widget .xy-v2-chat-toggle[data-xyv2-launcher-icon="sparkle"] .xy-v2-chat-launcher-img{animation:xyvLauncherSparkle 3.6s infinite ease-in-out!important}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-toggle[data-xyv2-launcher-icon="voice_wave"] .xy-v2-chat-launcher-img,
html body .xy-v2-chat-widget[data-xyv2-chat] .xy-v2-chat-toggle[data-xyv2-launcher-icon="voice_wave"] .xy-v2-chat-launcher-img,
.xy-v2-chat-widget .xy-v2-chat-toggle[data-xyv2-launcher-icon="voice_wave"] .xy-v2-chat-launcher-img{animation:xyvLauncherVoice 1.55s infinite ease-in-out!important}
@keyframes xyvLauncherPulse{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.045);filter:brightness(1.08)}}
@keyframes xyvLauncherFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.035)}}
@keyframes xyvLauncherSparkle{0%,100%{transform:scale(1) rotate(0deg);filter:brightness(1)}45%{transform:scale(1.055) rotate(2deg);filter:brightness(1.15)}70%{transform:scale(1.015) rotate(-1deg);filter:brightness(1.04)}}
@keyframes xyvLauncherVoice{0%,100%{transform:scale(1)}25%{transform:scaleX(1.035) scaleY(1.055)}50%{transform:scaleX(.985) scaleY(1.02)}75%{transform:scaleX(1.02) scaleY(1.065)}}

/* ValerIA 2 4.0.9 — suppression définitive du libellé météo secondaire */
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-weather small,
html body .xy-v2-chat-widget[data-xy-v2-chat] [data-xyv2-weather-detail]{display:none!important;}

/* V5.0.7 — fenêtre de chat agrandie et responsive */
html body .xy-v2-chat-widget[data-xy-v2-chat].is-open {
  width: min(520px, calc(100vw - 32px)) !important;
  min-width: min(360px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-panel {
  width: min(520px, calc(100vw - 32px)) !important;
  min-width: min(360px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  height: min(720px, calc(100vh - 110px)) !important;
  height: min(720px, calc(100dvh - 110px)) !important;
  max-height: calc(100vh - 110px) !important;
  max-height: calc(100dvh - 110px) !important;
  min-height: min(440px, calc(100vh - 110px)) !important;
}
@media (max-width: 700px) {
  html body .xy-v2-chat-widget[data-xy-v2-chat].is-open {
    right: 12px !important;
    bottom: 12px !important;
    width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 24px) !important;
  }
  html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-panel {
    right: 12px !important;
    bottom: 88px !important;
    width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 24px) !important;
    height: 82vh !important;
    height: 82dvh !important;
    max-height: calc(100vh - 104px) !important;
    max-height: calc(100dvh - 104px) !important;
  }
}
@media (max-width: 520px) {
  html body .xy-v2-chat-widget[data-xy-v2-chat],
  html body .xy-v2-chat-widget[data-xy-v2-chat].is-open {
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
  }
  html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-panel {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: 100vw !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    height: 88vh !important;
    height: 88dvh !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    min-height: min(520px, 88dvh) !important;
    border-radius: 18px 18px 0 0 !important;
  }
}
@media (max-height: 640px) and (max-width: 520px) {
  html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-panel {
    height: 94vh !important;
    height: 94dvh !important;
    min-height: 0 !important;
  }
}


/* ValerIA 2 V6 — panneau détaillé de l'agenda (aligné sur le plugin tourisme) */
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-agenda-details{display:flex;flex-direction:column;gap:6px}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-agenda-details-intro{margin:0 0 2px;font-weight:700}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-agenda-details-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-agenda-details-item{display:flex;flex-direction:column;gap:2px;padding-top:8px;border-top:1px solid rgba(15,23,42,.12)}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-agenda-details-item:first-child{padding-top:0;border-top:0}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-agenda-details-desc{opacity:.9}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-agenda-details-loc{font-size:.92em;opacity:.85}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-agenda-details-link a{font-weight:600;text-decoration:underline}

/* ValerIA 2 6.0.14 — restauration météo dans l'entête comme XY Tourisme */
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-weather small,
html body .xy-v2-chat-widget[data-xy-v2-chat] [data-xyv2-weather-detail]{display:block!important;}

/* ValerIA 2 v6.0.21 — logo ValerIA 2 plus petit à droite, aligné avec Donner votre avis */
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-share,
.xy-v2-email-share{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:6px 8px!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-toggle,
.xy-v2-email-toggle{
  order:1!important;
  margin-right:auto!important;
  min-width:0!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-feedback-open,
.xyv2-feedback-open{
  order:2!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  margin-left:auto!important;
  white-space:nowrap!important;
  min-height:20px!important;
  line-height:20px!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-brand-link,
.xyv2-brand-link{
  order:3!important;
  position:static!important;
  left:auto!important;
  top:auto!important;
  transform:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:auto!important;
  height:20px!important;
  padding:0!important;
  margin:0!important;
  line-height:1!important;
  text-decoration:none!important;
  z-index:auto!important;
  opacity:.9!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-brand-link:hover,
.xyv2-brand-link:hover{
  opacity:1!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-brand-link img,
.xyv2-brand-link img{
  display:block!important;
  width:auto!important;
  height:11px!important;
  max-width:52px!important;
  max-height:12px!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-share .xy-v2-email-form,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-share .xy-v2-email-status,
.xy-v2-email-share .xy-v2-email-form,
.xy-v2-email-share .xy-v2-email-status{
  order:4!important;
  flex:0 0 100%!important;
}
@media (max-width:420px){
  html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-share,
  .xy-v2-email-share{
    gap:5px 6px!important;
  }
  html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-email-toggle,
  .xy-v2-email-toggle{
    font-size:12px!important;
    max-width:52%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-feedback-open,
  .xyv2-feedback-open{
    font-size:12px!important;
  }
  html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-brand-link img,
  .xyv2-brand-link img{
    height:9px!important;
    max-width:44px!important;
    max-height:10px!important;
  }
}

/* ValerIA 2 6.0.23 — drapeaux SVG réels, compatibles Windows/Chrome */
html body .xy-v2-chat-widget .xy-v2-language-grid .xy-v2-language-flag img,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-language-grid .xy-v2-language-flag img,
html body .xyv2-admin .xyv2-live-preview .xy-v2-language-grid .xy-v2-language-flag img{
  display:block!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  min-height:24px!important;
  max-width:24px!important;
  max-height:24px!important;
  border-radius:999px!important;
  object-fit:cover!important;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.12)!important;
}
html body .xy-v2-chat-widget .xy-v2-language-grid .xy-v2-language-flag .screen-reader-text,
html body .xyv2-admin .xyv2-live-preview .xy-v2-language-grid .xy-v2-language-flag .screen-reader-text{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}


/* ValerIA 2 6.1 — étoiles avis grises par défaut */
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-stars button,
.xyv2-stars button{
  color:#b8bec8!important;
  transition:color .18s ease, transform .18s ease!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-stars button:hover,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-stars button.is-active,
.xyv2-stars button:hover,
.xyv2-stars button.is-active{
  color:#f5b301!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-stars button:hover,
.xyv2-stars button:hover{
  transform:scale(1.08)!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-brand-link img,
.xyv2-brand-link img{
  max-width:76px!important;
  max-height:24px!important;
  object-fit:contain!important;
}


/* ValerIA 2 6.1.5 — météo compacte dans l'entête : icônes + prévision demain */
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-weather {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
  margin-top: 5px !important;
  line-height: 1.18 !important;
  color: var(--xy-v2-header-text, #fff) !important;
  opacity: .94 !important;
  white-space: normal !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-weather [data-xyv2-weather-label] {
  display: none !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-weather small,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-weather .xy-v2-weather-now,
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-weather .xy-v2-weather-tomorrow,
html body .xy-v2-chat-widget[data-xy-v2-chat] [data-xyv2-weather-detail],
html body .xy-v2-chat-widget[data-xy-v2-chat] [data-xyv2-weather-tomorrow] {
  display: block !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  opacity: 1 !important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xy-v2-chat-weather .xy-v2-weather-tomorrow,
html body .xy-v2-chat-widget[data-xy-v2-chat] [data-xyv2-weather-tomorrow] {
  font-size: 11.5px !important;
  font-weight: 600 !important;
  opacity: .9 !important;
}

/* ValerIA 2 8.0.9 — questions proposées premium, isolées des styles du thème */
html body .xy-v2-chat-widget .xyv2-starter-questions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:10px!important;
  margin:14px 0 6px!important;
  padding:2px 4px 8px!important;
  counter-reset:xyv2-starter!important;
}
html body .xy-v2-chat-widget .xyv2-starter-question{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-height:50px!important;
  margin:0!important;
  padding:11px 42px 11px 48px!important;
  overflow:hidden!important;
  border:1px solid rgba(15,23,42,.09)!important;
  border-style:solid!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.99),rgba(248,250,252,.94))!important;
  color:var(--xy-v2-text,#1f2937)!important;
  font-family:var(--xy-v2-font-family,inherit)!important;
  font-size:13px!important;
  font-weight:650!important;
  line-height:1.35!important;
  letter-spacing:.005em!important;
  text-align:left!important;
  text-decoration:none!important;
  box-shadow:0 8px 22px rgba(15,23,42,.075),inset 0 1px 0 rgba(255,255,255,.9)!important;
  cursor:pointer!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease!important;
}
html body .xy-v2-chat-widget .xyv2-starter-question::before{
  counter-increment:xyv2-starter!important;
  content:counter(xyv2-starter,decimal-leading-zero)!important;
  position:absolute!important;
  left:11px!important;
  top:50%!important;
  width:27px!important;
  height:27px!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:10px!important;
  background:linear-gradient(145deg,var(--xy-v2-primary,#cc3300),var(--xy-v2-button-bg,var(--xy-v2-primary,#cc3300)))!important;
  color:var(--xy-v2-button-text,#fff)!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1!important;
  box-shadow:0 5px 13px rgba(15,23,42,.16)!important;
}
html body .xy-v2-chat-widget .xyv2-starter-question::after{
  content:'›'!important;
  position:absolute!important;
  right:15px!important;
  top:50%!important;
  transform:translateY(-52%)!important;
  color:var(--xy-v2-primary,#cc3300)!important;
  font-size:24px!important;
  font-weight:300!important;
  line-height:1!important;
  opacity:.72!important;
  transition:transform .18s ease,opacity .18s ease!important;
}
html body .xy-v2-chat-widget .xyv2-starter-question:hover,
html body .xy-v2-chat-widget .xyv2-starter-question:focus-visible{
  transform:translateY(-2px)!important;
  border-color:var(--xy-v2-primary,#cc3300)!important;
  background:linear-gradient(135deg,#fff,rgba(248,250,252,.98))!important;
  box-shadow:0 13px 28px rgba(15,23,42,.13),0 0 0 3px rgba(204,51,0,.07)!important;
  outline:none!important;
}
html body .xy-v2-chat-widget .xyv2-starter-question:hover::after,
html body .xy-v2-chat-widget .xyv2-starter-question:focus-visible::after{
  transform:translate(2px,-52%)!important;
  opacity:1!important;
}
html body .xy-v2-chat-widget.xyv2-module-produits .xyv2-starter-question{font-weight:700!important}
html body .xy-v2-chat-widget.xyv2-module-mairie .xyv2-starter-question,
html body .xy-v2-chat-widget.xyv2-module-expert .xyv2-starter-question{border-style:solid!important}
@media (max-width:520px){
  html body .xy-v2-chat-widget .xyv2-starter-question{min-height:48px!important;padding:10px 38px 10px 45px!important;font-size:12.5px!important}
  html body .xy-v2-chat-widget .xyv2-starter-question::before{left:9px!important}
  html body .xy-v2-chat-widget .xyv2-starter-question::after{right:12px!important}
}

/* ValerIA 2 8.0.7 — la bulle reste visible en mode dégradé */
.xy-v2-chat-widget.xyv2-is-degraded .xy-v2-chat-form{opacity:.58;pointer-events:none}
.xy-v2-chat-widget.xyv2-is-degraded .xy-v2-chat-toggle{display:flex!important;visibility:visible!important;opacity:1!important}
.xy-v2-chat-widget .xyv2-degraded-status{margin:0;padding:10px 14px;font-size:12px;line-height:1.4;background:#fff7ed;border-top:1px solid rgba(194,65,12,.16);color:#7c2d12}

/* ValerIA 2 9.6.8 — marque texte en pied de bulle : « Valeria » + tagline IA traduisible */
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-brand-link--text,
.xyv2-brand-link--text{
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:center!important;
  height:auto!important;
  line-height:1.1!important;
  gap:1px!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-brand-link--text .xyv2-brand-name,
.xyv2-brand-link--text .xyv2-brand-name{
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.2px!important;
  color:inherit!important;
  line-height:1.1!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-brand-link--text .xyv2-brand-tagline,
.xyv2-brand-link--text .xyv2-brand-tagline{
  font-size:9px!important;
  font-weight:400!important;
  opacity:.75!important;
  color:inherit!important;
  line-height:1.1!important;
  white-space:nowrap!important;
}

/* ValerIA 2 9.6.8 — nom « ValerIA » (IA en italique) + phrase IA centrée en bas */
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-brand-name em,
.xyv2-brand-link--text .xyv2-brand-name em{
  font-style:italic!important;
  font-weight:700!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-powered-line,
.xyv2-powered-line{
  display:block!important;
  width:100%!important;
  text-align:center!important;
  margin:4px 0 2px!important;
  padding:0!important;
  line-height:1.2!important;
  clear:both!important;
}
html body .xy-v2-chat-widget[data-xy-v2-chat] .xyv2-powered-line span,
.xyv2-powered-line span{
  font-size:11px!important;
  font-weight:500!important;
  color:#000!important;
  opacity:1!important;
}
