.cc-carousel { --cc-visible: 3; box-sizing: border-box; width: 100%; max-width: min(100%,var(--cc-max-width,900px)); margin-inline: auto; }
.cc-carousel .cc-stage { display: grid; grid-template-columns: minmax(0,1fr); align-items: center; }
.cc-carousel.has-navigation .cc-stage { grid-template-columns: 36px minmax(0,1fr) 36px; column-gap: 8px; }
.cc-carousel .cc-stage > .cc-track { min-width: 0; grid-column: 1; grid-row: 1; }
.cc-carousel.has-navigation .cc-stage > .cc-track { grid-column: 2; }
.cc-carousel .cc-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - var(--cc-gap,16px) - var(--cc-gap,16px))/3); gap: var(--cc-gap,16px); margin: 0; padding: 0; list-style: none; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.cc-carousel .cc-card { box-sizing: border-box; display: block; min-width: 0; height: var(--cc-card-height,180px); margin: 0; padding: 0; border-radius: var(--cc-radius,8px); background: var(--wp--preset--color--cream,#fffbf3); overflow: hidden; scroll-snap-align: start; }
.cc-carousel .cc-card-link { display: block; width: 100%; height: 100%; border-radius: inherit; }
.cc-carousel .cc-card-image { display: block; box-sizing: border-box; width: 100%; height: 100%; max-width: 100%; margin: 0; object-fit: var(--cc-image-fit,cover); }
.cc-carousel .cc-controls { display: contents; }
.cc-carousel .cc-controls[hidden] { display: none !important; }
.cc-carousel .cc-prev { grid-column: 1; grid-row: 1; }
.cc-carousel .cc-next { grid-column: 3; grid-row: 1; }
.cc-carousel button.cc-arrow { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 36px; box-sizing: border-box; width: 36px; height: 36px; min-width: 36px; min-height: 36px; margin: 0; padding: 6px; border: 0; border-radius: 0; background: transparent; color: var(--wp--preset--color--wine,#811321); cursor: pointer; box-shadow: none; }
.cc-carousel button.cc-arrow:hover:not(:disabled) { background: transparent; color: var(--wp--preset--color--wine-hover,#971627); }
.cc-carousel button.cc-arrow:disabled { opacity: .35; cursor: default; }
.cc-carousel .cc-prev svg { transform: rotate(180deg); }
.cc-carousel .cc-track:focus-visible, .cc-carousel .cc-arrow:focus-visible { outline: 2px solid var(--wp--preset--color--wine,#811321); outline-offset: 3px; }
.cc-carousel .cc-card-link:focus-visible { outline: 3px solid var(--wp--preset--color--wine,#811321); outline-offset: -4px; }
.cc-carousel.is-ready .cc-track { scrollbar-width: none; }
.cc-carousel.is-ready .cc-track::-webkit-scrollbar { display: none; }
.cc-carousel:dir(rtl) .cc-prev svg { transform: none; }
.cc-carousel:dir(rtl) .cc-next svg { transform: rotate(180deg); }
.cc-sr-only { position: absolute !important; 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) {
    .cc-carousel { --cc-visible: 1; }
    .cc-carousel.has-navigation .cc-stage { grid-template-columns: 44px minmax(0,1fr) 44px; }
    .cc-carousel .cc-track { grid-auto-columns: 100%; }
    .cc-carousel .cc-card { height: var(--cc-mobile-height,140px); }
    .cc-carousel .cc-card-image { object-fit: contain; object-position: center; }
    .cc-carousel button.cc-arrow { width: 44px; height: 44px; min-width: 44px; min-height: 44px; }
}
@media (prefers-reduced-motion:reduce) { .cc-carousel .cc-track { scroll-behavior: auto; } }
