body.stf-protected {
  -webkit-user-select: none;
  user-select: none;
}

body.stf-protected input,
body.stf-protected textarea,
body.stf-protected select,
body.stf-protected option,
body.stf-protected [contenteditable="true"] {
  -webkit-user-select: text;
  user-select: text;
}

body.stf-protected img {
  -webkit-user-drag: none;
  user-drag: none;
}

.stf-security-watermark {
  position: fixed;
  inset: 0;
  z-index: 70;
  pointer-events: none;
  opacity: 0.08;
  mix-blend-mode: multiply;
  display: none;
  background-image: repeating-linear-gradient(
    -28deg,
    transparent 0,
    transparent 150px,
    rgba(6, 28, 42, 0.04) 150px,
    rgba(6, 28, 42, 0.04) 220px
  );
}

.stf-security-watermark::before {
  content: attr(data-watermark);
  position: absolute;
  top: 12%;
  left: -8%;
  width: 120%;
  color: #001b2e;
  font-size: clamp(18px, 2.2vw, 34px);
  font-weight: 900;
  line-height: 3.4;
  letter-spacing: 0.08em;
  white-space: pre-wrap;
  transform: rotate(-28deg);
}

body.stf-b2b-session .stf-security-watermark {
  display: block;
}

.article-photo,
.category-photo,
.family-card-media {
  position: relative;
}

.article-photo::after,
.family-card-media::after {
  content: "STF";
  position: absolute;
  right: 4px;
  bottom: 4px;
  padding: 2px 5px;
  border-radius: 4px;
  background: rgba(0, 184, 196, 0.76);
  color: #fff;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.04em;
  pointer-events: none;
}

.stf-captcha-overlay {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(3, 14, 24, 0.72);
}

.stf-captcha-card {
  width: min(440px, 100%);
  border: 1px solid rgba(0, 184, 196, 0.28);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 26px 80px rgba(0, 0, 0, 0.28);
  padding: 24px;
  color: #081724;
}

.stf-captcha-card strong {
  display: block;
  margin-bottom: 8px;
  font-size: 22px;
}

.stf-captcha-card p {
  margin: 0 0 16px;
  color: #526274;
  line-height: 1.45;
}

.stf-captcha-card input {
  width: 100%;
  height: 46px;
  border: 1px solid #cbd7e3;
  border-radius: 8px;
  padding: 0 12px;
  font-weight: 800;
}

.stf-captcha-card button {
  margin-top: 12px;
  width: 100%;
  height: 44px;
  border: 0;
  border-radius: 8px;
  background: #00b8c4;
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}

.stf-security-toast {
  position: fixed;
  right: 22px;
  bottom: 98px;
  z-index: 130;
  max-width: min(380px, calc(100vw - 32px));
  padding: 13px 15px;
  border-radius: 9px;
  background: #071a28;
  color: #fff;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.25);
  font-weight: 800;
  line-height: 1.35;
}

.stf-security-toast[hidden] {
  display: none;
}
