/* TermsFeed Privacy Consent — custom CSS (provided by TermsFeed support).
   Self-hosted so it's cacheable and easy to drop-in replace if they send
   an updated version. Loaded via <link> from scripts/ClientScripts.tsx.

   Outfit @import was intentionally stripped — the site already loads Outfit
   via Next.js fonts on home-v3 and the font stack falls back gracefully
   on other pages. */

/* ---- 1. Brand tokens + palette variable overrides ------------------------ */
/* These 4 variables are read by the plugin for banner bg/text + button colors. */
.termsfeed-pc1-color-palette-light,
.termsfeed-pc1-color-palette-dark,
.termsfeed-pc1-notice-banner,
.termsfeed-pc1-preferences-center,
.termsfeed-pc1-ec {
  --termsfeed-privacy-consent--banner-background-color: #ffffff;
  --termsfeed-privacy-consent--banner-text-color: #1f2937;
  --termsfeed-privacy-consent--button-background-color: #4F46E5;
  --termsfeed-privacy-consent--button-text-color: #ffffff;

  /* Local design tokens used throughout this stylesheet */
  --pc-brand: #4F46E5;
  --pc-brand-hover: #4338CA;
  --pc-ink: #111827;
  --pc-text: #374151;
  --pc-muted: #6b7280;
  --pc-border: #e5e7eb;
  --pc-surface: #ffffff;
  --pc-surface-2: #f9fafb;
  --pc-radius-card: 18px;
  --pc-radius-btn: 11px;
  --pc-shadow: 0 18px 50px rgba(17, 24, 39, .20), 0 2px 8px rgba(17, 24, 39, .06);
  --pc-font: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/* ---- 2. Typography: Outfit everywhere ------------------------------------ */
.termsfeed-pc1-notice-banner,
.termsfeed-pc1-notice-banner *,
.termsfeed-pc1-preferences-center,
.termsfeed-pc1-preferences-center *,
.termsfeed-pc1-sticky-element,
.termsfeed-pc1-sticky-element *,
.termsfeed-pc1-ec,
.termsfeed-pc1-ec * {
  font-family: var(--pc-font) !important;
  -webkit-font-smoothing: antialiased;
}

/* ---- 3. Links (both layers) ---------------------------------------------- */
.termsfeed-pc1-notice-banner a,
.termsfeed-pc1-preferences-center a,
.termsfeed-pc1-ec a {
  color: var(--pc-brand) !important;
  background: transparent !important; /* neutralise host-site <a> styles + plugin highlight */
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  padding: 0 !important;
  transition: color .15s ease !important;
}
.termsfeed-pc1-notice-banner a:hover,
.termsfeed-pc1-preferences-center a:hover,
.termsfeed-pc1-ec a:hover {
  color: var(--pc-brand-hover) !important;
}

/* ============================================================================
   4. FIRST LAYER — NOTICE BANNER  (floating card, bottom-left)
   ============================================================================ */
.termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-layout {
  width: auto !important;
  max-width: 460px !important;
  left: 24px !important;
  right: auto !important;
  bottom: 24px !important;
  top: auto !important;
  background: var(--pc-surface) !important;
  color: var(--pc-text) !important;
  border: 1px solid var(--pc-border) !important;
  border-radius: var(--pc-radius-card) !important;
  box-shadow: var(--pc-shadow) !important;
  overflow: hidden !important;
}

.termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-inner {
  display: block !important;
  padding: 18px 20px 16px !important;
}

/* Optional site-name header row — keep tidy */
.termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-header {
  margin-bottom: 4px !important;
}

/* "We use cookies" title (if present in your config) */
.termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-content-weusecookies-title {
  color: var(--pc-ink) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin: 0 0 10px !important;
}

/* Body text */
.termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-content,
.termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-content p {
  color: var(--pc-text) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}
.termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-content-youcanchange {
  margin-top: 4px !important;
}

/* Buttons row */
.termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-footer {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  margin-top: 12px !important;
}
.termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  width: 100% !important;
}

/* All notice-banner buttons share this base */
.termsfeed-pc1-notice-banner [class*="termsfeed-pc1-notice-banner-footer-"][class*="-button"] {
  margin: 0 !important;
  flex: 1 1 auto !important;
  min-height: 36px !important;
  padding: 8px 14px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  border: 1.5px solid transparent !important;
  border-radius: var(--pc-radius-btn) !important;
  cursor: pointer !important;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .05s ease !important;
}
.termsfeed-pc1-notice-banner [class*="termsfeed-pc1-notice-banner-footer-"][class*="-button"]:active {
  transform: translateY(1px) !important;
}

