/* Blueprint To Progress — Personal Budget — page-specific production CSS
   Global BTP stylesheet remains the primary source for shared article typography/layout.
   Global stylesheet:
   https://blueprinttoprogress.com/wp-content/uploads/btp/btp-career-articles-V9.4-CLEAN-PRODUCTION.css
*/

.btp-article .article-container{
  width:100%;
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}

/* Eyebrow / category */
.btp-article .article-header .article-category{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-top:39px;
  margin-bottom:18px;
  padding:7px 13px;
  border-radius:999px;
  background:#eaf5ff;
  color:#1769aa;
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.btp-article .article-header h1{
  margin-top:0;
}

.btp-article .article-header .lead{
  margin-bottom:24px;
}

/* Standard BTP TOC: two columns desktop/tablet, one column mobile */
.btp-article .article-toc{
  margin:42px 0 48px;
  padding:24px 28px;
  background:#fff;
  border:1px solid #dce7f0;
  border-radius:14px;
}

.btp-article .article-toc h2{
  margin:0 0 18px;
  font-size:22px;
  line-height:1.2;
}

.btp-article .toc-columns{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:48px;
}

.btp-article .toc-columns ol{
  margin:0;
  padding-left:22px;
}

.btp-article .toc-columns li{
  margin:0 0 10px;
}

.btp-article .toc-columns a{
  text-decoration:none;
}

/* Article images */
.btp-article .btp-article-image{
  margin:38px 0 42px;
}

.btp-article .btp-hero-image{
  margin-top:34px;
  margin-bottom:44px;
}

.btp-article .btp-article-image img{
  display:block;
  width:100%;
  height:auto;
  border-radius:14px;
}

.btp-article .btp-article-image figcaption{
  margin-top:10px;
  text-align:center;
  font-size:14px;
  line-height:1.45;
  opacity:.72;
}

/* Responsive comparison-table treatment for any future comparison table */
.btp-article .comparison-table-wrapper{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  background:#fff;
  border:1px solid #dce7f0;
  border-radius:14px;
  margin:28px 0 36px;
}

.btp-article .comparison-table-wrapper table{
  width:100%;
  min-width:680px;
  border-collapse:collapse;
  background:#fff;
}

.btp-article .comparison-table-wrapper th,
.btp-article .comparison-table-wrapper td{
  padding:14px 16px;
  text-align:left;
  vertical-align:top;
  border-bottom:1px solid #e4ebf1;
}

.btp-article .comparison-table-wrapper th{
  font-weight:700;
}

/* CTA: distinct blue panel with blue button and white button text */
.btp-article .btp-article-cta{
  margin:56px 0 24px;
  padding:0;
  border-radius:16px;
  background:#1769aa;
  color:#fff;
  overflow:hidden;
}

.btp-article .btp-cta-inner{
  padding:34px 38px 36px;
}

.btp-article .btp-cta-eyebrow{
  margin:0 0 8px;
  color:#dff1ff;
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.btp-article .btp-article-cta h2{
  margin-top:0;
  color:#fff;
}

.btp-article .btp-article-cta p{
  color:#fff;
}

.btp-article .btp-article-cta a:not(.btp-button){
  color:#fff;
  text-decoration:underline;
  text-underline-offset:2px;
}

.btp-article .article-cta-actions{
  margin:24px 0 26px;
}

.btp-article .btp-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:13px 22px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:8px;
  background:#0b5c9e;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:700;
  line-height:1.2;
  box-shadow:0 6px 18px rgba(0,0,0,.16);
}

.btp-article .btp-button:hover,
.btp-article .btp-button:focus{
  background:#084d87;
  color:#fff !important;
  text-decoration:none !important;
}

.btp-article .btp-cta-action{
  margin-bottom:0;
}

@media (min-width:768px) and (max-width:1023px){
  .btp-article .article-container{
    width:calc(100% - 92px);
  }

  .btp-article .toc-columns{
    column-gap:32px;
  }
}

@media (max-width:767px){
  .btp-article .article-container{
    width:calc(100% - 32px);
  }

  .btp-article .article-header .article-category{
    margin-top:39px;
    margin-bottom:18px;
  }

  .btp-article .article-toc{
    margin-top:36px;
    padding:22px 20px;
  }

  .btp-article .toc-columns{
    grid-template-columns:1fr;
    gap:0;
  }

  .btp-article .toc-columns ol{
    padding-left:20px;
  }

  .btp-article .toc-columns ol + ol{
    margin-top:0;
  }

  .btp-article .btp-article-image{
    margin:32px 0 36px;
  }

  .btp-article .btp-hero-image{
    margin-top:30px;
    margin-bottom:36px;
  }

  .btp-article .btp-article-cta{
    margin-top:44px;
  }

  .btp-article .btp-cta-inner{
    padding:28px 22px 30px;
  }

  .btp-article .btp-button{
    width:100%;
  }

  .btp-article .comparison-table-wrapper{
    margin-left:0;
    margin-right:0;
  }
}


/* V3 correction layer — prevents theme/global styles from altering the BTP TOC. */
.btp-article .article-toc,
.btp-article .article-toc *{
  box-sizing:border-box;
}

.btp-article .article-toc h2{
  margin:0 0 18px !important;
  padding:0 !important;
}

.btp-article .article-toc .toc-columns{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:0 48px !important;
  margin:0 !important;
  padding:0 !important;
}

.btp-article .article-toc .toc-columns ol{
  display:block !important;
  margin:0 !important;
  padding:0 0 0 22px !important;
}

.btp-article .article-toc .toc-columns li{
  display:list-item !important;
  margin:0 0 10px !important;
  padding:0 !important;
}

.btp-article .article-toc .toc-columns ol + ol{
  margin-top:0 !important;
}

/* CTA: distinct premium blue panel + darker blue button with white text. */
.btp-article .btp-article-cta{
  position:relative;
  margin:56px 0 24px !important;
  padding:0 !important;
  background:#1769aa !important;
  border-radius:16px !important;
  overflow:hidden !important;
}

.btp-article .btp-cta-inner{
  padding:36px 38px 38px !important;
}

.btp-article .btp-article-cta h2{
  margin-top:0 !important;
  margin-bottom:12px !important;
  color:#fff !important;
}

.btp-article .btp-article-cta p{
  color:#fff !important;
}

.btp-article .btp-button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#0b5cab !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.32) !important;
  border-radius:8px !important;
  padding:13px 22px !important;
  font-weight:700 !important;
  text-decoration:none !important;
  box-shadow:0 6px 18px rgba(0,0,0,.16) !important;
}

