
 .home-featured {
     margin: 26px auto;
     max-width: 1200px;
     padding: 0 12px;
 }
 
 .home-featured-head {
     display: flex;
     align-items: center;
     justify-content: space-between;
     margin-bottom: 12px;
 }
 
 .home-featured-title {
     margin: 0;
     font-size: 1.25rem;
     font-weight: 800;
     color: #2b3034;
 }
 
 .home-featured-slider {
     position: relative;
     display: grid;
     grid-template-columns: 40px 1fr 40px;
     align-items: center;
     column-gap: 0;
 }
 
 .home-featured-viewport {
     overflow-x: auto;
     overflow-y: hidden;
     scroll-behavior: auto;
     -webkit-overflow-scrolling: touch;
     padding: 6px 0;
     box-sizing: border-box;
     scrollbar-width: none;
     -ms-overflow-style: none;
     scroll-snap-type: none;
 }

 .home-featured-viewport.is-animating {
     scroll-snap-type: none;
 }
 
 .home-featured-viewport::-webkit-scrollbar {
     display: none;
 }
 
 .home-featured-track {
     display: flex;
     gap: 10px;
 }
 
 .home-featured-item {
     flex: 0 0 var(--home-featured-item-w, calc((100% - (10px * 3)) / 4));
     min-width: 0;
     scroll-snap-align: start;
 }
 
 .home-featured-card {
     display: flex;
     flex-direction: column;
     position: relative;
     background: #fff;
     border: 1px solid #ececec;
     border-radius: 10px;
     padding: 8px;
     height: 200px;
     text-decoration: none;
     color: inherit;
     text-align: center;
     transition: box-shadow 0.18s ease, transform 0.18s ease;
 }
 
 .home-featured-card:hover {
     box-shadow: 0 10px 26px rgba(0,0,0,0.10);
     transform: translateY(-1px);
 }

 .home-featured-badge {
     position: absolute;
     top: 10px;
     left: 10px;
     z-index: 1;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     padding: 2px 7px;
     border-radius: 999px;
     background: #E00A4F;
     color: #fff;
     font-weight: 800;
     font-size: 0.72rem;
     line-height: 1.2;
 }
 
 .home-featured-thumb {
     background: #fff;
     border-radius: 10px;
     overflow: hidden;
     display: flex;
     align-items: center;
     justify-content: center;
     height: 112px;
 }
 
 .home-featured-thumb img {
     max-width: 100%;
     max-height: 100%;
     object-fit: contain;
     display: block;
 }
 
 .home-featured-name {
     margin-top: 10px;
     font-weight: 700;
     font-size: 0.9rem;
     line-height: 1.2;
     color: #2b3034;
     min-height: 2.4em;
     -webkit-line-clamp: 2;
     -webkit-box-orient: vertical;
 }
 
 .home-featured-rating {
     margin-top: auto;
     padding-top: 6px;
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 6px;
     color: #E00A4F;
     font-size: 0.85rem;
 }
 
 .home-featured-review-count {
     color: #6c757d;
     font-weight: 600;
     font-size: 0.85rem;
 }
 
 .home-stars {
     position: relative;
     display: inline-block;
     line-height: 1;
     font-size: 13px;
 }
 
 .home-stars-outer {
     color: rgba(224, 10, 79, 0.25);
     letter-spacing: 1px;
 }
 
 .home-stars-inner {
     position: absolute;
     left: 0;
     top: 0;
     white-space: nowrap;
     overflow: hidden;
     color: #E00A4F;
     letter-spacing: 1px;
 }
 
 .home-featured-nav {
     position: static;
     transform: none;
     width: 36px;
     height: 36px;
     border-radius: 50%;
     border: 1px solid #ececec;
     background: #fff;
     box-shadow: 0 8px 18px rgba(0,0,0,0.12);
     cursor: pointer;
     font-size: 22px;
     line-height: 1;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     z-index: 2;
     justify-self: center;
 }
 
 .home-featured-nav:hover {
     border-color: rgba(224, 10, 79, 0.35);
 }
 
 .home-featured-nav-prev {
     grid-column: 1;
     justify-self: end;
 }
 
 .home-featured-nav-next {
     grid-column: 3;
     justify-self: start;
 }

 .home-featured-viewport {
     grid-column: 2;
 }
 
 @media screen and (max-width: 1100px) {
     .home-featured-item {
         flex: 0 0 calc((100% - (10px * 2)) / 3);
     }
 }
 
 @media screen and (max-width: 820px) {
     .home-featured-track {
         gap: 9px;
     }

     .home-featured-viewport {
         border-left: 0;
         border-right: 0;
     }

     .home-featured-item {
         flex: 0 0 calc((100% - 9px) / 2);
     }
 }
 
 @media screen and (max-width: 560px) {
     .home-featured-item {
         flex: 0 0 calc((100% - 9px) / 2);
     }
     .home-featured-card {
         height: 230px;
     }
     .home-featured-rating {
         flex-wrap: wrap;
         gap: 4px;
     }
 }
