/* Bré v373: Book button (amber) + the little robot in the chat */
.bre-action.bre-book{border:0;cursor:pointer;font-family:inherit;background:linear-gradient(135deg,#ffb62e,#ff9a1a);color:#0b1a3a!important}
.bre-action.bre-book:disabled{opacity:.7;cursor:progress}

/* header: the little robot and the name only */
.bre-head .bre-avatar-wrap,.bre-head .bre-title span,.bre-head .bre-title em{display:none}
.bre-head{padding:8px 14px 8px 12px;gap:8px}
.bre-head-robot{flex:0 0 44px;width:44px;display:block}
.bre-head-robot .bre-robot{width:44px;height:auto;display:block;filter:drop-shadow(0 3px 4px rgba(0,40,120,.25));animation:breFloat 3.6s ease-in-out infinite}
.bre-head .bre-title strong{font-size:20px;letter-spacing:.02em}

/* bot messages sit to the right of the robot */
.bre-msg.bot:not(.note){position:relative;margin-left:52px}
.bre-robot-av{position:absolute;left:-54px;bottom:-3px;width:44px;pointer-events:none}
.bre-robot-av .bre-robot{width:44px;height:auto;display:block;filter:drop-shadow(0 4px 5px rgba(0,40,120,.28));animation:breFloat 3.6s ease-in-out infinite}
.bre-robot .bre-r-eyes{transform-box:fill-box;transform-origin:center;animation:breBlink 5s infinite}
.bre-robot .bre-r-ant{animation:breAnt 2.2s ease-in-out infinite}
.bre-robot .bre-r-ring{opacity:0;transform-box:fill-box;transform-origin:center}
@keyframes breFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.5px)}}
@keyframes breBlink{0%,93%,100%{transform:scaleY(1)}96%{transform:scaleY(.12)}}
@keyframes breAnt{0%,100%{opacity:.55}50%{opacity:1}}

