/* Hooger Chef Assistant 1.1.21 — reliable homepage rendering and strict cart-drawer detection */
.hca-embed,
.hca-context-card,
.hca-product-helper,
#hca-assistant-root {
    --hca-accent:#102a43;
    --hca-accent-deep:#071b2e;
    --hca-soft:#eaf1f8;
    --hca-surface:#fff;
    --hca-surface-alt:#f5f8fc;
    --hca-text:#14213d;
    --hca-heading:#0b2038;
    --hca-muted:#5e7184;
    --hca-border:#d9e3ec;
    --hca-success:#0f7b6c;
    --hca-radius:24px;
    --hca-shadow-alpha:.18;
    --hca-mobile-launcher-bottom:18px;
    --hca-mobile-launcher-side:12px;
    --hca-mobile-panel-height:48vh;
    --hca-mobile-panel-width:340px;
    --hca-mobile-panel-gap:12px;
    --hca-mobile-obstruction:0px;
    direction:rtl;
    color:var(--hca-text);
    font-family:inherit;
    font-size:16px;
    line-height:1.75;
    letter-spacing:0;
    text-align:right;
}
.hca-embed *,
.hca-context-card *,
.hca-product-helper *,
#hca-assistant-root * { box-sizing:border-box; }
.hca-embed button,
.hca-context-card button,
.hca-product-helper,
#hca-assistant-root button,
#hca-assistant-root textarea { appearance:none; margin:0; border:0; font:inherit; letter-spacing:0; text-transform:none; box-shadow:none; }
.hca-embed button,
.hca-context-card button,
.hca-product-helper,
#hca-assistant-root button { cursor:pointer; }
.hca-embed svg,
#hca-assistant-root svg { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.hca-avatar-picture,
.hca-avatar-picture img { display:block; width:100%; height:100%; }
.hca-avatar-img { display:block; width:100%; height:100%; max-width:none !important; object-fit:contain; }
.hca-avatar-emoji { display:block; line-height:1; }

/* Homepage section */
.hca-embed {
    position:relative;
    isolation:isolate;
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);
    gap:32px;
    align-items:center;
    width:100%;
    max-width:100%;
    min-height:370px;
    padding:clamp(26px,4vw,52px);
    overflow:hidden;
    border:1px solid var(--hca-border);
    border-radius:calc(var(--hca-radius) + 8px);
    background:radial-gradient(circle at 80% 14%, rgba(16,42,67,.10), transparent 30%),linear-gradient(135deg,var(--hca-surface),var(--hca-surface-alt));
    box-shadow:0 24px 70px rgba(7,27,46,var(--hca-shadow-alpha));
}
.hca-embed::before { content:""; position:absolute; z-index:-1; bottom:-160px; left:-110px; width:330px; height:330px; border-radius:50%; background:rgba(16,42,67,.06); }
.hca-embed__content { min-width:0; }
.hca-embed__eyebrow { display:inline-flex; align-items:center; gap:8px; min-height:34px; padding:5px 12px; border:1px solid var(--hca-border); border-radius:999px; background:var(--hca-surface); color:var(--hca-accent); font-size:12px; font-weight:800; }
.hca-embed__eyebrow i { width:8px; height:8px; border-radius:50%; background:var(--hca-success); box-shadow:0 0 0 4px rgba(15,123,108,.14); }
.hca-embed h2 { margin:16px 0 12px; color:var(--hca-heading); font-size:clamp(30px,4vw,50px); font-weight:900; line-height:1.3; }
.hca-embed p { max-width:680px; margin:0; color:var(--hca-muted); font-size:16px; line-height:2; }
.hca-embed__quick { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0 18px; }
.hca-embed__quick button { min-height:36px; padding:6px 12px; border:1px solid var(--hca-border); border-radius:999px; background:var(--hca-surface); color:var(--hca-accent); font-size:12px; font-weight:800; transition:.16s ease; }
.hca-embed__quick button:hover { transform:translateY(-1px); border-color:var(--hca-accent); background:var(--hca-soft); }
.hca-embed__button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:54px; padding:0 22px; border-radius:16px; background:linear-gradient(135deg,var(--hca-accent),var(--hca-accent-deep)); color:#fff; font-weight:900; box-shadow:0 14px 30px rgba(7,27,46,.22); transition:.16s ease; }
.hca-embed__button:hover { transform:translateY(-2px); color:#fff; }
.hca-embed__visual { position:relative; display:grid; place-items:center; min-height:285px; }
.hca-embed__ring { position:absolute; width:286px; height:286px; border:1px solid rgba(16,42,67,.18); border-radius:50%; box-shadow:0 0 0 30px rgba(16,42,67,.05),0 0 0 58px rgba(16,42,67,.025); }
.hca-embed__avatar { position:relative; z-index:2; width:218px; height:218px; filter:drop-shadow(0 24px 36px rgba(7,27,46,.22)); }
.hca-embed__badge { position:absolute; z-index:3; display:flex; flex-direction:column; min-width:126px; padding:12px 14px; border:1px solid var(--hca-border); border-radius:16px; background:rgba(255,255,255,.94); box-shadow:0 14px 34px rgba(7,27,46,.12); }
.hca-embed__badge strong { color:var(--hca-heading); font-size:15px; }
.hca-embed__badge span { color:var(--hca-muted); font-size:10px; }
.hca-embed__badge.is-top { top:28px; right:0; }
.hca-embed__badge.is-bottom { bottom:26px; left:0; }

/* WooCommerce context cards */
.hca-context-card { display:grid; grid-template-columns:52px minmax(0,1fr) auto; gap:13px; align-items:center; width:100%; max-width:100%; margin:0 0 18px; padding:14px; overflow:hidden; border:1px solid var(--hca-border); border-radius:18px; background:var(--hca-surface-alt); }
.hca-context-card__icon { display:grid; place-items:center; width:52px; height:52px; overflow:hidden; border-radius:16px; background:var(--hca-soft); }
.hca-context-card__copy { display:flex; min-width:0; flex-direction:column; }
.hca-context-card__copy strong { color:var(--hca-heading); font-size:13px; }
.hca-context-card__copy small { color:var(--hca-muted); font-size:11px; }
.hca-context-card button,
.hca-product-helper { min-height:42px; padding:8px 14px; border-radius:12px; background:var(--hca-accent); color:#fff; font-size:12px; font-weight:800; }
.hca-product-helper { display:inline-flex; width:auto; max-width:100%; margin-top:12px; }

/* Fixed host. No layout participation and no horizontal drag/slide. */
#hca-assistant-root[hidden],
#hca-assistant-root [hidden] { display:none !important; }
#hca-assistant-root {
    display:block !important;
    position:fixed !important;
    z-index:999999 !important;
    inset:0 !important;
    width:100vw !important;
    max-width:none !important;
    height:100vh !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    pointer-events:none;
    isolation:isolate;
    font-family:inherit !important;
}
#hca-assistant-root .screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#hca-assistant-root .hca-launcher {
    position:fixed;
    z-index:2;
    left:22px;
    right:auto;
    bottom:max(22px,env(safe-area-inset-bottom));
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-height:64px;
    max-width:min(320px,calc(100vw - 44px));
    padding:7px 16px 7px 8px;
    border:1px solid rgba(255,255,255,.72);
    border-radius:22px;
    background:linear-gradient(135deg,var(--hca-accent),var(--hca-accent-deep));
    color:#fff;
    font-weight:900;
    box-shadow:0 18px 48px rgba(7,27,46,.30);
    transition:transform .16s ease,box-shadow .16s ease;
    pointer-events:auto;
}
#hca-assistant-root .hca-launcher:hover { transform:translateY(-2px); box-shadow:0 22px 54px rgba(7,27,46,.34); color:#fff; }
#hca-assistant-root .hca-launcher__avatar { display:grid; place-items:center; flex:0 0 50px; width:50px; height:50px; overflow:hidden; border-radius:17px; background:#fff; }
#hca-assistant-root .hca-launcher__label { display:flex; min-width:0; flex-direction:column; align-items:flex-start; }
#hca-assistant-root .hca-launcher__label b { overflow:hidden; max-width:200px; color:#fff; font-size:13.5px; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
#hca-assistant-root .hca-launcher__label small { color:rgba(255,255,255,.72); font-size:9px; font-weight:600; }
#hca-assistant-root .hca-launcher__status { position:absolute; top:6px; right:7px; width:11px; height:11px; border:2px solid #fff; border-radius:50%; background:var(--hca-success); }

#hca-assistant-root .hca-layer {
    position:fixed;
    z-index:3;
    inset:0;
    display:flex;
    align-items:flex-end;
    justify-content:flex-start;
    padding:20px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s ease,visibility .18s ease;
}
#hca-assistant-root.is-open .hca-layer { opacity:1; visibility:visible; pointer-events:auto; }
#hca-assistant-root .hca-backdrop { position:absolute; inset:0; width:100%; height:100%; padding:0; border-radius:0; background:rgba(3,14,25,.48); backdrop-filter:blur(4px); }
#hca-assistant-root .hca-chat-panel {
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    width:min(420px,calc(100vw - 40px));
    max-width:100%;
    height:min(720px,calc(100vh - 40px));
    max-height:calc(100vh - 40px);
    min-width:0;
    overflow:hidden;
    border:1px solid var(--hca-border);
    border-radius:calc(var(--hca-radius) + 2px);
    background:var(--hca-surface);
    box-shadow:0 30px 80px rgba(3,14,25,.34);
    opacity:0;
    transform:translateY(12px) scale(.992);
    transition:opacity .18s ease,transform .18s ease;
    pointer-events:auto;
}
#hca-assistant-root.is-open .hca-chat-panel { opacity:1; transform:translateY(0) scale(1); }
#hca-assistant-root .hca-chat-panel__header { position:relative; display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:10px; min-height:78px; padding:12px 13px; overflow:hidden; background:linear-gradient(135deg,var(--hca-accent),var(--hca-accent-deep)); color:#fff; }
#hca-assistant-root .hca-chat-panel__identity { position:relative; z-index:1; display:flex; min-width:0; align-items:center; gap:10px; }
#hca-assistant-root .hca-chat-panel__avatar { display:grid; place-items:center; flex:0 0 52px; width:52px; height:52px; overflow:hidden; border:1px solid rgba(255,255,255,.5); border-radius:17px; background:#fff; }
#hca-assistant-root .hca-chat-panel__identity > span:last-child { display:flex; min-width:0; flex-direction:column; }
#hca-assistant-root .hca-chat-panel__identity strong { overflow:hidden; color:#fff; font-size:15px; text-overflow:ellipsis; white-space:nowrap; }
#hca-assistant-root .hca-chat-panel__identity small { display:flex; align-items:center; gap:6px; overflow:hidden; color:rgba(255,255,255,.75); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
#hca-assistant-root .hca-chat-panel__identity small i { flex:0 0 7px; width:7px; height:7px; border-radius:50%; background:var(--hca-success); }
#hca-assistant-root .hca-chat-panel__actions { position:relative; z-index:2; display:flex; flex:0 0 auto; align-items:center; gap:6px; }
#hca-assistant-root .hca-chat-panel__close,
#hca-assistant-root .hca-chat-panel__reset,
#hca-assistant-root .hca-chat-panel__install { display:grid; place-items:center; width:36px; height:36px; padding:0; border-radius:11px; background:rgba(255,255,255,.11); color:#fff; }
#hca-assistant-root .hca-chat-panel__close:hover,
#hca-assistant-root .hca-chat-panel__reset:hover,
#hca-assistant-root .hca-chat-panel__install:hover { background:rgba(255,255,255,.2); color:#fff; }

