/* Language and theme in the footer (site_footer_prefs() in inc/site_settings.php; behaviour in js/sitehead.js). */
.foot-col{display:grid; gap:18px; justify-items:start; min-width:0;}
.fp-prefs{display:flex; flex-wrap:wrap; align-items:center; gap:10px 12px;}
.fp-lang{position:relative;}
.fp-btn{display:inline-flex; align-items:center; gap:8px; height:36px; padding:0 12px 0 13px; border-radius:999px; cursor:pointer; white-space:nowrap;
  border:1.5px solid color-mix(in srgb, var(--navy) 24%, transparent); background:transparent; color:var(--navy); font:inherit; font-size:13px; font-weight:600; line-height:1;
  transition:border-color .15s, background .15s;}
.fp-btn:hover,.fp-btn[aria-expanded="true"]{border-color:color-mix(in srgb, var(--navy) 55%, transparent); background:color-mix(in srgb, var(--navy) 6%, transparent);}
.fp-btn svg{width:16px; height:16px; flex:none;}
.fp-btn svg:last-child{width:14px; height:14px; color:var(--navy-soft); transition:transform .15s;}
.fp-btn[aria-expanded="true"] svg:last-child{transform:rotate(180deg);}
.fp-btn:focus-visible,.fp-theme button:focus-visible,.fp-opt:focus-visible{outline:2px solid var(--blue); outline-offset:2px;}
/* the list opens upward: the footer is the last thing on the page */
.fp-menu{position:absolute; inset-inline-start:0; bottom:calc(100% + 8px); z-index:60; width:min(270px, calc(100vw - 32px)); padding:6px; display:grid; grid-template-columns:1fr 1fr; gap:4px;
  background:var(--white); border:1px solid var(--border-soft); border-radius:16px; box-shadow:0 16px 40px rgb(0 0 0 / .3); animation:fp-in .15s ease-out;}
.fp-menu[hidden]{display:none;}
@keyframes fp-in{from{opacity:0; transform:translateY(6px);}to{opacity:1; transform:none;}}
.fp-opt{display:flex; align-items:center; justify-content:space-between; gap:8px; height:42px; padding:0 12px; border:1px solid var(--border-soft); border-radius:10px;
  color:var(--navy); text-decoration:none; font-size:13.5px; font-weight:600; white-space:nowrap;}
.fp-opt span{overflow:hidden; text-overflow:ellipsis;}
.fp-opt svg{width:15px; height:15px; flex:none; color:var(--teal);}
.fp-opt:hover{background:var(--paper);}
.fp-opt[aria-current="true"]{border-color:var(--teal); background:color-mix(in srgb, var(--teal) 14%, transparent);}
.fp-theme{display:inline-flex; gap:2px; padding:3px; border-radius:999px; border:1.5px solid color-mix(in srgb, var(--navy) 24%, transparent);}
.fp-theme button{display:inline-flex; align-items:center; gap:6px; height:28px; padding:0 12px; border:0; border-radius:999px; background:transparent; color:var(--navy-soft); cursor:pointer;
  font:inherit; font-size:12.5px; font-weight:700; line-height:1; transition:background .15s, color .15s;}
.fp-theme button svg{width:15px; height:15px; flex:none;}
.fp-theme button:hover{color:var(--navy);}
.fp-theme button[aria-pressed="true"]{background:var(--navy); color:var(--white);}
@media (max-width:420px){ .fp-theme button{padding:0 9px;} }
@media (prefers-reduced-motion:reduce){ .fp-menu{animation:none;} }
