/* Signed-off fixes from the 24 September 2026 website audit.
   Each block names its audit item. Layout and readability only: no Elementor data is changed here. */

/* L1 NHS Support: cards fill their own column (no overlap) and titles fit; option B dark fade keeps white titles readable. */
body.page-id-1152 .nhs_div .main_card { min-width: 0 !important; }
body.page-id-1152 .nhs_div .card { width: 100% !important; max-width: 100% !important; }
body.page-id-1152 .nhs_div .card-content { width: calc(100% - 48px) !important; max-width: calc(100% - 48px) !important; padding-right: 0 !important; bottom: 76px !important; }
body.page-id-1152 .nhs_div .team_div_head { padding-right: 0 !important; }
body.page-id-1152 .nhs_div .team_div_head .elementor-heading-title { font-size: clamp(22px, 2vw, 28px) !important; line-height: 1.25 !important; overflow-wrap: normal !important; word-break: normal !important; }
@media (max-width: 1400px) { body.page-id-1152 .nhs_div .card.hover-overlay { min-height: 300px !important; } }
body.page-id-1152 .nhs_div .card-inner { z-index: 0 !important; }
body.page-id-1152 .nhs_div .card::before { opacity: 1 !important; z-index: 1 !important; background: linear-gradient(to top, rgba(22, 34, 54, .9) 0%, rgba(22, 34, 54, .55) 40%, rgba(22, 34, 54, 0) 75%) !important; }

/* L2 Service category pages (shared template 4450): the same layout fix, with the dark fade. */
.elementor-4450 .elementor-element-8837df9 > .e-con-inner { padding-left: 0 !important; padding-right: 0 !important; }
.elementor-4450 .main_card { min-width: 0 !important; }
.elementor-4450 .main_card .card { width: 100% !important; max-width: 100% !important; }
.elementor-4450 .card-content { width: calc(100% - 48px) !important; max-width: calc(100% - 48px) !important; }
.elementor-4450 .team_div_head { padding-right: 0 !important; }
.elementor-4450 .team_div_head .elementor-heading-title { font-size: clamp(20px, 2vw, 28px) !important; line-height: 1.25 !important; overflow-wrap: normal !important; word-break: normal !important; }
.elementor-4450 .card-inner { z-index: 0 !important; }
.elementor-4450 .card::before { opacity: 1 !important; z-index: 1 !important; background: linear-gradient(to top, rgba(22, 34, 54, .9) 0%, rgba(22, 34, 54, .55) 40%, rgba(22, 34, 54, 0) 75%) !important; }

/* L4 Enquiry form: the phone box matches the other boxes, a full-size Send button, and a real tick box. */
form.wpcf7-form input.wpcf7-tel {
  border-radius: 60px !important; height: 60px !important; padding: 12px 16px !important;
  border: 1px solid rgb(209, 212, 220) !important; background-color: #fff !important;
  box-shadow: rgba(0, 0, 0, .05) 0 1px 2px 0 !important; color: rgb(21, 46, 92) !important;
  font-family: Poppins, sans-serif !important; font-size: 16px !important; margin-top: 8px !important;
}
form.wpcf7-form button.btn2 br { display: none !important; }
body:not(.single-jobs) form.wpcf7-form button.btn2 { display: inline-flex !important; align-items: center; justify-content: center; min-height: 56px !important; padding: 0 !important; }
body:not(.single-jobs) form.wpcf7-form button.btn2 .btn-text { line-height: 1.2 !important; white-space: nowrap; padding: 0 72px 0 26px !important; }
body:not(.single-jobs) form.wpcf7-form button.btn2 .btn-text::after { top: 50% !important; transform: translateY(-50%); right: 3px !important; }
form.wpcf7-form .wpcf7-checkbox .wpcf7-list-item label { display: flex !important; align-items: center; gap: 12px; }
form.wpcf7-form .wpcf7-checkbox input[type="checkbox"] {
  position: static !important; opacity: 1 !important; appearance: auto !important; -webkit-appearance: checkbox !important;
  display: inline-block !important; width: 22px !important; height: 22px !important; flex: 0 0 22px; margin: 0 !important; accent-color: #2b3247;
}
form.wpcf7-form .wpcf7-checkbox .wpcf7-list-item-label::before,
form.wpcf7-form .wpcf7-checkbox .wpcf7-list-item-label::after { display: none !important; }
form.wpcf7-form .wpcf7-checkbox .wpcf7-list-item-label { padding-left: 0 !important; }

