/*
Theme Name: OHFT Core
Theme URI: https://www.oxfordhealth.nhs.uk
Author: Oxford Health NHS Foundation Trust
Author URI: https://www.oxfordhealth.nhs.uk
Description:  Oxford Health parent theme
Version: 25.09.12
Tested up to: 6.8.2
Requires PHP: 8.0
License: Copyright Oxford Health NHS Foundation Trust
Text Domain: ohft
 */


/* Root variables for light mode (default) */
:root {
  /* Core brand colours (these stay consistent) */
  --nhs-blue: #005eb8;
  --nhs-white: #ffffff;
  --nhs-dark-blue: #003087;
  --logo-image: url('images/oxfordhealth-nhs-foundation-trust.jpg');

  /* Footer logo images */
  --logo-disability-confident: url('images/foot/disability-confident-employer.png');
  --logo-inclusive-employers: url('images/foot/Committed-Employers.png');
  --logo-armed-forces: url('images/foot/armed-forces-covenant.png');
  --logo-veterans-aware: url('images/foot/veterans-aware.png');
  --logo-equality-networks: url('images/foot/equality-staff-networks.png');
  
  /* Semantic colour variables (these change in dark mode) */
  --color-background-primary: #F5F9FD;
  --color-background-secondary: #ffffff;
  --color-background-accent: #E6F1FA;
  --color-background-dark: var(--nhs-blue);
  --color-background-blue: var(--nhs-blue);
  --color-mobile-menu-background: #ffffff;
  
  --color-text-primary: #212b32;
  --color-text-secondary: #4c6272;
  --color-text-link: var(--nhs-blue);
  --color-text-link-visited: #330072;
  --color-text-link-hover: #7C2855;

  --color-heading-primary: var(--nhs-blue);
  --color-brand-accent: var(--nhs-blue);
  
  --color-border-primary: #d8dde0;
  --color-border-secondary: #E6E6E6;
  
  --color-surface-card: #ffffff;
  --color-surface-panel: #F0F4F5;
  --color-surface-muted: #F7F9FA;

  /* Focus and interaction states */
  --color-focus-background: #ffeb3b;
  --color-focus-text: #212b32;
  --color-focus-border: #212b32;
  
  /* Interactive states */
  --color-hover-light: #003d78;
  --color-active-dark: #002f5c;
  
  /* Status and feedback colours */
  --color-success: #007f3b;
  --color-warning: #ed8b00;
  --color-error: #d5281b;
  --color-info: #005eb8;
  
  /* Gradients and overlays */
  --gradient-section-overlay: linear-gradient(90deg, rgba(212, 230, 246, 1) 0%, rgba(212, 230, 246, 1) 15%, rgba(212, 230, 246, 0) 75%);
  --gradient-patient-menu: linear-gradient(141deg, rgba(245,249,253,1) 0%, rgba(230,241,250,1) 100%);

  /* Section band colours */
  --color-section-band: #D4E6F6;
  --color-section-shadow: rgba(0, 0, 0, 0.2);
  
  /* Section band gradients */
  --gradient-band-overlay: linear-gradient(90deg, rgba(212, 230, 246, 1) 0%, rgba(212, 230, 246, 1) 15%, rgba(212, 230, 246, 0) 75%);
  --gradient-section-shadow: linear-gradient(to bottom, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 75%);
  
  /* Shadow effects */
  --shadow-subtle: 0 2px 8px rgba(0, 0, 0, 0.08);
  --shadow-focus: 0 4px 0 0 #212b32;
  
  /* Border radius values */
  --radius-small: 4px;
  --radius-medium: 6px;
  --radius-large: 8px;
  
  /* Transition timings */
  --transition-fast: 0.2s ease;
  --transition-medium: 0.3s ease;

}

/* Dark mode overrides */
[data-color-mode="dark"] {

  --logo-image: url('images/oxfordhealth-nhs-foundation-trust.png');  
  --color-background-primary: #1a1a1a;
  --color-background-secondary: #2d2d2d;
  --color-background-accent: #0f2a3d;
  --color-background-dark: #2d2d2d; 
  --color-background-blue: #1a1a1a;
  --color-mobile-menu-background: #2d2d2d;
  
  --color-text-primary: #ffffff;
  --color-text-secondary: #b0b0b0;
  --color-text-link: #4da6ff;
  --color-text-link-visited: #b366ff;
  --color-text-link-hover: #ff6bb3;

  --color-heading-primary: var(--nhs-white);
  --color-brand-accent: var(--nhs-white);
  
  --color-border-primary: #404040;
  --color-border-secondary: #333333;
  
  --color-surface-card: #2d2d2d;
  --color-surface-panel: #1f1f1f;
  --color-surface-muted: #252525;

  /* Focus states remain consistent for accessibility */
  --color-focus-background: #ffeb3b;
  --color-focus-text: #212b32;
  --color-focus-border: #212b32;
  
  /* Interactive states adapted for dark theme */
  --color-hover-light: #66b3ff;
  --color-active-dark: #0066cc;
  
  /* Status colours adapted for dark theme */
  --color-success: #00cc66;
  --color-warning: #ffaa00;
  --color-error: #ff4444;
  --color-info: #66b3ff;
  
  /* Gradients adapted for dark theme */
  --gradient-section-overlay: linear-gradient(90deg, rgba(45, 45, 45, 1) 0%, rgba(45, 45, 45, 1) 15%, rgba(45, 45, 45, 0) 75%);
  --gradient-patient-menu: linear-gradient(141deg, rgba(45, 45, 45, 1) 0%, rgba(64, 64, 64, 1) 100%);

  /* Section band colours adapted for dark mode */
  --color-section-band: #2d3748;
  --color-section-shadow: rgba(0, 0, 0, 0.4);
  
  /* Section band gradients for dark mode */
  --gradient-band-overlay: linear-gradient(90deg, rgba(45, 55, 72, 1) 0%, rgba(45, 55, 72, 1) 15%, rgba(45, 55, 72, 0) 75%);
  --gradient-section-shadow: linear-gradient(to bottom, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 75%);
  
  /* Shadows adapted for dark theme */
  --shadow-subtle: 0 2px 8px rgba(0, 0, 0, 0.3);
  --shadow-focus: 0 4px 0 0 #212b32;
 
    /* Dark mode footer logos */
  --logo-disability-confident: url('images/foot/disability-confident-employer_dark.png');
  --logo-inclusive-employers: url('images/foot/Committed-Employers_dark.png');
  --logo-armed-forces: url('images/foot/armed-forces-covenant_dark.png');
  --logo-veterans-aware: url('images/foot/veterans-aware_dark.png');
  --logo-equality-networks: url('images/foot/equality-staff-networks_dark.png');

}

/*
[data-color-mode="dark"] .nhsuk-care-card__content,
[data-color-mode="dark"] .ohft-box,
[data-color-mode="dark"] .nhsuk-details .nhsuk-expander,
[data-color-mode="dark"] .nhsuk-details__text,
[data-color-mode="dark"] .nhsuk-details__summary
{
    background-color: #2d2d2d !important; 
    border: none; 
    color: #fff !important; 
}

[data-color-mode="dark"] .ohft-box p,
[data-color-mode="dark"] .ohft-box h2,
[data-color-mode="dark"] .ohft-box h3,
[data-color-mode="dark"] .nhsuk-details__summary,
[data-color-mode="dark"] .nhsuk-details__summary-text, 
[data-color-mode="dark"] .nhsuk-details__text p {
    color: #fff !important;
}

[data-color-mode="dark"] .nhsuk-details__summary:focus,
[data-color-mode="dark"] .nhsuk-details__summary-text:focus
 {
   color: #000 !important;
}
   */

/* === Base === */

body {
  background: var(--color-background-primary) !important;
  color: var(--color-text-primary);
}

html {
  background: var(--color-background-accent) !important;
}

