/* Trợ lý chọn gói Gia Đình Việt — dùng chung cho site.css và event.css, mọi lớp bắt đầu bằng .gb */
.gb{--gb:#2F7A3A;--gb-d:#1F5A28;--gb-l:#EAF4EA;--gb-red:#D6312B;--gb-ink:#1B2A1E;--gb-mut:#5E6B60;--gb-line:#DDE8DD;font-family:"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",sans-serif}
.gb *{box-sizing:border-box}
.gb [hidden]{display:none!important}
.gb-fab{position:fixed;right:18px;bottom:var(--gb-b,18px);z-index:58;display:flex;align-items:center;gap:8px;border:0;border-radius:999px;background:var(--gb);color:#fff;font:inherit;font-weight:800;font-size:15px;padding:12px 20px 12px 14px;box-shadow:0 12px 30px rgba(20,60,25,.3);cursor:pointer;transition:transform .15s}
.gb-fab:hover{transform:translateY(-2px)}
.gb-fab-i{font-size:22px;line-height:1}
.gb-dot{position:absolute;top:5px;left:34px;width:11px;height:11px;border-radius:50%;background:var(--gb-red);border:2px solid #fff}
.gb-teaser{position:fixed;right:18px;bottom:calc(var(--gb-b,18px) + 64px);z-index:58;max-width:270px;background:#fff;color:var(--gb-ink);border:1px solid var(--gb-line);border-radius:16px 16px 4px 16px;padding:12px 34px 12px 14px;box-shadow:0 14px 34px rgba(20,60,25,.18);font-size:14px;line-height:1.45;cursor:pointer;animation:gbIn .3s ease}
.gb-teaser-x{position:absolute;top:4px;right:6px;width:26px;height:26px;border:0;background:none;font-size:20px;color:var(--gb-mut);cursor:pointer}
.gb-panel{position:fixed;right:18px;bottom:var(--gb-b,18px);z-index:70;width:392px;height:min(660px,calc(100vh - var(--gb-b,18px) - 84px));display:flex;flex-direction:column;background:#F6FAF5;border:1px solid var(--gb-line);border-radius:22px;box-shadow:0 26px 64px rgba(15,40,20,.28);overflow:hidden;animation:gbIn .22s ease}
@keyframes gbIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.gb-head{display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(135deg,var(--gb),var(--gb-d));color:#fff;flex-shrink:0}
.gb-head img{background:#fff;border-radius:50%;padding:3px;flex-shrink:0}
.gb-head b{display:block;font-size:16px;line-height:1.2}
.gb-head small{display:block;opacity:.88;font-size:12.5px}
.gb-x{margin-left:auto;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;font-size:26px;line-height:1;cursor:pointer;flex-shrink:0}
.gb-log{flex:1;min-height:0;overflow-y:auto;padding:14px 12px;display:flex;flex-direction:column;gap:9px;overscroll-behavior:contain}
.gb-m{max-width:90%;padding:10px 13px;border-radius:16px;font-size:14.5px;line-height:1.5;overflow-wrap:anywhere;color:var(--gb-ink)}
.gb-m.b{align-self:flex-start;background:#fff;border:1px solid #E3EBE3;border-bottom-left-radius:5px}
.gb-m.u{align-self:flex-end;background:var(--gb);color:#fff;border-bottom-right-radius:5px;font-weight:600}
.gb-m.gt{background:var(--gb-l);border-color:#cfe3cf;color:var(--gb-d);font-size:13.5px}
.gb-m.cc{background:#FFF1F0;border-color:#F1BDB9;color:#7E1A15}
.gb-m.ok{background:#EFF9EF;border-color:#BFE0C2}
.gb-m.kq,.gb-m.gb-fm{max-width:100%;width:100%}
.gb-m a{color:var(--gb-d);font-weight:700}
.gb-m small.n{display:block;color:var(--gb-mut);font-size:12.5px;margin-top:5px}
.gb-list{margin:6px 0 6px 18px;padding:0}
.gb-list li{margin:3px 0}
.gb-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.gb-acts a,.gb-acts button{font:inherit;font-size:13.5px;font-weight:700;background:var(--gb-l);color:var(--gb-d);border:1px solid #cfe3cf;border-radius:999px;padding:7px 12px;text-decoration:none;cursor:pointer}
.gb-m.cc .gb-acts a{background:var(--gb-red);border-color:var(--gb-red);color:#fff}
.gb-typing{display:flex;gap:5px;padding:13px 14px}
.gb-typing i{width:7px;height:7px;border-radius:50%;background:#A9BBAB;animation:gbDot 1s infinite}
.gb-typing i:nth-child(2){animation-delay:.15s}.gb-typing i:nth-child(3){animation-delay:.3s}
@keyframes gbDot{0%,100%{opacity:.35;transform:none}50%{opacity:1;transform:translateY(-3px)}}
.gb-kq-t{font-size:15.5px;margin:0 0 8px;color:var(--gb-d)}
.gb-g{margin-top:10px}
.gb-g h4{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--gb);margin:0 0 5px}
.gb-g ul{list-style:none;margin:0;padding:0}
.gb-g li{position:relative;padding:6px 0 6px 24px;border-bottom:1px dashed #E3EBE3}
.gb-g li:last-child{border-bottom:0}
.gb-g li::before{content:"✓";position:absolute;left:0;top:7px;width:17px;height:17px;border-radius:50%;background:var(--gb);color:#fff;font-size:10.5px;font-weight:800;display:flex;align-items:center;justify-content:center}
.gb-g li b{display:block;font-size:14px}
.gb-g li span{display:block;font-size:12.8px;color:var(--gb-mut);line-height:1.4}
.gb-p{display:flex;gap:10px;align-items:center;padding:8px;margin-top:6px;border:1px solid var(--gb-line);border-radius:14px;text-decoration:none;background:#FBFDFB}
.gb-p:hover{border-color:var(--gb)}
.gb-p img{width:58px;height:58px;border-radius:10px;object-fit:cover;flex-shrink:0}
.gb-p b{display:block;font-size:13.5px;color:var(--gb-d);line-height:1.3}
.gb-p em{display:block;font-style:normal;font-weight:800;color:var(--gb-red);font-size:14px}
.gb-p small{display:block;font-size:12px;color:var(--gb-mut);font-weight:500;line-height:1.35}
.gb-the{margin-top:12px;background:#FFF8E6;border:1px solid #F0DCA0;border-radius:14px;padding:10px 12px;font-size:13.5px}
.gb-the small{display:block;color:var(--gb-mut);font-size:12px;margin-top:3px}
.gb-tk{font-size:12.5px;color:var(--gb-mut);margin:12px 0 4px}
.gb-gt{font-size:12.5px;color:var(--gb-d);background:var(--gb-l);border-radius:10px;padding:8px 10px;margin:6px 0 0}
.gb-quick{display:flex;flex-wrap:wrap;gap:7px;padding:10px 12px;border-top:1px solid #E3EBE3;background:#fff;max-height:44%;overflow-y:auto;flex-shrink:0}
.gb-quick:empty{display:none}
.gb-quick button,.gb-quick .gb-q-a{font:inherit;font-size:14px;font-weight:600;background:#fff;border:1.5px solid var(--gb);color:var(--gb-d);border-radius:999px;padding:8px 13px;cursor:pointer;text-align:left;text-decoration:none;line-height:1.3}
.gb-quick button:hover{background:var(--gb-l)}
.gb-quick button.on{background:var(--gb);color:#fff}
.gb-quick button.on::before{content:"✓ "}
.gb-quick .gb-done{background:var(--gb-red);border-color:var(--gb-red);color:#fff;font-weight:800}
.gb-quick .gb-done:hover{background:#B9261F}
.gb-quick .gb-done:disabled{opacity:.4;cursor:default}
.gb-quick .gb-back{border-style:dashed;border-color:#B5C4B7;color:var(--gb-mut);font-weight:500}
.gb-quick .gb-q-a{border-color:#0068FF;color:#0068FF}
.gb-in{display:flex;gap:8px;padding:9px 12px 6px;background:#fff;border-top:1px solid #E3EBE3;flex-shrink:0}
.gb-in input{flex:1;min-width:0;font:inherit;font-size:16px;border:1.5px solid var(--gb-line);border-radius:999px;padding:9px 14px;background:#F8FBF8;color:var(--gb-ink)}
.gb-in input:focus{outline:0;border-color:var(--gb);background:#fff}
.gb-in button{width:42px;height:42px;border-radius:50%;border:0;background:var(--gb);color:#fff;font-size:17px;cursor:pointer;flex-shrink:0}
.gb-foot{margin:0;padding:0 12px calc(8px + env(safe-area-inset-bottom));background:#fff;font-size:11.5px;color:var(--gb-mut);text-align:center;flex-shrink:0}
.gb-form{display:grid;gap:9px}
.gb-form label{display:grid;gap:4px;font-size:13.5px;font-weight:700;color:var(--gb-d)}
.gb-form label small{font-weight:500;color:var(--gb-mut)}
.gb-form input[type=text],.gb-form input:not([type]),.gb-form input[type=tel],.gb-form input[type=email]{font:inherit;font-size:16px;font-weight:500;border:1.5px solid var(--gb-line);border-radius:12px;padding:10px 12px;width:100%;color:var(--gb-ink)}
.gb-form input:focus{outline:0;border-color:var(--gb)}
.gb-form input.bad{border-color:var(--gb-red);background:#FFF6F5}
.gb-form .gb-ok{display:flex;gap:8px;align-items:flex-start;font-weight:500;font-size:13px;color:var(--gb-ink)}
.gb-form .gb-ok input{width:18px;height:18px;margin-top:1px;flex-shrink:0;accent-color:var(--gb)}
.gb-err{margin:0;color:var(--gb-red);font-size:13px;font-weight:600;min-height:0}
.gb-err:empty{display:none}
.gb-send{font:inherit;font-weight:800;font-size:15.5px;border:0;border-radius:999px;padding:12px 18px;background:var(--gb-red);color:#fff;cursor:pointer}
.gb-send:disabled{opacity:.7;cursor:wait}
/* Bản nhúng trong trang /chon-goi */
.gb-inline .gb-panel{position:relative;right:auto;bottom:auto;z-index:auto;width:100%;height:min(720px,82vh);min-height:520px;animation:none;box-shadow:0 18px 50px rgba(20,60,25,.14)}
/* Điện thoại: mở toàn màn hình */
@media(max-width:640px){
  .gb-fab{padding:0;width:58px;height:58px;justify-content:center;right:14px}
  .gb-fab-t{display:none}
  .gb-dot{left:auto;right:4px;top:4px}
  .gb-teaser{right:14px;bottom:calc(var(--gb-b,18px) + 70px);max-width:calc(100vw - 28px)}
  .gb:not(.gb-inline) .gb-panel{top:0;left:0;right:0;bottom:0;width:auto;height:100%;border-radius:0;border:0}
  .gb-inline .gb-panel{height:78vh;min-height:480px;border-radius:18px}
}
html.gb-lock,html.gb-lock body{overflow:hidden}
@media print{.gb{display:none!important}}
@media(prefers-reduced-motion:reduce){.gb-panel,.gb-teaser{animation:none}.gb-typing i{animation:none}}
/* Lối vào trợ lý đặt trong trang (trang chủ, gian hàng) */
.gb-cta{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;margin:14px auto 22px;max-width:780px;padding:13px 18px;border-radius:16px;background:linear-gradient(135deg,#FFF8E6,#FFFDF6);border:1.5px dashed #E8A317;color:#1B2A1E;text-decoration:none;font-size:15px;line-height:1.45;font-weight:500}
.gb-cta span{font-size:24px;line-height:1}
.gb-cta b{color:#1F5A28}
.gb-cta:hover{border-style:solid;box-shadow:0 8px 22px rgba(232,163,23,.18)}
