/* Editorial containers only. Google's control, shadow DOM and iframe are
   deliberately untouched. Hidden integrations must leave no empty space. */
[data-preferred-source-placement][hidden],
[data-preferred-source-placement] > .preferred-source-widget[hidden],
[data-preferred-source-placement] > .preferred-source-consent[hidden],
[data-preferred-source-placement] > .preferred-source-loading[hidden],
[data-preferred-source-placement] > .preferred-source-fallback[hidden] { display: none !important; }

[data-preferred-source-placement], .preferred-source-noscript {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
  margin: 28px 0;
  padding: 20px 24px;
  border: 1px solid var(--color-border, #e8e7e3);
  border-radius: var(--radius-sm, 6px);
  background: var(--color-bg-secondary, #f5f4f0);
  color: var(--color-text-primary, #0d0d0d);
  font-family: var(--font-primary, 'Inter', sans-serif);
  text-align: left;
}
[data-preferred-source-placement] .preferred-source-title {
  margin: 0 0 6px;
  padding: 0;
  color: inherit;
  font-family: inherit;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: normal;
}
[data-preferred-source-placement] .preferred-source-copy {
  margin: 0 0 14px;
  padding: 0;
  color: var(--color-text-secondary, #6b6b6b);
  font-family: inherit;
  font-size: 15px;
  line-height: 1.6;
}
[data-preferred-source-placement] .preferred-source-widget { max-width: 100%; }
[data-preferred-source-placement] .preferred-source-fallback,
[data-preferred-source-placement][data-integration-type="deeplink"] > a {
  color: inherit;
  font-size: 14px;
  line-height: 1.6;
  text-decoration: underline;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}
.preferred-source-link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}
.preferred-source-consent-button {
  max-width: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 14px;
  line-height: 1.6;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: normal;
  cursor: pointer;
}
.preferred-source-consent-button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}
[data-preferred-source-placement] .preferred-source-consent-copy {
  margin: 8px 0 0;
  padding: 0;
  color: var(--color-text-secondary, #6b6b6b);
  font: inherit;
  font-size: 13px;
  line-height: 1.6;
}
[data-preferred-source-placement] .preferred-source-loading {
  margin: 0;
  padding: 0;
  color: var(--color-text-secondary, #6b6b6b);
  font: inherit;
  font-size: 14px;
  line-height: 1.6;
}
.preferred-source-loading:focus {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}
.preferred-source-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
[data-preferred-source-placement][data-variant="archive"] {
  grid-column: 1 / -1;
  margin-block: 8px;
}
[data-preferred-source-placement][data-variant="article-end"] { margin-block: 32px; }
[data-preferred-source-placement][data-variant="footer"],
[data-preferred-source-placement="insights_menu"] {
  margin: 12px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
}
[data-preferred-source-placement][data-variant="footer"] .preferred-source-title {
  font-size: 14px;
  font-weight: 400;
}
[data-preferred-source-placement="insights_menu"] { margin: 0; }
[data-preferred-source-placement="insights_menu"] a { display: block; }
/* The server inserts these fallback slots after cards 1, 2 and 3. Exactly one
   is visible when scripting is unavailable; normal DOM flow preserves order. */
.preferred-source-noscript-grid { display: none; }
.preferred-source-noscript-grid > .preferred-source-noscript { margin: 8px 0; }
@media (scripting: none) and (min-width: 969px) {
  .preferred-source-noscript-grid[data-preferred-source-grid-columns="3"] { display: block; grid-column: 1 / -1; }
}
@media (scripting: none) and (min-width: 641px) and (max-width: 968px) {
  .preferred-source-noscript-grid[data-preferred-source-grid-columns="2"] { display: block; grid-column: 1 / -1; }
}
@media (scripting: none) and (max-width: 640px) {
  .preferred-source-noscript-grid[data-preferred-source-grid-columns="1"] { display: block; grid-column: 1 / -1; }
}
/* These positions are siblings of existing full-width sections, so the new
   editorial panel gets its own content width without altering those sections. */
:is([data-preferred-source-placement="homepage_insights"], [data-preferred-source-placement="category_archive"],
    [data-preferred-source-placement="event_recap_end"], [data-preferred-source-placement="services_secondary"],
    [data-preferred-source-noscript="homepage_insights"], [data-preferred-source-noscript="category_archive"],
    [data-preferred-source-noscript="event_recap_end"], [data-preferred-source-noscript="services_secondary"]) {
  width: calc(100% - 64px);
  max-width: var(--max-width, 1200px);
  margin: 28px auto;
}

@media (max-width: 430px) {
  [data-preferred-source-placement] {
    padding: 18px 4px;
    border-left: 0;
    border-right: 0;
    border-radius: 0;
  }
}
/* Existing containers have 32px gutters. Give only this new container 8px
   back on narrow phones, so the unscaled official control fits naturally. */
@media (max-width: 374px) {
  :is([data-preferred-source-placement="article_intro"], [data-preferred-source-placement="article_end"],
      [data-preferred-source-placement="article_byline"], [data-preferred-source-placement="ai_pulse_archive"],
      [data-preferred-source-placement="insights_grid"]) {
    width: calc(100% + 16px);
    max-width: none;
    margin-inline: -8px;
    padding-inline: 0;
  }
  :is([data-preferred-source-placement="homepage_insights"], [data-preferred-source-placement="category_archive"],
      [data-preferred-source-placement="event_recap_end"], [data-preferred-source-placement="services_secondary"],
      [data-preferred-source-noscript="homepage_insights"], [data-preferred-source-noscript="category_archive"],
      [data-preferred-source-noscript="event_recap_end"], [data-preferred-source-noscript="services_secondary"]) {
    width: calc(100% - 48px);
    padding-inline: 0;
  }
}