.btp-article .btp-button:hover,
.btp-article .btp-button:focus{
  background:#084f92 !important;
  color:#fff !important;
  text-decoration:none !important;
}

@media (min-width:768px) and (max-width:1023px){
  .btp-article .article-container{
    width:calc(100% - 92px) !important;
  }

  .btp-article .article-toc .toc-columns{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:0 32px !important;
  }
}

@media (max-width:767px){
  .btp-article .article-container{
    width:calc(100% - 32px) !important;
  }

  .btp-article .article-toc .toc-columns{
    grid-template-columns:1fr !important;
    gap:0 !important;
  }

  .btp-article .article-toc .toc-columns ol{
    padding-left:20px !important;
  }

  .btp-article .btp-cta-inner{
    padding:30px 22px 32px !important;
  }

  .btp-article .btp-button{
    width:100% !important;
  }
}


/* =========================================================
   V4 FINAL VISUAL CORRECTIONS
   Benchmarked against the supplied BTP reference screenshots.
   ========================================================= */

/* Eyebrow: match the benchmark blue. */
.btp-article .article-header .article-category{
  background:#eaf4ff !important;
  color:#2563eb !important;
}

/* CTA: match the benchmark's light-blue treatment. */
.btp-article .btp-article-cta{
  background:#eaf4ff !important;
  border:1px solid #b9dcff !important;
  border-radius:0 !important;
  color:#334155 !important;
  text-align:center !important;
}

.btp-article .btp-cta-inner{
  padding:30px 38px 34px !important;
  text-align:center !important;
}

.btp-article .btp-article-cta h2{
  margin:0 0 12px !important;
  color:#111827 !important;
  text-align:center !important;
}

.btp-article .btp-article-cta p{
  color:#334155 !important;
  text-align:center !important;
}

.btp-article .btp-article-cta a:not(.btp-button){
  color:#2563eb !important;
  text-decoration:none !important;
}

.btp-article .article-cta-actions{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  margin:24px 0 26px !important;
}

.btp-article .btp-button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:0 !important;
  padding:13px 22px !important;
  border:0 !important;
  border-radius:6px !important;
  background:#2563eb !important;
  color:#fff !important;
  text-align:center !important;
  text-decoration:none !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  box-shadow:none !important;
}

.btp-article .btp-button:hover,
.btp-article .btp-button:focus{
  background:#1d4ed8 !important;
  color:#fff !important;
  text-decoration:none !important;
}

.btp-article .btp-cta-action{
  margin-bottom:0 !important;
  text-align:center !important;
}

@media (max-width:767px){
  .btp-article .btp-cta-inner{
    padding:28px 22px 30px !important;
  }

  .btp-article .article-cta-actions{
    justify-content:center !important;
  }

  .btp-article .btp-button{
    width:auto !important;
  }
}


/* =========================================================
   V5 — concluding paragraph moved outside CTA box
   ========================================================= */

.btp-article .btp-post-cta-conclusion{
  margin:24px 0 24px !important;
  color:#334155 !important;
  text-align:left !important;
}

.btp-article .btp-post-cta-conclusion strong{
  color:#334155 !important;
}

@media (max-width:767px){
  .btp-article .btp-post-cta-conclusion{
    margin:22px 0 20px !important;
  }
}


/* =========================================================
   V6 — benchmark CTA refinement
   CTA contains only heading, supporting copy and button.
   ========================================================= */

