
/* All selectors are prefixed with .ory-cc-panel so the theme's own CSS can't override them */
.ory-cc-panel{font-family:inherit;--ory-ink:#1f3a45;--ory-bg:#fff;--ory-sand:#f0eee6;--ory-line:#e2ded2;color:var(--ory-ink);box-sizing:border-box;font-size:15px;line-height:1.5}
.ory-cc-panel *{box-sizing:border-box}
.ory-cc-panel .ory-cc-box{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;height:100%;max-height:100%;background:var(--ory-bg);border:1px solid var(--ory-line);border-radius:16px;overflow:hidden}
.ory-cc-panel .ory-cc-head{background:var(--ory-ink);color:#fff;padding:16px 20px;display:flex;align-items:center;gap:10px}
.ory-cc-panel .ory-cc-head .t{font-size:17px;color:#fff;line-height:1.2}
.ory-cc-panel .ory-cc-head .s{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#fff;opacity:.7;margin-top:3px}
.ory-cc-panel .ory-cc-close{margin-left:auto;background:none;border:0;box-shadow:none;color:#fff;font-size:18px;cursor:pointer;line-height:1;padding:4px 8px}
.ory-cc-panel .ory-cc-msgs{overflow-y:auto;overscroll-behavior:contain;padding:18px;display:flex;flex-direction:column;gap:12px;min-height:0;background:#fff}
.ory-cc-panel .ory-cc-msg{max-width:88%;padding:11px 15px;border-radius:16px;font-size:14.5px;line-height:1.6;word-wrap:break-word;overflow-wrap:anywhere}
.ory-cc-panel .ory-cc-msg.ory-cc-user{margin-left:auto!important;margin-right:0!important;align-self:flex-end!important;width:fit-content;align-self:flex-end;background:var(--ory-ink);color:#fff;border-bottom-right-radius:4px;white-space:pre-wrap}
.ory-cc-panel .ory-cc-msg.ory-cc-assistant{margin-right:auto!important;margin-left:0!important;align-self:flex-start!important;width:fit-content;align-self:flex-start;background:var(--ory-sand);color:var(--ory-ink);border-bottom-left-radius:4px}
.ory-cc-panel .ory-cc-msg.ory-cc-err{margin-right:auto!important;align-self:flex-start!important;align-self:flex-start;background:#fbeaea;color:#7a2222}
.ory-cc-panel .ory-cc-p{margin:0 0 .6em;padding:0}
.ory-cc-panel .ory-cc-msg > :last-child{margin-bottom:0}
.ory-cc-panel .ory-cc-list{margin:.2em 0 .7em 1.2em;padding:0}
.ory-cc-panel .ory-cc-list li{margin:0 0 .4em;padding:0}
.ory-cc-panel ul.ory-cc-list{list-style:disc}
.ory-cc-panel ol.ory-cc-list{list-style:decimal}
.ory-cc-panel .ory-cc-msg strong{font-weight:700;color:inherit}
.ory-cc-panel .ory-cc-link{color:#0d5c7a;text-decoration:underline;text-underline-offset:2px;word-break:break-all}
.ory-cc-panel .ory-cc-link:hover{color:#08384b}
.ory-cc-panel .ory-cc-starter{display:block;text-align:left;font-size:13.5px;padding:10px 14px;border:1px solid var(--ory-line);border-radius:12px;background:#fff;color:var(--ory-ink);cursor:pointer;width:100%;margin:0 0 8px;box-shadow:none;text-transform:none;letter-spacing:0;font-weight:400}
.ory-cc-panel .ory-cc-starter:hover{background:var(--ory-sand)}
.ory-cc-panel .ory-cc-row{display:flex;gap:10px;padding:12px 14px 14px;background:#fff;align-items:flex-end}
.ory-cc-panel .ory-cc-input{flex:1;resize:none;border:1px solid var(--ory-line);border-radius:12px;padding:11px 14px;font:inherit;font-size:14.5px;line-height:1.4;max-height:110px;margin:0;background:#fff;color:var(--ory-ink);box-shadow:none;height:auto}
.ory-cc-panel .ory-cc-input:focus{outline:2px solid var(--ory-ink);outline-offset:0;border-color:var(--ory-ink)}
.ory-cc-panel .ory-cc-send{flex:0 0 46px;width:46px;height:46px;border:0;border-radius:12px;background:var(--ory-ink);color:#fff;cursor:pointer;padding:0;font-size:16px;box-shadow:none}
.ory-cc-panel .ory-cc-send:disabled{opacity:.35;cursor:default}
.ory-cc-panel .ory-cc-hp{position:absolute!important;left:-9999px!important;height:0;width:0;opacity:0}
.ory-cc-panel .ory-cc-dots span{display:inline-block;width:7px;height:7px;margin-right:4px;border-radius:50%;background:var(--ory-ink);opacity:.5;animation:orycc 1.1s infinite}
.ory-cc-panel .ory-cc-dots span:nth-child(2){animation-delay:.15s}.ory-cc-panel .ory-cc-dots span:nth-child(3){animation-delay:.3s}
@keyframes orycc{50%{transform:scale(1.3);opacity:1}}
/* inline (page) */
.ory-cc-inline{max-width:780px;margin:0 auto;height:680px;max-height:82vh}
/* popup */
.ory-cc-popup{position:fixed;right:20px;bottom:20px;width:390px;max-width:calc(100vw - 24px);height:600px;max-height:calc(100vh - 40px);z-index:999999;display:none;box-shadow:0 20px 60px -15px rgba(0,0,0,.35);border-radius:16px}
.ory-cc-popup.open{display:block}
.ory-cc-launcher{position:fixed;right:20px;bottom:20px;width:56px;height:56px;border-radius:50%;border:0;background:#1f3a45;color:#fff;font-size:22px;cursor:pointer;z-index:999998;box-shadow:0 10px 30px rgba(0,0,0,.3)}

/* Rico's header-icon dialog: let the chat fill it (dialog is 400x400 by default) */
#ory-concierge-popup[open]{display:flex!important;flex-direction:column;width:420px!important;height:min(640px,calc(100dvh - 32px))!important;overflow:hidden!important}
#ory-concierge-popup .ory-concierge-popup-header{flex:0 0 auto}
#ory-concierge-popup .ory-concierge-popup-body.ory-cc-in-dialog{flex:1 1 auto;min-height:0;padding:0!important}
#ory-concierge-popup .ory-cc-dialog-host{height:100%}
#ory-concierge-popup .ory-cc-box{border:0;border-radius:0}

.ory-cc-panel .ory-cc-disc{font-size:11px;line-height:1.45;color:#fff;opacity:.75;margin-top:8px;max-width:60ch;font-weight:400;letter-spacing:0;text-transform:none}
/* dialog: absolute-fill so the chat always gets a real height (fixes input overlapping the messages) */
#ory-concierge-popup .ory-concierge-popup-body.ory-cc-in-dialog{position:relative}
#ory-concierge-popup .ory-cc-dialog-host{position:absolute;inset:0;height:auto}

/* v1.1: suggested questions stay reachable after the first message */
.ory-cc-panel .ory-cc-sugg{display:none;background:#fff;border-top:1px solid var(--ory-line);padding:8px 14px 0}
.ory-cc-panel .ory-cc-sugg.ready{display:block}
.ory-cc-panel .ory-cc-sugg-toggle{background:none;border:0;box-shadow:none;padding:4px 0;margin:0;font:inherit;font-size:13px;color:var(--ory-ink);cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-transform:none;letter-spacing:0;font-weight:500}
.ory-cc-panel .ory-cc-sugg-toggle::after{content:' \25BE';text-decoration:none;display:inline-block;margin-left:4px;transition:transform .2s}
.ory-cc-panel .ory-cc-sugg.open .ory-cc-sugg-toggle::after{transform:rotate(180deg)}
.ory-cc-panel .ory-cc-sugg-list{display:none;max-height:180px;overflow-y:auto;padding:6px 0 2px}
.ory-cc-panel .ory-cc-sugg.open .ory-cc-sugg-list{display:block}
.ory-cc-panel .ory-cc-sugg .ory-cc-starter{font-size:13px;padding:8px 12px;margin:0 0 6px}
/* v1.1: input row can never be pushed out of view */
.ory-cc-panel .ory-cc-row{flex-shrink:0;position:relative;z-index:1}
.ory-cc-panel .ory-cc-box{min-height:0}
#ory-concierge-popup .ory-concierge-popup-body.ory-cc-in-dialog,#ory-concierge-popup .ory-cc-dialog-host{overflow:hidden!important}
#ory-concierge-popup .ory-cc-dialog-host .ory-cc-box{position:absolute;inset:0;height:auto}
.ory-cc-popup .ory-cc-box{overflow:hidden}
/* v1.1: flex column so the layout works with or without the header */
.ory-cc-panel .ory-cc-box{display:flex;flex-direction:column}
.ory-cc-panel .ory-cc-head,.ory-cc-panel .ory-cc-sugg,.ory-cc-panel .ory-cc-row{flex:0 0 auto}
.ory-cc-panel .ory-cc-msgs{flex:1 1 auto;min-height:0}
