/* Optional advertising preference panel; equal-size accept/reject controls. */
.pf-consent {
  position: fixed;
  z-index: 200;
  inset-inline: 16px;
  bottom: max(16px, env(safe-area-inset-bottom));
  width: min(680px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
  overscroll-behavior: contain;
  margin-inline: auto;
  padding: 20px;
  border: 1px solid var(--pf-bd, #E6E1D7);
  border-radius: 18px;
  background: var(--pf-bg2, #FFFFFF);
  color: var(--pf-charcoal, #1E2022);
  box-shadow: 0 8px 30px rgba(30, 32, 34, .18);
  font: 14px/1.55 Inter, system-ui, sans-serif;
  text-align: left;
}
.pf-consent[hidden], .pf-consent [hidden] { display: none !important; }
.pf-consent__heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pf-consent h2 { margin: 0; font: 800 19px/1.25 Nunito, system-ui, sans-serif; color: inherit; }
.pf-consent p { margin: 10px 0; overflow-wrap: break-word; }
.pf-consent__status, .pf-consent__storage { font-size: 12px; color: var(--pf-muted, #6B6E70); }
.pf-consent__choices { display: flex; gap: 12px; margin-top: 14px; }
.pf-consent__choice {
  flex: 1 1 0;
  min-width: 0;
  min-height: 46px;
  padding: 10px 16px;
  border: 1px solid var(--pf-charcoal, #1E2022);
  border-radius: 10px;
  background: var(--pf-bg2, #FFFFFF);
  color: var(--pf-charcoal, #1E2022);
  font: 600 15px/1.35 Inter, system-ui, sans-serif;
  cursor: pointer;
  touch-action: manipulation;
}
.pf-consent__choice:hover { background: var(--pf-bg3, #F2EFE9); }
.pf-consent__close {
  flex: 0 0 44px;
  min-height: 44px;
  padding: 4px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: inherit;
  font: 24px/1 system-ui, sans-serif;
  cursor: pointer;
}
.pf-consent__details { display: inline-block; min-height: 24px; margin-top: 12px; line-height: 24px; color: var(--pf-terracotta-deep, #9E4632); text-decoration: underline; text-underline-offset: 3px; }
.pf-consent button:focus-visible, .pf-consent a:focus-visible, [data-pf-consent-open]:focus-visible { outline: 2px solid var(--pf-terracotta-deep, #9E4632); outline-offset: 3px; }
[data-pf-consent-open] { min-height: 44px; font: inherit; color: inherit; background: none; border: 0; padding: 0; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
@media (max-width: 480px) {
  .pf-consent { inset-inline: 12px; width: calc(100% - 24px); padding: 16px; border-radius: 14px; font-size: 13px; }
  .pf-consent h2 { font-size: 18px; }
  .pf-consent__choices { gap: 10px; }
}
@media print { .pf-consent, [data-pf-consent-open] { display: none !important; } }
