.flc-so-card{
  position:fixed;
  width:min(calc(100vw - 32px), var(--flc-so-width, 380px));
  padding:18px 18px 16px;
  border-radius:var(--flc-so-radius, 18px);
  box-shadow:0 22px 60px rgba(16,22,31,.16);
  z-index:var(--flc-so-z, 99999);
  transform:translateY(16px) scale(.98);
  opacity:0;
  visibility:hidden;
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
  isolation:isolate;
  font-family:inherit;
}
.flc-so-card.is-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1);}
.flc-so-style-glass{
  background:rgba(255,255,255,.76);
  backdrop-filter:blur(var(--flc-so-blur,16px));
  -webkit-backdrop-filter:blur(var(--flc-so-blur,16px));
  border:1px solid rgba(255,255,255,.54);
  color:#111827;
}
.flc-so-style-light{background:#ffffff;color:#111827;border:1px solid rgba(17,24,39,.08);}
.flc-so-style-dark{background:#111827;color:#ffffff;border:1px solid rgba(255,255,255,.08);}
.flc-so-pos-bottom-right{right:16px;bottom:16px;}
.flc-so-pos-bottom-left{left:16px;bottom:16px;}
.flc-so-pos-bottom-center{left:50%;bottom:16px;transform:translateX(-50%) translateY(16px) scale(.98);}
.flc-so-pos-bottom-center.is-visible{transform:translateX(-50%) translateY(0) scale(1);}
.flc-so-pos-right-center{right:16px;top:50%;transform:translateY(-50%) translateX(12px) scale(.98);}
.flc-so-pos-right-center.is-visible{transform:translateY(-50%) translateX(0) scale(1);}
.flc-so-pos-left-center{left:16px;top:50%;transform:translateY(-50%) translateX(-12px) scale(.98);}
.flc-so-pos-left-center.is-visible{transform:translateY(-50%) translateX(0) scale(1);}
.flc-so-close{
  all:unset;
  position:absolute;
  top:10px;
  right:12px;
  width:28px;
  height:28px;
  border-radius:999px;
  display:grid;
  place-items:center;
  cursor:pointer;
  font-size:18px;
  line-height:1;
  color:inherit;
  background:rgba(17,24,39,.05);
}
.flc-so-style-dark .flc-so-close{background:rgba(255,255,255,.08);}
.flc-so-badge{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(245,180,0,.12);
  color:#916500;
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.02em;
  margin-bottom:10px;
}
.flc-so-headline{
  font-size:18px;
  line-height:1.25;
  font-weight:700;
  margin-right:28px;
}
.flc-so-body{
  margin-top:8px;
  font-size:14px;
  line-height:1.55;
  opacity:.92;
}
.flc-so-actions{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.flc-so-action{
  all:unset;
  box-sizing:border-box;
  padding:10px 12px;
  border-radius:12px;
  cursor:pointer;
  background:var(--flc-so-accent, #f5b400);
  color:#111827;
  font-size:13px;
  line-height:1.2;
  font-weight:700;
  transition:transform .15s ease, opacity .15s ease;
}
.flc-so-style-dark .flc-so-action{color:#111827;}
.flc-so-action:hover{transform:translateY(-1px);opacity:.95;}
.flc-so-highlighted-target{
  position:relative;
  outline:2px solid rgba(245,180,0,.55);
  outline-offset:10px;
  transition:outline-color .2s ease;
}
@media (max-width:767px){
  .flc-so-card{width:min(calc(100vw - 20px), var(--flc-so-width-mobile, 320px));padding:16px 14px 14px;}
  .flc-so-headline{font-size:16px;}
  .flc-so-body{font-size:13px;}
  .flc-so-pos-bottom-right,.flc-so-pos-bottom-left,.flc-so-pos-bottom-center{left:10px;right:10px;bottom:10px;width:auto;transform:translateY(16px) scale(.98);}
  .flc-so-pos-bottom-right.is-visible,.flc-so-pos-bottom-left.is-visible,.flc-so-pos-bottom-center.is-visible{transform:translateY(0) scale(1);}
  .flc-so-pos-right-center,.flc-so-pos-left-center{left:10px;right:10px;top:auto;bottom:10px;width:auto;transform:translateY(16px) scale(.98);}
  .flc-so-pos-right-center.is-visible,.flc-so-pos-left-center.is-visible{transform:translateY(0) scale(1);}
}
