/* TTP Styled Image v1.2.0 */
.ttp-styled-image,
.ttp-styled-image *{ box-sizing:border-box; }

.ttp-styled-image{
  max-width:760px;
  margin:20px auto;
  color:#172033;
  font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.ttp-styled-image.alignwide{ max-width:980px; }
.ttp-styled-image.alignfull{ max-width:none; }

.ttp-styled-image.is-frame-card{
  padding:18px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
  box-shadow:0 16px 36px rgba(15,23,42,.08), 0 2px 8px rgba(15,23,42,.05);
}

.ttp-styled-image.is-frame-minimal{
  padding:10px;
  border:1px solid #dbe3ef;
  border-radius:14px;
  background:#fff;
}

.ttp-styled-image.is-frame-bare{
  padding:0;
}

.ttp-styled-image-eyebrow{
  display:inline-flex;
  width:fit-content;
  margin:0 0 12px;
  padding:5px 12px;
  border:1px solid #bfdbfe;
  border-radius:999px;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:12px;
  font-weight:700;
  line-height:1;
}

.ttp-styled-image-media{
  position:relative;
  overflow:hidden;
  border:1px solid #dbe3ef;
  border-radius:12px;
  background:#eff6ff;
}

.ttp-styled-image.is-frame-bare .ttp-styled-image-media{
  border:0;
}

.ttp-styled-image-link{
  display:block;
  color:inherit;
  text-decoration:none;
}

.ttp-styled-image-img{
  display:block;
  width:100%;
  height:auto;
  transition:filter .24s ease, transform .24s ease;
}

.ttp-styled-image.is-ratio-wide .ttp-styled-image-media{ aspect-ratio:16 / 9; }
.ttp-styled-image.is-ratio-photo .ttp-styled-image-media{ aspect-ratio:4 / 3; }
.ttp-styled-image.is-ratio-square .ttp-styled-image-media{ aspect-ratio:1 / 1; }
.ttp-styled-image.is-ratio-portrait .ttp-styled-image-media{ aspect-ratio:4 / 5; }

.ttp-styled-image:not(.is-ratio-auto) .ttp-styled-image-img,
.ttp-styled-image:not(.is-ratio-auto) .ttp-styled-image-link{
  width:100%;
  height:100%;
}

.ttp-styled-image:not(.is-ratio-auto) .ttp-styled-image-img{
  object-position:center;
}

.ttp-styled-image-caption{
  margin:12px 2px 0;
  color:#475569;
  font-size:.95rem;
  line-height:1.45;
}

.ttp-styled-image-placeholder{
  display:grid;
  min-height:240px;
  place-items:center;
  color:#64748b;
  font-weight:650;
}

.ttp-styled-image-media.is-sensitive-content{
  isolation:isolate;
}
.ttp-styled-image-media.is-sensitive-content:not(.is-sensitive-revealed) .ttp-styled-image-img{
  filter:blur(18px) saturate(.72) brightness(.72);
  transform:scale(1.04);
}
.ttp-styled-image-media.is-sensitive-content:not(.is-sensitive-revealed) .ttp-styled-image-link{
  pointer-events:none;
}
.ttp-sensitive-reveal{
  position:absolute;
  inset:0;
  z-index:3;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:8px;
  width:100%;
  padding:24px;
  border:0;
  background:
    radial-gradient(circle at 30% 18%, rgba(96,165,250,.28), transparent 24%),
    linear-gradient(135deg, rgba(15,23,42,.78), rgba(30,41,59,.66));
  color:#fff;
  cursor:pointer;
  font:inherit;
  text-align:center;
  transition:opacity .2s ease, visibility .2s ease;
}
.ttp-sensitive-title{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 11px;
  border:1px solid rgba(255,255,255,.32);
  border-radius:999px;
  background:rgba(15,23,42,.52);
  font-size:12px;
  font-weight:800;
  line-height:1;
}
.ttp-sensitive-message{
  max-width:360px;
  color:#f8fafc;
  font-size:15px;
  font-weight:750;
  line-height:1.35;
  text-shadow:0 1px 10px rgba(0,0,0,.3);
}
.ttp-sensitive-action{
  display:inline-flex;
  min-height:36px;
  align-items:center;
  justify-content:center;
  margin-top:4px;
  padding:8px 13px;
  border-radius:999px;
  background:#fff;
  color:#172033;
  font-size:13px;
  font-weight:850;
  box-shadow:0 10px 24px rgba(0,0,0,.24);
}
.ttp-sensitive-reveal:hover .ttp-sensitive-action,
.ttp-sensitive-reveal:focus-visible .ttp-sensitive-action{
  background:#eff6ff;
  color:#1d4ed8;
}
.ttp-styled-image-media.is-sensitive-revealed .ttp-sensitive-reveal{
  visibility:hidden;
  opacity:0;
  pointer-events:none;
}

@media (max-width: 720px){
  .ttp-styled-image.is-frame-card{ padding:14px; border-radius:12px; }
  .ttp-styled-image-media{ border-radius:10px; }
}
