/*
 * IB Editorial Theme 1.0.16
 * Universal Builder individual-design runtime.
 * Loaded after every template stylesheet so saved block settings remain the
 * final authority without rewriting the underlying editorial composition.
 */

body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-custom-style{
  /* Bridge current settings into every historical template variable family. */
  --ib-display:var(--ib-ub-heading-font)!important;
  --ib-serif:var(--ib-ub-heading-font)!important;
  --ib-card-font:var(--ib-ub-heading-font)!important;
  --ib-vr-display:var(--ib-ub-heading-font)!important;
  --ib-vr-serif:var(--ib-ub-heading-font)!important;
  --ib-ref072-display:var(--ib-ub-heading-font)!important;
  --ib-ref072-serif:var(--ib-ub-heading-font)!important;
  --ib-sans:var(--ib-ub-body-font)!important;
  --ib-menu-font:var(--ib-ub-body-font)!important;
  --ib-meta-font:var(--ib-ub-body-font)!important;
  --ib-vr-sans:var(--ib-ub-body-font)!important;
  --ib-vr-menu:var(--ib-ub-body-font)!important;
  --ib-ref072-sans:var(--ib-ub-body-font)!important;
  --ib-border:var(--ib-ub-line-color)!important;
  --ib-ub-line:var(--ib-ub-line-color)!important;
  --ib-ref-line:var(--ib-ub-line-color)!important;
  --ib-ref072-line:var(--ib-ub-line-color)!important;
  --ib-vr-line:var(--ib-ub-line-color)!important;
  --ib-muted:var(--ib-ub-text-color)!important;

  background-color:var(--ib-ub-bg-color)!important;
  color:var(--ib-ub-text-color)!important;
  font-family:var(--ib-ub-body-font)!important;
  text-align:var(--ib-ub-text-align,left)!important;
}

/* The visual surface itself must receive the custom background. */
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-custom-style > :is(section,.ib-container,.ib-ub-section,.ib-ref072,.ib-rrp),
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-custom-style > :is(section,.ib-container,.ib-ub-section,.ib-ref072,.ib-rrp) > :is(header,footer){
  background-color:var(--ib-ub-bg-color)!important;
  color:var(--ib-ub-text-color)!important;
}

/* Typography — font and color apply to all editorial heading variants. */
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-custom-style :is(
  h1,h2,h3,
  .ib-ub-big-word,
  .ib-ub-title,
  .ib-ub-heading,
  .ib-rrp__title,
  .ib-rrp__chapter,
  .ib-rrp__looks-heading,
  [class*="__heading"]
){
  font-family:var(--ib-ub-heading-font)!important;
  color:var(--ib-ub-title-color)!important;
  line-height:var(--ib-ub-title-line)!important;
}

/* The size control is for the main block title, not every card headline. */
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-custom-style :is(
  h1,
  section > h2,
  section > header h2,
  section > [class$="__intro"] > h2,
  section > [class$="__copy"] > h2,
  .ib-ub-hero-copy h1,
  .ib-ub-showcase-intro h2,
  .ib-ub-big-word,
  .ib-ub-heading > h2,
  .ib-ub-ref-simple-head > h2,
  .ib-ref072-head > h2,
  .ib-rrp__title
){
  font-size:var(--ib-ub-title-size)!important;
  line-height:var(--ib-ub-title-line)!important;
}

body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-custom-style :is(p,small,em,figcaption,[class*="__excerpt"],[class*="__description"]){
  font-family:var(--ib-ub-body-font)!important;
  color:var(--ib-ub-text-color)!important;
}
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-custom-style :is(.ib-ub-card strong,.ib-ub-mini-card strong,.ib-ref072 strong,[class*="card"] h3){
  font-family:var(--ib-ub-heading-font)!important;
  color:var(--ib-ub-title-color)!important;
}

/* Alignment must remain visible even in templates with explicit alignment. */
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-custom-style :is(h1,h2,h3,p,.ib-ub-eyebrow,.ib-ub-big-word,.ib-rrp__title,.ib-rrp__chapter){
  text-align:var(--ib-ub-text-align,left)!important;
}

/* Accent color: labels, utility copy, arrows and deliberate CTAs. */
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-custom-style :is(
  .ib-ub-eyebrow,
  .ib-ub-card__label,
  .ib-ub-link,
  .ib-rrp__eyebrow,
  .ib-rrp__cities,
  .ib-rrp__cta,
  .ib-rrp__hero-foot a,
  .ib-rrp__note-copy a,
  [class*="__cta"],
  [class*="-button"]
){
  color:var(--ib-ub-accent-color)!important;
}

/* Existing rules keep their border geometry; only the chosen color changes. */
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-custom-style *,
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-custom-style *::before,
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-custom-style *::after{
  border-color:var(--ib-ub-line-color)!important;
}
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-custom-style :is(hr,[class*="__line"],[class*="-line"]){
  background-color:var(--ib-ub-line-color)!important;
}

