/* SIPAC colour scheme: dark mode + footer switch.
 * html.sv-dark is set before first paint by the head script (System by default).
 * Dark mode re-points the site's own tokens; the rules below only fix hard-coded colours. */

/* ---------- Footer switch (all schemes) ---------- */
#tbp_footer .sv-sch{position:relative;top:8px} /* a <button> takes its baseline from its content box, the theme's <a> from the disc's margin edge: 8px = the disc padding */
#tbp_footer .sv-sch-btn{display:flex;align-items:center;padding:0;margin:0;border:0;background:none;cursor:pointer;border-radius:50%;color:inherit;font:inherit;font-size:16px;line-height:inherit;min-height:0;box-shadow:none;text-transform:none;letter-spacing:0}
#tbp_footer .sv-sch-btn:focus-visible{outline:2px solid var(--sv-red,#DA2011);outline-offset:2px}
#tbp_footer .sv-sch-em{background-color:#ffffff;color:var(--sv-ink,#14161A)}
#tbp_footer .sv-sch-em{display:inline-block;box-sizing:content-box;width:1em;height:1em;line-height:1}
#tbp_footer .sv-sch-em svg{width:1em!important;height:1em!important;display:block;margin:0}
#tbp_footer .sv-sch-menu{position:absolute;right:0;bottom:calc(100% + 10px);z-index:50;min-width:184px;padding:6px;margin:0;background:var(--sv-white,#fff);border:1px solid var(--sv-line,#E2E4E8);border-radius:8px;box-shadow:0 12px 32px rgba(20,22,26,.12),0 2px 6px rgba(20,22,26,.05);text-align:left;animation:svSchIn var(--sv-base,200ms) var(--sv-in,cubic-bezier(.2,0,0,1))}
#tbp_footer .sv-sch-menu[hidden]{display:none}
#tbp_footer .sv-sch-menu button{display:flex;align-items:center;gap:10px;width:100%;margin:0;padding:9px 10px;border:0;border-radius:5px;background:none;cursor:pointer;font:500 14px/1.2 var(--sv-text,'Inter',sans-serif);color:var(--sv-ink,#14161A);text-align:left;letter-spacing:0;text-transform:none;box-shadow:none;min-height:0}
#tbp_footer .sv-sch-menu button:hover,#tbp_footer .sv-sch-menu button:focus-visible{background:var(--sv-subtle,#F3F4F6);outline:none}
#tbp_footer .sv-sch-i{display:inline-flex;width:18px;height:18px;color:var(--sv-muted,#6B7280)}
#tbp_footer .sv-sch-i svg{width:18px;height:18px}
#tbp_footer .sv-sch-menu span{margin:0!important;padding:0!important}
#tbp_footer .sv-sch-t{flex:1}
#tbp_footer .sv-sch-ck{width:12px;height:12px;color:var(--sv-red,#DA2011);opacity:0}
#tbp_footer .sv-sch-menu [aria-checked="true"] .sv-sch-ck{opacity:1}
#tbp_footer .sv-sch-menu [aria-checked="true"] .sv-sch-i{color:var(--sv-ink,#14161A)}
@keyframes svSchIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
html.sv-scheme-anim,html.sv-scheme-anim body,html.sv-scheme-anim body *{transition:background-color 320ms cubic-bezier(.2,0,0,1),color 320ms cubic-bezier(.2,0,0,1),border-color 320ms cubic-bezier(.2,0,0,1),fill 320ms cubic-bezier(.2,0,0,1)!important}
@media (prefers-reduced-motion:reduce){#tbp_footer .sv-sch-menu{animation:none}html.sv-scheme-anim body *{transition:none!important}}

/* ---------- Dark tokens ---------- */
html.sv2.sv-dark{--sv-red:#EF4A3F;--sv-ink:#EDEFF2;--sv-body:#C3C8D0;--sv-muted:#8E95A1;--sv-line:#2B3038;--sv-subtle:#171A1F;--sv-white:#0E1014;color-scheme:dark}
html.sv2.sv-dark,html.sv2.sv-dark body{background-color:#0E1014}
html.sv2.sv-dark ::selection{background:#EDEFF2;color:#0E1014}

/* Ink buttons: ink is light in dark mode, so their text becomes the page colour */
html.sv2.sv-dark body .module-buttons .module-buttons-item a:hover{color:var(--sv-white)!important}
html.sv2.sv-dark body .tb_section-home .module-buttons a,html.sv2.sv-dark body .tb_section-members .module-buttons a,html.sv2.sv-dark body .wpcf7 input.wpcf7-submit{color:var(--sv-white)!important}
html.sv2.sv-dark body .tb_section-home .module-buttons a::after,html.sv2.sv-dark body .tb_section-members .module-buttons a::after{color:var(--sv-white)}
html.sv2.sv-dark body .tb_section-home .module-buttons a:hover,html.sv2.sv-dark body .tb_section-members .module-buttons a:hover,html.sv2.sv-dark body .wpcf7 input.wpcf7-submit:hover{background:#D3D7DD!important;border-color:#D3D7DD!important}
html.sv2.sv-dark body main .pagenav .current,html.sv2.sv-dark body main .page-numbers.current{color:var(--sv-white)!important}
html.sv2.sv-dark body main .wp-block-button .wp-block-button__link:not(#sv),html.sv2.sv-dark body main a.wp-block-button__link:not(#sv){color:var(--sv-white)!important}
html.sv2.sv-dark body main .wp-block-button .wp-block-button__link:not(#sv):hover,html.sv2.sv-dark body main a.wp-block-button__link:not(#sv):hover{background:#D3D7DD!important;border-color:#D3D7DD!important;color:var(--sv-white)!important}

/* Fields and white panels */
html.sv2.sv-dark body .wpcf7 input[type="text"],html.sv2.sv-dark body .wpcf7 input[type="email"],html.sv2.sv-dark body .wpcf7 input[type="tel"],html.sv2.sv-dark body .wpcf7 textarea,html.sv2.sv-dark body .wpcf7 select{background:var(--sv-subtle)!important;color:var(--sv-ink)!important;border-color:var(--sv-line)!important}
html.sv2.sv-dark body .wpcf7 ::placeholder{color:#7A818C!important}
html.sv2.sv-dark body .wpcf7 .wpcf7-response-output{background:var(--sv-subtle)}
html.sv2.sv-dark body .wpcf7 form .frc-captcha{background:var(--sv-subtle)!important;color:var(--sv-body)!important}
html.sv2.sv-dark body .frc-captcha *{color:var(--sv-body)}
html.sv2.sv-dark body:not(.home) main .loops-wrapper article{background:transparent!important}
html.sv2.sv-dark body main .module-search-form input[type="text"],html.sv2.sv-dark body main .module-search-form input[type="search"]{background:var(--sv-subtle)!important}
html.sv2.sv-dark body main .tb_section-enquiries .module-tab .tab-nav li a::before{background:var(--sv-white);border-color:#5A616C}

/* Ink-filled controls whose text or icon colour is hard-coded white */
html.sv2.sv-dark body .module-search-form form button[type="submit"],html.sv2.sv-dark body .module-search-form form button[type="submit"] svg{color:var(--sv-white)!important;fill:var(--sv-white)!important}
html.sv2.sv-dark body main .wp-block-file .wp-block-file__button:not(#sv),html.sv2.sv-dark body main a.wp-block-file__button:not(#sv){color:var(--sv-white)!important}
html.sv2.sv-dark body main .wp-block-file .wp-block-file__button:not(#sv):hover,html.sv2.sv-dark body main a.wp-block-file__button:not(#sv):hover{background:#D3D7DD!important;border-color:#D3D7DD!important;color:var(--sv-white)!important}

/* FriendlyCaptcha widget (enquiry form) */
html.sv2.sv-dark body .frc-captcha .frc-button{background:#22262D!important;color:var(--sv-ink)!important;border-color:var(--sv-line)!important}
html.sv2.sv-dark body .frc-captcha .frc-button:hover{background:#2B3038!important}
html.sv2.sv-dark body .frc-captcha .frc-icon{fill:var(--sv-body);stroke:var(--sv-body)}
html.sv2.sv-dark body .frc-captcha .frc-banner a,html.sv2.sv-dark body .frc-captcha .frc-banner b{color:var(--sv-muted)!important}

/* Footer hairlines: #FEFBF5 disappears on white but glares on dark */
html.sv2.sv-dark #tbp_footer .module_row{border-color:var(--sv-line)!important}

/* Large brand surfaces keep the true SIPAC red; the lighter dark-mode red is for text, rules and small accents */
html.sv2.sv-dark body main .tb_section-home::before{background:#DA2011}

/* Header / dropdown shadows read better a little deeper on dark */
html.sv2.sv-dark.sv-scrolled body #tbp_header{box-shadow:0 1px 0 var(--sv-line),0 4px 16px rgba(0,0,0,.45)}
html.sv2.sv-dark body #tbp_header .module-menu .nav > li.menu-item-has-children:not(.pll-parent-menu-item) > ul{background:var(--sv-white)!important;box-shadow:0 12px 32px rgba(0,0,0,.5),0 2px 6px rgba(0,0,0,.3)!important}

/* SILF 2027 promotion strip: keep it a dark band with the red key */
html.sv2.sv-dark .sv-promo{background:#1A1D23}

/* MapGeo world map */
html.sv2.sv-dark .map_wrapper g[fill="#d8c3c3"]{fill:#454B55}
html.sv2.sv-dark .map_wrapper g[fill="#e0e0e0"]{fill:#22262D}
html.sv2.sv-dark .map_wrapper g[fill="#e0b300"]{fill:#EDEFF2}
html.sv2.sv-dark .map_wrapper g[stroke="#f9f9f9"]{stroke:#0E1014}

/* Footer social icons: white discs become dark discs */
html.sv2.sv-dark #tbp_footer .module-icon em.tf_box{background-color:#1D2027!important}
html.sv2.sv-dark #tbp_footer .sv-sch-em{color:var(--sv-ink)}
html.sv2.sv-dark #tbp_footer .sv-sch-menu{box-shadow:0 12px 32px rgba(0,0,0,.55),0 2px 6px rgba(0,0,0,.3)}

/* SILF 2027 page (#silf27e): its own tokens already follow --sv-*; fix the hard-coded whites */
html.sv-dark body #silf27e .hero{background:var(--sv-white)!important}
html.sv-dark body #silf27e .side{background:#DA2011!important}
html.sv-dark body #silf27e .btn{color:var(--sv-white)!important}
html.sv-dark body #silf27e .btn:hover,html.sv-dark body #silf27e .btn.inv:hover{background:#DA2011!important;border-color:#DA2011!important;color:#fff!important}
html.sv-dark body #silf27e .final{background:#1A1D23!important}
html.sv-dark body #silf27e .btn.inv{background:#fff!important;border-color:#fff!important;color:#14161A!important}
html.sv-dark body #silf27e .subnav{background:rgba(14,16,20,.94)!important}
@media (hover:none),(pointer:coarse){html.sv-dark body #silf27e .subnav{background:#0E1014!important}}
html.sv-dark body #silf27e .gal .im{background:#22262D!important}

/* SILF 2027 registration form tokens */
html.sv-dark #silf27{--bg:#0E1014;--subtle:#171A1F;--ink:#EDEFF2;--body:#C3C8D0;--muted:#8E95A1;--red:#EF4A3F;--err:#FF8A80;--line:#2B3038;--field:#3A404A;--control:#6B7280;--hover:#15181D;color-scheme:dark}
html.sv-dark #silf27 .btn.primary{color:var(--bg)}
html.sv-dark #silf27 .btn.primary:hover{background:#D3D7DD}
html.sv-dark #silf27 .btn.red{background:#DA2011;border-color:#DA2011;color:#fff}
html.sv-dark #silf27 .alert{background:#2A1714}
html.sv-dark #silf27 .stepper li.cur .dot{box-shadow:0 0 0 4px var(--bg)}
html.sv-dark #silf27 .chip input:checked + span{color:var(--bg)}
html.sv-dark #silf27 .counter button:disabled{color:#4A505A}