/* thinking: the robot appears and her logo turns like a loader */
.bre-msg.bot.bre-thinking{display:flex;align-items:center;gap:6px;margin-left:0;padding:4px 8px 4px 2px;background:transparent;border:0}
.bre-thinking .bre-robot{width:62px;height:auto;display:block;filter:drop-shadow(0 5px 7px rgba(0,40,120,.3));animation:breFloat 2.4s ease-in-out infinite}
.bre-thinking .bre-robot .bre-r-ring{opacity:1;animation:breRing 1.1s linear infinite}
.bre-thinking .bre-robot .bre-r-head{transform-box:fill-box;transform-origin:50% 100%;animation:breTilt 2.4s ease-in-out infinite}
.bre-thinking .bre-robot .bre-r-eyes{animation:breLook 2.4s ease-in-out infinite}
.bre-thinking .bre-robot .bre-r-arm{transform-box:fill-box;transform-origin:50% 0;animation:breWave 1.2s ease-in-out infinite}
@keyframes breRing{to{transform:rotate(360deg)}}
@keyframes breTilt{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes breLook{0%,100%{transform:translate(0,0)}35%{transform:translate(2px,-2px)}70%{transform:translate(-2px,-2px)}}
@keyframes breWave{0%,100%{transform:rotate(0)}50%{transform:rotate(-14deg)}}
@media (prefers-reduced-motion:reduce){.bre-robot,.bre-robot *{animation:none!important}.bre-thinking .bre-robot .bre-r-ring{opacity:1}}

/* poses while she thinks */
.bre-robot .bre-r-laptop,.bre-robot .bre-r-watch{opacity:0;transition:opacity .25s}
.bre-robot.v-laptop .bre-r-laptop,.bre-robot.v-watch .bre-r-watch{opacity:1}
.bre-robot.v-laptop .bre-r-arm,.bre-robot.v-laptop .bre-r-arml,.bre-robot.v-watch .bre-r-arm{opacity:0}
.bre-robot.v-laptop .bre-r-hands{transform-box:fill-box;transform-origin:center;animation:breType .35s ease-in-out infinite}
.bre-robot.v-laptop .bre-r-code{animation:breCode 1.2s steps(3) infinite}
.bre-robot.v-watch .bre-r-head{animation:breWatchTilt 2.6s ease-in-out infinite!important}
.bre-robot.v-watch .bre-r-eyes{animation:breLookWatch 2.6s ease-in-out infinite!important}
.bre-robot.v-watch .bre-r-hand{transform-box:fill-box;transform-origin:50% 100%;animation:breTick 1s steps(4) infinite}
@keyframes breType{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes breCode{0%{opacity:.35}50%{opacity:1}100%{opacity:.35}}
@keyframes breWatchTilt{0%,100%{transform:rotate(3deg)}50%{transform:rotate(7deg)}}
@keyframes breLookWatch{0%,100%{transform:translate(2px,2px)}50%{transform:translate(3px,3px)}}
@keyframes breTick{to{transform:rotate(360deg)}}

/* v377: the check after the conversation, stars, blue and white thank-you with fireworks */
.bre-gate{align-self:center;width:min(320px,100%);text-align:center;padding:12px 14px;border-radius:16px;background:var(--bre-bot);border:1px solid var(--bre-line);color:var(--bre-bot-text)}
.bre-gate strong{display:block;font-size:15px;margin-bottom:2px}
.bre-gate p{margin:0 0 8px;font-size:13px;color:var(--bre-muted)}
.bre-gate-box{display:flex;justify-content:center;min-height:70px;align-items:center}
.bre-gate p.bre-gate-msg{margin:6px 0 0;min-height:18px;color:#b3261e}
.bre-rate{align-self:center;width:min(330px,100%);text-align:center;padding:12px 14px;border-radius:16px;background:var(--bre-bot);border:1px solid var(--bre-line);color:var(--bre-bot-text)}
.bre-rate strong{display:block;font-size:14.5px}
.bre-rate .bre-rate-hint{margin:2px 0 8px;font-size:12px;color:var(--bre-muted)}
.bre-stars{display:flex;justify-content:center;gap:4px}
.bre-star{width:44px;height:44px;border:0;background:transparent;border-radius:12px;cursor:pointer;display:grid;place-items:center;padding:0;-webkit-tap-highlight-color:transparent}
.bre-star svg{width:32px;height:32px;fill:none;stroke:#c9a227;stroke-width:1.6;stroke-linejoin:round;transition:transform .15s,fill .15s}
.bre-star.on svg{fill:#ffc531;stroke:#e0a800}
.bre-star:hover svg{transform:scale(1.12)}
.bre-star:focus-visible{outline:2px solid var(--bre-accent-2);outline-offset:2px}
.bre-rate-more{display:grid;gap:8px;margin-top:8px}
.bre-rate-more textarea{width:100%;box-sizing:border-box;border-radius:10px;border:1px solid var(--bre-line);padding:8px 10px;font:inherit;font-size:13.5px;background:var(--bre-panel);color:var(--bre-text);resize:none}
.bre-rate-send{min-height:40px;border:0;border-radius:999px;font:900 13.5px inherit;font-family:inherit;color:#fff;background:linear-gradient(135deg,var(--bre-accent),var(--bre-accent-2));cursor:pointer}
.bre-rate-send:disabled{opacity:.6}
.bre-rate .bre-rate-msg{margin:6px 0 0;min-height:18px;font-size:13px;color:var(--bre-muted)}
.bre-rate .bre-rate-msg.ok{color:#18794e;font-weight:900}
.bre-thanks-stage{position:relative;width:min(300px,86vw);height:min(250px,60vw);display:grid;place-items:center}
.bre-fw{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.bre-thanks-badge{position:relative;z-index:1;display:grid;place-items:center;width:min(190px,56vw);aspect-ratio:1/1;border-radius:34%;background:linear-gradient(145deg,#3b86ff,#0057e0 55%,#06266b);box-shadow:0 14px 36px rgba(0,87,224,.55),inset 0 2px 0 rgba(255,255,255,.55),inset 0 -8px 18px rgba(0,20,100,.4);opacity:0;transform:scale(.6)}
.bre-thanks-badge img{width:76%;height:auto;display:block;filter:drop-shadow(0 2px 4px rgba(0,20,100,.5))}
.bre-thanks.is-on .bre-thanks-badge{animation:breBadgeIn .7s cubic-bezier(.2,.9,.25,1.2) forwards,breBadgePulse 1.6s ease-in-out .8s infinite}
.bre-thanks-words{margin:0;font:900 12px/1.2 inherit;font-family:inherit;letter-spacing:.2em;color:#fff;opacity:0;transition:opacity .5s ease .5s}
.bre-thanks.is-on .bre-thanks-words{opacity:.95}
@keyframes breBadgeIn{to{opacity:1;transform:scale(1)}}
@keyframes breBadgePulse{0%,100%{box-shadow:0 14px 36px rgba(0,87,224,.55),inset 0 2px 0 rgba(255,255,255,.55),inset 0 -8px 18px rgba(0,20,100,.4)}50%{box-shadow:0 14px 48px rgba(91,150,255,.85),inset 0 2px 0 rgba(255,255,255,.7),inset 0 -8px 18px rgba(0,20,100,.4)}}
@media (prefers-reduced-motion:reduce){.bre-thanks-badge{opacity:1;transform:none;animation:none!important}.bre-thanks-words{opacity:.95}}

.bre-rate-more[hidden],.bre-rate [hidden]{display:none!important}

.bre-thanks-words{white-space:nowrap;letter-spacing:.13em!important;font-size:clamp(9.5px,3vw,12px)!important}

/* v378: Home button in the header */
.bre-home{flex:0 0 36px;width:36px;height:36px;border-radius:50%;border:1px solid var(--bre-line);background:transparent;color:var(--bre-text);cursor:pointer;display:grid;place-items:center;padding:0;margin-left:auto}
.bre-home svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.bre-home:hover,.bre-home:focus-visible{background:var(--bre-chip)}
.bre-home.arm{background:#ffb62e;border-color:#ffb62e;color:#0b1a3a}
.bre-title{flex:1 1 auto}

/* v380: stay visible above every overlay (Mini Studio, Toolkit, Mixer, Portfolio, Services) on phone and desktop */
html body .bre-fab{z-index:2147482000!important}
html body .ks-a11y-btn{z-index:2147482100!important}
html body .ks-a11y-panel{z-index:2147482200!important}
/* the page behind the Bré window must not scroll */
html.bre-open{overflow:hidden;overscroll-behavior:none}
html.bre-open .bre-log,html.bre-open .bre-panel{overscroll-behavior:contain}
html body.ks-pfs-open .bre-fab,html body.modal-locked .bre-fab,html body .bre-fab{display:grid!important}
html.bre-open body .bre-fab{display:none!important}
