/* =========================================================
   Custom pages content area — typography & layout
   Applied to .custom-page-content (body_html from page builder)
   ========================================================= */

   .tn911-custom-page-section {
    background: #f8fafc;
    min-height: 40vh;
  }
  
  .custom-page-content {
    --cp-primary: #2563eb;
    --cp-primary-dark: #1d4ed8;
    --cp-text: #0f172a;
    --cp-text-muted: rgba(15, 23, 42, 0.78);
    --cp-border: #e2e8f0;
    --cp-bg: #f8fafc;
  
    /* Use full width of .container so left/right align with header/nav */
    padding: 0 0 2rem;
    color: var(--cp-text);
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;
  }
  
  /* Skip links and in-page links */
  .custom-page-content a {
    color: var(--cp-primary);
    text-decoration: none;
  }
  .custom-page-content a:hover {
    color: var(--cp-primary-dark);
    text-decoration: underline;
  }

  /* Primary button: force white text */
  .custom-page-content a.tn911-homepb-btn.tn911-homepb-btn-primary,
  .custom-page-content a.tn911-homepb-btn.tn911-homepb-btn-primary:visited,
  .custom-page-content a.tn911-homepb-btn.tn911-homepb-btn-primary:hover,
  .custom-page-content a.tn911-homepb-btn.tn911-homepb-btn-primary:active {
    color: #fff;
  }

  /* Secondary/outline button: force brand blue text */
  .custom-page-content a.tn911-homepb-btn.tn911-homepb-btn-secondary,
  .custom-page-content a.tn911-homepb-btn.tn911-homepb-btn-secondary:visited,
  .custom-page-content a.tn911-homepb-btn.tn911-homepb-btn-secondary:hover,
  .custom-page-content a.tn911-homepb-btn.tn911-homepb-btn-secondary:active {
    color: var(--cp-primary);
  }
  
  /* Headings */
  .custom-page-content h1,
  .custom-page-content h2,
  .custom-page-content h3,
  .custom-page-content h4 {
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    font-weight: 700;
    line-height: 1.25;
    color: var(--cp-text);
  }
  .custom-page-content h1:first-child,
  .custom-page-content h2:first-child,
  .custom-page-content h3:first-child,
  .custom-page-content h4:first-child {
    margin-top: 0;
  }
  .custom-page-content h1 { font-size: 1.875rem; }
  .custom-page-content h2 { font-size: 1.5rem; }
  .custom-page-content h3 { font-size: 1.25rem; }
  .custom-page-content h4 { font-size: 1.125rem; }
  
  /* Paragraphs and text */
  .custom-page-content p {
    margin: 0 0 1em;
    color: var(--cp-text-muted);
  }
  .custom-page-content p:last-child { margin-bottom: 0; }
  
  /* Lists */
  .custom-page-content ul,
  .custom-page-content ol {
    margin: 0 0 1em;
    padding-left: 1.5em;
  }
  .custom-page-content li {
    margin-bottom: 0.35em;
  }
  .custom-page-content li:last-child { margin-bottom: 0; }
  
  /* Strong / emphasis */
  .custom-page-content strong { font-weight: 700; }
  .custom-page-content em { font-style: italic; }
  
  /* Images */
  .custom-page-content img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 1em 0;
  }
  
  /* Simple card/section blocks (if builder outputs divs with classes) */
  .custom-page-content .card,
  .custom-page-content [class*="block"],
  .custom-page-content section {
    margin-bottom: 1.5em;
  }
  
  /* Buttons / CTAs that might be in body_html */
  .custom-page-content .btn,
  .custom-page-content button,
  .custom-page-content [role="button"] {
    display: inline-block;
    padding: 0.5rem 1rem;
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
    background: var(--cp-primary);
    border: 1px solid var(--cp-primary);
    border-radius: 8px;
    text-decoration: none;
    cursor: pointer;
  }
  .custom-page-content .btn:hover,
  .custom-page-content button:hover,
  .custom-page-content [role="button"]:hover {
    background: var(--cp-primary-dark);
    border-color: var(--cp-primary-dark);
    color: #fff;
    text-decoration: none;
  }
  
  /* Optional: style common block-editor / builder wrappers */
  .custom-page-content > * + * {
    margin-top: 1em;
  }
  
  /* =========================================================
     TN911: Pay guide pages — blue buttons must have white text
     ========================================================= */
  
  .tn911-paystate a[class*="primary"],
  .tn911-paystate a[class*="cta"]:not([class*="secondary"]):not([class*="ghost"]),
  .tn911-paystate a[class*="paystate-cta"],
  .tn911-paystate a[class*="paystate-btn"],
  .tn911-paystate a[class*="-btn"]:not([class*="secondary"]):not([class*="ghost"]),
  .tn911-paystate .btn-primary,
  .tn911-paystate .btn,
  .tn911-paystate a.btn,
  .custom-page-content .tn911-paystate a[class*="primary"],
  .custom-page-content .tn911-paystate a[class*="cta"]:not([class*="secondary"]):not([class*="ghost"]),
  .custom-page-content .tn911-paystate a[class*="paystate-cta"],
  .custom-page-content .tn911-paystate a[class*="paystate-btn"],
  .custom-page-content .tn911-paystate a[class*="-btn"]:not([class*="secondary"]):not([class*="ghost"]),
  .custom-page-content .tn911-paystate .btn-primary,
  .custom-page-content .tn911-paystate .btn,
  .custom-page-content .tn911-paystate a.btn {
    color: #fff !important;
  }
  .tn911-paystate a[class*="primary"]:hover,
  .tn911-paystate a[class*="cta"]:hover:not([class*="secondary"]):not([class*="ghost"]),
  .tn911-paystate .btn-primary:hover,
  .tn911-paystate .btn:hover,
  .custom-page-content .tn911-paystate a[class*="primary"]:hover,
  .custom-page-content .tn911-paystate a[class*="cta"]:hover:not([class*="secondary"]):not([class*="ghost"]),
  .custom-page-content .tn911-paystate .btn-primary:hover,
  .custom-page-content .tn911-paystate .btn:hover {
    color: #fff !important;
  }
  
  /* Pay guides hub (tn911-payguideslp) — ensure primary buttons have white text */
  .tn911-payguideslp .tn911-payguideslp-primary-btn,
  .tn911-payguideslp a.tn911-payguideslp-primary-btn,
  body .tn911-payguideslp .tn911-payguideslp-primary-btn {
    color: #fff !important;
  }
  .tn911-payguideslp .tn911-payguideslp-primary-btn:hover,
  .tn911-payguideslp a.tn911-payguideslp-primary-btn:hover {
    color: #fff !important;
  }
  
  /* =========================================================
     TN911: Resources page — blue buttons must have white text
     Targets: /travel-nurse-resources and subpages
     ========================================================= */
  
  .tn911-resourceslp-page a[class*="primary"],
  .tn911-resourceslp-page a[class*="cta"]:not([class*="secondary"]):not([class*="ghost"]),
  .tn911-resourceslp-page a[class*="btn"]:not([class*="secondary"]):not([class*="ghost"]),
  .tn911-resourceslp-page .btn-primary,
  .tn911-resourceslp-page .btn,
  .tn911-resourceslp-page a.btn,
  .tn911-resources-page a[class*="primary"],
  .tn911-resources-page a[class*="cta"]:not([class*="secondary"]):not([class*="ghost"]),
  .tn911-resources-page a[class*="btn"]:not([class*="secondary"]):not([class*="ghost"]),
  .tn911-resources-page .btn-primary,
  .tn911-resources-page .btn,
  .tn911-resources-page a.btn,
  .custom-page-content .tn911-resourceslp-page a[class*="primary"],
  .custom-page-content .tn911-resourceslp-page a[class*="cta"]:not([class*="secondary"]):not([class*="ghost"]),
  .custom-page-content .tn911-resourceslp-page a[class*="btn"]:not([class*="secondary"]):not([class*="ghost"]),
  .custom-page-content .tn911-resourceslp-page .btn-primary,
  .custom-page-content .tn911-resourceslp-page .btn,
  .custom-page-content .tn911-resourceslp-page a.btn,
  .custom-page-content .tn911-resources-page a[class*="primary"],
  .custom-page-content .tn911-resources-page a[class*="cta"]:not([class*="secondary"]):not([class*="ghost"]),
  .custom-page-content .tn911-resources-page a[class*="btn"]:not([class*="secondary"]):not([class*="ghost"]),
  .custom-page-content .tn911-resources-page .btn-primary,
  .custom-page-content .tn911-resources-page .btn,
  .custom-page-content .tn911-resources-page a.btn {
    color: #fff !important;
  }
  .tn911-resourceslp-page a[class*="primary"]:hover,
  .tn911-resourceslp-page a[class*="cta"]:hover:not([class*="secondary"]):not([class*="ghost"]),
  .tn911-resources-page a[class*="primary"]:hover,
  .tn911-resources-page a[class*="cta"]:hover:not([class*="secondary"]):not([class*="ghost"]),
  .tn911-resourceslp-page .btn-primary:hover,
  .tn911-resourceslp-page .btn:hover,
  .tn911-resources-page .btn-primary:hover,
  .tn911-resources-page .btn:hover,
  .custom-page-content .tn911-resourceslp-page a[class*="primary"]:hover,
  .custom-page-content .tn911-resourceslp-page a[class*="cta"]:hover:not([class*="secondary"]):not([class*="ghost"]),
  .custom-page-content .tn911-resources-page a[class*="primary"]:hover,
  .custom-page-content .tn911-resources-page a[class*="cta"]:hover:not([class*="secondary"]):not([class*="ghost"]),
  .custom-page-content .tn911-resourceslp-page .btn:hover,
  .custom-page-content .tn911-resources-page .btn:hover {
    color: #fff !important;
  }
  
  /* Resources page via section class (slug travel-nurse-resources) — blue/primary buttons white text */
  .tn911-page-resources .custom-page-content a[class*="primary"],
  .tn911-page-resources .custom-page-content a[class*="cta"]:not([class*="secondary"]):not([class*="ghost"]),
  .tn911-page-resources .custom-page-content a[class*="btn"]:not([class*="secondary"]):not([class*="ghost"]),
  .tn911-page-resources .custom-page-content .btn-primary,
  .tn911-page-resources .custom-page-content .btn:not(.btn-outline):not(.btn-link),
  .tn911-page-resources .custom-page-content a.btn:not(.btn-outline):not(.btn-link) {
    color: #fff !important;
  }
  .tn911-page-resources .custom-page-content a[class*="primary"]:hover,
  .tn911-page-resources .custom-page-content a[class*="cta"]:hover:not([class*="secondary"]):not([class*="ghost"]),
  .tn911-page-resources .custom-page-content .btn-primary:hover,
  .tn911-page-resources .custom-page-content .btn:hover {
    color: #fff !important;
  }
  
  /* === TN911: Blog Author CTA button/link text colors === */
  /* Override global `.custom-page-content a` color inside the dark CTA band */
  .custom-page-content .tn911-authorpb-cta-inner a,
  .custom-page-content .tn911-authorspb-footercta-inner a{
    color: #fff !important;
    text-decoration: none;
  }

  /* Secondary "link button" should be dark text on white */
  .custom-page-content .tn911-authorpb-cta-inner .tn911-authorpb-linkbtn,
  .custom-page-content .tn911-authorspb-footercta-inner .tn911-authorspb-linkbtn{
    color: #0b3a66 !important;
  }
  /* === /TN911: Blog Author CTA button/link text colors === */
  
  /* =========================================================
     TN911 — STICKY NAV SPACING (LP vs SUBPAGES) — SINGLE SOURCE OF TRUTH
     IMPORTANT:
     - We ONLY set CSS variables here.
     - site.css owns the body padding-top rule.
     - Resources LP vs Resources subpages are separated with :not(:has(.tn911-resourceslp-page))
     ========================================================= */
  
  /* 1) Defaults */
  :root{
    --nav-top-h: 0px;
    --nav-bottom-h: 80px; /* site default */
    --lp-extra: 0px;
  }
  
  /* 2) Per-page tuning (EDIT NUMBERS ONLY) */
  
  /* Pay landing (if used) */
  body:has(.tn911-payguideslp),
  body:has(.tn911-payguideslp-page){
    --nav-bottom-h: 56px !important;
    --lp-extra: 12px !important;
  }
  
  /* Pay subpages (state pay pages) */
  body:has(.tn911-paystate-page),
  body:has(.tn911-paystate){
    --nav-bottom-h: 40px !important;
    --lp-extra: 0px !important;
  }
  
  /* Licensing landing */
  body:has(.tn911-licensinglp-page),
  body:has(.tn911-licensinglp),
  body:has(.tn911-guides-licensing){
    --nav-bottom-h: 56px !important;
    --lp-extra: 12px !important;
  }
  
  /* Licensing detail (state pages) */
  body:has([class*="tn911-lg-page-"]){
    --nav-bottom-h: 56px !important;
    --lp-extra: 0px !important;
  }
  
  /* =========================================================
     RESOURCES (FIXED)
     Your Resources LP is <main class="tn911-resourceslp-page"> …
     Your Resources pages ALSO have: section.tn911-page-resources
     So we split like this:
     - LP: body has .tn911-resourceslp-page
     - SUBPAGES: body has section.tn911-page-resources BUT NOT .tn911-resourceslp-page
     ========================================================= */
  
  /* Resources landing: /travel-nurse-resources */
  body:has(.tn911-resourceslp-page){
    --nav-bottom-h: 78px !important; /* LP GAP */
    --lp-extra: 0px !important;     /* LP EXTRA breathing room */
  }
  
  /* Resources subpages: /travel-nurse-resources/* (contract-checklist, licensing-checklist, etc.) */
  body:has(section.tn911-page-resources):not(:has(.tn911-resourceslp-page)){
    --nav-bottom-h: 10px !important; /* SUBPAGE GAP */
    --lp-extra: 0px !important;
  }
  
  /* Specialty group pages */
  body:has(.tn911-specialty-landing){
    --nav-bottom-h: 80px !important;
    --lp-extra: 0px !important;
  }

  /* Specialty GROUP DETAIL PAGES (sg pages only) — safe: does not touch Resources */