#hca-assistant-root .hca-chat-panel__messages { flex:1 1 auto; min-width:0; min-height:0; padding:14px 13px 18px; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; background:linear-gradient(180deg,var(--hca-surface-alt),var(--hca-surface)); scrollbar-width:thin; scrollbar-color:var(--hca-border) transparent; }
#hca-assistant-root .hca-welcome-card { display:grid; grid-template-columns:46px minmax(0,1fr); gap:10px; align-items:start; min-width:0; margin-bottom:11px; padding:12px; border:1px solid var(--hca-border); border-radius:17px; background:var(--hca-surface); box-shadow:0 8px 22px rgba(7,27,46,.05); }
#hca-assistant-root .hca-welcome-card__avatar { width:46px; height:46px; overflow:hidden; border-radius:14px; background:var(--hca-soft); }
#hca-assistant-root .hca-welcome-card strong { display:block; color:var(--hca-heading); font-size:13px; }
#hca-assistant-root .hca-welcome-card p { margin:4px 0 0; color:var(--hca-muted); font-size:12px; line-height:1.85; overflow-wrap:anywhere; }
#hca-assistant-root .hca-message { display:flex; width:100%; min-width:0; margin:7px 0; }
#hca-assistant-root .hca-message--user { justify-content:flex-start; }
#hca-assistant-root .hca-message__bubble { max-width:88%; padding:10px 12px; border:1px solid var(--hca-border); border-radius:16px 16px 5px 16px; background:var(--hca-surface); color:var(--hca-text); font-size:13px; line-height:1.85; box-shadow:0 5px 14px rgba(7,27,46,.04); overflow-wrap:anywhere; }
#hca-assistant-root .hca-message--user .hca-message__bubble { border-color:transparent; border-radius:16px 16px 16px 5px; background:linear-gradient(135deg,var(--hca-accent),var(--hca-accent-deep)); color:#fff; }
#hca-assistant-root .hca-message--typing .hca-message__bubble { display:inline-flex; align-items:center; gap:4px; min-height:42px; }
#hca-assistant-root .hca-message--typing span { width:6px; height:6px; border-radius:50%; background:var(--hca-muted); animation:hcaTyping 1s infinite ease-in-out; }
#hca-assistant-root .hca-message--typing span:nth-child(2) { animation-delay:.14s; }
#hca-assistant-root .hca-message--typing span:nth-child(3) { animation-delay:.28s; }
@keyframes hcaTyping { 50% { opacity:.35; transform:translateY(-3px); } }
#hca-assistant-root .hca-suggestions { display:flex; flex-wrap:wrap; gap:7px; margin:7px 0 14px; }
#hca-assistant-root .hca-suggestions button { min-height:34px; max-width:100%; padding:6px 10px; overflow:hidden; border:1px solid var(--hca-border); border-radius:999px; background:var(--hca-surface); color:var(--hca-accent); font-size:10px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
#hca-assistant-root .hca-suggestions button:hover { border-color:var(--hca-accent); background:var(--hca-soft); }

#hca-assistant-root .hca-result { width:100%; max-width:100%; margin:6px 0 16px; overflow:hidden; border:1px solid var(--hca-border); border-radius:19px; background:var(--hca-surface); box-shadow:0 12px 30px rgba(7,27,46,.07); }
#hca-assistant-root .hca-result__top { padding:14px; border-bottom:1px solid var(--hca-border); background:linear-gradient(135deg,var(--hca-soft),var(--hca-surface)); }
#hca-assistant-root .hca-result__top > span { display:block; margin-bottom:3px; color:var(--hca-accent); font-size:9px; font-weight:900; }
#hca-assistant-root .hca-result__top > strong { display:block; color:var(--hca-heading); font-size:15px; }
#hca-assistant-root .hca-result__top p { margin:5px 0 0; color:var(--hca-muted); font-size:10px; line-height:1.85; overflow-wrap:anywhere; }
#hca-assistant-root .hca-result__meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:11px; }
#hca-assistant-root .hca-result__meta > div { min-width:0; padding:9px 7px; border:1px solid var(--hca-border); border-radius:11px; background:var(--hca-surface-alt); text-align:center; }
#hca-assistant-root .hca-result__meta strong,
#hca-assistant-root .hca-result__meta small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#hca-assistant-root .hca-result__meta strong { color:var(--hca-heading); font-size:11px; }
#hca-assistant-root .hca-result__meta small { margin-top:2px; color:var(--hca-muted); font-size:8px; }
#hca-assistant-root .hca-result__note { margin:0 11px 11px; padding:10px; border-radius:11px; background:var(--hca-soft); color:var(--hca-muted); font-size:9px; line-height:1.8; overflow-wrap:anywhere; }
#hca-assistant-root .hca-result__products { display:flex; min-width:0; flex-direction:column; gap:8px; padding:0 11px 11px; }
#hca-assistant-root .hca-product-card { display:grid; grid-template-columns:50px minmax(0,1fr) auto; gap:8px; align-items:center; min-width:0; padding:8px; border:1px solid var(--hca-border); border-radius:13px; background:var(--hca-surface); }
#hca-assistant-root .hca-product-card__media { display:grid; place-items:center; width:50px; height:50px; overflow:hidden; border-radius:11px; background:var(--hca-surface-alt); font-size:22px; }
#hca-assistant-root .hca-product-card__media img { width:100%; height:100%; max-width:none; object-fit:cover; }
#hca-assistant-root .hca-product-card__copy { display:flex; min-width:0; flex-direction:column; gap:1px; }
#hca-assistant-root .hca-product-card__copy strong { overflow:hidden; color:var(--hca-heading); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
#hca-assistant-root .hca-product-card__copy small { color:var(--hca-muted); font-size:8px; }
#hca-assistant-root .hca-product-card__price { color:var(--hca-accent); font-size:10px; font-weight:900; }
#hca-assistant-root .hca-product-card__add { min-width:74px; min-height:34px; padding:6px 9px; border-radius:10px; background:var(--hca-accent); color:#fff; font-size:9px; font-weight:900; }
#hca-assistant-root .hca-product-card__add:disabled { cursor:wait; opacity:.68; }
#hca-assistant-root .hca-product-card__add.is-added { background:var(--hca-success); }
#hca-assistant-root .hca-result__empty { margin:0 11px 11px; padding:10px; border:1px dashed var(--hca-border); border-radius:11px; background:var(--hca-surface-alt); color:var(--hca-muted); font-size:9px; line-height:1.8; }
#hca-assistant-root .hca-result__details { padding:10px 12px; border-top:1px solid var(--hca-border); color:var(--hca-muted); font-size:9px; }
#hca-assistant-root .hca-result__details summary { color:var(--hca-heading); font-weight:900; cursor:pointer; }
#hca-assistant-root .hca-result__details p { margin:8px 0 0; line-height:1.85; }
#hca-assistant-root .hca-result__details .hca-cultural-note { padding:8px 9px; border:1px solid var(--hca-border); border-radius:9px; background:var(--hca-surface-alt); }
#hca-assistant-root .hca-result__details .hca-safety { padding:8px 9px; border-radius:9px; background:var(--hca-soft); color:var(--hca-accent); }

#hca-assistant-root .hca-chat-panel__composer { flex:0 0 auto; padding:10px 11px max(9px,env(safe-area-inset-bottom)); border-top:1px solid var(--hca-border); background:var(--hca-surface); }
#hca-assistant-root .hca-chat-panel__composer form { display:grid; grid-template-columns:minmax(0,1fr) 44px; gap:8px; align-items:end; min-width:0; }
#hca-assistant-root .hca-chat-panel__composer textarea { display:block; width:100%; min-width:0; min-height:44px; max-height:104px; padding:9px 11px; resize:none; overflow-x:hidden; overflow-y:auto; border:1px solid var(--hca-border); border-radius:13px; outline:0; background:var(--hca-surface); color:var(--hca-text); font-size:12px; line-height:1.7; }
#hca-assistant-root .hca-chat-panel__composer textarea::placeholder { color:var(--hca-muted); opacity:.78; }
#hca-assistant-root .hca-chat-panel__composer textarea:focus { border-color:var(--hca-accent); box-shadow:0 0 0 3px rgba(16,42,67,.1); }
#hca-assistant-root .hca-chat-panel__composer form > button { display:grid; place-items:center; width:44px; height:44px; padding:0; border-radius:13px; background:linear-gradient(135deg,var(--hca-accent),var(--hca-accent-deep)); color:#fff; }
#hca-assistant-root .hca-chat-panel__composer form > button:disabled,
#hca-assistant-root .hca-chat-panel__composer textarea:disabled { cursor:wait; opacity:.6; }
#hca-assistant-root .hca-chat-panel__composer > small { display:block; margin-top:5px; color:var(--hca-muted); font-size:7.5px; text-align:center; }