h1, h2, h3, h4, h5, h6 {clear: both;}
h2 {letter-spacing: -0.5px;}
h1 {color: var(--color-heading-primary) !important;}
article,aside,footer,header,nav,section {display: block}
button,input,select,textarea {font-family: inherit}
.wrapper {width: 100%;margin: 0 auto;}
.clear:after {content: ".";	display: block;	height: 0;clear: both;visibility: hidden;}
.hidden {display: none;}
.left {float: left;}
.right {float: right;}
.center {text-align: center;}
::-webkit-input-placeholder, :-ms-input-placeholder {color: var(--color-border-primary);}
blockquote {
  padding: 20px 20px 10px;
  margin: 15px 0 20px;
  border-left: 5px solid var(--color-heading-primary);
  background: var(--color-surface-card);
  overflow: auto;
}
blockquote p {margin-bottom:10px;}

/* === Links === */
a {color: var(--color-text-link);}
a:visited {color: var(--color-text-link-visited);}
a:hover {color: var(--color-text-link-hover);text-decoration: none}
a:focus {
  background-color: #ffeb3b;
  box-shadow: 0 -2px #ffeb3b, 0 4px var(--color-text-primary);
  color: var(--color-text-primary);
  outline: 4px solid transparent;
  text-decoration: none
}

a:focus-visible {
    background-color: #ffeb3b; 
    box-shadow: 0 -2px #ffeb3b, 0 4px var(--color-text-primary);
    color: var(--color-text-primary);
    outline: 4px solid transparent;
    text-decoration: none;
}

a:focus:not(:focus-visible) {
    outline: none;
    background-color: transparent;
    box-shadow: none;
    color: inherit;
}

a:focus:hover {text-decoration: none}
a:focus:visited {color: var(--color-text-primary)}
a:focus .nhsuk-icon {fill: var(--color-text-primary)}
a:active {color: #002f5c}

/* === Images === */
img {max-width: 100%;height: auto;}
.attachment img {max-width: 610px;display: block;margin: 0 auto;}
.alignnone, img.alignnone {clear: both;display: block;margin-bottom: 15px;z-index: 11;}
.alignleft, img.alignleft {display: inline;float: left;margin-right: 15px;margin-top: 4px;z-index: 11;}
.alignright, img.alignright {display: inline;float: right;margin-left: 15px;margin-top: 4px;z-index: 100;}
.aligncenter, img.aligncenter {clear: both;display: block;margin-left: auto;margin-right: auto;z-index: 11;}
img.alignleft, img.alignright, img.aligncenter {margin-bottom: 15px;}
.wp-caption {
  background: var(--color-surface-panel);
  line-height: 18px;
  margin-bottom: 20px;
  text-align: center;
  padding: 4px;
}
.wp-caption img {margin: 5px 5px 0;}
.wp-caption p.wp-caption-text {
  color: var(--color-text-secondary);
  font-size: 14px;
  margin: 5px;
}
.gallery {margin: 0 auto 18px;}
.gallery .gallery-item {float: left;margin-top: 0;text-align: center;width: 190px;}
.gallery .gallery-item img {max-width: 190px;border: none!important;margin-bottom: 0;}
.gallery .gallery-caption {
  color: var(--color-text-secondary);
  font-size: 14px;
  margin: 0 0 12px;
}
.gallery br+br {display: none;}
.wp-smiley, .gallery dl {margin: 0;}

/* === Material Design Icons === */
.material-icon {
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 1.2em;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    vertical-align: middle;
}

.material-icon.size-small { font-size: 1rem; }
.material-icon.size-medium { font-size: 1.2rem; }
.material-icon.size-large { font-size: 1.5rem; }
.material-icon.size-xl { font-size: 2rem; }

.menu-icon {
    margin-right: 0.5rem;
    opacity: 0.8;
    transition: opacity 0.2s ease;
}

.menu-item:hover .menu-icon {
    opacity: 1;
}

/* Common icon replacements */
.icon-home::before { content: 'home'; }
.icon-menu::before { content: 'menu'; }
.icon-close::before { content: 'close'; }
.icon-search::before { content: 'search'; }
.icon-filter::before { content: 'filter_list'; }
.icon-settings::before { content: 'settings'; }
.icon-user::before { content: 'person'; }
.icon-edit::before { content: 'edit'; }
.icon-delete::before { content: 'delete'; }
.icon-add::before { content: 'add'; }
.icon-arrow-up::before { content: 'keyboard_arrow_up'; }
.icon-arrow-down::before { content: 'keyboard_arrow_down'; }
.icon-arrow-left::before { content: 'keyboard_arrow_left'; }
.icon-arrow-right::before { content: 'keyboard_arrow_right'; }
.icon-external::before { content: 'open_in_new'; }
.icon-download::before { content: 'download'; }
.icon-share::before { content: 'share'; }
.icon-bookmark::before { content: 'bookmark'; }
.icon-tag::before { content: 'local_offer'; }
.icon-category::before { content: 'folder'; }
.icon-date::before { content: 'calendar_today'; }
.icon-time::before { content: 'schedule'; }
.icon-views::before { content: 'visibility'; }
.icon-comments::before { content: 'chat_bubble_outline'; }
.icon-like::before { content: 'favorite_border'; }
.icon-info::before { content: 'info'; }
.icon-warning::before { content: 'warning'; }
.icon-error::before { content: 'error'; }
.icon-success::before { content: 'check_circle'; }
.icon-help::before { content: 'help'; }
.icon-docs::before { content: 'description'; }
.icon-tutorial::before { content: 'school'; }
.icon-guide::before { content: 'map'; }
.icon-reference::before { content: 'library_books'; }
.icon-faq::before { content: 'quiz'; }

.icon-text {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

/* === Header === */
.head {width: 100%; background: var(--color-background-secondary); border-bottom: 1px solid var(--color-border-secondary) !important;}
.header {height: 150px;width: 1140px; overflow: hidden;margin: 0 auto;background-color: var(--color-background-secondary); }

.mobile-header {display: none;}
.service-name {float: left; width: 800px; height: 60px; display: block; margin: 0px; }
.service-name h1 {font-size: 32px; margin: 0;}
.service-name h1 a {text-decoration: none; color: var(--color-text-link); }
.service-name p { margin:0;}
.service-name img {display: block; width: 200px; margin: 0 0 10px 0; }
.logo{width:160px;height:80px; float:right; text-align: right;  margin: 0; }


.logo__image {
  width: 160px;
  height: 79px;
  background-image: var(--logo-image);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}



/* === Primary navigation === */
.ohft-header {
  background-color: var(--color-background-blue); 
  height: 50px ; 
  padding: 5px 12px;
}
.ohft-header__inner {width: 1140px;margin: 0 auto;}
.ohft-header__menu {
  display: block; 
  width: 750px; 
  height: 40px; 
  float: left; 
  margin: 0 0 0 10px !important;
}
.ohft-header__trustname {display: none;}
.ohft-header__navigation-list {
  display: flex; 
  justify-content: space-between; 
  padding: 0; 
  width: 100%; 
  list-style: none; 
  margin: 0; 
  padding: 7px 0; 
}
.ohft-header__navigation-item {border-top: 0;margin: 0; text-align: center;}
.ohft-header__navigation-item .ohft-icon__chevron-right {display: none;}
.ohft-header__navigation-link {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5; 
  display: block; 
  padding: 0 ; 
  text-decoration: none; 
  color: var(--nhs-white);
}
.ohft-header__navigation-link:visited {color: var(--nhs-white);}
.ohft-header__menu-tools {display: none;}
.ohft-header__search {width: 279px; display: block; float: right;}
.ohft-header__menu-toggle, .ohft-header__search-toggle  {display: none;}
.ohft-search-icon {margin: 0px 0 0 3px !important;}
.ohft-patient-menu, .ohft-site-menu  {display: none;}

/* ==========================================================================
   Additional CSS to add to your existing style.css
   Add these styles after your existing header styles
   ========================================================================== */

/* Font family support for Lexend */
[data-font-family="lexend"] {
    font-family: 'Lexend', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
}

[data-font-family="lexend"] h1,
[data-font-family="lexend"] h2,
[data-font-family="lexend"] h3,
[data-font-family="lexend"] h4,
[data-font-family="lexend"] h5,
[data-font-family="lexend"] h6 {
    font-family: 'Lexend', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
}

/* Update existing header navigation to support accessibility button */
.ohft-header__navigation-list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 7px 0;
}

/* Mobile responsive adjustments for accessibility */
@media only screen and (min-width: 768px) and (max-width: 1150px) {
    .ohft-accessibility-toggle-container {
        margin-left: 1rem;
    }
}

@media only screen and (min-width: 768px) and (max-width: 959px) {
    /* Tablet Portrait - accessibility button in collapsed menu */
    .ohft-accessibility-toggle-container {
        display: none; /* Hide in tablet mode, will be in hamburger menu */
    }
    
    /* Add accessibility option to mobile menu when expanded */
    .ohft-header__menu.active .ohft-accessibility-toggle-container {
        display: block;
        width: 100%;
        margin: 0;
        padding: 0;
        border-top: 1px solid var(--color-surface-panel);
    }
    
    .ohft-header__menu.active .ohft-accessibility-toggle {
        width: 100%;
        justify-content: flex-start;
        padding: 12px 15px;
        border: none;
        border-radius: 0;
        background: transparent;
        color: var(--nhs-blue);
    }
    
    .ohft-header__menu.active .ohft-accessibility-toggle:hover {
        background: var(--color-surface-panel);
    }
    
    .ohft-header__menu.active .ohft-accessibility-toggle:focus {
        background-color: #ffeb3b;
        color: var(--color-text-primary);
    }
}

@media only screen and (max-width: 767px) {
    /* Mobile Portrait - accessibility button in collapsed menu */
    .ohft-accessibility-toggle-container {
        display: none; /* Hide in mobile mode, will be in hamburger menu */
    }
    
    /* Add accessibility option to mobile menu when expanded */
    .ohft-header__menu.active .ohft-accessibility-toggle-container {
        display: block;
        width: 100%;
        margin: 0;
        padding: 0;
        border-top: 1px solid var(--color-surface-panel);
    }
    
    .ohft-header__menu.active .ohft-accessibility-toggle {
        width: 100%;
        justify-content: flex-start;
        padding: 12px 15px;
        border: none;
        border-radius: 0;
        background: transparent;
        color: var(--nhs-blue);
    }
    
    .ohft-header__menu.active .ohft-accessibility-toggle:hover {
        background: var(--color-surface-panel);
    }
    
    .ohft-header__menu.active .ohft-accessibility-toggle:focus {
        background-color: #ffeb3b;
        color: var(--color-text-primary);
    }
    
    /* Mobile accessibility bar adjustments */
    .ohft-accessibility-bar-inner {
        padding: 1rem 15px;
    }
}

/* Dark mode improvements for existing elements */
[data-color-mode="dark"] .ohft-header__navigation-link {
    color: var(--nhs-white);
}

[data-color-mode="dark"] .ohft-header__navigation-link:visited {
    color: var(--nhs-white);
}

/* Screen reader utilities */
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* === Patient Menu === */
.ohft-patient-menu {width: 600px;height: 100px;padding: 20px 0 0;}
.ohft-patient-menu a {
  color: var(--color-text-primary);
  display: block;
  line-height: 18px;
  padding: 0 10px;
  text-decoration: none; 
}
.ohft-patient-menu ul {padding: 0;margin: 0;list-style: none;margin: 0 0 0 -15px;}
.ohft-patient-menu li {
  float: left;
  display: block;
  text-align: left;
  font-size: 1.2em;
  letter-spacing: -0.3px;
  margin: 0;
  padding: 0 10px;
  line-height: 15px;
  background: none;
  position: relative;
  z-index: 200; 
}
.ohft-patient-menu li a {
  color: var(--color-text-primary);
  text-decoration: none;
  display: block;
  padding: 20px 20px;
  margin: 0;
  white-space: nowrap; 
  background-color: var(--color-background-primary);
}
.ohft-patient-menu li:hover>a {
  border-bottom: 4px solid #0072CE; 
  background: var(--color-background-primary);
  background: linear-gradient(141deg, var(--color-background-primary) 0%, var(--color-background-accent) 100%); 
}
.ohft-patient-menu li a:focus {
  border-bottom:none; 
  background-color: #ffeb3b;
}

/* === OHFT layout === */

.ohft-container { max-width: 1140px; margin: 0 auto; padding: 0 1rem; }
.ohft-container--fluid { width: 100%; margin: 0; padding: 0; }
.ohft-grid { display: grid; gap: 2rem; }
.ohft-grid--two-thirds { grid-template-columns: 2fr 1fr; }
.ohft-grid--full { grid-template-columns: 1fr; }
.ohft-page-layout {padding: 40px 0;}

.nhsuk-grid-column-full {
  float: none;
  width: 100% !important;
  padding:0 !important; 
  margin: 0 !important;
}
.nhsuk-width-container-fluid { margin: 0 !important;}    
.nhsuk-width-container {
  max-width:1130px !important; 
  margin: 0 auto !important; 
}


/* === Section landing page === */

/* View Switcher Component */
.ohft-view-switcher {
    margin: 2rem 0;
    display: flex;
    justify-content: flex-end;
}

.ohft-view-switcher__container {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--color-surface-panel);
    padding: 0.5rem;
    border-radius: 6px;
    border: 1px solid var(--color-border-primary);
}