/* Accept all — primary, brand indigo */
.termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-footer-acceptall-button {
  background: var(--pc-brand) !important;
  color: #fff !important;
  border-color: var(--pc-brand) !important;
}
.termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-footer-acceptall-button:hover {
  background: var(--pc-brand-hover) !important;
  border-color: var(--pc-brand-hover) !important;
}

/* Reject all — equal-weight solid dark (good for compliance) */
.termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-footer-rejectall-button {
  background: var(--pc-ink) !important;
  color: #fff !important;
  border-color: var(--pc-ink) !important;
}
.termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-footer-rejectall-button:hover {
  background: #000 !important;
  border-color: #000 !important;
}

/* Save preferences (if shown) — outline */
.termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-footer-savepreferences-button,
.termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-footer-selectall-button,
.termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-footer-openpreferences-button,
.termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-footer-got-it-button {
  background: #fff !important;
  color: var(--pc-ink) !important;
  border-color: var(--pc-border) !important;
}
.termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-footer-savepreferences-button:hover,
.termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-footer-selectall-button:hover,
.termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-footer-openpreferences-button:hover,
.termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-footer-got-it-button:hover {
  background: var(--pc-surface-2) !important;
}

/* Close — quiet text button, doesn't stretch */
.termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-footer-close-button {
  background: transparent !important;
  color: var(--pc-muted) !important;
  border-color: transparent !important;
  flex: 0 0 auto !important;
}
.termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-footer-close-button:hover {
  color: var(--pc-ink) !important;
}

/* ============================================================================
   5. SECOND LAYER — PREFERENCES CENTER  (centered white modal)
   ============================================================================ */
/* Root container — make transparent so the website behind is visible through
   the backdrop. Default TermsFeed renders this as solid white which blocks
   the page entirely. */
.termsfeed-pc1-preferences-center {
  background: transparent !important;
}

/* Frosted-glass backdrop — soft white tint with stronger blur, so the page
   behind the modal reads as a hazy, lighter background instead of fully visible.
   Pinned to the viewport explicitly because the parent container is transparent
   and may not provide a positioning context. */
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-overlay {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(255, 255, 255, .55) !important;
  opacity: 1 !important;
  -webkit-backdrop-filter: blur(14px) saturate(140%) !important;
  backdrop-filter: blur(14px) saturate(140%) !important;
  z-index: 0 !important;
}

/* The card */
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-layout {
  width: min(620px, 92vw) !important;
  max-width: 620px !important;
  height: auto !important;
  max-height: 72vh !important;
  margin: 14vh auto !important;
  padding: 0 !important;
  background: var(--pc-surface) !important;
  color: var(--pc-text) !important;
  border-radius: 20px !important;
  box-shadow: var(--pc-shadow) !important;
  overflow: hidden !important;
}
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-inner {
  display: flex !important;
  flex-direction: column !important;
  max-height: 72vh !important;
  overflow: hidden !important;
}

/* Header */
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-header {
  flex: 0 0 auto !important;
  align-items: center !important;
  padding: 16px 26px !important;
  border-bottom: 1px solid var(--pc-border) !important;
}
/* The header's inner row that holds [sitedetails] + [close button] —
   keep them vertically centered so the logo and X line up. */
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-header-sitedetails-close {
  align-items: center !important;
}
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-header-sitedetails {
  display: flex !important;
  align-items: center !important;
}
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-sitedetails {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}
/* Oliv logo in the header — inserted via ::before so we don't need to modify
   TermsFeed's DOM. Uses the dark-on-light logo since the modal background is
   white. */
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-sitedetails::before {
  content: '' !important;
  display: block !important;
  width: 60px !important;
  height: 22px !important;
  background-image: url('/oliv-dark.svg') !important;
  background-repeat: no-repeat !important;
  background-position: left center !important;
  background-size: contain !important;
}
/* Hide the "Oliv AI" title and "oliv.ai" subtitle — logo is the only header
   identity. Keeps the markup intact so TermsFeed's logic doesn't break. */
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-sitedetails-websitename,
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-sitedetails-websiteurl {
  display: none !important;
}

/* The "oliv.ai" anchor in the header gets focus on modal open and shows a
   visible browser focus ring even for mouse users. Suppress :focus (mouse +
   programmatic focus) but keep :focus-visible so keyboard users still see
   the ring when they tab to it. */
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-sitedetails-websiteurl-link:focus {
  outline: none !important;
  box-shadow: none !important;
}
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-sitedetails-websiteurl-link:focus:not(:focus-visible) {
  outline: none !important;
}
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-sitedetails-websiteurl-link:focus-visible {
  outline: 2px solid var(--pc-brand) !important;
  outline-offset: 2px !important;
  border-radius: 4px !important;
}

/* Exit "X" */
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-header-exit-button {
  background: transparent !important;
  color: var(--pc-muted) !important;
  border-radius: 8px !important;
  transition: background-color .15s ease, color .15s ease !important;
}
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-header-exit-button:hover {
  background: var(--pc-surface-2) !important;
  color: var(--pc-ink) !important;
}

