/* NY Spine Care Chatbot v1.2.0 */
#nsc-chatbot {
	--nsc-p: #8AB2B1;
	--nsc-p-50: #F3F8F8;
	--nsc-p-100: #E4EFEF;
	--nsc-p-200: #CADFDE;
	--nsc-p-600: #6E9A99;
	--nsc-p-700: #4A7978;
	--nsc-p-800: #36605F;
	--nsc-ink: #1E3433;
	--nsc-muted: #5F7473;
	--nsc-white: #FFFFFF;
	--nsc-ok: #34C38F;
	--nsc-radius: 22px;
	--nsc-shadow: 0 24px 60px -12px rgba(30, 52, 51, .35), 0 8px 24px -8px rgba(30, 52, 51, .18);
	--nsc-font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 2147483000;
	font-family: var(--nsc-font);
	font-size: 15px;
	line-height: 1.5;
	color: var(--nsc-ink);
	-webkit-font-smoothing: antialiased;
}
#nsc-chatbot *, #nsc-chatbot *::before, #nsc-chatbot *::after { box-sizing: border-box; }
/* Reset theme / Elementor button and input styles inside the chatbot */
#nsc-chatbot button {
	font-family: inherit; font-size: inherit; font-weight: inherit; margin: 0; padding: 0; cursor: pointer;
	text-transform: none; letter-spacing: normal; line-height: 1.3; text-decoration: none; text-shadow: none;
	width: auto; min-width: 0; max-width: none; height: auto; min-height: 0;
	background: none; border: 0; border-radius: 0; box-shadow: none; color: inherit; white-space: normal;
}
#nsc-chatbot input, #nsc-chatbot textarea { font-family: inherit; letter-spacing: normal; text-transform: none; }
#nsc-chatbot svg { display: block; flex-shrink: 0; }
#nsc-chatbot a { text-decoration: none; }
#nsc-chatbot p { margin: 0 0 8px; }
#nsc-chatbot p:last-child { margin-bottom: 0; }
#nsc-chatbot ul { margin: 6px 0 8px; padding: 0 0 0 18px; }
#nsc-chatbot li { margin: 2px 0; }
#nsc-chatbot strong { font-weight: 700; }

/* ---------- Launcher ---------- */
#nsc-chatbot .nsc-launcher {
	position: relative; display: block;
	width: 80px !important; height: 80px !important; min-width: 80px !important; max-width: 80px !important; min-height: 80px !important;
	padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 50% !important;
	line-height: 0 !important; overflow: visible !important;
	background: var(--nsc-white);
	box-shadow: 0 14px 34px -6px rgba(54, 96, 95, .6);
	transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s;
}
#nsc-chatbot .nsc-launcher:hover { transform: translateY(-3px) scale(1.04); box-shadow: 0 16px 36px -6px rgba(54, 96, 95, .6); }
#nsc-chatbot .nsc-launcher:focus-visible { outline: 3px solid var(--nsc-p-700); outline-offset: 3px; }
#nsc-chatbot .nsc-launcher__ring {
	position: absolute; inset: 0; border-radius: 50%;
	padding: 3px;
	background: conic-gradient(from 200deg, var(--nsc-p), var(--nsc-p-700), var(--nsc-p-200), var(--nsc-p));
}
#nsc-chatbot .nsc-launcher__img {
	width: 100%; height: 100%; border-radius: 50%;
	border: 3px solid var(--nsc-white);
	background: var(--nsc-p-100) center top / cover no-repeat;
}
#nsc-chatbot .nsc-launcher__pulse {
	position: absolute; inset: -6px; border-radius: 50%;
	border: 2px solid var(--nsc-p);
	animation: nsc-pulse 2.6s ease-out infinite;
	pointer-events: none;
}
#nsc-chatbot .nsc-launcher__dot {
	position: absolute; right: 3px; bottom: 5px;
	width: 18px; height: 18px; border-radius: 50%;
	background: var(--nsc-ok); border: 3px solid var(--nsc-white);
}
#nsc-chatbot .nsc-launcher__dot.is-off { background: #F2B544; }
#nsc-chatbot .nsc-launcher__badge {
	position: absolute; top: -2px; right: -2px;
	min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px;
	background: #E5484D; color: #fff; font-size: 12px; font-weight: 700;
	display: none; align-items: center; justify-content: center;
	border: 2px solid #fff;
}
#nsc-chatbot .nsc-launcher__badge.is-on { display: flex; }
#nsc-chatbot .nsc-launcher__close {
	position: absolute; inset: 0; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--nsc-p-600), var(--nsc-p-800)); color: #fff;
	opacity: 0; transform: rotate(-90deg) scale(.6);
	transition: opacity .25s, transform .3s cubic-bezier(.2,.8,.2,1);
}
#nsc-chatbot.is-open .nsc-launcher__close { opacity: 1; transform: none; }
#nsc-chatbot.is-open .nsc-launcher__pulse,
#nsc-chatbot.is-open .nsc-launcher__dot,
#nsc-chatbot.is-open .nsc-launcher__badge { display: none; }

