/* =========================================================
   LifeCraft Option 1 — Trustworthy & Bright (site-wide)
   v2: header CTA, trust strip, conversion polish, accessibility
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --lc-bg:#FFFFFF;
  --lc-bg-soft:#F5F7FA;
  --lc-text:#1A1A1A;
  --lc-text-muted:#4B5563;
  --lc-navy:#0B3D62;
  --lc-navy-dark:#082D49;
  --lc-green:#2E6B4F;
  --lc-gold:#B58A2E;
  --lc-amber:#D97706;
  --lc-amber-dark:#B45309;
  --lc-border:#E6EAF0;
}

html{ scroll-behavior:smooth; }

/* Global typography */
body, body p, body li, body a, body span, body div, body input, body textarea, body button, body select{
  font-family: 'Inter','Helvetica Neue',Arial,sans-serif !important;
}
body{
  background:var(--lc-bg) !important;
  color:var(--lc-text) !important;
  font-size:19px !important;
  line-height:1.6 !important;
}
body p{ font-size:19px; line-height:1.6; color:var(--lc-text); }

/* Headings */
h1,h2,h3,h4,h5,h6,
.wp-block-post-title,
.entry-title{
  font-family:'Inter','Helvetica Neue',Arial,sans-serif !important;
  color:var(--lc-navy) !important;
  font-weight:700 !important;
  line-height:1.2 !important;
}
h1,.wp-block-post-title,.entry-title{ font-size:44px !important; }
h2{ font-size:32px !important; }
h3{ font-size:24px !important; }

/* Links */
a{ color:var(--lc-navy); }
a:hover{ color:var(--lc-amber); }

/* Accessibility — focus visible */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
  outline:3px solid var(--lc-amber);
  outline-offset:2px;
  border-radius:4px;
}

/* Primary CTA buttons */
.wp-block-button__link,
.wpforms-submit,
button.lc-cta,
a.lc-cta{
  background:var(--lc-amber) !important;
  color:#FFFFFF !important;
  border:none !important;
  border-radius:8px !important;
  padding:16px 32px !important;
  font-weight:700 !important;
  font-size:18px !important;
  text-decoration:none !important;
  box-shadow:0 4px 14px rgba(217,119,6,.3);
  transition:background .15s ease, transform .15s ease;
}
.wp-block-button__link:hover,
.wpforms-submit:hover,
button.lc-cta:hover,
a.lc-cta:hover{ background:var(--lc-amber-dark) !important; transform:translateY(-1px); }

