/* ============================================================
   CIVILO FLASHBAR – A11Y + THEME READY
============================================================ */

/* WRAPPER */
.flashbar{
  width:100%;
  display:flex;
  justify-content:center;

  border-bottom:1px solid color-mix(
    in srgb,
    var(--text) 10%,
    transparent
  );
}

html.flashbar-hidden .flashbar{
  display:none !important;
}

/* INNER */
.flashbar__inner{
  width:100%;
  max-width:1200px;

  padding:.85rem 2.25rem;

  display:grid;
  grid-template-columns:minmax(0,1fr) auto;

  align-items:start;
  gap:.75rem;
}

/* TEXT */
.flashbar__text{
  color:var(--brand-contrast);

  font-size:1rem;
  line-height:1.45;
  font-weight:500;

  min-width:0;
  overflow-wrap:anywhere;
}

/* LINK */
.flashbar__link{
  color:var(--brand-contrast);

  font-weight:600;
  text-decoration:underline;
}

.flashbar__link:hover{
  opacity:.85;
}

/* CLOSE */
.flashbar__close{
  width:28px;
  height:28px;

  flex:none;
  margin:0;
  padding:0;

  border:none;
  border-radius:50%;

  background:color-mix(
    in srgb,
    var(--brand-contrast) 22%,
    transparent
  );

  cursor:pointer;

  display:flex;
  align-items:center;
  justify-content:center;

  transition:background var(--tr-fast);
}

.flashbar__close:hover{
  background:color-mix(
    in srgb,
    var(--brand-contrast) 34%,
    transparent
  );
}

.flashbar__close:focus-visible{
  outline:var(--focus-ring);
  outline-offset:2px;
}

/* ICON */
.flashbar__close .icon{
  width:14px;
  height:14px;
  position:relative;
}

.flashbar__close .icon::before,
.flashbar__close .icon::after{
  content:"";

  position:absolute;
  top:50%;
  left:50%;

  width:14px;
  height:2px;

  background:var(--brand-contrast);

  border-radius:2px;
}

.flashbar__close .icon::before{
  transform:translate(-50%, -50%) rotate(45deg);
}

.flashbar__close .icon::after{
  transform:translate(-50%, -50%) rotate(-45deg);
}

/* ============================================================
   SEVERITY COLORS
============================================================ */

.flashbar.is-info{
  background:var(--brand);
}

.flashbar.is-warning{
  background:#d97706;
}

.flashbar.is-alert{
  background:#dc2626;
}

/* ============================================================
   MOBILE
============================================================ */

@media (max-width:640px){

  .flashbar__text{
    font-size:15px;
    padding-right:.5rem;
  }

  .flashbar__close{
    width:32px;
    height:32px;
  }
	
	/* INNER */
.flashbar__inner{
  width:100%;
  max-width:1200px;

  padding:.85rem 1.25rem;
}

}