@keyframes nsc-pulse {
	0% { transform: scale(.92); opacity: .9; }
	70% { transform: scale(1.22); opacity: 0; }
	100% { transform: scale(1.22); opacity: 0; }
}

/* ---------- Invitation card ---------- */
#nsc-chatbot .nsc-teaser {
	position: absolute; right: 0; bottom: 100px;
	width: 320px;
	padding: 16px;
	background: var(--nsc-white);
	border: 1px solid var(--nsc-p-100);
	border-radius: 22px 22px 8px 22px;
	box-shadow: var(--nsc-shadow);
	overflow: hidden;
	font-size: 14px; color: var(--nsc-ink);
	opacity: 0; transform: translateY(14px) scale(.94); transform-origin: bottom right; pointer-events: none; visibility: hidden;
	transition: opacity .4s, transform .45s cubic-bezier(.2,1.3,.4,1), visibility 0s .45s;
}
#nsc-chatbot .nsc-teaser::before {
	content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px;
	background: linear-gradient(90deg, var(--nsc-p), var(--nsc-p-700));
}
#nsc-chatbot .nsc-teaser.is-on { opacity: 1; transform: none; pointer-events: auto; visibility: visible; transition: opacity .4s, transform .45s cubic-bezier(.2,1.3,.4,1); }
#nsc-chatbot .nsc-teaser__top { display: flex; align-items: center; gap: 10px; cursor: pointer; padding-right: 22px; }
#nsc-chatbot .nsc-teaser__av { width: 42px; height: 42px; border-radius: 50%; flex-shrink: 0; background: var(--nsc-p-100) center top / cover no-repeat; border: 2px solid var(--nsc-p); }
#nsc-chatbot .nsc-teaser__top b { display: block; font-size: 14.5px; font-weight: 800; line-height: 1.25; }
#nsc-chatbot .nsc-teaser__top small { display: flex; align-items: center; gap: 6px; font-size: 12px; color: #1F8A5F; font-weight: 600; }
#nsc-chatbot .nsc-teaser__top small i { width: 7px; height: 7px; border-radius: 50%; background: var(--nsc-ok); box-shadow: 0 0 0 3px rgba(52,195,143,.25); }
#nsc-chatbot .nsc-teaser__msg { margin: 12px 0 12px; padding: 11px 13px; border-radius: 4px 16px 16px 16px; background: var(--nsc-p-50); line-height: 1.5; cursor: pointer; }
#nsc-chatbot .nsc-teaser__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
#nsc-chatbot .nsc-teaser__btns button {
	display: flex !important; align-items: center; justify-content: center; gap: 6px;
	padding: 10px 8px !important; margin: 0 !important; border-radius: 12px !important; min-height: 0 !important; height: auto !important; width: auto !important;
	border: 1px solid var(--nsc-p-200) !important; background: #fff !important; color: var(--nsc-p-800) !important;
	font-size: 13px !important; font-weight: 700 !important; line-height: 1.2 !important; box-shadow: none !important; white-space: nowrap;
	transition: background .2s, border-color .2s, color .2s;
}
#nsc-chatbot .nsc-teaser__btns button svg { width: 16px; height: 16px; }
#nsc-chatbot .nsc-teaser__btns button:hover { background: var(--nsc-p-50) !important; border-color: var(--nsc-p) !important; }
#nsc-chatbot .nsc-teaser__btns button.is-wide { grid-column: 1 / -1; background: linear-gradient(135deg, var(--nsc-p-700), var(--nsc-p-800)) !important; color: #fff !important; border-color: transparent !important; }
#nsc-chatbot .nsc-teaser__btns button.is-wide:hover { background: linear-gradient(135deg, var(--nsc-p-600), var(--nsc-p-700)) !important; }
#nsc-chatbot .nsc-teaser__x {
	position: absolute; top: 12px; right: 12px;
	width: 26px !important; height: 26px !important; min-width: 0 !important; border: 0 !important; border-radius: 50% !important;
	background: var(--nsc-p-50) !important; color: var(--nsc-muted) !important;
	display: flex !important; align-items: center; justify-content: center; padding: 0 !important; margin: 0 !important;
}
#nsc-chatbot .nsc-teaser__x:hover { background: var(--nsc-p-100) !important; color: var(--nsc-ink) !important; }
#nsc-chatbot.is-open .nsc-teaser { display: none; }