@media (max-width:767px) {
    .hca-embed { grid-template-columns:minmax(0,1fr); gap:18px; min-height:0; padding:24px 18px; border-radius:22px; }
    .hca-embed h2 { font-size:29px; }
    .hca-embed p { font-size:14px; }
    .hca-embed__visual { min-height:225px; }
    .hca-embed__ring { width:220px; height:220px; }
    .hca-embed__avatar { width:172px; height:172px; }
    .hca-embed__badge.is-top { top:12px; right:0; }
    .hca-embed__badge.is-bottom { bottom:12px; left:0; }
    .hca-context-card { grid-template-columns:46px minmax(0,1fr); }
    .hca-context-card button { grid-column:1/-1; width:100%; }
    #hca-assistant-root.hca-device-desktop { display:none; }
    #hca-assistant-root .hca-launcher {
        left:var(--hca-mobile-launcher-side);
        right:auto;
        bottom:calc(var(--hca-mobile-launcher-bottom) + var(--hca-mobile-obstruction) + env(safe-area-inset-bottom));
        min-width:56px;
        min-height:56px;
        max-width:56px;
        padding:4px;
        border-radius:18px;
    }
    #hca-assistant-root .hca-launcher__label { display:none; }
    #hca-assistant-root .hca-launcher__avatar { flex-basis:47px; width:47px; height:47px; border-radius:15px; }
    #hca-assistant-root .hca-layer {
        align-items:flex-end;
        justify-content:flex-start;
        padding:var(--hca-mobile-panel-gap) var(--hca-mobile-panel-gap) max(var(--hca-mobile-panel-gap),calc(var(--hca-mobile-obstruction) + var(--hca-mobile-panel-gap) + env(safe-area-inset-bottom)));
    }
    #hca-assistant-root .hca-backdrop { background:rgba(3,14,25,.42); backdrop-filter:none; }
    #hca-assistant-root .hca-chat-panel {
        width:min(var(--hca-mobile-panel-width),calc(100vw - (var(--hca-mobile-panel-gap) * 2)));
        max-width:calc(100vw - (var(--hca-mobile-panel-gap) * 2));
        height:var(--hca-mobile-panel-height);
        min-height:320px;
        max-height:min(480px,calc(100vh - 96px - var(--hca-mobile-obstruction)));
        border-radius:20px;
        transform:translateY(10px) scale(.994);
    }
    #hca-assistant-root .hca-chat-panel__header { min-height:60px; padding:8px 9px; }
    #hca-assistant-root .hca-chat-panel__avatar { flex-basis:40px; width:40px; height:40px; border-radius:12px; }
    #hca-assistant-root .hca-chat-panel__identity strong { font-size:13px; }
    #hca-assistant-root .hca-chat-panel__identity small { max-width:160px; font-size:8px; }
    #hca-assistant-root .hca-chat-panel__close,
    #hca-assistant-root .hca-chat-panel__reset,
    #hca-assistant-root .hca-chat-panel__install { width:32px; height:32px; border-radius:10px; }
    #hca-assistant-root .hca-chat-panel__messages { padding:9px 9px 11px; }
    #hca-assistant-root .hca-welcome-card { grid-template-columns:40px minmax(0,1fr); gap:8px; padding:10px; border-radius:14px; }
    #hca-assistant-root .hca-welcome-card__avatar { width:40px; height:40px; border-radius:12px; }
    #hca-assistant-root .hca-welcome-card p { font-size:11px; }
    #hca-assistant-root .hca-message__bubble { max-width:91%; font-size:12px; }
    #hca-assistant-root .hca-chat-panel__composer { padding:8px 9px max(8px,env(safe-area-inset-bottom)); }
    #hca-assistant-root .hca-chat-panel__composer > small { display:none; }
    #hca-assistant-root .hca-product-card { grid-template-columns:46px minmax(0,1fr); }
    #hca-assistant-root .hca-product-card__add { grid-column:1/-1; width:100%; }
}
@media (max-width:380px) {
    #hca-assistant-root .hca-chat-panel { width:calc(100vw - (var(--hca-mobile-panel-gap) * 2)); min-height:300px; max-height:calc(100vh - 84px - var(--hca-mobile-obstruction)); }
    #hca-assistant-root .hca-result__meta { grid-template-columns:minmax(0,1fr); }
}
@media (min-width:768px) {
    #hca-assistant-root.hca-device-mobile { display:none; }
}
@media (prefers-reduced-motion:reduce) {
    .hca-embed__button,
    #hca-assistant-root .hca-launcher,
    #hca-assistant-root .hca-layer,
    #hca-assistant-root .hca-chat-panel,
    #hca-assistant-root .hca-message--typing span { transition:none; animation:none; }
}

/* 1.1.4 — anchored-left UI retained; admin, knowledge and synchronization refined */
#hca-assistant-root .hca-layer {
    direction:ltr;
    padding:20px 20px 20px 22px;
}
#hca-assistant-root .hca-chat-panel {
    direction:rtl;
    transform-origin:left bottom;
}

/* The official character is the launcher itself; no white tile or generic pill. */
#hca-assistant-root .hca-launcher {
    direction:ltr;
    gap:9px;
    min-width:0;
    min-height:76px;
    padding:0;
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
#hca-assistant-root .hca-launcher:hover {
    transform:translateY(-2px);
    box-shadow:none;
}
#hca-assistant-root .hca-launcher__avatar {
    display:grid;
    place-items:center;
    flex:0 0 74px;
    width:74px;
    height:74px;
    overflow:visible;
    border:0;
    border-radius:50%;
    background:transparent;
    filter:drop-shadow(0 12px 18px rgba(3,14,25,.28));
    transition:transform .18s ease,filter .18s ease;
}
#hca-assistant-root .hca-launcher:hover .hca-launcher__avatar {
    transform:scale(1.035);
    filter:drop-shadow(0 15px 22px rgba(3,14,25,.34));
}
#hca-assistant-root .hca-launcher__avatar .hca-avatar-picture,
#hca-assistant-root .hca-launcher__avatar .hca-avatar-img {
    width:100%;
    height:100%;
    overflow:visible;
    object-fit:contain;
}
#hca-assistant-root .hca-launcher__label {
    direction:rtl;
    display:flex;
    min-width:0;
    max-width:230px;
    min-height:54px;
    justify-content:center;
    padding:9px 14px;
    border:1px solid rgba(255,255,255,.5);
    border-radius:17px;
    background:linear-gradient(135deg,var(--hca-accent),var(--hca-accent-deep));
    box-shadow:0 16px 38px rgba(7,27,46,.27);
}
#hca-assistant-root .hca-launcher__status {
    top:7px;
    right:auto;
    left:54px;
    width:12px;
    height:12px;
    border-width:2px;
}
#hca-assistant-root.is-open .hca-launcher {
    opacity:0;
    visibility:hidden;
    transform:translateY(6px) scale(.96);
    pointer-events:none;
}

#hca-assistant-root .hca-result__products-title {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:10px;
    padding:11px 12px 8px;
}
#hca-assistant-root .hca-result__products-title strong {
    color:var(--hca-heading);
    font-size:11px;
    line-height:1.5;
}
#hca-assistant-root .hca-result__products-title small {
    color:var(--hca-muted);
    font-size:8px;
    line-height:1.6;
    text-align:left;
}
#hca-assistant-root .hca-product-card {
    grid-template-columns:58px minmax(0,1fr) 92px;
    gap:10px;
    padding:10px;
    border-radius:15px;
    transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
#hca-assistant-root .hca-product-card.is-primary {
    border-color:rgba(16,42,67,.38);
    background:linear-gradient(135deg,var(--hca-surface),var(--hca-soft));
    box-shadow:0 10px 24px rgba(7,27,46,.08);
}
#hca-assistant-root .hca-product-card:hover {
    transform:translateY(-1px);
    border-color:var(--hca-accent);
}
#hca-assistant-root .hca-product-card__media {
    width:58px;
    height:58px;
    text-decoration:none;
}
#hca-assistant-root .hca-product-card__copy {
    gap:2px;
}
#hca-assistant-root .hca-product-card__badge {
    display:inline-flex;
    align-self:flex-start;
    max-width:100%;
    padding:2px 7px;
    overflow:hidden;
    border-radius:999px;
    background:var(--hca-soft);
    color:var(--hca-accent);
    font-size:7.5px;
    font-weight:900;
    line-height:1.7;
    text-overflow:ellipsis;
    white-space:nowrap;
}
#hca-assistant-root .hca-product-card.is-primary .hca-product-card__badge {
    background:var(--hca-accent);
    color:#fff;
}
#hca-assistant-root .hca-product-card__name,
#hca-assistant-root .hca-product-card__name:visited {
    display:block;
    overflow:hidden;
    color:var(--hca-heading);
    font-size:11px;
    font-weight:900;
    line-height:1.6;
    text-decoration:none;
    text-overflow:ellipsis;
    white-space:nowrap;
}
#hca-assistant-root .hca-product-card__name:hover {
    color:var(--hca-accent);
}
#hca-assistant-root .hca-product-card__detail {
    color:var(--hca-muted);
    font-size:8px;
    line-height:1.6;
}
#hca-assistant-root .hca-product-card__reason {
    display:block;
    overflow:hidden;
    color:var(--hca-success);
    font-size:7.5px;
    font-weight:800;
    line-height:1.6;
    text-overflow:ellipsis;
    white-space:nowrap;
}
#hca-assistant-root .hca-product-card__actions {
    display:flex;
    min-width:0;
    flex-direction:column;
    align-items:stretch;
    justify-content:center;
    gap:6px;
}
#hca-assistant-root .hca-product-card__add,
#hca-assistant-root .hca-product-card__view {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-width:0;
    min-height:32px;
    padding:5px 7px;
    border-radius:9px;
    font-size:8px;
    font-weight:900;
    line-height:1.4;
    text-align:center;
    text-decoration:none;
}
#hca-assistant-root .hca-product-card__view,
#hca-assistant-root .hca-product-card__view:visited {
    border:1px solid var(--hca-border);
    background:var(--hca-surface);
    color:var(--hca-accent);
}
#hca-assistant-root .hca-product-card__view.is-primary {
    border-color:var(--hca-accent);
    background:var(--hca-accent);
    color:#fff;
}

@media (max-width:767px) {
    #hca-assistant-root .hca-launcher {
        left:var(--hca-mobile-launcher-side);
        right:auto;
        min-width:68px;
        width:68px;
        max-width:68px;
        min-height:68px;
        height:68px;
        padding:0;
    }
    #hca-assistant-root .hca-launcher__avatar {
        flex-basis:68px;
        width:68px;
        height:68px;
        border-radius:50%;
    }
    #hca-assistant-root .hca-launcher__status {
        top:6px;
        left:49px;
    }
    #hca-assistant-root .hca-layer {
        direction:ltr;
        padding-top:var(--hca-mobile-panel-gap);
        padding-right:var(--hca-mobile-panel-gap);
        padding-bottom:max(var(--hca-mobile-panel-gap),calc(var(--hca-mobile-obstruction) + var(--hca-mobile-panel-gap) + env(safe-area-inset-bottom)));
        padding-left:var(--hca-mobile-launcher-side);
    }
    #hca-assistant-root .hca-chat-panel {
        direction:rtl;
        width:min(var(--hca-mobile-panel-width),calc(100vw - var(--hca-mobile-launcher-side) - var(--hca-mobile-panel-gap)));
        max-width:calc(100vw - var(--hca-mobile-launcher-side) - var(--hca-mobile-panel-gap));
        transform-origin:left bottom;
    }
    #hca-assistant-root .hca-result__products-title {
        display:block;
    }
    #hca-assistant-root .hca-result__products-title small {
        display:block;
        margin-top:2px;
        text-align:right;
    }
    #hca-assistant-root .hca-product-card {
        grid-template-columns:52px minmax(0,1fr);
        gap:8px;
        padding:9px;
    }
    #hca-assistant-root .hca-product-card__media {
        width:52px;
        height:52px;
    }
    #hca-assistant-root .hca-product-card__actions {
        grid-column:1/-1;
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    #hca-assistant-root .hca-product-card__actions > :only-child {
        grid-column:1/-1;
    }
}


/* 1.1.4 mobile launcher and product-card polish.
 * The launcher is image-only on touch/mobile layouts. Product cards and
 * their actions use fixed, equal geometry so WooCommerce/theme CSS cannot
 * wrap or resize individual buttons differently. */
@media (max-width:1024px) {
    #hca-assistant-root .hca-launcher__label {
        display:none !important;
    }
    #hca-assistant-root .hca-launcher {
        gap:0;
        min-width:68px;
        width:68px;
        max-width:68px;
        min-height:68px;
        height:68px;
    }
    #hca-assistant-root .hca-launcher__avatar {
        flex:0 0 68px;
        width:68px;
        height:68px;
    }
}

@media (hover:none) and (pointer:coarse) {
    #hca-assistant-root .hca-launcher__label {
        display:none !important;
    }
}

