/* ============================================================
   SIPE Protection — selector d'idioma
   Un sol component per a totes les pàgines: la bandera i el codi de
   l'idioma; al menú, cada llengua amb la seva bandera i el seu nom.
   Variant per a fons fosc: .lsw--dark (o la pàgina la força).
   ============================================================ */
.lsw{position:relative;flex:none}

.lsw__btn{display:inline-flex;align-items:center;gap:.4rem;height:40px;padding:0 .55rem 0 .6rem;
  border-radius:10px;border:1.5px solid #CBD3DC;background:#fff;color:#082B55;cursor:pointer;
  font:inherit;font-size:.78rem;font-weight:800;letter-spacing:.06em;line-height:1;
  transition:background .2s,border-color .2s,color .2s}
.lsw__btn:hover{border-color:#082B55;background:#F2F6FB}
.lsw__btn:focus-visible{outline:3px solid #D71920;outline-offset:2px}
.lsw__ico{width:18px;height:18px;flex:none;color:#D71920}
/* bandera: rectangle amb cantonades i un filet perquè el blanc no es perdi */
.lsw__flag{position:relative;display:block;flex:none;width:22px;height:15px;border-radius:3px;overflow:hidden}
.lsw__flag svg{display:block;width:100%;height:100%}
.lsw__flag::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(0,0,0,.14)}
.lsw__code{min-width:1.45em;text-align:center;font-variant-numeric:tabular-nums}
.lsw__chev{width:12px;height:12px;flex:none;opacity:.65;transition:transform .2s}
.lsw__btn[aria-expanded="true"] .lsw__chev{transform:rotate(180deg)}

/* sobre fons fosc (capçalera de l'index damunt la foto) */
.lsw--dark .lsw__btn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.42);color:#fff;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.lsw--dark .lsw__btn:hover{background:rgba(255,255,255,.18);border-color:#fff}
.lsw--dark .lsw__ico{color:#FF8A8F}
.lsw--dark .lsw__flag::after{box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}

.lsw__menu{position:absolute;right:0;top:calc(100% + 8px);z-index:90;min-width:14rem;padding:.35rem;
  background:#fff;border:1px solid #E3E7EC;border-radius:14px;
  box-shadow:0 22px 44px -14px rgba(8,43,85,.30),0 4px 10px -4px rgba(8,43,85,.10);
  transform-origin:top right;animation:lsw-in .18s cubic-bezier(.16,1,.3,1)}
.lsw__menu[hidden]{display:none}
@keyframes lsw-in{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}

.lsw__h{display:flex;align-items:center;gap:.4rem;margin:0;padding:.5rem .6rem .4rem;
  font-size:.64rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#6B7686}
.lsw__h svg{width:13px;height:13px;color:#D71920}

.lsw__opt{display:flex;align-items:center;gap:.7rem;width:100%;padding:.55rem .6rem;border:0;border-radius:9px;
  background:none;color:#14181D;font:inherit;font-size:.92rem;font-weight:600;text-align:left;cursor:pointer;
  transition:background .15s,color .15s}
.lsw__opt:hover,.lsw__opt:focus-visible{background:#F5F7FA;outline:0}
.lsw__opt:focus-visible{box-shadow:inset 0 0 0 2px #D71920}
.lsw__opt[aria-checked="true"]{background:#F2F6FB;color:#082B55}
.lsw__opt .lsw__flag{width:26px;height:18px}
.lsw__nom{flex:1}
.lsw__k{font-size:.66rem;font-weight:800;letter-spacing:.06em;color:#6B7686}
.lsw__opt[aria-checked="true"] .lsw__k{color:#082B55}
.lsw__tick{width:16px;height:16px;flex:none;color:#D71920;visibility:hidden}
.lsw__opt[aria-checked="true"] .lsw__tick{visibility:visible}

@media(max-width:420px){
  .lsw__btn{padding:0 .45rem;gap:.3rem}
  .lsw__chev{display:none}
}
@media(prefers-reduced-motion:reduce){
  .lsw__menu{animation:none}
  .lsw__chev,.lsw__btn{transition:none}
}
@media print{.lsw{display:none !important}}
