/* dynamic-rates — live dynamic tariff rates */

.dyn-card__supplier {
  margin: 0;
}

.dyn-card__name {
  color: var(--grey-text, #475569);
  font-size: 0.875rem;
  margin: 0 0 var(--space-sm, 0.5rem);
}

/* Import + export rates shown side by side within each card. */
.dyn-card__rates {
  display: flex;
  gap: var(--space-md, 1rem);
  margin-top: auto;
}

.dyn-card__rate-group {
  flex: 1;
}

.dyn-card__rate-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--grey-text, #475569);
  margin: 0;
}

.dyn-card__rate {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.1;
  margin: -0.15rem 0 0;
  border-radius: var(--radius-sm, 4px);
}

/* Export earnings shown in green to distinguish from the import cost. */
.dyn-card__rate-group--export .dyn-card__rate {
  color: var(--kw-green);
}

/* Brief, understated flash when the live figure changes on the half-hour. */
.dyn-card__rate--changed {
  animation: dyn-rate-flash 1.4s ease-out;
}

@keyframes dyn-rate-flash {
  0%   { background-color: var(--kw-yellow, #ffd24a); }
  100% { background-color: transparent; }
}

@media (prefers-reduced-motion: reduce) {
  .dyn-card__rate--changed { animation: none; }
}

/* Download button row, under the charts. */
.dyn-download {
  margin: var(--space-md, 1rem) 0 var(--space-lg, 1.5rem);
}

/* The rate formula, set apart from the surrounding prose. */
.dyn-formula {
  font-family: var(--font-mono, ui-monospace, monospace);
  background: var(--grey-light);
  border-radius: var(--radius-md, 8px);
  padding: var(--space-sm, 0.5rem) var(--space-md, 1rem);
  overflow-x: auto;
}

/* FAQ disclosure items. */
.dyn-faq {
  border-top: 1px solid var(--grey-border);
  padding: var(--space-sm, 0.5rem) 0;
}
.dyn-faq:last-of-type {
  border-bottom: 1px solid var(--grey-border);
}
.dyn-faq summary {
  cursor: pointer;
  font-weight: 600;
}
.dyn-faq p {
  margin: var(--space-sm, 0.5rem) 0 0;
}