/* ---------- "Chat with us" label beside the button ---------- */
#nsc-chatbot .nsc-label {
	position: absolute; right: 92px; bottom: 20px;
	display: flex !important; align-items: center; gap: 8px;
	white-space: nowrap;
	padding: 11px 16px !important; margin: 0 !important; height: auto !important; min-height: 0 !important; width: auto !important;
	border: 1px solid var(--nsc-p-100) !important; border-radius: 999px !important;
	background: #fff !important; color: var(--nsc-ink) !important;
	font-size: 14px !important; font-weight: 500 !important; line-height: 1.2 !important;
	box-shadow: 0 10px 26px -8px rgba(30,52,51,.35) !important;
	transition: opacity .3s, transform .3s;
	animation: nsc-label-in .5s .8s cubic-bezier(.2,1.3,.4,1) both;
}
#nsc-chatbot .nsc-label b { color: var(--nsc-p-800); font-weight: 800; }
#nsc-chatbot .nsc-label i { width: 9px; height: 9px; border-radius: 50%; background: var(--nsc-ok); box-shadow: 0 0 0 3px rgba(52,195,143,.25); flex-shrink: 0; }
#nsc-chatbot .nsc-label:hover { transform: translateX(-3px); }
#nsc-chatbot.is-open .nsc-label,
#nsc-chatbot.has-teaser .nsc-label { opacity: 0; pointer-events: none; transform: translateX(10px); animation: none; }
@keyframes nsc-label-in { from { opacity: 0; transform: translateX(12px); } to { opacity: 1; transform: none; } }

/* Attention bounce */
#nsc-chatbot .nsc-launcher.is-nudge { animation: nsc-nudge 1s cubic-bezier(.3,.7,.4,1); }
@keyframes nsc-nudge {
	0%, 100% { transform: translateY(0) rotate(0); }
	20% { transform: translateY(-10px) rotate(-6deg); }
	40% { transform: translateY(0) rotate(5deg); }
	60% { transform: translateY(-5px) rotate(-3deg); }
	80% { transform: translateY(0) rotate(1deg); }
}

/* ---------- Panel ---------- */
#nsc-chatbot .nsc-panel {
	position: absolute; right: 0; bottom: 96px;
	width: 400px; height: min(680px, calc(100vh - 140px));
	display: flex; flex-direction: column;
	background: var(--nsc-white);
	border-radius: var(--nsc-radius);
	box-shadow: var(--nsc-shadow);
	overflow: hidden;
	opacity: 0; transform: translateY(16px) scale(.97); transform-origin: bottom right;
	pointer-events: none; visibility: hidden;
	transition: opacity .3s, transform .35s cubic-bezier(.2,.8,.2,1), visibility 0s .35s;
}
#nsc-chatbot.is-open .nsc-panel {
	opacity: 1; transform: none; pointer-events: auto; visibility: visible;
	transition: opacity .3s, transform .35s cubic-bezier(.2,.8,.2,1);
}

/* Header */
#nsc-chatbot .nsc-head {
	position: relative;
	padding: 18px 18px 20px;
	color: #fff;
	background:
		radial-gradient(120% 140% at 100% 0%, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 55%),
		linear-gradient(140deg, var(--nsc-p) 0%, var(--nsc-p-700) 62%, var(--nsc-p-800) 100%);
	flex-shrink: 0;
	overflow: hidden;
}
#nsc-chatbot .nsc-head::after {
	content: ""; position: absolute; right: -40px; bottom: -70px;
	width: 180px; height: 180px; border-radius: 50%;
	border: 26px solid rgba(255,255,255,.07);
	pointer-events: none;
}
#nsc-chatbot .nsc-head__row { position: relative; z-index: 1; display: flex; align-items: center; gap: 12px; }
#nsc-chatbot .nsc-head__avatar {
	position: relative; width: 50px; height: 50px; flex-shrink: 0;
	border-radius: 50%; border: 2px solid rgba(255,255,255,.85);
	background: var(--nsc-p-100) center top / cover no-repeat;
	box-shadow: 0 4px 12px rgba(0,0,0,.15);
}
#nsc-chatbot .nsc-head__avatar i {
	position: absolute; right: -1px; bottom: 1px; width: 13px; height: 13px; border-radius: 50%;
	background: var(--nsc-ok); border: 2px solid var(--nsc-p-700);
}
#nsc-chatbot .nsc-head__avatar i.is-off { background: #F2B544; }
#nsc-chatbot .nsc-head__text { flex: 1; min-width: 0; }
#nsc-chatbot .nsc-head__title { font-size: 16px; font-weight: 800; letter-spacing: -.01em; line-height: 1.25; color: #fff; }
#nsc-chatbot .nsc-head__sub { font-size: 12.5px; opacity: .92; margin-top: 2px; color: #fff; }
#nsc-chatbot .nsc-head__btn {
	width: 36px; height: 36px; border-radius: 12px; border: 0; padding: 0;
	display: flex; align-items: center; justify-content: center;
	background: rgba(255,255,255,.16); color: #fff;
	transition: background .2s;
}
#nsc-chatbot .nsc-head__btn:hover { background: rgba(255,255,255,.28); color: #fff; }
#nsc-chatbot .nsc-head__btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
#nsc-chatbot .nsc-head__status {
	position: relative; z-index: 1;
	margin-top: 14px; display: inline-flex; align-items: center; gap: 8px;
	padding: 6px 12px; border-radius: 999px;
	background: rgba(255,255,255,.16); font-size: 12px; font-weight: 600; color: #fff;
}
#nsc-chatbot .nsc-head__status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--nsc-ok); box-shadow: 0 0 0 3px rgba(52,195,143,.3); }
#nsc-chatbot .nsc-head__status.is-off::before { background: #F2B544; box-shadow: 0 0 0 3px rgba(242,181,68,.3); }