@media (max-width:767px) {
    #hca-assistant-root .hca-suggestions {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
        width:100%;
        margin:8px 0 14px;
    }
    #hca-assistant-root .hca-suggestions button {
        display:-webkit-box;
        width:100%;
        height:44px;
        min-height:44px;
        max-height:44px;
        padding:5px 8px;
        overflow:hidden;
        border-radius:12px;
        font-size:10.5px;
        line-height:1.45;
        text-align:center;
        white-space:normal;
        overflow-wrap:normal;
        word-break:normal;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:2;
    }

    #hca-assistant-root .hca-result__products {
        gap:10px;
        padding:0 10px 11px;
    }
    #hca-assistant-root .hca-product-card {
        grid-template-columns:56px minmax(0,1fr);
        grid-template-rows:104px 42px;
        grid-template-areas:
            "media copy"
            "actions actions";
        gap:8px 10px;
        align-items:start;
        width:100%;
        height:174px;
        min-height:174px;
        max-height:174px;
        padding:10px;
        overflow:hidden;
        border-radius:15px;
    }
    #hca-assistant-root .hca-product-card__media {
        grid-area:media;
        align-self:start;
        width:56px;
        height:56px;
        min-width:56px;
        min-height:56px;
        border-radius:12px;
    }
    #hca-assistant-root .hca-product-card__copy {
        grid-area:copy;
        display:grid;
        grid-template-rows:18px 36px 16px 14px 18px;
        align-content:start;
        gap:1px;
        min-width:0;
        height:104px;
        max-height:104px;
        overflow:hidden;
    }
    #hca-assistant-root .hca-product-card__badge {
        align-self:start;
        max-width:100%;
        height:18px;
        padding:1px 7px;
        font-size:8px;
        line-height:16px;
    }
    #hca-assistant-root .hca-product-card__name,
    #hca-assistant-root .hca-product-card__name:visited {
        display:-webkit-box;
        min-height:36px;
        max-height:36px;
        overflow:hidden;
        font-size:11px;
        line-height:18px;
        white-space:normal;
        overflow-wrap:normal;
        word-break:normal;
        text-overflow:clip;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:2;
    }
    #hca-assistant-root .hca-product-card__detail,
    #hca-assistant-root .hca-product-card__reason,
    #hca-assistant-root .hca-product-card__price {
        display:block;
        min-width:0;
        overflow:hidden;
        line-height:1.5;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    #hca-assistant-root .hca-product-card__detail { font-size:8.5px; }
    #hca-assistant-root .hca-product-card__reason { font-size:8px; }
    #hca-assistant-root .hca-product-card__price { font-size:10px; }
    #hca-assistant-root .hca-product-card__actions {
        grid-area:actions;
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
        width:100%;
        height:42px;
        min-height:42px;
        margin:0;
        padding:0;
        align-items:stretch;
    }
    #hca-assistant-root .hca-product-card__actions > :only-child {
        grid-column:1/-1;
    }
    #hca-assistant-root .hca-product-card__add,
    #hca-assistant-root .hca-product-card__view,
    #hca-assistant-root .hca-product-card__view:visited {
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
        height:42px !important;
        min-height:42px !important;
        max-height:42px !important;
        margin:0 !important;
        padding:0 8px !important;
        overflow:hidden !important;
        border-radius:11px !important;
        font-size:11px !important;
        font-weight:900 !important;
        line-height:1.2 !important;
        text-align:center !important;
        text-decoration:none !important;
        text-overflow:ellipsis !important;
        white-space:nowrap !important;
        word-break:normal !important;
        box-sizing:border-box !important;
    }
}

@media (max-width:340px) {
    #hca-assistant-root .hca-suggestions {
        grid-template-columns:minmax(0,1fr);
    }
    #hca-assistant-root .hca-product-card {
        grid-template-columns:50px minmax(0,1fr);
        gap:8px;
        padding:9px;
    }
    #hca-assistant-root .hca-product-card__media {
        width:50px;
        height:50px;
        min-width:50px;
        min-height:50px;
    }
    #hca-assistant-root .hca-product-card__add,
    #hca-assistant-root .hca-product-card__view,
    #hca-assistant-root .hca-product-card__view:visited {
        font-size:10.5px !important;
        padding:0 5px !important;
    }
}

/* 1.1.6 — service shortcuts, dynamic viewport and accessibility polish. */
#hca-assistant-root {
    height:var(--hca-viewport-height,100dvh) !important;
    min-height:var(--hca-viewport-height,100dvh) !important;
}
#hca-assistant-root .hca-layer {
    height:var(--hca-viewport-height,100dvh);
}
#hca-assistant-root .hca-chat-panel {
    max-height:calc(var(--hca-viewport-height,100dvh) - 40px);
}
#hca-assistant-root .hca-service-shortcuts {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:100%;
    margin:0 0 13px;
}
#hca-assistant-root .hca-service-shortcuts button {
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:7px;
    width:100%;
    min-width:0;
    min-height:42px;
    padding:7px 10px;
    overflow:hidden;
    border:1px solid var(--hca-border);
    border-radius:13px;
    background:var(--hca-surface);
    color:var(--hca-heading);
    font:inherit;
    font-size:10.5px;
    font-weight:850;
    line-height:1.4;
    text-align:right;
    white-space:nowrap;
    text-overflow:ellipsis;
    box-shadow:0 5px 14px rgba(7,27,46,.035);
    transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
#hca-assistant-root .hca-service-shortcuts button span {
    display:grid;
    place-items:center;
    flex:0 0 25px;
    width:25px;
    height:25px;
    border-radius:8px;
    background:var(--hca-soft);
    color:var(--hca-accent);
    font-size:13px;
    line-height:1;
}
#hca-assistant-root .hca-service-shortcuts button:hover {
    transform:translateY(-1px);
    border-color:var(--hca-accent);
    background:var(--hca-soft);
}
#hca-assistant-root button:focus-visible,
#hca-assistant-root a:focus-visible,
.hca-embed button:focus-visible,
.hca-context-card button:focus-visible,
.hca-product-helper:focus-visible {
    outline:3px solid rgba(16,42,67,.24);
    outline-offset:2px;
}
#hca-assistant-root .hca-message__bubble a {
    color:inherit;
    font-weight:850;
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:3px;
    overflow-wrap:anywhere;
}
#hca-assistant-root .hca-message--bot .hca-message__bubble a { color:var(--hca-accent); }
#hca-assistant-root .hca-chat-panel__composer textarea {
    caret-color:var(--hca-accent);
}
#hca-assistant-root .hca-chat-panel__messages {
    scroll-padding-block:14px;
    -webkit-overflow-scrolling:touch;
}
@media (max-width:767px) {
    #hca-assistant-root .hca-chat-panel {
        height:clamp(340px,var(--hca-mobile-panel-height),520px);
        min-height:min(340px,calc(var(--hca-viewport-height,100dvh) - 80px));
        max-height:calc(var(--hca-viewport-height,100dvh) - var(--hca-mobile-obstruction) - 26px);
    }
    #hca-assistant-root .hca-service-shortcuts {
        gap:7px;
        margin-bottom:11px;
    }
    #hca-assistant-root .hca-service-shortcuts button {
        min-height:40px;
        padding:6px 8px;
        font-size:10px;
    }
    #hca-assistant-root .hca-service-shortcuts button span {
        flex-basis:23px;
        width:23px;
        height:23px;
        border-radius:7px;
        font-size:12px;
    }
}
@media (max-width:340px) {
    #hca-assistant-root .hca-service-shortcuts { grid-template-columns:minmax(0,1fr); }
}

/* 1.1.31 — compact answer feedback used by supervised learning. */
#hca-assistant-root .hca-feedback {
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:6px;
    margin:5px 0 10px;
    padding-inline:4px;
    color:var(--hca-muted);
    font-size:11px;
    direction:rtl;
}
#hca-assistant-root .hca-feedback span {
    margin-inline-end:2px;
}
#hca-assistant-root .hca-feedback button {
    appearance:none;
    border:1px solid var(--hca-border);
    background:var(--hca-surface);
    color:var(--hca-text);
    border-radius:999px;
    min-height:27px;
    padding:3px 10px;
    font:inherit;
    cursor:pointer;
}
#hca-assistant-root .hca-feedback button:hover,
#hca-assistant-root .hca-feedback button:focus-visible {
    border-color:var(--hca-accent);
    color:var(--hca-accent);
    outline:none;
}
#hca-assistant-root .hca-feedback.is-sent {
    opacity:.72;
}
#hca-assistant-root .hca-feedback.is-sent button {
    cursor:default;
}
#hca-assistant-root .hca-chat-panel__messages {
    display:flex;
    flex-direction:column;
    gap:0;
    scroll-padding-block:12px;
}
#hca-assistant-root .hca-message {
    direction:rtl;
    margin:3px 0;
}
#hca-assistant-root .hca-message--user {
    justify-content:flex-start;
    margin-top:9px;
}
#hca-assistant-root .hca-message--bot {
    justify-content:flex-end;
}
#hca-assistant-root .hca-message__bubble {
    max-width:86%;
    padding:9px 11px;
    line-height:1.75;
    box-shadow:0 4px 12px rgba(7,27,46,.035);
}
#hca-assistant-root .hca-message--bot .hca-message__bubble {
    border-radius:16px 16px 16px 5px;
}
#hca-assistant-root .hca-message--user .hca-message__bubble {
    border-radius:16px 16px 5px 16px;
}
#hca-assistant-root .hca-message--typing {
    margin-top:3px;
}
#hca-assistant-root .hca-message--typing .hca-message__bubble {
    min-height:36px;
    padding:8px 11px;
}
#hca-assistant-root .hca-suggestions {
    align-self:stretch;
    gap:6px;
    margin:5px 0 9px;
}
#hca-assistant-root .hca-suggestions button {
    min-height:32px;
    padding:5px 10px;
    line-height:1.35;
}
#hca-assistant-root .hca-result {
    align-self:stretch;
    margin:5px 0 11px;
}
#hca-assistant-root .hca-service-shortcuts {
    margin-bottom:10px;
}
@media (max-width:767px) {
    #hca-assistant-root .hca-chat-panel__messages {
        padding:9px 9px 13px;
    }
    #hca-assistant-root .hca-message {
        margin:2px 0;
    }
    #hca-assistant-root .hca-message--user {
        margin-top:7px;
    }
    #hca-assistant-root .hca-message__bubble {
        max-width:89%;
        padding:8px 10px;
        font-size:11.5px;
        line-height:1.72;
    }
    #hca-assistant-root .hca-suggestions {
        gap:5px;
        margin:4px 0 8px;
    }
}


/* 1.1.8 — regression fixes after real conversation and viewport testing. */
#hca-assistant-root .hca-chat-panel {
    margin:0 !important;
    align-self:flex-end;
    left:auto !important;
    right:auto !important;
}
#hca-assistant-root .hca-product-card__add.is-added,
#hca-assistant-root .hca-product-card__add[aria-disabled="true"] {
    cursor:default;
}
@media (max-width:767px) {
    #hca-assistant-root .hca-chat-panel__composer textarea {
        font-size:16px; /* prevent iOS input zoom */
    }
}

/* 1.1.9 — prevent conversation items from collapsing inside the scrollable flex column. */
#hca-assistant-root .hca-welcome-card,
#hca-assistant-root .hca-service-shortcuts,
#hca-assistant-root .hca-message,
#hca-assistant-root .hca-suggestions,
#hca-assistant-root .hca-result {
    flex:0 0 auto;
}
#hca-assistant-root .hca-result {
    height:auto;
    min-height:max-content;
    scroll-margin-top:8px;
}

/* 1.1.11 — site-font inheritance, refined visual rhythm and cart-aware launcher. */
#hca-assistant-root,
.hca-embed,
.hca-context-card,
.hca-product-helper {
    --hca-font-stack: var(--hca-font-family, inherit);
    font-family: var(--hca-font-stack) !important;
    font-variant-numeric: tabular-nums;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}
