.rhmc-carousel { position: relative; width: 100%; min-width: 0; padding: 0 20px; box-sizing: border-box; }
.rhmc-carousel .rhmc-swiper { position: relative; display: block; width: 100%; overflow: hidden; margin: 0 auto; padding: 0; list-style: none; z-index: 1; }
.rhmc-carousel .rhmc-card { height: auto; background: #fff7e0; display: flex; flex-direction: column; }
.rhmc-carousel .rhmc-card-link { display: flex; flex-direction: column; width: 100%; height: 100%; color: inherit; text-decoration: none; }
.rhmc-carousel .rhmc-card-link:focus-visible { outline: 3px solid #cb0505; outline-offset: -3px; }
.rhmc-carousel .rhmc-thumb { position: relative; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; background: transparent; border-radius: 12px; }
.rhmc-carousel .rhmc-thumb img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; }
.rhmc-carousel .rhmc-info { display: flex; flex-direction: column; flex: 1; }
.rhmc-carousel .rhmc-title { margin: 0; font-size: .85rem; font-weight: bold; margin: 8px; padding: 0; overflow-wrap: anywhere; line-height: 1.3; min-height: 3.9em; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.rhmc-carousel .rhmc-date { padding: 0 8px 8px; color: #777; margin-top: auto; font-size: .75rem; }
.rhmc-carousel .rhmc-prev, .rhmc-carousel .rhmc-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; }
.rhmc-carousel .rhmc-prev { left: 0; }
.rhmc-carousel .rhmc-next { right: 0; }
.rhmc-carousel .rhmc-prev::after, .rhmc-carousel .rhmc-next::after { font-size: 18px; }
.rhmc-carousel .swiper-button-lock { display: none; }
@media (max-width: 767px) {
    .rhmc-carousel .rhmc-prev, .rhmc-carousel .rhmc-next { width: 32px; height: 32px; }
}

