.preference-layer {
  position: relative;
  z-index: 50;
}

.preference-card {
  position: fixed;
  right: max(16px,env(safe-area-inset-right));
  bottom: max(16px,env(safe-area-inset-bottom));
  width: min(340px,calc(100vw - 32px));
  padding: 20px;
  border: 1px solid rgba(25,20,46,.14);
  border-radius: 8px;
  background: var(--mineral);
  box-shadow: 0 14px 34px rgba(25,20,46,.13);
  color: var(--indigo);
  opacity: 1;
  transform: translateY(0);
  transition: opacity .22s ease,transform .22s cubic-bezier(.16,1,.3,1);
}

.preference-card.is-entering,
.preference-card.is-leaving {
  opacity: 0;
  transform: translateY(10px);
}

.preference-card h2 {
  font-size: 16px;
  font-weight: 600;
  line-height: 23px;
}

.preference-summary,
.preference-details {
  margin-top: 10px;
  color: var(--muted);
  font-size: 14px;
  line-height: 21px;
}

.preference-details {
  padding-top: 12px;
  border-top: 1px solid rgba(25,20,46,.12);
}

.preference-details p + p {
  margin-top: 10px;
}

.preference-details strong {
  color: var(--indigo);
  font-weight: 600;
}

.preference-details a {
  min-height: 44px;
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  color: var(--deep);
  font-size: 13px;
  line-height: 19px;
}

.preference-actions {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
}

.preference-actions-single {
  grid-template-columns: 1fr;
}

.preference-action {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--indigo);
  border-radius: 3px;
  padding: 9px 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
  line-height: 18px;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.preference-action-primary {
  background: var(--ascension);
  border-color: var(--ascension);
  color: #fff;
}

.preference-action-secondary {
  background: transparent;
  color: var(--indigo);
}

@media(hover:hover) {
  .preference-action-primary:hover {
    background: var(--deep);
    border-color: var(--deep);
  }

  .preference-action-secondary:hover {
    background: var(--maya);
  }
}

@media(max-width:379px) {
  .preference-actions {
    grid-template-columns: 1fr;
  }
}

@media(prefers-reduced-motion:reduce) {
  .preference-card {
    transition: none;
  }
}

/* Full-width information panel; language suggestions retain their compact card. */
.cookie-banner { inset: auto 0 0; width: 100%; max-height: min(85svh,600px); overflow-y: auto; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 48px; padding: 24px 40px max(24px,env(safe-area-inset-bottom)); border-radius: 0; border: 0; border-top: 1px solid rgb(25 20 46 / 16%); box-shadow: 0 -8px 32px rgb(25 20 46 / 8%); }
.cookie-copy { max-width: 760px; }
.cookie-banner h2 { font-size: 13px; line-height: 20px; font-weight: 600; }
.cookie-banner .preference-summary,.cookie-banner .preference-details { margin-top: 6px; font-size: 13px; line-height: 21px; }
.cookie-banner .preference-actions { margin: 0; grid-template-columns: auto minmax(160px,220px); gap: 24px; }
.cookie-banner .preference-actions-single { grid-template-columns: minmax(160px,220px); }
.cookie-banner .preference-action { border-radius: 0; font-weight: 400; font-size: 12px; }
.cookie-banner .preference-action-primary { background: var(--indigo); border-color: var(--indigo); }
.cookie-banner .preference-action-secondary { border-color: transparent; text-decoration: underline; text-underline-offset: 4px; }
.cookie-banner .cookie-consent-actions { grid-template-columns: repeat(3,auto); gap: 12px; }
.cookie-choice { color: var(--indigo); background: transparent; border-color: var(--indigo); }
@media(max-width:699px) {
 .cookie-banner { grid-template-columns: 1fr; gap: 16px; padding: 20px 24px max(20px,env(safe-area-inset-bottom)); text-align: center; }
 .cookie-banner .preference-actions,.cookie-banner .preference-actions-single { grid-template-columns: 1fr; gap: 8px; }
 .cookie-banner .cookie-consent-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .cookie-consent-actions .preference-action-secondary { grid-column: 1 / -1; }
}
