/* SEOGrow - Sur-mesure › Affiliation (Affiliation.js) */

.aff-notice {
  display: flex;
  gap: var(--space-3);
  align-items: flex-start;
  padding: var(--space-4) var(--space-5);
  margin-bottom: var(--space-5);
  border: 1px solid rgba(245, 158, 11, 0.35);
  border-radius: var(--radius-xl);
  background: rgba(245, 158, 11, 0.08);
  color: var(--text-primary);
  font-size: 13px;
  line-height: 1.5;
}
.aff-notice__icon { color: var(--status-warning); flex-shrink: 0; margin-top: 1px; }

.aff-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  margin: var(--space-5) 0 var(--space-4);
}
.aff-tabs { flex-wrap: wrap; margin: 0; }
.aff-tabs .tab { white-space: nowrap; }
.aff-filter { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--text-secondary); }
.aff-filter__select { height: 36px; width: auto; min-width: 200px; }

.aff-section-title {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: var(--space-6) 0 var(--space-3);
  font-size: 16px;
}

.aff-card { margin-bottom: var(--space-2); }
.aff-table td { vertical-align: top; }
.aff-name { font-weight: 600; min-width: 200px; }
.aff-name__line { display: flex; align-items: center; gap: var(--space-1); }
.aff-name__line > a { color: inherit; text-decoration: none; }
.aff-name__line > a:hover { color: var(--color-brand-primary); text-decoration: underline; }
.aff-quick { display: inline-flex; margin-left: auto; padding-left: var(--space-2); }
.aff-quick .btn--icon { width: 28px; height: 28px; color: var(--text-tertiary); }
.aff-quick .btn--icon:hover { color: var(--color-brand-primary); }

.aff-sites { display: flex; flex-wrap: wrap; gap: 4px; max-width: 320px; }
.aff-sites a.badge { text-decoration: none; white-space: nowrap; }
.aff-sites a.badge:hover { text-decoration: underline; }

/* Fiche d'un programme */
.aff-detail { margin-bottom: var(--space-4); }
.aff-detail__actions { display: flex; gap: var(--space-2); }
.aff-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: var(--space-4);
  margin-bottom: var(--space-4);
}
.aff-field { margin-bottom: var(--space-3); }
.aff-field__label, .aff-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: var(--space-1);
}
.aff-pitch {
  white-space: pre-line;
  font-size: 14px;
  line-height: 1.55;
  color: var(--text-secondary);
  margin-bottom: var(--space-2);
  overflow-wrap: anywhere;
  max-width: 820px;
}

/* Modale : cases des sites idéaux */
.aff-site-checks { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); }
.field .aff-site-check {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  color: var(--text-primary);
}
.aff-note { max-width: 320px; margin-top: 4px; white-space: pre-line; }

/* Modale plus haute que l'écran : défilement interne. */
.aff-modal { max-height: calc(100vh - 2 * var(--space-4)); overflow-y: auto; }
