.esc{display:block;background:var(--esc-bg,#fdfbf5);color:#212121;font-family:var(--FONT-STACK-BODY,Arial,sans-serif)}
/* Keep the colour panel in the page flow, clear of the theme's details clipping and footer. */
.esc .esc__toolbar{display:block}
.esc details.esc__filters{width:100%;overflow:visible}
.esc .esc__filters summary{width:230px}
.esc .esc__sort{position:absolute;top:0;right:0}
.esc .esc__filter-panel{position:static;width:100%;max-width:none;margin-top:12px}
.esc [data-colour-filters]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 16px}
.esc .esc__filter-panel label{min-height:44px}
.esc .esc__filter-panel input{flex:0 0 17px}
@media(max-width:767px){.esc .esc__filters summary{width:calc(50% - 5px)}.esc [data-colour-filters]{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}}
.esc *{box-sizing:border-box}.esc [hidden]{display:none!important}.esc svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.esc button,.esc select{font:inherit}.esc a:focus-visible,.esc button:focus-visible,.esc select:focus-visible,.esc summary:focus-visible{outline:2px solid #212121;outline-offset:4px}
.esc__banner{position:relative;isolation:isolate;height:var(--esc-banner-height);background:#e5dfd3;color:white;overflow:hidden}.esc__banner-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% var(--esc-banner-position);z-index:-2}.esc__banner:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.68),transparent 65%);z-index:-1}.esc__banner-content{max-width:1440px;height:100%;margin:auto;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:40px 40px}.esc__banner h1{font:700 clamp(36px,4vw,58px)/1.05 var(--FONT-STACK-HEADING,Arial,sans-serif);letter-spacing:-.025em;color:inherit;margin:0}.esc__banner p{margin:15px 0 0;font-size:18px;line-height:1.4}
.esc__body{max-width:1440px;margin:auto;padding:32px 32px 64px}.esc__toolbar{position:relative;display:flex;justify-content:space-between;gap:16px;margin-bottom:28px;z-index:3}.esc__filters{width:230px;position:relative}.esc__filters summary,.esc__sort{display:flex;align-items:center;gap:10px;min-height:52px;border:1px solid #dedcd6;border-radius:9px;padding:12px 16px;background:var(--esc-bg);cursor:pointer;font-size:16px;line-height:1.3}.esc__filters summary{list-style:none}.esc__filters summary::-webkit-details-marker{display:none}.esc__chevron{margin-left:auto}.esc__filters[open] .esc__chevron{transform:rotate(180deg)}.esc__filter-panel{position:absolute;left:0;top:calc(100% + 8px);width:280px;max-width:calc(100vw - 40px);padding:20px;background:var(--esc-bg);border:1px solid #dedcd6;border-radius:12px;box-shadow:0 8px 25px #00000012}.esc__filter-panel fieldset{padding:0;margin:0;border:0}.esc__filter-panel legend{font-weight:700;margin-bottom:14px}.esc__filter-panel label{display:flex;align-items:center;gap:10px;min-height:38px;cursor:pointer;font-size:15px}.esc__filter-panel input{margin:0;width:17px;height:17px;accent-color:#212121}.esc__clear{border:0;border-bottom:1px solid currentColor;padding:0;background:none;margin-top:16px;font-size:14px!important;cursor:pointer}.esc__sort{position:relative;width:250px}.esc__sort>span{flex:none}.esc__sort select{appearance:none;-webkit-appearance:none;min-width:0;width:100%;height:auto;padding:0 24px 0 0;border:0;background:transparent;color:inherit;border-radius:0;line-height:1.3;cursor:pointer}.esc__sort svg{position:absolute;right:14px;pointer-events:none;width:18px}.esc__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 28px}.esc__card{min-width:0}.esc__card-link{display:block;color:inherit;text-decoration:none}.esc__card-media{position:relative;aspect-ratio:1;overflow:hidden;border-radius:9px;background:#f3f3f3}.esc__card-media>img,.esc__card-media>svg{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.esc__badge{position:absolute;top:9px;left:9px;background:#f7ffb8;color:#212121;padding:5px 8px;border-radius:4px;font-size:12px;line-height:1.2}.esc__plus{position:absolute;bottom:12px;right:12px;width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:white;box-shadow:0 2px 5px #0000000d}.esc__card h2{font:700 18px/1.25 var(--FONT-STACK-BODY,Arial,sans-serif);margin:13px 0 5px;color:inherit;letter-spacing:0}.esc__price{font-size:16px;line-height:1.3;margin:0}.esc__empty{padding:40px 0;text-align:center}.esc__sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(hover:hover){.esc__card-link:hover .esc__card-media>img{transform:scale(1.025)}}
@media(max-width:767px){.esc__banner{height:auto;aspect-ratio:1}.esc__banner-image{object-position:center}.esc__banner-content{padding:24px;height:100%;position:absolute;inset:0}.esc__banner h1{font-size:32px}.esc__banner p{font-size:16px;margin-top:12px}.esc__body{padding:20px 20px 48px}.esc__toolbar{gap:10px;margin-bottom:22px}.esc__filters,.esc__sort{width:calc(50% - 5px)}.esc__filters summary,.esc__sort{min-height:50px;padding:12px 10px;font-size:14px;gap:7px}.esc__filters summary>svg{width:18px;height:18px;flex:none}.esc__sort select{font-size:14px;padding-right:15px}.esc__sort svg{right:9px;width:15px}.esc__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.esc__card h2{font-size:15px;margin-top:12px}.esc__price{font-size:14px}.esc__badge{top:7px;left:7px;font-size:10px;padding:4px 6px}.esc__plus{width:32px;height:32px;bottom:9px;right:9px}.esc__plus svg{width:19px;height:19px}}
@media(prefers-reduced-motion:reduce){.esc__card-media>img{transition:none}}
