.awtt-teaser{ --awtt-aspect:4/3; --awtt-icon-size:64px; --awtt-icon-color: inherit; --awtt-icon-bg: rgba(255,255,255,.9);
  display:block; margin:1.5rem auto; max-width:100%; text-align:center }
.awtt-teaser .awtt-media{ position:relative; display:block; width:100%; aspect-ratio:var(--awtt-aspect); overflow:hidden; border-radius:1rem; box-shadow:0 8px 24px rgba(0,0,0,.08); }
.awtt-teaser .awtt-img{ width:100%; height:100%; object-fit:cover; display:block; transition: transform .35s ease }
.awtt-teaser .awtt-overlay{ position:absolute; inset:0; background:linear-gradient( to bottom, rgba(0,0,0,.0), rgba(0,0,0,.25) ); opacity:.15; transition:opacity .25s ease }
.awtt-teaser .awtt-icon{ position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); font-size:var(--awtt-icon-size);
  line-height:1; padding:.25em .5em; border-radius:.5em; background:var(--awtt-icon-bg); color:var(--awtt-icon-color);
  box-shadow:0 6px 18px rgba(0,0,0,.18); }
.awtt-teaser:hover .awtt-img{ transform:scale(1.03) }
.awtt-teaser:hover .awtt-overlay{ opacity:.25 }
.awtt-teaser .awtt-caption{ font-size:clamp(14px,1.8vw,18px); margin-top:.5rem; opacity:.9 }
.awtt-teaser.alignwide{ max-width:min(1200px,95vw) }
.awtt-teaser.alignfull{ max-width:100vw }
body[class*="kadence-theme"].has-dark-background .awtt-teaser .awtt-icon{ background:rgba(0,0,0,.75); color:#fff }