/* v1.0.3: Use official EU flag; polished sizes */
.bs-eu-banner{
  background:#cfe8ff; /* keep same blue */
  border-radius:10px;
  margin:12px auto 16px;
  padding:12px 16px;
}
.bs-eu-row{
  max-width:1100px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.bs-eu-flag{
  display:block;
  width:clamp(26px,4.2vw,40px);
  height:auto;
}
.bs-eu-texts{
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:left;
  line-height:1.2;
  max-width:900px;
}
.bs-eu-title{
  margin:0;
  font-weight:800;
  color:#1b1f23;
  font-size:clamp(1.02rem,2.9vw,1.65rem);
  white-space:nowrap;
}
.bs-eu-subtitle{
  margin:4px 0 0;
  color:#1b1f23;
  opacity:.92;
  font-size:clamp(0.9rem,2.2vw,1.03rem);
  white-space:nowrap;
}
@media (max-width:576px){
  .bs-eu-banner{ padding:10px 12px; border-radius:8px; }
  .bs-eu-row{ gap:10px; }
  .bs-eu-flag{ width:32px; } /* compact, prevents overflow */
  .bs-eu-texts{ max-width:86vw; }
}
