:root{
    --vc-bg:#EDF1F4;
    --vc-text:#2E2A26;
    --vc-border:#DDD7CC;

    --vc-primary:#001243;
    --vc-primary-hover:#001A63;

    --vc-accent:#001243;
    --vc-hover:#001A63;

    --vc-white:#FFFFFF;
    --vc-soft:#E4EAF0;
}

.vigiers-chat,
.vigiers-chat *{
    box-sizing:border-box;
}

.vc-message-assistant{
    background:#FFFFFF;
	box-shadow:0 1px 3px rgba(0,0,0,.04);
}

.vigiers-chat{
    font-family:Inter,Arial,sans-serif;
    color:var(--vc-text);
}

.vc-hidden{
    display:none !important;
}

/* =====================================
   WEBSITE
===================================== */

.vc-launcher{
    position:fixed;
    right:20px;
    bottom:20px;
    z-index:9998;

    border:none;
    cursor:pointer;

    background:var(--vc-accent);
    color:#fff;

    border-radius:999px;

    padding:14px 22px;

    font-size:14px;
    font-weight:600;

    box-shadow:0 8px 25px rgba(0,0,0,.15);
}

.vc-launcher:hover{
    background:var(--vc-hover);
}

/* =====================================
   MOBILE MAP
===================================== */

.vc-compact{
    position:fixed;
    left:12px;
    right:12px;
    bottom:12px;

    z-index:9998;

    border:1px solid var(--vc-border);

    background:#fff;

    border-radius:999px;

    padding:14px;

    text-align:center;

    cursor:pointer;

    box-shadow:0 8px 20px rgba(0,0,0,.12);
}

/* =====================================
   PANEL
===================================== */

.vc-panel{
    display:flex;
    flex-direction:column;

    background:var(--vc-bg);

    border:1px solid var(--vc-border);

    overflow:hidden;
}

/* website */

.vc-website .vc-panel{
    position:fixed;

    right:20px;
    bottom:80px;

    width:420px;
    height:650px;

    border-radius:22px;

    z-index:9999;

    box-shadow:0 18px 50px rgba(0,0,0,.16);
}

/* discovery */

.vc-discovery .vc-panel{
    width:100%;
    height:100%;
    min-height:650px;

    border-radius:22px;
}

/* mobile map */

/* mobile map */

.vc-mobile-map .vc-panel{
    position:fixed;

    left:0;
    right:0;
    bottom:0;

    height:65vh;

    z-index:9999;

    border-radius:24px 24px 0 0;

    box-shadow:0 -10px 30px rgba(0,0,0,.12);
}
	
/* =====================================
   HEADER
===================================== */

.vc-header{
    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:18px;

    border-bottom:1px solid var(--vc-border);

   background:var(--vc-primary);
color:#fff;
}

.vc-header-title{
    font-family:"Playfair Display",Georgia,serif;
    font-size:20px;
    font-weight:700;
}

.vc-header-subtitle{
    margin-top:2px;

    font-size:12px;
    color:rgba(255,255,255,.75);
}

.vc-close{
    background:none;
    border:none;

    cursor:pointer;
color:white;
    font-size:24px;
    line-height:1;
}

/* =====================================
   MESSAGES
===================================== */

.vc-messages{
    flex:1;
    overflow-y:auto;

    padding:16px;
}

.vc-message{
    max-width:75%;

    margin-bottom:12px;

     padding:14px 18px;

    border-radius:16px;

    line-height:1.7;
    font-size:14px;
}
.vc-message p{
     margin:0 0 18px 0;
}
.vc-message ul,
.vc-message ol{
    margin:12px 0;
    padding-left:22px;
}
.vc-message-assistant{
    max-width:85%;
}

.vc-message li{
    margin-bottom:6px;
}

.vc-message p:last-child{
    margin-bottom:0;
}
.vc-message-user{
    margin-left:auto;

 background:#DCE4F2;
    color:#001243;
    border:1px solid #C4D0E8;
}

.vc-message-assistant{
    margin-right:auto;

    background:#fff;

    border:1px solid var(--vc-border);

    border-bottom-left-radius:4px;
}