body:has(.tn911-sg-page):not(:has(.tn911-specialty-landing)){
  --nav-bottom-h: 10px !important;
  --lp-extra: 0px !important;
}

/* TRAVEL NURSE JOBS HUB — SUBPAGES ONLY (content-scoped)
   Excludes: Specialties landing page wrapper
*/
body:has(section.tn911-custom-page-section):has(.custom-page-content a[href="/travel-nurse-jobs"]):not(:has(.tn911-specialty-landing)){
  --nav-bottom-h: 10px !important;
  --lp-extra: 0px !important;
}

  /* Blog */
  body:has(.blog-index),
  body:has(#blogApp),
  body:has([data-blog]){
    --nav-bottom-h: 80px !important;
    --lp-extra: 0px !important;
  }
  
  /* 3) Normalize first section (prevents mystery top space) */
  body:has(.tn911-paystate-page) section.tn911-custom-page-section,
  body:has(.tn911-paystate) section.tn911-custom-page-section,
  body:has(.tn911-licensinglp-page) section.tn911-custom-page-section,
  body:has(.tn911-licensinglp) section.tn911-custom-page-section,
  body:has(.tn911-guides-licensing) section.tn911-custom-page-section,
  body:has([class*="tn911-lg-page-"]) section.tn911-custom-page-section,
  body:has(section.tn911-page-resources) section.tn911-custom-page-section,
  body:has(.tn911-specialty-landing) section.tn911-custom-page-section{
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  