/* Keep dynamic hero positions outside the pruned page bundle. */
.ess-v11 .shop-page-hero__category--1{inset:16% auto auto 2%}
.ess-v11 .shop-page-hero__category--2{inset:26% 0 auto auto}
.ess-v11 .shop-page-hero__category--3{inset:auto auto 13% 5%}

/* Use the same full shell width as the heading and store list. */
.ess-v11 .shop-category-section .shop-category-scroll{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    overflow:visible;
    scroll-snap-type:none;
}
.ess-v11 .shop-category-section .shop-category-scroll .shop-category-pill{
    width:100%;
    min-width:0;
    max-width:none;
}
.ess-v11 .shop-category-pill__copy{min-width:0;overflow-wrap:anywhere}

@media(max-width:1100px){
    .ess-v11 .shop-category-section .shop-category-scroll{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1200px){
    /* Compact screens place the decorative labels below the logo. */
    .ess-v11 .shop-page-hero__visual{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        align-content:end;
        gap:10px;
        min-height:350px;
        padding-top:245px;
    }
    .ess-v11 .shop-page-hero__orb,
    .ess-v11 .shop-page-hero__bag{top:120px}
    .ess-v11 .shop-page-hero__category,
    .ess-v11 .shop-page-hero__card--two{
        position:relative;
        inset:auto;
        min-width:0;
        width:auto;
        margin:0;
        align-self:stretch;
    }
    .ess-v11 .shop-page-hero__category>span:last-child{min-width:0;overflow-wrap:anywhere}
    .ess-v11 .shop-page-hero__card--two{flex-direction:column;justify-content:center;gap:2px;align-items:flex-start}
}
@media(max-width:760px){
    .ess-v11 .shop-category-section .shop-category-scroll{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
    .ess-v11 .shop-category-section .shop-category-scroll{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:360px){
    .ess-v11 .shop-page-hero__category{gap:6px;padding:8px}
}

/* Store directory: compact, content-led cards and matching section titles. */
.ess-v11 .shop-section-heading h2{
    font-size:clamp(32px,3.4vw,48px)!important;
    line-height:1.1!important;
    letter-spacing:-.035em;
}
.ess-v11 .shop-section-heading--stores{margin-bottom:0}
.shop-directory-note{margin-top:14px;margin-bottom:24px;color:var(--pg-muted);font-size:calc(.8125rem * var(--public-font-scale,1));line-height:1.65}
.ess-v11 .shop-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.ess-v11 .shop-directory--single{grid-template-columns:minmax(0,1fr);max-width:920px}
.store-listing{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    min-width:0;
    border:1px solid var(--pg-line);
    border-radius:24px;
    background:var(--pg-glass);
    box-shadow:var(--pg-shadow);
    overflow:hidden;
    transition:border-color .18s,box-shadow .18s;
}
.store-listing:hover{border-color:var(--pg-focus);box-shadow:0 16px 36px #183d2c12}
.store-listing__media{position:relative;min-width:0;min-height:0;height:auto;aspect-ratio:16/9;background:var(--pg-soft)}
.store-listing__media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;background:var(--pg-soft)}
.store-listing__fallback{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;gap:12px;padding:18px;text-align:center;color:var(--pg-ink);background:radial-gradient(circle at 0 0,#ff8b0318,transparent 70%),var(--pg-soft)}
.store-listing__fallback>.ess-ui-icon{width:42px;height:42px;opacity:.6}
.store-listing__fallback>span{font-size:calc(.6875rem * var(--public-font-scale,1));font-weight:700;line-height:1.6;overflow-wrap:anywhere}
.store-listing__body{display:flex;flex-direction:column;gap:14px;min-width:0;padding:22px}
.store-listing__topline{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.store-listing__category{font-size:calc(.6875rem * var(--public-font-scale,1));font-weight:800;color:var(--pg-accent);line-height:1.4}
.store-listing__status{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 9px;border:1px solid var(--pg-line);border-radius:999px;color:var(--pg-ink);background:var(--pg-soft);font-size:calc(.625rem * var(--public-font-scale,1));font-weight:700;line-height:1.5}
.store-listing__status>i{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#258248}
.store-listing__status.is-paused>i{background:#c76517}
.store-listing__identity{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;align-items:start}
.store-listing__logo{position:relative;display:grid;place-items:center;width:100px;height:100px;overflow:hidden;border:1px solid var(--pg-line);border-radius:20px;background:var(--pg-panel);color:var(--pg-accent);font:900 36px Nunito,sans-serif}
.store-listing__logo>img{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);object-fit:contain;border-radius:16px;background:var(--pg-panel)}
.store-listing__identity h3{margin:0;font-family:Nunito,sans-serif;font-size:calc(1.25rem * var(--public-font-scale,1));font-weight:900;line-height:1.2;letter-spacing:-.02em;color:var(--pg-ink);overflow-wrap:anywhere}
.store-listing__description{margin:0;color:var(--pg-muted);font-size:calc(.75rem * var(--public-font-scale,1));line-height:1.7;overflow-wrap:anywhere}
.store-listing__location{display:flex;gap:8px;align-items:flex-start;color:var(--pg-muted);font-size:calc(.6875rem * var(--public-font-scale,1));line-height:1.65;overflow-wrap:anywhere}
.store-listing__location>.ess-ui-icon{flex:0 0 16px;width:16px;height:16px;margin-top:2px;color:var(--pg-accent)}
.store-listing__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding-top:15px;margin-top:auto;border-top:1px solid var(--pg-line)}
.store-listing__facts{display:flex;flex-wrap:wrap;gap:16px;margin:0}
.store-listing__facts dt{font-size:calc(.625rem * var(--public-font-scale,1));line-height:1.5;color:var(--pg-muted)}
.store-listing__facts dd{margin:3px 0 0;color:var(--pg-ink);font-size:calc(.75rem * var(--public-font-scale,1));font-weight:800;line-height:1.5}
.ess-v11 .store-listing__cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;max-width:100%;padding:10px 14px;border-radius:12px;background:linear-gradient(130deg,#ff8b03,#ff520f)!important;color:#fff!important;text-decoration:none!important;font-size:calc(.6875rem * var(--public-font-scale,1));font-weight:800;line-height:1.5}
.ess-v11 .store-listing__cta:hover{filter:brightness(.96)}
.store-listing__cta>.ess-ui-icon{flex:0 0 17px;width:17px;height:17px}
@media(max-width:1100px){.ess-v11 .shop-directory{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){
    .store-listing{grid-template-columns:minmax(0,1fr);border-radius:20px}
    .store-listing__media{min-height:0;height:auto;aspect-ratio:16/9}
    .store-listing__fallback{flex-direction:row;gap:12px}
    .store-listing__fallback>.ess-ui-icon{width:30px;height:30px}
    .store-listing__body{padding:18px;gap:12px}
    .store-listing__footer{align-items:flex-start}
    .ess-v11 .store-listing__cta{width:100%}
}
@media(prefers-reduced-motion:reduce){.store-listing{transition:none}}

/* Artwork fills fallback banners; portrait uploads cannot become store banners. */
.store-listing__media>img[hidden]{display:none!important}
.store-listing__fallback{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;padding:24px;text-align:left;background:radial-gradient(circle at 85% 35%,#ff8b0324,transparent 65%),linear-gradient(135deg,var(--pg-soft),var(--pg-panel))}
.store-listing__fallback>.store-listing__fallback-title{font-family:Nunito,sans-serif;font-size:calc(1.5rem * var(--public-font-scale,1));font-weight:900;line-height:1.2;overflow-wrap:anywhere}
.store-listing__art{display:grid;place-items:center;justify-self:center;width:min(100%,170px);height:140px}
.store-listing__art .ess-category-fallback{display:grid;place-items:center;width:100%;height:100%}
.store-listing__art img{width:100%;height:100%;object-fit:contain}
.store-listing .store-listing__art .ess-ui-icon{width:92px!important;height:92px!important;color:var(--pg-ink)}
@media(max-width:600px){
    .store-listing__fallback{padding:18px;gap:12px}
    .store-listing__art{height:110px}
    .store-listing__fallback>.store-listing__fallback-title{font-size:calc(1rem * var(--public-font-scale,1))}
    .store-listing .store-listing__art .ess-ui-icon{width:68px!important;height:68px!important}
}

/* Keep store copy together beside its logo; use full-width text on phones. */
.store-listing__copy{display:grid;gap:10px;min-width:0;align-self:center}
@media(max-width:600px){
    .store-listing__copy{display:contents}
    .store-listing__identity h3{align-self:center}
    .store-listing__identity .store-listing__description,
    .store-listing__identity .store-listing__location{grid-column:1/-1}
}

/* A loaded banner replaces the entire fallback, including remote artwork. */
.store-listing__fallback{z-index:0}
.store-listing__fallback[hidden]{display:none!important}
.store-listing__media>img{z-index:1}
.store-listing .store-listing__art{position:relative;isolation:isolate;overflow:hidden}
.store-listing .store-listing__art>.public-category-media__remote{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