#hca-assistant-root button,
#hca-assistant-root input,
#hca-assistant-root textarea,
#hca-assistant-root select,
#hca-assistant-root a,
.hca-embed button,
.hca-context-card button,
.hca-product-helper {
    font-family: var(--hca-font-stack) !important;
}

#hca-assistant-root .hca-chat-panel {
    border: 1px solid rgba(202,216,228,.96);
    background:
        linear-gradient(180deg, rgba(255,255,255,.99), rgba(247,250,253,.99));
    box-shadow: 0 26px 70px rgba(7,27,46,.24), 0 3px 12px rgba(7,27,46,.08);
}
#hca-assistant-root .hca-chat-panel__top {
    background:
        radial-gradient(circle at 12% -30%, rgba(255,255,255,.18), transparent 45%),
        linear-gradient(135deg, var(--hca-accent), var(--hca-accent-deep));
}
#hca-assistant-root .hca-chat-panel__messages {
    background:
        radial-gradient(circle at 95% 8%, rgba(16,42,67,.035), transparent 34%),
        var(--hca-surface-alt);
}
#hca-assistant-root .hca-message--bot .hca-message__bubble {
    border: 1px solid #d8e3ec;
    background: #fff;
    color: var(--hca-text);
}
#hca-assistant-root .hca-message--user .hca-message__bubble {
    background: linear-gradient(135deg, var(--hca-accent), var(--hca-accent-deep));
    color: #fff;
}
#hca-assistant-root .hca-suggestions button {
    border-color: #d2dee8;
    background: #fff;
    color: var(--hca-heading);
    box-shadow: 0 4px 12px rgba(7,27,46,.035);
}
#hca-assistant-root .hca-result {
    overflow: hidden;
    border: 1px solid #cfdae4;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 13px 34px rgba(7,27,46,.08);
}
#hca-assistant-root .hca-result__top {
    background: linear-gradient(145deg, #f8fbfd, #eef4f8);
}
#hca-assistant-root .hca-product-card {
    border-color: #d7e2eb;
    background: linear-gradient(150deg, #fff, #f9fbfd);
    box-shadow: 0 9px 24px rgba(7,27,46,.055);
}
#hca-assistant-root .hca-product-card.is-primary {
    border-color: rgba(16,42,67,.44);
    box-shadow: 0 13px 30px rgba(7,27,46,.10);
}

/* Home-page desktop tooltip. It is intentionally absent on touch/mobile. */
#hca-assistant-root.hca-is-home .hca-launcher::after {
    content: attr(data-hca-tooltip);
    position: absolute;
    left: calc(100% + 12px);
    top: 50%;
    z-index: 4;
    min-width: max-content;
    max-width: 220px;
    padding: 9px 12px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 11px;
    background: var(--hca-accent-deep);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.5;
    text-align: center;
    opacity: 0;
    pointer-events: none;
    transform: translate(7px,-50%);
    transition: opacity .16s ease, transform .16s ease;
    box-shadow: 0 12px 30px rgba(7,27,46,.22);
    white-space: nowrap;
}
#hca-assistant-root.hca-is-home .hca-launcher::before {
    content: "";
    position: absolute;
    left: calc(100% + 6px);
    top: 50%;
    z-index: 5;
    width: 11px;
    height: 11px;
    background: var(--hca-accent-deep);
    opacity: 0;
    pointer-events: none;
    transform: translate(7px,-50%) rotate(45deg);
    transition: opacity .16s ease, transform .16s ease;
}
@media (hover:hover) and (pointer:fine) and (min-width:768px) {
    #hca-assistant-root.hca-is-home .hca-launcher:hover::after,
    #hca-assistant-root.hca-is-home .hca-launcher:focus-visible::after,
    #hca-assistant-root.hca-is-home .hca-launcher:hover::before,
    #hca-assistant-root.hca-is-home .hca-launcher:focus-visible::before {
        opacity: 1;
        transform: translate(0,-50%);
    }
}
@media (max-width:767px), (hover:none), (pointer:coarse) {
    #hca-assistant-root.hca-is-home .hca-launcher::before,
    #hca-assistant-root.hca-is-home .hca-launcher::after { display: none !important; }
}

/* Homepage visibility repair: ordinary cart counters must never hide the assistant. */
#hca-assistant-root.hca-is-home:not(.is-open):not(.hca-cart-obstructed):not(.hca-launcher-dismissed) .hca-launcher {
    display:inline-flex !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
}

/* Hide the launcher while any supported floating mini-cart drawer is open. */
#hca-assistant-root.hca-cart-obstructed .hca-launcher {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(10px) scale(.92) !important;
}

@media (max-width:767px) {
    #hca-assistant-root .hca-chat-panel {
        border-radius: 21px;
        box-shadow: 0 20px 54px rgba(7,27,46,.25);
    }
    #hca-assistant-root .hca-chat-panel__messages {
        padding: 10px 10px 14px;
    }
    #hca-assistant-root .hca-message__bubble {
        font-size: 12px;
        line-height: 1.75;
    }
    #hca-assistant-root .hca-product-card__actions {
        gap: 7px;
    }
    #hca-assistant-root .hca-product-card__add,
    #hca-assistant-root .hca-product-card__view,
    #hca-assistant-root .hca-product-card__view:visited {
        font-size: 10.5px !important;
    }
}

/* 1.1.12 — conversational redesign, stable mobile keyboard viewport and order actions. */
html.hca-page-locked,
body.hca-page-locked {
    overscroll-behavior: none !important;
}
#hca-assistant-root {
    top: var(--hca-viewport-top, 0px) !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100vw !important;
    height: var(--hca-viewport-height, 100dvh) !important;
    min-height: var(--hca-viewport-height, 100dvh) !important;
}
#hca-assistant-root .hca-layer {
    height: 100% !important;
}
#hca-assistant-root .hca-chat-panel {
    width: min(430px, calc(100vw - 40px));
    height: min(700px, calc(var(--hca-viewport-height, 100dvh) - 40px));
    max-height: calc(var(--hca-viewport-height, 100dvh) - 40px);
    border-radius: 26px;
    background: #f7fafd;
}
#hca-assistant-root .hca-chat-panel__header {
    min-height: 74px;
    padding: 11px 13px;
    background:
        radial-gradient(circle at 12% -70%, rgba(255,255,255,.28), transparent 47%),
        linear-gradient(135deg, var(--hca-accent), var(--hca-accent-deep));
}
#hca-assistant-root .hca-chat-panel__identity strong {
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.45;
}
#hca-assistant-root .hca-chat-panel__identity small {
    color: rgba(255,255,255,.78);
    font-size: 9.5px;
    line-height: 1.5;
}
#hca-assistant-root .hca-chat-panel__messages {
    min-height: 0;
    flex: 1 1 auto;
    gap: 5px;
    padding: 13px 13px 16px;
    background:
        linear-gradient(rgba(247,250,253,.91),rgba(247,250,253,.96)),
        radial-gradient(circle at 100% 0, rgba(16,42,67,.08), transparent 32%);
}
#hca-assistant-root .hca-welcome-card {
    position: relative;
    border: 1px solid rgba(202,216,228,.92);
    border-radius: 18px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 10px 28px rgba(7,27,46,.07);
}
#hca-assistant-root .hca-welcome-card strong {
    color: var(--hca-heading);
    font-size: 13px;
    font-weight: 900;
}
#hca-assistant-root .hca-welcome-card p {
    color: var(--hca-muted);
    line-height: 1.85;
}
#hca-assistant-root .hca-welcome-capabilities {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: -1px 4px 8px;
    color: var(--hca-muted);
    font-size: 8.5px;
    font-weight: 800;
    line-height: 1.6;
}
#hca-assistant-root .hca-welcome-capabilities i {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--hca-border);
}
#hca-assistant-root .hca-service-shortcuts,
#hca-assistant-root [data-hca-featured] {
    display: none !important;
}
#hca-assistant-root .hca-message {
    display: flex;
    width: 100%;
}
#hca-assistant-root .hca-message--bot { justify-content: flex-end; }
#hca-assistant-root .hca-message--user { justify-content: flex-start; }
#hca-assistant-root .hca-message__bubble {
    max-width: 84%;
    padding: 10px 12px;
    font-size: 12px;
    line-height: 1.8;
}
#hca-assistant-root .hca-message--bot .hca-message__bubble {
    border-radius: 16px 16px 5px 16px;
    box-shadow: 0 6px 18px rgba(7,27,46,.055);
}
#hca-assistant-root .hca-message--user .hca-message__bubble {
    border-radius: 16px 16px 16px 5px;
    box-shadow: 0 7px 20px rgba(7,27,46,.13);
}
#hca-assistant-root .hca-suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 3px 0 8px;
}
#hca-assistant-root .hca-suggestions button {
    width: auto;
    min-height: 34px;
    padding: 6px 11px;
    border-radius: 999px;
    font-size: 9.5px;
    font-weight: 850;
}
#hca-assistant-root .hca-response-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    flex: 0 0 auto;
    gap: 8px;
    width: min(100%, 330px);
    margin: 2px 0 10px;
}
#hca-assistant-root .hca-response-action,
#hca-assistant-root .hca-response-action:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 7px 10px;
    border: 1px solid var(--hca-border);
    border-radius: 12px;
    background: #fff;
    color: var(--hca-accent);
    font-size: 10px;
    font-weight: 900;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
}
#hca-assistant-root .hca-response-action.is-primary {
    border-color: var(--hca-accent);
    background: linear-gradient(135deg,var(--hca-accent),var(--hca-accent-deep));
    color: #fff;
}
#hca-assistant-root .hca-chat-panel__composer {
    position: relative;
    z-index: 3;
    padding: 10px 11px max(10px, env(safe-area-inset-bottom));
    border-top: 1px solid rgba(210,222,232,.95);
    background: rgba(255,255,255,.98);
    box-shadow: 0 -8px 24px rgba(7,27,46,.045);
}
#hca-assistant-root .hca-chat-panel__composer form {
    grid-template-columns: minmax(0,1fr) 46px;
    gap: 8px;
    padding: 4px;
    border: 1px solid var(--hca-border);
    border-radius: 17px;
    background: var(--hca-surface-alt);
}
#hca-assistant-root .hca-chat-panel__composer textarea {
    min-height: 42px;
    padding: 8px 10px;
    border: 0;
    border-radius: 13px;
    background: transparent;
    box-shadow: none !important;
}
#hca-assistant-root .hca-chat-panel__composer form > button {
    width: 46px;
    height: 42px;
    border-radius: 13px;
    box-shadow: 0 8px 18px rgba(7,27,46,.16);
}
#hca-assistant-root .hca-chat-panel__composer > small {
    margin-top: 5px;
    color: var(--hca-muted);
    font-size: 7.5px;
    line-height: 1.6;
}

