/* Albain Institute: rules that only matter inside a Divi install.
   Loaded after albain.css, before the child style.css. */

/* ---- Divi resets and container widths ---- */
#page-container { padding-top: 0 !important; margin-top: 0 !important; }
#main-content { background: transparent; }
.albain-site .wrap { max-width: var(--max); width: 100%; }
.albain-site h1, .albain-site h2, .albain-site h3, .albain-site h4 {
  font-family: var(--font-head); color: var(--ink); padding-bottom: 0;
}
.albain-site p { padding-bottom: 0; }
.albain-site ul, .albain-site ol { list-style: none; padding: 0; }
.albain-site .check-list li { padding-left: 34px; }
.albain-site a { text-decoration: none; }

/* Admin bar offset for the sticky header */
.admin-bar header { top: 32px; }
@media (max-width: 782px) { .admin-bar header { top: 46px; } }

/* ============================================================
   DIVI OVERRIDES
   Divi prints its Theme Options and Customizer colours in an inline
   <style id="et-core-unified-…"> block that loads AFTER enqueued stylesheets,
   so it wins on the hero headings unless we raise specificity here.
   ============================================================ */

.albain-site .hero h1,
.albain-site .page-hero h1,
.albain-site .hero h2,
.albain-site .page-hero h2,
.albain-site .section-dark h1,
.albain-site .section-dark h2,
.albain-site .section-dark h3,
.albain-site .cta-band h2,
.albain-site .pf-head h1,
.albain-site .pf-head h2 { color: #fff !important; }

.albain-site .hero .lead,
.albain-site .page-hero .lead { color: rgba(255,255,255,0.92) !important; }

.albain-site .hero .eyebrow,
.albain-site .page-hero .eyebrow,
.albain-site .section-dark .eyebrow { color: var(--accent) !important; }

.albain-site .cta-band .eyebrow { color: #fff !important; }
.albain-site .cta-band p { color: rgba(255,255,255,0.85) !important; }
.albain-site .section-dark,
.albain-site .section-dark p,
.albain-site .section-dark li { color: rgba(255,255,255,0.9); }
.albain-site .stats .num { color: var(--accent) !important; }

/* Sticky header: position:sticky fails if any ancestor clips overflow or
   creates a containing block. Divi's wrappers do both in places. */
.albain-site #page-container,
.albain-site #et-main-area,
.albain-site #main-content,
.albain-site .entry-content { overflow: visible !important; transform: none !important; }
.albain-site header { position: sticky; top: 0; z-index: 100; }

/* Divi occasionally forces fixed backgrounds, which is expensive on scroll
   and is what a "sticky" feel usually turns out to be. */
.albain-site .hero-bg { background-attachment: scroll !important; }