.ohft-view-switcher__label {
    font-weight: 600;
    color: var(--color-text-secondary);
    font-size: 0.9rem;
    margin-right: 0.5rem;
}

.ohft-view-switcher__button {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid transparent;
    border-radius: 4px;
    background: transparent;
    color: var(--color-text-secondary);
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.ohft-view-switcher__button:hover {
    background: var(--color-surface-card);
    border-color: var(--color-border-primary);
    color: var(--nhs-blue);
}

.ohft-view-switcher__button:focus {
    outline: 3px solid var(--color-focus-background);
    outline-offset: 0;
    background: var(--color-focus-background);
    color: var(--color-focus-text);
    border-color: var(--color-focus-border);
}

.ohft-view-switcher__button.active {
    background: var(--nhs-blue);
    color: var(--nhs-white);
    border-color: var(--nhs-blue);
}

.ohft-view-switcher__button.active:hover {
    background: var(--nhs-dark-blue);
    border-color: var(--nhs-dark-blue);
}

.ohft-view-switcher__button .material-icon {
    font-size: 1.1rem;
}

.ohft-view-switcher__text {
    font-weight: 500;
}

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

.ohft-pages-container {
    margin-top: 1rem;
}

.ohft-page-item {
    background: var(--color-surface-card);
    border: 1px solid var(--color-border-primary);
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.2s ease;
    position: relative;
}

.ohft-page-item:hover {
    border-color: var(--nhs-blue);
    box-shadow: 0 2px 8px rgba(0, 94, 184, 0.1);
    transform: translateY(-1px);
}

.ohft-page-item:focus-within:focus-visible {
    border-color: var(--nhs-blue);
    box-shadow: 0 0 0 3px var(--color-focus-background);
}

.ohft-page-item:focus-within {
    border-color: var(--nhs-blue);
}

.ohft-page-item__link:focus-visible {
    outline: 3px solid var(--color-focus-background);
    outline-offset: 2px;
}

.ohft-page-item__link:focus:not(:focus-visible) {
    outline: none;
}

.ohft-page-item__link {
    display: block;
    text-decoration: none;
    color: inherit;
    height: 100%;
}

.ohft-page-item__link:focus {
    outline: none; 
}

.ohft-page-item__image {
    overflow: hidden;
}

.ohft-page-item__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.ohft-page-item:hover .ohft-page-item__image img {
    transform: scale(1.02);
}

.ohft-page-item__content {
    padding: 1.25rem;
}

.ohft-page-item__title {
    margin: 0 0 0.5rem 0;
    font-size: 1.25rem;
    font-weight: 600;
    color: var( --color-heading-primary);
    line-height: 1.3;
}

.ohft-page-item__excerpt {
    margin: 0;
    color: var(--color-text-secondary);
    line-height: 1.5;
    font-size: 0.95rem;
}

.ohft-page-item__arrow {
    position: absolute;
    top: 1rem;
    right: 1rem;
    color: #768692;
    transition: all 0.2s ease;
    opacity: 0;
}

.ohft-page-item:hover .ohft-page-item__arrow {
    opacity: 1;
    color: var(--nhs-blue);
    transform: translateX(2px);
}

/* === Card View Styles === */

.ohft-pages-container--cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
}

.ohft-pages-container--cards .ohft-page-item__image {
    height: 180px;
}

