/* ReferralBooster inside Divi — neutralise theme interference.
   Load this AFTER rb-site.css. Scoped to .rb-embed so the rest of your site is untouched. */

/* break out of Divi's constrained row so full-width bands stay full-width */
.rb-embed{width:100vw;margin-left:calc(50% - 50vw);position:relative}
/* the footer-injected review modal is fixed-position, so it must not be widened */
.rb-embed--flat{width:auto;margin-left:0}

/* Divi adds bottom padding to every p and heading */
.rb-embed p,.rb-embed h1,.rb-embed h2,.rb-embed h3,.rb-embed h4,.rb-embed h5,.rb-embed h6{padding-bottom:0}
/* NB: never set line-height/font-weight/color to `inherit` on these. Divi's computed
   line-height is a pixel length (~24px), so inheriting it onto a 52px headline
   collapses the lines on top of each other. rb-site.css already sets what it needs. */

/* Divi colours links with an ID selector (#page-container a), which outranks every
   class rule here, so buttons and inline links need !important to hold their colour.
   The values below mirror rb-site.css exactly. */
.rb-embed a{color:inherit!important;text-decoration:none}
.rb-embed a.btn--cta,.rb-embed a.btn--cta:hover{color:#fff!important}
.rb-embed a.btn--onDark,.rb-embed a.btn--onDark:hover{color:#fff!important}
.rb-embed a.btn--ghost{color:var(--text-heading)!important}
.rb-embed a.btn--ghost:hover{color:var(--color-accent-strong)!important}
.rb-embed .svc__card .svc__foot a.btn--ghost,.rb-embed .svc__card .svc__foot a.btn--ghost:hover,
.rb-embed .bnd__card .svc__foot a.btn--ghost,.rb-embed .bnd__card .svc__foot a.btn--ghost:hover{color:#fff!important}
.rb-embed a.tlink{color:var(--color-accent-strong)!important}
.rb-embed .s-dark a:not(.btn),.rb-embed .hero a:not(.btn){color:#fff!important}
/* final CTA: white button with coral label on the coral band, and underlined white inline links */
.rb-embed .fcta a.btn,.rb-embed .fcta a.btn:hover{color:var(--color-accent-strong)!important}
.rb-embed .fcta p a,.rb-embed .fcta p a:hover{color:#fff!important}
/* the review modal is printed in the footer, outside .rb-embed, so it needs its own guard */
.rvm a{color:var(--color-accent-strong)!important}

/* Divi's own section/row/module spacing shows as white strips between the three Code
   modules that make up one page. Zero it wherever a module wraps our markup. */
.et_pb_section:has(.rb-embed),.et_pb_row:has(.rb-embed),.et_pb_module:has(.rb-embed),
.et_pb_fullwidth_code:has(.rb-embed),.et_pb_code:has(.rb-embed){margin:0!important;padding:0!important;border:0!important}
.rb-embed{margin:0}
.rb-embed{font-size:0;line-height:0}
.rb-embed>section,.rb-embed>div,.rb-embed>header,.rb-embed>footer{font-size:16px;line-height:1.6}
/* WordPress can also emit an empty paragraph between shortcodes */
.et_pb_section p:empty,.et_pb_fullwidth_code>br,.et_pb_code>br{display:none!important}

/* Divi forces height:auto on every img, which breaks object-fit covers: the founder
   photo, hero video slot and thumbnails then stop short of their container. */
.rb-embed .founder__ph,.rb-embed .founder--photo .founder__ph{height:100%!important;aspect-ratio:auto!important}
.rb-embed .founder__ph img,.rb-embed .vslot img,.rb-embed .work3__shot img,
.rb-embed .ba__fig img,.rb-embed .spec__shot img{width:100%!important;height:100%!important;object-fit:cover!important;display:block}

/* Divi also imposes its own heading font and weight from the Theme Customizer */
.rb-embed h1,.rb-embed h2,.rb-embed h3,.rb-embed h4,.rb-embed h5,.rb-embed h6,
.rb-embed .btn,.rb-embed .eyebrow{font-family:var(--font-heading)!important}
.rb-embed p,.rb-embed li,.rb-embed td,.rb-embed th{font-family:var(--font-body)!important}

/* Divi's list and box-model defaults */
.rb-embed ul,.rb-embed ol{margin:0;padding:0;list-style:none}
.rb-embed li{list-style:none}
.rb-embed *,.rb-embed *::before,.rb-embed *::after{box-sizing:border-box}

/* Divi styles links globally; these pages define their own */
.rb-embed a{text-decoration:none}

/* Divi's image rules */
.rb-embed img{max-width:100%;height:auto}

/* the review modal must escape any Divi stacking context */
.rb-embed .rvm{z-index:99999}

/* ---- fail-safe reveals ----------------------------------------------------
   rb-site.css hides every .reveal section until JS adds .in. If the JS is ever
   blocked, stripped by a plugin, or throws, that would leave the page almost
   entirely invisible. So: visible by default, and only hidden once the inline
   script at the top of the embed has proved JS is alive by adding .rb-js. */
.rb-embed .reveal{opacity:1;transform:none}
.rb-embed.rb-js .reveal{opacity:0;transform:translateY(22px)}
.rb-embed.rb-js .reveal.in{opacity:1;transform:none}

.rb-embed .reveal .svc>.card,.rb-embed .reveal .bnd>.card,
.rb-embed .reveal .tst>.tst__card,.rb-embed .reveal .bento>.b{opacity:1;transform:none}
.rb-embed.rb-js .reveal .svc>.card,.rb-embed.rb-js .reveal .bnd>.card,
.rb-embed.rb-js .reveal .tst>.tst__card,.rb-embed.rb-js .reveal .bento>.b{opacity:0;transform:translateY(18px)}
.rb-embed.rb-js .reveal.in .svc>.card,.rb-embed.rb-js .reveal.in .bnd>.card,
.rb-embed.rb-js .reveal.in .tst>.tst__card,.rb-embed.rb-js .reveal.in .bento>.b{opacity:1;transform:none}