/* L5 Homepage on phones: the hero title now carries the page title, so the near-identical subheading below it is hidden. */
@media (max-width: 767px) { body.home .elementor-element-b5f4afd { display: none !important; } }

/* L6 Button labels stay on one line; the button grows to fit. */
.btn1 .elementor-button-text, .btn2 .elementor-button-text, .btnhome1 .elementor-button-text, .btnhome2 .elementor-button-text { white-space: nowrap !important; }
.btn1 .elementor-button, .btn2 .elementor-button, .btnhome1 .elementor-button, .btnhome2 .elementor-button { width: auto !important; min-width: 0 !important; max-width: 100% !important; }
@media (max-width: 767px) { .btn1 .elementor-button-text { letter-spacing: 0 !important; font-size: 13px !important; } }

/* L7 Text fits inside its card: About Us "Need some advice..." and the job "Ready to apply..." card. */
.page-id-739 .elementor-element-a4c5a9b .elementor-heading-title { font-size: 17px !important; line-height: 1.3 !important; }
.page-id-739 .elementor-element-a4c5a9b { padding-bottom: 40px !important; }
.elementor-2986 .elementor-element-e52e55d { padding-right: 8px !important; }
.elementor-2986 .elementor-element-e52e55d p { font-size: 14px !important; line-height: 1.45 !important; }
.elementor-2986 .elementor-element-4d8c4ad .elementor-heading-title { font-size: 15px !important; }

/* L9 Our People: a soft dark fade behind each name. */
.our_people_div .card { position: relative; }
.our_people_div .card-content { z-index: 3 !important; }
.our_people_div .card::after { content: "" !important; position: absolute !important; top: auto !important; left: 0 !important; right: 0 !important; bottom: 0 !important; height: 42% !important; background: linear-gradient(to top, rgba(22, 34, 54, .85), rgba(22, 34, 54, 0)) !important; z-index: 2 !important; pointer-events: none; }

