#categories .category-grid{gap:20px}
#categories .category{padding:0;border:0;background:#e4e4e4;border-radius:16px;overflow:hidden;text-align:left;color:white}
#categories .category::before{content:none}
#categories .category-photo{position:relative;height:auto;aspect-ratio:4/4.7;border-radius:16px;isolation:isolate}
#categories .category-photo>img{width:100%;height:100%;object-fit:cover;filter:blur(0);transition:filter .45s ease,transform .65s cubic-bezier(.2,.7,.25,1)}
#categories .category-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,#11120e24 55%,#11120ed9 100%);z-index:1;pointer-events:none}
#categories .category-caption{position:absolute;z-index:2;inset:auto 23px 25px;color:white}
#categories .category-caption h3{font-size:20px;line-height:1.3;font-weight:700;letter-spacing:-.03em;color:white;margin:0;display:block;text-shadow:0 1px 12px #0003}
#categories .category-caption p{font-size:14px;font-weight:400;line-height:1.6;color:#ffffffe6;margin:0;opacity:0;max-height:0;overflow:hidden;transform:translateY(8px);transition:opacity .3s,transform .3s,max-height .3s,margin .3s}
@media(hover:hover) and (pointer:fine){
 #categories .category:hover{transform:translateY(-4px) scale(1.015);box-shadow:0 14px 30px #23231b18}
 #categories .category:hover .category-photo>img{filter:blur(3px);transform:scale(1.075)}
 #categories .category:hover .category-caption p{opacity:1;max-height:85px;margin-top:9px;transform:translateY(0)}
}
#categories .category:focus-visible{outline:3px solid var(--logo-gold);outline-offset:5px;transform:translateY(-4px) scale(1.015)}
#categories .category:focus-visible .category-photo>img{filter:blur(3px);transform:scale(1.075)}
#categories .category:focus-visible .category-caption p{opacity:1;max-height:85px;margin-top:9px;transform:translateY(0)}
@media(max-width:1000px){#categories .category-grid{gap:16px}#categories .category-caption{inset:auto 17px 20px}#categories .category-caption h3{font-size:18px}#categories .category-caption p{font-size:13px}}
@media(max-width:760px){#categories .category-grid{gap:16px 13px}#categories .category,#categories .category-photo{border-radius:12px}#categories .category-photo{aspect-ratio:3/4}#categories .category-caption{inset:auto 14px 17px}#categories .category-caption h3{font-size:16px;line-height:1.35}#categories .category-caption p{font-size:12px}}
@media(hover:none){#categories .category-caption p{opacity:1;max-height:85px;margin-top:7px;transform:none}}
@media(prefers-reduced-motion:reduce){#categories .category,#categories .category-photo>img,#categories .category-caption p{transition:none!important}#categories .category:hover,#categories .category:focus-visible{transform:none}#categories .category:hover .category-photo>img,#categories .category:focus-visible .category-photo>img{transform:none}}

#categories .category-slider{display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;padding:8px 5px 12px;margin:-8px -5px -12px;overscroll-behavior-x:contain;scroll-padding-left:5px}
#categories .category-slider::-webkit-scrollbar{display:none}
#categories .category-slider .category{flex:0 0 calc((100% - 60px)/4);min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
#categories .category-slider:focus-visible{outline:2px solid var(--logo-gold);outline-offset:6px;border-radius:16px}
.category-slider-controls{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}
.category-arrow{display:grid;place-items:center;width:43px;height:43px;padding:0;border:1px solid #d4d4d4;border-radius:50%;background:#fff;color:var(--logo-gold);transition:background .2s,color .2s}
.category-arrow svg{width:20px;height:20px}.category-arrow:hover:not(:disabled){background:var(--logo-gold);color:#26271f}.category-arrow:disabled{opacity:.3;cursor:default}
@media(max-width:1000px){#categories .category-slider{gap:16px}#categories .category-slider .category{flex-basis:calc((100% - 32px)/3)}}
@media(max-width:760px){#categories .category-slider{gap:14px}#categories .category-slider .category{flex-basis:calc((100% - 14px)/2)}.category-slider-controls{margin-top:20px}}
@media(max-width:480px){#categories .category-slider .category{flex-basis:80%}.category-arrow{width:39px;height:39px}}
@media(prefers-reduced-motion:reduce){.category-arrow{transition:none}}