@media (max-width: 767px) {
    #hca-assistant-root .hca-layer {
        padding-top: 8px;
        padding-right: 8px;
        padding-left: var(--hca-mobile-launcher-side);
        padding-bottom: max(8px, calc(var(--hca-mobile-obstruction) + 8px + env(safe-area-inset-bottom)));
    }
    #hca-assistant-root .hca-chat-panel {
        width: min(var(--hca-mobile-panel-width), calc(100vw - var(--hca-mobile-launcher-side) - 8px));
        max-width: calc(100vw - var(--hca-mobile-launcher-side) - 8px);
        height: clamp(350px, var(--hca-mobile-panel-height), 540px);
        max-height: calc(var(--hca-viewport-height,100dvh) - var(--hca-mobile-obstruction) - 16px);
        border-radius: 20px;
    }
    #hca-assistant-root .hca-chat-panel__header {
        min-height: 60px;
        padding: 8px 9px;
    }
    #hca-assistant-root .hca-chat-panel__messages {
        padding: 10px 10px 13px;
    }
    #hca-assistant-root .hca-welcome-card {
        padding: 10px;
        border-radius: 15px;
    }
    #hca-assistant-root .hca-welcome-capabilities {
        gap: 5px;
        font-size: 8px;
    }
    #hca-assistant-root .hca-message__bubble {
        max-width: 88%;
        padding: 9px 10px;
        font-size: 12px;
    }
    #hca-assistant-root .hca-suggestions {
        display: flex;
        overflow-x: auto;
        flex-wrap: nowrap;
        width: 100%;
        padding-bottom: 2px;
        scrollbar-width: none;
    }
    #hca-assistant-root .hca-suggestions::-webkit-scrollbar { display: none; }
    #hca-assistant-root .hca-suggestions button {
        flex: 0 0 auto;
        width: auto;
        height: 34px;
        min-height: 34px;
        max-height: 34px;
        padding: 5px 10px;
        white-space: nowrap;
        -webkit-line-clamp: unset;
    }
    #hca-assistant-root .hca-response-actions {
        width: 100%;
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
    #hca-assistant-root .hca-chat-panel__composer {
        padding: 8px 8px max(8px, env(safe-area-inset-bottom));
    }
    #hca-assistant-root .hca-chat-panel__composer form {
        grid-template-columns: minmax(0,1fr) 44px;
    }
    #hca-assistant-root .hca-chat-panel__composer form > button {
        width: 44px;
    }
    #hca-assistant-root .hca-chat-panel__composer > small { display: none; }

    #hca-assistant-root.hca-keyboard-open .hca-layer {
        align-items: flex-end;
        padding: 6px !important;
    }
    #hca-assistant-root.hca-keyboard-open .hca-chat-panel {
        width: 100% !important;
        max-width: 100% !important;
        height: var(--hca-keyboard-panel-height, calc(var(--hca-viewport-height,100dvh) - 12px)) !important;
        min-height: 0 !important;
        max-height: var(--hca-keyboard-panel-height, calc(var(--hca-viewport-height,100dvh) - 12px)) !important;
        border-radius: 16px !important;
    }
    #hca-assistant-root.hca-keyboard-open .hca-chat-panel__header {
        min-height: 52px;
        padding-block: 6px;
    }
    #hca-assistant-root.hca-keyboard-open .hca-chat-panel__identity small,
    #hca-assistant-root.hca-keyboard-open .hca-welcome-card,
    #hca-assistant-root.hca-keyboard-open .hca-welcome-capabilities {
        display: none !important;
    }
    #hca-assistant-root.hca-keyboard-open .hca-chat-panel__messages {
        padding-top: 8px;
        scroll-padding-bottom: 12px;
    }
    #hca-assistant-root.hca-keyboard-open .hca-chat-panel__composer {
        padding-bottom: 6px;
    }
}

@media (max-width: 360px) {
    #hca-assistant-root .hca-response-actions { grid-template-columns: minmax(0,1fr); }
    #hca-assistant-root .hca-welcome-capabilities i:nth-of-type(n+3),
    #hca-assistant-root .hca-welcome-capabilities span:nth-of-type(n+4) { display: none; }
}


/* 1.1.14 — service replies are natural text only. This compatibility guard
 * also suppresses action rows left by an older cached JavaScript bundle. */
#hca-assistant-root .hca-response-actions { display:none !important; }


/* 1.1.16 — guaranteed first message and clearer conversation start */
#hca-assistant-root .hca-message--initial { margin-top:0; margin-bottom:12px; }
#hca-assistant-root .hca-message--initial .hca-message__bubble {
    max-width:94%;
    padding:13px 14px;
    border-color:var(--hca-border);
    background:linear-gradient(145deg,var(--hca-surface),var(--hca-surface-alt));
}
#hca-assistant-root .hca-initial-title,
#hca-assistant-root .hca-initial-copy { display:block; }
#hca-assistant-root .hca-initial-title { margin-bottom:4px; color:var(--hca-heading); font-size:13px; font-weight:900; }
#hca-assistant-root .hca-initial-copy { color:var(--hca-muted); font-size:11.5px; line-height:1.9; }
@media (max-width:767px) {
    #hca-assistant-root .hca-message--initial .hca-message__bubble { max-width:100%; padding:11px 12px; }
    #hca-assistant-root .hca-initial-title { font-size:12.5px; }
    #hca-assistant-root .hca-initial-copy { font-size:11px; line-height:1.85; }
}


/* 1.1.17 — guided start, accessible typography and simpler chat hierarchy. */
#hca-assistant-root,
.hca-embed,
.hca-context-card,
.hca-product-helper {
    --hca-font-stack: var(--hca-font-family, Tahoma, Arial, sans-serif);
    font-family: var(--hca-font-stack) !important;
}
#hca-assistant-root :where(button,input,textarea,select,a,p,span,b,strong,small,label,li),
.hca-embed :where(button,p,span,b,strong,small),
.hca-context-card :where(button,p,span,b,strong,small) {
    font-family: var(--hca-font-stack) !important;
    letter-spacing: 0;
}
#hca-assistant-root .hca-chat-panel__messages {
    gap: 8px;
    padding: 14px 14px 18px;
}
#hca-assistant-root .hca-message__bubble {
    font-size: 13px;
    line-height: 1.9;
}
#hca-assistant-root .hca-message--initial { margin-bottom: 4px; }
#hca-assistant-root .hca-message--initial .hca-message__bubble {
    max-width: 100%;
    width: 100%;
    border-radius: 18px;
}
#hca-assistant-root .hca-initial-title { font-size: 14px; }
#hca-assistant-root .hca-initial-copy { font-size: 12.5px; line-height: 1.95; }
#hca-assistant-root .hca-starter-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 9px;
    width: 100%;
    margin: 2px 0 12px;
}
#hca-assistant-root .hca-starter-grid[hidden] { display: none !important; }
#hca-assistant-root .hca-starter-grid > button {
    display: grid;
    grid-template-columns: 38px minmax(0,1fr);
    gap: 9px;
    align-items: center;
    min-width: 0;
    min-height: 66px;
    padding: 10px;
    overflow: hidden;
    border: 1px solid var(--hca-border);
    border-radius: 15px;
    background: linear-gradient(145deg,#fff,var(--hca-surface-alt));
    color: var(--hca-heading);
    text-align: right;
    box-shadow: 0 7px 18px rgba(7,27,46,.045);
    transition: transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
#hca-assistant-root .hca-starter-grid > button:hover,
#hca-assistant-root .hca-starter-grid > button:focus-visible {
    transform: translateY(-1px);
    border-color: color-mix(in srgb,var(--hca-accent) 45%,var(--hca-border));
    box-shadow: 0 11px 24px rgba(7,27,46,.08);
    outline: 0;
}
#hca-assistant-root .hca-starter-grid__icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: var(--hca-soft);
    color: var(--hca-accent);
}
#hca-assistant-root .hca-starter-grid__icon svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
#hca-assistant-root .hca-starter-grid > button > span:last-child {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}
#hca-assistant-root .hca-starter-grid b {
    overflow: hidden;
    color: var(--hca-heading);
    font-size: 11.5px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#hca-assistant-root .hca-starter-grid small {
    overflow: hidden;
    color: var(--hca-muted);
    font-size: 9px;
    font-weight: 700;
    line-height: 1.55;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#hca-assistant-root .hca-chat-panel__composer textarea {
    color: var(--hca-text);
    font-size: 13px;
    line-height: 1.7;
}
#hca-assistant-root .hca-chat-panel__composer textarea::placeholder { color: #7a8b9b; opacity: 1; }
@media (max-width:767px) {
    #hca-assistant-root .hca-chat-panel__messages { padding: 11px 10px 14px; }
    #hca-assistant-root .hca-message__bubble { font-size: 12.5px; line-height: 1.85; }
    #hca-assistant-root .hca-initial-copy { font-size: 11.5px; }
    #hca-assistant-root .hca-starter-grid { gap: 7px; }
    #hca-assistant-root .hca-starter-grid > button {
        grid-template-columns: 34px minmax(0,1fr);
        min-height: 60px;
        padding: 8px;
        border-radius: 13px;
    }
    #hca-assistant-root .hca-starter-grid__icon { width: 34px; height: 34px; border-radius: 10px; }
    #hca-assistant-root .hca-starter-grid__icon svg { width: 19px; height: 19px; }
    #hca-assistant-root .hca-starter-grid b { font-size: 10.5px; }
    #hca-assistant-root .hca-starter-grid small { font-size: 8px; }
    #hca-assistant-root.hca-keyboard-open .hca-starter-grid { display:none !important; }
}
@media (max-width:350px) {
    #hca-assistant-root .hca-starter-grid { grid-template-columns:minmax(0,1fr); }
}

/* 1.1.18 — concise recipe cards and self-healing viewport host. */
#hca-assistant-root {
    z-index:2147482000 !important;
    contain:layout style;
}
#hca-assistant-root .hca-launcher,
#hca-assistant-root .hca-layer { pointer-events:auto; }
#hca-assistant-root .hca-message__bubble {
    max-width:min(88%, 330px);
    padding:10px 12px;
    border-radius:16px;
    font-size:12.5px;
    line-height:1.8;
}
#hca-assistant-root .hca-message--bot .hca-message__bubble { background:var(--hca-surface); }
#hca-assistant-root .hca-message--user .hca-message__bubble { background:var(--hca-accent); color:#fff; }
#hca-assistant-root .hca-recipe-card {
    flex:0 0 auto;
    width:100%;
    min-width:0;
    padding:14px;
    border:1px solid var(--hca-border);
    border-radius:18px;
    background:linear-gradient(180deg,var(--hca-surface),var(--hca-surface-alt));
    box-shadow:0 10px 28px rgba(7,27,46,.07);
}
#hca-assistant-root .hca-recipe-card__head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}
#hca-assistant-root .hca-recipe-card__head > div { display:flex; min-width:0; flex-direction:column; }
#hca-assistant-root .hca-recipe-card__head small { color:var(--hca-accent); font-size:9px; font-weight:800; }
#hca-assistant-root .hca-recipe-card__head strong { overflow:hidden; color:var(--hca-heading); font-size:14px; line-height:1.55; text-overflow:ellipsis; white-space:nowrap; }
#hca-assistant-root .hca-recipe-card__head > span {
    flex:0 0 auto;
    padding:5px 8px;
    border-radius:999px;
    background:var(--hca-soft);
    color:var(--hca-accent);
    font-size:9px;
    font-weight:800;
}
#hca-assistant-root .hca-recipe-card__ingredients,
#hca-assistant-root .hca-recipe-card__steps { margin-top:11px; }
#hca-assistant-root .hca-recipe-card__ingredients > b,
#hca-assistant-root .hca-recipe-card__steps > b { display:block; margin-bottom:7px; color:var(--hca-heading); font-size:11px; }
#hca-assistant-root .hca-recipe-card__ingredients > div { display:flex; flex-wrap:wrap; gap:5px; }
#hca-assistant-root .hca-recipe-card__ingredients span {
    padding:4px 7px;
    border:1px solid var(--hca-border);
    border-radius:999px;
    background:var(--hca-surface);
    color:var(--hca-text);
    font-size:9px;
}
#hca-assistant-root .hca-recipe-card__steps ol { margin:0; padding:0 21px 0 0; }
#hca-assistant-root .hca-recipe-card__steps li { margin:0 0 7px; color:var(--hca-text); font-size:10.5px; line-height:1.75; }
#hca-assistant-root .hca-recipe-card__note {
    margin-top:10px;
    padding:9px 10px;
    border-radius:11px;
    background:var(--hca-soft);
    color:var(--hca-accent);
    font-size:9.5px;
    line-height:1.75;
}
#hca-assistant-root .hca-suggestions { gap:6px; margin-top:2px; }
#hca-assistant-root .hca-suggestions button { min-height:34px; padding:5px 9px; font-size:9.5px; }
@media (max-width:767px) {
    #hca-assistant-root .hca-chat-panel { max-width:calc(100vw - 16px); }
    #hca-assistant-root .hca-message__bubble { max-width:92%; font-size:12px; }
    #hca-assistant-root .hca-recipe-card { padding:12px; border-radius:15px; }
    #hca-assistant-root .hca-recipe-card__head strong { font-size:13px; }
}


