/* Shared by public pages, login and checkout. */
.cookie-banner,
html[data-hyperion-device="mobile"] .cookie-banner {
  box-sizing: border-box;
  position: fixed;
  left: max(12px, env(safe-area-inset-left)) !important;
  right: max(12px, env(safe-area-inset-right)) !important;
  bottom: max(12px, env(safe-area-inset-bottom)) !important;
  transform: none !important;
  width: auto !important;
  max-width: 880px !important;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 20px;
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
  color: #f5f3ff;
  background: #181b31;
  border: 1px solid #555074;
  border-radius: 18px;
  box-shadow: 0 12px 45px #0006;
  font: 14px/1.5 system-ui, sans-serif;
  z-index: 1000;
}
.cookie-banner[hidden] { display: none !important; }
.cookie-banner > div { min-width: 0; }
.cookie-banner p { margin: 5px 0 0; color: #d0cbdf; font-size: 13px; }
.cookie-banner a { color: #dccdff; }
.cookie-banner .cookie-actions { display: flex; gap: 8px; flex-shrink: 0; }
.cookie-banner button { min-height: 44px; padding: 10px 18px; border: 1px solid #736b8b; border-radius: 11px; background: transparent; color: #fff; font: inherit; cursor: pointer; white-space: normal; }
.cookie-banner #cookie-accept { background: #7653bf; border-color: #b292e8; }
.cookie-banner button:focus-visible { outline: 3px solid #dbc6ff; outline-offset: 2px; }
.checkout-flow-notice { position: fixed; left: 16px; right: 16px; bottom: 22px; margin: auto; max-width: 650px; padding: 18px; border-radius: 14px; color: #fff; background: #342843; border: 1px solid #ba96cb; z-index: 1010; line-height: 1.5; }
.checkout-flow-notice a { color: #dccbff; font-weight: 700; }
.checkout-flow-notice button { display: block; margin-top: 10px; padding: 8px 14px; font: inherit; }
.payment-check { margin: 14px 0; padding: 14px; border: 1px solid #696083; border-radius: 12px; background: #211e354d; line-height: 1.6; }
.payment-check p { margin: 0 0 12px; }
.payment-check button { min-height: 44px; padding: 10px 14px; cursor: pointer; white-space: normal; }
@media (max-width: 600px) {
  .cookie-banner,
  html[data-hyperion-device="mobile"] .cookie-banner { flex-direction: column !important; align-items: stretch !important; gap: 12px; padding: 14px; border-radius: 14px; }
  .cookie-banner .cookie-actions { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; width: 100%; }
  .cookie-banner .cookie-actions .btn { width: 100%; min-width: 0; }
}

.commerce-trust-line { display: grid; gap: 7px; border: 1px solid #6e9d8866; border-radius: 14px; padding: 15px 18px; background: #43694d18; line-height: 1.6; font-size: 14px; margin-block: 20px; }
.commerce-trust-line span { font-size: 13px; }
.commerce-trust-line a { font-weight: 600; }
