
/* /windoor_ai/static/src/scss/chat_widget.scss */
 .o_windoor_chat{--wd-primary: var(--o-color-1, #06B6D4); --wd-secondary: var(--o-color-2, #3B9EFF); --wd-on-primary: #212529; --wd-dark: var(--o-color-5, #060B18); --wd-light: var(--o-color-3, #EDF2FA); --wd-surface: #ffffff; --wd-surface-soft: #f8fafc; --wd-text: #172033; --wd-muted: #64748b; --wd-border: #dbe4f0; --wd-border-strong: #c6d3e3; --wd-focus: rgba(6, 182, 212, 0.28); --wd-shadow-soft: 0 10px 30px rgba(6, 11, 24, 0.16); --wd-shadow-strong: 0 22px 60px rgba(6, 11, 24, 0.26); --wd-radius: 0.5rem; position: fixed; inset-inline-end: 20px; inset-block-end: 20px; z-index: 1045; display: flex; flex-direction: column; align-items: flex-end; color: var(--wd-text); font-family: var(--body-font-family, inherit); font-size: 14px; line-height: 1.45;}.o_windoor_chat button, .o_windoor_chat textarea{font: inherit;}.o_windoor_chat button:focus-visible, .o_windoor_chat a:focus-visible, .o_windoor_chat textarea:focus-visible{outline: none; box-shadow: 0 0 0 3px var(--wd-focus);}.o_windoor_chat_launcher{display: inline-flex; align-items: center; gap: 10px; max-width: calc(100vw - 32px); min-height: 56px; padding: 8px 16px 8px 8px; border: 1px solid rgba(198, 211, 227, 0.9); border-radius: 999px; background: var(--wd-surface); color: var(--wd-dark); font-weight: 700; box-shadow: var(--wd-shadow-soft); cursor: pointer; transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;}.o_windoor_chat_launcher:hover{border-color: var(--wd-primary); transform: translateY(-1px); box-shadow: 0 16px 36px rgba(6, 11, 24, 0.22);}.o_windoor_launcher_mark, .o_windoor_chat_avatar{position: relative; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; border-radius: 50%; background: var(--wd-primary);}.o_windoor_launcher_mark img, .o_windoor_chat_avatar img{display: block; width: 24px; height: 24px;}.o_windoor_launcher_mark{width: 40px; height: 40px;}.o_windoor_launcher_mark::after{content: ""; position: absolute; inset-inline-end: 1px; inset-block-end: 2px; width: 10px; height: 10px; border: 2px solid var(--wd-surface); border-radius: 50%; background: #22c55e;}.o_windoor_launcher_label{min-width: 0; max-width: 230px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}.o_windoor_chat_teaser{position: relative; max-width: 310px; margin-bottom: 10px; padding: 13px 38px 13px 15px; border: 1px solid var(--wd-border); border-inline-start: 4px solid var(--wd-primary); border-radius: var(--wd-radius); border-end-end-radius: 2px; background: var(--wd-surface); color: var(--wd-dark); box-shadow: var(--wd-shadow-soft); font-size: 14px; line-height: 1.45; cursor: pointer; animation: windoor-panel-in 0.24s ease-out;}@keyframes windoor-panel-in{from{opacity: 0; transform: translateY(8px);}to{opacity: 1; transform: translateY(0);}}.o_windoor_teaser_close{position: absolute; inset-block-start: 7px; inset-inline-end: 8px; width: 24px; height: 24px; border: 0; border-radius: 50%; background: transparent; color: var(--wd-muted); font-size: 18px; line-height: 1; cursor: pointer;}.o_windoor_teaser_close:hover{background: var(--wd-light); color: var(--wd-dark);}.o_windoor_chat_panel{display: flex; flex-direction: column; animation: windoor-panel-in 0.18s ease-out; width: Min(410px, calc(100vw - 32px)); height: Min(620px, calc(100vh - 96px)); border: 1px solid rgba(198, 211, 227, 0.9); border-radius: calc(var(--wd-radius) * 2); overflow: hidden; background: var(--wd-surface); box-shadow: var(--wd-shadow-strong);}.o_windoor_chat_head{display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 14px; border-bottom: 1px solid var(--wd-border); background: var(--wd-surface); color: var(--wd-dark);}.o_windoor_chat_identity{display: flex; align-items: center; min-width: 0; gap: 10px;}.o_windoor_chat_avatar{width: 36px; height: 36px; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5);}.o_windoor_chat_title{display: flex; flex-direction: column; min-width: 0; color: var(--wd-dark); font-weight: 750;}.o_windoor_chat_title span{overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}.o_windoor_chat_title small{display: inline-flex; align-items: center; gap: 5px; margin-top: 1px; color: var(--wd-muted); font-size: 12px; font-weight: 600; letter-spacing: 0;}.o_windoor_chat_title small::before{content: ""; width: 7px; height: 7px; border-radius: 50%; background: #22c55e;}.o_windoor_head_actions{display: flex; align-items: center; flex: 0 0 auto; gap: 8px;}.o_windoor_head_actions .btn-close{width: 30px; height: 30px; padding: 0; border-radius: 50%; opacity: 0.65; filter: none;}.o_windoor_head_actions .btn-close:hover{background-color: var(--wd-light); opacity: 1;}.o_windoor_head_actions .btn-close:focus:not(:focus-visible){box-shadow: none;}.o_windoor_lang_btn{min-width: 38px; height: 30px; border: 1px solid var(--wd-border); border-radius: var(--wd-radius); background: var(--wd-surface-soft); color: var(--wd-dark); font-size: 12px; font-weight: 750; letter-spacing: 0; padding: 0 8px; cursor: pointer; transition: border-color 0.16s ease, background-color 0.16s ease;}.o_windoor_lang_btn:hover, .o_windoor_lang_btn[aria-expanded="true"]{border-color: var(--wd-primary); background: #e9fbff;}.o_windoor_lang_menu{display: flex; flex-direction: column; max-height: 170px; overflow-y: auto; border-bottom: 1px solid var(--wd-border); background: var(--wd-surface);}.o_windoor_lang_menu button{border: 0; background: transparent; color: var(--wd-text); text-align: start; padding: 9px 15px; cursor: pointer;}.o_windoor_lang_menu button:hover{background: var(--wd-light);}.o_windoor_lang_menu button.active{background: #e9fbff; color: var(--wd-dark); font-weight: 750;}.o_windoor_chat_scroll{flex: 1 1 auto; overflow-y: auto; padding: 14px; background: linear-gradient(180deg, #f8fbff 0%, var(--wd-light) 100%); scrollbar-color: var(--wd-border-strong) transparent;}.o_windoor_msg{max-width: 86%; margin-bottom: 10px; padding: 10px 12px; border-radius: var(--wd-radius); line-height: 1.45; overflow-wrap: anywhere; white-space: pre-wrap;}.o_windoor_msg a{color: #0b6680; font-weight: 700; text-decoration: underline; text-underline-offset: 2px;}.o_windoor_msg_user{margin-inline-start: auto; background: var(--wd-primary); color: var(--wd-on-primary); border-end-end-radius: 2px; box-shadow: 0 6px 16px rgba(6, 182, 212, 0.2);}.o_windoor_msg_bot{background: var(--wd-surface); color: var(--wd-dark); border: 1px solid var(--wd-border); border-end-start-radius: 2px; box-shadow: 0 4px 14px rgba(6, 11, 24, 0.05);}.o_windoor_demo{margin: 8px 0 12px;}.o_windoor_demo .o_windoor_demo_title{margin-bottom: 7px; color: var(--wd-dark); font-weight: 750;}.o_windoor_demo iframe{width: 100%; aspect-ratio: 16 / 10; border: 1px solid var(--wd-border); border-radius: var(--wd-radius); background: var(--wd-surface);}.o_windoor_media_card{display: flex; align-items: center; gap: 11px; width: 100%; margin: 4px 0 11px; padding: 11px 12px; border: 1px solid var(--wd-border); border-inline-start: 4px solid var(--wd-primary); border-radius: var(--wd-radius); background: var(--wd-surface); color: var(--wd-dark); font-weight: 700; text-align: start; cursor: pointer; box-shadow: 0 4px 14px rgba(6, 11, 24, 0.05); transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;}.o_windoor_media_card:hover{border-color: var(--wd-primary); transform: translateY(-1px); box-shadow: 0 8px 20px rgba(6, 11, 24, 0.1);}.o_windoor_media_play{display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; background: var(--wd-primary); color: var(--wd-on-primary); font-size: 11px; text-indent: 1px;}.o_windoor_media_overlay{position: fixed; inset: 0; z-index: 1090; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(6, 11, 24, 0.72); animation: windoor-panel-in 0.18s ease-out;}.o_windoor_media_frame{display: flex; flex-direction: column; width: Min(980px, calc(100vw - 32px)); height: Min(640px, calc(100vh - 64px)); border-radius: calc(var(--wd-radius) * 1.5); overflow: hidden; background: var(--wd-surface); box-shadow: 0 24px 80px rgba(6, 11, 24, 0.5);}.o_windoor_media_frame iframe, .o_windoor_media_frame video{flex: 1 1 auto; width: 100%; border: 0; background: #000000;}.o_windoor_media_head{display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 15px; border-bottom: 2px solid var(--wd-primary); background: var(--wd-dark); color: #ffffff; font-weight: 750;}.o_windoor_media_head span{min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}.o_windoor_media_close{width: 30px; height: 30px; flex: 0 0 auto; border: 0; border-radius: 50%; background: transparent; color: #ffffff; font-size: 22px; line-height: 1; cursor: pointer;}.o_windoor_media_close:hover{background: rgba(255, 255, 255, 0.12); color: var(--wd-primary);}.o_windoor_slots{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 4px 0 11px;}.o_windoor_slot_btn{min-height: 38px; padding: 7px 10px; border: 1px solid var(--wd-primary); border-radius: var(--wd-radius); background: var(--wd-surface); color: var(--wd-dark); font-size: 13px; font-weight: 700; cursor: pointer; transition: background-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;}.o_windoor_slot_btn:hover:not(:disabled){background: var(--wd-primary); color: var(--wd-on-primary); transform: translateY(-1px);}.o_windoor_slot_btn:disabled{cursor: default; opacity: 0.48;}.o_windoor_card{position: relative; display: block; margin: 6px 0 12px; border: 1px solid var(--wd-border); border-radius: var(--wd-radius); overflow: hidden; background: var(--wd-surface); color: var(--wd-text); text-decoration: none; animation: windoor-card-in 0.24s ease-out;}.o_windoor_card::before{content: ""; position: absolute; inset-block: 0; inset-inline-start: 0; width: 4px; background: var(--wd-primary);}.o_windoor_card:hover{text-decoration: none;}@keyframes windoor-card-in{from{opacity: 0; transform: translateY(8px);}to{opacity: 1; transform: translateY(0);}}.o_windoor_card_body{position: relative; padding: 14px 16px 14px 18px;}.o_windoor_card_icon{display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; margin-bottom: 7px; border-radius: var(--wd-radius); background: #e9fbff; font-size: 18px;}.o_windoor_pop{animation: windoor-pop 0.42s cubic-bezier(0.34, 1.56, 0.64, 1);}@keyframes windoor-pop{from{transform: scale(0.82);}to{transform: scale(1);}}.o_windoor_card_title{color: var(--wd-dark); font-size: 15px; font-weight: 750;}.o_windoor_card_sub{margin-top: 3px; color: #47566b; font-size: 13px; line-height: 1.45;}.o_windoor_card_cta{display: inline-flex; align-items: center; gap: 6px; margin-top: 11px; padding: 7px 12px; border-radius: var(--wd-radius); background: var(--wd-primary); color: var(--wd-on-primary); font-size: 13px; font-weight: 750;}.o_windoor_card_arrow{transition: transform 0.16s ease;}.o_windoor_card_link{box-shadow: 0 5px 16px rgba(6, 11, 24, 0.06); transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;}.o_windoor_card_link:hover{border-color: var(--wd-primary); transform: translateY(-1px); box-shadow: 0 10px 24px rgba(6, 11, 24, 0.12);}.o_windoor_card_link:hover .o_windoor_card_arrow{transform: translateX(3px);}.o_windoor_card_dark{border-color: var(--wd-dark); background: var(--wd-dark);}.o_windoor_card_dark::before{background: var(--wd-primary);}.o_windoor_card_dark .o_windoor_card_icon{background: rgba(255, 255, 255, 0.1);}.o_windoor_card_dark .o_windoor_card_title{color: #ffffff;}.o_windoor_card_dark .o_windoor_card_sub{color: #c8d3e3;}.o_windoor_card_success{border-color: #b7e4c7; background: #f3fbf6;}.o_windoor_card_success::before{background: #22c55e;}.o_windoor_card_success .o_windoor_card_icon{background: #dcfce7;}.o_windoor_typing{display: inline-flex; align-items: center; gap: 5px; margin-bottom: 8px; padding: 10px 12px; border: 1px solid var(--wd-border); border-radius: var(--wd-radius); border-end-start-radius: 2px; background: var(--wd-surface); box-shadow: 0 4px 14px rgba(6, 11, 24, 0.05);}.o_windoor_typing span{width: 6px; height: 6px; border-radius: 50%; background: var(--wd-primary); animation: o-windoor-blink 1.2s infinite ease-in-out;}.o_windoor_typing span:nth-child(2){animation-delay: 0.2s;}.o_windoor_typing span:nth-child(3){animation-delay: 0.4s;}@keyframes o-windoor-blink{0%, 80%, 100%{opacity: 0.25; transform: translateY(0);}40%{opacity: 1; transform: translateY(-1px);}}.o_windoor_error{padding: 9px 12px; border: 1px solid #fecaca; border-radius: var(--wd-radius); background: #fef2f2; color: #991b1b;}.o_windoor_chat_input{display: flex; align-items: flex-end; gap: 9px; padding: 11px 12px 12px; border-top: 1px solid var(--wd-border); background: var(--wd-surface);}.o_windoor_chat_input textarea{flex: 1 1 auto; min-height: 42px; max-height: 120px; resize: none; overflow-y: auto; border: 1px solid var(--wd-border); border-radius: var(--wd-radius); background: var(--wd-surface-soft); color: var(--wd-text); padding: 10px 12px; line-height: 1.4;}.o_windoor_chat_input textarea::placeholder{color: #7b8aa0;}.o_windoor_chat_input textarea:focus{border-color: var(--wd-primary); background: var(--wd-surface);}.o_windoor_send_btn{flex: 0 0 auto; min-width: 72px; height: 42px; padding: 0 14px; border: 1px solid var(--wd-primary); border-radius: var(--wd-radius); background: var(--wd-primary); color: var(--wd-on-primary); font-weight: 750; cursor: pointer; transition: filter 0.16s ease, transform 0.16s ease;}.o_windoor_send_btn:hover:not(:disabled){filter: brightness(0.97); transform: translateY(-1px);}.o_windoor_send_btn:disabled{cursor: default; filter: grayscale(0.1); opacity: 0.45;}@media (max-width: 575px){.o_windoor_chat{inset-inline: 8px; inset-block-end: Max(8px, env(safe-area-inset-bottom));}.o_windoor_chat_launcher{max-width: 100%; margin-inline-start: auto;}.o_windoor_launcher_label{max-width: 64vw;}.o_windoor_chat_teaser{max-width: 100%; margin-inline-start: auto;}.o_windoor_chat_panel{width: calc(100vw - 16px); height: Min(680px, calc(100vh - 24px)); border-radius: calc(var(--wd-radius) * 1.5);}.o_windoor_chat_head{padding: 12px;}.o_windoor_chat_scroll{padding: 12px;}.o_windoor_msg{max-width: 91%;}.o_windoor_slots{grid-template-columns: 1fr;}.o_windoor_chat_input{padding: 10px;}.o_windoor_media_overlay{padding: 8px;}.o_windoor_media_frame{width: calc(100vw - 16px); height: Min(560px, calc(100vh - 40px)); border-radius: var(--wd-radius);}}@media (prefers-reduced-motion: reduce){.o_windoor_chat *, .o_windoor_chat *::before, .o_windoor_chat *::after{animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 0.01ms !important;}}

/* /website_windoor_ai/static/src/chat/chat_bootstrap.scss */
 .o_windoor_chat{box-sizing: border-box; font-family: 'Poppins', system-ui, sans-serif;}.o_windoor_chat:lang(ar){font-family: 'Noto Kufi Arabic', 'Poppins', system-ui, sans-serif;}.o_windoor_chat *, .o_windoor_chat *::before, .o_windoor_chat *::after{box-sizing: inherit;}.o_windoor_chat button{font-family: inherit;}.o_windoor_chat .btn-close{border: 0; background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/12px auto no-repeat; cursor: pointer;}.o_windoor_chat .btn.btn-primary{display: inline-block; padding: 6px 14px; border-radius: var(--wd-radius); background: var(--wd-primary); color: var(--wd-on-primary); font-size: 13px; font-weight: 600; text-decoration: none;}.o_windoor_chat .mt-2{margin-top: 8px;}html.o_wwai_home .o_windoor_chat:not(:has(.o_windoor_chat_panel)){inset-block-end: 70px; transition: opacity 0.3s ease, visibility 0.3s;}@media (max-width: 819.98px){html.o_wwai_home .o_windoor_chat:not(:has(.o_windoor_chat_panel)){inset-block-end: 62px;}}html.o_wwai_home.o_wwai_in_film .o_windoor_chat:not(:has(.o_windoor_chat_panel)){visibility: hidden; opacity: 0; pointer-events: none;}