/* Select School Travel card layout — v1.3 */
.sstl-section{--sstl-accent:#00a957;margin:32px 0 56px;color:#152f28;font-family:inherit}
.sstl-section-title{margin:0 0 25px;font-size:clamp(26px,2.6vw,32px);line-height:1.2;font-weight:750;color:#142f28}
.sstl-grid{display:grid;grid-template-columns:repeat(var(--sstl-columns),minmax(0,1fr));gap:20px;align-items:stretch}
.sstl-card{background:#fff;border:1px solid #e3eae7;border-radius:21px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 14px 33px rgba(11,45,30,.06);min-width:0}
.sstl-card-media{height:180px;position:relative;overflow:hidden;background:#e8f1ed}
.sstl-card-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.sstl-card:hover .sstl-card-image{transform:scale(1.035)}
.sstl-image-placeholder{width:100%;height:100%;background:#e8f1ed}
.sstl-destination{position:absolute;top:16px;left:16px;max-width:calc(100% - 32px);padding:9px 17px;border-radius:100px;background:#0ca958;color:#fff;font-size:12px;font-weight:800;line-height:1.3;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sstl-card-body{padding:20px 20px 30px;display:flex;flex:1;flex-direction:column;align-items:flex-start}
.sstl-category{color:#00a75b;font-size:12px;line-height:1.5;text-transform:uppercase;font-weight:800;margin-bottom:9px}
.sstl-card h3{font-size:20px;line-height:1.24;font-weight:760;margin:0 0 16px;color:#142f28;overflow-wrap:anywhere}
.sstl-card-location{font-size:14px;color:#617692;margin:0 0 17px;display:flex;align-items:center;gap:9px}
.sstl-location-icon{color:#05ab5c;font-size:22px;line-height:1}
.sstl-card-excerpt{font-size:14px;line-height:1.62;color:#333940;margin:0 0 9px}
.sstl-open{background:transparent!important;border:0!important;padding:0!important;color:var(--sstl-accent)!important;font-size:12px!important;font-weight:800!important;text-align:left;cursor:pointer;margin-top:0;box-shadow:none!important;line-height:1.4!important}
.sstl-open:hover{text-decoration:underline}
.sstl-modal[hidden]{display:none!important}.sstl-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:16px}.sstl-modal-backdrop{position:absolute;inset:0;background:#111b}.sstl-dialog{position:relative;background:#fff;color:#222;width:min(760px,100%);max-height:min(90vh,940px);overflow-y:auto;border-radius:12px;padding:clamp(20px,3vw,36px);box-shadow:0 18px 70px #0005;overscroll-behavior:contain}.sstl-close{position:sticky;top:0;float:right;border:0;background:#f2f2f2;color:#222;width:36px;height:36px;border-radius:50%;font-size:25px;cursor:pointer;z-index:2}.sstl-detail h2{font-size:clamp(24px,3vw,32px);margin:0 45px 20px 0}.sstl-detail h3{font-size:19px;margin:22px 0 9px;color:#00a957}.sstl-detail p{margin:10px 0;line-height:1.6}.sstl-gallery{display:flex;overflow-x:auto;gap:10px;scroll-snap-type:x mandatory;padding-bottom:8px}.sstl-gallery-item{flex:0 0 min(85%,520px);scroll-snap-align:start}.sstl-gallery img{display:block;width:100%;height:280px;object-fit:cover;border-radius:8px}.sstl-modal-open{overflow:hidden}
@media(max-width:800px){.sstl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sstl-card-body{padding:17px}.sstl-card h3{font-size:18px}}
@media(max-width:540px){.sstl-grid{grid-template-columns:1fr}.sstl-card-media{height:205px}.sstl-gallery img{height:220px}}
