/*
 * OHFT Shortcodes - Dark Mode Styles
 * 
 * These styles provide dark mode support for OHFT custom shortcodes.
 * Applied in two ways:
 * 1. Automatically via @media (prefers-color-scheme: dark) for system preference
 * 2. Manually via [data-color-mode="dark"] when user toggles dark mode
 * 
 * Note: This file should be enqueued separately and only loaded where 
 * OHFT shortcodes are actually used.
 */

/* System preference dark mode */
@media (prefers-color-scheme: dark) {
    
    /* Dividers - Adjust for dark backgrounds */
    .ohft-divider.solid { border-top-color: var(--color-border-primary, #4c566a); }
    .ohft-divider.dashed { border-top-color: var(--color-border-primary, #4c566a); }
    .ohft-divider.dotted { border-top-color: var(--color-border-primary, #4c566a); }
    .ohft-divider.double { 
        border-top-color: var(--color-border-primary, #4c566a); 
        border-bottom-color: var(--color-border-primary, #4c566a); 
    }
    .ohft-divider.fadeout { 
        background-image: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 200, from(#4c566a), to(#2e3440)) !important;
        background-image: -webkit-radial-gradient(50% 50%, #4c566a, #2e3440) !important;
        background-image: -moz-radial-gradient(50% 50%, #4c566a, #2e3440) !important;
        background-image: -o-radial-gradient(50% 50%, #4c566a, #2e3440) !important;
        background-image: -ms-radial-gradient(50% 50%, #4c566a, #2e3440) !important;
        background-image: radial-gradient(50% 50%, #4c566a, #2e3440) !important;
    }
    .ohft-divider.fadein { 
        background-image: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 200, from(#2e3440), to(#4c566a)) !important;
        background-image: -webkit-radial-gradient(50% 50%, #2e3440, #4c566a) !important;
        background-image: -moz-radial-gradient(50% 50%, #2e3440, #4c566a) !important;
        background-image: -o-radial-gradient(50% 50%, #2e3440, #4c566a) !important;
        background-image: -ms-radial-gradient(50% 50%, #2e3440, #4c566a) !important;
        background-image: radial-gradient(50% 50%, #2e3440, #4c566a) !important;
    }

    /* Buttons - Maintain NHS branding with dark mode adjustments */
    .ohft-button {
        background-color: #00a85c; /* Slightly brighter NHS green for dark mode */
        box-shadow: 0 4px 0 #004d29;
    }
    .ohft-button:hover {
        background-color: #007f3b;
    }
    .ohft-button:active {
        background: #004d29;
    }
    .ohft-button:focus {
        background: var(--color-focus-background, #ffeb3b);
        box-shadow: 0 4px 0 #3e4651;
        color: var(--color-focus-text, #212b32);
    }
    
    /* Secondary buttons */
    .ohft-button.secondary {
        background-color: #5e81ac;
        box-shadow: 0 4px 0 #3b4252;
    }
    .ohft-button.secondary:hover {
        background-color: #4c6272;
    }
    .ohft-button.secondary:active {
        background: #3b4252;
    }
    
    /* Reverse buttons */
    .ohft-button.reverse {
        background-color: #3b4252;
        box-shadow: 0 4px 0 #2e3440;
        color: #eceff4;
    }
    .ohft-button.reverse:hover {
        background-color: #434c5e;
        color: #eceff4;
    }
    .ohft-button.reverse:active {
        background: #2e3440;
        color: #eceff4;
    }
    .ohft-button.reverse:link {
        color: #eceff4;
    }

    /* Testimonials */
    .ohft-testimonial-content {
        background: #3b4252;
        color: #eceff4;
        border-color: var(--color-border-primary, #4c566a);
    }
    .ohft-testimonial-author {
        color: #d8dee9;
    }

    /* Highlights - Maintain accessibility with adequate contrast */
    .ohft-highlight-yellow, .ohft-highlight-yellow a {
        background: #ebcb8b;
        color: #2e3440;
        border-bottom-color: var(--color-border-primary, #4c566a);
    }
    .ohft-highlight-blue, .ohft-highlight-blue a {
        background: #5e81ac;
        color: #eceff4;
        border-bottom-color: var(--color-border-primary, #4c566a);
    }
    .ohft-highlight-green, .ohft-highlight-green a {
        background: #a3be8c;
        color: #2e3440;
        border-bottom-color: var(--color-border-primary, #4c566a);
    }
    .ohft-highlight-red, .ohft-highlight-red a {
        background: #bf616a;
        color: #eceff4;
        border-bottom-color: var(--color-border-primary, #4c566a);
    }
    .ohft-highlight-gray, .ohft-highlight-gray a {
        background: var(--color-border-primary, #4c566a);
        color: #eceff4;
        border-bottom-color: #3b4252;
    }

    /* Boxes */
    .ohft-box {
        background: var(--color-surface-card, #3b4252);
        color: var(--color-text-primary, #eceff4);
    }
    .ohft-box:hover {
        border-color: #5e81ac;
    }
    .ohft-box a:focus {
        background-color: var(--color-focus-background, #ffeb3b);
        color: var(--color-focus-text, #212b32) !important;
    }
    .ohft-box p,
    .ohft-box h2,
    .ohft-box h3,
    .ohft-box h4,
    .ohft-box a {
        color: var(--color-text-primary, #eceff4);
    }
    
    /* Specific box variants */
    .ohft-box.gray {
        background-color: #434c5e;
        border-color: var(--color-border-primary, #4c566a);
        border-bottom-color: var(--color-border-primary, #4c566a);
    }
    .ohft-box.red {
        background-color: #3b4252;
        border-color: var(--color-border-primary, #4c566a);
        border-left-color: #bf616a;
    }
    .ohft-box.green {
        background-color: #3b4252;
        border-color: var(--color-border-primary, #4c566a);
        border-left-color: #a3be8c;
    }
    .ohft-box.blue {
        background-color: #3b4252;
        border-color: var(--color-border-primary, #4c566a);
        border-left-color: #5e81ac;
    }
    .ohft-box.yellow {
        background: #ebcb8b;
        color: #2e3440;
    }
    .ohft-box.yellow p {
        color: #2e3440;
    }
    .ohft-box.black {
        background: #2e3440;
        color: #eceff4;
    }
    .ohft-box.black p,
    .ohft-box.black h2,
    .ohft-box.black h3 {
        color: #eceff4;
    }
    .ohft-box.black a {
        color: #88c0d0;
    }

    /* Toggle */
    .ohft-toggle h3,
    .ohft-toggle h4 {
        color: #eceff4;
    }
    .ohft-toggle .ohft-toggle-trigger {
        color: #88c0d0;
        background-color: #3b4252;
        border-color: var(--color-border-primary, #4c566a);
    }
    .ohft-toggle .ohft-toggle-trigger:hover {
        border-color: #5e81ac;
    }
    .ohft-toggle .ohft-toggle-trigger.active,
    .ohft-toggle .ohft-toggle-trigger.active:hover {
        color: #88c0d0;
        background-color: #3b4252;
    }
    .ohft-toggle .ohft-toggle-container {
        background: #3b4252;
        border-color: var(--color-border-primary, #4c566a);
        color: #eceff4;
    }
    .ohft-toggle .ohft-toggle-container h2 {
        color: #d8dee9;
    }

    /* Accordion */
    .ohft-accordion h3.ohft-accordion-trigger {
        color: #d8dee9;
        border-color: var(--color-border-primary, #4c566a);
        background-color: #3b4252;
    }
    .ohft-accordion h3.ohft-accordion-trigger a {
        color: #d8dee9;
    }
    .ohft-accordion .ohft-accordion-trigger:hover {
        background-color: #434c5e;
    }
    .ohft-accordion .ohft-accordion-trigger.ui-state-active {
        background-color: #434c5e;
    }
    .ohft-accordion .ohft-accordion-trigger.ui-state-active a {
        color: #eceff4;
    }
    .ohft-accordion .ui-accordion-content {
        background-color: #3b4252;
        border-color: var(--color-border-primary, #4c566a);
        color: #eceff4;
    }

    /* Slides */
    .ohft-slide-presentation {
        background-color: var(--color-background-secondary, #3b4252);
        border-color: var(--color-border-primary, #4c566a);
        filter: drop-shadow(2px 2px 5px #2e3440);
    }
    .ohft-slide-section {
        color: var(--color-text-primary, #eceff4);
    }
    .ohft-prev-slide,
    .ohft-next-slide {
        background-color: var(--color-background-secondary, #434c5e);
        color: var(--color-text-primary, #eceff4);
    }
    .ohft-prev-slide:focus,
    .ohft-next-slide:focus {
        background: var(--color-focus-background, #ffeb3b);
        color: var(--color-focus-text, #212b32);
        border-color: #3b4252;
    }

    /* Tabs */
    [role="tablist"] [aria-selected] {
        border-color: var(--color-border-primary, #4c566a);
        background-color: #3b4252;
        color: #eceff4;
    }
    [role="tablist"] [aria-selected]:focus {
        border-color: #3b4252;
        box-shadow: 0 0 0 4px var(--color-focus-background, #ffeb3b);
    }
    .ohft-tab-content {
        border-color: var(--color-border-primary, #4c566a);
        border-bottom-color: var(--color-border-primary, #4c566a);
        background: #3b4252;
        color: #eceff4;
    }
    .ohft-tab-content:focus {
        border-color: #3b4252;
        box-shadow: 0 0 0 4px var(--color-focus-background, #ffeb3b);
    }

    /* Navigation button */
    .ohft-navbutton {
        box-shadow: 0 2px 5px #2e3440;
    }
    .ohft-navbutton h2 {
        color: #eceff4;
    }
    .ohft-navbutton h2 a {
        color: #eceff4;
    }
    .ohft-navbutton h2 a:hover {
        color: #d8dee9;
    }

    /* Team details */
    .ohft-team {
        background-color: #3b4252;
        border-color: var(--color-border-primary, #4c566a);
        color: #eceff4;
    }
    .ohft-team img {
        background: var(--color-border-primary, #4c566a);
    }
    .ohft-team h3 {
        color: #d8dee9;
    }
    .ohft-team p {
        color: #eceff4;
    }

    /* Mobile responsive adjustments for dark mode */
    @media only screen and (max-width: 767px) {
        [role="tablist"] a {
            border-color: var(--color-border-primary, #4c566a) !important;
            background-color: #3b4252;
            color: #eceff4;
        }
        [role="tablist"] [aria-selected] {
            background-color: #434c5e;
        }
    }
    
    /* NHS UK Components for dark mode */
    
    /* Lists */
    .nhsuk-list,
    ul,
    ol {
        color: var(--color-text-primary, #eceff4);
    }
    
    /* NHS Cards */
    .nhsuk-card {
        background: var(--color-surface-card, #3b4252);
        border-color: var(--color-border-primary, #4c566a);
        color: var(--color-text-primary, #eceff4);
    }
    
    .nhsuk-card__img {
        border-bottom-color: var(--color-border-primary, #4c566a);
    }
    
    .nhsuk-card__content {
        color: var(--color-text-primary, #eceff4);
    }
    
    .nhsuk-card--clickable:hover .nhsuk-card__heading a,
    .nhsuk-card--clickable:hover .nhsuk-card__link,
    .nhsuk-card--clickable:active .nhsuk-card__heading a,
    .nhsuk-card--clickable:active .nhsuk-card__link {
        color: #88c0d0;
    }
    
    .nhsuk-card--clickable:hover .nhsuk-card__heading a:focus,
    .nhsuk-card--clickable:hover .nhsuk-card__link:focus,
    .nhsuk-card--clickable:active .nhsuk-card__heading a:focus,
    .nhsuk-card--clickable:active .nhsuk-card__link:focus {
        color: var(--color-focus-text, #212b32);
    }
    
    .nhsuk-card--clickable:hover {
        border-color: #5e81ac;
    }
    
    .nhsuk-card--clickable:active {
        border-color: #5e81ac;
    }
    
    /* Feature cards */
    .nhsuk-card__heading--feature {
        background: #5e81ac;
        color: var(--color-text-primary, #eceff4);
    }
    
    /* NHS Care Cards */
    .nhsuk-care-card {
        border-color: var(--color-border-primary, #4c566a);
    }
    
    .nhsuk-care-card .nhsuk-care-card__heading-container {
        background-color: #5e81ac;
        color: var(--color-text-primary, #eceff4);
    }
    
    .nhsuk-care-card .nhsuk-care-card__heading-container h3 {
        color: var(--color-text-primary, #eceff4);
    }
    
    .nhsuk-care-card__arrow:before,
    .nhsuk-care-card__arrow:after {
        border-color: #5e81ac;
    }
    
    .nhsuk-care-card__content {
        background-color: var(--color-surface-card, #3b4252);
        border-color: var(--color-border-primary, #4c566a);
        color: var(--color-text-primary, #eceff4);
    }
    
    /* Urgent care cards */
    .nhsuk-care-card--urgent .nhsuk-care-card__heading-container {
        background-color: #bf616a;
        color: var(--color-text-primary, #eceff4);
    }
    
    .nhsuk-care-card--urgent .nhsuk-care-card__arrow:before,
    .nhsuk-care-card--urgent .nhsuk-care-card__arrow:after {
        border-color: #bf616a;
    }
    
    /* Immediate care cards */
    .nhsuk-care-card--immediate .nhsuk-care-card__heading-container {
        background-color: #bf616a;
        color: var(--color-text-primary, #eceff4);
    }
    
    .nhsuk-care-card--immediate .nhsuk-care-card__arrow:before,
    .nhsuk-care-card--immediate .nhsuk-care-card__arrow:after {
        border-color: #bf616a;
    }
    
    .nhsuk-care-card--immediate .nhsuk-care-card__content {
        background-color: #2e3440;
        color: var(--color-text-primary, #eceff4);
    }
    
    .nhsuk-care-card--immediate .nhsuk-care-card__content a {
        color: #88c0d0;
    }
    
    .nhsuk-care-card--immediate .nhsuk-care-card__content a:focus {
        color: var(--color-focus-text, #212b32);
    }
    
    .nhsuk-care-card--immediate .nhsuk-details,
    .nhsuk-care-card--immediate .nhsuk-details__summary {
        color: var(--color-text-primary, #eceff4);
    }
    
    .nhsuk-care-card--immediate .nhsuk-details__summary:hover {
        color: #d8dee9;
    }
    
    .nhsuk-care-card--immediate .nhsuk-details__summary:focus {
        color: var(--color-focus-text, #212b32);
    }
    
    /* NHS Details */
    .nhsuk-details {
        color: var(--color-text-primary, #eceff4);
    }
    
    .nhsuk-details__summary {
        color: #88c0d0;
    }
    
    .nhsuk-details__summary:hover {
        color: #5e81ac;
    }
    
    .nhsuk-details__summary:focus {
        background-color: var(--color-focus-background, #ffeb3b);
        box-shadow: 0 -2px var(--color-focus-background, #ffeb3b), 0 4px #3b4252;
        color: var(--color-focus-text, #212b32);
    }
    
    .nhsuk-details__text {
        border-left-color: var(--color-border-primary, #4c566a);
        background-color: #3b4252;
        color: var(--color-text-primary, #eceff4);
    }
    
    /* NHS Expanders */
    .nhsuk-expander {
        background-color: var(--color-surface-card, #3b4252);
        border-color: var(--color-border-primary, #4c566a);
    }
    
    .nhsuk-expander:hover {
        border-color: #5e81ac;
    }
    
    .nhsuk-expander .nhsuk-details__summary {
        background-color: #3b4252;
        color: var(--color-text-primary, #eceff4);
    }
    
    .nhsuk-expander .nhsuk-details__summary:hover .nhsuk-details__summary-text {
        color: #5e81ac;
    }
    
    .nhsuk-expander .nhsuk-details__summary:focus .nhsuk-details__summary-text {
        background-color: var(--color-focus-background, #ffeb3b);
        box-shadow: 0 -2px var(--color-focus-background, #ffeb3b), 0 4px #3b4252;
        color: var(--color-focus-text, #212b32);
    }
    
    .nhsuk-expander .nhsuk-details__summary-text {
        color: #88c0d0;
    }
    
    .nhsuk-expander .nhsuk-details__text {
        background-color: #3b4252;
        color: var(--color-text-primary, #eceff4);
    }
    
    /* Do and Don't Lists */
    .nhsuk-do-dont-list {
        background-color: #3b4252;
        color: #eceff4;
        border-color: var(--color-border-primary, #4c566a);
    }
    
    .nhsuk-do-dont-list__label {
        background-color: #5e81ac;
        color: #eceff4;
    }
    
    /* Warning Callouts */
    .nhsuk-warning-callout {
        background-color: #3b3a2f; /* Darker yellow background */
        color: #eceff4;
        border-color: #ebcb8b;
    }
    
    .nhsuk-warning-callout__label {
        background-color: #ebcb8b;
        color: #2e3440;
    }
    
    /* Inset Text */
    .nhsuk-inset-text {
        background-color: #3b4252;
        color: #eceff4;
        border-left-color: #5e81ac;
    }
    
    /* Action Links */
    .nhsuk-action-link__link {
        color: #88c0d0;
    }
    
    .nhsuk-action-link__link:hover .nhsuk-action-link__text {
        color: #5e81ac;
    }
    
    .nhsuk-action-link__link:focus {
        background-color: var(--color-focus-background, #ffeb3b);
        box-shadow: 0 -2px var(--color-focus-background, #ffeb3b), 0 4px #3b4252;
        color: var(--color-focus-text, #212b32);
    }
    
    .nhsuk-action-link__link:focus:hover .nhsuk-action-link__text {
        color: var(--color-focus-text, #212b32);
    }
    
    .nhsuk-action-link__link .nhsuk-icon__arrow-right-circle {
        fill: #a3be8c;
    }
}

/* Manual dark mode toggle - overrides system preference */
[data-color-mode="dark"] {
    
    /* Dividers - Adjust for dark backgrounds */
    .ohft-divider.solid { border-top-color: var(--color-border-primary, #4c566a); }
    .ohft-divider.dashed { border-top-color: var(--color-border-primary, #4c566a); }
    .ohft-divider.dotted { border-top-color: var(--color-border-primary, #4c566a); }
    .ohft-divider.double { 
        border-top-color: var(--color-border-primary, #4c566a); 
        border-bottom-color: var(--color-border-primary, #4c566a); 
    }
    .ohft-divider.fadeout { 
        background-image: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 200, from(#4c566a), to(#2e3440)) !important;
        background-image: -webkit-radial-gradient(50% 50%, #4c566a, #2e3440) !important;
        background-image: -moz-radial-gradient(50% 50%, #4c566a, #2e3440) !important;
        background-image: -o-radial-gradient(50% 50%, #4c566a, #2e3440) !important;
        background-image: -ms-radial-gradient(50% 50%, #4c566a, #2e3440) !important;
        background-image: radial-gradient(50% 50%, #4c566a, #2e3440) !important;
    }
    .ohft-divider.fadein { 
        background-image: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 200, from(#2e3440), to(#4c566a)) !important;
        background-image: -webkit-radial-gradient(50% 50%, #2e3440, #4c566a) !important;
        background-image: -moz-radial-gradient(50% 50%, #2e3440, #4c566a) !important;
        background-image: -o-radial-gradient(50% 50%, #2e3440, #4c566a) !important;
        background-image: -ms-radial-gradient(50% 50%, #2e3440, #4c566a) !important;
        background-image: radial-gradient(50% 50%, #2e3440, #4c566a) !important;
    }

    /* Buttons - Maintain NHS branding with dark mode adjustments */
    .ohft-button {
        background-color: #00a85c; /* Slightly brighter NHS green for dark mode */
        box-shadow: 0 4px 0 #004d29;
    }
    .ohft-button:hover {
        background-color: #007f3b;
    }
    .ohft-button:active {
        background: #004d29;
    }
    .ohft-button:focus {
        background: var(--color-focus-background, #ffeb3b);
        box-shadow: 0 4px 0 #3e4651;
        color: var(--color-focus-text, #212b32);
    }
    
    /* Secondary buttons */
    .ohft-button.secondary {
        background-color: #5e81ac;
        box-shadow: 0 4px 0 #3b4252;
    }
    .ohft-button.secondary:hover {
        background-color: #4c6272;
    }
    .ohft-button.secondary:active {
        background: #3b4252;
    }
    
    /* Reverse buttons */
    .ohft-button.reverse {
        background-color: #3b4252;
        box-shadow: 0 4px 0 #2e3440;
        color: #eceff4;
    }
    .ohft-button.reverse:hover {
        background-color: #434c5e;
        color: #eceff4;
    }
    .ohft-button.reverse:active {
        background: #2e3440;
        color: #eceff4;
    }
    .ohft-button.reverse:link {
        color: #eceff4;
    }

    /* Testimonials */
    .ohft-testimonial-content {
        background: #3b4252;
        color: #eceff4;
        border-color: var(--color-border-primary, #4c566a);
    }
    .ohft-testimonial-author {
        color: #d8dee9;
    }

    /* Highlights - Maintain accessibility with adequate contrast */
    .ohft-highlight-yellow, .ohft-highlight-yellow a {
        background: #ebcb8b;
        color: #2e3440;
        border-bottom-color: var(--color-border-primary, #4c566a);
    }
    .ohft-highlight-blue, .ohft-highlight-blue a {
        background: #5e81ac;
        color: #eceff4;
        border-bottom-color: var(--color-border-primary, #4c566a);
    }
    .ohft-highlight-green, .ohft-highlight-green a {
        background: #a3be8c;
        color: #2e3440;
        border-bottom-color: var(--color-border-primary, #4c566a);
    }
    .ohft-highlight-red, .ohft-highlight-red a {
        background: #bf616a;
        color: #eceff4;
        border-bottom-color: var(--color-border-primary, #4c566a);
    }
    .ohft-highlight-gray, .ohft-highlight-gray a {
        background: var(--color-border-primary, #4c566a);
        color: #eceff4;
        border-bottom-color: #3b4252;
    }

    /* Boxes */
    .ohft-box {
        background: var(--color-surface-card, #3b4252);
        color: var(--color-text-primary, #eceff4);
    }
    .ohft-box:hover {
        border-color: #5e81ac;
    }
    .ohft-box a:focus {
        background-color: var(--color-focus-background, #ffeb3b);
        color: var(--color-focus-text, #212b32) !important;
    }
    .ohft-box p,
    .ohft-box h2,
    .ohft-box h3,
    .ohft-box h4,
    .ohft-box a {
        color: var(--color-text-primary, #eceff4);
    }
    
    /* Specific box variants */
    .ohft-box.gray {
        background-color: #434c5e;
        border-color: var(--color-border-primary, #4c566a);
        border-bottom-color: var(--color-border-primary, #4c566a);
    }
    .ohft-box.red {
        background-color: #3b4252;
        border-color: var(--color-border-primary, #4c566a);
        border-left-color: #bf616a;
    }
    .ohft-box.green {
        background-color: #3b4252;
        border-color: var(--color-border-primary, #4c566a);
        border-left-color: #a3be8c;
    }
    .ohft-box.blue {
        background-color: #3b4252;
        border-color: var(--color-border-primary, #4c566a);
        border-left-color: #5e81ac;
    }
    .ohft-box.yellow {
        background: #ebcb8b;
        color: #2e3440;
    }
    .ohft-box.yellow p {
        color: #2e3440;
    }
    .ohft-box.black {
        background: #2e3440;
        color: #eceff4;
    }
    .ohft-box.black p,
    .ohft-box.black h2,
    .ohft-box.black h3 {
        color: #eceff4;
    }
    .ohft-box.black a {
        color: #88c0d0;
    }

    /* Toggle */
    .ohft-toggle h3,
    .ohft-toggle h4 {
        color: #eceff4;
    }
    .ohft-toggle .ohft-toggle-trigger {
        color: #88c0d0;
        background-color: #3b4252;
        border-color: var(--color-border-primary, #4c566a);
    }
    .ohft-toggle .ohft-toggle-trigger:hover {
        border-color: #5e81ac;
    }
    .ohft-toggle .ohft-toggle-trigger.active,
    .ohft-toggle .ohft-toggle-trigger.active:hover {
        color: #88c0d0;
        background-color: #3b4252;
    }
    .ohft-toggle .ohft-toggle-container {
        background: #3b4252;
        border-color: var(--color-border-primary, #4c566a);
        color: #eceff4;
    }
    .ohft-toggle .ohft-toggle-container h2 {
        color: #d8dee9;
    }

    /* Accordion */
    .ohft-accordion h3.ohft-accordion-trigger {
        color: #d8dee9;
        border-color: var(--color-border-primary, #4c566a);
        background-color: #3b4252;
    }
    .ohft-accordion h3.ohft-accordion-trigger a {
        color: #d8dee9;
    }
    .ohft-accordion .ohft-accordion-trigger:hover {
        background-color: #434c5e;
    }
    .ohft-accordion .ohft-accordion-trigger.ui-state-active {
        background-color: #434c5e;
    }
    .ohft-accordion .ohft-accordion-trigger.ui-state-active a {
        color: #eceff4;
    }
    .ohft-accordion .ui-accordion-content {
        background-color: #3b4252;
        border-color: var(--color-border-primary, #4c566a);
        color: #eceff4;
    }

    /* Slides */
    .ohft-slide-presentation {
        background-color: var(--color-background-secondary, #3b4252);
        border-color: var(--color-border-primary, #4c566a);
        filter: drop-shadow(2px 2px 5px #2e3440);
    }
    .ohft-slide-section {
        color: var(--color-text-primary, #eceff4);
    }
    .ohft-prev-slide,
    .ohft-next-slide {
        background-color: var(--color-background-secondary, #434c5e);
        color: var(--color-text-primary, #eceff4);
    }
    .ohft-prev-slide:focus,
    .ohft-next-slide:focus {
        background: var(--color-focus-background, #ffeb3b);
        color: var(--color-focus-text, #212b32);
        border-color: #3b4252;
    }

    /* Tabs */
    [role="tablist"] [aria-selected] {
        border-color: var(--color-border-primary, #4c566a);
        background-color: #3b4252;
        color: #eceff4;
    }
    [role="tablist"] [aria-selected]:focus {
        border-color: #3b4252;
        box-shadow: 0 0 0 4px var(--color-focus-background, #ffeb3b);
    }
    .ohft-tab-content {
        border-color: var(--color-border-primary, #4c566a);
        border-bottom-color: var(--color-border-primary, #4c566a);
        background: #3b4252;
        color: #eceff4;
    }
    .ohft-tab-content:focus {
        border-color: #3b4252;
        box-shadow: 0 0 0 4px var(--color-focus-background, #ffeb3b);
    }

    /* Navigation button */
    .ohft-navbutton {
        box-shadow: 0 2px 5px #2e3440;
    }
    .ohft-navbutton h2 {
        color: #eceff4;
    }
    .ohft-navbutton h2 a {
        color: #eceff4;
    }
    .ohft-navbutton h2 a:hover {
        color: #d8dee9;
    }

    /* Team details */
    .ohft-team {
        background-color: #3b4252;
        border-color: var(--color-border-primary, #4c566a);
        color: #eceff4;
    }
    .ohft-team img {
        background: var(--color-border-primary, #4c566a);
    }
    .ohft-team h3 {
        color: #d8dee9;
    }
    .ohft-team p {
        color: #eceff4;
    }

    /* Mobile responsive adjustments for dark mode */
    @media only screen and (max-width: 767px) {
        [role="tablist"] a {
            border-color: var(--color-border-primary, #4c566a) !important;
            background-color: #3b4252;
            color: #eceff4;
        }
        [role="tablist"] [aria-selected] {
            background-color: #434c5e;
        }
    }
    
    /* NHS UK Components for dark mode */
    
    /* Lists */
    .nhsuk-list,
    ul,
    ol {
        color: var(--color-text-primary, #eceff4);
    }
    
    /* NHS Cards */
    .nhsuk-card {
        background: var(--color-surface-card, #3b4252);
        border-color: var(--color-border-primary, #4c566a);
        color: var(--color-text-primary, #eceff4);
    }
    
    .nhsuk-card__img {
        border-bottom-color: var(--color-border-primary, #4c566a);
    }
    
    .nhsuk-card__content {
        color: var(--color-text-primary, #eceff4);
    }
    
    .nhsuk-card--clickable:hover .nhsuk-card__heading a,
    .nhsuk-card--clickable:hover .nhsuk-card__link,
    .nhsuk-card--clickable:active .nhsuk-card__heading a,
    .nhsuk-card--clickable:active .nhsuk-card__link {
        color: #88c0d0;
    }
    
    .nhsuk-card--clickable:hover .nhsuk-card__heading a:focus,
    .nhsuk-card--clickable:hover .nhsuk-card__link:focus,
    .nhsuk-card--clickable:active .nhsuk-card__heading a:focus,
    .nhsuk-card--clickable:active .nhsuk-card__link:focus {
        color: var(--color-focus-text, #212b32);
    }
    
    .nhsuk-card--clickable:hover {
        border-color: #5e81ac;
    }
    
    .nhsuk-card--clickable:active {
        border-color: #5e81ac;
    }
    
    /* Feature cards */
    .nhsuk-card__heading--feature {
        background: #5e81ac;
        color: var(--color-text-primary, #eceff4);
    }
    
    /* NHS Care Cards */
    .nhsuk-care-card {
        border-color: var(--color-border-primary, #4c566a);
    }
    
    .nhsuk-care-card .nhsuk-care-card__heading-container {
        background-color: #5e81ac;
        color: var(--color-text-primary, #eceff4);
    }
    
    .nhsuk-care-card .nhsuk-care-card__heading-container h3 {
        color: var(--color-text-primary, #eceff4);
    }
    
    .nhsuk-care-card__arrow:before,
    .nhsuk-care-card__arrow:after {
        border-color: #5e81ac;
    }
    
    .nhsuk-care-card__content {
        background-color: var(--color-surface-card, #3b4252);
        border-color: var(--color-border-primary, #4c566a);
        color: var(--color-text-primary, #eceff4);
    }
    
    /* Urgent care cards */
    .nhsuk-care-card--urgent .nhsuk-care-card__heading-container {
        background-color: #bf616a;
        color: var(--color-text-primary, #eceff4);
    }
    
    .nhsuk-care-card--urgent .nhsuk-care-card__arrow:before,
    .nhsuk-care-card--urgent .nhsuk-care-card__arrow:after {
        border-color: #bf616a;
    }
    
    /* Immediate care cards */
    .nhsuk-care-card--immediate .nhsuk-care-card__heading-container {
        background-color: #bf616a;
        color: var(--color-text-primary, #eceff4);
    }
    
    .nhsuk-care-card--immediate .nhsuk-care-card__arrow:before,
    .nhsuk-care-card--immediate .nhsuk-care-card__arrow:after {
        border-color: #bf616a;
    }
    
    .nhsuk-care-card--immediate .nhsuk-care-card__content {
        background-color: #2e3440;
        color: var(--color-text-primary, #eceff4);
    }
    
    .nhsuk-care-card--immediate .nhsuk-care-card__content a {
        color: #88c0d0;
    }
    
    .nhsuk-care-card--immediate .nhsuk-care-card__content a:focus {
        color: var(--color-focus-text, #212b32);
    }
    
    .nhsuk-care-card--immediate .nhsuk-details,
    .nhsuk-care-card--immediate .nhsuk-details__summary {
        color: var(--color-text-primary, #eceff4);
    }
    
    .nhsuk-care-card--immediate .nhsuk-details__summary:hover {
        color: #d8dee9;
    }
    
    .nhsuk-care-card--immediate .nhsuk-details__summary:focus {
        color: var(--color-focus-text, #212b32);
    }
    
    /* NHS Details */
    .nhsuk-details {
        color: var(--color-text-primary, #eceff4);
    }
    
    .nhsuk-details__summary {
        color: #88c0d0;
    }
    
    .nhsuk-details__summary:hover {
        color: #5e81ac;
    }
    
    .nhsuk-details__summary:focus {
        background-color: var(--color-focus-background, #ffeb3b);
        box-shadow: 0 -2px var(--color-focus-background, #ffeb3b), 0 4px #3b4252;
        color: var(--color-focus-text, #212b32);
    }
    
    .nhsuk-details__text {
        border-left-color: var(--color-border-primary, #4c566a);
        background-color: #3b4252;
        color: var(--color-text-primary, #eceff4);
    }
    
    /* NHS Expanders */
    .nhsuk-expander {
        background-color: var(--color-surface-card, #3b4252);
        border-color: var(--color-border-primary, #4c566a);
    }
    
    .nhsuk-expander:hover {
        border-color: #5e81ac;
    }
    
    .nhsuk-expander .nhsuk-details__summary {
        background-color: #3b4252;
        color: var(--color-text-primary, #eceff4);
    }
    
    .nhsuk-expander .nhsuk-details__summary:hover .nhsuk-details__summary-text {
        color: #5e81ac;
    }
    
    .nhsuk-expander .nhsuk-details__summary:focus .nhsuk-details__summary-text {
        background-color: var(--color-focus-background, #ffeb3b);
        box-shadow: 0 -2px var(--color-focus-background, #ffeb3b), 0 4px #3b4252;
        color: var(--color-focus-text, #212b32);
    }
    
    .nhsuk-expander .nhsuk-details__summary-text {
        color: #88c0d0;
    }
    
    .nhsuk-expander .nhsuk-details__text {
        background-color: #3b4252;
        color: var(--color-text-primary, #eceff4);
    }
    
    /* Do and Don't Lists */
    .nhsuk-do-dont-list {
        background-color: #3b4252;
        color: #eceff4;
        border-color: var(--color-border-primary, #4c566a);
    }
    
    .nhsuk-do-dont-list__label {
        background-color: #5e81ac;
        color: #eceff4;
    }
    
    /* Warning Callouts */
    .nhsuk-warning-callout {
        background-color: #3b3a2f; /* Darker yellow background */
        color: #eceff4;
        border-color: #ebcb8b;
    }
    
    .nhsuk-warning-callout__label {
        background-color: #ebcb8b;
        color: #2e3440;
    }
    
    /* Inset Text */
    .nhsuk-inset-text {
        background-color: #3b4252;
        color: #eceff4;
        border-left-color: #5e81ac;
    }
    
    /* Action Links */
    .nhsuk-action-link__link {
        color: #88c0d0;
    }
    
    .nhsuk-action-link__link:hover .nhsuk-action-link__text {
        color: #5e81ac;
    }
    
    .nhsuk-action-link__link:focus {
        background-color: var(--color-focus-background, #ffeb3b);
        box-shadow: 0 -2px var(--color-focus-background, #ffeb3b), 0 4px #3b4252;
        color: var(--color-focus-text, #212b32);
    }
    
    .nhsuk-action-link__link:focus:hover .nhsuk-action-link__text {
        color: var(--color-focus-text, #212b32);
    }
    
    .nhsuk-action-link__link .nhsuk-icon__arrow-right-circle {
        fill: #a3be8c;
    }
}
