/* EQO AI assistant — mobile-first. */
.eqo-ai-assistant {
    --eqo-ai-green: #95c22b;
    --eqo-ai-green-dark: #6f9717;
    padding: 16px 14px;
    overflow: hidden;
    border-color: rgba(89, 124, 22, .18);
    background: linear-gradient(180deg, #fbfdf7 0%, #ffffff 38%);
}
.eqo-ai-header h2 { margin: 3px 0 4px; font-size: 22px; line-height: 1.15; }
.eqo-ai-kicker { display:inline-flex; padding:4px 8px; border-radius:999px; background:#eef7dc; color:#55770f; font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.eqo-ai-heading-row { display:flex; gap:12px; align-items:flex-start; justify-content:space-between; }
.eqo-ai-spark { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:50%; background:var(--eqo-ai-green); color:#fff; font-size:20px; box-shadow:0 7px 18px rgba(112,151,23,.20); }
.eqo-ai-subtitle { margin:0; color:#626b61; font-size:13px; line-height:1.45; }
.eqo-ai-guide { display:flex; gap:10px; align-items:flex-start; margin-top:13px; padding:10px; border-radius:13px; background:#f4f7ef; }
.eqo-ai-guide-avatar { display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border-radius:50%; background:#fff; border:1px solid rgba(88,120,26,.18); color:#5d8212; font-weight:900; }
.eqo-ai-guide p { margin:0; font-size:12px; line-height:1.45; color:#566055; }
.eqo-ai-personalize { margin-top:14px; border:1px solid rgba(31,50,35,.10); border-radius:13px; background:#fff; }
.eqo-ai-personalize summary { cursor:pointer; padding:11px 12px; font-weight:750; font-size:13px; list-style:none; }
.eqo-ai-personalize summary::-webkit-details-marker { display:none; }
.eqo-ai-personalize summary::after { content:'+'; float:right; color:#6b7b65; font-size:18px; line-height:1; }
.eqo-ai-personalize[open] summary::after { content:'−'; }
.eqo-ai-personalize summary span { color:#818980; font-size:11px; font-weight:500; margin-left:4px; }
.eqo-ai-profile-grid { display:grid; gap:10px; padding:0 12px 12px; }
.eqo-ai-field { display:block; min-width:0; }
.eqo-ai-field-label { display:block; margin-bottom:5px; font-size:11px; font-weight:750; color:#596358; }
.eqo-ai-field-label span { color:#8a9188; font-weight:500; }
.eqo-ai-field select { width:100%; min-height:42px; padding:7px 30px 7px 10px; border:1px solid #d8ddd5; border-radius:10px; background:#fff; font-size:13px; }
.eqo-ai-allergens-field { padding:0 12px 12px; }
.eqo-ai-allergen-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 7px; max-height:190px; overflow:auto; padding:8px; border:1px solid #e0e4de; border-radius:10px; background:#fafbf9; }
.eqo-ai-check { display:flex; gap:6px; align-items:flex-start; min-width:0; font-size:11px; line-height:1.3; }
.eqo-ai-check input { margin-top:1px; accent-color:var(--eqo-ai-green); }
.eqo-ai-check span { overflow-wrap:anywhere; }
.eqo-ai-actions { display:grid; grid-template-columns:1fr; gap:7px; margin-top:14px; }
.eqo-ai-action { appearance:none; display:grid; grid-template-columns:30px minmax(0,1fr) 18px; gap:8px; align-items:center; width:100%; min-height:48px; margin:0; padding:8px 10px; border:1px solid rgba(70,101,25,.20); border-radius:12px; background:#fff !important; color:#253126 !important; text-align:left; cursor:pointer; box-shadow:0 2px 7px rgba(30,45,33,.035); transition:transform .15s ease,border-color .15s ease,background .15s ease; }
.eqo-ai-action:hover { border-color:rgba(111,151,23,.55); background:#f8fcee !important; }
.eqo-ai-action:active { transform:scale(.985); }
.eqo-ai-action:disabled { opacity:.65; cursor:wait; }
.eqo-ai-action-icon { display:grid; place-items:center; width:30px; height:30px; border-radius:9px; background:#eff7df; color:#5f8513; }
.eqo-ai-action-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.eqo-ai-action-text { font-size:12px; line-height:1.3; font-weight:720; }
.eqo-ai-action-arrow { color:#96a08f; font-size:21px; line-height:1; }
.eqo-ai-action.is-loading .eqo-ai-action-icon { animation:eqo-ai-pulse .9s ease-in-out infinite alternate; }
@keyframes eqo-ai-pulse { to { transform:scale(.88); opacity:.55; } }
.eqo-ai-status { margin-top:12px; padding:11px 12px; border-radius:10px; background:#f3f7ec; color:#5c701e; font-size:12px; }
.eqo-ai-status.is-error { background:#fff1f1; color:#9f3333; }
.eqo-ai-response { margin-top:14px; padding:13px; border:1px solid rgba(86,118,23,.18); border-radius:13px; background:#fff; box-shadow:0 5px 18px rgba(34,48,34,.05); }
.eqo-ai-response-head { display:flex; justify-content:space-between; gap:10px; align-items:center; margin-bottom:9px; color:#405140; font-size:12px; }
.eqo-ai-copy { appearance:none; border:1px solid #d9ded4; border-radius:999px; background:#fff !important; color:#596358 !important; padding:4px 9px; font-size:10px; cursor:pointer; }
.eqo-ai-response-text { white-space:pre-wrap; overflow-wrap:anywhere; color:#293029; font-size:13px; line-height:1.58; }
.eqo-ai-source { margin-top:10px; text-align:right; color:#8a9188; font-size:10px; }
.eqo-ai-disclaimer { margin:12px 2px 0; color:#7b827a; font-size:10px; line-height:1.45; }
@media (min-width:600px) {
    .eqo-ai-assistant { padding:20px; }
    .eqo-ai-profile-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .eqo-ai-actions { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
    .eqo-ai-action-text { font-size:13px; }
}
@media (prefers-reduced-motion:reduce) { .eqo-ai-action,.eqo-ai-action-icon { transition:none; animation:none !important; } }
