.sm-tp-block {
  width: calc(100% - 24px);
  max-width: var(--sm-tp-max, 1200px);
  margin: var(--sm-tp-mt, 20px) auto var(--sm-tp-mb, 20px);
  color: var(--sm-tp-color, #333);
  font-family: var(--sm-tp-font, inherit) !important;
  font-size: var(--sm-tp-size, 16px);
  font-weight: var(--sm-tp-weight, 400);
  line-height: var(--sm-tp-line, 1.6);
  text-align: var(--sm-tp-align, left);
  background: var(--sm-tp-bg, #fff);
  border: var(--sm-tp-bw, 1px) solid var(--sm-tp-border, #e4e4e4);
  border-radius: var(--sm-tp-radius, 8px);
  box-sizing: border-box;
}

.sm-tp-block__inner,
.sm-tp-block__title,
.sm-tp-block__content,
.sm-tp-block__content p,
.sm-tp-block__content h1,
.sm-tp-block__content h2,
.sm-tp-block__content h3,
.sm-tp-block__content h4,
.sm-tp-block__content h5,
.sm-tp-block__content h6,
.sm-tp-block__content ul,
.sm-tp-block__content ol,
.sm-tp-block__content li,
.sm-tp-block__content blockquote,
.sm-tp-block__content table,
.sm-tp-block__content th,
.sm-tp-block__content td,
.sm-tp-block__content a,
.sm-tp-block__content span,
.sm-tp-block__content strong,
.sm-tp-block__content em,
.sm-tp-block__button {
  font-family: var(--sm-tp-font, inherit) !important;
}

.sm-tp-block__inner { padding: var(--sm-tp-padding, 24px); }
.sm-tp-block__title { margin: 0 0 .65em; color: inherit; font: inherit; font-size: 1.65em; font-weight: 700; line-height: 1.2; }
.sm-tp-block__content > :first-child { margin-top: 0; }
.sm-tp-block__content > :last-child { margin-bottom: 0; }
.sm-tp-block a:not(.sm-tp-block__button) { color: var(--sm-tp-link, #24b9d7); text-decoration: underline; }
.sm-tp-block img { max-width: 100%; height: auto; }
.sm-tp-block table { display: block; max-width: 100%; overflow-x: auto; }
.sm-tp-shadow { box-shadow: 0 8px 28px rgba(0, 0, 0, .14); }

.sm-tp-block__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
  padding: 10px 18px;
  color: var(--sm-tp-bg, #fff) !important;
  font-weight: 700;
  text-decoration: none !important;
  background: var(--sm-tp-link, #24b9d7);
  border: 1px solid var(--sm-tp-link, #24b9d7);
  border-radius: min(var(--sm-tp-radius, 8px), 12px);
  transition: filter .18s ease, transform .18s ease;
}
.sm-tp-block__button:hover { filter: brightness(.9); transform: translateY(-1px); }

.sm-tp-animation-fade,
.sm-tp-animation-up,
.sm-tp-animation-down,
.sm-tp-animation-left,
.sm-tp-animation-right,
.sm-tp-animation-zoom,
.sm-tp-animation-zoom_out,
.sm-tp-animation-flip_x,
.sm-tp-animation-flip_y,
.sm-tp-animation-rotate,
.sm-tp-animation-bounce,
.sm-tp-animation-blur,
.sm-tp-animation-reveal,
.sm-tp-animation-swing { opacity: 0; will-change: opacity, transform; }
.sm-tp-animation-up { transform: translateY(22px); }
.sm-tp-animation-down { transform: translateY(-22px); }
.sm-tp-animation-left { transform: translateX(-34px); }
.sm-tp-animation-right { transform: translateX(34px); }
.sm-tp-animation-zoom { transform: scale(.90); }
.sm-tp-animation-zoom_out { transform: scale(1.10); }
.sm-tp-animation-flip_x { transform: perspective(900px) rotateX(-70deg); transform-origin: center top; }
.sm-tp-animation-flip_y { transform: perspective(900px) rotateY(-70deg); transform-origin: left center; }
.sm-tp-animation-rotate { transform: rotate(-4deg) scale(.96); }
.sm-tp-animation-blur { filter: blur(12px); transform: scale(.98); }
.sm-tp-animation-reveal { clip-path: inset(0 0 100% 0); }
.sm-tp-animation-swing { transform: rotate(-3deg); transform-origin: center top; }
.sm-tp-is-visible {
  opacity: 1;
  transform: none;
  filter: none;
  clip-path: inset(0 0 0 0);
  transition: opacity .65s ease, transform .65s cubic-bezier(.2,.75,.25,1), filter .65s ease, clip-path .75s ease;
}
.sm-tp-animation-bounce.sm-tp-is-visible { animation: sm-tp-bounce .8s cubic-bezier(.2,.75,.25,1) both; }
.sm-tp-animation-swing.sm-tp-is-visible { animation: sm-tp-swing .85s ease both; }

@keyframes sm-tp-bounce {
  0% { opacity: 0; transform: translateY(30px) scale(.96); }
  55% { opacity: 1; transform: translateY(-8px) scale(1.01); }
  75% { transform: translateY(4px); }
  100% { opacity: 1; transform: none; }
}

@keyframes sm-tp-swing {
  0% { opacity: 0; transform: rotate(-5deg); }
  45% { opacity: 1; transform: rotate(2.5deg); }
  70% { transform: rotate(-1deg); }
  100% { opacity: 1; transform: none; }
}

@media (max-width: 767px) {
  .sm-tp-block { width: calc(100% - 16px); font-size: min(var(--sm-tp-size, 16px), 18px); }
  .sm-tp-block__inner { padding: max(14px, calc(var(--sm-tp-padding, 24px) * .7)); }
}

@media (prefers-reduced-motion: reduce) {
  .sm-tp-block[class*="sm-tp-animation-"] { opacity: 1; transform: none; filter: none; clip-path: none; animation: none; }
  .sm-tp-is-visible, .sm-tp-block__button { transition: none; animation: none; }
}
