.pss-consent[hidden] { display: none !important; }
.pss-consent {
  position: fixed;
  z-index: 1200;
  left: 24px;
  bottom: 24px;
  width: min(560px, calc(100% - 48px));
  padding: 22px;
  color: #10243d;
  background: #fff;
  border: 1px solid #d8e0e8;
  border-radius: 16px;
  box-shadow: 0 12px 48px rgb(7 27 53 / 20%);
}
.pss-consent h2, .pss-cookie-settings h2 { margin: 0 0 10px; font-size: 1.15rem; line-height: 1.35; letter-spacing: normal; }
.pss-consent p, .pss-cookie-settings p { margin: 0 0 16px; font-size: .9rem; line-height: 1.6; }
.pss-consent-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.pss-consent-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 14px;
  color: #10243d;
  background: #fff;
  border: 1px solid #10243d;
  border-radius: 8px;
  font: inherit;
  font-size: .85rem;
  font-weight: 700;
  cursor: pointer;
}
.pss-consent-button--primary { background: #10243d; color: #fff; }
.pss-consent-button:hover { box-shadow: 0 0 0 2px rgb(16 36 61 / 15%); }
.pss-consent-button:focus-visible, .pss-cookie-option input:focus-visible { outline: 3px solid #d36b21; outline-offset: 3px; }
.pss-cookie-settings { width: min(560px, calc(100% - 32px)); max-height: 85dvh; overflow: auto; padding: 30px; }
.pss-cookie-option { display: flex; gap: 12px; align-items: flex-start; margin: 18px 0; line-height: 1.5; font-size: .95rem; }
.pss-cookie-option input { flex: 0 0 auto; width: 20px; height: 20px; margin: 2px 0 0; accent-color: #10243d; }
.pss-cookie-option small { display: block; margin-top: 4px; font-size: .83rem; }
.pss-cookie-settings a { text-decoration: underline; }
@media (max-width: 700px) {
  .pss-consent { left: 12px; bottom: calc(74px + env(safe-area-inset-bottom, 0px)); width: calc(100% - 24px); padding: 17px; max-height: calc(100dvh - 110px); overflow: auto; }
  .pss-consent-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .pss-consent-actions [data-consent-open] { grid-column: 1 / -1; }
  .pss-cookie-settings { padding: 25px 20px; }
}
