/*
Theme Name: Healthcare Access Solutions
Theme URI: https://akspire.example
Author: Akspire Technology
Author URI: https://akspire.example
Description: WordPress theme converted from the Healthcare Access Solutions Mobirise static site export. Editable pages via the block editor, dynamic menu, original Bootstrap/Mobirise design preserved.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary
Text Domain: has-theme
*/

/* All visual styling is loaded from /assets/theme/css/style.css and the
   other original vendor stylesheets via functions.php (has_theme_assets).
   Add any WordPress-specific overrides below. */

main {
    display: block;
}

/* Fix: mobile horizontal scroll.
   The original mbr-additional.css uses `width: 100vw` for the mobile-menu
   overlay backdrop. 100vw includes the scrollbar gutter, and nothing in
   the original CSS clips it, so the page becomes horizontally scrollable
   on small screens. This clamps it without touching the visible layout. */
html,
body {
    overflow-x: hidden;
    max-width: 100%;
}

.wp-block-image img,
.entry-content img {
    max-width: 100%;
    height: auto;
}

/* Header email button: keep on one line */
.navbar-buttons .btn-secondary { white-space: nowrap; text-transform: none; }

/* NHS Capacity section (homepage) */
.nhs-capacity { padding: 5rem 0; background: linear-gradient(180deg,#f4f7fd 0%,#ffffff 100%); }
.nhs-capacity .nhs-head { max-width: 820px; margin: 0 auto 3rem; text-align: center; }
.nhs-capacity .nhs-eyebrow { display: inline-block; padding: .35rem 1rem; border-radius: 50px; background: rgba(79,135,251,.12); color: #4f87fb; font-weight: 700; font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; }
.nhs-capacity .nhs-title { margin: 1rem 0 .75rem; color: #130947; font-weight: 800; font-size: 2.4rem; line-height: 1.25; }
.nhs-capacity .nhs-bar { display: block; width: 70px; height: 4px; margin: 0 auto 1.5rem; border-radius: 4px; background: linear-gradient(90deg,#4f87fb,#130947); }
.nhs-capacity .nhs-lead { font-size: 1.2rem; color: #25303e; font-weight: 600; line-height: 1.7; }
.nhs-capacity .nhs-text { color: #4f5b77; font-size: 1.05rem; line-height: 1.75; }
.nhs-capacity .nhs-card { height: 100%; padding: 2.2rem; background: #fff; border-radius: 16px; border-top: 4px solid #4f87fb; box-shadow: 0 10px 30px rgba(19,9,71,.08); transition: transform .25s, box-shadow .25s; }
.nhs-capacity .nhs-card:hover { transform: translateY(-6px); box-shadow: 0 16px 40px rgba(19,9,71,.15); }
.nhs-capacity .nhs-icon { width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; margin-bottom: 1.2rem; border-radius: 14px; background: linear-gradient(135deg,#4f87fb,#130947); color: #fff; }
.nhs-capacity .nhs-card h3 { color: #130947; font-weight: 700; font-size: 1.5rem; margin-bottom: .8rem; }
.nhs-capacity .nhs-card p { color: #4f5b77; line-height: 1.7; margin-bottom: .8rem; }
.nhs-capacity .nhs-partners { margin-top: 1.5rem; padding: 2.5rem; border-radius: 16px; background: linear-gradient(135deg,#130947 0%,#303f61 100%); color: #fff; }
.nhs-capacity .nhs-partners h3 { color: #fff; font-weight: 700; font-size: 1.6rem; margin-bottom: .5rem; }
.nhs-capacity .nhs-partners-intro { color: #d6def0; margin-bottom: 1.2rem; }
.nhs-capacity .nhs-chip { display: flex; align-items: center; height: 100%; padding: 1.1rem 1.3rem; border-radius: 12px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); }
.nhs-capacity .nhs-chip strong { display: block; font-size: 1.1rem; }
.nhs-capacity .nhs-chip span:not(.nhs-dot) { color: #b9cbf5; font-size: .95rem; }
.nhs-capacity .nhs-dot { flex: 0 0 14px; width: 14px; height: 14px; margin-right: 1rem; border-radius: 50%; background: #4f87fb; box-shadow: 0 0 0 5px rgba(79,135,251,.3); }
.nhs-capacity .nhs-partners-note { margin: 1rem 0 0; color: #d6def0; line-height: 1.7; }
@media (max-width: 767px) { .nhs-capacity { padding: 3rem 0; } .nhs-capacity .nhs-title { font-size: 1.7rem; } .nhs-capacity .nhs-card, .nhs-capacity .nhs-partners { padding: 1.5rem; } }

/* Mobile: long text (emails etc.) must wrap inside cards, never get cut off */
@media (max-width: 767px) {
  section:not(.menu01) p,
  section:not(.menu01) h1, section:not(.menu01) h2, section:not(.menu01) h3,
  section:not(.menu01) h4, section:not(.menu01) h5, section:not(.menu01) h6,
  section:not(.menu01) li, section:not(.menu01) a,
  section:not(.menu01) span:not(.mbr-iconfont) {
    overflow-wrap: anywhere;
    word-break: break-word;
    max-width: 100%;
  }
  .media, .media-content, .card-wrap, .card-box, .card, [class*="col-"] { min-width: 0; }
}

/* Mobile: pictures/icons beside text must never be squeezed by long text */
@media (max-width: 767px) {
  .media > .media-left, .media > .media-right, .media > [class*="media-left"],
  .media > img, .media-left img, .mbr-iconfont, .card-img, .card-img img {
    flex-shrink: 0;
  }
  section:not(.menu01) img { max-width: 100%; }
  section:not(.menu01) .media-left img { min-width: 48px; }
}
