/* ============================================
   LANGUAGE SWITCHER – coparentes
   ============================================ */

.lang-switcher {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.lang-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px 6px 8px;
  background: rgba(255,255,255,.72);
  border: 1.5px solid rgba(226,232,240,.90);
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--sub);
  cursor: pointer;
  transition: var(--transition);
  white-space: nowrap;
  box-shadow: 0 10px 24px rgba(10,25,56,.05);
}
.lang-btn:hover {
  border-color: var(--green);
  color: var(--green);
  background: var(--green-light);
}
.lang-flag,
.lang-option .lf {
  width: 28px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 28px;
  border-radius: 7px;
  color: #fff;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.22), 0 4px 10px rgba(10,25,56,.08);
}
.flag-pl { background: linear-gradient(180deg, #fff 0 50%, #dc143c 50% 100%); color: #263244; }
.flag-en { background: linear-gradient(135deg, #173f8a 0%, #173f8a 45%, #c8102e 45%, #c8102e 55%, #173f8a 55%); }
.flag-de { background: linear-gradient(180deg, #111 0 33%, #dd0000 33% 66%, #ffce00 66% 100%); }
.flag-es { background: linear-gradient(180deg, #aa151b 0 25%, #f1bf00 25% 75%, #aa151b 75% 100%); color: #1a1a1a; }
.flag-fr { background: linear-gradient(90deg, #0055a4 0 33%, #fff 33% 66%, #ef4135 66% 100%); color: #172036; }
.lang-btn .lang-arrow {
  font-size: 0.6rem;
  margin-left: 2px;
  transition: transform 0.25s ease;
}
.lang-switcher.open .lang-arrow,
.lang-btn[aria-expanded="true"] .lang-arrow { transform: rotate(180deg); }

.lang-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background: #fff;
  border: 1.5px solid var(--border);
  border-radius: 18px;
  box-shadow: 0 18px 46px rgba(10,25,56,.14);
  min-width: 204px;
  overflow: hidden;
  z-index: 2000;
  animation: dropIn 0.2s ease;
}
.lang-switcher.open .lang-dropdown { display: block; }

@keyframes dropIn {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.lang-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--text);
  cursor: pointer;
  transition: background 0.15s;
  text-decoration: none;
}
.lang-option:hover { background: var(--bg-soft); }
.lang-option.active {
  background: var(--green-light);
  color: var(--green-dark);
  font-weight: 700;
}
.lang-option .ln { flex: 1; }
.lang-option .lc {
  font-size: 0.72rem;
  color: var(--sub);
}
.lang-option.active .lc { color: var(--green); }

/* Mobile adjustment */
@media (max-width: 768px) {
  .lang-dropdown {
    right: 0;
    left: auto;
  }
  .lang-btn span.lang-label { display: none; }
}
