/* GH Elementor Categories: layout only; GH-C003 owns card identity. */
.gh-elementor-categories { display:grid; gap:24px; min-width:0; }
.gh-elementor-categories__header { align-items:flex-end; display:flex; gap:20px; justify-content:space-between; }
.gh-elementor-categories__header > div:first-child { display:grid; gap:8px; }
.gh-elementor-categories__eyebrow { color:var(--gh-color-primary); font:800 13px/1.2 var(--gh-font-family); letter-spacing:.08em; margin:0; text-transform:uppercase; }
.gh-elementor-categories__title { color:var(--gh-color-ink); font:700 clamp(28px,3vw,36px)/1.15 var(--gh-font-family); margin:0; }
.gh-elementor-categories__description { color:var(--gh-color-muted); font:400 16px/1.6 var(--gh-font-family); }
.gh-elementor-categories__description > :first-child { margin-top:0; }
.gh-elementor-categories__description > :last-child { margin-bottom:0; }
.gh-elementor-categories__controls { display:flex; gap:8px; }
.gh-elementor-categories__controls button { align-items:center; appearance:none; background:var(--gh-color-white); border:1px solid var(--gh-color-border); border-radius:var(--gh-radius-md); color:var(--gh-color-primary-dark); display:inline-flex; height:42px; justify-content:center; padding:0; width:42px; }
.gh-elementor-categories__controls button:hover:not(:disabled) { background:var(--gh-color-primary); border-color:var(--gh-color-primary); color:var(--gh-color-white); }
.gh-elementor-categories__controls button:disabled { opacity:.35; }
.gh-elementor-categories__controls button:focus-visible { outline:3px solid var(--gh-color-focus); outline-offset:2px; }
.gh-elementor-categories__items { column-gap:20px; min-width:0; row-gap:20px; }
.gh-elementor-categories--grid .gh-elementor-categories__items { display:grid; grid-template-columns:repeat(var(--gh-ec-columns,4),minmax(0,1fr)); }
.gh-elementor-categories--carousel .gh-elementor-categories__items { display:flex; overflow-x:auto; overscroll-behavior-inline:contain; padding:4px; scroll-behavior:smooth; scroll-snap-type:inline mandatory; scrollbar-width:none; }
.gh-elementor-categories--carousel .gh-elementor-categories__items::-webkit-scrollbar { display:none; }
.gh-elementor-categories--carousel .gh-child-category-card { flex:0 0 calc((100% - ((var(--gh-ec-columns,4) - 1) * 20px)) / var(--gh-ec-columns,4)); scroll-snap-align:start; }
@media (max-width:1024px) { .gh-elementor-categories--grid .gh-elementor-categories__items { grid-template-columns:repeat(var(--gh-ec-columns-tablet,3),minmax(0,1fr)); } .gh-elementor-categories--carousel .gh-child-category-card { flex-basis:calc((100% - ((var(--gh-ec-columns-tablet,3) - 1) * 20px)) / var(--gh-ec-columns-tablet,3)); } }
@media (max-width:767px) { .gh-elementor-categories__header { align-items:stretch; flex-direction:column; } .gh-elementor-categories__controls { align-self:flex-end; } .gh-elementor-categories--grid .gh-elementor-categories__items { grid-template-columns:repeat(var(--gh-ec-columns-mobile,2),minmax(0,1fr)); } .gh-elementor-categories--carousel .gh-child-category-card { flex-basis:calc((100% - ((var(--gh-ec-columns-mobile,2) - 1) * 20px)) / var(--gh-ec-columns-mobile,2)); } }
@media (prefers-reduced-motion:reduce) { .gh-elementor-categories--carousel .gh-elementor-categories__items { scroll-behavior:auto; } }
