.spg-carousel{--spg-gap:20px;--spg-count:5;--spg-name:#009fda;--spg-hover:#007eae;width:100%;min-width:0;max-width:100%;padding:8px;box-sizing:border-box;direction:ltr}
.spg-carousel *{box-sizing:border-box}
.spg-carousel .spg-gallery{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;padding:14px 0 24px}
.spg-carousel .spg-gallery::-webkit-scrollbar{display:none;width:0;height:0}
.spg-carousel .spg-track{display:flex;flex-wrap:nowrap;align-items:stretch;gap:var(--spg-gap);width:100%;list-style:none!important;margin:0!important;padding:0!important}
.spg-carousel .spg-card{flex:0 0 calc((100% - (var(--spg-count) - 1)*var(--spg-gap))/var(--spg-count));min-width:0;margin:0;padding:20px;background:#fff;border-radius:16px;box-shadow:3px 5px 7px #0004;scroll-snap-align:start;list-style:none}
.spg-carousel .spg-link{display:flex;height:100%;flex-direction:column;gap:20px;text-align:center;text-decoration:none!important;border:0;color:var(--spg-name);font-family:inherit}
.spg-carousel .spg-photo{display:block;overflow:hidden;width:100%;aspect-ratio:387/458;border-radius:10px;background:#009fda;flex-shrink:0}
.spg-carousel .spg-photo img{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center;transition:transform .3s ease;border-radius:0;margin:0}
.spg-carousel .spg-name{display:block;font-size:16px;line-height:1.15;font-weight:500;color:var(--spg-name);overflow-wrap:anywhere}
.spg-carousel a.spg-link:hover img,.spg-carousel a.spg-link:focus-visible img{transform:scale(1.05)}
.spg-carousel a.spg-link:hover .spg-name{color:var(--spg-hover)}
.spg-carousel a.spg-link:focus-visible,.spg-carousel button:focus-visible,.spg-carousel .spg-gallery:focus-visible{outline:2px solid #007eae;outline-offset:3px}
.spg-carousel .spg-placeholder{display:flex;height:100%;align-items:center;justify-content:center;color:white;font-size:48px}
.spg-carousel .spg-controls{display:flex;align-items:center;justify-content:center;gap:14px;padding:2px 0 10px}
.spg-carousel .spg-controls[hidden]{display:none}
.spg-carousel .spg-controls button{border:1px solid #009fda;background:#fff;color:#007eae;border-radius:50%;width:38px;height:38px;padding:0;line-height:1;cursor:pointer;box-shadow:none;min-height:0}
.spg-carousel .spg-controls button:hover{background:#e8f8ff}
.spg-carousel .spg-controls button:disabled{opacity:.35;cursor:default}
.spg-carousel .spg-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;max-width:65%}
.spg-carousel .spg-dots button{width:12px;height:12px;background:#d8e7ee;border:0}
.spg-carousel .spg-dots button[aria-current=true]{background:#009fda}
.spg-carousel .spg-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:767px){.spg-carousel .spg-card{padding:16px}}
@media(prefers-reduced-motion:reduce){.spg-carousel .spg-photo img{transition:none}.spg-carousel a.spg-link:hover img,.spg-carousel a.spg-link:focus-visible img{transform:none}}
/* Modern cards, with navigation spanning the gallery width. */
.spg-carousel .spg-card{border:1px solid #e8edf2;border-radius:18px;box-shadow:0 4px 14px #17324d12;padding:18px;transition:box-shadow .25s ease,border-color .25s ease}
.spg-carousel .spg-card:hover{box-shadow:0 8px 22px #17324d20;border-color:#cde6f3}
.spg-carousel .spg-photo{border-radius:12px}
.spg-carousel .spg-name{font-weight:600;line-height:1.35;color:#167ba5}
.spg-carousel .spg-controls{display:grid;grid-template-columns:44px 1fr 44px;gap:16px;width:100%;padding:0 0 12px}
.spg-carousel .spg-prev{grid-column:1;grid-row:1;justify-self:start}
.spg-carousel .spg-next{grid-column:3;grid-row:1;justify-self:end}
.spg-carousel .spg-dots{grid-column:2;grid-row:1;max-width:100%;justify-self:center;align-self:center}
.spg-carousel .spg-controls button.spg-prev,.spg-carousel .spg-controls button.spg-next{width:42px;height:42px;background:#fff;border:1px solid #d6e8f0;box-shadow:0 3px 10px #17324d10;color:#167ba5}
.spg-carousel .spg-controls button:hover{background:#edf8fc;border-color:#009fda}
@media(prefers-reduced-motion:reduce){.spg-carousel .spg-card{transition:none}}
