/* ==========================================
   PWF Responsive & Layout Fixes
   ========================================== */
/* ---- DESKTOP FIXES ---- */
/* 1. Hero heading - reduce font size so it doesn't stack awkwardly */
.kb-row-layout-id8_5ddfb7-21 h1.wp-block-kadence-advancedheading {
  font-size: 56px !important;
  line-height: 1.15 !important;
}
/* 2. Impact card - center the card instead of pushing it right */
.kb-row-layout-id8_79d1e4-f3 .kt-row-column-wrap {
  justify-content: flex-end !important;
}
/* 3. Support Our Mission - truly center the content on the page */
.kb-row-layout-id8_d46aac-f8 .kt-row-column-wrap {
  display: flex !important;
  justify-content: center !important;
}
.kb-row-layout-id8_d46aac-f8 .wp-block-kadence-column {
  max-width: 900px !important;
  flex: 0 1 900px !important;
}
.kb-row-layout-id8_d46aac-f8 .kt-inside-inner-col {
  text-align: center;
}
/* 4. Stats row - no negative margin, center it */
.kb-row-layout-id8_bb3078-69 {
  margin-top: 0 !important;
}
/* 5. Fix text overflow on all Kadence headings */
.wp-block-kadence-column .kt-inside-inner-col h2,
.wp-block-kadence-column .kt-inside-inner-col h3 {
  max-width: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.wp-block-kadence-advancedheading {
  max-width: 100%;
  overflow-wrap: break-word;
}
/* ---- TABLET FIXES (769px - 1024px) ---- */
@media screen and (max-width: 1024px) {
  .kb-row-layout-id8_5ddfb7-21 h1.wp-block-kadence-advancedheading {
    font-size: 42px !important;
    line-height: 1.2 !important;
  }
  .entry-content h2 {
    font-size: clamp(1.4rem, 4vw, 2.2rem);
  }
  .wp-block-kadence-rowlayout .kt-row-column-wrap {
    padding-left: 20px;
    padding-right: 20px;
  }
  .wp-block-kadence-column {
    overflow: hidden;
  }
  .site-footer .footer-widget-area {
    padding: 30px 20px;
  }
}
/* ---- MOBILE FIXES (below 768px) ---- */
@media screen and (max-width: 768px) {
  .kb-row-layout-id8_5ddfb7-21 h1.wp-block-kadence-advancedheading {
    font-size: 38px !important;
    line-height: 1.2 !important;
  }
  .entry-content h1 {
    font-size: clamp(1.6rem, 6vw, 2.4rem);
  }
  .entry-content h2 {
    font-size: clamp(1.2rem, 5vw, 1.8rem);
  }
  .wp-block-kadence-rowlayout .kt-row-column-wrap {
    padding-left: 15px;
    padding-right: 15px;
  }
  .entry-content img {
    max-width: 100%;
    height: auto;
  }
  .wp-block-kadence-rowlayout .kt-row-column-wrap > .wp-block-kadence-column {
    margin-bottom: 15px;
  }
  .give-wrap,
  .give-card {
    max-width: 100%;
    overflow: hidden;
  }
  /* Mobile header button - text + arrow style */
  .site-header-row-container .header-button-inner-wrap a.header-button {
    background: transparent !important;
    border: none !important;
    color: #E8952F !important;
    padding: 6px 2px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    box-shadow: none !important;
  }
  .site-header-row-container .header-button-inner-wrap a.header-button::after {
    content: ' \2192';
    margin-left: 3px;
    font-size: 14px;
  }
  #mobile-header .site-branding img {
    max-width: 150px;
  }
}
/* ---- SMALL MOBILE (below 480px) ---- */
@media screen and (max-width: 480px) {
  .entry-content h1 {
    font-size: 1.5rem;
  }
  .entry-content h2 {
    font-size: 1.25rem;
  }
  .wp-block-kadence-advancedbtn .kt-btn-wrap .kt-button {
    padding: 10px 20px;
    font-size: 0.9rem;
  }
}
/* ---- TABLET HEADER BUTTON ---- */
@media screen and (max-width: 1024px) and (min-width: 769px) {
  .site-header-row-container .header-button-inner-wrap a.header-button {
    background: transparent !important;
    border: none !important;
    color: #E8952F !important;
    padding: 6px 4px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    box-shadow: none !important;
  }
  .site-header-row-container .header-button-inner-wrap a.header-button::after {
    content: ' \2192';
    margin-left: 3px;
    font-size: 15px;
  }
}
/* ---- HEADER READABILITY FIX ---- */
/* Semi-transparent white background so nav text
   is readable on all hero images */
