/* Display-only placements. No reserved space until permitted or previewed. */
.tf-ad[hidden] { display: none !important; }
.tf-ad {
  box-sizing: border-box;
  width: min(100%, 728px);
  margin: 28px auto;
  clear: both;
  text-align: center;
  isolation: isolate;
}
.tf-ad-label {
  display: block;
  margin: 0 0 6px;
  color: var(--tf-muted, #b7c3c9);
  font: 500 10px/1.5 var(--tf-font, system-ui, sans-serif);
  letter-spacing: .12em;
  text-transform: uppercase;
}
/* Reserve the approved size on OUR wrapper, not on the provider placeholder. */
.tf-ad-box { min-height: 90px; }
/* Center fixed-width creatives without changing the empty placeholder's width. */
.tf-ad-box > [id^="ezoic-pub-ad-placeholder-"] > * { margin-inline: auto; }
.tf-ad-preview-art {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 90px;
  padding: 20px;
  border: 1px dashed currentColor;
  border-radius: var(--tf-radius-sm, 8px);
  color: var(--tf-muted, #b7c3c9);
  font: 400 12px/1.6 var(--tf-font, system-ui, sans-serif);
  background: color-mix(in srgb, currentColor 4%, transparent);
}
.tf-ad--results, .tf-ad--parents { width: 300px; margin: 24px auto 0; max-width: 100%; }
.tf-ad--results .tf-ad-box,
.tf-ad--results .tf-ad-preview-art,
.tf-ad--parents .tf-ad-box,
.tf-ad--parents .tf-ad-preview-art { min-height: 250px; }
.tf-results-ad .summary-card:not(:has([data-tf-ad-host])) { width: min(840px, 100%); }
@media (min-width: 800px) {
  .tf-results-ad .summary-card:not(:has([data-tf-ad-host])) { display: grid; grid-template-columns: minmax(0, 1fr) 300px; column-gap: 32px; }
  .tf-results-ad .summary-card:not(:has([data-tf-ad-host])) > * { grid-column: 1; }
  .tf-results-ad .summary-card:not(:has([data-tf-ad-host])) > .tf-ad--results { grid-column: 2; grid-row: 1 / span 9; align-self: center; margin: 0; }
}
.tf-ads-layout .tf-ad--home-top { margin: 14px auto 0; }
.tf-ads-layout .tf-page-shell:has(> .tf-ad--editorial-top:not([hidden])) { margin-top: 14px; }
.tf-ads-layout .tf-ad--editorial-top { margin: 0 auto var(--tf-page-start); }
.tf-ads-layout .hero-card--ad-preview { padding: clamp(20px, 3vh, 36px) 16px 18px; }
.tf-ads-layout .hero-card--ad-preview .hero-eyebrow { margin-bottom: 12px; }
.tf-ads-layout .hero-card--ad-preview h1 { font-size: clamp(3.2rem, 7.5vw, 6rem); }
.tf-ads-layout .hero-card--ad-preview .welcome-lead { margin-top: 16px; line-height: 1.45; }
.tf-ads-layout .hero-card--ad-preview .welcome-invitation { margin-top: 8px; }
.tf-ads-layout .hero-card--ad-preview #start-play { margin-top: 22px; }
.tf-ads-layout .hero-card--ad-preview .hero-reassurance { margin-top: 12px; }
.tf-ads-layout .hero-card--ad-preview .hero-social-proof { margin-top: 20px; }
.tf-ads-layout .hero-card--ad-preview .hero-discover { margin-top: 16px; }
@media (max-width: 799px) {
  .tf-ads-layout :is(.tf-ad--results, .tf-ad--parents) { width: min(320px, 100%); }
  .tf-ads-layout .tf-ad--home-top,
  .tf-ads-layout .tf-page-shell:has(> .tf-ad--editorial-top:not([hidden])) { margin-top: 12px; }
  .tf-ads-layout .tf-ad-box,
  .tf-ads-layout .tf-ad-preview-art { min-height: 50px; }
  .tf-ads-layout .tf-ad-preview-art { padding: 8px; font-size: 11px; }
  .tf-ads-layout .hero-card--ad-preview { padding: 24px 0 16px; }
  .tf-ads-layout .hero-card--ad-preview .hero-eyebrow { margin-bottom: 12px; }
  .tf-ads-layout .hero-card--ad-preview h1 { font-size: clamp(2.8rem, 12vw, 5rem); }
  .tf-ads-layout .hero-card--ad-preview .welcome-lead { margin-top: 14px; }
  .tf-ads-layout .hero-card--ad-preview #start-play { margin-top: 20px; }

  .tf-results-ad .summary-card:not(:has([data-tf-ad-host])) { width: min(460px, 100%); padding-inline: 16px; }
  .tf-ads-layout .tf-ad--results { margin: 0 auto 20px; }
}
/* New panels own their columns. Empty hosts take no space, while the one
   provider element keeps its approved dimensions at either destination. */
[data-tf-ad-host] { min-width: 0; }
[data-tf-ad-host]:not(:has(> .tf-ad:not([hidden]))) { display: none; }
[data-tf-ad-host] > .tf-ad { margin: 0 auto; }
.tf-ad[data-tf-ad-layout="desktop"] { width: min(300px, 100%); }
.tf-ad[data-tf-ad-layout="mobile"] { width: min(320px, 100%); }
.tf-ad[data-tf-ad-layout="mobile"] .tf-ad-box,
.tf-ad[data-tf-ad-layout="mobile"] .tf-ad-preview-art { min-height: 50px; }
.tf-ad[data-tf-ad-layout="mobile"] .tf-ad-preview-art { padding: 8px; font-size: 11px; }
/* Reserve the largest size offered together; smaller creatives stay centered. */
.tf-ad[data-tf-ad-size="728x90"] .tf-ad-box,
.tf-ad[data-tf-ad-size="728x90"] .tf-ad-preview-art { min-height: 90px; }
.tf-ad[data-tf-ad-size="468x60"] .tf-ad-box,
.tf-ad[data-tf-ad-size="468x60"] .tf-ad-preview-art { min-height: 60px; }
.tf-ad[data-tf-ad-size="468x60"] .tf-ad-box { width: 468px; margin-inline: auto; }
.tf-ad[data-tf-ad-size="320x50"] .tf-ad-box,
.tf-ad[data-tf-ad-size="320x50"] .tf-ad-preview-art { min-height: 50px; }
.tf-ad[data-tf-ad-size="320x50"] .tf-ad-box { width: 320px; margin-inline: auto; }
@media (max-height: 700px) and (min-width: 800px) {
  .tf-ads-layout .hero-card--ad-preview { padding-top: 20px; }
  .tf-ads-layout .hero-card--ad-preview h1 { font-size: clamp(3.2rem, 7vw, 5.2rem); }
}
@media print { .tf-ad { display: none !important; } }