/* Body */
#nsc-chatbot .nsc-body {
	position: relative;
	flex: 1; overflow-y: auto; overscroll-behavior: contain;
	padding: 18px 16px 8px;
	background:
		radial-gradient(circle at 1px 1px, rgba(138,178,177,.16) 1px, transparent 0) 0 0 / 18px 18px,
		var(--nsc-p-50);
	scroll-behavior: smooth;
}
#nsc-chatbot .nsc-body::-webkit-scrollbar { width: 6px; }
#nsc-chatbot .nsc-body::-webkit-scrollbar-thumb { background: var(--nsc-p-200); border-radius: 3px; }
#nsc-chatbot .nsc-day { text-align: center; font-size: 11.5px; font-weight: 600; color: var(--nsc-muted); margin: 0 0 14px; letter-spacing: .02em; }

#nsc-chatbot .nsc-msg { display: flex; gap: 8px; margin-bottom: 12px; align-items: flex-end; animation: nsc-in .35s cubic-bezier(.2,.8,.2,1) both; }
#nsc-chatbot .nsc-msg__av { width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0; background: var(--nsc-p-100) center top / cover no-repeat; border: 2px solid #fff; box-shadow: 0 2px 6px rgba(30,52,51,.12); }
#nsc-chatbot .nsc-msg__col { display: flex; flex-direction: column; gap: 8px; max-width: calc(100% - 36px); min-width: 0; }
#nsc-chatbot .nsc-bubble {
	padding: 11px 14px; border-radius: 18px 18px 18px 6px;
	background: var(--nsc-white); color: var(--nsc-ink);
	box-shadow: 0 1px 2px rgba(30,52,51,.06), 0 4px 14px -6px rgba(30,52,51,.1);
	font-size: 14.5px; word-wrap: break-word; overflow-wrap: anywhere;
}
#nsc-chatbot .nsc-bubble a { color: var(--nsc-p-700); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
#nsc-chatbot .nsc-msg.is-user { justify-content: flex-end; }
#nsc-chatbot .nsc-msg.is-user .nsc-bubble {
	background: linear-gradient(135deg, var(--nsc-p-700), var(--nsc-p-800)); color: #fff;
	border-radius: 18px 18px 6px 18px; max-width: 82%;
}
#nsc-chatbot .nsc-msg.is-follow .nsc-msg__av { visibility: hidden; }

@keyframes nsc-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* Typing */
#nsc-chatbot .nsc-typing { display: inline-flex; gap: 4px; padding: 14px 16px; }
#nsc-chatbot .nsc-typing span { width: 7px; height: 7px; border-radius: 50%; background: var(--nsc-p); animation: nsc-bounce 1.2s infinite ease-in-out; }
#nsc-chatbot .nsc-typing span:nth-child(2) { animation-delay: .15s; }
#nsc-chatbot .nsc-typing span:nth-child(3) { animation-delay: .3s; }
@keyframes nsc-bounce { 0%, 60%, 100% { transform: translateY(0); opacity: .5; } 30% { transform: translateY(-5px); opacity: 1; } }

/* Doctor card */
#nsc-chatbot .nsc-doc {
	background: var(--nsc-white); border-radius: 18px; overflow: hidden;
	box-shadow: 0 1px 2px rgba(30,52,51,.06), 0 6px 18px -8px rgba(30,52,51,.16);
	border: 1px solid var(--nsc-p-100);
}
#nsc-chatbot .nsc-doc__top { display: flex; gap: 12px; padding: 14px; align-items: center; background: linear-gradient(180deg, var(--nsc-p-50), #fff); }
#nsc-chatbot .nsc-doc__img { width: 64px; height: 64px; border-radius: 16px; flex-shrink: 0; background: var(--nsc-p-100) center top / cover no-repeat; border: 2px solid #fff; box-shadow: 0 4px 12px -4px rgba(30,52,51,.3); }
#nsc-chatbot .nsc-doc__name { font-weight: 800; font-size: 15.5px; letter-spacing: -.01em; }
#nsc-chatbot .nsc-doc__role { font-size: 12.5px; color: var(--nsc-muted); line-height: 1.35; margin-top: 2px; }
#nsc-chatbot .nsc-doc__stats { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--nsc-p-100); }
#nsc-chatbot .nsc-doc__stat { padding: 10px 6px; text-align: center; }
#nsc-chatbot .nsc-doc__stat + .nsc-doc__stat { border-left: 1px solid var(--nsc-p-100); }
#nsc-chatbot .nsc-doc__stat b { display: block; font-size: 14.5px; font-weight: 800; color: var(--nsc-p-700); line-height: 1.2; }
#nsc-chatbot .nsc-doc__stat span { display: block; font-size: 11px; color: var(--nsc-muted); margin-top: 2px; line-height: 1.25; }