.ohft-pages-container--cards .ohft-page-item__arrow {
    top: 0.75rem;
    right: 0.75rem;
}

/* Ensure 3 columns on desktop */
@media (min-width: 1200px) {
    .ohft-pages-container--cards {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* 2 columns on tablet */
@media (min-width: 768px) and (max-width: 1199px) {
    .ohft-pages-container--cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Single column on mobile */
@media (max-width: 767px) {
    .ohft-pages-container--cards {
        grid-template-columns: 1fr;
    }
    
    .ohft-pages-container--cards .ohft-page-item__image {
        height: 160px;
    }
}

/* === List View Styles === */

.ohft-pages-container--list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.ohft-pages-container--list .ohft-page-item {
    border-radius: 6px;
}

.ohft-pages-container--list .ohft-page-item__link {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem;
}

.ohft-pages-container--list .ohft-page-item__image {
    display: none; 
}

.ohft-pages-container--list .ohft-page-item__content {
    flex: 1;
    padding: 0;
}

.ohft-pages-container--list .ohft-page-item__title {
    font-size: 1.125rem;
    margin-bottom: 0.25rem;
}

.ohft-pages-container--list .ohft-page-item__excerpt {
    font-size: 0.9rem;
    margin-top: 0.25rem;
}

.ohft-pages-container--list .ohft-page-item__arrow {
    position: static;
    opacity: 1;
    margin-left: auto;
    flex-shrink: 0;
    transform: none;
}

.ohft-pages-container--list .ohft-page-item:hover .ohft-page-item__arrow {
    transform: translateX(3px);
}

/* === View Switcher Mobile Responsive === */

@media (max-width: 767px) {
    .ohft-view-switcher {
        justify-content: center;
        margin: 1.5rem 0;
    }
    
    .ohft-view-switcher__container {
        padding: 0.4rem;
        gap: 0.3rem;
    }
    
    .ohft-view-switcher__label {
        font-size: 0.85rem;
        margin-right: 0.3rem;
    }
    
    .ohft-view-switcher__button {
        padding: 0.4rem 0.6rem;
        font-size: 0.85rem;
        gap: 0.3rem;
    }
    
    .ohft-view-switcher__text {
        display: none; /* Hide text on very small screens */
    }
}

/* Hide text labels on very small screens */
@media (max-width: 480px) {
    .ohft-view-switcher__text {
        display: none;
    }
    
    .ohft-view-switcher__button {
        padding: 0.5rem;
    }
}


/* === Section Page === */
/* Updated styles using CSS variables */
.ohft-image-mast--clean {
    height: 200px;
    width: 100%;
    display: block;
    background-color: var(--color-section-band);
    background-size: contain;
    background-position: center;
}

.band {
    display: block;
    background-color: var(--color-section-band);
    color: var(--nhs-white);
    padding: 0;
    margin: 0;
    height: 140px;
    background-position: center right;
    background-repeat: no-repeat;
    background-size: 360px auto;
    position: relative; /* Necessary for overlay positioning */
}

.band::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 10px; /* Adjust shadow depth */
    background: var(--gradient-section-shadow);
    pointer-events: none;
    z-index: 1;
}

.band-gradient {
    position: absolute;
    top: 0;
    right: 0;
    width: 370px;
    height: 100%;
    background: var(--gradient-band-overlay);
    z-index: 0;
}

p.section-head {
    text-align: left;
    font-size: 42px;
    margin: 0 0;
    padding: 40px 0;
    font-weight: bold;
    color: var(--color-text-primary);
    z-index: 3;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    p.section-head {
        font-size: 28px;
        padding: 30px 0;
    }
    
    .band {
        height: 120px;
        background-size: 280px auto;
    }
    
    .band-gradient {
        width: 290px;
    }
}
  


/* === Search results === */

/* ==========================================================================
   Search Results Specific Styles
   ========================================================================== */

/* Search results summary */
.ohft-search-summary {
    color: #4c6272;
    font-size: 0.9rem;
    margin-bottom: 1rem;
    font-weight: 500;
}

/* Search metadata styling */
.ohft-search-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}

.ohft-search-type {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #ffffff;
}

/* Different colours for different content types */
.ohft-search-type--page {
    background-color: #005eb8; /* NHS Blue */
}

.ohft-search-type--news {
    background-color: #007f3b; /* NHS Green */
}

.ohft-search-type--blog {
    background-color: #ae2573; /* NHS Pink */
}

.ohft-search-type--resource {
    background-color: #ed8b00; /* NHS Orange */
}

.ohft-search-type--default {
    background-color: #768692; /* NHS Mid Grey */
}

.ohft-search-date {
    font-size: 0.85rem;
    color: #768692;
    font-weight: 500;
}

/* Search result specific styling */
.ohft-search-result .ohft-page-item__title {
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
}

.ohft-search-result .ohft-page-item__excerpt {
    margin-top: 0.5rem;
}

/* List view adjustments for search results */
.ohft-pages-container--list .ohft-search-result .ohft-search-meta {
    margin-bottom: 0.5rem;
}

.ohft-pages-container--list .ohft-search-result .ohft-page-item__title {
    font-size: 1.125rem;
    margin-bottom: 0.25rem;
}

/* No results styling */
.ohft-no-results {
    text-align: left;
    padding: 3rem 1rem;
    background: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e9ecef;
    margin-top: 2rem;
}

.ohft-no-results h2 {
    color: #005eb8;
    font-size: 1.25rem;
    margin-bottom: 1rem;
}

.ohft-no-results ul {
    list-style: none;
    padding: 0;
    margin-bottom: 2rem;
}

.ohft-no-results li {
    margin-bottom: 0.5rem;
    color: #4c6272;
}

.ohft-no-results li:before {
    content: "• ";
    color: #005eb8;
    font-weight: bold;
    margin-right: 0.5rem;
}

.ohft-search-suggestions {
    margin-bottom: 2rem;
}

.ohft-alternative-search {
    max-width: 400px;
    margin: 2rem 0 0 0;
}

/* ==========================================================================
   Custom Search Pagination Styles
   ========================================================================== */

.ohft-search-pagination {
    margin: 3rem 0 2rem 0;
    display: flex;
    justify-content: center;
}

/* Override WordPress default pagination list styles */
.ohft-search-pagination .page-numbers {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0.5rem;
    align-items: center;
}

.ohft-search-pagination ul.page-numbers {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0.5rem;
    align-items: center;
}

.ohft-search-pagination .page-numbers li {
    margin: 0;
}

.ohft-search-pagination .page-numbers a,
.ohft-search-pagination .page-numbers span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    min-height: 2.5rem;
    padding: 0.5rem 0.75rem;
    border: 2px solid #d8dde0;
    border-radius: 6px;
    text-decoration: none;
    color: #005eb8;
    font-weight: 600;
    font-size: 0.9rem;
    transition: all 0.2s ease;
    gap: 0.3rem;
}

/* Current page styling */
.ohft-search-pagination .page-numbers .current {
    background-color: #005eb8;
    border-color: #005eb8;
    color: #ffffff;
    cursor: default;
}

/* Hover states */
.ohft-search-pagination .page-numbers a:hover {
    background-color: #f0f4f5;
    border-color: #005eb8;
    color: #003d82;
    text-decoration: none;
}

/* Focus states for accessibility */
.ohft-search-pagination .page-numbers a:focus {
    outline: 3px solid #ffeb3b;
    outline-offset: 0;
    background-color: #ffeb3b;
    border-color: #212b32;
    color: #212b32;
}

/* Previous/Next button styling */
.ohft-search-pagination .page-numbers .prev,
.ohft-search-pagination .page-numbers .next {
    min-width: auto;
    padding: 0.5rem 1rem;
}

/* Dots styling */
.ohft-search-pagination .page-numbers .dots {
    border: none;
    background: none;
    color: #768692;
    cursor: default;
    min-width: 2rem;
}

.ohft-search-pagination .page-numbers .dots:hover {
    background: none;
    border: none;
    color: #768692;
}

/* Hide pagination text on mobile */
@media (max-width: 480px) {
    .ohft-pagination-text {
        display: none;
    }
    
    .ohft-search-pagination .page-numbers .prev,
    .ohft-search-pagination .page-numbers .next {
        min-width: 2.5rem;
        padding: 0.5rem;
    }
}

