/* Organio Category Carousel — scoped, container-aware and touch-friendly. */
.orgw-cat-frame { display: block; box-sizing: border-box; max-width: 100%; min-width: 0; width: 100%; container-type: inline-size; }
.orgw-cat-frame, .orgw-cat-frame * { box-sizing: border-box; }
.orgw-cat-carousel {
  --orgw-cat-gap: 20px;
  --orgw-card-width: var(--orgw-desktop-width, 16.666667%);
  --orgw-card-gapfactor: var(--orgw-desktop-gapfactor, 0.833333);
  width: 100%; min-width: 0;
}
.orgw-cat-track {
  display: flex; gap: var(--orgw-cat-gap); width: 100%; min-width: 0;
  overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -ms-overflow-style: none;
  scroll-snap-type: x mandatory; overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}
.orgw-cat-track::-webkit-scrollbar { display: none; }
.orgw-cat-track:focus { outline: none; }
.orgw-cat-track:focus-visible { outline: 2px solid #6d9f3b; outline-offset: 3px; }
.orgw-cat-slide {
  flex: 0 0 calc(var(--orgw-card-width) - var(--orgw-cat-gap) * var(--orgw-card-gapfactor));
  min-width: 0; scroll-snap-align: start;
}
.orgw-cat-card {
  position: relative; isolation: isolate; overflow: hidden;
  display: block; width: 100%; height: 260px;
  border-radius: 10px; background: linear-gradient(130deg, #28523a, #102a1c);
  text-decoration: none !important; cursor: pointer;
}
.orgw-cat-slide > div.orgw-cat-card { cursor: default; }
.orgw-cat-photo { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; object-position: center; transition: transform .3s ease; }
.orgw-cat-card:hover .orgw-cat-photo { transform: scale(1.045); }
.orgw-cat-shade { position: absolute; inset: 0; background-color: #173320; opacity: .48; pointer-events: none; }
.orgw-cat-title {
  position: relative; z-index: 1; display: block;
  padding: 18px 17px; margin: 0; max-width: 100%;
  color: #fff; font: 800 20px/1.12 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-wrap: anywhere; text-align: left;
}
.orgw-cat-card:hover .orgw-cat-title, .orgw-cat-card:focus-visible .orgw-cat-title { color: #fff; }
.orgw-cat-card:focus-visible { outline: 3px solid #7dc52d; outline-offset: -3px; }
.orgw-cat-pagination { display: flex; justify-content: center; align-items: center; gap: 9px; min-height: 12px; margin-top: 15px; }
.orgw-cat-pagination[hidden] { display: none !important; }
.orgw-cat-dot { appearance: none; border: 0; padding: 0; width: 9px; height: 9px; border-radius: 50%; background: #d2d9ca; cursor: pointer; transition: background .15s, transform .15s; }
.orgw-cat-dot[aria-current="true"] { background: #74b816; transform: scale(1.1); }
.orgw-cat-dot:focus-visible { outline: 2px solid #274c23; outline-offset: 3px; }
/* Important: these use actual Elementor column/container width, not global viewport width. */
@container (max-width: 960px) {
  .orgw-cat-carousel { --orgw-card-width: var(--orgw-tablet-width, 33.333333%); --orgw-card-gapfactor: var(--orgw-tablet-gapfactor, 0.666667); }
}
@container (max-width: 620px) {
  .orgw-cat-carousel { --orgw-card-width: var(--orgw-mobile-width, 100%); --orgw-card-gapfactor: var(--orgw-mobile-gapfactor, 0); }
}
@media (prefers-reduced-motion: reduce) { .orgw-cat-photo, .orgw-cat-dot { transition: none; } }