/* Quick tiles */
#nsc-chatbot .nsc-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
#nsc-chatbot .nsc-tile {
	display: flex; align-items: center; gap: 10px;
	padding: 11px 12px; border-radius: 14px;
	border: 1px solid var(--nsc-p-200); background: var(--nsc-white);
	color: var(--nsc-ink); font-size: 13.5px; font-weight: 600; text-align: left;
	transition: border-color .2s, transform .2s, box-shadow .2s, background .2s;
}
#nsc-chatbot .nsc-tile:hover { border-color: var(--nsc-p); transform: translateY(-1px); box-shadow: 0 6px 16px -8px rgba(54,96,95,.45); background: #fff; color: var(--nsc-ink); }
#nsc-chatbot .nsc-tile:focus-visible { outline: 2px solid var(--nsc-p-700); outline-offset: 2px; }
#nsc-chatbot .nsc-tile__ic { width: 32px; height: 32px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: var(--nsc-p-100); color: var(--nsc-p-800); flex-shrink: 0; }
#nsc-chatbot .nsc-tile.is-primary { grid-column: 1 / -1; background: linear-gradient(135deg, var(--nsc-p-700), var(--nsc-p-800)); border-color: transparent; color: #fff; }
#nsc-chatbot .nsc-tile.is-primary:hover { color: #fff; background: linear-gradient(135deg, var(--nsc-p-600), var(--nsc-p-700)); }
#nsc-chatbot .nsc-tile.is-primary .nsc-tile__ic { background: rgba(255,255,255,.18); color: #fff; }
#nsc-chatbot .nsc-tile small { display: block; font-weight: 500; font-size: 12px; opacity: .85; }

/* Action buttons */
#nsc-chatbot .nsc-actions { display: flex; flex-wrap: wrap; gap: 8px; }
#nsc-chatbot .nsc-btn {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 10px 14px; border-radius: 12px; border: 1px solid transparent;
	font-size: 13.5px; font-weight: 700; line-height: 1.2;
	transition: transform .2s, box-shadow .2s, background .2s;
}
#nsc-chatbot .nsc-btn--solid { background: linear-gradient(135deg, var(--nsc-p-700), var(--nsc-p-800)); color: #fff !important; box-shadow: 0 6px 14px -6px rgba(54,96,95,.6); }
#nsc-chatbot .nsc-btn--solid:hover { transform: translateY(-1px); box-shadow: 0 10px 20px -8px rgba(54,96,95,.7); color: #fff; }
#nsc-chatbot .nsc-btn--ghost { background: var(--nsc-white); color: var(--nsc-p-800) !important; border-color: var(--nsc-p-200); }
#nsc-chatbot .nsc-btn--ghost:hover { border-color: var(--nsc-p); background: var(--nsc-p-50); }
#nsc-chatbot .nsc-btn:focus-visible { outline: 2px solid var(--nsc-p-700); outline-offset: 2px; }

/* Suggestion chips */
#nsc-chatbot .nsc-chips { display: flex; flex-wrap: wrap; gap: 6px; padding-left: 36px; margin: -2px 0 14px; animation: nsc-in .4s .1s cubic-bezier(.2,.8,.2,1) both; }
#nsc-chatbot .nsc-chip {
	padding: 7px 12px; border-radius: 999px;
	border: 1px solid var(--nsc-p-200); background: var(--nsc-white);
	color: var(--nsc-p-800); font-size: 13px; font-weight: 600;
	transition: background .2s, border-color .2s, color .2s;
}
#nsc-chatbot .nsc-chip:hover { background: var(--nsc-p); border-color: var(--nsc-p); color: #fff; }
#nsc-chatbot .nsc-chip:focus-visible { outline: 2px solid var(--nsc-p-700); outline-offset: 2px; }