.vc-message a{
    color:var(--vc-accent);
    text-decoration:none;
}

.vc-message a:hover{
    text-decoration:underline;
}

/* =====================================
   SUGGESTIONS
===================================== */

.vc-suggestions{
    display:flex;

    gap:8px;

    overflow-x:auto;

    padding:0 16px 12px;
}

.vc-suggestions::-webkit-scrollbar{
    display:none;
}

.vc-suggestion{
    border:1px solid var(--vc-border);

    background:#fff;

    color:var(--vc-text);

    border-radius:999px;

    white-space:nowrap;

    cursor:pointer;

    padding:8px 12px;

    font-size:12px;
}

.vc-suggestion:hover{
    border-color:var(--vc-accent);
}

/* =====================================
   INPUT
===================================== */

.vc-input-zone{
    border-top:1px solid var(--vc-border);

    background:#fff;

    padding:12px;
}

.vc-form{
    display:flex;
    gap:8px;
}

.vc-input{
    flex:1;

    border:1px solid var(--vc-border);

    border-radius:999px;

    padding:12px 14px;

    background:var(--vc-bg);

    outline:none;

    font-size:14px;
}

.vc-input:focus{
    border-color:var(--vc-accent);
}

.vc-btn{
    border:none;

    border-radius:999px;

    cursor:pointer;

    background:var(--vc-accent);


	min-width: 132px !important;
  height: 38px !important;
  padding: 0 22px !important;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}

.vc-btn:hover{
    background:var(--vc-hover);
}

.vc-btn-secondary{
    background:var(--vc-soft);
    color:var(--vc-text);
}

.vc-btn-secondary:hover{
    background:#e7dfd5;
}

/* =====================================
   DEBUG
===================================== */

.vc-debug-row{
    display:none;
    justify-content:flex-end;

    margin-top:8px;
}

.vc-debug{
    border:none;
    background:none;

    cursor:pointer;

    color:var(--vc-accent);

    font-size:12px;
}

/* =====================================
   TOAST
===================================== */

.vc-toast{
    position:fixed;

    right:20px;
    bottom:20px;

    z-index:10000;

    background:#2E2A26;
    color:#fff;

    border-radius:999px;

    padding:10px 14px;

    font-size:13px;

    opacity:0;
    pointer-events:none;

    transform:translateY(10px);

    transition:.2s;
}

.vc-toast.is-visible{
    opacity:1;
    transform:translateY(0);
}

/* =====================================
   RESPONSIVE
===================================== */

@media (max-width:768px){

    .vc-website .vc-panel{
        left:10px;
        right:10px;

        width:auto;

        height:70vh;
    }

}

.vc-metrics{
    display:none;
    gap:10px;
    align-items:center;
    justify-content:center;

    padding:6px 12px;

    border-top:1px solid var(--vc-border);

    background:rgba(255,255,255,.55);

    font-size:11px;
    color:rgba(46,42,38,.62);
}

.vc-metrics span{
    white-space:nowrap;
}

.vc-welcome{
    background:white;

    padding:24px;

    border-bottom:1px solid var(--vc-border);
}

.vc-welcome-title{
    font-family:"Playfair Display", serif;
    font-size:26px;
    font-weight:600;

    color:var(--vc-primary);

    margin-bottom:14px;
}

.vc-welcome-text{
    margin-bottom:12px;

    color:#555;
}

.vc-welcome-items{
    display:flex;
    flex-direction:column;
    gap:8px;

    margin-bottom:16px;
}

.vc-welcome-items div{
    color:#001243;
}

.vc-welcome-question{
    font-weight:600;
    color:#001243;
}

.vc-intents{
    display:flex;
    flex-direction:column;
    gap:10px;

    margin:18px 0;
}

.vc-intent{
    width:100%;

    text-align:left;

    padding:14px 18px;

    border:1px solid #D7DFEA;
    border-radius:14px;

    background:white;

    color:#001243;

    font-size:15px;
    font-weight:500;

    cursor:pointer;

    transition:.2s;
}

.vc-intent{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
}

