/* showcase.css — গ্রাহকের মতামত ও গ্যালারি (sn-showcase.js দিয়ে ডেটা আসে) */
.sn-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;}
.sn-gallery-item{position:relative;border-radius:var(--radius,14px);overflow:hidden;box-shadow:var(--shadow-sm);background:#fff;display:block;cursor:zoom-in;}
.sn-gallery-item img{width:100%;height:230px;object-fit:cover;display:block;transition:transform .35s ease;}
.sn-gallery-item:hover img{transform:scale(1.05);}
.sn-gallery-cap{position:absolute;left:0;right:0;bottom:0;padding:10px 14px;background:linear-gradient(to top,rgba(0,0,0,.75),transparent);color:#fff;font-size:13px;font-weight:700;}
.sn-tabs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:32px;}
.sn-tabs[hidden]{display:none;}
.sn-tab{padding:9px 20px;border-radius:30px;font-weight:700;font-size:13.5px;background:var(--green-pale,#e8f5e9);color:var(--green-dark,#1b3a1f);cursor:pointer;border:none;font-family:inherit;}
.sn-tab.on{background:var(--green,#1b5e20);color:#fff;}
.sn-tab:focus-visible,.sn-gallery-item:focus-visible{outline:3px solid var(--gold,#f0a500);outline-offset:3px;}
.sn-lb{position:fixed;inset:0;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9000;}
.sn-lb[hidden]{display:none;}
.sn-lb img{max-width:100%;max-height:88vh;border-radius:10px;}
.sn-lb button{position:absolute;top:14px;right:16px;background:rgba(255,255,255,.15);color:#fff;border:none;border-radius:50%;width:44px;height:44px;font-size:26px;line-height:1;cursor:pointer;}
.testi-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;}
.sn-stars{color:#f0a500;letter-spacing:2px;font-size:16px;margin-bottom:6px;}
.sn-teaser-more{text-align:center;margin-top:28px;}
@media (max-width:600px){.sn-gallery-item img{height:180px;}}
#testiGrid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;}
#testiGrid .testi-card{flex:0 1 330px;max-width:100%;}
#teaserGrid{grid-template-columns:repeat(3,1fr);}
@media (max-width:900px){#teaserGrid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){#teaserGrid{grid-template-columns:1fr;}}
