/**
 * Emergency Preparedness Master Planner offer box + slim bottom bar (kit system v2).
 * Built by /js/inline-cta.js. Site palette: dark cards (#1c2128 on
 * #0d1117), light text, amber #d29922 accents. The Buy button is the
 * site's orange with dark text (#0d1117 on #d29922 is about 7:1), the same
 * pairing as the site's primary buttons.
 */
.kit-offer {
  --k-accent: #d29922;
  --k-accent-hover: #e3b341;
  --k-card: #1c2128;
  --k-strip: #161b22;
  --k-border: #30363d;
  --k-ink: #e6edf3;
  --k-muted: #a3acb7;
  margin: 2rem auto;
  max-width: 760px;
  display: grid;
  grid-template-columns: 1fr;
  background: var(--k-card);
  border: 2px solid var(--k-accent);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 28px -12px rgba(0, 0, 0, 0.7);
  font-family: 'DM Sans', 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: var(--k-ink);
  text-align: left;
  box-sizing: border-box;
  line-height: 1.45;
}
.kit-offer *, .kit-bar * { box-sizing: border-box; }
.kit-offer-strip {
  display: flex;
  gap: 8px;
  padding: 14px 14px 0;
  background: var(--k-strip);
  background-image: repeating-linear-gradient(-62deg, rgba(210, 153, 34, 0.07) 0 46px, rgba(210, 153, 34, 0.015) 46px 92px);
  align-items: flex-end;
  text-decoration: none;
}
.kit-offer-strip img {
  width: 31%;
  min-width: 0;
  height: auto;
  aspect-ratio: 8.5 / 11;
  object-fit: cover;
  object-position: top;
  background: #fff;
  border-radius: 5px 5px 0 0;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
  display: block;
}
.kit-offer-body { padding: 14px 16px 16px; display: grid; gap: 8px; min-width: 0; }
.kit-offer p { margin: 0; }
.kit-eyebrow { font-size: 0.72rem !important; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--k-accent) !important; }
.kit-offer-title { font-family: 'Oswald', 'DM Sans', 'Source Sans Pro', sans-serif; font-size: 1.4rem !important; font-weight: 700; line-height: 1.15; color: var(--k-ink) !important; letter-spacing: -0.01em; }
.kit-offer-line { font-size: 1rem !important; color: var(--k-ink) !important; }
.kit-offer-bullets { margin: 0 !important; padding: 0 !important; list-style: none !important; display: grid; gap: 4px; font-size: 0.95rem; color: var(--k-ink); }
.kit-offer-bullets li { position: relative; padding-left: 1.35rem !important; margin: 0 !important; list-style: none !important; }
.kit-offer-bullets li::before {
  content: ""; position: absolute; left: 0.2rem; top: 0.55em; width: 0.5rem; height: 0.5rem;
  border-radius: 2px; transform: rotate(45deg); background: var(--k-accent);
}
.kit-offer-bullets b { color: #fff; font-variant-numeric: tabular-nums; }
.kit-offer-replaces { font-size: 0.88rem !important; color: var(--k-muted) !important; font-style: italic; }
.kit-offer-buy { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 4px; }
.kit-buy {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: #d29922; color: #0d1117 !important; text-decoration: none !important;
  font-family: 'Oswald', 'DM Sans', 'Source Sans Pro', sans-serif;
  font-weight: 700; font-size: 1.1rem; line-height: 1.1;
  padding: 0.75rem 1.3rem; border-radius: 10px; min-height: 44px;
  box-shadow: 0 3px 0 #8a6414;
}
.kit-buy:hover, .kit-buy:focus-visible { background: #e3b341; color: #0d1117 !important; }
.kit-price { font-variant-numeric: tabular-nums; }
.kit-guarantee { display: flex; gap: 6px; align-items: flex-start; font-size: 0.84rem !important; line-height: 1.35; color: var(--k-muted) !important; flex: 1 1 13rem; min-width: 0; }
.kit-guarantee svg { flex: 0 0 auto; margin-top: 1px; }
.kit-guarantee strong { color: var(--k-ink); }
.kit-guarantee-link { color: var(--k-ink) !important; text-decoration: underline; text-decoration-thickness: 1px; }
.kit-offer-look { font-weight: 700; color: var(--k-accent) !important; font-size: 0.95rem; }
.kit-offer-fine { font-size: 0.78rem !important; color: #8b949e !important; }
@media (min-width: 720px) {
  .kit-offer { grid-template-columns: 14rem 1fr; }
  .kit-offer-strip { display: grid; grid-template-columns: 1fr 1fr; align-content: center; gap: 10px; padding: 18px; }
  .kit-offer-strip img { width: 100%; border-radius: 5px; }
  .kit-offer-strip img:first-child { grid-column: 1 / -1; }
  .kit-offer-body { padding: 18px 22px; }
}

/* ------------------------------------------------------------ bottom bar */
.kit-bar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990;
  background: rgba(28, 33, 40, 0.98);
  border-top: 2px solid #d29922;
  box-shadow: 0 -8px 20px -10px rgba(0, 0, 0, 0.7);
  padding: 6px 10px calc(6px + env(safe-area-inset-bottom, 0px));
  font-family: 'DM Sans', 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
.kit-bar[hidden] { display: none !important; }
.kit-bar-in { max-width: 56rem; margin: 0 auto; display: flex; align-items: center; gap: 10px; }
.kit-bar-cover img { display: block; width: 36px; height: 47px; object-fit: cover; object-position: top; border-radius: 3px; box-shadow: 0 1px 4px rgba(0,0,0,.5); }
.kit-bar-text { flex: 1; min-width: 0; text-decoration: none !important; display: grid; line-height: 1.2; }
.kit-bar-name { font-weight: 700; font-size: 0.98rem; color: #e6edf3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kit-bar-sub { font-size: 0.74rem; color: #a3acb7; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kit-bar .kit-bar-buy { padding: 0.5rem 0.9rem; font-size: 0.98rem; min-height: 40px; white-space: nowrap; box-shadow: none; }
.kit-bar-x { flex: 0 0 auto; width: 36px; height: 36px; border: 0; background: transparent; color: #a3acb7; font-size: 1.5rem; line-height: 1; cursor: pointer; border-radius: 8px; }
.kit-bar-x:hover { background: #21262d; color: #fff; }

/* Legacy inline CTA (replaced by the kit v2 box; kept so an old cached page renders). */
.icta-card { display: none; }

/* Sitewide phone fixes for the site's header and footer, which overflowed a
   360 px screen on every page (this file loads on every page with the offer
   script). Palette unchanged. */
@media (max-width: 480px) {
  .header .logo { font-size: 1.1rem; letter-spacing: .02em; min-width: 0; }
  .header .logo-icon { width: 30px; height: 30px; flex: 0 0 30px; }
  .header-inner { gap: var(--space-sm); }
  .footer-grid { grid-template-columns: 1fr !important; gap: var(--space-lg); }
  .footer-brand { grid-column: auto !important; }
}
/* Calculator pages: the two-column layouts (calculator + sidebar) and the wide
   reference tables were cut off on phones. Stack the columns and let tables
   scroll inside their own box. */
@media (max-width: 768px) {
  [style*="grid-template-columns: 1fr minmax("], .two-column { grid-template-columns: 1fr !important; }
  [style*="grid-template-columns"] > *, .two-column > * { min-width: 0; }
  table.data-table, table.comparison-table, .content-section table, article table, .info-table table {
    display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch;
  }
  select, input { max-width: 100%; }
  .question-row { flex-wrap: wrap; }
  .toggle-group { max-width: 100%; flex-wrap: wrap; }
}