.vc-intent-title{
    font-weight:600;
    color:#001243;
}

.vc-intent-desc{
    font-size:12px;
    color:#6b7280;
    text-align:left;
}

.vc-intent:hover{
    border-color:#001243;
    background:#F8FAFD;

    transform:translateY(-3px);

    box-shadow:0 8px 20px rgba(0,18,67,.12);
}

/* =====================================
   AJUSTEMENTS PAR MODE
===================================== */

/* On masque les anciennes suggestions/pills */
.vc-suggestions{
    display:none;
}

/* WEBSITE : accueil compact */
.vc-website .vc-welcome{
    padding:14px 16px;
}

.vc-website .vc-welcome-title{
    font-size:18px;
    margin-bottom:8px;
    display:block;
}

.vc-website .vc-welcome-text{
    display:block;
    font-size:13px;
    line-height:1.4;
    margin-bottom:10px;
}

.vc-website .vc-welcome-question{
    display:block;
    font-size:13px;
    margin-bottom:10px;
}

.vc-website .vc-intents{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin:10px 0 0;
}

.vc-website .vc-intent{
    padding:9px 10px;
    font-size:13px;
    border-radius:10px;
}

/* MOBILE MAP : ultra compact */
.vc-mobile-map .vc-panel{
    height:65vh;
}

.vc-mobile-map .vc-welcome{
    padding:10px 12px;
}

.vc-mobile-map .vc-welcome-title{
    display:none;
}

.vc-mobile-map .vc-welcome-text{
    display:block;
    font-size:14px;

    color:#001243;
    margin-bottom:10px;
}

.vc-mobile-map .vc-welcome-question{
    display:none;
}

.vc-mobile-map .vc-intents{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:6px;
    margin:8px 0 0;
}

.vc-mobile-map .vc-intent{
    padding:7px 8px;
    font-size:12px;
    border-radius:9px;
}

/* DISCOVERY : version large */
.vc-discovery .vc-welcome{
    padding:24px;
}

.vc-discovery .vc-welcome-title{
    display:block;
    font-size:26px;
    margin-bottom:14px;
}

.vc-discovery .vc-welcome-text{
    display:block;
}

.vc-discovery .vc-welcome-question{
    display:block;
    margin-bottom:14px;
}

.vc-discovery .vc-intents{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:14px;
}

.vc-discovery .vc-intent{
    padding:18px;
    font-size:15px;
    border-radius:16px;
}

.vc-panel{
    animation:vc-panel-in .28s ease-out;
}

@keyframes vc-panel-in{
    from{
        opacity:0;
        transform:translateY(16px) scale(.98);
    }
    to{
        opacity:1;
        transform:translateY(0) scale(1);
    }
}
.vc-intent{
    animation:vc-card-in .35s ease-out both;
}

.vc-intent:nth-child(1){ animation-delay:.03s; }
.vc-intent:nth-child(2){ animation-delay:.06s; }
.vc-intent:nth-child(3){ animation-delay:.09s; }
.vc-intent:nth-child(4){ animation-delay:.12s; }
.vc-intent:nth-child(5){ animation-delay:.15s; }
.vc-intent:nth-child(6){ animation-delay:.18s; }