/* Responsive adjustments for search results */
@media (max-width: 767px) {
    .ohft-search-summary {
        margin-bottom: 1.5rem;
    }
    
    .ohft-search-pagination .page-numbers {
        flex-wrap: wrap;
        gap: 0.25rem;
    }
    
    .ohft-search-pagination .page-numbers a,
    .ohft-search-pagination .page-numbers span {
        min-width: 2.25rem;
        min-height: 2.25rem;
        font-size: 0.85rem;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .ohft-search-type {
        border: 2px solid #ffffff;
    }
    
    .ohft-search-pagination .page-numbers a,
    .ohft-search-pagination .page-numbers span {
        border-width: 3px;
    }
}

/* Print styles for search results */
@media print {
    .ohft-view-switcher,
    .ohft-search-pagination {
        display: none;
    }
    
    .ohft-search-meta {
        margin-bottom: 0.5rem;
    }
    
    .ohft-search-type {
        background-color: transparent !important;
        color: #000 !important;
        border: 1px solid #000;
    }
    
    .ohft-pages-container--cards,
    .ohft-pages-container--list {
        display: block;
    }
    
    .ohft-page-item {
        break-inside: avoid;
        page-break-inside: avoid;
        margin-bottom: 1rem;
    }
}

/* === Sitemap === */

.ohft-sitemap-content {
    margin: 2rem 0;
}

.ohft-sitemap-content p {
    margin-bottom: 1.5rem;
    font-size: 1.1rem;
}

/* Enhanced tree styling with better accessibility */
.ohft-tree {
    --spacing: 1.5rem;
    --radius: 10px;
    --border-color: var(--color-border-primary);
    --line-color: #6b7280;
    --focus-color: var(--color-text-link);
    margin: 0;
    padding: 0;
    list-style: none;
}

.ohft-tree ul {
    margin-left: calc(var(--radius) - var(--spacing));
    padding-left: 0;
    margin-bottom: 0 !important;
    list-style: none;
}

.ohft-tree li {
    display: block;
    position: relative;
    padding-left: calc(2 * var(--spacing) - var(--radius) - 2px);
    margin: 0.5rem 0;
}

.ohft-tree ul li {
    border-left: 2px solid var(--border-color);
}

.ohft-tree ul li:last-child {
    border-color: transparent;
}

.ohft-tree ul li::before {
    content: '';
    display: block;
    position: absolute;
    top: calc(var(--spacing) / -2);
    left: -2px;
    width: calc(var(--spacing) + 2px);
    height: calc(var(--spacing) + 1px);
    border: solid var(--border-color);
    border-width: 0 0 2px 2px;
}

.ohft-tree li::after {
    content: '';
    display: block;
    position: absolute;
    top: calc(var(--spacing) / 2 - var(--radius));
    left: calc(var(--spacing) - var(--radius) - 1px);
    width: 17px;
    height: 22px;
    border: 2px solid var(--line-color);
    background: var(--color-surface-card);
    border-top-right-radius: 8px;
}

/* Enhanced link styling */
.ohft-tree a {
    text-decoration: none;
    color: var(--focus-color);
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    display: inline-block;
    transition: all 0.2s ease;
}

.ohft-tree a:hover {
    background-color: var(--color-surface-panel);
    text-decoration: underline;
}

.ohft-tree a:focus {
    outline: 2px solid var(--focus-color);
    outline-offset: 2px;
    background-color: #eff6ff;
}

/* Screen reader improvements */
.ohft-tree .screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .ohft-tree {
        --spacing: 1.2rem;
    }
    
    .ohft-tree li {
        margin: 0.3rem 0;
    }
}

/* === Accessibility guidance --- */

.guidance-section {
    background: var(--color-background-secondary);
    border: 1px solid #d8dde0;
    border-radius: 6px;
    padding: 1.5rem;
    margin-bottom: 1rem;
}

.guidance-section h3 {
    color: var(--color-text-primary);
    margin-top: 0;
}

.guidance-section h4 {
    color: var(--color-text-primary);
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
}

.guidance-section ul, .guidance-section ol {
    margin-bottom: 1rem;
}

.guidance-section li {
    margin-bottom: 0.5rem;
}

#device-info {
    background: #e6f1fa;
    border: 1px solid #b3d9f2;
    border-radius: 6px;
    padding: 1rem;
    margin-bottom: 2rem;
    font-size: 0.9rem;
    width: 100%;
}

/* === Footer === */
/* OHFT Footer Styles */
.ohft-footer {
    margin-top: 48px;
}

/* Top Section - NHS Blue Background */
.ohft-footer__top {
    background-color: var(--color-background-dark);
    color: #ffffff;
    padding: 32px 0;
}

.ohft-footer__top-content {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 32px;
    align-items: start;
}

.ohft-footer__column {
    min-height: 1px;
}

.ohft-footer__heading {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 16px;
    color: #ffffff;
    position: relative;
}

.ohft-footer__toggle {
    display: none;
    background: none;
    border: none;
    color: #ffffff;
    cursor: pointer;
    position: absolute;
    right: 0;
    top: 0;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
}

.ohft-footer__toggle-icon {
    font-size: 18px;
    font-weight: bold;
}

.ohft-footer__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ohft-footer__list li {
    margin-bottom: 8px;
}

.ohft-footer__link {
    color: #ffffff;
    text-decoration: underline;
    font-size: 16px;
    line-height: 1.5;
}

.ohft-footer__link:hover,
.ohft-footer__link:focus {
    color: #ffffff;
    text-decoration: none;
}

.ohft-footer__link:visited {
    color: #ffffff;
}

/* Social Media */
.ohft-footer__social {
    margin-top: 24px;
}

.ohft-footer__social-heading {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 12px;
    color: #ffffff;
}