/* L10 Homepage figures: darker background so the white labels pass contrast. */
body.home .elementor .elementor-element.trust { background-color: #2b3247 !important; background-image: linear-gradient(94deg, #005a9c 0%, #2b3247 85%) !important; }
body.home .trust .elementor-heading-title { text-wrap: balance; }

/* L11 Resource Hub: unselected filter buttons readable on navy. */
.e-filter-item[aria-pressed="false"] { color: #e6f1ff !important; border-color: #8fc9ff !important; }

/* L13 Homepage "Dedicated NHS Support" heading on one or two lines. */
body.home .elementor-element-dbb811c { padding-right: 0 !important; }

/* L14 Careers page title in the brand heading font. */
.page-id-3095 h1, .page-id-3095 h1 * { font-family: Poppins, sans-serif !important; }

/* L18 Our Story on tablets: the four figure boxes stack icon-over-text, so none runs 19px past the screen edge. */
@media (min-width: 768px) and (max-width: 1024px) {
  .page-id-2142 .blue_box .elementor-widget-icon-box { padding-right: 0 !important; }
  .page-id-2142 .blue_box .elementor-icon-box-wrapper { flex-direction: column !important; align-items: flex-start !important; gap: 12px; }
  .page-id-2142 .blue_box .elementor-icon-box-content { min-width: 0; max-width: 100%; }
}

/* L19 Homepage service tabs on phones: the dropdown uses the full content width and 16px text. */
@media (max-width: 767px) {
  .home_solution_tabs .tabs-mobile-dropdown { width: calc(100% + 40px) !important; max-width: none !important; margin-left: -20px !important; margin-right: -20px !important; font-size: 16px !important; padding: 0 40px 0 16px !important; text-overflow: ellipsis; }
}

/* A2 Links inside body text are underlined (not told apart by colour alone). */
/* Links drawn as buttons (their own background) and links on the dark case-study panel keep their own colours. */
.elementor-widget-text-editor p a:not(.elementor-button):not([style*="background"]),
.elementor-widget-text-editor li a:not(.elementor-button):not([style*="background"]),
.elementor-widget-theme-post-content p a:not(.elementor-button):not([style*="background"]),
.elementor-widget-theme-post-content li a:not(.elementor-button):not([style*="background"]),
.elementor-widget-theme-post-content figcaption a,
.vp-depth-item p a { text-decoration: underline !important; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.single-resources .elementor-widget-theme-post-content p a:not(.elementor-button):not([style*="background"]):not(.vp-cs-panel *),
.single-resources .elementor-widget-theme-post-content li a:not(.elementor-button):not([style*="background"]):not(.vp-cs-panel *),
.single-resources .elementor-widget-theme-post-content figcaption a:not(.vp-cs-panel *) { color: #005a9c !important; }

/* A3 Faint text: small blue labels and ghost buttons darkened to pass contrast. */
.btntop1 .elementor-button-text { color: #00639d !important; }
.vp-btn-ghost, .vp-arrs-cta > a { color: #005a9c !important; }

/* ---- Release b, 25 September 2026 (found in the post-fix re-test) ---- */

/* L14 / L5: every page title in the brand heading font. The new phone titles (L5) inherited Roboto from the old phone headings. */
h1.elementor-heading-title { font-family: Poppins, sans-serif !important; }

/* W8: the reference offer is now a link, so it must keep the white heading colour on the navy carousel. */
.elementor-element-6df1543a .elementor-heading-title a,
.elementor-element-20ce8b79 .elementor-heading-title a,
.elementor-element-68d83b06 .elementor-heading-title a { color: inherit !important; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 8px; }
.elementor-element-6df1543a .elementor-heading-title a:hover,
.elementor-element-20ce8b79 .elementor-heading-title a:hover,
.elementor-element-68d83b06 .elementor-heading-title a:hover { color: #8fc9ff !important; }

/* L15: a compact one-line search on the "Page not found" page. */
.vp-404-search { display: flex; align-items: center; gap: 8px; max-width: 440px; margin: 14px 0 6px; }
.vp-404-search label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.vp-404-search input[type="search"] { flex: 1; min-width: 0; height: 44px; padding: 0 18px; border: 1px solid #d1d4dc; border-radius: 60px; background: #fff; color: #152e5c; font: inherit; font-size: 15px; }
.vp-404-search button { height: 44px; padding: 0 20px; border: 0; border-radius: 60px; background: #2b3247; color: #fff; font-weight: 600; cursor: pointer; }
.vp-404-search button:hover { background: #005a9c; }

/* ---- Release c, 25 September 2026 (found in the second re-test) ---- */

/* W8: review quotes. On Repeat Prescriptions the article heading rule (vp-content-typography.php) reaches the page's own
   reviews carousel through the template's post-content widget and paints every quote navy on the navy band, so none of
   them could be read. Prescription Advice sets its quotes at 40px, a 13-line wall. Both now match the shared reviews band
   used on every other page: white, 28/38px, phone 20/30px. */
.elementor-5731 .reviewisec .swiper-slide .elementor-widget-heading .elementor-heading-title,
.elementor-5530 .reviewisec .swiper-slide .elementor-widget-heading .elementor-heading-title { color: #fff !important; font-size: 28px !important; line-height: 38px !important; margin-top: 0 !important; margin-bottom: 0 !important; }
@media (max-width: 767px) {
  .elementor-5731 .reviewisec .swiper-slide .elementor-widget-heading .elementor-heading-title,
  .elementor-5530 .reviewisec .swiper-slide .elementor-widget-heading .elementor-heading-title { font-size: 20px !important; line-height: 30px !important; }
}

/* L15: the white panel on the "Page not found" page is part of the hero picture, and the text column is pinned to the
   bottom of it, so the column must stay short and wide enough for the heading to sit inside the panel. The search box and
   section links replace the Back to Home button at these sizes (the logo still goes home); phones keep their button. */
@media (min-width: 768px) {
  body.error404 .elementor-element-7554ec0 { display: none !important; }
  body.error404 .elementor-element-e526ca0 { width: min(100%, 700px) !important; }
}

/* Medicine in Practice call-to-action strip: it is navy, so its bold line needs the light blue it was designed with
   (#63b0ff, 5.0:1). An earlier contrast fix measured it against white and set #0057c2, which is 2.0:1 on the navy. */
.vp-mip-cta .vp-mip-cta-text b { color: #63b0ff; }

/* ---- Release d, 25 September 2026 (found by the accessibility re-test) ---- */

/* A3: the hub and area templates colour their outline buttons with their own !important rule (#0378cc), which is
   4.2:1 on the pale grey bands. Same darker blue as A3 (6.6:1). The white "ghost-light" buttons on dark bands keep white. */
body .vp-loc .vp-btn-ghost:not(.vp-btn-ghost-light) { color: #005a9c !important; border-color: #005a9c; }

/* A2: the phone number inside the contact details line is a link, so underline it rather than rely on colour. */
.elementor-icon-box-description a.phone-link { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }

/* ---- Release e, 25 September 2026 (full-site layout scan: every page at seven screen sizes) ---- */

/* Spacing on tablets and phones. These sections keep their full 100px desktop space above and below at every size,
   so on smaller screens two of them stack into a 200-340px blank band. Tablet 64px, phone 44px; desktops unchanged.
   Full-width sections hold the space themselves; boxed sections hold it on their inner box. */
@media (max-width: 1024px) {
  .elementor-element-25e9597a, .elementor-element-14595600,
  .elementor-element-7835928c, .elementor-element-2bfe76d1,
  .elementor-element-2d57b25e, .elementor-element-1f839226,
  .elementor-5530 .elementor-element-db8bda5,
  .elementor-739 .elementor-element-ac58315,
  .elementor-element-73ca8295 > .e-con-inner, .elementor-element-5f18be8a > .e-con-inner,
  .elementor-element-1a7b3ed2 > .e-con-inner, .elementor-5530 .elementor-element-cbe3d2c > .e-con-inner,
  .elementor-element-7723535 > .e-con-inner, .elementor-element-c47c604 > .e-con-inner,
  .elementor-element-152496a > .e-con-inner, .elementor-2986 .elementor-element-9ac0d2f > .e-con-inner,
  .elementor-1141 .elementor-element-1ff74be > .e-con-inner, .elementor-3095 .elementor-element-ff160ee > .e-con-inner {
    padding-top: 64px !important; padding-bottom: 64px !important;
  }
  .elementor-5530 .elementor-element-b84c949, .elementor-1141 .elementor-element-b84c949, .elementor-1152 .elementor-element-b84c949,
  .elementor-1152 .elementor-element-6a0e445 > .e-con-inner, .elementor-element-33e60bd > .e-con-inner { padding-bottom: 64px !important; }
  .elementor-12 .elementor-element-91c41c9 > .e-con-inner, .elementor-element-c9d081e > .e-con-inner { padding-top: 64px !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-739 .elementor-element-4955bb5 { padding-top: 64px !important; padding-bottom: 64px !important; }
}
@media (max-width: 767px) {
  .elementor-element-25e9597a, .elementor-element-14595600,
  .elementor-element-7835928c, .elementor-element-2bfe76d1,
  .elementor-element-2d57b25e, .elementor-element-1f839226,
  .elementor-5530 .elementor-element-db8bda5,
  .elementor-739 .elementor-element-ac58315,
  .elementor-element-73ca8295 > .e-con-inner, .elementor-element-5f18be8a > .e-con-inner,
  .elementor-element-1a7b3ed2 > .e-con-inner, .elementor-5530 .elementor-element-cbe3d2c > .e-con-inner,
  .elementor-element-7723535 > .e-con-inner, .elementor-element-c47c604 > .e-con-inner,
  .elementor-element-152496a > .e-con-inner, .elementor-2986 .elementor-element-9ac0d2f > .e-con-inner,
  .elementor-1141 .elementor-element-1ff74be > .e-con-inner, .elementor-3095 .elementor-element-ff160ee > .e-con-inner {
    padding-top: 44px !important; padding-bottom: 44px !important;
  }
  .elementor-5530 .elementor-element-b84c949, .elementor-1141 .elementor-element-b84c949, .elementor-1152 .elementor-element-b84c949,
  .elementor-1152 .elementor-element-6a0e445 > .e-con-inner, .elementor-element-33e60bd > .e-con-inner { padding-bottom: 44px !important; }
  .elementor-12 .elementor-element-91c41c9 > .e-con-inner, .elementor-element-c9d081e > .e-con-inner { padding-top: 44px !important; }
  /* About Us: the contact card keeps a 300px minimum height when it stacks, which left 100px of empty space under it. */
  .elementor-739 .elementor-element-985d738 { min-height: 0 !important; }
  /* Governance: less space between the last card and the Further reading box. */
  .elementor-element-gvcontent1 > .e-con-inner { padding-bottom: 32px !important; }
}
/* Related articles (articles) and the application form (job pages): 100px under the last row plus the section's own
   56px left a 260-380px blank band above the footer at every size. */
.elementor-element-c9d081e > .e-con-inner { padding-bottom: 40px !important; }

/* Fonts. The Elementor site kit was never given the brand fonts, so a heading without its own font fell back to Roboto
   ("Get In Touch", "Apply For Role", "How Does Virtual Pharmacist Work?" and others). Headings now default to Poppins.
   Release f (Luke, 25 September: "Poppins everywhere"): body text, buttons and subtitles too, so articles, job adverts,
   text blocks and lists no longer fall back to Roboto. */
body.elementor-kit-11 {
  --e-global-typography-primary-font-family: "Poppins";
  --e-global-typography-secondary-font-family: "Poppins";
  --e-global-typography-text-font-family: "Poppins";
  --e-global-typography-accent-font-family: "Poppins";
}
/* Poppins is a little wider, so some section headings now take two lines; balance them rather than leave one word on
   its own ("Dedicated NHS / Support"). Same number of lines, so nothing moves. Page titles (h1) keep their breaks. */
.elementor-widget-heading :is(h2, h3, h4, h5, h6).elementor-heading-title { text-wrap: balance; }
/* Headings written inside article and page text (article h2/h3, key points, case studies, governance). Poppins is a
   little wider than Roboto, so balance the lines rather than leave one word on its own. */
.elementor-widget-text-editor :is(h1, h2, h3, h4, h5, h6),
.elementor-widget-theme-post-content :is(h1, h2, h3, h4, h5, h6) { font-family: Poppins, sans-serif; text-wrap: balance; }
/* Article "Key points" and "About the author" labels: small capitals that inherited the big headings' -1.6px letter
   spacing, so "KEY POINTS" read as one word. Normal label spacing. */
body .elementor-widget-theme-post-content :is(h2.vp-af-key-h, h2.vp-af-about-h) { letter-spacing: 0.08em !important; }
/* The two "Contact Us" links on the article and About Us cards were the only text on the site in Inter. */
.elementor-element-b6e7d5f .elementor-icon-box-title, .elementor-element-b6e7d5f .elementor-icon-box-title *,
.elementor-element-0288637 .elementor-icon-box-title, .elementor-element-0288637 .elementor-icon-box-title * { font-family: Poppins, sans-serif !important; }

/* Small labels on the area, hub, awards and events pages are set in rem units, which shrink to 9.6-11px on phones.
   12px minimum for labels, 14px for card text. Larger sizes are unchanged. */
body .vp-loc .vp-badge { font-size: max(12px, 0.74rem); }
body .vp-loc .vp-eyebrow { font-size: max(12px, 0.72rem); }
body .vp-loc .vp-factcard dt { font-size: max(12px, 0.73rem); }
body .vp-loc .vp-stat-l { font-size: max(12px, 0.82rem); }
body .vp-hub .vp-area-tag { font-size: max(12px, 0.66rem); }
body .vp-loc .vp-phase h3 { font-size: max(12px, 0.82rem) !important; }
body .vp-loc .vp-source { font-size: max(12px, 0.8rem) !important; }
body p.vp-loc-links-eyebrow { font-size: max(12px, 0.74rem) !important; }
body .vp-loc :is(.vp-benefit, .vp-step, .vp-phase) p { font-size: max(14px, 0.92rem); }
/* Case study labels ("What was happening"): 11.5px up to 12px. */
body .vp-cs.vp-cs .vp-cs-label { font-size: 12px !important; }

/* Jobs list (/jobs/): the job titles took the theme's page-heading size (46px, 30px on phones), so each card title ran
   to four or five lines; the name and date line was 11.9px; phones had an extra 56px above the page title. */
body.post-type-archive-jobs article.jobs h2.entry-title { font-size: clamp(22px, 2vw, 28px) !important; line-height: 1.3 !important; }
body.post-type-archive-jobs article.jobs .entry-header { font-size: max(12px, 0.8125rem) !important; }
@media (max-width: 767px) { body.post-type-archive-jobs #primary { padding-top: 16px !important; } }

/* Governance page on phones: the standards table could not shrink below 378px (it was already 20px wider than its
   column in Roboto), so in Poppins it pushed the page sideways. Tighter cells and 14px text fit it in a 320px column;
   its own scroll is only a last resort. */
@media (max-width: 480px) {
  body .elementor-widget-text-editor table.vp-matrix { display: block; max-width: 100%; overflow-x: auto; }
  body .elementor-widget-text-editor table.vp-matrix :is(th, td) { padding: 10px 7px !important; font-size: 14px !important; }
}

/* Solutions page on phones: a 100px spacer under the last service card left an empty blue band. */
@media (max-width: 767px) { .elementor-12 .elementor-element-c2e82aa .elementor-spacer-inner { height: 24px !important; } }

/* Homepage on small phones (up to 400px): three button labels ran under their arrow. The service tab buttons get a
   little less side padding; the "contact us" and "work with us" panel gets less side padding, so its column (and the
   heading above each button) has room. */
@media (max-width: 400px) {
  body.home .home_solution_tabs .btn1 .elementor-button { padding-left: 16px !important; padding-right: 12px !important; }
  body.home .home_solution_tabs .btn1 .elementor-button-text { padding-right: 56px !important; }
  body.home .elementor-element-e7040af { padding-left: 20px !important; padding-right: 20px !important; }
}

/* ---- Release g, 25 September 2026 (Luke: 16px body text on phones for articles and job adverts) ---- */

/* Articles and job adverts on phones: body text inherited the site's 14px phone size. 16px for long reading, the same
   as the area pages. Text with its own size (bylines, key points, case-study small print, headings) keeps it. */
@media (max-width: 767px) {
  body:is(.single-resources, .single-jobs) .elementor-widget-theme-post-content { font-size: 16px; line-height: 1.65; }
}

/* ---- Release h, 25 September 2026 (live re-check: buttons and customer flow) ---- */

/* Tablets and small laptops (768-1024px): these sections have no side padding, so their text and buttons ran into the
   screen edges (45 pages) and the right-hand Solutions and Our People cards lost part of their button. A side gutter
   of 24-32px; sections that already have more keep theirs. Phones and larger screens are unchanged. */
@media (min-width: 768px) and (max-width: 1024px) {
  body { --vp-gutter: clamp(24px, 3.2vw, 32px); }
  .elementor-3571 .elementor-element-23fe51e,
  .elementor-739 .elementor-element-daf5096,
  .elementor-1152 .elementor-element-14b7fd7,
  .elementor-3095 .elementor-element-f229df5,
  .elementor-6353 .elementor-element-f229df5,
  .elementor-2063 .elementor-element-158f782,
  .elementor-12 .elementor-element-f229df5,
  .elementor-6353 .elementor-element-c449da2,
  .elementor-12 .elementor-element-0f17908,
  .elementor-12 .elementor-element-104a162,
  .elementor-3807 .elementor-element-39d85a7 > .e-con-inner,
  .elementor-2986 .elementor-element-576ad2e > .e-con-inner,
  .elementor-4343 .elementor-element-348dfd02 > .e-con-inner,
  .elementor-2142 .elementor-element-da856b9 > .e-con-inner,
  .elementor-5530 .elementor-element-f229df5 > .e-con-inner,
  .elementor-4397 .elementor-element-2767dfc6 > .e-con-inner,
  .elementor-5788 .elementor-element-2767dfc6 > .e-con-inner,
  .elementor-5784 .elementor-element-2767dfc6 > .e-con-inner,
  .elementor-5792 .elementor-element-2767dfc6 > .e-con-inner,
  .elementor-5503 .elementor-element-2767dfc6 > .e-con-inner,
  .elementor-5782 .elementor-element-2767dfc6 > .e-con-inner,
  .elementor-5505 .elementor-element-2767dfc6 > .e-con-inner,
  .elementor-5688 .elementor-element-2767dfc6 > .e-con-inner,
  .elementor-4392 .elementor-element-66a2be66 > .e-con-inner,
  .elementor-5889 .elementor-element-2767dfc6 > .e-con-inner,
  .elementor-739 .elementor-element-da856b9 > .e-con-inner,
  .elementor-5510 .elementor-element-2767dfc6 > .e-con-inner,
  .elementor-5690 .elementor-element-2767dfc6 > .e-con-inner,
  .elementor-5887 .elementor-element-2767dfc6 > .e-con-inner,
  .elementor-5731 .elementor-element-2767dfc6 > .e-con-inner,
  .elementor-1152 .elementor-element-f229df5 > .e-con-inner,
  .elementor-3651 .elementor-element-de62f0d > .e-con-inner,
  .elementor-5790 .elementor-element-2767dfc6 > .e-con-inner,
  .elementor-5733 .elementor-element-2767dfc6 > .e-con-inner,
  .elementor-5932 .elementor-element-2767dfc6 > .e-con-inner,
  .elementor-5786 .elementor-element-2767dfc6 > .e-con-inner,
  .elementor-1471 .elementor-element-f229df5 > .e-con-inner,
  .elementor-4223 .elementor-element-f229df5 > .e-con-inner,
  .elementor-4228 .elementor-element-f229df5 > .e-con-inner,
  .elementor-1141 .elementor-element-f229df5 > .e-con-inner,
  .elementor-5499 .elementor-element-f229df5 > .e-con-inner,
  .elementor-5497 .elementor-element-f229df5 > .e-con-inner,
  .elementor-4309 .elementor-element-f229df5 > .e-con-inner,
  .elementor-2063 .elementor-element-da856b9 > .e-con-inner,
  .elementor-4274 .elementor-element-f229df5 > .e-con-inner,
  .elementor-4097 .elementor-element-f229df5 > .e-con-inner,
  .elementor-4060 .elementor-element-f229df5 > .e-con-inner {
    padding-inline-start: max(var(--padding-inline-start, 0px), var(--vp-gutter)) !important;
    padding-inline-end: max(var(--padding-inline-end, 0px), var(--vp-gutter)) !important;
  }
  .elementor-1048 .elementor-element-0fa02fc,
  .elementor-2446 .elementor-element-0fa02fc,
  .elementor-2986 .elementor-element-a6cd147,
  .elementor-927 .elementor-element-0fa02fc,
  .elementor-1141 .elementor-element-4658cd5,
  .elementor-5499 .elementor-element-4658cd5,
  .elementor-6353 .elementor-element-bda9a46,
  .elementor-12 .elementor-element-0112335,
  .elementor-6353 .elementor-element-739ddb6,
  .elementor-6353 .elementor-element-23ba773,
  .elementor-5497 .elementor-element-4658cd5,
  .elementor-12 .elementor-element-dbb811c,
  .elementor-12 .elementor-element-b7529a6,
  .elementor-1152 .elementor-element-bc37847 {
    padding-inline: var(--vp-gutter) !important;
  }
  .elementor-3651 .elementor-element-ea4a699 .elementor-pagination { padding-inline: var(--vp-gutter); }
  /* Our People: the card grid used two fixed 369px columns; let them share the narrower width. */
  body .our_people_div { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* Page titles in the top banner on tablets: the white title panel is only 262-360px wide at 768-900px and some titles
   also kept 95-100px clear on the right, so 50px titles split words ("Medic-ation", "Prescrip-tions") or ran over the
   picture. The title scales with the screen (34-48px) and uses the whole panel. Articles use a different banner and
   are not touched. */
@media (min-width: 768px) and (max-width: 1024px) {
  .videotop .videoleft .elementor-widget-heading:has(h1) { padding-right: 0 !important; }
  .videotop .videoleft h1.elementor-heading-title { font-size: clamp(34px, 4.6vw, 48px) !important; line-height: 1.2 !important; padding-right: 0 !important; }
  /* About Us "Our Mission" boxes: four across left 47px for the text beside each icon; the icon now sits above it. */
  body .mission_box .elementor-icon-box-wrapper { flex-direction: column !important; align-items: flex-start !important; gap: 12px; }
  body .mission_box .elementor-icon-box-content { min-width: 0; width: 100%; }
  /* The "Ready to better your practice?" card beside articles and the About Us contact card: 30px side padding left
     one word per line in a 143px card. */
  .elementor-3807 .elementor-element-cdee0b5, .elementor-739 .elementor-element-2c0b0c7 { padding-left: 16px !important; padding-right: 16px !important; }
  /* NHS Support "Our People" card: the same, and its 22px title ("The Team Behind Virtual Pharmacist") drops to 18px. */
  .elementor-1152 .elementor-element-b3dbda5 { padding-left: 16px !important; padding-right: 16px !important; }
  .elementor-1152 .elementor-element-86e8f0e .elementor-heading-title { font-size: 18px !important; }
}

/* Small phones (up to 400px): job titles such as "(Independent" and two card titles on Remote Pharmacist Services were
   wider than their space and split mid-word. */
@media (max-width: 400px) {
  body.single-jobs h1.elementor-heading-title { font-size: 31px !important; line-height: 1.25 !important; }
  .elementor-8392 :is(.elementor-element-36fb3f9, .elementor-element-2692edf) .elementor-heading-title { font-size: 18px !important; }
}

/* Homepage on phones: the "learn more" button shrank to its words, so its arrow covered "more". The same 200px it
   has on larger screens. */
@media (max-width: 767px) {
  body.home .elementor-element-4c0d404 .elementor-button { min-width: 200px !important; }
}

/* ---- Release i, 25 September 2026 (final live check) ---- */

/* Service category cards (Medication Reviews, Long-Term Conditions, Quality pages): the title area reached the card's
   right edge, so on phones and tablets the last words could run under the corner arrow. Titles now stop 80px short of
   the edge there; larger screens already had room. */
@media (max-width: 1024px) {
  .elementor-4450 .card-content { width: calc(100% - 80px) !important; max-width: calc(100% - 80px) !important; }
}
