
/* BPT Core Pro V8 component compatibility layer.
   The companion BPT Premier Studio theme provides the primary visual system. */
.bpt-core-message{padding:14px 16px;border-left:4px solid #d4a72c;background:#f7f8fa;color:#33485b}
.bpt-core-hidden{display:none!important}

/* V8 production-complete components. Keep these restrained; the theme owns the visual system. */
.resource-actions,.resource-library-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.resource-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px}
.resource-card .resource-title{display:block;color:inherit;text-decoration:none;font-weight:700}
.resource-card .resource-actions{justify-content:flex-end}
.resource-download-link{white-space:nowrap}
.bpt-resource-single-meta{margin-top:36px;padding:22px 0;border-top:1px solid rgba(20,48,72,.18);border-bottom:1px solid rgba(20,48,72,.18)}
.bpt-resource-single-meta p{margin:.35rem 0 0}
.bpt-resource-download{margin-top:24px}
.result-meta,.testimonial-context{font-size:.92rem;opacity:.76}
.result-change{display:flex;gap:18px;flex-wrap:wrap;margin:16px 0}
.result-change span{display:grid;gap:2px;min-width:120px}
.result-change small{font-size:.78rem;letter-spacing:.02em;opacity:.65}
.result-context{font-style:italic;opacity:.78}
.tutor-profile-rows{margin-top:24px}
.parent-journey .info-row{align-items:start}
@media (max-width:720px){.resource-card{grid-template-columns:auto minmax(0,1fr)}.resource-card .resource-actions{grid-column:2;justify-content:flex-start}.resource-library-actions{align-items:flex-start}}