/* Padding presets regain final precedence. */
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-padding-none{padding:0!important}
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-padding-compact{padding:clamp(10px,1.5vw,22px)!important}
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-padding-standard{padding:clamp(18px,2.5vw,38px)!important}
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-padding-wide{padding:clamp(28px,4vw,64px)!important}

/* Unified CTA selectors for old and new template families. */
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-custom-style :is(
  .ib-ub-link,
  .ib-rrp__cta,
  .ib-rrp__hero-foot a,
  .ib-rrp__note-copy a,
  .ib-ref072-head a,
  [class*="__cta"]
){
  border-color:var(--ib-ub-accent-color)!important;
}
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-button-outline :is(.ib-ub-link,.ib-rrp__cta,.ib-rrp__hero-foot a,.ib-rrp__note-copy a,.ib-ref072-head a,[class*="__cta"]){
  display:inline-flex!important;
  padding:10px 16px!important;
  border:1px solid var(--ib-ub-accent-color)!important;
  background:transparent!important;
  color:var(--ib-ub-accent-color)!important;
}
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-button-solid :is(.ib-ub-link,.ib-rrp__cta,.ib-rrp__hero-foot a,.ib-rrp__note-copy a,.ib-ref072-head a,[class*="__cta"]){
  display:inline-flex!important;
  padding:11px 17px!important;
  border:1px solid var(--ib-ub-accent-color)!important;
  background:var(--ib-ub-accent-color)!important;
  color:var(--ib-ub-bg-color)!important;
}
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-button-text :is(.ib-ub-link,.ib-rrp__cta,.ib-rrp__hero-foot a,.ib-rrp__note-copy a,.ib-ref072-head a,[class*="__cta"]){
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--ib-ub-accent-color)!important;
}

/* Image controls are applied last, including isolated reference templates. */
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-image-fit-cover img{object-fit:cover!important}
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-image-fit-contain img{object-fit:contain!important;background-color:var(--ib-ub-bg-color)!important}
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-image-fit-natural img{object-fit:contain!important;height:auto!important;max-height:none!important;background-color:var(--ib-ub-bg-color)!important}
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-image-position-top img{object-position:center top!important}
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-image-position-center img{object-position:center center!important}
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-image-position-bottom img{object-position:center bottom!important}
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-image-position-left img{object-position:left center!important}
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-image-position-right img{object-position:right center!important}

