/* Full On Foods Chatbot 2.0 — site chat. Self-contained (works with the current theme and the 2026 redesign).
   Launcher: the 1.x icon and placement. Panel: the redesign's look (mockup/index.html, .fc-*). */

.fc-launch,.fc-panel{--fc-green:#123F31;--fc-green-ink:#0B211A;--fc-ink:#1B1D1A;--fc-ink-2:#4A4D47;--fc-mute:#7A7C74;--fc-plaster:#F2EDE4;--fc-paper:#FBF9F5;--fc-line:rgba(27,29,26,.16);--fc-line-2:rgba(27,29,26,.1);--fc-r:3px;--fc-ease:cubic-bezier(.22,.7,.18,1);font-family:inherit}

/* Launcher — the live widget's frosted tile, bottom right */
.fc-launch{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:9998;width:60px;height:60px;padding:0;border-radius:18px;background:rgba(255,255,255,.55);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.6);box-shadow:0 8px 24px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,box-shadow .15s}
.fc-launch:hover{background:rgba(255,255,255,.72);box-shadow:0 12px 28px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.6)}
.fc-launch:focus-visible{outline:2px solid var(--fc-green);outline-offset:3px}
body.fc-open .fc-launch,body.tg-drawer-open .fc-launch,body.menu-open .fc-launch,body:has(dialog[open]) .fc-launch{display:none}
/* Meals page: stay clear of the sticky box bar (as 1.x did) */
@media (min-width:769px){body.page-template-page-meals-php:has(#tgStickyBar.visible) .fc-launch{bottom:110px}}

/* Panel */
.fc-panel{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:9999;width:min(400px,calc(100vw - 32px));height:min(620px,calc(100dvh - 112px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:var(--fc-paper);color:var(--fc-ink);border:1px solid var(--fc-line);border-radius:var(--fc-r);box-shadow:0 30px 70px -30px rgba(0,0,0,.45);font-size:15px;line-height:1.5;text-align:left}
.fc-panel[hidden]{display:none}
.fc-panel.fc-in{animation:fcUp .35s var(--fc-ease)}
.fc-panel *{box-sizing:border-box}
.fc-head{display:flex;align-items:center;gap:12px;padding:12px 10px 12px 18px;background:var(--fc-green-ink);color:#fff}
.fc-head b{display:block;font-size:15px;font-weight:600;line-height:1.2}
.fc-head small{display:block;margin-top:2px;font-size:12px;color:#A9B8AF}
.fc-x{margin-left:auto;width:44px;height:44px;border:0;border-radius:var(--fc-r);background:none;color:#fff;font-size:26px;line-height:1;cursor:pointer;padding:0}
.fc-x:hover{background:rgba(255,255,255,.08)}
.fc-body{overflow:auto;overscroll-behavior:contain;padding:16px;display:flex;flex-direction:column;gap:10px}
.fc-u,.fc-a{max-width:88%;padding:11px 15px;border-radius:var(--fc-r);font-size:14.5px;line-height:1.5;white-space:pre-line;animation:fcUp .3s var(--fc-ease)}
.fc-u{align-self:flex-end;background:var(--fc-green);color:#fff;border-bottom-right-radius:5px}
.fc-a{align-self:flex-start;background:var(--fc-plaster);color:var(--fc-ink);border-bottom-left-radius:5px}
.fc-a.fc-team{background:#fcf9e8;color:#4d3b00}
.fc-btns{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.fc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border-radius:2px;border:1px solid var(--fc-green);background:transparent;color:var(--fc-green);font-size:12.5px;font-weight:600;line-height:1;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.fc-btn:hover{background:var(--fc-green);color:#fff}
.fc-btn.fc-solid{background:var(--fc-green);color:#fff}
.fc-btn.fc-solid:hover{background:var(--fc-green-ink)}
.fc-btn[disabled]{opacity:.55;cursor:default}
.fc-rate{display:flex;gap:4px;align-items:center;margin-top:8px;font-size:12px;color:var(--fc-mute)}
.fc-rate button{border:0;background:none;padding:4px 6px;border-radius:var(--fc-r);font:inherit;color:var(--fc-green);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.fc-typing{display:inline-flex;gap:4px;padding:4px 0}
.fc-typing i{width:7px;height:7px;border-radius:50%;background:var(--fc-mute);animation:fcBlink 1s infinite}
.fc-typing i:nth-child(2){animation-delay:.15s}.fc-typing i:nth-child(3){animation-delay:.3s}
.fc-form{display:grid;gap:8px;padding:14px;border-radius:var(--fc-r);background:var(--fc-plaster);animation:fcUp .35s var(--fc-ease)}
.fc-form b{font-size:15px;font-weight:600}
.fc-form label{display:grid;gap:4px;font-size:12.5px;color:var(--fc-ink-2)}
.fc-form input,.fc-form textarea{width:100%;min-height:44px;border:1px solid var(--fc-line);border-radius:2px;background:var(--fc-paper);padding:10px 12px;font:inherit;font-size:15px;color:var(--fc-ink);margin:0}
.fc-form textarea{min-height:88px;resize:vertical}
.fc-form input:focus,.fc-form textarea:focus{outline:none;border-color:var(--fc-green)}
.fc-form .fc-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.fc-form .fc-err{color:#B3261E;font-size:13px}
.fc-fine{margin:0;font-size:12px;line-height:1.45;color:var(--fc-mute)}
.fc-foot{display:grid;gap:8px;padding:10px 14px 12px;border-top:1px solid var(--fc-line-2);background:var(--fc-paper)}
.fc-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.fc-chips::-webkit-scrollbar{display:none}
.fc-chip{flex:none;min-height:36px;padding:0 12px;border:1px solid var(--fc-line);border-radius:2px;background:#fff;color:var(--fc-ink);font-size:13px;font-weight:500;line-height:1;cursor:pointer;white-space:nowrap}
.fc-chip:hover{border-color:var(--fc-green)}
.fc-in-row{display:flex;gap:8px;margin:0}
.fc-in-row input{flex:1;min-width:0;min-height:44px;margin:0;border:1px solid var(--fc-line);border-radius:2px;padding:0 14px;font:inherit;font-size:15px;color:var(--fc-ink);background:#fff}
.fc-in-row input:focus{outline:none;border-color:var(--fc-green)}
.fc-in-row .fc-btn{min-height:44px}

/* Checkout: a quiet inline link instead of the floating launcher */
.fc-inline{margin:18px 0 0;font-size:14px;color:#4A4D47}
.fc-inline button{border:0;background:none;padding:0;font:inherit;font-weight:600;color:#123F31;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.tgcb-inline-wrap{background:none;border:0;margin-bottom:24px}

@media (max-width:768px){
  /* Phones: a tab on the right edge, never over a bottom bar (as 1.x) */
  .fc-launch{top:50%;bottom:auto;right:0;margin-top:-32px;width:50px;height:64px;border-radius:16px 0 0 16px;border-right:0}
  .fc-panel{inset:0;width:100%;height:100dvh;border:0;border-radius:0;padding-bottom:env(safe-area-inset-bottom,0px)}
}
@keyframes fcUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes fcBlink{0%,100%{opacity:.3}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.fc-panel.fc-in,.fc-u,.fc-a,.fc-form{animation:none}.fc-typing i{animation-duration:2s}}
