/* Nexus AI Themes — Mobile Conversion Framework
   Themed via design tokens. mobile_only is enforced by viewport, not UA. */

@media (min-width: 769px) { .nx-mobile-only { display: none !important; } }

.nx-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--c-primary);color:var(--c-on-primary,#fff);font-weight:700;font-family:var(--font-head);padding:11px 20px;border-radius:var(--r);text-decoration:none;border:0;cursor:pointer;white-space:nowrap;line-height:1.1}
.nx-btn:hover{filter:brightness(.93);color:var(--c-on-primary,#fff)}

/* ── Module 1: Sticky CTA Bar ──────────────────────────────── */
.nx-mcta{position:fixed;left:0;right:0;z-index:55;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:var(--c-surface);box-shadow:0 -2px 12px rgba(0,0,0,.1);transition:transform .25s}
.nx-mcta--bottom{bottom:0;border-top:1px solid var(--c-border)}
.nx-mcta--top{top:0;border-bottom:1px solid var(--c-border);box-shadow:0 2px 12px rgba(0,0,0,.1)}
.nx-mcta.is-hidden{transform:translateY(115%)}
.nx-mcta--top.is-hidden{transform:translateY(-115%)}
.nx-mcta-text{font-family:var(--font-head);font-weight:700}

/* ── Module 2: Floating Affiliate CTA ──────────────────────── */
.nx-fcta{position:fixed;right:14px;bottom:84px;z-index:56;max-width:280px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:0 8px 28px rgba(0,0,0,.18);padding:16px;display:flex;flex-direction:column;gap:10px;touch-action:none;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s}
.nx-fcta.is-in{opacity:1;transform:none}
.nx-fcta.is-dragging{transition:none}
.nx-fcta-title{font-family:var(--font-head);font-weight:700;padding-right:16px}
.nx-fcta-close{position:absolute;top:6px;right:8px;background:none;border:0;font-size:18px;color:var(--c-muted);cursor:pointer;line-height:1}

/* ── Module 4: Bottom Offer Bar ────────────────────────────── */
.nx-offbar{position:fixed;left:0;right:0;bottom:0;z-index:57;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px 12px 18px;background:linear-gradient(120deg,var(--c-primary),var(--c-accent,#7c3aed));color:#fff;box-shadow:0 -2px 14px rgba(0,0,0,.2);transform:translateY(115%);transition:transform .3s}
.nx-offbar.is-in{transform:none}
.nx-offbar-copy{display:flex;flex-direction:column;line-height:1.2}
.nx-offbar-title{font-size:12px;text-transform:uppercase;letter-spacing:.04em;opacity:.9}
.nx-offbar-text{font-family:var(--font-head);font-weight:800;font-size:16px}
.nx-offbar .nx-btn{background:#fff;color:var(--c-primary)}
.nx-offbar-close{position:absolute;top:3px;right:8px;background:none;border:0;color:#fff;font-size:17px;cursor:pointer;opacity:.85}

/* ── Module 7: Exit Intent Modal ───────────────────────────── */
.nx-exit{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .25s}
.nx-exit.is-in{opacity:1}
.nx-exit-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6)}
.nx-exit-card{position:relative;z-index:1;background:var(--c-surface);border-radius:var(--r-lg);padding:30px 26px;max-width:380px;width:100%;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,.3);transform:scale(.94);transition:transform .25s}
.nx-exit.is-in .nx-exit-card{transform:none}
.nx-exit-close{position:absolute;top:10px;right:12px;background:none;border:0;font-size:22px;color:var(--c-muted);cursor:pointer;line-height:1}
.nx-exit-title{font-family:var(--font-head);margin:0 0 8px}
.nx-exit-text{color:var(--c-muted);margin:0 0 18px}
.nx-exit-card .nx-btn{width:100%}

/* ── Module 5: Mobile Sticky Ad + Interstitial ─────────────── */
.nx-msticky{position:fixed;left:0;right:0;bottom:0;z-index:54;display:flex;justify-content:center;align-items:center;padding:6px;background:var(--c-surface);border-top:1px solid var(--c-border)}
.nx-msticky .nexus-ad{margin:0}
.nx-msticky-close{position:absolute;top:-24px;right:6px;width:22px;height:22px;border-radius:50%;background:var(--c-surface);border:1px solid var(--c-border);color:var(--c-text);cursor:pointer;line-height:1;font-size:13px}
.nx-interstitial{position:fixed;inset:0;z-index:75;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.85);padding:20px;opacity:0;transition:opacity .25s}
.nx-interstitial.is-in{opacity:1}
.nx-interstitial-inner{position:relative;max-width:340px;width:100%}
.nx-interstitial-inner .nexus-ad{margin:0}
.nx-interstitial-close{position:absolute;top:-32px;right:0;width:28px;height:28px;border-radius:50%;background:#fff;border:0;font-size:16px;cursor:pointer}

/* ── Module 6: Swipe Offer Carousel ────────────────────────── */
.nx-carousel{margin:28px 0}
.nx-carousel-title{font-family:var(--font-head);margin:0 0 12px}
.nx-carousel-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}
.nx-carousel-track::-webkit-scrollbar{display:none}
.nx-carousel-slide{scroll-snap-align:center;flex:0 0 84%;max-width:340px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:22px;display:flex;flex-direction:column;gap:8px;text-align:center}
.nx-carousel-slide-title{font-family:var(--font-head);font-weight:800;font-size:18px}
.nx-carousel-slide-sub{color:var(--c-muted);font-size:14px}
.nx-carousel-slide .nx-btn{margin-top:6px;align-self:center}
.nx-carousel-dots{display:flex;justify-content:center;gap:7px;margin-top:12px}
.nx-carousel-dot{width:8px;height:8px;border-radius:50%;border:0;background:var(--c-border);cursor:pointer;padding:0;transition:width .2s,background .2s}
.nx-carousel-dot.is-active{background:var(--c-primary);width:20px;border-radius:4px}
@media(min-width:760px){.nx-carousel-slide{flex-basis:340px}}

/* ── Module 3: Mobile Comparison Cards (transform the table) ── */
@media(max-width:640px){
  .nexus-compare-table{border:0;background:transparent}
  .nexus-compare-table tr{display:block;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);margin-bottom:14px;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
  .nexus-compare-table tr.is-highlight{border-color:var(--c-primary);box-shadow:0 4px 16px rgba(0,0,0,.1)}
  .nexus-compare-table td{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border:0}
  .nexus-compare-table td::before{content:attr(data-label);font-weight:700;color:var(--c-muted)}
  .nexus-compare-table td[data-label="Product"]{display:block;font-size:18px;font-weight:800;font-family:var(--font-head);border-bottom:1px solid var(--c-border);padding-bottom:10px;margin-bottom:4px}
  .nexus-compare-table td[data-label="Product"]::before{display:none}
  .nexus-compare-table td:last-child{padding-top:12px}
  .nexus-compare-table td:last-child::before{display:none}
  .nexus-compare-table td:last-child .nexus-aff-btn{width:100%;justify-content:center}
}