/* UB-24 is isolated with all:initial, so explicitly reconnect its variables. */
body.ib-et .ib-ub-page .ib-ub-template-ref_runway_report_dashboard.ib-ub-custom-style .ib-rrp{
  --rrp-display:var(--ib-ub-heading-font)!important;
  --rrp-serif:var(--ib-ub-body-font)!important;
  --rrp-sans:var(--ib-ub-body-font)!important;
  background-color:var(--ib-ub-bg-color)!important;
  color:var(--ib-ub-text-color)!important;
}
body.ib-et .ib-ub-page .ib-ub-template-ref_runway_report_dashboard.ib-ub-custom-style .ib-rrp__stage{
  background-color:var(--ib-ub-bg-color)!important;
}
body.ib-et .ib-ub-page .ib-ub-template-ref_runway_report_dashboard.ib-ub-custom-style .ib-rrp__title{
  font-family:var(--ib-ub-heading-font)!important;
  color:var(--ib-ub-title-color)!important;
  font-size:var(--ib-ub-title-size)!important;
  line-height:var(--ib-ub-title-line)!important;
}
body.ib-et .ib-ub-page .ib-ub-template-ref_runway_report_dashboard.ib-ub-custom-style :is(.ib-rrp__intro,.ib-rrp__count-copy,.ib-rrp__focus-copy,.ib-rrp__hero-foot p,.ib-rrp__note-copy p){
  font-family:var(--ib-ub-body-font)!important;
  color:var(--ib-ub-text-color)!important;
}
body.ib-et .ib-ub-page .ib-ub-template-ref_runway_report_dashboard.ib-ub-custom-style :is(.ib-rrp__chapter,.ib-rrp__looks-heading){
  font-family:var(--ib-ub-heading-font)!important;
  color:var(--ib-ub-title-color)!important;
}
/* Overlay text keeps its dedicated UB-24 color setting. */
body.ib-et .ib-ub-page .ib-ub-template-ref_runway_report_dashboard.ib-ub-custom-style .ib-rrp__hero-band strong,
body.ib-et .ib-ub-page .ib-ub-template-ref_runway_report_dashboard.ib-ub-custom-style .ib-rrp__hero-band em{
  color:var(--rrp-overlay-text,#fff)!important;
}

@media(max-width:680px){
  body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-padding-wide{padding:24px 16px!important}
  body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-padding-standard{padding:18px 12px!important}
}


/* -------------------------------------------------------------------------
   1.0.12 — Automatic title wrapping and image-collision guard
   -------------------------------------------------------------------------
   Titles may be enlarged by the editor, but they must always respect the
   width of their own text column. The rules below deliberately avoid
   JavaScript: the browser wraps at real column boundaries, which is lighter,
   more stable and also works inside the constructor preview.
*/
body.ib-et .ib-ub-page .ib-ub-instance,
body.ib-et .ib-ub-page .ib-ub-instance *{
  min-inline-size:0;
}

/* Grid/flex text regions are allowed to shrink instead of pushing into images. */
body.ib-et .ib-ub-page .ib-ub-instance :is(
  [class$="__intro"],
  [class$="__copy"],
  [class$="__content"],
  [class$="__text"],
  [class$="__caption"],
  [class*="-intro"],
  [class*="-copy"],
  [class*="-content"],
  [class*="-caption"],
  header,
  article,
  aside
){
  min-width:0!important;
}

/* Every real heading wraps by words at the edge of its own region. */
body.ib-et .ib-ub-page .ib-ub-instance :is(
  h1,h2,h3,
  .ib-ub-big-word,
  .ib-ub-title,
  .ib-ub-heading,
  .ib-rrp__title,
  [class$="__title"],
  [class$="__heading"],
  [class*="-title"],
  [class*="-heading"]
){
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}

/* Historical templates often place every title line inside a nowrap span. */
body.ib-et .ib-ub-page .ib-ub-instance :is(
  h1,h2,h3,
  .ib-ub-big-word,
  .ib-ub-title,
  .ib-ub-heading,
  .ib-rrp__title,
  [class$="__title"],
  [class$="__heading"],
  [class*="-title"],
  [class*="-heading"]
) > :is(span,strong,b,em){
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}

/* Individual-design titles use the chosen size as a maximum, then wrap. */
body.ib-et .ib-ub-page .ib-ub-instance.ib-ub-custom-style :is(
  h1,
  section > h2,
  section > header h2,
  section > [class$="__intro"] > h2,
  section > [class$="__copy"] > h2,
  .ib-ub-hero-copy h1,
  .ib-ub-showcase-intro h2,
  .ib-ub-big-word,
  .ib-ub-heading > h2,
  .ib-ub-ref-simple-head > h2,
  .ib-ref072-head > h2,
  .ib-rrp__title
){
  width:auto!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}

/* UB-24: retain the approved left-column wall while allowing any title size. */
@media (min-width:1100px){
  body.ib-et .ib-ub-page .ib-ub-template-ref_runway_report_dashboard .ib-rrp__left-main{
    overflow:visible!important;
    padding-right:1.25cqw!important;
  }
  body.ib-et .ib-ub-page .ib-ub-template-ref_runway_report_dashboard .ib-rrp__title{
    width:100%!important;
    max-width:100%!important;
    padding-right:0!important;
    white-space:normal!important;
    overflow:visible!important;
    text-wrap:balance;
  }
  body.ib-et .ib-ub-page .ib-ub-template-ref_runway_report_dashboard .ib-rrp__title span{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
  }
  body.ib-et .ib-ub-page .ib-ub-template-ref_runway_report_dashboard.ib-ub-custom-style .ib-rrp__title{
    font-size:var(--ib-ub-title-size)!important;
  }
}


/* 1.0.14 — UB-24 category heading lock ----------------------------------
   The right grid heading in UB-24 must keep the category typography even
   when the editor enables individual block styling. */
body.ib-et .ib-ub-page .ib-ub-template-ref_runway_report_dashboard.ib-ub-custom-style .ib-rrp__looks-heading,
body.ib-et .ib-ub-page .ib-ub-template-ref_runway_report_dashboard.ib-ub-custom-style .ib-rrp__looks-heading span{
  font:500 .77cqw/1 var(--rrp-sans)!important;
  font-family:var(--rrp-sans)!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}


/* 1.0.15 — exact UB-24 category typography parity -----------------------
   Individual block heading choices must not alter either category label. */
@media (min-width:1100px){
  body.ib-et .ib-ub-page .ib-ub-template-ref_runway_report_dashboard.ib-ub-custom-style :is(.ib-rrp__eyebrow,.ib-rrp__looks-heading,.ib-rrp__looks-heading span){
    font:var(--rrp-category-font)!important;
    font-family:var(--rrp-sans)!important;
    font-size:.77cqw!important;
    font-weight:500!important;
    line-height:1!important;
    letter-spacing:var(--rrp-category-tracking)!important;
    text-transform:uppercase!important;
  }
}


/* 1.0.16 — UB-24 custom-style content flow -----------------------------
   Individual fonts and sizes may increase copy height; the text regions and
   the grey note card must grow rather than clip or lose their bottom air. */
@media (min-width:1100px){
  body.ib-et .ib-ub-page .ib-ub-template-ref_runway_report_dashboard.ib-ub-custom-style .ib-rrp__intro{
    width:26.25cqw!important;
    max-width:calc(100% - 1.30cqw)!important;
  }
  body.ib-et .ib-ub-page .ib-ub-template-ref_runway_report_dashboard.ib-ub-custom-style .ib-rrp__right-foot{
    height:auto!important;
    min-height:8.18cqw!important;
    padding-bottom:1.62cqw!important;
  }
  body.ib-et .ib-ub-page .ib-ub-template-ref_runway_report_dashboard.ib-ub-custom-style :is(.ib-rrp__note-copy strong,.ib-rrp__note-copy p){
    width:auto!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
}
