/* =============================================
   Tank Logic — promo-components.css
   Styles for contextual content replacing ad slots.
   Premium, editorial feel — not promotional.
   ============================================= */

/* ── Related articles strip (top of guide) ──── */
.promo-strip {
  display: flex;
  align-items: stretch;
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  overflow: hidden;
  margin-block: 4px;
}

.promo-strip__label {
  display: flex;
  align-items: center;
  padding: 13px 16px;
  background: var(--bg-1);
  font-size: var(--sz-10);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: var(--tx-lo);
  white-space: nowrap;
  flex-shrink: 0;
  border-right: 1px solid var(--border);
}

.promo-strip__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: var(--bg-1);
  text-decoration: none;
  color: inherit;
  flex: 1;
  min-width: 0;
  transition: background var(--t), color var(--t);
  border-right: 1px solid var(--border);
}
.promo-strip__item:last-child { border-right: none; }
.promo-strip__item:hover { background: var(--bg-2); }

.promo-strip__tag {
  font-size: var(--sz-10);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--tx-xlo);
  white-space: nowrap;
  flex-shrink: 0;
}
.promo-strip__item:hover .promo-strip__tag { color: var(--accent); }

.promo-strip__title {
  font-size: var(--sz-13);
  font-weight: 500;
  color: var(--tx);
  letter-spacing: -0.01em;
  line-height: 1.3;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  flex: 1;
  transition: color var(--t);
}
.promo-strip__item:hover .promo-strip__title { color: var(--tx-hi); }

.promo-strip__arrow {
  font-size: 0.9rem;
  color: var(--tx-xlo);
  flex-shrink: 0;
  transition: color var(--t), transform var(--t);
}
.promo-strip__item:hover .promo-strip__arrow {
  color: var(--accent);
  transform: translateX(2px);
}

/* Mobile: stack strip items */
@media (max-width: 640px) {
  .promo-strip { flex-direction: column; }
  .promo-strip__label { border-right: none; border-bottom: 1px solid var(--border); }
  .promo-strip__item { border-right: none; border-bottom: 1px solid var(--border); }
  .promo-strip__item:last-child { border-bottom: none; }
  .promo-strip__title { white-space: normal; }
}

/* ── Sidebar calculator CTA ───────────────────── */
.promo-card {
  border-radius: var(--r-xl);
  overflow: hidden;
}

.promo-card--tool {
  background: var(--bg-1);
  border: 1px solid var(--border);
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.promo-card__icon {
  font-size: 1.6rem;
  line-height: 1;
}

.promo-card__title {
  font-size: var(--sz-14);
  font-weight: 700;
  color: var(--tx-hi);
  letter-spacing: -0.016em;
  margin-bottom: 5px;
}

.promo-card__desc {
  font-size: var(--sz-13);
  color: var(--tx-lo);
  line-height: 1.6;
  margin-bottom: 0;
}

.promo-card__body { display: flex; flex-direction: column; gap: 5px; }

.promo-card__btn {
  margin-top: 8px;
  width: 100%;
  justify-content: center;
  font-size: var(--sz-13);
}

/* ── Next guide (bottom of page) ─────────────── */
.promo-next {
  margin-block: 4px;
}

.promo-next__label {
  font-size: var(--sz-10);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: var(--tx-lo);
  margin-bottom: 10px;
}

.promo-next__card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: var(--bg-1);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  padding: 20px 22px;
  text-decoration: none;
  color: inherit;
  transition: border-color 160ms, transform 160ms var(--ease), background 160ms;
}
.promo-next__card:hover {
  border-color: var(--border-mid);
  transform: translateY(-1px);
  background: rgba(255,255,255,0.01);
}

.promo-next__body { flex: 1; min-width: 0; }

.promo-next__title {
  font-size: var(--sz-15);
  font-weight: 600;
  color: var(--tx-hi);
  letter-spacing: -0.018em;
  margin-bottom: 5px;
  line-height: 1.3;
}

.promo-next__desc {
  font-size: var(--sz-13);
  color: var(--tx-lo);
  line-height: 1.58;
  margin-bottom: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.promo-next__arrow {
  font-size: 1.3rem;
  color: var(--tx-lo);
  flex-shrink: 0;
  transition: color var(--t), transform var(--t);
}
.promo-next__card:hover .promo-next__arrow {
  color: var(--accent);
  transform: translateX(3px);
}

/* ── Tool row (index pages) ───────────────────── */
.promo-tools-row {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 8px;
}