/* Rich content inside bubbles */
#nsc-chatbot .nsc-tag { display: inline-block; padding: 3px 9px; margin: 3px 3px 0 0; border-radius: 999px; background: var(--nsc-p-50); border: 1px solid var(--nsc-p-100); font-size: 12.5px; font-weight: 600; color: var(--nsc-p-800); }
#nsc-chatbot .nsc-check { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 12px; background: #EAF8F2; color: #135C40; font-weight: 600; margin-bottom: 8px; }
#nsc-chatbot .nsc-check svg { margin-top: 2px; }
#nsc-chatbot .nsc-note { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 12px; background: #FFF6E5; color: #6B4A0B; font-size: 13.5px; margin-top: 8px; }
#nsc-chatbot .nsc-note svg { margin-top: 2px; }
#nsc-chatbot .nsc-alert { padding: 12px 14px; border-radius: 12px; background: #FDECEC; color: #8A1C1C; border: 1px solid #F6C7C7; font-weight: 600; }
#nsc-chatbot .nsc-kv { display: grid; grid-template-columns: auto 1fr; gap: 6px 12px; font-size: 14px; margin: 4px 0; }
#nsc-chatbot .nsc-kv dt { color: var(--nsc-muted); font-weight: 600; margin: 0; }
#nsc-chatbot .nsc-kv dd { margin: 0; font-weight: 600; }
#nsc-chatbot .nsc-group { border: 1px solid var(--nsc-p-100); border-radius: 12px; margin-top: 8px; overflow: hidden; }
#nsc-chatbot .nsc-group summary {
	list-style: none; cursor: pointer; padding: 10px 12px; font-weight: 700; font-size: 13.5px;
	display: flex; justify-content: space-between; align-items: center; background: var(--nsc-p-50);
}
#nsc-chatbot .nsc-group summary::-webkit-details-marker { display: none; }
#nsc-chatbot .nsc-group summary span { font-weight: 600; font-size: 12px; color: var(--nsc-muted); }
#nsc-chatbot .nsc-group[open] summary { border-bottom: 1px solid var(--nsc-p-100); }
#nsc-chatbot .nsc-group__list { padding: 8px 10px 10px; }
#nsc-chatbot .nsc-treat { padding: 9px 0; border-bottom: 1px dashed var(--nsc-p-100); }
#nsc-chatbot .nsc-treat:last-child { border-bottom: 0; padding-bottom: 2px; }
#nsc-chatbot .nsc-treat--link {
	display: block; width: 100%; text-align: left; position: relative;
	padding: 9px 26px 9px 0; border-bottom: 1px dashed var(--nsc-p-100);
	transition: background .2s;
}
#nsc-chatbot .nsc-treat--link::after {
	content: "›"; position: absolute; right: 6px; top: 50%; transform: translateY(-50%);
	font-size: 20px; line-height: 1; color: var(--nsc-p); transition: right .2s;
}
#nsc-chatbot .nsc-treat--link:hover { background: var(--nsc-p-50); }
#nsc-chatbot .nsc-treat--link:hover::after { right: 2px; color: var(--nsc-p-700); }
#nsc-chatbot .nsc-treat--link:last-child { border-bottom: 0; }
#nsc-chatbot .nsc-treat--link:focus-visible { outline: 2px solid var(--nsc-p-700); outline-offset: 1px; }
#nsc-chatbot .nsc-tag--btn { cursor: pointer; font-family: inherit; line-height: 1.4; transition: background .2s, border-color .2s, color .2s; }
#nsc-chatbot .nsc-tag--btn:hover { background: var(--nsc-p); border-color: var(--nsc-p); color: #fff; }
#nsc-chatbot .nsc-kv--stack { grid-template-columns: 1fr; gap: 2px; margin: 8px 0 0; }
#nsc-chatbot .nsc-kv--stack dt { margin-top: 8px; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--nsc-p-700); font-weight: 800; }
#nsc-chatbot .nsc-kv--stack dd { font-weight: 400; font-size: 14px; line-height: 1.5; }
#nsc-chatbot .nsc-treat b { display: block; font-size: 14px; }
#nsc-chatbot .nsc-treat span { font-size: 13px; color: var(--nsc-muted); }
#nsc-chatbot .nsc-steps { counter-reset: s; list-style: none; padding: 0 !important; margin: 6px 0 !important; }
#nsc-chatbot .nsc-steps li { counter-increment: s; position: relative; padding-left: 32px; margin: 8px 0 !important; }
#nsc-chatbot .nsc-steps li::before { content: counter(s); position: absolute; left: 0; top: 0; width: 22px; height: 22px; border-radius: 50%; background: var(--nsc-p-100); color: var(--nsc-p-800); font-size: 12px; font-weight: 800; display: flex; align-items: center; justify-content: center; }

/* Form card */
#nsc-chatbot .nsc-formcard {
	background: var(--nsc-white); border-radius: 18px; overflow: hidden;
	border: 1px solid var(--nsc-p-100);
	box-shadow: 0 1px 2px rgba(30,52,51,.06), 0 8px 22px -10px rgba(30,52,51,.22);
	width: 100%;
}
#nsc-chatbot .nsc-formcard__head { display: flex; gap: 10px; align-items: center; padding: 12px 14px; background: linear-gradient(135deg, var(--nsc-p), var(--nsc-p-700)); color: #fff; }
#nsc-chatbot .nsc-formcard__head b { display: block; font-size: 14.5px; font-weight: 800; color: #fff; }
#nsc-chatbot .nsc-formcard__head small { display: block; font-size: 12px; opacity: .92; color: #fff; }
#nsc-chatbot .nsc-formcard__ic { width: 34px; height: 34px; border-radius: 10px; background: rgba(255,255,255,.2); display: flex; align-items: center; justify-content: center; }
#nsc-chatbot .nsc-formcard__body { padding: 14px; font-size: 14px; }
#nsc-chatbot .nsc-formcard__foot { display: flex; align-items: center; gap: 8px; padding: 10px 14px; border-top: 1px solid var(--nsc-p-100); font-size: 12px; color: var(--nsc-muted); background: var(--nsc-p-50); }

