/* InteriorBabu Live Chat widget. Self-contained, theme-agnostic. */
.ibchat { --ibc-accent:#9a7d52; --ibc-accent2:#6a5338; --ibc-ink:#1f2430; --ibc-line:#e8e4dd; }
.ibchat *{ box-sizing:border-box; }
/* The panel sets display:flex, which would otherwise beat the UA [hidden] rule —
   force hidden elements to stay hidden so close/minimise works. */
.ibchat[hidden], .ibchat__panel[hidden]{ display:none !important; }

/* Launcher */
.ibchat__launcher{
	position:fixed; right:24px; bottom:90px; z-index:9990;
	display:inline-flex; align-items:center; gap:10px;
	background:linear-gradient(135deg,var(--ibc-accent),var(--ibc-accent2)); color:#fff;
	border:none; border-radius:999px; padding:13px 20px 13px 16px; cursor:pointer;
	font:600 15px/1 system-ui,-apple-system,"Segoe UI",sans-serif;
	box-shadow:0 14px 34px -10px rgba(26,26,26,.5); transition:transform .2s ease, box-shadow .2s ease;
}
.ibchat__launcher:hover{ transform:translateY(-2px); box-shadow:0 18px 40px -10px rgba(26,26,26,.55); }
.ibchat__launcher-icon{ flex-shrink:0; }
.ibchat.is-open .ibchat__launcher{ display:none; }

/* Panel */
.ibchat__panel{
	position:fixed; right:24px; bottom:24px; z-index:9991;
	width:380px; max-width:calc(100vw - 32px); height:min(620px,82vh);
	background:#fff; border-radius:18px; overflow:hidden; display:flex; flex-direction:column;
	box-shadow:0 30px 70px -20px rgba(26,26,26,.5); border:1px solid var(--ibc-line);
	animation:ibc-in .25s ease;
}
@keyframes ibc-in{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:none; } }

.ibchat__header{ display:flex; align-items:center; gap:12px; padding:16px 16px; background:linear-gradient(135deg,#23262f,#15171d); color:#fff; }
.ibchat__avatar{ width:40px; height:40px; border-radius:50%; flex-shrink:0; background:linear-gradient(135deg,var(--ibc-accent),var(--ibc-accent2)); position:relative; }
.ibchat__avatar::after{ content:''; position:absolute; right:-1px; bottom:-1px; width:12px; height:12px; border-radius:50%; background:#22c55e; border:2px solid #15171d; }
.ibchat__head-text{ display:flex; flex-direction:column; line-height:1.3; flex:1; min-width:0; }
.ibchat__head-text strong{ font-size:15px; }
.ibchat__head-text span{ font-size:12px; opacity:.8; }
.ibchat__close{ background:transparent; border:none; color:#fff; font-size:26px; line-height:1; cursor:pointer; opacity:.85; padding:0 4px; }
.ibchat__close:hover{ opacity:1; }

.ibchat__messages{ flex:1; overflow-y:auto; padding:18px 16px; background:#faf9f7; display:flex; flex-direction:column; gap:10px; }
.ibc-msg{ max-width:84%; padding:10px 14px; border-radius:16px; font:400 14.5px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif; white-space:pre-wrap; word-wrap:break-word; }
.ibc-msg--bot{ align-self:flex-start; background:#fff; color:var(--ibc-ink); border:1px solid var(--ibc-line); border-bottom-left-radius:5px; }
.ibc-msg--user{ align-self:flex-end; background:linear-gradient(135deg,var(--ibc-accent),var(--ibc-accent2)); color:#fff; border-bottom-right-radius:5px; }
.ibc-note{ align-self:center; font-size:12.5px; color:#1a7a4c; background:#e6f6ec; padding:6px 12px; border-radius:999px; }
.ibc-typing{ align-self:flex-start; display:inline-flex; gap:4px; padding:12px 14px; background:#fff; border:1px solid var(--ibc-line); border-radius:16px; border-bottom-left-radius:5px; }
.ibc-typing span{ width:7px; height:7px; border-radius:50%; background:#c7c1b6; animation:ibc-bounce 1.2s infinite; }
.ibc-typing span:nth-child(2){ animation-delay:.15s; } .ibc-typing span:nth-child(3){ animation-delay:.3s; }
@keyframes ibc-bounce{ 0%,60%,100%{ transform:translateY(0); opacity:.5; } 30%{ transform:translateY(-5px); opacity:1; } }

.ibchat__quick{ display:flex; flex-wrap:wrap; gap:8px; padding:0 16px 8px; background:#faf9f7; }
.ibc-chip{ background:#fff; border:1px solid var(--ibc-line); color:var(--ibc-accent2); border-radius:999px; padding:7px 13px; font:600 13px/1 system-ui; cursor:pointer; }
.ibc-chip:hover{ background:var(--ibc-accent); color:#fff; border-color:var(--ibc-accent); }

.ibchat__input{ display:flex; gap:8px; padding:12px; border-top:1px solid var(--ibc-line); background:#fff; }
.ibchat__input input{ flex:1; border:1px solid var(--ibc-line); border-radius:999px; padding:11px 16px; font-size:14.5px; outline:none; }
.ibchat__input input:focus{ border-color:var(--ibc-accent); box-shadow:0 0 0 3px rgba(154,125,82,.18); }
.ibchat__input button{ flex-shrink:0; width:44px; height:44px; border:none; border-radius:50%; background:linear-gradient(135deg,var(--ibc-accent),var(--ibc-accent2)); color:#fff; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.ibchat__input button:disabled{ opacity:.5; cursor:default; }
.ibchat__disclaimer{ margin:0; padding:0 14px 12px; font-size:11px; color:#9a958c; background:#fff; text-align:center; }

@media (max-width:600px){
	.ibchat__launcher{ bottom:140px; right:14px; padding:12px; }
	.ibchat__launcher-label{ display:none; }
	.ibchat__panel{ right:8px; left:8px; bottom:8px; width:auto; height:80vh; }
}
