/* CTA strip, footer, WhatsApp float, chatbot, lightbox */
.cta-strip{background:linear-gradient(120deg,#141414,#1f1f1f)}
.cta-strip__inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:3.5rem 0;flex-wrap:wrap}
.cta-strip h2{color:#fff;margin:0;max-width:560px;font-size:1.9rem}

.site-footer{background:var(--dark);color:var(--on-dark-muted);padding-top:3.6rem}
.site-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1.1fr 1.3fr;gap:2rem 2.5rem;padding-bottom:1.9rem}
.footer-brand{display:flex;flex-direction:column;line-height:1;font-family:var(--font-head);margin-bottom:1.1rem}
.footer-brand strong{font-size:1.5rem;color:#fff;font-weight:800;letter-spacing:-.01em;text-transform:uppercase}
.footer-brand small{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--primary);font-family:var(--font-mono);margin-top:.3rem}
.footer-about{font-size:.9rem;margin:0;max-width:300px;line-height:1.6}
.footer-areas{font-size:.82rem;margin:.7rem 0 0;max-width:300px;line-height:1.6;opacity:.85}
.footer-areas a{color:var(--primary);text-decoration:none}
.footer-areas a:hover{text-decoration:underline}
.footer-usa-btn{display:inline-block;background:var(--primary);color:#161616;font-family:var(--font-head);font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;padding:.55rem 1.05rem;border-radius:4px;margin:.85rem 0 1rem;transition:background .2s ease}
.footer-col a.footer-usa-btn{color:#000}
.footer-col a.footer-usa-btn:hover{background:#e0a600;color:#000}
.footer-col a,.footer-social a,.footer-contact a,.footer-bottom a,.footer-usa-btn{transition:color .2s ease,background .2s ease,border-color .2s ease}
.footer-col h4{color:#fff;font-size:.95rem;margin-bottom:.95rem;padding-bottom:.55rem;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.03em;border-bottom:2px solid var(--primary)}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col ul li{margin-bottom:.48rem}
.footer-col a{color:var(--on-dark-muted);font-size:.9rem}
.footer-col a:hover{color:var(--primary)}
.footer-contact{display:flex;flex-direction:column;gap:.78rem}
.footer-contact li{display:flex;gap:.75rem;align-items:flex-start;font-size:.88rem;line-height:1.5}
.footer-contact .fic{flex:0 0 34px;height:34px;border-radius:50%;border:1px solid var(--border-dark);display:grid;place-items:center;color:var(--primary);margin-top:.05rem}
.footer-contact strong{color:#fff;font-weight:600}
.footer-contact a{color:var(--on-dark-muted)}
.footer-contact a:hover{color:var(--primary)}
.footer-social{display:flex;gap:.6rem;margin-top:0}
.footer-social a{width:38px;height:38px;border:1px solid var(--border-dark);border-radius:50%;display:grid;place-items:center;color:var(--on-dark-muted);transition:var(--t)}
.footer-social a:hover{background:var(--primary);color:#111;border-color:var(--primary)}
.footer-certified{border-top:1px solid var(--border-dark);padding:1.4rem 0;text-align:center}
.footer-certified__title{color:#fff;font-family:var(--font-head);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.9rem;margin:0 0 .75rem}
.footer-certified__list{display:flex;flex-wrap:wrap;justify-content:center;gap:.85rem 2rem;margin:0;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#bdbdbd}
.footer-certified__list span{position:relative}
.footer-certified__list span:not(:last-child)::after{content:'•';position:absolute;right:-1.15rem;color:var(--primary)}
.footer-bottom{border-top:1px solid var(--border-dark);padding:1.15rem 0}
.footer-bottom__inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;font-size:.8rem}
.footer-bottom p{margin:0}
.footer-legal{display:flex;gap:1.5rem}
.footer-bottom a{color:var(--on-dark-muted)}
.footer-bottom a:hover{color:var(--primary)}

.whatsapp-float{position:fixed;bottom:66px;right:24px;width:56px;height:56px;background:#25d366;color:#fff;border-radius:50%;display:grid;place-items:center;box-shadow:var(--sh-lg);z-index:120;transition:var(--t)}
.whatsapp-float:hover{transform:scale(1.08)}

.chatbot{position:fixed;bottom:138px;right:26px;z-index:121}
.chatbot__toggle{width:56px;height:56px;border-radius:50%;background:var(--primary);border:0;cursor:pointer;font-size:1.5rem;box-shadow:var(--sh-lg);transition:var(--t)}
.chatbot__toggle:hover{transform:scale(1.08)}
.chatbot__panel{position:absolute;bottom:72px;right:0;width:340px;max-width:calc(100vw - 48px);background:#fff;border-radius:var(--r-md);box-shadow:var(--sh-lg);overflow:hidden;border:1px solid var(--border)}
.chatbot__header{background:var(--dark);color:#fff;padding:.9rem 1.1rem;display:flex;justify-content:space-between;align-items:center}
.chatbot__header button{background:none;border:0;color:#fff;font-size:1.4rem;cursor:pointer;line-height:1}
.chatbot__body{height:300px;overflow-y:auto;padding:1rem;background:var(--surface);display:flex;flex-direction:column;gap:.6rem}
.chat-msg{max-width:85%;padding:.65rem .9rem;border-radius:var(--r-md);font-size:.88rem;line-height:1.45}
.chat-msg--bot{background:#fff;border:1px solid var(--border);align-self:flex-start;border-bottom-left-radius:2px}
.chat-msg--user{background:var(--primary);color:#111;align-self:flex-end;border-bottom-right-radius:2px}
.chatbot__form{display:flex;border-top:1px solid var(--border)}
.chatbot__form input{flex:1;border:0;padding:.9rem 1rem;font-family:var(--font-body);font-size:.9rem}
.chatbot__form input:focus{outline:none}
.chatbot__form button{border:0;background:var(--primary);color:#111;width:48px;cursor:pointer;font-size:1.1rem}
.chatbot__toggle{width:50px;height:50px}
.chatbot__panel{bottom:64px}

/* Made-in-USA metallic seal */
.usa-seal{display:block}
.intro-media .usa-seal--overlay{position:absolute;bottom:-26px;left:-26px;width:128px;height:auto;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.25));z-index:3}
.usa-seal--cta{position:absolute;top:1.75rem;left:2rem;width:108px;height:auto;z-index:3;filter:drop-shadow(0 6px 14px rgba(0,0,0,.2))}
/* Wrapper handles the slide-in-from-left entrance; inner img handles the continuous spin (separate transforms, no conflict) */
.usa-seal-fixed{position:fixed;left:20px;bottom:126px;width:72px;height:auto;z-index:120;animation:usa-seal-in .9s cubic-bezier(.22,.61,.36,1) both}
.usa-seal-fixed__img{display:block;width:100%;height:auto;filter:drop-shadow(0 6px 14px rgba(0,0,0,.3));transform-origin:50% 50%;animation:mp-seal-spin 9s linear infinite;will-change:transform}
@keyframes mp-seal-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes usa-seal-in{from{transform:translateX(-160%);opacity:0}to{transform:translateX(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.usa-seal-fixed{animation:none}.usa-seal-fixed__img{animation:none}}

/* Fixed bottom trusted-supplier banner (all pages) */
body{padding-bottom:48px}
.trusted-bar{position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--primary);border-top:2px solid #111;
  min-height:48px;display:flex;align-items:center;justify-content:center;gap:.65rem;padding:.35rem 1rem;text-align:center}
.trusted-bar__shield{filter:grayscale(1) brightness(.2);font-size:1.05rem}
.trusted-bar__text{font-family:var(--font-head);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#111;font-size:.95rem}

@media(max-width:560px){
  .usa-seal-fixed{width:65px;bottom:73px;left:12px}
  .trusted-bar__text{font-size:.72rem;letter-spacing:.03em}
  .intro-media .usa-seal--overlay{width:92px;bottom:-18px;left:-12px}
}

/* Lightbox (gallery.js) */
.lightbox{position:fixed;inset:0;background:rgba(10,10,10,.92);display:none;align-items:center;justify-content:center;z-index:300;padding:2rem}
.lightbox.open{display:flex}
.lightbox img{max-width:90vw;max-height:82vh;border-radius:var(--r-md);box-shadow:var(--sh-lg)}
.lightbox__cap{position:absolute;bottom:1.5rem;left:0;right:0;text-align:center;color:#fff;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.05em}
.lightbox__close,.lightbox__nav{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;cursor:pointer;width:48px;height:48px;border-radius:50%;font-size:1.5rem;transition:var(--t)}
.lightbox__close:hover,.lightbox__nav:hover{background:var(--primary);color:#111}
.lightbox__close{top:1.5rem;right:1.5rem}
.lightbox__nav{top:50%;transform:translateY(-50%)}
.lightbox__nav--prev{left:1.5rem}
.lightbox__nav--next{right:1.5rem}
