/* ============================================================
   BLUMI — affiliate.css (Sprint 6: Affiliate Integration)
   Extends style.css
   ============================================================ */

.affiliate-section {
  margin-top: var(--space-md);
  padding-top: var(--space-md);
  border-top: 1px dashed var(--color-border);
}

.affiliate-section-title {
  font-size: var(--font-size-caption);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--space-sm);
  display: flex;
  align-items: center;
  gap: 4px;
}

.affiliate-card {
  display: flex;
  gap: var(--space-sm);
  padding: var(--space-sm);
  background: var(--color-surface-alt);
  border-radius: var(--border-radius-md);
  margin-bottom: var(--space-sm);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.affiliate-card:hover {
  box-shadow: var(--shadow-card);
  transform: translateY(-1px);
}

.affiliate-image {
  width: 64px;
  height: 64px;
  min-width: 64px;
  border-radius: var(--border-radius-sm);
  object-fit: cover;
  background: var(--color-border);
}

.affiliate-image-placeholder {
  width: 64px;
  height: 64px;
  min-width: 64px;
  border-radius: var(--border-radius-sm);
  background: var(--color-sage-light);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
}

.affiliate-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.affiliate-name {
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  line-height: 1.35;
  margin-bottom: 2px;
}

.affiliate-desc {
  font-size: var(--font-size-caption);
  color: var(--color-text-tertiary);
  line-height: 1.4;
  margin-bottom: var(--space-xs);
}

.affiliate-price {
  font-size: var(--font-size-caption);
  font-weight: var(--font-weight-medium);
  color: var(--color-sage-dark);
  margin-bottom: var(--space-xs);
}

.affiliate-links {
  display: flex;
  gap: var(--space-xs);
  flex-wrap: wrap;
}

.affiliate-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  font-size: 11px;
  font-weight: var(--font-weight-semibold);
  border-radius: var(--border-radius-pill);
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
}

.affiliate-link:active {
  transform: scale(0.97);
}

.affiliate-link[data-platform="shopee"] {
  background: #EE4D2D;
  color: white;
}

.affiliate-link[data-platform="shopee"]:hover {
  background: #d44223;
  box-shadow: 0 2px 8px rgba(238,77,45,0.3);
}

.affiliate-link[data-platform="tiktok"] {
  background: #000;
  color: white;
}

.affiliate-link[data-platform="tiktok"]:hover {
  background: #222;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

.affiliate-link:disabled,
.affiliate-link.disabled {
  background: var(--color-border);
  color: var(--color-text-tertiary);
  cursor: default;
  pointer-events: none;
}

.affiliate-disclaimer {
  font-size: 10px;
  color: var(--color-text-tertiary);
  line-height: 1.4;
  margin-top: var(--space-sm);
  font-style: italic;
}