@keyframes vc-card-in{
    from{
        opacity:0;
        transform:translateY(8px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}
.vc-message{
    animation:vc-message-in .22s ease-out;
text-align: left;}

@keyframes vc-message-in{
    from{
        opacity:0;
        transform:translateY(6px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}
@media (prefers-reduced-motion: reduce){
    .vc-panel,
    .vc-intent,
    .vc-message{
        animation:none !important;
        transition:none !important;
    }
}

.vc-md-section{
    margin:10px 0 2px;
    color:#001243;
}

.vc-md-bullet{
    margin:2px 0 2px 12px;
    line-height:1.5;
}
.vc-md-spacer{
    height:10px;
}

.vc-md-title{
    font-family:"Playfair Display", Georgia, serif;
    font-size:20px;
    font-weight:700;
    color:#001243;
    margin:2px 0 12px;
    line-height:1.25;
}

.vc-md-subtitle{
    font-size:15px;
    font-weight:700;
    color:#001243;
    margin:14px 0 4px;
    line-height:1.35;
}

.vc-micro{
    min-width:110px;
    height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;

    padding:0 16px;

    background:#2E7D32;
    color:#fff;

    border:2px solid #2E7D32;
    border-radius:999px;

    font-weight:600;
    white-space:nowrap;
}

.vc-micro:hover{
    background:#256B28;
    border-color:#256B28;
}

.vc-mic-icon{
    font-size:18px;
    line-height:1;
}

.vc-mic-text{
    font-size:14px;
}

.vc-micro.is-listening{
    background:#D32F2F;
    border-color:#D32F2F;
    color:#fff;
    animation:pulseMic 1.2s infinite;
}

.vc-micro.is-processing{
    background:#F9A825;
    border-color:#F9A825;
    color:#fff;
}

@keyframes pulseMic{
    0%{
        box-shadow:0 0 0 0 rgba(211,47,47,.45);
    }
    70%{
        box-shadow:0 0 0 12px rgba(211,47,47,0);
    }
    100%{
        box-shadow:0 0 0 0 rgba(211,47,47,0);
    }
}

.vc-form .vc-micro{
    min-width:118px !important;
    height:44px !important;
    padding:0 18px !important;

    background:#2E7D32 !important;
    color:#fff !important;
    border:2px solid #2E7D32 !important;
    border-radius:999px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;

    font-weight:700 !important;
    white-space:nowrap !important;
}

.vc-form .vc-micro:hover{
    background:#256B28 !important;
    border-color:#256B28 !important;
}

.vc-form .vc-mic-icon{
    font-size:20px !important;
}

.vc-form .vc-mic-text{
    font-size:14px !important;
}

.vc-form .vc-micro.is-listening{
    background:#D32F2F !important;
    border-color:#D32F2F !important;
    animation:pulseMic 1.2s infinite;
}

.vc-form .vc-micro.is-processing{
    background:#F9A825 !important;
    border-color:#F9A825 !important;
}

.vc-form .vc-micro{
    min-width:132px !important;
    height:38px !important;
    padding:0 22px !important;

    background:linear-gradient(180deg,#2F8A3B 0%,#19712B 100%) !important;
    color:#fff !important;

    border:0 !important;
    border-radius:999px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;

    font-weight:700 !important;
    font-size:17px !important;
    line-height:1 !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.22),
        0 8px 18px rgba(0,18,67,.14) !important;

    white-space:nowrap !important;
}

.vc-form .vc-micro:hover{
    background:linear-gradient(180deg,#329342 0%,#166527 100%) !important;
    transform:translateY(-1px);
}

.vc-form .vc-mic-icon{
    width:24px !important;
    height:24px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#fff !important;
    flex:0 0 auto !important;
}

.vc-form .vc-mic-icon svg{
    width:24px !important;
    height:24px !important;
    display:block !important;
}

.vc-form .vc-mic-text{
    color:#fff !important;
    font-size:17px !important;
    font-weight:700 !important;
}

.vc-form .vc-micro.is-listening{
    background:linear-gradient(180deg,#E53935 0%,#C62828 100%) !important;
    animation:pulseMic 1.2s infinite;
}

.vc-form .vc-micro.is-processing{
    background:linear-gradient(180deg,#F9A825 0%,#F57F17 100%) !important;
}

@keyframes pulseMic{
    0%{ box-shadow:0 0 0 0 rgba(211,47,47,.45); }
    70%{ box-shadow:0 0 0 14px rgba(211,47,47,0); }
    100%{ box-shadow:0 0 0 0 rgba(211,47,47,0); }
}

/* =====================================
   WEBSITE MOBILE FULLSCREEN
===================================== */

@media (max-width:768px){

    .vc-website .vc-launcher{
        right:16px;
        bottom:16px;
        padding:13px 18px;
        font-size:14px;
    }

    .vc-website .vc-panel{
        position:fixed;

        top:0 !important;
        left:0 !important;
        right:0 !important;
        bottom:0 !important;

        width:100vw !important;
        height:100dvh !important;
        max-width:none !important;
        max-height:none !important;

        border-radius:0 !important;
        border:none !important;

        z-index:99999 !important;
    }

    .vc-website .vc-header{
        padding:16px;
        padding-top:calc(16px + env(safe-area-inset-top));
    }

    .vc-website .vc-messages{
        flex:1;
        min-height:0;
        overflow-y:auto;
        padding:14px;
    }

    .vc-website .vc-input-zone{
        padding:10px;
        padding-bottom:calc(10px + env(safe-area-inset-bottom));
    }

    .vc-website .vc-form{
        gap:8px;
    }

    .vc-website .vc-form .vc-micro{
        min-width:92px !important;
        height:44px !important;
        padding:0 12px !important;
        font-size:14px !important;
    }

    .vc-website .vc-form .vc-mic-icon,
    .vc-website .vc-form .vc-mic-icon svg{
        width:19px !important;
        height:19px !important;
    }

    .vc-website .vc-form .vc-mic-text{
        font-size:14px !important;
    }

    .vc-website .vc-input{
        min-width:0;
        height:44px;
        font-size:14px;
    }

    .vc-website .vc-btn[type="submit"]{
        height:44px;
        padding:0 14px;
    }

    .vc-website .vc-debug-row{
        display:none;
    }
}

body.vc-body-locked{
    overflow:hidden !important;
}

@media (max-width: 768px) {
  .vigiers-chatbox,
  .chatbox,
  .answer-box {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-width: none !important;
    max-height: none !important;
    border-radius: 0 !important;
    z-index: 999999 !important;
  }

  .vigiers-chatbox-body,
  .chatbox-body,
  .messages {
    height: calc(100dvh - 135px) !important;
    overflow-y: auto !important;
  }

  .vigiers-chatbox-footer,
  .chatbox-footer {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: #fff !important;
    padding: 8px !important;
    z-index: 1000000 !important;
  }
}

/* =========================================================
   FIX FINAL — CHATBOX WEBSITE INPUT COMPACT
   Corrige les anciens !important sur .vc-btn et .vc-micro
========================================================= */

.vigiers-chat.vc-website .vc-input-zone {
  padding: 12px !important;
  overflow: hidden !important;
}

.vigiers-chat.vc-website .vc-form {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) 44px !important;
  gap: 8px !important;
  align-items: center !important;
  width: 100% !important;
  overflow: hidden !important;
}

/* Micro rond */
.vigiers-chat.vc-website .vc-form .vc-micro {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  padding: 0 !important;

  border-radius: 50% !important;
  border: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  gap: 0 !important;
  overflow: hidden !important;

  background: linear-gradient(180deg,#2F8A3B 0%,#19712B 100%) !important;
  color: #fff !important;
}

.vigiers-chat.vc-website .vc-form .vc-micro .vc-mic-text {
  display: none !important;
}

.vigiers-chat.vc-website .vc-form .vc-micro .vc-mic-icon,
.vigiers-chat.vc-website .vc-form .vc-micro .vc-mic-icon svg {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  display: block !important;
}

/* Input */
.vigiers-chat.vc-website .vc-form .vc-input {
  width: 100% !important;
  min-width: 0 !important;
  height: 44px !important;
  padding: 0 14px !important;

  font-size: 13px !important;
  border-radius: 999px !important;
}

/* Envoyer rond */
.vigiers-chat.vc-website .vc-form .vc-btn[type="submit"] {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  padding: 0 !important;

  border-radius: 50% !important;
  overflow: hidden !important;

  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: #001243 !important;
}

.vigiers-chat.vc-website .vc-form .vc-btn[type="submit"]::before {
  content: "➤" !important;
  color: #fff !important;
  font-size: 17px !important;
  line-height: 1 !important;
  display: block !important;
}

/* Debug discret */
.vigiers-chat.vc-website .vc-debug-row {
  margin-top: 8px !important;
  justify-content: flex-end !important;
}

.vigiers-chat.vc-website .vc-debug {
  font-size: 11px !important;
  color: rgba(0, 18, 67, 0.65) !important;
  background: transparent !important;
  padding: 0 !important;
}