/* 1.1.24 — exact site-font inheritance for the single-product helper. */
.hca-product-helper {
    font: inherit !important;
    font-family: var(--hca-font-family, inherit) !important;
    line-height: 1.55 !important;
    text-align: center;
    white-space: normal;
}

/* 1.1.24 — robust product-helper typography inside single-product templates. */
body.single-product div.product .hca-product-helper,
body.woocommerce.single-product .summary .hca-product-helper,
.woocommerce div.product .summary .hca-product-helper,
.hca-product-helper {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    max-width:100% !important;
    font-family:var(--hca-font-family, inherit) !important;
    font-style:normal !important;
    font-variant:normal !important;
    font-stretch:normal !important;
    font-size:13px !important;
    font-weight:800 !important;
    line-height:1.7 !important;
    letter-spacing:0 !important;
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
}
body.single-product div.product .hca-product-helper::before,
body.single-product div.product .hca-product-helper::after {
    font-family:inherit !important;
}
@media (max-width:767px) {
    body.single-product div.product .hca-product-helper,
    body.woocommerce.single-product .summary .hca-product-helper {
        width:100% !important;
        min-height:46px !important;
        padding:9px 12px !important;
        font-size:12.5px !important;
    }
}

/* 1.1.34: live per-kilo price line */
#hca-assistant-root .hca-product-card__perkg {
    display:block;
    margin-top:2px;
    color:var(--hca-muted);
    font-size:10px;
    font-weight:700;
    line-height:1.5;
}


/* 1.1.35 — persistent, non-intrusive PWA install helper inside the assistant. */
#hca-assistant-root [data-hca-install-app][hidden] { display:none !important; }
#hca-assistant-root .hca-chat-panel__install svg {
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}
#hca-assistant-root .hca-install-card {
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    gap:11px;
    align-items:start;
    width:100%;
    margin:10px 0 14px;
    padding:13px;
    border:1px solid color-mix(in srgb,var(--hca-accent) 22%,var(--hca-border));
    border-radius:17px;
    background:linear-gradient(145deg,var(--hca-soft),var(--hca-surface));
    box-shadow:0 10px 24px rgba(7,27,46,.06);
}
#hca-assistant-root .hca-install-card__icon {
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border-radius:14px;
    background:var(--hca-surface);
    font-size:22px;
    box-shadow:0 5px 14px rgba(7,27,46,.07);
}
#hca-assistant-root .hca-install-card__body { min-width:0; }
#hca-assistant-root .hca-install-card strong {
    display:block;
    color:var(--hca-heading);
    font-size:12.5px;
    font-weight:900;
}
#hca-assistant-root .hca-install-card p {
    margin:4px 0 0;
    color:var(--hca-muted);
    font-size:10.5px;
    line-height:1.85;
}
#hca-assistant-root .hca-install-card__actions {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:9px;
}
#hca-assistant-root .hca-install-card__actions button {
    min-height:34px;
    padding:6px 12px;
    border:1px solid var(--hca-border);
    border-radius:11px;
    background:var(--hca-surface);
    color:var(--hca-accent);
    font-size:10px;
    font-weight:900;
}
#hca-assistant-root .hca-install-card__actions button.is-primary {
    border-color:var(--hca-accent);
    background:var(--hca-accent);
    color:#fff;
}
#hca-assistant-root .hca-install-card__actions button:hover,
#hca-assistant-root .hca-install-card__actions button:focus-visible {
    transform:translateY(-1px);
    outline:0;
}
@media (max-width:767px) {
    #hca-assistant-root .hca-install-card { grid-template-columns:39px minmax(0,1fr); gap:9px; padding:11px; }
    #hca-assistant-root .hca-install-card__icon { width:39px; height:39px; border-radius:12px; font-size:19px; }
    #hca-assistant-root .hca-install-card strong { font-size:11.5px; }
    #hca-assistant-root .hca-install-card p { font-size:9.5px; }
}


/* 1.1.37 — user-controlled launcher dismissal with a safe undo path. */
#hca-assistant-root .hca-launcher-dismiss {
    position:fixed;
    z-index:5;
    left:74px;
    right:auto;
    bottom:calc(max(22px,env(safe-area-inset-bottom)) + 54px);
    display:grid;
    place-items:center;
    width:25px;
    height:25px;
    min-width:25px;
    min-height:25px;
    padding:0;
    border:1px solid rgba(16,42,67,.16);
    border-radius:50%;
    background:rgba(255,255,255,.97);
    color:var(--hca-accent-deep);
    box-shadow:0 7px 18px rgba(7,27,46,.20);
    opacity:.92;
    transform:translateZ(0);
    transition:opacity .16s ease,transform .16s ease,box-shadow .16s ease;
    pointer-events:auto;
}
#hca-assistant-root .hca-launcher-dismiss svg {
    width:13px;
    height:13px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.2;
    stroke-linecap:round;
}
#hca-assistant-root .hca-launcher-dismiss:hover,
#hca-assistant-root .hca-launcher-dismiss:focus-visible {
    opacity:1;
    transform:translateY(-1px) scale(1.05);
    box-shadow:0 9px 22px rgba(7,27,46,.25);
    outline:3px solid color-mix(in srgb,var(--hca-accent) 18%,transparent);
    outline-offset:2px;
}
#hca-assistant-root.is-open .hca-launcher-dismiss,
#hca-assistant-root.hca-cart-obstructed .hca-launcher-dismiss,
#hca-assistant-root.hca-launcher-dismissed .hca-launcher,
#hca-assistant-root.hca-launcher-dismissed .hca-launcher-dismiss {
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(8px) scale(.9) !important;
}
#hca-assistant-root .hca-chat-panel__restore {
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    padding:0;
    border-radius:11px;
    background:rgba(255,255,255,.11);
    color:#fff;
}
#hca-assistant-root .hca-chat-panel__restore[hidden] { display:none !important; }
#hca-assistant-root .hca-chat-panel__restore svg {
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
#hca-assistant-root .hca-chat-panel__restore:hover,
#hca-assistant-root .hca-chat-panel__restore:focus-visible {
    background:rgba(255,255,255,.2);
    color:#fff;
    outline:2px solid rgba(255,255,255,.38);
    outline-offset:1px;
}
#hca-assistant-root .hca-dismiss-toast {
    position:fixed;
    z-index:8;
    left:18px;
    right:auto;
    bottom:max(18px,env(safe-area-inset-bottom));
    display:flex;
    align-items:center;
    gap:10px;
    max-width:min(340px,calc(100vw - 36px));
    padding:10px 11px 10px 14px;
    border:1px solid var(--hca-border);
    border-radius:14px;
    background:var(--hca-surface);
    color:var(--hca-text);
    box-shadow:0 16px 42px rgba(7,27,46,.24);
    font-size:11px;
    font-weight:800;
    line-height:1.6;
    opacity:0;
    transform:translateY(10px);
    transition:opacity .18s ease,transform .18s ease;
    pointer-events:auto;
}
#hca-assistant-root .hca-dismiss-toast.is-visible { opacity:1; transform:translateY(0); }
#hca-assistant-root .hca-dismiss-toast span { flex:1 1 auto; min-width:0; }
#hca-assistant-root .hca-dismiss-toast button {
    flex:0 0 auto;
    min-height:32px;
    padding:5px 10px;
    border:1px solid var(--hca-accent);
    border-radius:10px;
    background:var(--hca-accent);
    color:#fff;
    font-size:10px;
    font-weight:900;
}
@media (max-width:767px) {
    #hca-assistant-root .hca-launcher-dismiss {
        left:calc(var(--hca-mobile-launcher-side) + 47px);
        bottom:calc(var(--hca-mobile-launcher-bottom) + var(--hca-mobile-obstruction) + env(safe-area-inset-bottom) + 48px);
        width:24px;
        height:24px;
        min-width:24px;
        min-height:24px;
    }
    #hca-assistant-root .hca-chat-panel__restore { width:32px; height:32px; border-radius:10px; }
    #hca-assistant-root .hca-dismiss-toast {
        left:var(--hca-mobile-launcher-side);
        bottom:calc(var(--hca-mobile-launcher-bottom) + var(--hca-mobile-obstruction) + env(safe-area-inset-bottom));
        max-width:calc(100vw - (var(--hca-mobile-launcher-side) * 2));
        padding:9px 10px;
        font-size:10.5px;
    }
}
@media (prefers-reduced-motion:reduce) {
    #hca-assistant-root .hca-launcher-dismiss,
    #hca-assistant-root .hca-dismiss-toast { transition:none; }
}

