/* Forerunners — utility bar (site search + language) that sits at the right end
   of the blue breadcrumb strip below the navbar. Used on every page except the
   homepage, which carries its own header search. */

.fhc-tools{margin-left:auto;display:flex;align-items:center;gap:10px;flex:0 0 auto}

/* fhc-tools is inserted as a block sibling AFTER the breadcrumb row (bc-inner /
   bc, etc.), inside a non-flex .container / .wrap wrapper — that drops it to
   its own left-aligned row instead of the same row, right-aligned. Turn that
   wrapper into a flex row so the breadcrumb and the tools share one line,
   with the tools pinned right (wraps to its own row only if it can't fit). */
.container:has(> .fhc-tools),.wrap:has(> .fhc-tools){
  display:flex;flex-wrap:wrap;align-items:center;gap:10px}

/* --- search ------------------------------------------------------------- */
.fhc-tools .nav-search{position:relative;display:flex;align-items:center;gap:6px;
  /* wide enough to show the whole placeholder; it grows leftwards because the
     tools block is right-aligned in the breadcrumb row */
  width:320px;height:34px;padding:0 4px 0 13px;background:#fff;
  border:1px solid rgba(127,177,214,0.85);border-radius:999px;
  box-shadow:0 4px 14px rgba(36,91,131,0.08);transition:border-color .18s ease,box-shadow .18s ease}