/* Scrollable content */
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-content {
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  padding: 8px 26px 20px !important;
  color: var(--pc-text) !important;

  /* Slim light scrollbar (Firefox) */
  scrollbar-width: thin !important;
  scrollbar-color: #d1d5db transparent !important;
}
/* Slim light scrollbar (WebKit / Blink — Chrome, Edge, Safari) */
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-content::-webkit-scrollbar {
  width: 6px !important;
  background: transparent !important;
}
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-content::-webkit-scrollbar-thumb {
  background: #d1d5db !important;
  border-radius: 999px !important;
}
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-content::-webkit-scrollbar-thumb:hover {
  background: #9ca3af !important;
}
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-content::-webkit-scrollbar-track {
  background: transparent !important;
}
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-content p {
  color: var(--pc-text) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

/* Section titles */
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-content-aboutpreferencescenter-title,
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-content-purposes-title,
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-content-vendors-title,
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-content-dnsmpi-title,
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-content-more-info-title,
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-content-consent-token-title {
  color: var(--pc-ink) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  margin-top: 4px !important;
}

/* Section separators */
.termsfeed-pc1-preferences-center .termsfeed-pc1-section-separator {
  background: var(--pc-border) !important;
  opacity: 1 !important;
  height: 1px !important;
  margin: 18px 0 !important;
}

/* Vendor category rows */
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-content-vendors-category {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 4px 0 !important;
}
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-content-vendors-category-title {
  color: var(--pc-ink) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
}
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-content-vendors-category-description {
  color: var(--pc-muted) !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  padding-top: 6px !important;
}

/* ============================================================================
   6. TOGGLE SWITCHES — brand indigo when ON  (both layers)
   ============================================================================ */
.termsfeed-pc1-notice-banner .custom-toggle-input,
.termsfeed-pc1-preferences-center .custom-toggle-input {
  width: 46px !important;
  height: 26px !important;
}
/* Track (off state) */
.termsfeed-pc1-notice-banner .custom-toggle-slider,
.termsfeed-pc1-preferences-center .custom-toggle-slider {
  background: #d1d5db !important;
  border: none !important;
  border-radius: 999px !important;
  transition: background-color .25s ease !important;
}
/* Knob */
.termsfeed-pc1-notice-banner .custom-toggle-slider:before,
.termsfeed-pc1-preferences-center .custom-toggle-slider:before {
  height: 20px !important;
  width: 20px !important;
  left: 3px !important;
  bottom: 3px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .25) !important;
  transition: transform .25s ease !important;
}
/* Track (on state) */
.termsfeed-pc1-notice-banner .custom-toggle .custom-toggle-input input:checked + .custom-toggle-slider,
.termsfeed-pc1-preferences-center .custom-toggle .custom-toggle-input input:checked + .custom-toggle-slider,
.termsfeed-pc1-notice-banner .custom-toggle-input-tag:checked + .custom-toggle-slider,
.termsfeed-pc1-preferences-center .custom-toggle-input-tag:checked + .custom-toggle-slider {
  background: var(--pc-brand) !important;
  border: none !important;
}
/* Knob (on state) — slide right */
.termsfeed-pc1-notice-banner .custom-toggle .custom-toggle-input input:checked + .custom-toggle-slider:before,
.termsfeed-pc1-preferences-center .custom-toggle .custom-toggle-input input:checked + .custom-toggle-slider:before,
.termsfeed-pc1-notice-banner .custom-toggle-input-tag:checked + .custom-toggle-slider:before,
.termsfeed-pc1-preferences-center .custom-toggle-input-tag:checked + .custom-toggle-slider:before {
  transform: translateX(20px) !important;
}
/* Disabled (locked) toggles — keep brand but dim */
.termsfeed-pc1-preferences-center .custom-toggle.disabled .custom-toggle-slider {
  opacity: .55 !important;
}
.termsfeed-pc1-preferences-center .custom-toggle-label-status-text {
  color: var(--pc-muted) !important;
}

/* ============================================================================
   7. PREFERENCES CENTER — FOOTER  (docked inside the card)
   ============================================================================ */
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-footer {
  position: static !important;
  flex: 0 0 auto !important;
  width: auto !important;
  padding: 16px 26px !important;
  background: var(--pc-surface) !important;
  border-top: 1px solid var(--pc-border) !important;
}
/* Remove the big bottom padding the default used to clear the fixed footer */
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-content {
  padding-bottom: 20px !important;
}
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-footer-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
}

