.ehct-carousel { position: relative; width: 100%; min-width: 0; padding: 0 20px; box-sizing: border-box; }
.ehct-carousel .ehct-swiper { width: 100%; overflow: hidden; }
.ehct-carousel .ehct-card { height: auto; background: transparent; display: flex; flex-direction: column; }
.ehct-carousel .ehct-card-link { display: flex; flex-direction: column; width: 100%; height: 100%; color: inherit; text-decoration: none; }
.ehct-carousel .ehct-card-link:focus-visible { outline: 3px solid #cb0505; outline-offset: -3px; }
.ehct-carousel .ehct-thumb { position: relative; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; background: transparent; border-radius: 12px; }
.ehct-carousel .ehct-thumb img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; }
.ehct-carousel .ehct-info { display: flex; flex-direction: column; flex: 1; }
.ehct-carousel .ehct-title { font-weight: bold; padding: 8px; line-height: 1.3; min-height: 2.6em; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.ehct-carousel .ehct-date { padding: 0 8px 8px; color: #777; margin-top: auto; font-size: 14px; }
.ehct-carousel .ehct-prev, .ehct-carousel .ehct-next { top: 50%; margin-top: 0; transform: translateY(-50%); width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; color: #000; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.15); cursor: pointer; }
.ehct-carousel .ehct-prev { left: 0; }
.ehct-carousel .ehct-next { right: 0; }
.ehct-carousel .ehct-prev::after, .ehct-carousel .ehct-next::after { font-size: 18px; }
.ehct-carousel .swiper-button-lock { display: none; }
@media (max-width: 767px) {
    .ehct-carousel .ehct-prev, .ehct-carousel .ehct-next { width: 32px; height: 32px; }
}
