.iwpl-grid{display:grid;gap:28px;width:100%;margin:20px 0}
.iwpl-columns-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.iwpl-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.iwpl-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.iwpl-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.iwpl-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #e7e7e7;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.07);transition:.2s;min-width:0}
.iwpl-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.11)}
.iwpl-image-wrap{width:100%;aspect-ratio:16/9;overflow:hidden;background:#f4f4f4}
.iwpl-image{display:block;width:100%;height:100%;object-fit:cover}
.iwpl-card-body{display:flex;flex-direction:column;flex:1;padding:24px;box-sizing:border-box}
.iwpl-status{display:inline-flex;align-self:flex-start;padding:5px 10px;border-radius:30px;font-size:.78rem;font-weight:700;margin-bottom:12px}
.iwpl-status-available{background:#e8f7dc;color:#397510}
.iwpl-status-upcoming{background:#eaf2ff;color:#1c5ca8}
.iwpl-status-past{background:#eee;color:#666}
.iwpl-title{margin:0 0 16px;font-size:1.25rem;line-height:1.3;font-weight:700}
.iwpl-meta{margin:0 0 8px;font-size:.94rem;line-height:1.4;color:#555}
.iwpl-description{margin-top:12px;color:#444;font-size:.96rem;line-height:1.65}
.iwpl-description p:last-child{margin-bottom:0}
.iwpl-action{margin-top:auto;padding-top:22px}
.iwpl-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;padding:10px 18px;box-sizing:border-box;border-radius:7px;background:#61bd1d;color:#fff!important;text-decoration:none!important;font-weight:700;transition:.2s}
.iwpl-button:hover,.iwpl-button:focus{background:#4e9f17;color:#fff!important}
.iwpl-empty,.iwpl-notice{padding:24px;border:1px solid #e5e5e5;border-radius:10px;background:#fafafa;text-align:center}
@media(max-width:1024px){.iwpl-columns-4,.iwpl-columns-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.iwpl-grid,.iwpl-columns-1,.iwpl-columns-2,.iwpl-columns-3,.iwpl-columns-4{grid-template-columns:1fr;gap:20px}.iwpl-card-body{padding:20px}}
