/* AI Chef — homepage band in the header's slate blue, chat card on the right */
.cg-aic { background: #2a3744; color: #fff; margin: 0 0 40px; position: relative; overflow: hidden; }
.cg-aic::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: radial-gradient(circle at 80% 15%, rgba(88,189,231,.20), transparent 45%),
	            radial-gradient(circle at 5% 95%, rgba(137,194,69,.14), transparent 40%);
}
.cg-aic-inner { position: relative; max-width: 1140px; margin: 0 auto; padding: 52px 20px; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px; align-items: center; }

.cg-aic-badge { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #58bde7; border: 1px solid rgba(88,189,231,.45); border-radius: 14px; padding: 4px 11px; }
.cg-aic-spark { font-size: 13px; letter-spacing: 0; }
.cg-aic-title { color: #fff; font-size: 36px; font-weight: 400; line-height: 1.2; margin: 14px 0 10px; }
.cg-aic-sub { color: #c9d3dd; font-size: 16px; line-height: 1.6; margin: 0 0 18px; }
.cg-aic-points { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.cg-aic-points li { color: #e3eaf0; font-size: 15px; }
.cg-aic-points .fa { color: #89c245; margin-right: 8px; }

.cg-aic-chat { background: #fff; color: #454757; border-radius: 10px; box-shadow: 0 18px 40px rgba(0,0,0,.28); display: flex; flex-direction: column; min-height: 440px; max-height: 560px; overflow: hidden; }
.cg-aic-chat-head { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-bottom: 1px solid #e6e8ee; }
.cg-aic-chat-head strong { display: block; color: #2e303a; font-size: 15px; }
.cg-aic-avatar { width: 38px; height: 38px; border-radius: 50%; background: linear-gradient(135deg, #58bde7, #2f8fc0); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 16px; flex: 0 0 auto; }
.cg-aic-status { font-size: 12px; color: #6f9a3b; display: inline-flex; align-items: center; gap: 5px; }
.cg-aic-status i { width: 7px; height: 7px; border-radius: 50%; background: #89c245; display: inline-block; }

.cg-aic-log { flex: 1 1 auto; overflow-y: auto; padding: 16px 18px; display: flex; flex-direction: column; gap: 10px; background: #f7f8fa; }
.cg-aic-msg { max-width: 86%; padding: 10px 14px; border-radius: 12px; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.cg-aic-msg p { margin: 0 0 8px; }
.cg-aic-msg p:last-child, .cg-aic-msg ul:last-child { margin-bottom: 0; }
.cg-aic-msg ul { margin: 0 0 8px 18px; padding: 0; list-style: disc; }
.cg-aic-msg.is-bot { align-self: flex-start; background: #fff; border: 1px solid #e3e6ec; border-bottom-left-radius: 3px; }
.cg-aic-msg.is-user { align-self: flex-end; background: #58bde7; color: #fff; border-bottom-right-radius: 3px; }
.cg-aic-msg.is-error { border-color: #eb5858; color: #a33; }

.cg-aic-recipes { align-self: stretch; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cg-aic-rcard { display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid #e3e6ec; border-radius: 8px; padding: 6px; text-decoration: none; color: #2e303a; transition: border-color .15s, box-shadow .15s; }
.cg-aic-rcard:hover, .cg-aic-rcard:focus-visible { border-color: #58bde7; box-shadow: 0 4px 12px rgba(88,189,231,.18); outline: none; }
.cg-aic-rcard img { width: 52px; height: 52px; border-radius: 6px; object-fit: cover; flex: 0 0 auto; }
.cg-aic-rcard span { font-size: 13px; font-weight: 600; line-height: 1.3; }
.cg-aic-rcard small { display: block; font-weight: 400; color: #1f86b3; font-size: 12px; margin-top: 2px; }

.cg-aic-typing { display: inline-flex; gap: 4px; align-items: center; height: 20px; }
.cg-aic-typing span { width: 6px; height: 6px; border-radius: 50%; background: #9d9fb1; animation: cg-aic-b 1.2s infinite ease-in-out; }
.cg-aic-typing span:nth-child(2) { animation-delay: .2s; }
.cg-aic-typing span:nth-child(3) { animation-delay: .4s; }
@keyframes cg-aic-b { 0%, 80%, 100% { opacity: .25; } 40% { opacity: 1; } }

.cg-aic-chips { display: flex; gap: 8px; padding: 10px 18px 0; overflow-x: auto; scrollbar-width: none; }
.cg-aic-chips::-webkit-scrollbar { display: none; }
.cg-aic-chip { flex: 0 0 auto; font: inherit; font-size: 12.5px; color: #1f6f92; background: #eaf6fc; border: 0; border-radius: 14px; padding: 6px 12px; cursor: pointer; white-space: nowrap; }
.cg-aic-chip:hover, .cg-aic-chip:focus-visible { background: #d6eefa; outline: none; }
.cg-aic-chip[disabled] { opacity: .5; cursor: default; }

.cg-aic-form { display: flex; gap: 8px; padding: 10px 18px 6px; }
#cg-aic-q { flex: 1 1 auto; min-width: 0; font: inherit; font-size: 15px; color: #2e303a; border: 1px solid #d6d7de; border-radius: 22px; padding: 11px 16px; box-shadow: none; background: #fff; }
#cg-aic-q:focus { outline: none; border-color: #58bde7; box-shadow: 0 0 0 3px rgba(88,189,231,.2); }
.cg-aic-send { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; border: 0; background: #58bde7; color: #fff; cursor: pointer; font-size: 16px; transition: background .15s; }
.cg-aic-send:hover, .cg-aic-send:focus-visible { background: #3aa9d8; outline: none; }
.cg-aic-send[disabled] { background: #9d9fb1; cursor: default; }
.cg-aic-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.cg-aic-note { margin: 0; padding: 0 18px 12px; font-size: 11.5px; color: #9d9fb1; }

@media (max-width: 900px) {
	.cg-aic-inner { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 40px 16px; }
	.cg-aic-points { display: none; }
	.cg-aic-title { font-size: 28px; }
}
@media (max-width: 480px) {
	.cg-aic-chat { min-height: 400px; }
	.cg-aic-recipes { grid-template-columns: minmax(0, 1fr); }
	.cg-aic-msg { max-width: 94%; }
}
@media (prefers-reduced-motion: reduce) { .cg-aic-typing span { animation: none; opacity: .6; } }