.fhc-tools .nav-search:focus-within{border-color:#3B76A8;box-shadow:0 6px 18px rgba(36,91,131,0.16)}
.fhc-tools .nav-search input{flex:1 1 auto;min-width:0;height:100%;border:0;outline:0;background:transparent;
  font-family:inherit;font-size:12.5px;font-weight:600;color:#153044;-webkit-appearance:none;appearance:none}
.fhc-tools .nav-search input::placeholder{color:#8AA3B7;font-weight:600}
.fhc-tools .nav-search input::-webkit-search-cancel-button{-webkit-appearance:none}
.fhc-tools .nav-search button{flex:0 0 auto;width:26px;height:26px;display:grid;place-items:center;
  border:0;border-radius:50%;background:#2D5F8A;color:#fff;cursor:pointer;transition:background .18s ease}
.fhc-tools .nav-search button:hover{background:#3B76A8}
.fhc-tools .nav-search button svg{width:12px;height:12px;fill:#fff}

/* --- language ----------------------------------------------------------- */
.fhc-tools .nav-lang{position:relative;display:flex;align-items:center;gap:7px;height:34px;
  padding:0 12px;background:#fff;border:1px solid rgba(127,177,214,0.85);border-radius:999px;
  box-shadow:0 4px 14px rgba(36,91,131,0.08)}
.fhc-tools .nav-lang .tb-globe{width:13px;height:13px;fill:#3B76A8;flex:0 0 auto}
.fhc-tools .nav-lang select{border:0;outline:0;background:transparent;cursor:pointer;
  font-family:inherit;font-size:12.5px;font-weight:800;color:#2D5F8A;max-width:118px;
  padding-right:2px;-webkit-appearance:none;appearance:none}

/* --- suggestions -------------------------------------------------------- */
.fhc-sug{position:absolute;top:calc(100% + 9px);right:0;width:min(380px,86vw);max-height:60vh;overflow:auto;
  background:#fff;border:1px solid rgba(127,177,214,0.75);border-radius:14px;
  box-shadow:0 26px 60px rgba(16,54,86,0.20);padding:6px;z-index:80;text-align:left}
.fhc-sug[hidden]{display:none}
.fhc-sug-item,.fhc-sug-all{display:block;padding:9px 11px;border-radius:9px;text-decoration:none;
  font-size:13px;line-height:1.4;color:#153044}
.fhc-sug-item .fhc-sug-title{display:block;font-weight:800;color:#2D5F8A}
.fhc-sug-item .fhc-sug-meta{display:block;margin-top:2px;font-size:11px;font-weight:700;color:#587086}
.fhc-sug-item:hover,.fhc-sug-item.is-active,.fhc-sug-all:hover,.fhc-sug-all.is-active{background:#EAF4FB}
.fhc-sug-item mark{background:#FFE066;color:inherit;border-radius:3px;padding:0 2px}
.fhc-sug-all{margin-top:2px;border-top:1px solid rgba(127,177,214,0.4);font-weight:800;color:#3B76A8}
.fhc-sug-empty{padding:14px 12px;font-size:13px;color:#587086}

/* --- standalone bar (pages with no breadcrumb strip) --------------------- */
.fhc-utilbar{background:#EAF4FB;border-bottom:1px solid rgba(127,177,214,0.6)}
.fhc-utilbar>.container,.fhc-utilbar>.wrap{display:flex;align-items:center;padding:8px 0}

/* --- small screens ------------------------------------------------------ */
@media (max-width:860px){
  .fhc-tools{width:100%;margin-left:0;margin-top:8px;gap:8px}
  .fhc-tools .nav-search{flex:1 1 auto;width:100%;min-width:0}
  .fhc-sug{right:auto;left:0;width:min(380px,92vw)}
}
@media (max-width:400px){
  .fhc-tools .nav-lang select{max-width:56px}
}

/* --- nothing sticks: navbar and breadcrumb bar scroll away with the page ---
   (page stylesheets set position:sticky on these, hence !important) */
header.navbar,header.nav,.navbar,nav.breadcrumbs,nav.bc,.fhc-utilbar,
nav.regionbar,.regionbar,.citybar{
  position:relative !important;top:auto !important;bottom:auto !important}

/* the open mobile menu now hangs off the navbar instead of a measured offset */
@media (max-width:900px){
  .nav-open .menu,.nav-open .links{position:absolute !important;left:0 !important;right:0 !important;
    top:100% !important;margin:0 !important;width:auto !important;
    max-height:70vh;overflow-y:auto;z-index:70;
    background:#fff !important;padding:8px 18px 14px !important;
    border-top:1px solid rgba(127,177,214,0.30);border-radius:0 0 14px 14px;
    box-shadow:0 26px 60px rgba(16,54,86,0.24)}
}

/* --- language picker, moved into the navbar on phones by site-search.js --- */
.fhc-nav-lang{position:relative;display:flex;align-items:center;gap:7px;height:34px;flex:0 0 auto;
  margin-left:auto;margin-right:10px;padding:0 12px;background:#fff;
  border:1px solid rgba(127,177,214,0.85);border-radius:999px;box-shadow:0 4px 14px rgba(36,91,131,0.08)}
.fhc-nav-lang .tb-globe{width:13px;height:13px;fill:#3B76A8;flex:0 0 auto}
.fhc-nav-lang select{border:0;outline:0;background:transparent;cursor:pointer;font-family:inherit;
  font-size:12px;font-weight:800;color:#2D5F8A;max-width:74px;padding-right:2px;
  -webkit-appearance:none;appearance:none}
@media (max-width:400px){
  .fhc-nav-lang{padding:0 9px;gap:5px}
  .fhc-nav-lang select{max-width:58px}
}

/* keep logo, language and menu button on one line, however narrow the phone */
@media (max-width:900px){
  .nav-inner,.navbar .nav-inner{flex-wrap:nowrap !important}
  .nav-inner .brand-logo,.nav-inner .brand{flex:0 1 auto;min-width:0}
  .nav-inner .brand-logo img,.nav-inner .brand img{max-width:100%;height:auto}
  .nav-inner .fhc-nav-lang{flex:0 0 auto;margin-left:auto;margin-right:8px}
  .nav-inner .nav-toggle,.nav-inner .menu-toggle{flex:0 0 auto}
}
@media (max-width:430px){
  .fhc-nav-lang{padding:0 10px;gap:6px}
  .fhc-nav-lang select{max-width:62px}
}
@media (max-width:360px){
  .nav-inner .fhc-nav-lang{margin-right:6px;padding:0 8px}
  .fhc-nav-lang select{max-width:46px}
}
@media (max-width:320px){
  .nav-inner .brand-logo,.nav-inner .brand-logo img{width:104px !important;max-width:104px !important}
  .nav-inner .fhc-nav-lang{padding:0 7px;margin-right:5px}
  .fhc-nav-lang select{max-width:34px}
}

/* --- phones: the search field takes the whole breadcrumb row -------------
   (desktop keeps the original right-aligned pill next to the language box) */
@media (max-width:900px){
  .fhc-tools{width:100%;flex:1 1 100%;margin-left:0}
  .fhc-tools .nav-search{flex:1 1 auto;width:100%;max-width:none}
  .fhc-sug{right:auto;left:0;width:min(520px,92vw)}
}


/* === bigger brand marks + a language box that reads as a chooser === */
/* header logo */
.brand-logo img,.brand-logo,.navbar .brand-logo img,.nav-inner .brand-logo img{
  width:200px !important;max-width:200px !important;height:auto !important}
@media(max-width:900px){.brand-logo img,.brand-logo,.navbar .brand-logo img,.nav-inner .brand-logo img{
  width:170px !important;max-width:170px !important}}
@media(max-width:600px){.brand-logo img,.brand-logo,.navbar .brand-logo img,.nav-inner .brand-logo img{
  width:150px !important;max-width:150px !important}}
@media(max-width:430px){.brand-logo img,.brand-logo,.navbar .brand-logo img,.nav-inner .brand-logo img{
  width:138px !important;max-width:138px !important}}
@media(max-width:360px){.brand-logo img,.brand-logo,.navbar .brand-logo img,.nav-inner .brand-logo img{
  width:118px !important;max-width:118px !important}}
@media(max-width:340px){.brand-logo img,.brand-logo,.navbar .brand-logo img,.nav-inner .brand-logo img{
  width:100px !important;max-width:100px !important}}
/* the logo box must not shrink under the image, or the image slides under the
   language chip on narrow phones */
.brand-logo{flex:0 0 auto !important}
.brand-logo img{max-width:100% !important;height:auto !important}

/* footer logo */
footer .ft-logo24,footer .ft-brand img{width:260px !important;max-width:100% !important;height:auto !important}
@media(max-width:900px){footer .ft-logo24,footer .ft-brand img{width:230px !important}}
@media(max-width:600px){footer .ft-logo24,footer .ft-brand img{width:210px !important}}
@media(max-width:360px){footer .ft-logo24,footer .ft-brand img{width:190px !important}}

/* language chooser: full label, visible caret, never clipped */
.nav-lang,.fhc-nav-lang{flex:0 0 auto}
.nav-lang select,.fhc-nav-lang select,.fhc-tools .nav-lang select{
  width:auto !important;max-width:none !important;padding-right:20px !important;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232D5F8A'%3E%3Cpath d='M8 11.2 3.2 6.4l1.1-1.1L8 9l3.7-3.7 1.1 1.1z'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;background-position:right 2px center !important;
  background-size:13px 13px !important;text-overflow:ellipsis}
@media(max-width:900px){
  /* the chooser is a small utility control on phones, not a headline element */
  .nav-inner .fhc-nav-lang{height:30px;padding:0 9px;gap:5px;margin-right:8px;border-radius:999px}
  .fhc-nav-lang .tb-globe{width:11px;height:11px}
  .fhc-nav-lang select{font-size:11px !important;font-weight:700 !important;padding-right:15px !important;
    background-size:10px 10px !important;background-position:right 1px center !important}
}
@media(max-width:430px){
  .nav-inner .fhc-nav-lang{height:28px;padding:0 8px;gap:4px;margin-right:6px}
  .fhc-nav-lang .tb-globe{width:10px;height:10px}
  .fhc-nav-lang select{font-size:10.6px !important;padding-right:13px !important;background-size:9px 9px !important}
}
@media(max-width:360px){
  .nav-inner .fhc-nav-lang{height:26px;padding:0 7px;margin-right:5px}
  .fhc-nav-lang select{font-size:10.4px !important;padding-right:12px !important}
}
@media(max-width:340px){
  .nav-inner .fhc-nav-lang{padding:0 6px;gap:0;margin-right:4px}
  .fhc-nav-lang .tb-globe{display:none}
  .fhc-nav-lang select{font-size:10.2px !important;padding-right:11px !important}
}
/* === end brand + language sizing === */

/* === phones: comfortable tap targets in the footer === */
@media(max-width:900px){
  .ft-links a,.ft-policy a,.ft-contact a,.ft-nums a{min-height:34px;display:inline-flex;align-items:center}
  .ft-links a{width:100%}
  .ft-policy{gap:6px 14px;flex-wrap:wrap}
  .ft-nums a{padding:2px 0}
}
/* === end footer tap targets === */
