/* ===== Cookie consent (#278) ===== */

.consent {
  position: fixed;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: var(--toddyi-z-toast);
  display: flex;
  flex-direction: column;
  gap: var(--toddyi-size-0-5rem);
  padding: var(--toddyi-size-1rem);
  background: var(--toddyi-surface-cream);
  border-block-start: var(--toddyi-size-1px) solid var(--toddyi-border-subtle);
  color: var(--toddyi-text-body);
}

.consent__title { margin: 0; font-size: var(--toddyi-size-1-1rem); }
.consent__body { margin: 0; font-size: var(--toddyi-size-0-9rem); max-inline-size: var(--toddyi-size-42rem); }
.consent__links { margin: 0; font-size: var(--toddyi-size-0-85rem); }
.consent__link { color: var(--toddyi-primary); }

.consent__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--toddyi-size-0-75rem);
  max-inline-size: var(--toddyi-size-24rem);
}

/* Both buttons, one class. Accept and refuse differ in what they do and in
   nothing else — a refuse that is quieter is not a free choice. */
.consent__button {
  flex: 1 1 var(--toddyi-size-8rem);
  padding: var(--toddyi-size-0-5rem) var(--toddyi-size-1rem);
  font-size: var(--toddyi-size-0-9rem);
  border-radius: var(--toddyi-size-0-375rem);
  border: var(--toddyi-size-1px) solid var(--toddyi-primary);
  background: transparent;
  color: var(--toddyi-primary);
  cursor: pointer;
}

/* Small, out of the way, and always reachable: withdrawing consent must not be
   harder than giving it, but it does not need to shout either. */
.consent-reopen {
  position: fixed;
  inset-block-end: var(--toddyi-size-0-5rem);
  inset-inline-start: var(--toddyi-size-0-5rem);
  z-index: var(--toddyi-z-toast);
  padding: var(--toddyi-size-0-25rem) var(--toddyi-size-0-6rem);
  font-size: var(--toddyi-size-0-75rem);
  border-radius: var(--toddyi-size-999px);
  border: var(--toddyi-size-1px) solid var(--toddyi-border-subtle);
  background: var(--toddyi-surface-cream);
  color: var(--toddyi-text-muted);
  cursor: pointer;
}

/* `hidden` is a UA-stylesheet rule, and any author `display` beats it whatever
   the specificity — so the banner above was on screen from first paint and
   stayed there after a choice was made. The attribute needs saying again here
   for it to mean anything. */
.consent[hidden], .consent-reopen[hidden] { display: none; }
