.fsa-alert{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:12px 16px;
  border-radius:8px;
  color:#111;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
  position:relative;
  transition:opacity .18s ease, transform .18s ease;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
}

.fsa-body{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.fsa-title{
  font-weight:600;
  margin-bottom:4px;
  font-size:1rem;
}

.fsa-text{
  font-size:.95rem;
  line-height:1.4;
  color:rgba(0,0,0,0.82);
  word-wrap:break-word;
}

.fsa-close{
  position:absolute;
  top:8px;
  right:8px;
  background:transparent;
  border:0;
  font-size:20px;
  line-height:1;
  cursor:pointer;
  color:rgba(0,0,0,0.6);
  padding:6px;
  border-radius:4px;
}
.fsa-close:hover{ background:rgba(0,0,0,0.03); }
.fsa-close:focus{ outline:2px solid rgba(0,0,0,0.12); }

/* Hidden state on close */
.fsa-alert.fsa-hidden{
  opacity:0;
  transform:scale(.98);
  height:0 !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden;
  pointer-events:none;
  transition:opacity .25s ease, height .25s ease, padding .25s ease, margin .25s ease;
}

/* Type helpers kept for semantics; colors are set inline by the shortcode or via overrides. */

/* Small screens */
@media (max-width:520px){
  .fsa-alert{ padding:10px; }
  .fsa-title{ font-size:.98rem; }
  .fsa-text{ font-size:.92rem; }
}