/* Live freshness metadata shown only when store staff has recorded real dates. */
.hca-product-card__freshness{display:block;margin-top:3px;font-size:11px;line-height:1.65;color:var(--hca-muted,#64748b);font-weight:650}


/* 1.1.43 — context-aware chef workspace */
#hca-assistant-root .hca-context-rail{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--hca-border);background:linear-gradient(180deg,var(--hca-surface),var(--hca-surface-alt));overflow:hidden}
#hca-assistant-root .hca-context-rail[hidden]{display:none!important}
#hca-assistant-root .hca-context-rail>div{display:flex;gap:6px;min-width:0;flex:1;overflow-x:auto;scrollbar-width:none}
#hca-assistant-root .hca-context-rail>div::-webkit-scrollbar{display:none}
#hca-assistant-root .hca-context-rail span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border:1px solid var(--hca-border);background:var(--hca-surface);border-radius:999px;padding:5px 9px;box-shadow:0 2px 8px rgba(15,42,67,.05)}
#hca-assistant-root .hca-context-rail small{font-size:10px;color:var(--hca-muted)}
#hca-assistant-root .hca-context-rail strong{font-size:11px;color:var(--hca-heading);max-width:150px;overflow:hidden;text-overflow:ellipsis}
#hca-assistant-root .hca-context-rail>button{border:0;background:transparent;color:var(--hca-muted);font:inherit;font-size:10px;white-space:nowrap;padding:5px;cursor:pointer}
#hca-assistant-root .hca-chat-shortcuts{display:flex;gap:6px;padding:8px 12px;border-bottom:1px solid var(--hca-border);background:var(--hca-surface);overflow-x:auto;scrollbar-width:none}
#hca-assistant-root .hca-chat-shortcuts::-webkit-scrollbar{display:none}
#hca-assistant-root .hca-chat-shortcuts button{border:1px solid var(--hca-border);background:var(--hca-surface-alt);color:var(--hca-heading);font:inherit;font-size:11px;font-weight:700;border-radius:10px;padding:7px 10px;white-space:nowrap;cursor:pointer;transition:.18s ease}
#hca-assistant-root .hca-chat-shortcuts button:hover,#hca-assistant-root .hca-chat-shortcuts button:focus-visible{border-color:var(--hca-accent);background:var(--hca-soft);transform:translateY(-1px)}
#hca-assistant-root .hca-recipe-card__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}
#hca-assistant-root .hca-recipe-card__facts span{display:flex;flex-direction:column;gap:2px;padding:8px;border:1px solid var(--hca-border);background:var(--hca-surface-alt);border-radius:10px;text-align:center}
#hca-assistant-root .hca-recipe-card__facts small{font-size:10px;color:var(--hca-muted)}
#hca-assistant-root .hca-recipe-card__facts strong{font-size:12px;color:var(--hca-heading)}
#hca-assistant-root .hca-recipe-card__advanced{margin-top:10px;border:1px solid var(--hca-border);border-radius:12px;background:var(--hca-surface);overflow:hidden}
#hca-assistant-root .hca-recipe-card__advanced summary{cursor:pointer;padding:10px 12px;font-size:12px;font-weight:800;color:var(--hca-heading);background:var(--hca-surface-alt)}
#hca-assistant-root .hca-recipe-card__advanced section{padding:9px 12px;border-top:1px solid var(--hca-border)}
#hca-assistant-root .hca-recipe-card__advanced section b{font-size:11px;color:var(--hca-heading)}
#hca-assistant-root .hca-recipe-card__advanced ul{margin:6px 0 0;padding:0 16px 0 0;color:var(--hca-text);font-size:11px;line-height:1.8}
@media(max-width:480px){#hca-assistant-root .hca-context-rail{padding-inline:9px}#hca-assistant-root .hca-chat-shortcuts{padding-inline:9px}#hca-assistant-root .hca-recipe-card__facts{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 1.1.45 — final visual polish and resilient recipe empty state. */
#hca-assistant-root .hca-chat-panel {
    overflow: hidden;
    border: 1px solid rgba(217,227,236,.92);
    box-shadow: 0 30px 80px rgba(7,27,46,.24), 0 8px 24px rgba(7,27,46,.10);
}
#hca-assistant-root .hca-chat-panel__header {
    border-bottom: 1px solid rgba(255,255,255,.10);
    background:
        radial-gradient(circle at 14% -90%, rgba(255,255,255,.34), transparent 49%),
        linear-gradient(135deg, var(--hca-accent) 0%, var(--hca-accent-deep) 100%);
}
#hca-assistant-root .hca-message--bot .hca-message__bubble {
    border: 1px solid rgba(217,227,236,.82);
    background: rgba(255,255,255,.98);
}
#hca-assistant-root .hca-message--user .hca-message__bubble {
    background: linear-gradient(135deg,var(--hca-accent),var(--hca-accent-deep));
}
#hca-assistant-root .hca-chat-panel__composer form:focus-within {
    border-color: color-mix(in srgb, var(--hca-accent) 66%, white);
    background: var(--hca-surface);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--hca-accent) 12%, transparent);
}
#hca-assistant-root .hca-product-card {
    min-height: 126px;
    align-content: start;
    border-color: rgba(207,220,231,.92);
    box-shadow: 0 8px 22px rgba(7,27,46,.055);
}
#hca-assistant-root .hca-product-card__copy { min-height: 54px; }
#hca-assistant-root .hca-product-card__actions { margin-top: auto; }
#hca-assistant-root .hca-product-card__add,
#hca-assistant-root .hca-product-card__view,
#hca-assistant-root .hca-product-card__view:visited {
    min-height: 38px;
    line-height: 1.35;
}
#hca-assistant-root .hca-recipe-card {
    border-color: rgba(207,220,231,.94);
    background: linear-gradient(180deg,#fff 0%,var(--hca-surface-alt) 100%);
    box-shadow: 0 12px 30px rgba(7,27,46,.075);
}
#hca-assistant-root .hca-recipe-card--empty {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 92px;
    border-style: dashed;
    background: linear-gradient(135deg,var(--hca-surface),var(--hca-soft));
}
#hca-assistant-root .hca-recipe-card__empty-icon {
    display: grid;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid var(--hca-border);
    border-radius: 14px;
    background: var(--hca-surface);
    font-size: 21px;
    box-shadow: 0 7px 18px rgba(7,27,46,.07);
}
#hca-assistant-root .hca-recipe-card__empty-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
}
#hca-assistant-root .hca-recipe-card__empty-copy strong {
    color: var(--hca-heading);
    font-size: 13px;
    font-weight: 900;
    line-height: 1.6;
}
#hca-assistant-root .hca-recipe-card__empty-copy small {
    color: var(--hca-muted);
    font-size: 10.5px;
    font-weight: 650;
    line-height: 1.75;
}
@media (max-width:767px) {
    #hca-assistant-root .hca-chat-panel {
        max-height: calc(var(--hca-viewport-height,100dvh) - max(16px, env(safe-area-inset-top)) - max(16px, env(safe-area-inset-bottom)) - var(--hca-mobile-obstruction));
    }
    #hca-assistant-root .hca-chat-panel__header {
        padding-top: max(8px, env(safe-area-inset-top));
    }
    #hca-assistant-root .hca-product-card { min-height: 0; }
    #hca-assistant-root .hca-product-card__copy { min-height: 48px; }
    #hca-assistant-root .hca-recipe-card--empty { min-height: 82px; padding: 11px; }
}
@supports not (color: color-mix(in srgb, black, white)) {
    #hca-assistant-root .hca-chat-panel__composer form:focus-within {
        border-color: var(--hca-accent);
        box-shadow: 0 0 0 3px rgba(16,42,67,.10);
    }
}

/* 1.2.4 — exact Persian mobile shortcut alignment.
 * iOS text autosizing and Persian font ascender/descender metrics can make a
 * mathematically centred anonymous text node look visibly too low. The label
 * is now an isolated element, the row has real bottom breathing room and all
 * geometry is protected from broad theme button/nav rules. */
#hca-assistant-root,
#hca-assistant-root .hca-chat-panel,
#hca-assistant-root .hca-chat-shortcuts,
#hca-assistant-root .hca-chat-shortcuts button,
#hca-assistant-root .hca-chat-shortcuts__label {
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
}

@media (max-width: 767px) {
    #hca-assistant-root .hca-chat-shortcuts {
        position: relative !important;
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        grid-auto-rows: 40px !important;
        align-content: center !important;
        align-items: center !important;
        justify-items: stretch !important;
        gap: 7px !important;
        flex: 0 0 auto !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 60px !important;
        height: auto !important;
        margin: 0 !important;
        padding: 9px 10px 11px !important;
        overflow: visible !important;
        border-top: 0 !important;
        border-bottom: 1px solid var(--hca-border) !important;
        background: var(--hca-surface) !important;
        box-sizing: border-box !important;
        line-height: normal !important;
    }

    #hca-assistant-root .hca-chat-shortcuts button {
        -webkit-appearance: none !important;
        appearance: none !important;
        position: relative !important;
        inset: auto !important;
        display: flex !important;
        align-self: center !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;
        margin: 0 !important;
        padding: 0 4px 6px !important;
        overflow: hidden !important;
        border: 1px solid var(--hca-border) !important;
        border-radius: 13px !important;
        outline: 0 !important;
        background: var(--hca-surface-alt) !important;
        color: var(--hca-heading) !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
        font-family: var(--hca-font-stack) !important;
        font-size: 11px !important;
        font-style: normal !important;
        font-weight: 850 !important;
        line-height: 1 !important;
        letter-spacing: 0 !important;
        text-align: center !important;
        text-decoration: none !important;
        text-indent: 0 !important;
        text-transform: none !important;
        white-space: nowrap !important;
        vertical-align: middle !important;
        transform: none !important;
        transition: border-color .16s ease, background-color .16s ease !important;
    }

    #hca-assistant-root .hca-chat-shortcuts button::before,
    #hca-assistant-root .hca-chat-shortcuts button::after {
        content: none !important;
        display: none !important;
    }

    #hca-assistant-root .hca-chat-shortcuts__label {
        position: relative !important;
        top: -1px !important;
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        color: var(--hca-heading) !important;
        font-family: var(--hca-font-stack) !important;
        font-size: 11px !important;
        font-style: normal !important;
        font-weight: 850 !important;
        line-height: 1.15 !important;
        letter-spacing: 0 !important;
        text-align: center !important;
        text-decoration: none !important;
        text-overflow: clip !important;
        white-space: nowrap !important;
        transform: none !important;
    }

    #hca-assistant-root .hca-chat-shortcuts button:hover,
    #hca-assistant-root .hca-chat-shortcuts button:focus,
    #hca-assistant-root .hca-chat-shortcuts button:focus-visible,
    #hca-assistant-root .hca-chat-shortcuts button:active {
        border-color: var(--hca-accent) !important;
        background: var(--hca-soft) !important;
        color: var(--hca-heading) !important;
        transform: none !important;
    }
}

@media (max-width: 370px) {
    #hca-assistant-root .hca-chat-shortcuts {
        gap: 5px !important;
        padding-inline: 7px !important;
    }

    #hca-assistant-root .hca-chat-shortcuts button {
        padding-inline: 2px !important;
    }

    #hca-assistant-root .hca-chat-shortcuts__label {
        font-size: 10px !important;
    }
}

/* 1.3.0 — signed recommendation add-to-cart confirmation and safe states. */
#hca-assistant-root .hca-product-card__add.is-added,
#hca-assistant-root .hca-product-card__add[aria-disabled="true"].is-added {
    cursor: default;
    opacity: 1;
    border-color: color-mix(in srgb, var(--hca-success) 48%, var(--hca-border));
    background: color-mix(in srgb, var(--hca-success) 13%, white);
    color: var(--hca-success);
}
#hca-assistant-root .hca-product-card__add.is-unavailable,
#hca-assistant-root .hca-product-card__add[aria-disabled="true"].is-unavailable {
    cursor: not-allowed;
    opacity: .78;
}
#hca-assistant-root .hca-cart-confirmation__link,
#hca-assistant-root .hca-cart-confirmation__link:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    margin-top: 8px;
    padding: 7px 12px;
    border: 1px solid var(--hca-accent);
    border-radius: 10px;
    color: var(--hca-accent);
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
}
#hca-assistant-root .hca-cart-confirmation__link:hover,
#hca-assistant-root .hca-cart-confirmation__link:focus-visible {
    background: var(--hca-soft);
}
