.bfree-privacy-controls {
  flex: 0 0 100%;
  text-align: center;
}

/* Keep the footer controls reachable above the fixed service buttons and ticker. */
footer:has(.bfree-privacy-controls)::after {
  content: "";
  display: block;
  block-size: 120px;
}

button.bfree-privacy-trigger {
  background: transparent;
  border: 0;
  color: #f8f6f1;
  cursor: pointer;
  font: inherit;
  min-block-size: 34px;
  padding: 6px 0;
  scroll-margin-block: 100px 134px;
  text-decoration: underline;
  text-underline-offset: 0.18em;
  white-space: normal;
}

.bfree-privacy-dialog {
  background: #fff;
  border: 1px solid #82776a;
  border-radius: 8px;
  box-sizing: border-box;
  color: #242320;
  font: 1rem/1.5 system-ui, sans-serif;
  inline-size: min(30rem, calc(100% - 24px));
  margin: auto;
  max-block-size: calc(100% - 24px);
  overflow: auto;
  overflow-wrap: anywhere;
  padding: 18px;
  text-align: start;
}

.bfree-privacy-dialog::backdrop { background: #161412a6; }
.bfree-privacy-dialog h2 { color: inherit; font: 700 1.2rem/1.3 system-ui, sans-serif; margin: 0 0 10px; }
.bfree-privacy-dialog p { margin: 0 0 12px; }
.bfree-privacy-status { font-weight: 600; }
.bfree-privacy-actions { display: flex; flex-wrap: wrap; gap: 8px; }

.bfree-privacy-actions button, button.bfree-video-load {
  background: #fff;
  border: 1px solid #82776a;
  border-radius: 5px;
  color: #242320;
  cursor: pointer;
  font: 600 0.9rem/1.35 system-ui, sans-serif;
  min-block-size: 40px;
  padding: 6px 10px;
}

.bfree-privacy-actions button:hover, button.bfree-video-load:hover { background: #f3ede4; }
.bfree-privacy-trigger:focus-visible, .bfree-privacy-actions button:focus-visible, .bfree-video-load:focus-visible {
  outline: 2px solid #4b8597;
  outline-offset: 3px;
}

.bfree-video-placeholder, .prop-video > noscript > .bfree-video-fallback {
  align-content: center;
  background: #262522;
  box-sizing: border-box;
  color: #fff;
  display: grid;
  font: 0.875rem/1.35 system-ui, sans-serif;
  gap: 8px;
  block-size: 100%;
  inline-size: 100%;
  justify-items: center;
  overflow-wrap: anywhere;
  padding: 10px;
  text-align: center;
}

.bfree-video-placeholder button { max-inline-size: 100%; }
.bfree-video-icon { margin-inline-end: 7px; }
.prop-video iframe { border: 0; }
