.foot-cookie-settings {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.foot-cookie-settings:hover,
.foot-cookie-settings:focus-visible {
  text-decoration: underline;
}

.consent-panel {
  position: fixed;
  z-index: 1000;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  margin: 0 auto;
  max-width: 880px;
  color: #2e2118;
  background: #fffaf0;
  border: 1px solid #caa987;
  border-radius: 16px;
  box-shadow: 0 18px 55px rgba(46, 24, 13, .24);
}

.consent-panel[hidden] {
  display: none;
}

.consent-panel__inner {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 1.15rem 1.25rem;
}

.consent-panel__copy {
  flex: 1 1 auto;
}

.consent-panel h2 {
  margin: 0 0 .35rem;
  font-size: 1.2rem;
  line-height: 1.25;
}

.consent-panel p {
  margin: .2rem 0;
  font-size: .94rem;
  line-height: 1.5;
}

.consent-panel a {
  color: #8a2015;
}

.consent-panel__actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .55rem;
}

.consent-button {
  min-height: 42px;
  padding: .58rem .9rem;
  border: 1px solid #9d4f43;
  border-radius: 999px;
  background: #fffaf0;
  color: #7d1c13;
  font: inherit;
  font-size: .86rem;
  font-weight: 750;
  cursor: pointer;
}

.consent-button--allow {
  background: #9d4f43;
  color: #fff;
}

.consent-button:hover {
  filter: brightness(.94);
}

.consent-button:focus-visible {
  outline: 3px solid #e6a84b;
  outline-offset: 2px;
}

@media (max-width: 680px) {
  .consent-panel {
    right: .65rem;
    bottom: .65rem;
    left: .65rem;
  }

  .consent-panel__inner {
    display: block;
    padding: 1rem;
  }

  .consent-panel__actions {
    justify-content: stretch;
    margin-top: .85rem;
  }

  .consent-button {
    flex: 1 1 8rem;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .consent-panel:not([hidden]) {
    animation: consent-in .18s ease-out;
  }

  @keyframes consent-in {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
  }
}
