/* XpertBoost final professional footer — V52 */
footer.xb-final-footer {
  --xb-foot-bg: #121014;
  --xb-foot-panel: #1a151b;
  --xb-foot-text: #faf7f8;
  --xb-foot-muted: #bcb3bc;
  --xb-foot-line: rgba(255,255,255,.13);
  display:block;
  position:relative;
  isolation:isolate;
  width:100%;
  max-width:none;
  margin:72px 0 0;
  padding:34px 24px 22px;
  color:var(--xb-foot-text);
  background:radial-gradient(ellipse at 88% 0%, rgba(237,36,56,.19), transparent 34%), linear-gradient(140deg,#100e12 0%,#171217 56%,#250d15 100%);
  border-top:3px solid #ed2438;
  box-shadow:0 -18px 55px rgba(33,7,14,.06);
  line-height:1.55;
  font-family:inherit;
}
footer.xb-final-footer *, footer.xb-final-footer *::before, footer.xb-final-footer *::after { box-sizing:border-box; }
footer.xb-final-footer a { color:inherit; text-decoration:none; }
footer.xb-final-footer a:focus-visible { outline:2px solid #ff6475; outline-offset:4px; border-radius:6px; }
.xb-footer-container { width:min(1220px,100%); margin:0 auto; }
.xb-footer-cta { display:grid; grid-template-columns:54px minmax(0,1fr) auto; align-items:center; gap:20px; margin:0 0 42px; padding:25px 28px; border:1px solid rgba(237,36,56,.19); border-radius:20px; color:#171217; background:linear-gradient(120deg,#fff 0%,#fff7f8 62%,#ffe7eb 100%); box-shadow:0 15px 34px rgba(0,0,0,.15); }
.xb-footer-cta-icon { display:grid; place-items:center; width:52px; height:52px; border-radius:16px; background:linear-gradient(145deg,#ff4257,#d90b28); color:#fff; font-size:28px; box-shadow:0 9px 20px rgba(227,21,49,.2); }
.xb-footer-eyebrow { display:block; margin-bottom:7px; color:#ed2438; font-size:9px; font-weight:900; letter-spacing:.19em; }
.xb-footer-cta h2 { margin:0; color:#171217; font-family:Manrope,'DM Sans',sans-serif; font-size:clamp(20px,2.15vw,28px); line-height:1.18; letter-spacing:-.04em; }
.xb-footer-cta p { max-width:620px; margin:8px 0 0; color:#716770; font-size:12px; line-height:1.65; }
.xb-footer-cta-actions { display:flex; align-items:center; gap:9px; flex-wrap:wrap; justify-content:flex-end; }
.xb-footer-btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:42px; padding:11px 15px; border-radius:11px; font-size:11px; font-weight:800; white-space:nowrap; transition:transform .18s ease, background .18s ease, border-color .18s ease; }
.xb-footer-btn:hover { transform:translateY(-2px); }
.xb-footer-btn-primary { color:#fff !important; background:linear-gradient(115deg,#fb3048,#d90e2c); box-shadow:0 7px 18px rgba(232,25,51,.2); }
.xb-footer-btn-primary:hover { background:#c9112a; }
.xb-footer-btn-light { color:#211a20 !important; background:#fff; border:1px solid #e9dadd; }
.xb-footer-btn-light:hover { border-color:#f18c98; }
.xb-footer-main { display:grid; grid-template-columns:minmax(230px,1.48fr) repeat(3,minmax(145px,1fr)); gap:38px; padding:0 0 32px; }
.xb-footer-brand-col { min-width:0; }
.xb-footer-brand { display:inline-flex; align-items:center; gap:11px; min-width:0; }
.xb-footer-brand-mark { display:grid; place-items:center; flex:0 0 42px; width:42px; height:42px; border-radius:13px; color:#fff; background:linear-gradient(140deg,#ff4057,#df0829); box-shadow:0 9px 19px rgba(229,19,49,.24); font-family:Manrope,'DM Sans',sans-serif; font-size:27px; font-weight:900; line-height:1; }
.xb-footer-brand-type { display:block; font-family:Manrope,'DM Sans',sans-serif; font-size:20px; font-weight:850; line-height:1.05; letter-spacing:-.045em; color:#fff; }
.xb-footer-brand-type > span { color:#ff465d; }
.xb-footer-brand-type small { display:block; margin-top:6px; color:#a89ea8; font-family:'DM Sans',sans-serif; font-size:8px; font-weight:800; letter-spacing:.2em; }
.xb-footer-description { max-width:320px; margin:17px 0 15px; color:var(--xb-foot-muted); font-size:11px; line-height:1.8; }
.xb-footer-trust-pills { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 17px; }
.xb-footer-trust-pills span { display:inline-flex; align-items:center; gap:5px; padding:5px 8px; border:1px solid var(--xb-foot-line); border-radius:20px; color:#ded6dd; font-size:9px; font-weight:700; background:rgba(255,255,255,.035); }
.xb-footer-trust-pills i { color:#ff465d; font-size:11px; font-style:normal; }
.xb-footer-business-note { display:flex; align-items:center; gap:10px; padding:12px; border:1px solid var(--xb-foot-line); border-radius:12px; background:rgba(255,255,255,.035); }
.xb-footer-business-icon { display:grid; flex:0 0 32px; width:32px; height:32px; place-items:center; border-radius:9px; color:#ff6375; background:rgba(237,36,56,.14); font-size:19px; }
.xb-footer-business-note strong { display:block; color:#fff; font-size:10px; }
.xb-footer-business-note small { display:block; margin-top:3px; color:#b8afb7; font-size:9px; line-height:1.45; }
.xb-footer-column { display:flex; min-width:0; flex-direction:column; align-items:flex-start; gap:11px; }
.xb-footer-column h3 { margin:3px 0 8px; color:#fff; font-family:Manrope,'DM Sans',sans-serif; font-size:13px; font-weight:800; line-height:1.2; letter-spacing:-.02em; }
.xb-footer-column > a:not(.xb-footer-contact-link) { display:flex; align-items:center; gap:8px; max-width:100%; color:#c5bbc4; font-size:11px; line-height:1.45; transition:color .15s ease, transform .15s ease; }
.xb-footer-column > a:not(.xb-footer-contact-link):hover { color:#fff; transform:translateX(2px); }
.xb-footer-column > a span { color:#ff586c; }
.xb-footer-contact-col { gap:10px; }
.xb-footer-contact-link { display:flex; width:100%; min-width:0; align-items:center; gap:9px; color:#f3edf2 !important; font-size:10px; overflow-wrap:anywhere; }
.xb-footer-link-icon { display:grid; flex:0 0 29px; width:29px; height:29px; place-items:center; border:1px solid var(--xb-foot-line); border-radius:9px; color:#ff6275; background:rgba(255,255,255,.04); font-size:14px; }
.xb-footer-link-icon.xb-footer-wa { color:#3cda93; }
.xb-footer-contact-link > span:last-child { min-width:0; }
.xb-footer-contact-link small { display:block; margin-bottom:2px; color:#a99faa; font-size:9px; }
.xb-footer-contact-link:hover > span:last-child { color:#ff8c99; }
.xb-footer-payment-note { display:flex; align-items:center; gap:12px; padding:14px 16px; margin:0 0 20px; border:1px solid var(--xb-foot-line); border-radius:13px; background:rgba(255,255,255,.035); }
.xb-footer-payment-icon { display:grid; flex:0 0 34px; width:34px; height:34px; place-items:center; border-radius:10px; color:#ff6075; background:rgba(237,36,56,.13); font-size:22px; }
.xb-footer-payment-note strong { display:block; color:#fff; font-size:10px; }
.xb-footer-payment-note small { display:block; margin-top:3px; color:#b7adb7; font-size:10px; line-height:1.55; }
.xb-footer-bottom { display:grid; grid-template-columns:1.1fr auto 1fr; align-items:center; gap:16px; padding-top:18px; border-top:1px solid var(--xb-foot-line); color:#a99faa; font-size:9px; }
.xb-footer-copyright { line-height:1.5; }
.xb-footer-legal-links { display:flex; flex-wrap:wrap; justify-content:center; gap:15px; }
.xb-footer-legal-links a { color:#c7bec7; white-space:nowrap; }
.xb-footer-legal-links a:hover { color:#fff; }
.xb-footer-bottom-note { text-align:right; line-height:1.5; }

/* Floating widgets should not cover footer links. The footer observer toggles this class. */
body.xb-footer-visible .whatsapp-float,
body.xb-footer-visible .xb-ai-launcher,
body.xb-footer-visible .purchase-toast-root,
body.xb-footer-visible .mobile-action-bar { opacity:0 !important; visibility:hidden !important; pointer-events:none !important; }
body.xb-footer-visible .mobile-action-bar { transform:translateY(calc(100% + 18px)) !important; }

@media (max-width: 980px) {
  footer.xb-final-footer { padding-left:20px; padding-right:20px; }
  .xb-footer-main { grid-template-columns:minmax(220px,1.35fr) repeat(2,minmax(150px,1fr)); gap:30px 26px; }
  .xb-footer-brand-col { grid-row:span 2; }
  .xb-footer-contact-col { grid-column:2 / 4; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; column-gap:18px; }
  .xb-footer-contact-col h3 { grid-column:1/-1; }
  .xb-footer-cta { grid-template-columns:46px minmax(0,1fr); gap:15px; }
  .xb-footer-cta-icon { width:44px; height:44px; font-size:24px; }
  .xb-footer-cta-actions { grid-column:2; justify-content:flex-start; }
  .xb-footer-bottom { grid-template-columns:1fr auto; }
  .xb-footer-bottom-note { grid-column:1/-1; text-align:left; }
}
@media (max-width: 640px) {
  footer.xb-final-footer { margin-top:44px; padding:22px 14px calc(22px + env(safe-area-inset-bottom,0px)); }
  .xb-footer-cta { grid-template-columns:38px minmax(0,1fr); padding:18px 15px; gap:12px; margin-bottom:28px; border-radius:16px; }
  .xb-footer-cta-icon { width:38px; height:38px; border-radius:12px; font-size:21px; }
  .xb-footer-eyebrow { font-size:8px; letter-spacing:.14em; }
  .xb-footer-cta h2 { font-size:21px; line-height:1.22; }
  .xb-footer-cta p { font-size:11px; }
  .xb-footer-cta-actions { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:8px; width:100%; }
  .xb-footer-btn { white-space:normal; min-height:42px; padding:10px 9px; font-size:10px; text-align:center; }
  .xb-footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:27px 18px; padding-bottom:24px; }
  .xb-footer-brand-col { grid-column:1/-1; grid-row:auto; }
  .xb-footer-description { max-width:540px; margin-top:13px; }
  .xb-footer-business-note { max-width:440px; }
  .xb-footer-column { gap:10px; }
  .xb-footer-column h3 { font-size:12px; margin-bottom:5px; }
  .xb-footer-column > a:not(.xb-footer-contact-link) { font-size:10px; }
  .xb-footer-contact-col { grid-column:1/-1; display:flex; }
  .xb-footer-contact-link { max-width:440px; font-size:11px; }
  .xb-footer-payment-note { align-items:flex-start; padding:12px; margin-bottom:16px; }
  .xb-footer-payment-note small { font-size:9px; }
  .xb-footer-bottom { grid-template-columns:1fr; gap:10px; padding-top:15px; }
  .xb-footer-legal-links { justify-content:flex-start; gap:13px; }
  .xb-footer-bottom-note { grid-column:auto; text-align:left; }
}
@media (prefers-reduced-motion: reduce) {
  .xb-footer-btn, .xb-footer-column > a:not(.xb-footer-contact-link) { transition:none !important; }
}
