/*
  Theme Name: GILW
  Version: 1.0.1
  Template: Divi
  Author: Ken
  Author URI: https://guru.ch
  Description: Divi child theme to Manage event for GILW
  Text Domain: gilw
  License: GNU General Public License v2 or later
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
/*Add custom font (more inside function.php)*/
@font-face {
    font-family: 'Helvetica Neue';
    src: url('fonts/HelveticaNeue-Light.woff2') format('woff2'),
        url('fonts/HelveticaNeue-Light.woff') format('woff');
    font-weight:300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue';
    src: url('fonts/HelveticaNeue-Medium.woff2') format('woff2'),
        url('fonts/HelveticaNeue-Medium.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue';
    src: url('fonts/HelveticaNeue-Bold.woff2') format('woff2'),
        url('fonts/HelveticaNeue-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

:root {
  --p-clr:#003C5E;
  --p-clr-light:#00548B;
  --p-clr-pale:#E3EFF6;
  --s-clr:#FFE800;
  --s-clr-dark:#F2D400;
  --t-clr:#F32735;
  --t-clr-light:#F5525D;
  --f-clr:#efefef;

  --clr-1:var(--p-clr-light);
  --clr-2:var(--s-clr);
  --clr-3:var(--t-clr);
  --clr-4:var(--f-clr);
  --clr-5:var(--p-clr-pale);

  /* Arrondi commun à tous les blocs du thème. Les border-radius: 50% (pastilles
     et avatars circulaires) n'utilisent PAS ce token : ce sont des cercles, pas
     des coins arrondis. */
  --radius:5px;
}

/*Add space to menu when connected*/
/*.admin-bar .pa-header{
  margin-top:32px !important;
}*/

/* No more necessary
.admin-bar.et_mobile_device .pa-header{
  margin-top:46px !important;
}*/

/*Add padding to  give space for navigation*/
/*No more necessary
#main-content .et_builder_inner_content .et_pb_section {
  padding-top: 150px !important;
}*/

/*Menu*/
.pa-header #menu-main>.current-menu-item > a:before, .pa-header #mobile_menu1>.current-menu-item > a:before, .pa-header #menu-main .sub-menu > .current-menu-item > a:before, .pa-header #mobile_menu1 .sub-menu>.current-menu-item > a:before{
   content: "➜";
   color: inherit;
   margin-right: 5px;
   font-weight: 100;
}

/*Chatbot*/

.kt-launcher {
  position: fixed;
  z-index: 99999;
  right: 24px;
  bottom: 24px;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: none;
  background: #1c3faa;
  color: #ffffff;
  font-size: 32px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 10px 30px rgba(28, 63, 170, 0.35);
}

.kt-widget {
  position: fixed;
  z-index: 999999;
  right: 24px;
  bottom: 100px;
  width: min(360px, 92vw);
  height: 520px;
  background: #ffffff;
  border-radius: var(--radius);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.2);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e1e6ef;
}

.hidden {
  display: none;
}

.kt-widget-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: #1c3faa;
  color: #ffffff;
}

.kt-widget-title {
  font-weight: 600;
}

.kt-close {
  background: transparent;
  border: none;
  color: #ffffff;
  font-size: 18px;
  cursor: pointer;
}

.kt-messages {
  flex: 1;
  padding: 16px;
  overflow-y: auto;
  background: #f8fafc;
}

.msg-wrap {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}

.msg-wrap.user {
  justify-content: flex-end;
}

.msg-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #1c3faa;
  color: #ffffff;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.msg {
  max-width: 70%;
  padding: 10px 12px;
  border-radius: var(--radius);
  background: #ffffff;
  border: 1px solid #e2e8f0;
  font-size: 14px;
  line-height: 1.45;
}

.msg.user {
  background: #1c3faa;
  color: #ffffff;
  border-color: #1c3faa;
}

.citation {
  margin-top: 8px;
  font-size: 11px;
  color: #4a5568;
}

.feedback-buttons {
  margin-top: 8px;
  display: flex;
  gap: 6px;
}

.feedback-btn {
  border: 1px solid #d9e2ec;
  border-radius: var(--radius);
  padding: 4px 6px;
  background: #ffffff;
  cursor: pointer;
}

.feedback-btn.active {
  border-color: #1c3faa;
  color: #1c3faa;
}

.feedback-thanks {
  margin-left: 8px;
  font-size: 12px;
  color: #52606d;
}

.kt-form {
  display: flex;
  gap: 8px;
  padding: 12px;
  border-top: 1px solid #e2e8f0;
  background: #ffffff;
}

.kt-input {
  flex: 1;
  padding: 10px 12px;
  border: 1px solid #d9e2ec;
  border-radius: var(--radius);
  font-size: 14px;
}

.kt-send {
  padding: 10px 14px;
  border: none;
  border-radius: var(--radius);
  background: #1c3faa;
  color: #ffffff;
  font-weight: 600;
  cursor: pointer;
}

.dot {
  width: 6px;
  height: 6px;
  margin: 0 2px;
  background: #94a3b8;
  border-radius: 50%;
  display: inline-block;
  animation: blink 1s infinite;
}

.dot:nth-child(2) {
  animation-delay: 0.2s;
}

.dot:nth-child(3) {
  animation-delay: 0.4s;
}

@keyframes blink {
  0%,
  100% {
    opacity: 0.2;
  }
  50% {
    opacity: 1;
  }
}
