/* SEOHUB Category Grid — scoped, theme-safe styles */
.shcg{position:relative;display:block;width:100%;max-width:100%;margin:0 0 1.5em;padding:0;box-sizing:border-box;--shcg-d:4;--shcg-t:3;--shcg-m:2;--shcg-gap:20px;--shcg-radius:8px;--shcg-fit:cover;--shcg-img-w:100%;--shcg-tspace:14px;--shcg-as:38px;--shcg-ac:#1d2327;--shcg-abg:#f3f3f3;--shcg-dc:#000;--shcg-da:#116a5b;--shcg-ds:10px}
.shcg *,.shcg *::before,.shcg *::after{box-sizing:border-box}

/* ---------- Layout ---------- */
.shcg ul.shcg__grid{--shcg-cols:var(--shcg-d);--shcg-g:var(--shcg-gap);display:grid!important;grid-template-columns:repeat(var(--shcg-cols),minmax(0,1fr));gap:var(--shcg-g);margin:0!important;padding:0!important;list-style:none!important;width:100%}
.shcg li.shcg__item{display:block;margin:0!important;padding:0!important;list-style:none!important;min-width:0;width:auto!important;float:none!important;background:none;border:0}
.shcg li.shcg__item::before,.shcg li.shcg__item::after{content:none!important;display:none!important}
.shcg li.shcg__item::marker{content:""}

/* ---------- Card ---------- */
.shcg a.shcg__card{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none!important;border:0;box-shadow:none;background:none;outline-offset:3px}
.shcg a.shcg__card:focus-visible{outline:2px solid currentColor}
.shcg.shcg--boxed a.shcg__card{padding:var(--shcg-box-pad,10px);border-radius:var(--shcg-box-r,8px);background:var(--shcg-box-bg,#116a5b);overflow:hidden}
.shcg.shcg--shadow a.shcg__card{box-shadow:0 4px 14px rgba(0,0,0,.18)}
.shcg.shcg--boxed a.shcg__card:focus-visible{outline-offset:2px}

/* ---------- Image ---------- */
.shcg .shcg__media{position:relative;display:block;width:var(--shcg-img-w);max-width:100%;height:0;padding-top:var(--shcg-pad,100%);overflow:hidden;border-radius:var(--shcg-radius);background:rgba(127,127,127,.12);margin-left:auto;margin-right:auto;flex:0 0 auto}
.shcg--img-left .shcg__media{margin-left:0}
.shcg--img-right .shcg__media{margin-right:0}
.shcg--img-center .shcg__media{margin-left:auto;margin-right:auto}
@supports (aspect-ratio:1/1){.shcg .shcg__media{height:auto;padding-top:0;aspect-ratio:var(--shcg-ratio,1/1)}}
.shcg .shcg__media img.shcg__img{position:absolute;top:0;left:0;display:block;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;object-fit:var(--shcg-fit);object-position:center;transition:transform .4s ease}
.shcg a.shcg__card:hover img.shcg__img{transform:scale(1.04)}
.shcg .shcg__placeholder{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;opacity:.35}
.shcg .shcg__placeholder svg{width:34%;max-width:64px;height:auto;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.shcg--ratio-auto .shcg__media{height:auto;padding-top:0;aspect-ratio:auto}
.shcg--ratio-auto .shcg__media img.shcg__img{position:static;height:auto!important}
.shcg--ratio-auto .shcg__placeholder{position:relative;aspect-ratio:1/1}

/* ---------- Title ---------- */
.shcg .shcg__title{display:block;margin:var(--shcg-tspace) 0 0!important;padding:0!important;font-family:var(--shcg-ff,inherit);font-size:var(--shcg-fs,1em);font-weight:var(--shcg-fw,600);font-style:var(--shcg-fst,normal);text-transform:var(--shcg-tt,none);letter-spacing:var(--shcg-ls,normal);line-height:1.3;color:var(--shcg-tc,inherit);word-wrap:break-word;border:0;background:none}
.shcg.shcg--boxed .shcg__title{flex:1 0 auto;display:flex;flex-direction:column;justify-content:center;padding:0 .4em max(0px,calc(var(--shcg-tspace) - var(--shcg-box-pad,10px)))!important}
.shcg a.shcg__card:hover .shcg__title{text-decoration:underline;text-underline-offset:3px}
.shcg .shcg__count{display:block;margin-top:.2em;font-size:.85em;line-height:1.3;opacity:.75;color:var(--shcg-tc,inherit)}
.shcg.shcg--boxed .shcg__count{margin:-.6em 0 .4em}
.shcg--center .shcg__title,.shcg--center .shcg__count{text-align:center}
.shcg--left .shcg__title,.shcg--left .shcg__count{text-align:left}
.shcg--right .shcg__title,.shcg--right .shcg__count{text-align:right}

/* ---------- Responsive columns ---------- */
@media (max-width:1024px){.shcg ul.shcg__grid{--shcg-cols:var(--shcg-t)}}
@media (max-width:767px){
.shcg ul.shcg__grid{--shcg-cols:var(--shcg-m);--shcg-g:min(var(--shcg-gap),14px)}
.shcg .shcg__title{font-size:var(--shcg-fs-m,var(--shcg-fs,.95em))}
}

/* ---------- Carousel ---------- */
.shcg.shcg--carousel ul.shcg__grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--shcg-cols) - 1) * var(--shcg-g)) / var(--shcg-cols));overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;outline:0}
.shcg.shcg--carousel ul.shcg__grid::-webkit-scrollbar{display:none}
.shcg.shcg--carousel li.shcg__item{scroll-snap-align:start}
.shcg.shcg--carousel a.shcg__card{outline-offset:-3px}
.shcg.shcg--carousel ul.shcg__grid.is-dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing}
.shcg.shcg--carousel ul.shcg__grid.is-dragging a{pointer-events:none}