.btp-article .btp-article-cta{
  margin-top:48px !important;
  margin-bottom:0 !important;
}

.btp-article .btp-cta-inner{
  padding:28px 38px 32px !important;
}

.btp-article .btp-article-cta h2{
  margin-bottom:10px !important;
}

.btp-article .btp-article-cta .article-cta-actions{
  margin:22px 0 0 !important;
}

.btp-article .btp-post-cta-conclusion{
  margin-top:24px !important;
}

@media (max-width:767px){
  .btp-article .btp-cta-inner{
    padding:26px 22px 28px !important;
  }

  .btp-article .btp-article-cta .article-cta-actions{
    margin-top:20px !important;
  }
}


/* =========================================================
   V7 — Article Standard responsive refinement
   Based on the supplied mobile/tablet screenshots.
   Desktop architecture remains unchanged.
   ========================================================= */

/* Explicit Article Page Standard typography. */
.btp-article .article-header h1{
  font-size:56px !important;
  line-height:1.08 !important;
  font-weight:700 !important;
}

.btp-article h2{
  font-size:38px !important;
  line-height:1.15 !important;
  font-weight:700 !important;
}

.btp-article h3{
  font-size:30px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
}

/* Preserve the standardized article container. */
.btp-article .article-container{
  width:100%;
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}

@media (min-width:768px) and (max-width:1023px){

  .btp-article .article-container{
    width:calc(100% - 92px) !important;
  }

  .btp-article .article-header h1{
    font-size:36px !important;
    line-height:1.08 !important;
  }

  .btp-article h2{
    font-size:32px !important;
    line-height:1.15 !important;
  }

  .btp-article h3{
    font-size:27px !important;
    line-height:1.2 !important;
  }

  .btp-article .article-toc{
    padding:24px 24px !important;
  }

  .btp-article .article-toc .toc-columns{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:0 30px !important;
  }

  .btp-article .article-toc .toc-columns ol{
    padding-left:21px !important;
  }

  .btp-article .article-toc .toc-columns li{
    margin-bottom:9px !important;
  }

  .btp-article .article-toc .toc-columns a{
    font-size:16px !important;
    line-height:1.45 !important;
  }
}

@media (max-width:767px){

  .btp-article .article-container{
    width:calc(100% - 32px) !important;
    max-width:none !important;
  }

  .btp-article .article-header .article-category{
    margin-top:39px !important;
    margin-bottom:18px !important;
    padding:7px 12px !important;
    font-size:12px !important;
  }

  .btp-article .article-header h1{
    font-size:38px !important;
    line-height:1.08 !important;
    font-weight:700 !important;
    margin-top:0 !important;
    margin-bottom:14px !important;
  }

  .btp-article .article-header .lead{
    font-size:18px !important;
    line-height:1.6 !important;
  }

  .btp-article p,
  .btp-article li{
    font-size:17px !important;
    line-height:1.6 !important;
  }

  .btp-article h2{
    font-size:30px !important;
    line-height:1.15 !important;
  }

  .btp-article h3{
    font-size:24px !important;
    line-height:1.2 !important;
  }

  /* Compact mobile TOC while retaining the required single column. */
  .btp-article .article-toc{
    margin:36px 0 40px !important;
    padding:20px 16px !important;
    border-radius:14px !important;
  }

  .btp-article .article-toc h2{
    margin-bottom:16px !important;
    font-size:21px !important;
    line-height:1.2 !important;
  }

  .btp-article .article-toc .toc-columns{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
  }

  .btp-article .article-toc .toc-columns ol{
    margin:0 !important;
    padding-left:20px !important;
  }

  .btp-article .article-toc .toc-columns li{
    margin:0 0 8px !important;
    padding:0 !important;
  }

  .btp-article .article-toc .toc-columns a{
    font-size:16px !important;
    line-height:1.45 !important;
  }

  /* Mobile CTA: compact benchmark-like proportions. */
  .btp-article .btp-article-cta{
    margin-top:42px !important;
    margin-bottom:0 !important;
  }

  .btp-article .btp-cta-inner{
    padding:24px 16px 26px !important;
  }

  .btp-article .btp-article-cta h2{
    font-size:30px !important;
    line-height:1.15 !important;
    margin:0 0 10px !important;
    white-space:normal !important;
  }

  .btp-article .btp-article-cta p{
    font-size:16px !important;
    line-height:1.55 !important;
  }

  .btp-article .btp-article-cta .article-cta-actions{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    margin:20px 0 0 !important;
  }

  .btp-article .btp-button{
    width:auto !important;
    max-width:100% !important;
    padding:12px 20px !important;
    font-size:16px !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
  }

  .btp-article .btp-post-cta-conclusion{
    margin:22px 0 20px !important;
    font-size:17px !important;
    line-height:1.6 !important;
  }

  .btp-article .btp-article-image{
    margin:32px 0 36px !important;
  }

  .btp-article .btp-article-image figcaption{
    font-size:14px !important;
    line-height:1.45 !important;
    text-align:center !important;
  }
}