.site-header .site-header-inner-wrap,
.site-header .site-mobile-header-wrap {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
/* ---- TRANSPARENT HEADER OVERLAY ---- */
/* Header floats over hero on all pages (Kadence Charity style) */
.site-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: transparent !important;
}
/* Sticky header: solid bg when scrolling (mobile/tablet only) */
.site-header.item-is-stuck,
.site-header.item-is-fixed,
#masthead.item-is-stuck,
#masthead.item-is-fixed {
  position: fixed !important;
  top: 0 !important;
  background: rgba(255, 255, 255, 0.98) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}
.item-is-stuck .site-mobile-header-wrap,
.item-is-fixed .site-mobile-header-wrap {
  background: rgba(255, 255, 255, 0.98) !important;
}
/* Admin bar offset when logged in */
.admin-bar .site-header {
  top: 32px;
}
@media screen and (max-width: 782px) {
  .admin-bar .site-header {
    top: 46px;
  }
}
/* Hide author name on blog posts */
.single-post .entry-meta .posted-by,
.single-post .entry-meta .meta-author {
  display: none;
}
.entry-meta .posted-by,
.entry-meta .meta-author {
  display: none;
}
/* Programs page - navy background behind transparent header */
.page-id-12 .site.wp-site-blocks {
  background-color: #1B3A5C;
}
/* Restore white/light backgrounds for non-navy sections */
.page-id-12 .kb-row-layout-id_prog5_bridge {
  background-color: #f5f5f5;
}
.page-id-12 .kb-row-layout-id_prog5_cta {
  background-color: transparent;
}
/* About page - infobox card border radius */
.wp-block-kadence-infobox .kt-blocks-info-box-link-wrap {
  border-radius: 12px !important;
  overflow: hidden;
}
/* Articles page intro text - constrain width for balance */
.articles-intro-text {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
/* Articles page - force 16:9 landscape images on post cards */
.wp-block-latest-posts__featured-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
/* Blog Read More links */
.post-more-link {
  font-size: 15px !important;
}
/* Blog card spacing */
.loop-entry .entry-taxonomies {
  margin-bottom: 12px;
}
.loop-entry .entry-title {
  margin-bottom: 10px;
}
.loop-entry .entry-meta {
  margin-top: 0;
  margin-bottom: 14px;
}
.loop-entry .entry-summary {
  margin-top: 0;
}
/* Blog card - more space between featured image and content */
.post-archive .loop-entry a.post-thumbnail {
  margin-bottom: 28px !important;
}
/* Blog page - constrain grid width and add side padding */
.blog .content-container.site-container {
  max-width: 1290px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}
/* Blog page - add bottom spacing before footer */
.blog .site-main {
  padding-bottom: 60px;
}
/* ---- GET HELP PAGE: Infobox icon color fix ---- */
.kt-info-svg-icon svg {
  color: #E8952F !important;
  stroke: #E8952F !important;
}
/* ---- DONATE PAGE: Equal height cards fix ---- */
.kb-row-layout-id_don2_cards .wp-block-kadence-column {
  align-self: stretch !important;
}
.kb-row-layout-id_don2_cards .kt-inside-inner-col {
  height: 100%;
}
/* ---- GET HELP PAGE: Equal height infobox cards ---- */
.kb-row-layout-id_gh_cards_row .wp-block-kadence-column {
  align-self: stretch !important;
}
.kb-row-layout-id_gh_cards_row .kt-inside-inner-col {
  display: flex !important;
  flex-direction: column;
  flex: 1;
  height: 100%;
}
.kb-row-layout-id_gh_cards_row .wp-block-kadence-infobox {
  display: flex !important;
  flex: 1;
}
.kb-row-layout-id_gh_cards_row .kt-blocks-info-box-link-wrap {
  flex: 1;
}
/* ---- STICKY HEADER: Mobile/Tablet (fixed fallback) ---- */
/* Kadence free does not load sticky JS, so we use position:fixed */
/* to keep the header visible on scroll at mobile/tablet sizes */
@media screen and (max-width: 1024px) {
  .site-header {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  }
}
/* ---- HERO SUBTITLE: Tablet width constraint ---- */
@media screen and (max-width: 1024px) and (min-width: 769px) {
  .kb-row-layout-id8_5ddfb7-21 p.wp-block-kadence-advancedheading {
    max-width: 480px;
  }
}
/* ---- MOBILE LOGO SIZE FIX ---- */
@media screen and (max-width: 768px) {
  #mobile-header .site-branding img {
    max-width: 200px;
  }
}
/* ---- HERO OVERLAY: Mobile gradient extends further ---- */
@media screen and (max-width: 768px) {
  .kb-row-layout-id8_5ddfb7-21 > .kt-row-layout-overlay {
    background: linear-gradient(150deg, var(--global-palette9) 40%, rgba(255,255,255,0.85) 55%, rgba(255,255,255,0.7) 65%, rgba(255,255,255,0) 85%) !important;
  }
}
/* ---- MOBILE HEADER: Get Help as text link with arrow ---- */
@media screen and (max-width: 768px) {
  .site-mobile-header-wrap a.header-button {
    background: transparent !important;
    border: none !important;
    color: #1B3A5C !important;
    font-size: 11px !important;
    font-weight: 600;
    padding: 6px 0 6px 0 !important;
    margin-right: -10px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    white-space: nowrap;
  }
  .site-mobile-header-wrap a.header-button::after {
    content: " \2192";
    font-size: 13px;
  }
}
/* ---- HERO SUBTITLE: Eliminate orphan word on mobile ---- */
@media screen and (max-width: 768px) {
  .kb-row-layout-id8_5ddfb7-21 p.wp-block-kadence-advancedheading {
    text-wrap: pretty !important;
    text-wrap: balance !important;
  }
}
/* ---- MOBILE MENU DRAWER REDESIGN ---- */
/* White panel, slides from left, navy text, amber active page */
/* 1. Flip drawer to slide from LEFT instead of right */
#mobile-drawer.popup-drawer .drawer-inner {
  right: auto !important;
  left: 0 !important;
  transform: translateX(-100%) !important;
}
/* 2. When open, slide to translateX(0) */
#mobile-drawer.popup-drawer.active .drawer-inner {
  transform: translateX(0%) !important;
}
/* 3. White background, navy text */
#mobile-drawer .drawer-inner {
  background: #ffffff !important;
  color: #1B3A5C !important;
}
/* 4. Nav links - navy */
#mobile-drawer .drawer-navigation a {
  color: #1B3A5C !important;
  font-weight: 500;
}
/* 5. Active page link - amber */
#mobile-drawer .current-menu-item > a,
#mobile-drawer .current_page_item > a {
  color: #E8952F !important;
}
/* 6. Separator lines - light gray */
#mobile-drawer .menu-item {
  border-color: #e5e7eb !important;
}
/* 7. Close button X - navy bars on white */
#mobile-drawer .menu-toggle-close .toggle-close-bar {
  background: #1B3A5C !important;
}
/* 8. Drawer header - tighter, X closer to content */
#mobile-drawer .drawer-header {
  display: flex;
  justify-content: flex-end;
  padding: 8px 20px 0;
  background: transparent !important;
}
/* 9. Tagline - two lines, heading style */
#mobile-drawer .drawer-content::before {
  content: "Your Path Forward\AStarts Here.";
  white-space: pre-line;
  display: block;
  font-size: 24px;
  line-height: 1.3;
  color: #2E6DB4;
  font-weight: 600;
  padding: 5px 25px 18px;
  margin-bottom: 8px;
  border-bottom: 1px solid #e5e7eb;
}
/* 10. Nav links - bigger, tighter padding */
#mobile-drawer .drawer-navigation a {
  font-size: 20px !important;
  padding: 10px 25px !important;
}
/* 11. GET HELP button - box edge aligned with nav text */
#mobile-drawer .mobile-header-button-wrap {
  margin-left: 25px !important;
}
/* 12. Logo at bottom - larger */
#mobile-drawer .drawer-content::after {
  content: "";
  display: block;
  width: 180px;
  height: 180px;
  margin: 30px auto 20px;
  background-image: url("https://pwwellness.org/wp-content/uploads/2026/03/PWSWL-INTEGRATED-1.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
/* ===== HOMEPAGE MOBILE LAYOUT FIXES ===== */

/* Footer widget headings - white on blue background */
.site-footer .wp-block-heading {
  color: #ffffff !important;
  font-size: 22px;
  margin-bottom: 12px;
}

@media (max-width: 767px) {
  /* --- SECTION 2: WHAT WE DO - side padding --- */
  .kb-row-layout-id8_8713c5-31 > .kt-row-column-wrap {
    padding-left: 25px !important;
    padding-right: 25px !important;
  }
  /* --- SECTION 3: OUR APPROACH OUTER - single column, padding --- */
  .kb-row-layout-id8_103cab-0d > .kt-row-column-wrap {
    grid-template-columns: 1fr !important;
    padding: 50px 25px !important;
  }
  /* --- SECTION 3: CARD GRID - true 2x2 grid with aligned rows --- */
  .kb-row-layout-id8_fd9b5f-12 > .kt-row-column-wrap {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px 16px !important;
    padding: 10px 0 0 0 !important;
  }
  /* Flatten column wrappers so cards become direct grid children */
  .kb-row-layout-id8_fd9b5f-12 .wp-block-kadence-column,
  .kb-row-layout-id8_fd9b5f-12 .wp-block-kadence-column > .kadence-column-inner-wrap,
  .kb-row-layout-id8_fd9b5f-12 .wp-block-kadence-column .kt-inside-inner-col {
    display: contents !important;
  }
  /* Cards: zero all margins so grid gap is the only spacing */
  .kb-row-layout-id8_fd9b5f-12 .wp-block-kadence-infobox {
    margin: 0 !important;
    width: 100% !important;
  }
  .kb-row-layout-id8_fd9b5f-12 .kt-blocks-info-box-link-wrap {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }
  /* Icons: 60px circles, centered */
  .kb-row-layout-id8_fd9b5f-12 .kt-blocks-info-box-media-container {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }
  .kb-row-layout-id8_fd9b5f-12 .kt-blocks-info-box-media {
    width: 60px !important;
    height: 60px !important;
    min-width: 60px !important;
    min-height: 60px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    margin: 0 auto 6px !important;
  }
  .kb-row-layout-id8_fd9b5f-12 .kt-blocks-info-box-media img {
    width: 60px !important;
    height: 60px !important;
    object-fit: cover !important;
  }
  /* Card text: compact */
  .kb-row-layout-id8_fd9b5f-12 .kt-blocks-info-box-title {
    font-size: 14px !important;
    line-height: 1.3 !important;
    margin-bottom: 3px !important;
  }
  .kb-row-layout-id8_fd9b5f-12 .kt-blocks-info-box-text {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }
  /* --- SECTION 4: SUPPORT OUR MISSION - side padding --- */
  .kb-row-layout-id8_d46aac-f8 > .kt-row-column-wrap {
    padding-left: 25px !important;
    padding-right: 25px !important;
  }
}

/* ===== MOBILE FOOTER FIX ===== */
@media screen and (max-width: 767px) {
  /* Collapse the 50px grid gap between stacked columns */
  .site-middle-footer-inner-wrap {
    gap: 10px !important;
  }
  /* Tighten middle row vertical padding */
  .site-middle-footer-wrap .site-footer-row-container-inner {
    padding-top: 25px !important;
    padding-bottom: 15px !important;
  }
  /* Tighten bottom row vertical padding */
  .site-bottom-footer-wrap .site-footer-row-container-inner {
    padding-top: 15px !important;
    padding-bottom: 20px !important;
  }
  /* Bottom row gap */
  .site-bottom-footer-inner-wrap {
    gap: 10px !important;
  }
  /* Center copyright and social on mobile */
  .site-bottom-footer-inner-wrap > div {
    text-align: center;
    justify-content: center;
  }
  /* Remove min-height on footer rows */
  .site-middle-footer-wrap,
  .site-bottom-footer-wrap,
  .site-top-footer-wrap {
    min-height: 0 !important;
  }
  /* Hide empty top row */
  .site-top-footer-wrap .site-footer-row-container-inner:empty {
    display: none !important;
  }
  /* Reduce widget area padding on mobile */
  .site-footer .footer-widget-area {
    padding: 5px 20px !important;
  }

  /* Tighten widget block margins inside footer */
  .site-middle-footer-wrap .widget {
    margin-bottom: 8px !important;
  }
  /* Reduce footer link font size and line height */
  .site-middle-footer-wrap .widget_text {
    font-size: 15px !important;
    line-height: 1.4 !important;
  }

  /* Footer headings smaller on mobile */
  .site-footer .wp-block-heading {
    font-size: 18px;
    margin-bottom: 8px;
  }


  /* Center social icons on mobile */
  .footer-social-inner,
  .footer-social-wrap {
    text-align: center !important;
  }
  .footer-social-inner-wrap {
    justify-content: center !important;
  }


  /* Footer logo smaller on mobile */
  .site-footer .wp-block-image img {
    max-width: 220px !important;
    height: auto !important;
  }

  /* Reduce footer mission text size on mobile */
  .site-footer .footer-widget-area p:not(.footer-hipaa-notice) {
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin-bottom: 6px !important;
  }

  /* HIPAA notice - keep smaller on mobile */
  .site-footer .footer-hipaa-notice {
    font-size: 11px !important;
    line-height: 1.4 !important;
    margin-top: 8px !important;
    opacity: 0.75;
  }

  /* Tighten spacing between footer widget areas on mobile */
  .site-middle-footer-inner-wrap > .footer-widget-area {
    margin-bottom: 0 !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  /* First widget (logo + mission) slightly more padding on top */
  .site-middle-footer-inner-wrap > .footer-widget-area:first-child {
    padding-top: 15px !important;
    padding-bottom: 5px !important;
  }

}
/* mobile footer fix published */

/* published */

/* Footer Quick Links & Resources column spacing fix */
.site-footer-middle-section-2 .widget p,
.site-footer-middle-section-3 .widget p {
  margin-top: 0 !important;
  margin-bottom: 4px !important;
}

.site-footer-middle-section-2 .widget,
.site-footer-middle-section-3 .widget {
  margin-bottom: 0 !important;
}

/* Footer top padding - now handled by Kadence Customizer setting */

/* Align footer columns: headings line up with logo text */
.site-middle-footer-inner-wrap .site-footer-section:not(:first-child) .footer-widget-area-inner {
  padding-top: 22px;
}
/* Pull logo up slightly to meet headings */
.site-middle-footer-inner-wrap .site-footer-section:first-child figure.wp-block-image {
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}

/* Footer widget titles - force white on navy background */
.site-middle-footer-wrap .widget-title,
.site-middle-footer-wrap h2.widget-title {
  color: #ffffff !important;
}

/* Footer link hover - amber on hover */
.site-footer a:hover {
  color: #E8952F !important;
}


/* ---- PROGRAMS PAGE: Mobile card spacing ---- */
@media screen and (max-width: 767px) {
  .kb-row-layout-id_prog4_cards .kt-row-column-wrap {
    row-gap: 24px !important;
  }
}

/* Programs page: balance heading text wrap on mobile */
@media screen and (max-width: 767px) {
  .entry-content .wp-block-kadence-advancedheading {
    text-wrap: balance;
  }
}

/* ---- FOOTER FIXES ---- */
/* 1. Footer widget headings - force white */
.site-footer .widget-title,
.site-footer .footer-widget-area h2,
.site-footer .footer-widget-area h3 {
    color: #ffffff !important;
}

/* ---- FOOTER MOBILE SPACING ---- */
@media screen and (max-width: 767px) {
  /* Force single-column stacking at mobile */
  .site-middle-footer-inner-wrap.site-footer-row {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
  }
  /* Prevent columns from stretching to tallest sibling */
  .site-middle-footer-inner-wrap .site-footer-section {
    height: auto !important;
    min-height: 0 !important;
  }
}

/* 2. Footer spacing - handled by Kadence Customizer settings */

/* 3. Footer link hover - amber */
.site-footer a:hover {
    color: #E8952F !important;
}

/* 4. Footer logo - size down */
.site-footer .wp-block-image img {
    max-width: 300px !important;
    height: auto !important;
}


/* 4. Footer logo - size down */
.site-footer .footer-widget-area img {
    max-width: 280px !important;
    height: auto !important;
}

/* 5. Copyright bar - subtle top border for separation */
.site-footer .site-footer-bottom-wrap {
    border-top: 1px solid rgba(255,255,255,0.15) !important;
}