/* Arrows */
.shcg .shcg__arrow{all:unset;box-sizing:border-box;display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:var(--shcg-as);height:var(--shcg-as);border-radius:50%;background:var(--shcg-abg);color:var(--shcg-ac);cursor:pointer;line-height:0;transition:opacity .2s,transform .2s,filter .2s}
.shcg--arrow-rounded .shcg__arrow{border-radius:6px}
.shcg--arrow-square .shcg__arrow{border-radius:0}
.shcg .shcg__arrow svg{display:block;width:46%;height:46%;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.shcg--arrow-icon-thin .shcg__arrow svg{stroke-width:1.6}
.shcg--arrow-nobg .shcg__arrow svg{width:70%;height:70%}
.shcg .shcg__arrow:hover{filter:brightness(.92)}
.shcg--arrow-nobg .shcg__arrow:hover{filter:none;opacity:.7}
.shcg .shcg__arrow:focus-visible{outline:2px solid var(--shcg-ac);outline-offset:2px}
.shcg .shcg__arrow[disabled]{opacity:.3;cursor:default;pointer-events:none}

/* On the carousel: one arrow each side, over the cards */
.shcg--arrows-sides .shcg__arrow,.shcg--arrows-outside .shcg__arrow{position:absolute;z-index:2;top:var(--shcg-mid,40%);margin-top:calc(var(--shcg-as) / -2)}
.shcg--arrows-sides .shcg__arrow--prev{left:10px}
.shcg--arrows-sides .shcg__arrow--next{right:10px}
.shcg--arrows-sides:not(.shcg--arrow-nobg) .shcg__arrow{box-shadow:0 2px 10px rgba(0,0,0,.18)}
.shcg--arrows-sides .shcg__arrow[disabled]{opacity:0}
/* Beside the carousel: space is reserved so arrows never cover the cards */
.shcg.shcg--arrows-outside{padding-left:calc(var(--shcg-as) + 8px);padding-right:calc(var(--shcg-as) + 8px)}
.shcg--arrows-outside .shcg__arrow--prev{left:0}
.shcg--arrows-outside .shcg__arrow--next{right:0}
.shcg--arrows-outside.shcg--arrow-rounded .shcg__arrow{width:calc(var(--shcg-as) * .85);height:calc(var(--shcg-as) * 1.1);margin-top:calc(var(--shcg-as) * -.55);border-radius:3px}
/* Above / below */
.shcg .shcg__nav{display:flex;align-items:center;gap:10px;margin:0 0 14px}
.shcg .shcg__nav--below{margin:14px 0 0}
.shcg .shcg__nav--left{justify-content:flex-start}
.shcg .shcg__nav--center{justify-content:center}
.shcg .shcg__nav--right{justify-content:flex-end}
.shcg .shcg__nav--bar{gap:14px}
.shcg .shcg__nav--bar .shcg__dots{margin:0}

/* Dots */
.shcg .shcg__dots{display:flex;flex-wrap:wrap;justify-content:center;gap:0;margin-top:14px;line-height:0}
.shcg .shcg__dot{all:unset;box-sizing:border-box;position:relative;width:calc(var(--shcg-ds) + 20px);height:calc(var(--shcg-ds) + 14px);cursor:pointer}
.shcg .shcg__dot::after{content:"";position:absolute;top:50%;left:50%;width:var(--shcg-ds);height:var(--shcg-ds);transform:translate(-50%,-50%);border-radius:50%;background:var(--shcg-dc);transition:background-color .25s,transform .25s}
.shcg .shcg__dot.is-active::after{background:var(--shcg-da)}
.shcg .shcg__dot:hover::after{transform:translate(-50%,-50%) scale(1.2)}
.shcg .shcg__dot:focus-visible{outline:2px solid var(--shcg-da);border-radius:4px}

.shcg--carousel:not(.is-ready) .shcg__arrow,.shcg--carousel.is-static .shcg__arrow,.shcg--carousel.is-static .shcg__dots{display:none}
.shcg--carousel.is-static .shcg__nav:not(.shcg__nav--bar){display:none}
.shcg--carousel.is-static.shcg--arrows-outside{padding-left:0;padding-right:0}
[dir=rtl] .shcg .shcg__arrow svg{transform:scaleX(-1)}

@media (max-width:767px){
.shcg{--shcg-as-m:calc(var(--shcg-as) * .82)}
.shcg .shcg__arrow{width:var(--shcg-as-m);height:var(--shcg-as-m)}
.shcg--arrows-sides .shcg__arrow,.shcg--arrows-outside .shcg__arrow{margin-top:calc(var(--shcg-as-m) / -2)}
.shcg.shcg--arrows-outside{padding-left:calc(var(--shcg-as-m) + 4px);padding-right:calc(var(--shcg-as-m) + 4px)}
.shcg--arrows-outside.shcg--arrow-rounded .shcg__arrow{width:calc(var(--shcg-as-m) * .8);height:calc(var(--shcg-as-m) * 1.1);margin-top:calc(var(--shcg-as-m) * -.55)}
.shcg--arrows-sides .shcg__arrow--prev{left:6px}
.shcg--arrows-sides .shcg__arrow--next{right:6px}
}

@media (prefers-reduced-motion:reduce){
.shcg img.shcg__img,.shcg .shcg__dot::after{transition:none!important}
.shcg a.shcg__card:hover img.shcg__img{transform:none}
.shcg.shcg--carousel ul.shcg__grid{scroll-behavior:auto}
}
.shcg.shcg--boxed .shcg__placeholder{color:var(--shcg-tc,#fff)}
