/* EU banner – strict: keep same blue, flag left, two lines, centered; subtitle must stay on one line */
.bs-eu-banner{
  background:#cfe8ff;       /* same blue as actuel */
  border-radius:10px;
  margin:12px auto 16px;
  padding:12px 16px;
}
.bs-eu-row{
  max-width:1100px;
  margin:0 auto;
  display:flex;
  align-items:center;        /* vertical center of the group */
  justify-content:center;    /* horizontal center of the group */
  gap:14px;
}
.bs-eu-flag{
  display:block;
  width:clamp(28px,5vw,44px);
  height:auto;
  align-self:center;
}
.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.15rem,3.6vw,1.9rem);
  white-space:nowrap;        /* force single line */
}
.bs-eu-subtitle{
  margin:4px 0 0;
  color:#1b1f23;
  opacity:.92;
  font-size:clamp(0.95rem,2.8vw,1.12rem); /* slightly smaller so it fits */
  white-space:nowrap;        /* must stay on a single line */
}
@media (max-width:576px){
  .bs-eu-banner{ padding:10px 12px; border-radius:8px; }
  .bs-eu-row{ gap:10px; }
  .bs-eu-flag{ width:32px; }
  .bs-eu-texts{ max-width:86vw; }  /* ensures both lines can stay on one each */
}
