.orac-widget{
  --orac-deep:#571126;
  --orac-primary:#7D1937;
  --orac-cream:#F8E2CC;
  --orac-surface:#FDFAF5;
  --orac-gold:#C7A052;
  --orac-gold-hi:#E8CE92;
  --orac-gold-text:#AE7F43;
  position:relative;
  z-index:2147482000;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.orac-widget,.orac-widget *{box-sizing:border-box}
.orac-widget [hidden]{display:none!important}

/* Hard reset for theme/Elementor button states. Keeps external accent styles out. */
.orac-widget button{
  font-family:inherit!important;
  text-transform:none!important;
  letter-spacing:normal!important;
  text-decoration:none!important;
  text-shadow:none!important;
  box-shadow:none!important;
  background-image:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.orac-widget button::-moz-focus-inner{border:0!important;padding:0!important}

.orac-widget .orac-launcher{
  position:fixed!important;
  right:24px!important;
  bottom:24px!important;
  z-index:2147482001;
  width:64px!important;
  height:64px!important;
  min-width:64px!important;
  min-height:64px!important;
  max-width:64px!important;
  max-height:64px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(232,206,146,.42)!important;
  border-radius:999px!important;
  background:linear-gradient(145deg,#571126,#7D1937)!important;
  color:#F8E2CC!important;
  box-shadow:0 18px 42px rgba(87,17,38,.30),0 4px 12px rgba(87,17,38,.18)!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
  overflow:visible!important;
  cursor:pointer!important;
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease!important;
}
.orac-widget .orac-launcher:hover{
  background:linear-gradient(145deg,#571126,#7D1937)!important;
  color:#F8E2CC!important;
  border-color:#C7A052!important;
  transform:translateY(-3px);
  box-shadow:0 22px 50px rgba(87,17,38,.34),0 6px 16px rgba(87,17,38,.18)!important;
  filter:brightness(1.04);
}
.orac-widget .orac-launcher:active{
  background:#571126!important;
  color:#F8E2CC!important;
  border-color:#E8CE92!important;
  transform:translateY(0) scale(.96);
}
.orac-widget .orac-launcher:focus,
.orac-widget .orac-launcher:focus-visible,
.orac-widget .orac-icon-button:focus-visible,
.orac-widget .orac-send:focus-visible,
.orac-widget .orac-retry:focus-visible,
.orac-widget .orac-quick-wrap button:focus-visible,
.orac-widget .orac-message-cta:focus-visible,
.orac-widget .orac-sources a:focus-visible{
  outline:3px solid #E8CE92!important;
  outline-offset:3px!important;
}
.orac-widget .orac-launcher-icon{width:27px;height:27px;display:block}
.orac-widget .orac-launcher-icon svg{display:block;width:100%;height:100%;fill:currentColor}
.orac-widget .orac-launcher-ring{position:absolute;inset:-6px;border:1px solid rgba(199,160,82,.38);border-radius:50%;animation:oracPulse 2.6s ease-out infinite}
.orac-widget .orac-launcher-dot{position:absolute;right:5px;top:5px;width:12px;height:12px;border-radius:50%;background:#C7A052;border:2px solid #FDFAF5}

.orac-widget .orac-chat-panel{
  position:fixed!important;
  right:24px!important;
  bottom:100px!important;
  left:auto!important;
  top:auto!important;
  z-index:2147482002;
  width:min(440px,calc(100vw - 32px))!important;
  max-width:440px!important;
  height:min(700px,calc(100dvh - 126px))!important;
  min-height:460px!important;
  max-height:700px!important;
  overflow:hidden!important;
  border:1px solid rgba(87,17,38,.13)!important;
  border-radius:26px!important;
  background:#FDFAF5!important;
  color:#571126!important;
  box-shadow:0 32px 90px rgba(87,17,38,.25),0 8px 28px rgba(87,17,38,.11)!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto auto!important;
  transform-origin:bottom right;
  animation:oracPanelIn .28s cubic-bezier(.2,.8,.2,1);
  isolation:isolate;
}
.orac-widget .orac-chat-panel[hidden]{display:none!important}

.orac-widget .orac-chat-header{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  padding:16px 16px 16px 18px;
  background:linear-gradient(135deg,#571126,#7D1937)!important;
  color:#F8E2CC!important;
  border-bottom:1px solid rgba(232,206,146,.18)!important;
}
.orac-widget .orac-assistant-avatar{
  width:44px;height:44px;min-width:44px;min-height:44px;
  border-radius:14px;display:grid;place-items:center;
  background:#F8E2CC;color:#571126;
  font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:19px;
  box-shadow:inset 0 0 0 1px rgba(199,160,82,.42);
}
.orac-widget .orac-chat-heading{display:grid;gap:4px;min-width:0;flex:1 1 auto}
.orac-widget .orac-chat-heading strong{font-size:15px;line-height:1.2;color:#F8E2CC;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.orac-widget .orac-chat-heading span{display:flex;align-items:center;gap:6px;color:rgba(248,226,204,.80);font-size:11px}
.orac-widget .orac-chat-heading i{width:7px;height:7px;border-radius:50%;background:#C7A052;box-shadow:0 0 0 3px rgba(199,160,82,.15)}
.orac-widget .orac-header-actions{display:flex;gap:7px;flex:0 0 auto}
.orac-widget .orac-icon-button{
  width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;
  margin:0!important;padding:0!important;
  border:1px solid rgba(248,226,204,.24)!important;
  border-radius:50%!important;
  background:rgba(253,250,245,.06)!important;
  color:#F8E2CC!important;
  font-size:21px!important;line-height:1!important;
  cursor:pointer!important;display:grid!important;place-items:center!important;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease!important;
}
.orac-widget .orac-icon-button>span{
  position:relative!important;display:block!important;width:18px!important;height:18px!important;
  margin:0!important;padding:0!important;font-size:0!important;line-height:0!important;pointer-events:none!important;
}
.orac-widget [data-orac-minimize]>span::before{
  content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;border-radius:999px;
  background:currentColor;transform:translate(-50%,-50%);
}
.orac-widget [data-orac-close]>span::before,
.orac-widget [data-orac-close]>span::after{
  content:"";position:absolute;left:50%;top:50%;width:13px;height:1.5px;border-radius:999px;
  background:currentColor;transform-origin:center;
}
.orac-widget [data-orac-close]>span::before{transform:translate(-50%,-50%) rotate(45deg)}
.orac-widget [data-orac-close]>span::after{transform:translate(-50%,-50%) rotate(-45deg)}
.orac-widget .orac-icon-button:hover{
  background:rgba(248,226,204,.16)!important;
  border-color:#C7A052!important;
  color:#F8E2CC!important;
  transform:translateY(-1px);
}
.orac-widget .orac-icon-button:active{
  background:#F8E2CC!important;
  border-color:#E8CE92!important;
  color:#571126!important;
  transform:scale(.95);
}

.orac-widget .orac-chat-body{
  min-height:0;overflow:hidden;display:flex;flex-direction:column;
  background:radial-gradient(circle at 100% 0,rgba(232,206,146,.15),transparent 34%),#FDFAF5!important;
}
.orac-widget .orac-message-log{
  flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
  padding:20px 16px 14px;scrollbar-width:thin;scrollbar-color:rgba(87,17,38,.24) transparent;
}
.orac-widget .orac-message-row{display:flex;margin:0 0 11px;min-width:0}
.orac-widget .orac-message-row.is-user{justify-content:flex-end}
.orac-widget .orac-message-row.is-assistant{justify-content:flex-start}
.orac-widget .orac-message{
  max-width:84%;min-width:0;padding:11px 13px;border-radius:18px;font-size:14px;line-height:1.55;
  box-shadow:0 3px 12px rgba(87,17,38,.07);overflow-wrap:anywhere;word-break:normal;
}
.orac-widget .orac-message-row.is-assistant .orac-message{border:1px solid rgba(87,17,38,.09);border-bottom-left-radius:6px;background:#FDFAF5;color:#571126}
.orac-widget .orac-message-row.is-user .orac-message{border-bottom-right-radius:6px;background:#571126;color:#F8E2CC;box-shadow:0 4px 14px rgba(87,17,38,.16)}
.orac-widget .orac-message-text{white-space:pre-wrap}

.orac-widget .orac-sources{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;padding-top:9px;border-top:1px solid rgba(87,17,38,.08)}
.orac-widget .orac-sources a{
  display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;
  border:1px solid rgba(199,160,82,.34)!important;border-radius:999px!important;
  background:#FDFAF5!important;color:#7D1937!important;text-decoration:none!important;
  font-size:11px;font-weight:700;
}
.orac-widget .orac-sources a:hover,.orac-widget .orac-sources a:active{background:#F8E2CC!important;color:#571126!important;border-color:#C7A052!important}
.orac-widget .orac-message-cta{
  display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:10px;padding:9px 12px;
  border:1px solid #C7A052!important;border-radius:12px!important;
  background:#C7A052!important;color:#571126!important;text-decoration:none!important;font-size:12px;font-weight:800;
}
.orac-widget .orac-message-cta:hover,.orac-widget .orac-message-cta:active{background:#E8CE92!important;color:#571126!important;border-color:#E8CE92!important}

.orac-widget .orac-typing{align-self:flex-start;display:flex;gap:4px;margin:0 16px 10px;padding:10px 13px;border:1px solid rgba(87,17,38,.08);border-radius:16px 16px 16px 6px;background:#FDFAF5}
.orac-widget .orac-typing span{width:6px;height:6px;border-radius:50%;background:#AE7F43;animation:oracTyping 1.2s ease-in-out infinite}
.orac-widget .orac-typing span:nth-child(2){animation-delay:.15s}
.orac-widget .orac-typing span:nth-child(3){animation-delay:.3s}

.orac-widget .orac-quick-wrap{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;align-items:stretch;
  max-height:none!important;overflow:visible!important;
  padding:8px 16px 12px;border-top:1px solid rgba(87,17,38,.07);background:#FDFAF5!important;
}
.orac-widget .orac-quick-wrap::-webkit-scrollbar{display:none}
.orac-widget .orac-quick-wrap button{
  width:100%!important;min-width:0;min-height:42px!important;height:auto!important;margin:0!important;padding:9px 12px!important;
  border:1px solid rgba(125,25,55,.16)!important;border-radius:14px!important;
  background:#FDFAF5!important;color:#571126!important;
  font:700 11px/1.35 inherit!important;cursor:pointer!important;white-space:normal!important;text-align:left!important;
  overflow:visible!important;overflow-wrap:anywhere;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease!important;
}
.orac-widget .orac-quick-wrap button:hover{
  border-color:#C7A052!important;background:#F8E2CC!important;color:#571126!important;transform:translateY(-1px);
}
.orac-widget .orac-quick-wrap button:active{
  border-color:#E8CE92!important;background:#E8CE92!important;color:#571126!important;transform:translateY(0) scale(.985);
}

.orac-widget .orac-retry{
  align-self:flex-start;min-width:104px!important;min-height:40px!important;margin:0 16px 12px!important;padding:8px 14px!important;
  border:1px solid #C7A052!important;border-radius:999px!important;
  background:#F8E2CC!important;color:#571126!important;font-weight:800!important;cursor:pointer!important;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease!important;
}
.orac-widget .orac-retry:hover{background:#571126!important;border-color:#571126!important;color:#F8E2CC!important;transform:translateY(-1px)}
.orac-widget .orac-retry:active{background:#7D1937!important;border-color:#C7A052!important;color:#F8E2CC!important;transform:scale(.98)}

.orac-widget .orac-composer{
  display:flex!important;align-items:flex-end!important;gap:9px!important;min-width:0!important;
  padding:12px 13px calc(12px + env(safe-area-inset-bottom))!important;
  border-top:1px solid rgba(87,17,38,.09)!important;background:#FDFAF5!important;
}
.orac-widget .orac-composer textarea{
  display:block!important;min-width:0!important;width:auto!important;flex:1 1 auto!important;
  min-height:46px!important;max-height:112px!important;margin:0!important;resize:none!important;
  border:1px solid rgba(87,17,38,.16)!important;border-radius:16px!important;
  background:#FDFAF5!important;color:#571126!important;padding:11px 13px!important;
  font:500 14px/1.5 inherit!important;box-shadow:none!important;outline:0!important;
}
.orac-widget .orac-composer textarea:hover{border-color:rgba(199,160,82,.60)!important;background:#FDFAF5!important;color:#571126!important}
.orac-widget .orac-composer textarea:focus{border-color:#C7A052!important;box-shadow:0 0 0 3px rgba(199,160,82,.14)!important;background:#FDFAF5!important;color:#571126!important}
.orac-widget .orac-composer textarea::placeholder{color:#AE7F43!important;opacity:1!important}
.orac-widget .orac-send{
  flex:0 0 48px!important;width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;
  margin:0!important;padding:0!important;border:1px solid #571126!important;border-radius:15px!important;
  background:#571126!important;color:#F8E2CC!important;display:grid!important;place-items:center!important;cursor:pointer!important;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease!important;
}
.orac-widget .orac-send:hover{background:#7D1937!important;border-color:#C7A052!important;color:#F8E2CC!important;transform:translateY(-1px)}
.orac-widget .orac-send:active{background:#571126!important;border-color:#E8CE92!important;color:#F8E2CC!important;transform:scale(.96)}
.orac-widget .orac-send:disabled{background:#571126!important;border-color:#571126!important;color:#F8E2CC!important;opacity:.48!important;cursor:wait!important;transform:none!important}
.orac-widget .orac-send svg{width:20px;height:20px;fill:currentColor!important}
.orac-widget .orac-powered{text-align:center;padding:6px 12px 8px;background:#FDFAF5;color:#AE7F43;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.orac-widget .screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@keyframes oracPanelIn{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@keyframes oracPulse{0%{opacity:.7;transform:scale(.92)}65%,100%{opacity:0;transform:scale(1.2)}}
@keyframes oracTyping{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-3px);opacity:1}}

/* Tablet and narrow desktop: keep the panel inside the viewport, not clipped to the right. */
@media(max-width:760px){
  .orac-widget .orac-chat-panel{
    left:12px!important;right:12px!important;bottom:86px!important;top:auto!important;
    width:auto!important;max-width:none!important;
    height:min(700px,calc(100dvh - 104px))!important;max-height:calc(100dvh - 104px)!important;min-height:420px!important;
    border-radius:22px!important;
  }
  .orac-widget .orac-chat-header{padding:14px}
  .orac-widget .orac-message-log{padding:18px 14px 12px}
  .orac-widget .orac-message{max-width:88%}
  .orac-widget .orac-quick-wrap{grid-template-columns:1fr;padding:8px 14px 12px}
}


@media(max-width:640px){
  .orac-widget .orac-launcher{
    right:14px!important;bottom:14px!important;width:58px!important;height:58px!important;
    min-width:58px!important;min-height:58px!important;max-width:58px!important;max-height:58px!important;
  }
  .orac-widget .orac-chat-panel{
    left:10px!important;right:10px!important;bottom:78px!important;
    height:calc(100dvh - 92px)!important;max-height:calc(100dvh - 92px)!important;min-height:0!important;
    border-radius:20px!important;
  }
  .orac-widget .orac-assistant-avatar{width:40px;height:40px;min-width:40px;min-height:40px;border-radius:13px}
  .orac-widget .orac-chat-heading strong{font-size:14px}
  .orac-widget .orac-icon-button{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important}
  .orac-widget .orac-message-log{padding:16px 12px 10px}
  .orac-widget .orac-message{max-width:90%;font-size:13.5px}
  .orac-widget .orac-quick-wrap{padding:8px 12px 10px;gap:7px}
  .orac-widget .orac-retry{margin:0 12px 10px!important}
  .orac-widget .orac-composer{padding:10px 10px calc(10px + env(safe-area-inset-bottom))!important;gap:8px!important}
  .orac-widget .orac-composer textarea{min-height:44px!important;font-size:13px!important}
  .orac-widget .orac-send{flex-basis:46px!important;width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important}
  .orac-widget .orac-powered{padding-bottom:calc(6px + env(safe-area-inset-bottom))}
}

@media(max-width:480px){
  .orac-widget .orac-chat-panel{left:8px!important;right:8px!important;bottom:74px!important;height:calc(100dvh - 84px)!important;max-height:calc(100dvh - 84px)!important;border-radius:18px!important}
  .orac-widget .orac-chat-header{gap:9px;padding:12px 10px 12px 12px}
  .orac-widget .orac-header-actions{gap:5px}
  .orac-widget .orac-chat-heading span{font-size:10px}
  .orac-widget .orac-quick-wrap{grid-template-columns:1fr}
  .orac-widget .orac-quick-wrap button{min-height:42px!important;height:auto!important;padding:9px 12px!important;text-align:left!important;white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere}
  .orac-widget .orac-message{max-width:94%}
}

@media(max-width:360px){
  .orac-widget .orac-assistant-avatar{width:36px;height:36px;min-width:36px;min-height:36px;font-size:16px}
  .orac-widget .orac-chat-heading strong{font-size:13px}
  .orac-widget .orac-icon-button{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;font-size:18px!important}
  .orac-widget .orac-composer{gap:6px!important}
  .orac-widget .orac-send{flex-basis:44px!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
}

@media(prefers-reduced-motion:reduce){
  .orac-widget .orac-launcher,.orac-widget .orac-chat-panel,.orac-widget .orac-typing span{animation:none!important;transition:none!important}
}
