@charset "UTF-8";
.wa-float{position:fixed;bottom:24px;right:24px;z-index:9998;display:flex;flex-direction:column;align-items:flex-end;gap:10px;}
.wa-bubble{background:#f0f6ee;color:#fff;border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(21,135,25,0.4);cursor:pointer;text-decoration:none;transition:transform .2s,box-shadow .2s;border:none;padding:0;}
/* Hidden entirely while the chat panel is open — on mobile the panel's
   bottom edge sits only a few pixels from this button, sharing the same
   right-edge position, so a tap near the bottom of the open panel (very
   natural right after tapping a chip) could otherwise land on this button
   and close the whole chat. Nothing to accidentally hit once it's gone. */
.izy-toggle-hidden{visibility:hidden !important;pointer-events:none !important;}
.wa-bubble:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(21,135,25,0.5);}
.wa-bubble img{width:100%;height:100%;border-radius:50%;display:block;transition:transform .55s cubic-bezier(.34,1.4,.64,1);}
.wa-bubble.spin img{transform:rotate(-360deg);}
.wa-tooltip{background:#1a1a1a;color:#fff;font-family:"Inter",sans-serif;font-size:16px;font-weight:500;padding:8px 14px;border-radius:20px;white-space:nowrap;box-shadow:0 4px 16px rgba(0,0,0,0.25);opacity:0;transform:translateX(10px);transition:opacity .25s,transform .25s;pointer-events:none;}
.wa-float:hover .wa-tooltip,.wa-float.izy-show-tip .wa-tooltip{opacity:1;transform:translateX(0);}
.wa-bubble.izy-nudge img{transform:rotate(-28deg);}
.wa-pulse{position:absolute;width:60px;height:60px;border-radius:50%;background:rgba(21,135,25,0.25);transform:translateZ(0);animation:izyPulse 2.4s ease-out infinite;}
@keyframes izyPulse{0%{transform:scale(1);opacity:.6;}100%{transform:scale(1.5);opacity:0;}}

/* ── IZY AI Assistant chat panel ── */
.izy-chat-panel{position:fixed;bottom:96px;right:24px;z-index:9999;width:360px;max-width:calc(100vw - 32px);height:520px;max-height:calc(100vh - 140px);background:#0b2a0c;border:1px solid rgba(21,135,25,0.35);border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,0.45);display:none;flex-direction:column;overflow:hidden;font-family:'Inter',sans-serif;}
.izy-chat-panel.open{display:flex;animation:izySlideUp .3s cubic-bezier(.34,1.4,.64,1);}
@keyframes izySlideUp{from{opacity:0;transform:translateY(16px) scale(.98);}to{opacity:1;transform:translateY(0) scale(1);}}
.izy-chat-head{display:flex;align-items:center;gap:10px;padding:14px 16px;background:rgba(21,135,25,0.12);border-bottom:1px solid rgba(21,135,25,0.25);flex-shrink:0;}
.izy-chat-head img{width:34px;height:34px;border-radius:50%;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,0.35),0 0 0 1px rgba(21,135,25,0.4);}
.izy-chat-head-txt{flex:1;min-width:0;}
.izy-chat-head-txt div:first-child{color:#fff;font-weight:700;font-size:14px;}
.izy-chat-head-txt div:last-child{color:#7ec97e;font-size:11px;display:flex;align-items:center;gap:5px;}
.izy-chat-head-txt div:last-child::before{content:'';width:7px;height:7px;border-radius:50%;background:#2ecc55;display:inline-block;}
.izy-chat-head-txt div:last-child.izy-status-connecting{color:#e0a91a;}
.izy-chat-head-txt div:last-child.izy-status-connecting::before{background:#e0a91a;animation:izyStatusPulse 1s ease-in-out infinite;}
@keyframes izyStatusPulse{0%,100%{opacity:1;}50%{opacity:.3;}}
.izy-chat-close{background:none;border:none;color:rgba(255,255,255,0.6);font-size:22px;cursor:pointer;line-height:1;padding:4px 6px;}
.izy-chat-close:hover{color:#fff;}
.izy-chat-back{background:none;border:none;color:rgba(255,255,255,0.6);font-size:20px;cursor:pointer;line-height:1;padding:4px 6px;display:none;}
.izy-chat-back:hover{color:#fff;}
.izy-chat-back.show{display:block;}
html.light-mode .izy-chat-close{color:rgba(13,32,16,0.55);}
html.light-mode .izy-chat-close:hover{color:#0d2010;}
html.light-mode .izy-chat-back{color:rgba(13,32,16,0.55);}
html.light-mode .izy-chat-back:hover{color:#0d2010;}
.izy-chat-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;-webkit-overflow-scrolling:touch;}
.izy-msg{max-width:82%;padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.5;}
.izy-msg-bot{align-self:flex-start;background:rgba(255,255,255,0.08);color:#f0f6ee;border-bottom-left-radius:4px;}
.izy-msg-user{align-self:flex-end;background:#c8960a;color:#1a1200;font-weight:600;border-bottom-right-radius:4px;}
.izy-chips{display:flex;flex-wrap:wrap;gap:8px;align-self:flex-start;max-width:100%;}
.izy-chip{background:rgba(255,255,255,0.06);border:1px solid rgba(21,135,25,0.45);color:#e8f5e9;font-size:13px;font-weight:600;padding:8px 13px;border-radius:20px;cursor:pointer;transition:background .15s,border-color .15s;}
.izy-chip:hover{background:rgba(21,135,25,0.25);border-color:#c8960a;}
.izy-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 14px;background:rgba(255,255,255,0.08);border-radius:14px;border-bottom-left-radius:4px;}
.izy-typing span{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.5);animation:izyTyping 1.2s infinite ease-in-out;}
.izy-typing span:nth-child(2){animation-delay:.15s;}
.izy-typing span:nth-child(3){animation-delay:.3s;}
@keyframes izyTyping{0%,60%,100%{transform:translateY(0);opacity:.4;}30%{transform:translateY(-4px);opacity:1;}}
.izy-chat-input-row{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(21,135,25,0.25);flex-shrink:0;}
.izy-chat-input{flex:1;background:rgba(255,255,255,0.06);border:1px solid rgba(21,135,25,0.3);border-radius:20px;padding:10px 15px;color:#fff;font-size:14px;font-family:'Inter',sans-serif;outline:none;min-width:0;}
.izy-chat-input::placeholder{color:rgba(255,255,255,0.4);}
.izy-chat-input:focus{border-color:#c8960a;}
.izy-chat-send{background:#c8960a;border:none;color:#1a1200;width:38px;height:38px;border-radius:50%;flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;}
.izy-chat-send:hover{background:#e0a91a;}
html.light-mode .izy-chat-send{color:#ffffff;}
.izy-estimate-card{align-self:stretch;background:rgba(200,146,10,0.1);border:1px solid rgba(200,146,10,0.4);border-radius:14px;padding:16px;text-align:center;}
.izy-estimate-card .amt{font-family:'Playfair Display',serif;font-size:32px;font-weight:700;color:#e0a91a;line-height:1;margin-bottom:4px;}
.izy-estimate-card .lbl{font-size:11px;color:#9ab89a;text-transform:uppercase;letter-spacing:.05em;}
html.light-mode .izy-chat-panel{background:#fff;border-color:rgba(21,135,25,0.2);}
html.light-mode .izy-chat-head{background:#eef4ec;border-bottom-color:rgba(21,135,25,0.15);}
html.light-mode .izy-chat-head img{box-shadow:0 2px 8px rgba(13,32,16,0.25),0 0 0 1.5px rgba(21,135,25,0.55);}
html.light-mode .izy-chat-head-txt div:first-child{color:#0d2010;}
html.light-mode .izy-msg-bot{background:#f0f6ee;color:#1a3a1a;}
html.light-mode .izy-chip{background:#f0f6ee;border-color:rgba(21,135,25,0.3);color:#0d2010;}
html.light-mode .izy-chip:hover{background:#e2f0e0;}
html.light-mode .izy-chat-input{background:#f0f6ee;border-color:rgba(21,135,25,0.25);color:#0d2010;}
html.light-mode .izy-chat-input::placeholder{color:#5a7a5a;}
html.light-mode .izy-typing{background:#f0f6ee;}
html.light-mode .izy-typing span{background:rgba(21,135,25,0.4);}
@media(max-width:420px){.izy-chat-panel{right:16px;bottom:88px;width:calc(100vw - 32px);}}
html.light-mode .btn-gold{color:#ffffff !important;}
/* Green CTA buttons (e.g. "Track a Shipment", "Get a Free Quote") follow the
   same convention as gold buttons sitewide: black text in dark mode, white
   text in light mode. Targeted by inline style since these buttons don't
   share a single class across the site. */
[style*="background:#158719;color:#fff"]{color:#000000 !important;}
html.light-mode [style*="background:#158719;color:#fff"]{color:#ffffff !important;}