/* V8 production-complete enhancements */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.resource-filter-v8{grid-template-columns:minmax(180px,1.3fr) repeat(3,minmax(150px,1fr)) auto;align-items:center}
.resource-filter-v8 input,.resource-filter-v8 select{width:100%;min-height:46px;border:1px solid #b9c3cc;background:#fff;padding:8px 12px;color:#17212c;border-radius:0}
.resource-filter-v8 input:focus,.resource-filter-v8 select:focus{outline:3px solid rgba(212,167,44,.3);border-color:#0b2341}
.resource-filter-reset{font-weight:700;color:#173d6b;text-underline-offset:4px;white-space:nowrap}
.resource-empty-state{grid-column:1/-1;padding:30px 0;color:#5f6d79;border-top:1px solid #d9e0e6;border-bottom:1px solid #d9e0e6}
.resource-pagination{margin-top:34px}
.resource-pagination ul{display:flex;gap:8px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.resource-pagination a,.resource-pagination span{display:grid;place-items:center;min-width:42px;min-height:42px;padding:6px 10px;border:1px solid #b9c3cc;text-decoration:none;color:#0b2341;background:#fff}
.resource-pagination .current{background:#0b2341;color:#fff;border-color:#0b2341}
.bpt-resource-single-meta{background:#f7f8fa;padding:22px 24px}
@media(max-width:980px){.resource-filter-v8{grid-template-columns:1fr 1fr}.resource-filter-v8 button,.resource-filter-v8 .resource-filter-reset{width:100%}}
@media(max-width:620px){.resource-filter-v8{grid-template-columns:1fr}.resource-filter-v8 button{min-height:48px}}

/* V9 editorial whitespace repair -------------------------------------------------
   Inner-page leads now use meaningful imagery and balanced copy instead of leaving
   a large unused second column. The overrides intentionally sit in the Core plugin
   so existing BPT Premier Studio V5 theme installations do not need replacement. */
.page-lead.page-lead--visual{padding:0;background:#f7f8fa}
.page-lead .bpt-lead-with-media{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(30px,5vw,68px);align-items:stretch}
.bpt-lead-copy-block{display:flex;flex-direction:column;justify-content:center;padding:clamp(62px,7.5vw,104px) 0}
.page-lead .bpt-lead-copy-block h1{font-size:clamp(3.15rem,5.5vw,5.65rem);line-height:.96;max-width:11.5ch}
.bpt-lead-visual{position:relative;min-height:clamp(420px,39vw,560px);overflow:hidden;background:linear-gradient(135deg,#0b2341,#173d6b)}
.bpt-lead-visual-fallback{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,#0b2341 0%,#173d6b 60%,#2f6f63 100%);color:rgba(255,255,255,.09);font-family:var(--bpt-serif);font-size:clamp(9rem,18vw,18rem);font-weight:700}
.bpt-lead-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1}
.bpt-lead-visual:after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(11,35,65,.03) 32%,rgba(11,35,65,.82) 100%);pointer-events:none}
.bpt-lead-visual-copy{position:absolute;z-index:3;left:clamp(22px,3vw,40px);right:clamp(22px,3vw,40px);bottom:clamp(22px,3vw,38px);max-width:600px;color:#fff}
.bpt-lead-visual-copy p{margin:8px 0 0;max-width:58ch;font-size:1.05rem;line-height:1.5;color:#fff}
.bpt-lead-eyebrow{display:inline-block;color:#f0d889;font-size:.84rem;font-weight:700;letter-spacing:.045em;text-transform:uppercase}

/* compact legal page leads */
.page-lead.page-lead--compact{padding:clamp(58px,6vw,84px) 0}
.page-lead .bpt-lead-compact-grid{grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);align-items:center;gap:clamp(34px,5vw,72px)}
.page-lead .bpt-lead-compact-grid h1{font-size:clamp(3rem,5vw,5.1rem);max-width:13ch}
.bpt-lead-info-panel{background:#eaf2f7;border-left:4px solid #d4a72c;padding:clamp(24px,3vw,38px)}
.bpt-lead-info-panel p{margin:0;color:#3f5160;font-size:1.08rem;line-height:1.55}

/* tighten inner content rhythm and make mixed-media sections feel intentional */
.bpt-page .content-section{padding:clamp(58px,6.5vw,92px) 0}
.bpt-page .content-grid-2{align-items:center}
.bpt-page .photo-panel{position:relative;min-height:420px;overflow:hidden;background:linear-gradient(135deg,#0b2341,#173d6b)}
.bpt-page .photo-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.bpt-page .story-media{min-height:520px;background:linear-gradient(135deg,#0b2341,#173d6b);overflow:hidden}
.bpt-page .story-media img{width:100%;height:100%;min-height:520px;object-fit:cover;display:block}

/* If an editorial image cannot be loaded, the dark visual fallback still fills the
   intended space instead of leaving a blank white column. */
.bpt-page .photo-panel:empty,.bpt-page .story-media:empty{display:none}

@media(max-width:900px){
  .page-lead .bpt-lead-with-media{grid-template-columns:1fr;gap:0}
  .bpt-lead-copy-block{padding:58px 0 42px}
  .page-lead .bpt-lead-copy-block h1{max-width:14ch}
  .bpt-lead-visual{min-height:440px;margin-bottom:42px}
  .page-lead .bpt-lead-compact-grid{grid-template-columns:1fr;gap:28px}
  .bpt-page .photo-panel{min-height:380px}
  .bpt-page .story-media,.bpt-page .story-media img{min-height:430px;height:430px}
}
@media(max-width:620px){
  .page-lead .bpt-lead-copy-block h1{font-size:clamp(2.8rem,15vw,4.35rem)}
  .bpt-lead-visual{min-height:360px}
  .bpt-lead-visual-copy{left:20px;right:20px;bottom:20px}
  .bpt-lead-visual-copy p{font-size:.98rem}
  .bpt-page .content-section{padding:54px 0}
  .bpt-page .photo-panel{min-height:330px}
}


/* V10 desktop editorial pairing -------------------------------------------------
   Guarantee a true two-column lead on desktop. The theme previously allowed the
   media shortcode to render as a block above the copy on some GoDaddy/WordPress
   layouts. These rules explicitly define the layout and visual order. */
@media (min-width: 901px){
  .bpt-page .page-lead.page-lead--visual .site-shell.page-lead-grid.bpt-lead-with-media{
    display:grid !important;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) !important;
    grid-template-areas:"visual copy" !important;
    gap:clamp(42px,5vw,78px) !important;
    align-items:center !important;
    min-height:clamp(500px,50vw,680px);
    padding-top:clamp(54px,6vw,84px);
    padding-bottom:clamp(54px,6vw,84px);
  }
  .bpt-page .page-lead.page-lead--visual .bpt-lead-visual{
    grid-area:visual !important;
    width:100% !important;
    min-height:clamp(460px,42vw,590px) !important;
    height:100% !important;
    margin:0 !important;
    align-self:stretch !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
  .bpt-page .page-lead.page-lead--visual .bpt-lead-copy-block{
    grid-area:copy !important;
    width:100% !important;
    padding:0 !important;
    justify-self:stretch !important;
    align-self:center !important;
  }
  .bpt-page .page-lead.page-lead--visual .bpt-lead-copy-block h1{
    font-size:clamp(3.4rem,5vw,5.9rem) !important;
    line-height:.96 !important;
    max-width:10.75ch !important;
    margin-bottom:0 !important;
  }
  .bpt-page .page-lead.page-lead--visual .bpt-lead-visual>img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
  }

  /* Secondary two-column editorial sections should also stay side-by-side on desktop. */
  .bpt-page .site-shell.content-grid-2{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:clamp(42px,5vw,76px) !important;
    align-items:center !important;
  }
  .bpt-page .site-shell.content-grid-2 > *{
    min-width:0;
  }
  .bpt-page .site-shell.content-grid-2 .photo-panel,
  .bpt-page .site-shell.content-grid-2 .story-media{
    width:100% !important;
    margin:0 !important;
  }
}

/* Tablet/mobile remains intentionally stacked and readable. */
@media (max-width: 900px){
  .bpt-page .page-lead.page-lead--visual .site-shell.page-lead-grid.bpt-lead-with-media{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
  }
  .bpt-page .page-lead.page-lead--visual .bpt-lead-copy-block{
    order:1;
  }
  .bpt-page .page-lead.page-lead--visual .bpt-lead-visual{
    order:2;
    width:100% !important;
  }
  .bpt-page .site-shell.content-grid-2{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:34px !important;
  }
}