/* Trust strip (above utility bar) */
body:not(.page-id-279) .lc-trust-strip{
  background:var(--lc-navy) !important;
  color:#FFFFFF !important;
  padding:8px 16px !important;
  font-size:13px !important;
  text-align:center;
  letter-spacing:.3px;
}
body:not(.page-id-279) .lc-trust-strip .lc-trust-item{ color:#FFFFFF !important; font-weight:500; }
body:not(.page-id-279) .lc-trust-strip .lc-trust-item strong{ color:#F4B645; margin-right:4px; }
body:not(.page-id-279) .lc-trust-strip .lc-trust-sep{ color:rgba(255,255,255,.4); margin:0 12px; }
@media(max-width:600px){
  body:not(.page-id-279) .lc-trust-strip .lc-trust-sep{display:none}
  body:not(.page-id-279) .lc-trust-strip{font-size:12px;line-height:1.7}
}

/* Utility bar */
body:not(.page-id-279) .lc-utility-bar,
body:not(.page-id-279) #lc-utility-bar{
  background:#FFFFFF;
  border-bottom:1px solid var(--lc-border);
  padding:12px 24px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  flex-wrap:wrap;
}
.lc-utility-hours{ color:var(--lc-text-muted); font-size:14px; margin:0; }
.lc-utility-pill{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--lc-amber) !important;
  color:#FFFFFF !important;
  padding:10px 20px;
  border-radius:999px;
  font-weight:700;
  text-decoration:none !important;
  font-size:17px;
  box-shadow:0 2px 8px rgba(217,119,6,.25);
  transition:background .15s ease, transform .15s ease;
}
.lc-utility-pill:hover{ background:var(--lc-amber-dark) !important; color:#FFFFFF !important; transform:translateY(-1px); }

/* Main header row spacing */
body:not(.page-id-279) .lc-main-header{
  padding:14px 24px !important;
  border-bottom:1px solid var(--lc-border);
  background:#FFFFFF;
}

/* Header CTA pill (right column) */
.lc-header-cta{
  display:inline-block;
  background:var(--lc-amber) !important;
  color:#FFFFFF !important;
  padding:12px 22px;
  border-radius:8px;
  font-weight:700;
  text-decoration:none !important;
  font-size:15px;
  box-shadow:0 4px 14px rgba(217,119,6,.30);
  transition:background .15s ease, transform .15s ease;
  white-space:nowrap;
  text-align:center;
}
.lc-header-cta:hover{ background:var(--lc-amber-dark) !important; color:#FFFFFF !important; transform:translateY(-1px); }
@media(max-width:780px){ .lc-header-cta{display:none} }

/* Site logo / nav cleanup */
.wp-block-site-title a, .site-title a{ color:var(--lc-navy) !important; }
.wp-block-navigation .wp-block-navigation-item__content,
.wp-block-navigation a{
  color:var(--lc-navy) !important;
  font-weight:600;
  font-size:15px;
}
.wp-block-navigation a:hover{ color:var(--lc-amber) !important; }
.wp-block-navigation__submenu-container{
  background:#FFFFFF !important;
  border:1px solid var(--lc-border) !important;
  box-shadow:0 8px 24px rgba(11,61,98,.12) !important;
  border-radius:8px !important;
  padding:8px 0 !important;
}
.wp-block-navigation__submenu-container .wp-block-navigation-item__content{
  padding:8px 16px !important;
  font-size:14px !important;
}

/* Old dark-teal "Call Us" header bar — HIDE everywhere */
body:not(.page-id-279) .site-header > .wp-block-group:first-child:has([href^="tel:"]){
  display:none !important;
}

/* Hide auto-rendered post-title on pages that have their own custom h1 */
body.page-id-236 > .wp-site-blocks .wp-block-post-title,
body.page-id-236 > .wp-site-blocks .entry-title,
body.page-id-453 .wp-block-post-title,
body.page-id-453 .entry-title{ display:none !important; }

/* Body content max-width sanity for default content pages */
body:not(.page-id-279):not(.page-id-236):not(.page-id-453) .wp-block-post-content > p,
body:not(.page-id-279):not(.page-id-236):not(.page-id-453) .wp-block-post-content > h2,
body:not(.page-id-279):not(.page-id-236):not(.page-id-453) .wp-block-post-content > h3,
body:not(.page-id-279):not(.page-id-236):not(.page-id-453) .wp-block-post-content > ul,
body:not(.page-id-279):not(.page-id-236):not(.page-id-453) .wp-block-post-content > ol{
  max-width:780px;
  margin-left:auto;
  margin-right:auto;
}

/* WPForms styling (for non-landing-page forms) */
body:not(.page-id-279) .wpforms-form .wpforms-field-label{
  color:var(--lc-navy) !important;
  font-weight:700 !important;
  font-size:16px !important;
}
body:not(.page-id-279) .wpforms-form input[type="text"],
body:not(.page-id-279) .wpforms-form input[type="email"],
body:not(.page-id-279) .wpforms-form input[type="tel"],
body:not(.page-id-279) .wpforms-form input[type="number"],
body:not(.page-id-279) .wpforms-form select,
body:not(.page-id-279) .wpforms-form textarea{
  border:1px solid var(--lc-border) !important;
  border-radius:6px !important;
  font-size:17px !important;
  padding:12px !important;
}
body:not(.page-id-279) .wpforms-form input:focus,
body:not(.page-id-279) .wpforms-form select:focus,
body:not(.page-id-279) .wpforms-form textarea:focus{
  border-color:var(--lc-navy) !important;
  outline:none !important;
  box-shadow:0 0 0 3px rgba(11,61,98,.10) !important;
}

/* Image rendering improvements */
img{ max-width:100%; height:auto; }

/* ======================================================
   PRESERVE: Existing /guaranteed-retirement-income-strategy/
   landing page (page-id-279) — header/footer/chat hidden.
   ====================================================== */
body.page-id-279 .site-header,
body.page-id-279 header.wp-block-template-part,
body.page-id-279 .wp-block-template-part[data-type="header"],
body.page-id-279 footer,
body.page-id-279 footer.wp-block-template-part,
body.page-id-279 .wp-block-template-part[data-type="footer"],
body.page-id-279 #chatbase-bubble-button,
body.page-id-279 #chatbase-bubble-window,
body.page-id-279 iframe[src*="chatbase"],
body.page-id-279 .lc-utility-bar,
body.page-id-279 #lc-utility-bar,
body.page-id-279 .lc-trust-strip,
body.page-id-279 .lc-main-header{
  display:none !important;
}
body.page-id-279 .wp-block-post-content > *{ max-width:none !important; }

/* Palette preview (page-id-453) */
body.page-id-453 #chatbase-bubble-button,
body.page-id-453 #chatbase-bubble-window,
body.page-id-453 iframe[src*="chatbase"]{ display:none !important; }

/* ============ MOBILE POLISH ============ */
@media (max-width: 600px){
  /* Trust strip — single compact line items */
  body:not(.page-id-279) .lc-trust-strip{
    padding:6px 8px !important;
    font-size:11.5px !important;
    line-height:1.5 !important;
    gap:0 !important;
  }
  body:not(.page-id-279) .lc-trust-strip .lc-trust-item{
    display:block !important;
    margin:2px 6px !important;
  }
  body:not(.page-id-279) .lc-trust-strip .lc-trust-sep{
    display:none !important;
  }

  /* Utility bar — stack tight */
  body:not(.page-id-279) .lc-utility-bar{
    padding:10px 12px !important;
    gap:10px !important;
    justify-content:center !important;
  }
  .lc-utility-hours{ font-size:13px !important; }
  .lc-utility-pill{
    padding:8px 16px !important;
    font-size:15px !important;
    white-space:nowrap !important;
    width:auto !important;
    max-width:none !important;
  }

  /* Main header — center logo, hide nav (mobile menu takes over), hide CTA pill on tight space */
  body:not(.page-id-279) .lc-main-header{
    padding:10px 16px !important;
  }
  body:not(.page-id-279) .lc-main-header .wp-block-columns{
    flex-wrap:wrap !important;
    gap:8px !important;
  }
  body:not(.page-id-279) .lc-main-header .wp-block-column{
    flex-basis:auto !important;
    width:auto !important;
  }

  /* Headings smaller on mobile */
  h1, .wp-block-post-title, .entry-title{ font-size:28px !important; word-wrap:break-word !important; overflow-wrap:break-word !important; hyphens:auto !important; }
  h2{ font-size:24px !important; }
  h3{ font-size:20px !important; }
  body, body p{ font-size:17px !important; }

  /* Body padding */
  .wp-block-post-content{ padding-left:16px; padding-right:16px; }
}

/* Tablet */
@media (min-width:601px) and (max-width:900px){
  body:not(.page-id-279) .lc-trust-strip{ font-size:12px !important; padding:7px 12px !important; }
  body:not(.page-id-279) .lc-main-header .wp-block-columns{ flex-wrap:wrap !important; }
}

/* Make sure lc-team-page is mobile-friendly */
@media (max-width:600px){
  .lc-team-page{ padding:32px 16px !important; }
  .lc-team-page .lc-team-intro h1{ font-size:30px !important; }
  .lc-card-body{ padding:20px !important; }
  .lc-team-cta{ padding:32px 20px !important; }
  .lc-team-cta h2{ font-size:22px !important; }
}


/* ============ XS-VIEWPORT (≤400px) ============ */
@media (max-width:400px){
  h1, .wp-block-post-title, .entry-title{ font-size:26px !important; }
  body, body p{ font-size:16px !important; }
  .lc-utility-pill{ padding:8px 14px !important; font-size:14px !important; }
  body:not(.page-id-279) .lc-trust-strip{ font-size:11px !important; padding:5px 6px !important; }
}


/* === Header logo size bump (240px) === */
.wp-block-site-logo a,
.wp-block-site-logo img,
.custom-logo,
.custom-logo-link img {
    max-width: 240px !important;
    width: 240px !important;
    height: auto !important;
}

/* LIFECRAFT-MOBILE-TABLE-FIX: make wide tables (e.g. MYGA rates) horizontally scrollable on mobile only. Desktop is untouched. */
@media (max-width: 781px) {
  .entry-content figure.wp-block-table,
  .entry-content .wp-block-table,
  .entry-content table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
