/* Structural rules are limited to this widget; appearance is controlled in Elementor. */
.spe-applications-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.spe-applications-grid .spe-app-card{min-width:0;display:flex;flex-direction:column;height:100%;overflow:hidden}
.spe-applications-grid .spe-app-image{display:block;overflow:hidden;flex-shrink:0}
.spe-applications-grid .spe-app-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.spe-applications-grid .spe-app-body{display:flex;flex-direction:column;flex:1;min-width:0;padding:20px;gap:12px}
.spe-applications-grid .spe-app-title,.spe-applications-grid .spe-app-summary{margin:0;overflow-wrap:anywhere}
.spe-applications-grid .spe-app-title a{color:inherit;text-decoration:none}
.spe-applications-grid .spe-app-link{margin-top:auto;align-self:flex-start}
.spe-applications-grid .spe-app-title a:hover,.spe-applications-grid .spe-app-link:hover{text-decoration:underline}
.spe-applications-grid a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.spe-applications-grid.spe-app-lift .spe-app-card{transition:transform 200ms ease}
@media(hover:hover){.spe-applications-grid.spe-app-lift .spe-app-card:hover{transform:translateY(-4px)}}
@media(max-width:1024px){.spe-applications-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.spe-applications-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.spe-applications-grid.spe-app-lift .spe-app-card{transition:none}.spe-applications-grid.spe-app-lift .spe-app-card:hover{transform:none}}
