/* Ask the Chef — matches the Gustos recipe headline style */
.cg-chef { margin: 50px 0 10px; }
.recipe-headlines.cg-chef-head { margin-top: 0; }
.recipe-headlines.cg-chef-head::after { content: "\f086"; color: #f0883e; }

.cg-chef-intro { margin: 0 0 14px; color: #454757; font-size: 15px; line-height: 1.6; }

.cg-chef-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.cg-chef-chip {
	font: inherit; font-size: 13px; line-height: 1.3; color: #2e303a;
	background: #fff; border: 1px solid #d6d7de; border-radius: 16px;
	padding: 6px 12px; cursor: pointer; text-align: left;
	transition: border-color .15s, color .15s, background .15s;
}
.cg-chef-chip:hover, .cg-chef-chip:focus-visible { border-color: #58bde7; color: #1f86b3; background: #f3fafd; outline: none; }
.cg-chef-chip[disabled] { opacity: .5; cursor: default; }

.cg-chef-log { display: flex; flex-direction: column; gap: 10px; margin: 0 0 14px; }
.cg-chef-log:empty { display: none; }
.cg-chef-msg { max-width: 88%; padding: 10px 14px; border-radius: 6px; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.cg-chef-msg p { margin: 0 0 8px; }
.cg-chef-msg p:last-child, .cg-chef-msg ul:last-child { margin-bottom: 0; }
.cg-chef-msg ul { margin: 0 0 8px 18px; padding: 0; list-style: disc; }
.cg-chef-msg li { margin: 2px 0; }
.cg-chef-msg.is-user { align-self: flex-end; background: #58bde7; color: #fff; border-bottom-right-radius: 2px; }
.cg-chef-msg.is-chef { align-self: flex-start; background: #fff; color: #454757; border: 1px solid #d6d7de; border-bottom-left-radius: 2px; position: relative; padding-left: 40px; }
.cg-chef-msg.is-chef::before {
	content: "\f0f5"; font-family: FontAwesome; position: absolute; left: 12px; top: 10px;
	color: #f0883e; font-size: 16px; line-height: 1.6;
}
.cg-chef-msg.is-error { border-color: #eb5858; color: #a33; }
.cg-chef-msg.is-error::before { content: "\f071"; color: #eb5858; }

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

.cg-chef-form { display: flex; gap: 8px; margin: 0; }
.cg-chef-form input[type="text"] {
	flex: 1 1 auto; min-width: 0; font: inherit; font-size: 15px; color: #2e303a;
	background: #fff; border: 1px solid #d6d7de; border-radius: 3px; padding: 10px 12px; box-shadow: none;
}
.cg-chef-form input[type="text"]:focus { border-color: #58bde7; outline: none; box-shadow: 0 0 0 2px rgba(88,189,231,.2); }
.cg-chef-send {
	flex: 0 0 auto; font: inherit; font-size: 15px; color: #fff; background: #58bde7;
	border: 0; border-radius: 3px; padding: 10px 20px; cursor: pointer; transition: background .15s;
}
.cg-chef-send:hover, .cg-chef-send:focus-visible { background: #3aa9d8; outline: none; }
.cg-chef-send[disabled] { background: #9d9fb1; cursor: default; }
.cg-chef-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

.cg-chef-note { margin: 10px 0 0; font-size: 12px; color: #9d9fb1; }
.cg-chef-note .fa { margin-right: 4px; }

@media (max-width: 480px) {
	.cg-chef-msg { max-width: 100%; }
	.cg-chef-send { padding: 10px 14px; }
}
@media (prefers-reduced-motion: reduce) {
	.cg-chef-typing span { animation: none; opacity: .6; }
}
