/*
 * Colour-contrast fix: navy text on the brand orange.
 * White on #FB8718 / #F68422 is ~2.4:1 (fails WCAG); navy #121D39 on the same orange is ~6.8:1.
 * Loaded last on every page so it wins over the Zoho theme styles.
 * Hero slides are deliberately untouched: their text sits on photos with a dark overlay.
 */
:root { --lion-navy: #121d39; }

/* Tabs: inactive tabs are orange; the active tab and a hovered tab turn navy, so they keep white text */
.zptab:not(.zptab-active):not(:hover) .zptab-name { color: var(--lion-navy) !important; }
.zptab:not(.zptab-active):not(:hover) .zptabicon svg, .zptab:not(.zptab-active):not(:hover) .zptabicon svg path { fill: var(--lion-navy) !important; }

/* Accordions: the open header is orange and closed ones turn orange on hover -> navy text on both */
.zpaccordion.zpaccordion-active .zpaccordion-name, .zpaccordion:hover .zpaccordion-name { color: var(--lion-navy) !important; }
.zpaccordion.zpaccordion-active svg, .zpaccordion.zpaccordion-active svg path,
.zpaccordion:hover svg, .zpaccordion:hover svg path { fill: var(--lion-navy) !important; }

/* Orange primary buttons (homepage): navy text while orange; they turn navy on hover, so white text then */
[data-element-id="elm_9v4FZ4LfCpiQG0xPjRwG0Q"] .zpbutton:not(:hover), [data-element-id="elm_9v4FZ4LfCpiQG0xPjRwG0Q"] .zpbutton:not(:hover) .zpbutton-content,
[data-element-id="elm_GXB02laL3Jd9fe9Bzm30tA"] .zpbutton:not(:hover), [data-element-id="elm_GXB02laL3Jd9fe9Bzm30tA"] .zpbutton:not(:hover) .zpbutton-content,
[data-element-id="elm_ZBs_10KNhUSftI5Pz9GJIw"] .zpbutton:not(:hover), [data-element-id="elm_ZBs_10KNhUSftI5Pz9GJIw"] .zpbutton:not(:hover) .zpbutton-content,
[data-element-id="elm_b0X--687QOTvoYbLPAUgJw"] .zpbutton:not(:hover), [data-element-id="elm_b0X--687QOTvoYbLPAUgJw"] .zpbutton:not(:hover) .zpbutton-content,
[data-element-id="elm_giB8fzwyqB32Vnrrpm410A"] .zpbutton:not(:hover), [data-element-id="elm_giB8fzwyqB32Vnrrpm410A"] .zpbutton:not(:hover) .zpbutton-content,
[data-element-id="elm_kGQi4Ub5YYW7voMbsL9z8w"] .zpbutton:not(:hover), [data-element-id="elm_kGQi4Ub5YYW7voMbsL9z8w"] .zpbutton:not(:hover) .zpbutton-content,
[data-element-id="elm_yk2PqUMhKouBQJ1yEDzLng"] .zpbutton:not(:hover), [data-element-id="elm_yk2PqUMhKouBQJ1yEDzLng"] .zpbutton:not(:hover) .zpbutton-content,
[data-element-id="elm_yoRLo26Bkc7p0mFyIrmXqA"] .zpbutton:not(:hover), [data-element-id="elm_yoRLo26Bkc7p0mFyIrmXqA"] .zpbutton:not(:hover) .zpbutton-content { color: var(--lion-navy) !important; }

/* Orange sections: site footer (every page) and orange bands on the homepage/service pages */
:is([data-element-id="elm_N3jB-4elU6QqLJvqsEGCvQ"], [data-element-id="elm_QjHgX4huSnXpWfEUsvktMw"],
    [data-element-id="elm_EQ1w_E-9BWQd6N93c1DI-w"], [data-element-id="elm_bT3eI2M3Ycp5zBqcfhWqgA"])
  :is(h1, h2, h3, h4, h5, h6, p, span, a, li, strong, b, em, i, div, label)
  :not(.zpbutton, .zpbutton *, .zpimage-caption, .zpimage-caption *) { color: var(--lion-navy) !important; }
/* (navy buttons and navy image captions inside those sections keep their white text) */

/* "Latest blog post" card (built by script, uses inline white text) */
#latest-blog-post, #latest-blog-post * { color: var(--lion-navy) !important; }

/* Flip cards */
.flip-front, .flip-front *, .flip-back, .flip-back *, .card-back, .card-back * { color: var(--lion-navy) !important; }

/* Postcode checker */
.lc-cta-card, .lc-cta-card *, .lc-btn, .lc-badge, .lc-kicker,
html body #lccl-cov .lc-cta-card a, html body #lccl-cov .lc-ctas a { color: var(--lion-navy) !important; }

/* "Contact" menu button */
.menu-highlight-primary > a, .menu-highlight-primary > a .theme-menu-name { color: var(--lion-navy) !important; }

/* Cookie banner (orange bar): message text and the orange Accept button; Decline stays white on navy */
#zcb-banner .zcb-msg, #zcb-banner .zcb-msg *, #zc-manage { color: var(--lion-navy) !important; }

/* "The Greener Cleaner" green on white: deeper green (5.25:1 instead of 2.3:1) –
   intro screen and header caption only (the homepage hero line sits on a dark photo, so it keeps its light green) */
.headersplash .handwrite-wrapper, .headersplash .handwrite-text, .theme-site-caption { color: #3f7a0a !important; }

/* Orange text on white: darker orange #B85400 (4.88:1 instead of ~2.5:1).
   Only where the background is white – orange text on navy (menus, cards) already passes and is left alone. */
[data-element-id="elm_mQlNkCbK1hyfJQqR5FN_CQ"] a,
[data-element-id="elm_YN3BZR-OZbmYzWKGaZZZdQ"] a,
html a.theme-blog-side-menu-link:not(:hover),
[data-zs-app="blogs"] .theme-blog-author-detail .theme-blog-author-name,
html body #lccl-cov summary { color: #b85400 !important; }

/* Blog tag chips are orange (navy on hover): navy text while orange */
html li.theme-blog-category-tag-list:not(:hover) a { color: var(--lion-navy) !important; }

/* Navy buttons that turn orange on hover (homepage) and the Zoho form submit button: navy text while orange */
[data-element-id="elm_aMExhpu-0O_VMIy5oUxbiQ"] .zpbutton:hover, [data-element-id="elm_aMExhpu-0O_VMIy5oUxbiQ"] .zpbutton:hover .zpbutton-content,
[data-element-id="elm_Siy7jM1uV_s2xd1IcoZV0Q"] .zpbutton:hover, [data-element-id="elm_Siy7jM1uV_s2xd1IcoZV0Q"] .zpbutton:hover .zpbutton-content,
[data-element-id="elm_AAga9OB26weh7XI5AvrxBg"] .zpbutton:hover, [data-element-id="elm_AAga9OB26weh7XI5AvrxBg"] .zpbutton:hover .zpbutton-content,
[data-element-id="elm_b1cMh-JjXrzJWUb-qKJH-Q"] .zpbutton:hover, [data-element-id="elm_b1cMh-JjXrzJWUb-qKJH-Q"] .zpbutton:hover .zpbutton-content,
[data-element-id="elm_43J-e7fc-Aym4vqzLUBCpg"] .zpbutton:hover, [data-element-id="elm_43J-e7fc-Aym4vqzLUBCpg"] .zpbutton:hover .zpbutton-content,
[data-element-id="elm_fIH4aRUfMAU7EDy2PYbNFA"] .zpbutton:hover, [data-element-id="elm_fIH4aRUfMAU7EDy2PYbNFA"] .zpbutton:hover .zpbutton-content,
html body .zpelem-lpform .zpform-container .zpbutton:hover, html body .zpelem-lpform .zpform-container .zpbutton:hover * { color: var(--lion-navy) !important; }