/* Light normalisation for the form plugin inside the chat */
#nsc-chatbot .nsc-formcard__body .elementor-section,
#nsc-chatbot .nsc-formcard__body .elementor-container,
#nsc-chatbot .nsc-formcard__body .e-con,
#nsc-chatbot .nsc-formcard__body .e-con-inner { padding: 0 !important; margin: 0 !important; max-width: 100% !important; width: 100% !important; }
#nsc-chatbot .nsc-formcard__body .elementor-column { width: 100% !important; }
#nsc-chatbot .nsc-formcard__body .elementor-widget-wrap { padding: 0 !important; }
#nsc-chatbot .nsc-formcard__body input:not([type=checkbox]):not([type=radio]):not([type=submit]),
#nsc-chatbot .nsc-formcard__body textarea,
#nsc-chatbot .nsc-formcard__body select { font-size: 16px !important; max-width: 100%; }
#nsc-chatbot .nsc-formcard__body textarea { min-height: 84px; }

/* Form submit button ("Send Message") */
#nsc-chatbot .nsc-formcard__body button[type=submit],
#nsc-chatbot .nsc-formcard__body input[type=submit],
#nsc-chatbot .nsc-formcard__body .metform-btn,
#nsc-chatbot .nsc-formcard__body .metform-submit-btn,
#nsc-chatbot .nsc-formcard__body .elementor-button {
	display: inline-flex !important; align-items: center; justify-content: center; gap: 8px;
	width: 100% !important; min-height: 48px !important; padding: 13px 20px !important; margin-top: 6px !important;
	background: #8AB2B1 !important; color: #FFFFFF !important;
	border: 0 !important; border-radius: 12px !important;
	font-family: inherit !important; font-size: 16px !important; font-weight: 700 !important; line-height: 1.2 !important;
	text-transform: none !important; letter-spacing: .01em !important; text-decoration: none !important;
	box-shadow: 0 8px 18px -8px rgba(54, 96, 95, .6) !important;
	cursor: pointer; transition: background .2s, transform .2s, box-shadow .2s;
}
#nsc-chatbot .nsc-formcard__body button[type=submit] *,
#nsc-chatbot .nsc-formcard__body .metform-btn *,
#nsc-chatbot .nsc-formcard__body .elementor-button * { color: #FFFFFF !important; fill: #FFFFFF !important; }
#nsc-chatbot .nsc-formcard__body button[type=submit]:hover,
#nsc-chatbot .nsc-formcard__body input[type=submit]:hover,
#nsc-chatbot .nsc-formcard__body .metform-btn:hover,
#nsc-chatbot .nsc-formcard__body .elementor-button:hover {
	background: #6E9A99 !important; color: #FFFFFF !important; transform: translateY(-1px);
	box-shadow: 0 12px 22px -8px rgba(54, 96, 95, .7) !important;
}
#nsc-chatbot .nsc-formcard__body button[type=submit]:focus-visible,
#nsc-chatbot .nsc-formcard__body .metform-btn:focus-visible { outline: 3px solid #4A7978 !important; outline-offset: 2px; }
#nsc-chatbot .nsc-formcard__body button[type=submit]:disabled,
#nsc-chatbot .nsc-formcard__body .metform-btn:disabled { opacity: .7; cursor: wait; transform: none; }

/* Composer */
#nsc-chatbot .nsc-foot { flex-shrink: 0; padding: 10px 14px 12px; background: var(--nsc-white); border-top: 1px solid var(--nsc-p-100); }
#nsc-chatbot .nsc-compose { display: flex; align-items: center; gap: 8px; padding: 6px 6px 6px 14px; border: 1.5px solid var(--nsc-p-200); border-radius: 16px; background: #fff; transition: border-color .2s, box-shadow .2s; }
#nsc-chatbot .nsc-compose:focus-within { border-color: var(--nsc-p); box-shadow: 0 0 0 4px rgba(138,178,177,.22); }
#nsc-chatbot .nsc-input {
	flex: 1; min-width: 0; border: 0 !important; outline: 0 !important; background: transparent !important; box-shadow: none !important;
	font: inherit; font-size: 15px !important; color: var(--nsc-ink); padding: 8px 0 !important; margin: 0 !important; height: auto !important; min-height: 0 !important;
}
#nsc-chatbot .nsc-input::placeholder { color: #8FA3A2; }
#nsc-chatbot .nsc-send {
	width: 40px; height: 40px; border-radius: 12px; border: 0; padding: 0;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--nsc-p-700), var(--nsc-p-800)); color: #fff;
	transition: transform .2s, opacity .2s;
}
#nsc-chatbot .nsc-send:hover { transform: scale(1.05); color: #fff; }
#nsc-chatbot .nsc-send:disabled { opacity: .45; transform: none; cursor: default; }
#nsc-chatbot .nsc-send:focus-visible { outline: 2px solid var(--nsc-p-700); outline-offset: 2px; }
#nsc-chatbot .nsc-legal { margin-top: 8px; text-align: center; font-size: 11px; color: var(--nsc-muted); line-height: 1.4; }
#nsc-chatbot .nsc-legal a { color: var(--nsc-p-800); font-weight: 700; }

.nsc-form-source[hidden] { display: none !important; }

