/* Seabound Journeys — lead-nudge.css (pairs with lead-nudge.js)
   Everything scoped under .sjn-* / body.sjn-bar-on. Real site tokens:
   navy #0A1E33, ocean #1a5f91, ocean-deep #155A8A, line #DCE6EF, Jost/Cormorant. */

/* ---------- mobile sticky bar (≤640px only) ---------- */
.sjn-bar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990;
  display: none; gap: 8px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
  background: rgba(255,255,255,.96); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  border-top: 1px solid #DCE6EF; box-shadow: 0 -8px 24px rgba(10,30,51,.10);
  font-family: 'Jost', system-ui, sans-serif;
  transform: translateY(110%); transition: transform 260ms cubic-bezier(.4,0,.2,1);
}
.sjn-bar.is-on { transform: translateY(0); }
@media (max-width: 640px) { .sjn-bar { display: flex; } body.sjn-bar-on { padding-bottom: 72px; } }
.sjn-bar a { display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 48px; border-radius: 999px; text-decoration: none; font-weight: 600; font-size: .95rem; letter-spacing: .01em; }
.sjn-bar-quote { flex: 1; background: #1a5f91; color: #fff; }
.sjn-bar-quote:active { background: #155A8A; }
.sjn-bar-call { flex: 0 0 auto; padding: 0 18px; background: #fff; color: #0A1E33; border: 1.5px solid #DCE6EF; }
.sjn-bar a:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(26,95,145,.35); }

/* ---------- desktop slide-in card (>640px only) ---------- */
.sjn-card {
  position: fixed; right: 20px; bottom: 20px; z-index: 9990;
  width: min(360px, calc(100vw - 40px));
  background: #fff; border: 1px solid #DCE6EF; border-radius: 18px;
  box-shadow: 0 20px 48px rgba(10,30,51,.18), 0 4px 12px rgba(10,30,51,.08);
  padding: 20px 22px 16px; font-family: 'Jost', system-ui, sans-serif; color: #1C2B3A;
  opacity: 0; transform: translateY(16px) scale(.98); pointer-events: none;
  transition: opacity 320ms cubic-bezier(.4,0,.2,1), transform 320ms cubic-bezier(.4,0,.2,1);
}
.sjn-card.is-on { opacity: 1; transform: none; pointer-events: auto; }
.sjn-card.sjn-no-motion, .sjn-bar.sjn-no-motion { transition: none; }
@media (max-width: 640px) { .sjn-card { display: none; } }
@media (prefers-reduced-motion: reduce) { .sjn-card, .sjn-bar { transition: none; } }
.sjn-card::before {
  content: ""; position: absolute; left: 22px; right: 22px; top: 0; height: 3px; border-radius: 0 0 3px 3px;
  background: linear-gradient(90deg, #1a5f91, #7FB6DD);
}
.sjn-close {
  position: absolute; top: 10px; right: 10px; width: 32px; height: 32px; border-radius: 50%;
  border: 0; background: transparent; color: #52677C; font-size: 22px; line-height: 1; cursor: pointer;
}
.sjn-close:hover { background: #F4F8FB; color: #0A1E33; }
.sjn-close:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(26,95,145,.35); }
.sjn-eyebrow { font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #155A8A; margin: 2px 28px 8px 0; }
.sjn-h { margin: 0 24px 6px 0; font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; font-size: 1.35rem; line-height: 1.2; color: #0A1E33; text-wrap: balance; }
.sjn-s { margin: 0 0 14px; font-size: .92rem; line-height: 1.45; color: #52677C; }
.sjn-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4em; width: 100%;
  min-height: 46px; border-radius: 999px; background: #1a5f91; color: #fff; text-decoration: none;
  font-weight: 700; font-size: .95rem; transition: background 160ms, transform 160ms;
}
.sjn-btn:hover { background: #155A8A; transform: translateY(-1px); }
.sjn-btn:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(26,95,145,.35); }
.sjn-foot { margin-top: 10px; font-size: .72rem; color: #6C8AA3; text-align: center; line-height: 1.35; }

/* Head-to-head pages get two buttons — the reader has already narrowed to two
   ships, so the only question left is which one. */
.sjn-fork { display: grid; gap: 8px; }
.sjn-fork .sjn-btn { font-size: .9rem; padding: 0 14px; }
.sjn-btn-alt { background: #fff; color: #155A8A; border: 1.5px solid #B9D2E6; }
.sjn-btn-alt:hover { background: #F4F8FB; color: #0A1E33; }

/* ---------- inline CTA rendered into [data-sj-quote-cta] ---------- */
.sjn-inline-btn {
  display: inline-flex; align-items: center; gap: .45em; min-height: 46px; padding: 0 22px; border-radius: 999px;
  background: #1a5f91; color: #fff !important; text-decoration: none !important; font-family: 'Jost', system-ui, sans-serif;
  font-weight: 700; font-size: .95rem; transition: background 160ms, transform 160ms;
}
.sjn-inline-btn:hover { background: #155A8A; transform: translateY(-1px); }
.sjn-inline-btn:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(26,95,145,.35); }