.ohft-footer__social-list {
    display: flex;
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ohft-footer__social-link {
    display: inline-block;
    width: 40px;
    height: 40px;
    background-color: #ffffff;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.ohft-footer__social-link:hover,
.ohft-footer__social-link:focus {
    background-color: #f0f4f5;
}

.ohft-footer__social-link svg {
    color: #005eb8;
    transition: color 0.2s ease;
}

.ohft-footer__social-link:hover svg,
.ohft-footer__social-link:focus svg {
    color: #003d82;
}

/* CQC Widget */
.ohft-footer__column--cqc {
    display: flex;
    justify-content: flex-end;
}

.ohft-footer__cqc-widget {
    background-color: #ffffff;
    color: #212b32;
    padding: 20px;
    border-radius: 4px;
    width: 300px;
    max-width: 100%;
}

.ohft-footer__cqc-heading {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 12px;
    color: #212b32;
}

.ohft-footer__cqc-heading span {color: #007f3b  }

.ohft-footer__cqc-text {
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 12px;
}

.ohft-footer__cqc-link {
    color: #005eb8;
    text-decoration: underline;
    font-size: 14px;
	background-color: #F5F9FD;
	border: 1px solid #d8dde0;
	padding: 7px 10px;
	font-weight: bold;
}

.ohft-footer__cqc-link:hover,
.ohft-footer__cqc-link:focus {
    text-decoration: none;
}

/* Bottom Section - White Background */
.ohft-footer__bottom {
    background-color: var(--color-background-secondary);
    color: #212b32;
    padding: 32px 0;
    border-top: 1px solid #d8dde0;
}

.ohft-footer__bottom-content {
    display: grid;
    grid-template-columns: 1fr 200px;
    gap: 32px;
    align-items: start;
}

/* Accreditation */
.ohft-footer__accreditation-heading {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 16px;
    color: var(--color-text-primary);
}

/* Accreditation Logos */
.ohft-footer__logos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
}

.ohft-footer__logo {
    height: 60px;
    width: auto;
    margin-right: 40px;
    object-fit: contain;
}

.ohft-footer__logo-link {
    display: inline-block;
    margin-right: 50px;
}

.ohft-footer__logo-link .ohft-footer__logo {
    margin-right: 0;
}

.ohft-footer__logo-link:hover .ohft-footer__logo,
.ohft-footer__logo-link:focus .ohft-footer__logo {
    opacity: 0.8;
    transition: opacity 0.2s ease;
}
.ohft-footer__logo--disability-confident {
  width: 120px;
  height: 60px;
  margin-right: 40px;
  background-image: var(--logo-disability-confident);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: inline-block;
}

.ohft-footer__logo--inclusive-employers {
  width: 140px;
  height: 60px;
  margin-right: 40px;
  background-image: var(--logo-inclusive-employers);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: inline-block;
}

.ohft-footer__logo--armed-forces {
  width: 100px;
  height: 60px;
  margin-right: 40px;
  background-image: var(--logo-armed-forces);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: inline-block;
}

.ohft-footer__logo--veterans-aware {
  width: 110px;
  height: 60px;
  margin-right: 40px;
  background-image: var(--logo-veterans-aware);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: inline-block;
}

.ohft-footer__logo--equality-networks {
  width: 130px;
  height: 60px;
  margin-right: 0;
  background-image: var(--logo-equality-networks);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: inline-block;
}



/* Copyright */
.ohft-footer__copyright {
    margin-top: 16px;
    font-size: 14px;
    color: #768692;
    margin-bottom: 0;
}
.ohft-footer__values-heading {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 16px;
    color: var(--color-text-primary);
}

.ohft-footer__values-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ohft-footer__value {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
}

.ohft-footer__value-square {
    width: 20px;
    height: 20px;
    margin-right: 12px;
    border-radius: 2px;
    flex-shrink: 0;
}

.ohft-footer__value-square--blue {
    background-color: #005eb8; /* NHS Blue */
}

.ohft-footer__value-square--pink {
    background-color: #ae2573; /* NHS Pink */
}

.ohft-footer__value-square--green {
    background-color: #00a499; /* NHS Green */
}

.ohft-footer__value-text {
    font-size: 16px;
    font-weight: 500;
    color: var(--color-text-primary);
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .ohft-footer__top-content {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 0 20px;
    }
    
    .ohft-footer__bottom-content {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 0 20px;
    }
    
    .ohft-footer__toggle {
        display: flex;
    }
    
    .ohft-footer__list {
        display: none;
    }
    
    .ohft-footer__list.ohft-footer__list--expanded {
        display: block;
        margin-top: 16px;
    }
    
    .ohft-footer__social {
        margin-top: 16px;
    }
    
    .ohft-footer__column--cqc {
        justify-content: flex-start;
    }
    
    .ohft-footer__cqc-widget {
        width: 100%;
    }
    
    .ohft-footer__social-list {
        flex-wrap: wrap;
    }
    
	.ohft-footer__logo {
    height: 40px;
    width: auto;
    margin: 0 0 20px 20px;
    object-fit: contain;
}

    .ohft-footer__values {
        text-align: center;
    }
    
    .ohft-footer__values-list {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 16px;
    }
    
    .ohft-footer__value {
        margin-bottom: 0;
    }
}

/* Focus styles for accessibility */
.ohft-footer__link:focus,
.ohft-footer__social-link:focus,
.ohft-footer__cqc-link:focus,
.ohft-footer__toggle:focus {
    outline: 3px solid #ffeb3b;
    outline-offset: 0;
	color: #212b32;
	background-color: #ffeb3b;
}




/* === Tablet Landscape === */
@media only screen and (min-width: 768px) and (max-width: 1150px) {
	.nhsuk-header {display: none;}
	.nhsuk-width-container {margin: 0 16px;max-width: 980px !important ;}
	.ohft-header__inner {width: 980px;margin: 0 auto;}
    .ohft-header__menu {width: 640px; margin: 0 !important;}
    .ohft-header__trustname {display: none;}
    .ohft-header__navigation-item .ohft-icon__chevron-right {display: none;}
    .header {width: 100%;max-width: 980px !important ;}
}

/* === Tablet Portrait === */
@media only screen and (min-width: 768px) and (max-width: 959px) {
	.wrapper {width: 100%;margin: 0 auto;}
	.nhsuk-header, .hide-on-mobile {display: block;}
	.ohft-header {
        background-color: var(--color-background-blue);; 
        padding: 0; 
        height: 110px;
    }
    .ohft-header__inner {width: 100%;margin: 0 auto;}
    .ohft-header__menu {display: none;}
	.ohft-header__trustname {
        display: block; 
        width: 160px; 
        clear: both; 
        margin: 10px; 
        float: left;
    }
	h1.ohft-header__OxfordHealth {
        color: var(--nhs-white) !important; 
        font-weight: bold !important; 
        font-size: 22px; 
        padding: 5px 0 0 !important; 
        margin: 0 !important; 
        font-family:'Frutiger', Arial, Helvetica, sans-serif !important;
    }
	p.ohft-header__NHSFT {
        color: var(--nhs-white); 
        font-weight: bold; 
        font-size: 14px; 
        margin: 0 !important;
    }
    .ohft-header__menu-tools {
        width: 80px; 
        height: 80px; 
        display: block; 
        float: right; 
        margin: 30px 10px 0 0; 
    }
    .ohft-header__search {
        width: 280px; 
        display: block; 
        float: right; 
        height: 39px; 
        display: block; 
        float: right; 
        margin: 30px 10px 0 0; 
        background-color: var(--nhs-white);
        border-radius: 4px;
    }
	.ohft-header__menu {
        width: 100%;
        height: auto;
        float: left; 
        padding: 0; 
        background-color: var(--nhs-white);
    }
	.ohft-header__search-toggle {display: none;}
    .ohft-header__menu-toggle  {
        display: block;
        background-color: transparent;
        border: 1px solid var(--nhs-white);
        border-radius: 4px;
        color: var(--nhs-white);
        cursor: pointer;
        display: block;
        font-size: 16px;
        font-weight: 400;
        line-height: 24px;
        margin-right: 11px;
        padding: 7px 16px;
        position: relative;
        text-decoration: none;
        z-index: 1;
        float:left;
    }
    .ohft-header__menu-toggle::-moz-focus-inner {border: 0;}
    .ohft-header__menu-toggle:hover {
        background-color: #003d78; 
        border-color: var(--color-surface-panel); 
        box-shadow: none; 
    }
    .ohft-header__menu-toggle:focus {border: 1px solid #ffeb3b !important;}
    .ohft-header__menu-toggle:active, .ohft-header__menu-toggle.is-active {
        background-color: #002f5c; 
        border-color: var(--color-surface-panel); 
        color: var(--color-surface-panel);
    }
    .ohft-header__menu-toggle:focus {
        background-color: #ffeb3b;
        border: 0;
        box-shadow: 0 4px 0 0 var(--color-text-primary);
        color: var(--color-text-primary);
        outline: 4px solid transparent;
        outline-offset: 4px;
        box-shadow: 0 0 0 2px #ffeb3b, 0 4px 0 2px var(--color-text-primary);
    }
    .ohft-header__menu.active {display: block; height: auto;}
    .ohft-header__menu {
        width: 100%; 
        border-bottom: 5px solid var(--color-surface-panel);
    }
    .ohft-header__navigation-list {
        list-style: none; 
        margin: 0; 
        padding-left: 0; 
        display: inline; 
        background-color: var(--color-background-primary);
    }
	.ohft-header__navigation-item {
        border-top: 1px solid var(--color-surface-panel); 
        margin-bottom: 0; 
        position: relative; 
        text-align: left;
    }
    .ohft-header__navigation-link {
        font-size: 16px;
        line-height: 1.71429;
        color: var(--nhs-blue);
        display: block;
        padding: 12px 15px !important;
        text-decoration: none; 
        background-color: var(--color-mobile-menu-background);
    }
    .ohft-header__navigation-link:active, .ohft-header__navigation-link:focus { 
        background-color: #ffeb3b; 
        border-bottom: 4px solid var(--color-text-primary); 
        box-shadow: none;
        color: var(--color-text-primary);
        outline: 4px solid transparent;
        outline-offset: 4px;
        text-decoration: none;
    }
    .ohft-header__navigation-link:visited {
        color: var(--nhs-blue);  
        border-color: var(--color-surface-panel);
    }
    .ohft-header__navigation-link:active:hover, .ohft-header__navigation-link:focus:hover {
        background-color: #ffeb3b;
        color: var(--color-text-primary);
    }
    .ohft-header__navigation-link:active:visited, .ohft-header__navigation-link:focus:visited {
        background-color: #ffeb3b; 
        color: var(--color-text-primary);
    }
    .ohft-header__navigation-link .ohft-icon__chevron-right {
        display: inline; 
        fill: #aeb7bd;
        position: absolute;
        right: 4px; 
        top: 12px;
    }
    .ohft-header__navigation-link:hover .ohft-icon__chevron-right {fill: var(--nhs-blue);}
    .ohft-patient-menu, .ohft-site-menu {display: block;}
	.ohft-hide-menu {display: none;}
	.mobile-header {
        display: block;
        width: 100%; 
        margin: 0; 
        padding: 10px 0; 
        clear:both; 
        background-color: var(--color-background-secondary);
    }
	.mobile-header h1 {
        font-size: 24px;
        text-align: center;
        margin: 10px 0;
        letter-spacing: normal;
    }
	.mobile-header img {width: 200px; margin: 5px auto 0; }
	.nhsuk-breadcrumb {display:none;}
	

    .head {width: 100%; background: var(--color-background-secondary); border-bottom: 1px solid var(--color-border-secondary) !important;}
    .header {height: auto;width: 100%; margin:0 auto ; padding: 20px; }
    .service-name {float: none; width: 100%; height: 60px; display: block; margin: 0px; }
    .service-name h1 {font-size: 32px; margin: 0; text-align: center;}
    .service-name h1 a {text-decoration: none; color: var(--color-text-link); }
    .service-name p { margin:0; text-align: center;}
    .service-name img {display: block; width: 200px; margin: 0 auto 10px; }
    .logo, .logo__image {display: none;}
    .ohft-container { max-width: 100%; margin: 0 auto; padding: 0 1rem; }
    .ohft-container--fluid { width: 100%; margin: 0; padding: 0; }
    .ohft-page-layout {padding: 40px 15px;}
    
	#textblock h2 {	margin: 20px 0 30px;}
	img, table {max-width: 100%;}

    .ohft-container { max-width: 100%; margin: 0 auto; padding: 0 1rem; }
    .ohft-container--fluid { width: 100%; margin: 0; padding: 0; }
    .ohft-page-layout {padding: 40px 20px;}
    .nhsuk-card__img {height: 200px !important; object-fit: cover;}
	.nhsuk-grid-column-one-quarter {width: 50% !important;}
	.text-container {
        padding: 0px;
        width: 400px;
        display: block; 
        float: left; 
        margin-left: 10px; 
    }

     .ohft-footer__top-content {
        padding: 0 20px;
    }
    
    .ohft-footer__bottom-content {
        padding: 0 20px;
    }

    .ohft-footer__logo--disability-confident,
    .ohft-footer__logo--inclusive-employers,
    .ohft-footer__logo--armed-forces,
    .ohft-footer__logo--veterans-aware,
    .ohft-footer__logo--equality-networks {
        height: 40px;
        margin: 0 0 20px 10px;
    }

}

/* === Mobile Portrait === */
@media only screen and (max-width: 767px) {
	.nhsuk-header {display: block;}
	body {background: var(--color-background-primary);}
	.wrapper {width: 100%;margin: 0 auto;}
	
	.ohft-logo, .logo {display: none;}
	.ohft-header {
        background-color: var(--color-background-blue); 
        padding: 0; 
        height: 115px;
    }
    .ohft-header__inner {width: 100%;margin: 0 auto;}
	.ohft-header__trustname {
        width: 160px; 
        clear: both; 
        margin: 10px; 
        float: left; 
        display: block;
    }
	h1.ohft-header__OxfordHealth {
        color: var(--nhs-white) !important; 
        font-weight: bold !important; 
        font-size: 22px !important; 
        padding: 5px 0 0 !important; 
        margin: 0 !important; 
        font-family:'Frutiger', Arial, Helvetica, sans-serif !important;
    }
	p.ohft-header__NHSFT {
        color: var(--nhs-white); 
        font-weight: bold; 
        font-size: 14px; 
        margin: 0 !important;
    }
    .ohft-header__menu-tools {
        display: block; 
        width: 135px; 
        float: right; 
        height: 43px; 
        margin: 30px 10px 0 0;
    }
    .ohft-header__menu-toggle {
        display: block;
        background-color: transparent;
        border: 1px solid var(--nhs-white);
        border-radius: 4px;
        color: var(--nhs-white);
        cursor: pointer;
        display: block;
        font-size: 16px;
        font-weight: 400;
        line-height: 24px;
        margin-right: 11px;
        padding: 7px 16px;
        position: relative;
        text-decoration: none;
        z-index: 1;
        float:left;
    }
    .ohft-header__search-toggle {
        display: block; 
        float: right;
        background-color: transparent;
        border: 1px solid var(--nhs-white);
        border-radius: 4px;
        color: var(--nhs-white);
        cursor: pointer;
        display: block;
        font-size: 16px;
        font-weight: 400;
        line-height: 24px;
        padding: 7px 8px 0 8px;
        position: relative;
        text-decoration: none;
        z-index: 1;
    }
    .ohft-header__menu-toggle::-moz-focus-inner, .ohft-header__search-toggle::-moz-focus-inner {border: 0;}
    .ohft-header__menu-toggle:hover, .ohft-header__search-toggle:hover {
        background-color: #003d78; 
        border-color: var(--color-surface-panel); 
        box-shadow: none; 
    }
    .ohft-header__menu-toggle:focus, .ohft-header__search-toggle:focus {border: 1px solid #ffeb3b !important;}
    .ohft-header__menu-toggle:active, .ohft-header__menu-toggle.is-active, 
    .ohft-header__search-toggle:active, .ohft-header__search-toggle.is-active {
        background-color: #002f5c; 
        border-color: var(--color-surface-panel); 
        color: var(--color-surface-panel);
    }
    .ohft-header__menu-toggle:focus, .ohft-header__search-toggle:focus {
        background-color: #ffeb3b;
        border: 0;
        box-shadow: 0 4px 0 0 var(--color-text-primary);
        color: var(--color-text-primary);
        outline: 4px solid transparent;
        outline-offset: 4px;
        box-shadow: 0 0 0 2px #ffeb3b, 0 4px 0 2px var(--color-text-primary);
    }
    .ohft-header__menu.active, .ohft-header__search-toggle.active {display: block; height: auto;}
    .ohft-header__search-toggle .nhsuk-icon {
        fill: var(--nhs-white);
        height: 25px; 
        width: 25px; 
        margin: 0;
    }
    .ohft-header__search-toggle:focus .nhsuk-icon {fill: var(--color-text-primary);}
    .ohft-header__search {display: none; }
    .ohft-header__search.active {
        display: block; 
        width: 100%; 
        background: var(--nhs-white); 
        height: auto; 
        padding: 10px; 
        border-radius: 0;
    }
    .ohft-search-icon {margin: 0px 0 0 3px !important;}
    .ohft-header__menu {display: none;}
    .ohft-header__menu.active {
        width: 100%;
        height: auto;
        float: right; 
        padding: 0; 
        background-color: var(--nhs-white); 
        border-bottom: 5px solid var(--color-surface-panel); 
        margin:0;
    }
    .ohft-header__navigation-list {
        list-style: none; 
        margin: 0; 
        padding-left: 0; 
        display: inline; 
    }
	.ohft-header__navigation-item {
        border-top: 1px solid var(--color-surface-panel); 
        margin-bottom: 0; 
        position: relative; 
        text-align: left;
    }
    .ohft-header__navigation-link {
        font-size: 16px;
        line-height: 1.71429;
        color: var(--nhs-blue);
        display: block;
        padding: 12px 15px !important;
        text-decoration: none; 
        background-color: var(--color-mobile-menu-background);
    }
    .ohft-header__navigation-link:active, .ohft-header__navigation-link:focus { 
        background-color: #ffeb3b; 
        border-bottom: 4px solid var(--color-text-primary); 
        box-shadow: none;
        color: var(--color-text-primary);
        outline: 4px solid transparent;
        outline-offset: 4px;
        text-decoration: none;
    }
    .ohft-header__navigation-link:visited {
        color: var(--nhs-blue);  
        border-color: var(--color-surface-panel);
    }
    .ohft-header__navigation-link:active:hover, .ohft-header__navigation-link:focus:hover {
        background-color: #ffeb3b;
        color: var(--color-text-primary);
    }
    .ohft-header__navigation-link:active:visited, .ohft-header__navigation-link:focus:visited {
        background-color: #ffeb3b; 
        color: var(--color-text-primary);
    }
    .ohft-header__navigation-link .ohft-icon__chevron-right {
        display: inline; 
        fill: #aeb7bd;
        position: absolute;
        right: 6px; 
        top: 10px;
    }
    .ohft-header__navigation-link:hover .ohft-icon__chevron-right {fill: var(--nhs-blue);}
    .ohft-patient-menu, .ohft-site-menu {display: block;}
	.ohft-hide-menu {display: none;}
	.nhsuk-breadcrumb {display:none;}

    .head {width: 100%; background: var(--color-background-secondary); border-bottom: 1px solid var(--color-border-secondary) !important;}
    .header {height: auto;width: 100%; margin:0 auto ; padding: 10px; }
    .service-name {float: none; width: 100%; height: 60px; display: block; margin: 0px; }
    .service-name h1 {font-size: 32px; margin: 0; text-align: center;}
    .service-name h1 a {text-decoration: none; color: var(--color-text-link); }
    .service-name p { margin:0; text-align: center;}
    .service-name img {display: block; width: 200px; margin: 0 auto 10px; }
    .logo, .logo__image {display: none;}
    .ohft-patient-menu {display: none;}
    .ohft-container { max-width: 100%; margin: 0 auto; padding: 0 1rem; }
    .ohft-container--fluid { width: 100%; margin: 0; padding: 0; }
    .ohft-page-layout {padding: 40px 15px;}




	.band {
        display: block;
        color: var(--nhs-white);
        padding:0px 0;
        margin: 0; 
        background-position: center center; 
        background-repeat: no-repeat; 
        background-size: cover;
    } 
 	.band-gradient {display: none;} 
	.text-container {
        width: 100%;
        float: none; 
        margin: 0; 
        border: 1px solid var(--nhs-white);
    }
	 p.section-head {
        text-align: center !important; 
        color: var(--color-text-primary); 
        z-index: 3; 
        font-size: 24px; 
        padding: 50px 0 0;
    }
     p.section-head span {
        background-color: var(--color-background-dark); 
        padding: 5px 10px;
    }
	img, table {max-width: 100%;}

      .ohft-footer__top-content {
        padding: 0 20px;
    }
    
    .ohft-footer__bottom-content {
        padding: 0 20px;
    }

    .ohft-footer__logo--disability-confident,
    .ohft-footer__logo--inclusive-employers,
    .ohft-footer__logo--armed-forces,
    .ohft-footer__logo--veterans-aware {
        height: 30px;
        margin: 0 0 20px 10px;
    }

     .ohft-footer__logo--equality-networks {display: none;}


}

/* === Mobile Landscape === */
@media only screen and (min-width: 480px) and (max-width: 767px) {
	.nhsuk-width-container {margin: 0;max-width: 100% !important ;}
}


/* High contrast mode support */
@media (prefers-contrast: high) {

     .ohft-page-item {
        border-width: 2px;
    }
    
    .ohft-view-switcher__button {
        border-width: 2px;
    }
    
    .ohft-view-switcher__button.active {
        border-width: 3px;
    }

    .ohft-footer__top {
        border-bottom: 2px solid #ffffff;
    }
    
    .ohft-footer__value-square {
        border: 2px solid #212b32;
    }


}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    * {
        transition: none !important;
        animation: none !important;
    }

    .ohft-page-item,
    .ohft-page-item__image img,
    .ohft-page-item__arrow,
    .ohft-view-switcher__button {
        transition: none;
    }
    
    .ohft-page-item:hover {
        transform: none;
    }
    
    .ohft-page-item:hover .ohft-page-item__image img {
        transform: none;
    }
}






/* === Print Styles === */

@media print {
    .ohft-view-switcher {
        display: none;
    }
    
    .ohft-pages-container--cards,
    .ohft-pages-container--list {
        display: block;
    }
    
    .ohft-page-item {
        break-inside: avoid;
        page-break-inside: avoid;
        margin-bottom: 1rem;
        border: 1px solid #000;
    }
    
    .ohft-page-item__image {
        display: none; 
    }
    
    .ohft-page-item__arrow {
        display: none;
    }
    
    .ohft-page-item__link::after {
        content: " (" attr(href) ")";
        font-size: 0.8rem;
        color: #666;
    }
}


@media (prefers-color-scheme: dark) {
    /* Apply dark mode when system preference is dark, 
     unless user has explicitly chosen light mode */
  :root:not([data-color-mode="light"]) {
   
    
  --logo-image: url('images/oxfordhealth-nhs-foundation-trust.png');  
  --color-background-primary: #1a1a1a;
  --color-background-secondary: #2d2d2d;
  --color-background-accent: #0f2a3d;
  --color-background-dark: #2d2d2d; 
  --color-background-blue: #1a1a1a;
  --color-mobile-menu-background: #2d2d2d;
  
  --color-text-primary: #ffffff;
  --color-text-secondary: #b0b0b0;
  --color-text-link: #4da6ff;
  --color-text-link-visited: #b366ff;
  --color-text-link-hover: #ff6bb3;

  --color-heading-primary: var(--nhs-white);
  --color-brand-accent: var(--nhs-white);
  
  --color-border-primary: #404040;
  --color-border-secondary: #333333;
  
  --color-surface-card: #2d2d2d;
  --color-surface-panel: #1f1f1f;
  --color-surface-muted: #252525;

  /* Focus states remain consistent for accessibility */
  --color-focus-background: #ffeb3b;
  --color-focus-text: #212b32;
  --color-focus-border: #212b32;
  
  /* Interactive states adapted for dark theme */
  --color-hover-light: #66b3ff;
  --color-active-dark: #0066cc;
  
  /* Status colours adapted for dark theme */
  --color-success: #00cc66;
  --color-warning: #ffaa00;
  --color-error: #ff4444;
  --color-info: #66b3ff;
  
  /* Gradients adapted for dark theme */
  --gradient-section-overlay: linear-gradient(90deg, rgba(45, 45, 45, 1) 0%, rgba(45, 45, 45, 1) 15%, rgba(45, 45, 45, 0) 75%);
  --gradient-patient-menu: linear-gradient(141deg, rgba(45, 45, 45, 1) 0%, rgba(64, 64, 64, 1) 100%);

  /* Section band colours adapted for dark mode */
  --color-section-band: #2d3748;
  --color-section-shadow: rgba(0, 0, 0, 0.4);
  
  /* Section band gradients for dark mode */
  --gradient-band-overlay: linear-gradient(90deg, rgba(45, 55, 72, 1) 0%, rgba(45, 55, 72, 1) 15%, rgba(45, 55, 72, 0) 75%);
  --gradient-section-shadow: linear-gradient(to bottom, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 75%);
  
  /* Shadows adapted for dark theme */
  --shadow-subtle: 0 2px 8px rgba(0, 0, 0, 0.3);
  --shadow-focus: 0 4px 0 0 #212b32;
 
    /* Dark mode footer logos */
  --logo-disability-confident: url('images/foot/disability-confident-employer_dark.png');
  --logo-inclusive-employers: url('images/foot/Committed-Employers_dark.png');
  --logo-armed-forces: url('images/foot/armed-forces-covenant_dark.png');
  --logo-veterans-aware: url('images/foot/veterans-aware_dark.png');
  --logo-equality-networks: url('images/foot/equality-staff-networks_dark.png');
  }

  /* Element-specific overrides for system dark mode */

   .nhsuk-care-card__content,
 .ohft-box,
 .nhsuk-details .nhsuk-expander,
 .nhsuk-details__text,
 .nhsuk-details__summary
{
    background-color: #2d2d2d !important; 
    border: none; 
    color: #fff !important; 
}

 .ohft-box p,
 .ohft-box h2,
 .ohft-box h3,
 .nhsuk-details__summary,
 .nhsuk-details__summary-text, 
 .nhsuk-details__text p {
    color: #fff !important;
}

.nhsuk-details__summary:focus,
.nhsuk-details__summary-text:focus
 {
   color: #000 !important;
}

.ohft-header__navigation-link, ohft-accessibility-button--link  {
    color: var(--nhs-white);
}

}
