/* paywall.css — same file, included on every page of all three sites.
   Colors are hardcoded (not var(--x)) so this looks right even on pages
   that don't share the ICU Decoded design tokens, like the calculator tools. */

.icu-lock-overlay {
  position: fixed; inset: 0; z-index: 99999;
  background: #070b14;
  overflow-y: auto;
  display: flex; justify-content: center;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  padding: 32px 20px 60px;
}
.icu-lock-card { max-width: 480px; width: 100%; text-align: center; }
.icu-lock-icon {
  width: 84px; height: 84px; margin: 0 auto 22px; border-radius: 22px;
  background: linear-gradient(135deg, #fb7185, #f43f5e);
  display: flex; align-items: center; justify-content: center; font-size: 34px;
  box-shadow: 0 0 40px rgba(244, 63, 94, .35);
}
.icu-lock-title { color: #e9eef7; font-size: 26px; font-weight: 800; margin: 0 0 10px; }
.icu-lock-sub { color: #8b9cb4; font-size: 15px; line-height: 1.5; margin: 0 0 28px; }
.icu-lock-tiers { display: flex; flex-direction: column; gap: 16px; }
.icu-tier {
  position: relative; text-align: left; background: #101a2c; border: 1px solid #1d2c44;
  border-radius: 18px; padding: 22px;
}
.icu-tier-tag {
  position: absolute; top: -12px; right: 18px;
  background: #2dd4bf; color: #032b26; font-size: 10.5px; font-weight: 800;
  letter-spacing: .5px; text-transform: uppercase; padding: 5px 12px; border-radius: 99px;
}
.icu-tier-row { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.icu-tier-name { color: #e9eef7; font-size: 19px; font-weight: 800; }
.icu-tier-price { color: #fb7185; font-size: 24px; font-weight: 800; }
.icu-tier-price small { color: #8b9cb4; font-size: 13px; font-weight: 500; }
.icu-tier-desc { color: #8b9cb4; font-size: 13.5px; line-height: 1.5; margin: 0 0 16px; }
.icu-tier-btn {
  width: 100%; padding: 15px; border: none; border-radius: 14px; cursor: pointer;
  background: linear-gradient(135deg, #fb7185, #f43f5e); color: #fff;
  font-size: 15px; font-weight: 800; transition: opacity .15s ease;
}
.icu-tier-btn:hover { opacity: .9; }
.icu-tier-btn:disabled { opacity: .6; cursor: default; }
.icu-lock-foot { color: #5f7089; font-size: 12px; line-height: 1.6; margin-top: 26px; }

/* ---- inline upsell card (non-blocking, for the free site) ---- */
.icu-upsell {
  background: #101a2c; border: 1px solid #1d2c44; border-radius: 20px;
  padding: 22px; margin: 16px; max-width: 720px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
.icu-upsell-head { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 18px; }
.icu-upsell-icon { font-size: 26px; line-height: 1; }
.icu-upsell-title { color: #e9eef7; font-size: 17px; font-weight: 800; margin-bottom: 4px; }
.icu-upsell-sub { color: #8b9cb4; font-size: 13px; line-height: 1.5; }
.icu-upsell-tiers { flex-direction: row; flex-wrap: wrap; }
.icu-upsell-tiers .icu-tier { flex: 1 1 200px; min-width: 200px; }
@media (max-width: 640px) { .icu-upsell-tiers { flex-direction: column; } }

/* ---- shared top nav, linking all 3 sites ---- */
.icu-network-nav {
  display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
  padding: 8px 14px; background: #0a1020; border-bottom: 1px solid #1d2c44;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 12.5px;
}
.icu-network-nav a {
  color: #8b9cb4; text-decoration: none; padding: 5px 10px; border-radius: 8px;
  transition: all .15s ease; border: 1px solid transparent;
}
.icu-network-nav a:hover { color: #e9eef7; background: #101a2c; }
.icu-network-nav a.icu-nav-active { color: #2dd4bf; border-color: rgba(45,212,191,.3); background: rgba(45,212,191,.08); }
.icu-network-nav .icu-nav-sep { color: #2a3d5c; }
.icu-network-nav .icu-nav-user { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.icu-network-nav .icu-nav-signin {
  background: linear-gradient(135deg, #fb7185, #f43f5e); color: #fff; border: none;
  padding: 6px 14px; border-radius: 8px; font-weight: 700; cursor: pointer; font-size: 12px;
}