/* Footer buttons base */
.termsfeed-pc1-preferences-center [class*="termsfeed-pc1-preferences-center-footer-"][class*="-button"] {
  display: inline-block !important;
  width: auto !important;
  margin: 0 !important;
  min-height: 44px !important;
  padding: 11px 20px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border: 1.5px solid transparent !important;
  border-radius: var(--pc-radius-btn) !important;
  cursor: pointer !important;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease !important;
}

/* Save / accept / select — primary indigo, grows to fill */
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-footer-saveselection-button,
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-footer-acceptall-button,
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-footer-selectall-button {
  background: var(--pc-brand) !important;
  color: #fff !important;
  border-color: var(--pc-brand) !important;
  flex: 1 1 auto !important;
  text-align: center !important;
}
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-footer-saveselection-button:hover,
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-footer-acceptall-button:hover,
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-footer-selectall-button:hover {
  background: var(--pc-brand-hover) !important;
  border-color: var(--pc-brand-hover) !important;
}

/* Reject — solid dark */
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-footer-rejectall-button {
  background: var(--pc-ink) !important;
  color: #fff !important;
  border-color: var(--pc-ink) !important;
  flex: 1 1 auto !important;
  text-align: center !important;
}

/* Close — quiet */
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-footer-close-button {
  background: transparent !important;
  color: var(--pc-muted) !important;
  border-color: transparent !important;
  flex: 0 0 auto !important;
}
.termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-footer-close-button:hover {
  color: var(--pc-ink) !important;
  background: var(--pc-surface-2) !important;
}

/* ============================================================================
   8. STICKY "Privacy Preferences" tab  (re-open handle)
   ----------------------------------------------------------------------------
   We rely on TermsFeed's sticky button as the programmatic open-modal hook
   (clicked invisibly by our footer "Cookie Preferences" link — see
   components/CookiePreferencesLink). The button must stay in the DOM so the
   click forwarding works, but we hide it visually so users see only the
   footer link, not a floating widget.
   ============================================================================ */
.termsfeed-pc1-sticky-element {
  position: fixed !important;
  left: -9999px !important;
  top: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
/* The button itself stays interactable for programmatic .click() calls. */
.termsfeed-pc1-sticky-element button {
  pointer-events: auto !important;
}

/* ============================================================================
   9. ACCESSIBILITY — visible keyboard focus (brand ring) on both layers
   ============================================================================ */
.termsfeed-pc1-notice-banner a:focus,
.termsfeed-pc1-notice-banner button:focus,
.termsfeed-pc1-notice-banner a:focus-visible,
.termsfeed-pc1-notice-banner button:focus-visible,
.termsfeed-pc1-preferences-center a:focus,
.termsfeed-pc1-preferences-center button:focus,
.termsfeed-pc1-preferences-center summary:focus,
.termsfeed-pc1-preferences-center a:focus-visible,
.termsfeed-pc1-preferences-center button:focus-visible,
.termsfeed-pc1-preferences-center summary:focus-visible,
.termsfeed-pc1-preferences-center .custom-toggle:focus,
.termsfeed-pc1-preferences-center .custom-toggle:focus-visible,
.termsfeed-pc1-preferences-center .custom-toggle:focus-within,
.termsfeed-pc1-sticky-element button:focus,
.termsfeed-pc1-sticky-element button:focus-visible {
  outline: 2px solid var(--pc-brand) !important;
  outline-offset: 2px !important;
  border-radius: var(--pc-radius-btn) !important;
}
.termsfeed-pc1-preferences-center summary:focus,
.termsfeed-pc1-preferences-center summary:focus-visible {
  border-radius: 8px !important;
}
.termsfeed-pc1-preferences-center .custom-toggle:focus,
.termsfeed-pc1-preferences-center .custom-toggle:focus-visible,
.termsfeed-pc1-preferences-center .custom-toggle:focus-within {
  border-radius: 999px !important;
}

/* ============================================================================
   10. RESPONSIVE — phones
   ============================================================================ */
@media (max-width: 520px) {
  .termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-layout {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    max-width: none !important;
    width: auto !important;
  }
  /* Stack the notice-banner buttons full-width (column = items stretch) */
  .termsfeed-pc1-notice-banner .termsfeed-pc1-notice-banner-buttons {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .termsfeed-pc1-notice-banner [class*="termsfeed-pc1-notice-banner-footer-"][class*="-button"] {
    flex: 0 0 auto !important;
    width: 100% !important;
  }
  .termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-layout {
    width: 94vw !important;
    max-height: 80vh !important;
    margin: 8vh auto !important;
  }
  .termsfeed-pc1-preferences-center .termsfeed-pc1-preferences-center-footer-buttons {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .termsfeed-pc1-preferences-center [class*="termsfeed-pc1-preferences-center-footer-"][class*="-button"] {
    width: 100% !important;
    flex: 0 0 auto !important;
  }
}