/* ---------- Mobile ---------- */
@media (max-width: 520px) {
	#nsc-chatbot { right: 16px; bottom: 16px; }
	#nsc-chatbot .nsc-launcher { width: 68px !important; height: 68px !important; min-width: 68px !important; max-width: 68px !important; min-height: 68px !important; }
	#nsc-chatbot .nsc-teaser { bottom: 84px; width: min(320px, calc(100vw - 32px)); }
	#nsc-chatbot .nsc-label { right: 78px; bottom: 15px; padding: 10px 14px !important; font-size: 13.5px !important; }
	#nsc-chatbot .nsc-panel {
		position: fixed; inset: 0; width: 100%; height: 100%;
		border-radius: 0; bottom: 0; right: 0;
		height: 100dvh;
	}
	#nsc-chatbot.is-open .nsc-launcher { display: none; }
	#nsc-chatbot .nsc-head { padding-top: max(18px, env(safe-area-inset-top)); }
	#nsc-chatbot .nsc-foot { padding-bottom: max(12px, env(safe-area-inset-bottom)); }
}

@media (prefers-reduced-motion: reduce) {
	#nsc-chatbot *, #nsc-chatbot *::before, #nsc-chatbot *::after { animation: none !important; transition: none !important; }
}

/* ---------- Translation ---------- */
#nsc-chatbot .nsc-globe { width: auto !important; min-width: 36px; padding: 0 9px !important; gap: 5px; }
#nsc-chatbot .nsc-globe__code { font-size: 11.5px; font-weight: 800; letter-spacing: .03em; color: #fff; }
#nsc-chatbot .nsc-legal__tr { display: none; }
#nsc-chatbot.nsc-translated .nsc-legal__tr { display: inline; }
#nsc-chatbot .nsc-langnote { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; font-size: 13.5px; }
#nsc-chatbot .nsc-langnote button {
	padding: 4px 10px; border-radius: 999px; border: 1px solid var(--nsc-p-200); background: var(--nsc-p-50);
	color: var(--nsc-p-800); font-size: 12.5px; font-weight: 700;
}
#nsc-chatbot .nsc-langnote button:hover { background: var(--nsc-p); color: #fff; border-color: var(--nsc-p); }
#nsc-chatbot .nsc-langs {
	position: absolute; inset: 0; z-index: 5; display: flex; flex-direction: column;
	background: var(--nsc-white); opacity: 0; visibility: hidden; transform: translateY(8px);
	transition: opacity .2s, transform .25s, visibility 0s .25s;
}
#nsc-chatbot .nsc-langs.is-on { opacity: 1; visibility: visible; transform: none; transition: opacity .2s, transform .25s; }
#nsc-chatbot .nsc-langs__head {
	display: flex; align-items: center; justify-content: space-between; padding: 16px 16px 12px;
	background: linear-gradient(140deg, var(--nsc-p) 0%, var(--nsc-p-700) 70%, var(--nsc-p-800) 100%); color: #fff;
	padding-top: max(16px, env(safe-area-inset-top));
}
#nsc-chatbot .nsc-langs__head b { font-size: 15.5px; font-weight: 800; color: #fff; }
#nsc-chatbot .nsc-langs__x { width: 32px; height: 32px; border-radius: 10px; background: rgba(255,255,255,.18); color: #fff; display: flex; align-items: center; justify-content: center; }
#nsc-chatbot .nsc-langs__search {
	margin: 12px 14px 6px; padding: 10px 14px !important; border: 1.5px solid var(--nsc-p-200) !important; border-radius: 12px !important;
	font: inherit; font-size: 15px !important; background: #fff !important; color: var(--nsc-ink); outline: none; box-shadow: none !important; width: auto !important; height: auto !important;
}
#nsc-chatbot .nsc-langs__search:focus { border-color: var(--nsc-p) !important; box-shadow: 0 0 0 4px rgba(138,178,177,.22) !important; }
#nsc-chatbot .nsc-langs__list { flex: 1; overflow-y: auto; padding: 4px 8px 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 4px; align-content: start; }
#nsc-chatbot .nsc-langs__item {
	display: flex; align-items: center; justify-content: space-between; gap: 6px; text-align: left;
	padding: 10px 12px; border-radius: 10px; font-size: 14px; font-weight: 600; color: var(--nsc-ink);
}
#nsc-chatbot .nsc-langs__item small { font-size: 11px; color: var(--nsc-muted); font-weight: 600; text-transform: uppercase; }
#nsc-chatbot .nsc-langs__item:hover { background: var(--nsc-p-50); }
#nsc-chatbot .nsc-langs__item.is-current { background: var(--nsc-p-100); color: var(--nsc-p-800); }
#nsc-chatbot .nsc-langs__item.is-current::after { content: "✓"; color: var(--nsc-p-700); font-weight: 800; }
#nsc-chatbot.nsc-rtl .nsc-bubble, #nsc-chatbot.nsc-rtl .nsc-input, #nsc-chatbot.nsc-rtl .nsc-chip { direction: rtl; text-align: right; }
#nsc-chatbot.nsc-rtl .nsc-bubble ul { padding: 0 18px 0 0; }

#nsc-chatbot .nsc-more { margin-top: 8px; font-size: 13px; }
#nsc-chatbot .nsc-more a { display: inline-flex; align-items: center; gap: 4px; }
#nsc-chatbot .nsc-more svg { display: inline-block; }
