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

.cookie-consent {
  position: fixed;
  left: 50%;
  bottom: max(12px, env(safe-area-inset-bottom));
  z-index: 1000;
  width: min(calc(100% - 24px), 430px);
  transform: translate(-50%, 16px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease, transform 180ms ease;
}

.cookie-consent.is-visible {
  transform: translate(-50%, 0);
  opacity: 1;
  pointer-events: auto;
}

.cookie-consent-panel {
  box-sizing: border-box;
  padding: 12px;
  border: 1px solid #e8ded0;
  border-radius: 20px;
  background: #fffaf5;
  box-shadow: 0 20px 55px rgba(15, 10, 16, 0.32);
  color: #2b2430;
  text-align: left;
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.cookie-consent h2 {
  margin: 0;
  color: #29222e;
  font: 800 1rem/1.2 "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: -0.02em;
}

.cookie-consent p {
  margin: 5px 0 0;
  color: #756b7e;
  font-size: 0.78rem;
  line-height: 1.35;
}

.cookie-consent-policy {
  color: #7a5520;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cookie-consent-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 8px;
}

.cookie-consent-actions button {
  min-height: 44px;
  border-radius: 12px;
  cursor: pointer;
  font: 800 0.75rem/1.2 "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.cookie-consent-primary {
  border: 1px solid #d0a347;
  background: #e9bd5f;
  color: #2b210f;
  box-shadow: 0 10px 22px rgba(185, 134, 44, 0.24);
}

.cookie-consent-secondary {
  border: 1px solid #d8d0da;
  background: #fffdfb;
  color: #2b2430;
}

.cookie-consent-actions button:focus-visible,
.cookie-consent-policy:focus-visible {
  outline: 3px solid rgba(229, 185, 87, 0.5);
  outline-offset: 3px;
}

@media (max-width: 559px) {
  .cookie-consent-actions {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

@media (max-width: 359px) {
  .cookie-consent-panel {
    padding: 10px;
  }
}
