.en-shop-catalog { display: grid; gap: 1.5rem; padding: 1.25rem 0 3rem; }
.en-shop-hero, .en-shop-category {
    border: 1px solid #2a3a50;
    border-radius: 1rem;
    background: linear-gradient(125deg, #152a39, #161d2b 70%);
    color: #f1f6fd;
}
.en-shop-hero { padding: clamp(1.25rem, 4vw, 2.75rem); }
.en-shop-hero-art {
    position: relative;
    isolation: isolate;
    display: grid;
    align-content: end;
    min-height: clamp(12rem, 26vw, 19rem);
    overflow: hidden;
}
.en-shop-hero-image {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 62% 50%;
}
.en-shop-hero-art::before {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(9,16,26,.93), rgba(9,16,26,.66) 44%, rgba(9,16,26,.12)), linear-gradient(0deg, rgba(9,16,26,.78), transparent 66%);
    content: "";
}
.en-shop-hero-art > :not(img) { max-width: 40rem; }
.en-shop-hero h1 { color: inherit; margin: .35rem 0 .55rem; font-size: clamp(1.8rem, 4vw, 3.2rem); letter-spacing: -.035em; }
.en-shop-hero p, .en-shop-category p { color: #b6c7d8; margin-bottom: 0; }
.en-shop-eyebrow { color: #60dcec; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; font-size: .75rem; }
.en-shop-trail { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .7rem; font-size: .92rem; }
.en-shop-trail a { color: var(--bs-link-color, #33c8e3); }
.en-shop-category-grid, .en-shop-product-grid {
    display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
}
.en-shop-product-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); }
.en-shop-category-grid-root { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.en-shop-category {
    display: flex; flex-direction: column; overflow: hidden; min-width: 0;
    background: #172233;
}
.en-shop-category > img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.en-shop-category-grid-root .en-shop-category > img { aspect-ratio: 16 / 7; }
.en-shop-category-body { display: flex; align-items: flex-start; flex: 1; flex-direction: column; padding: clamp(1rem, 2.6vw, 1.65rem); }
.en-shop-category-icon { padding: .55rem .75rem; border-radius: .6rem; color: #79e6f0; background: #203b4b; }
.en-shop-category h2 { color: inherit; margin: .9rem 0 .35rem; font-size: 1.4rem; }
.en-shop-category > img + .en-shop-category-body h2 { margin-top: 0; }
.en-shop-category-link { display: inline-flex; gap: .65rem; margin-top: auto; padding-top: 1.1rem; color: #86e7f1; font-weight: 700; }
.en-shop-category-link:hover, .en-shop-category-link:focus-visible { color: #d4fbff; text-decoration: underline; }
.en-shop-prose { overflow-wrap: anywhere; }
.en-shop-prose p + p { margin-top: .75rem; }
.en-shop-prose > :last-child { margin-bottom: 0; }
.en-shop-list-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: .75rem; margin-bottom: .85rem; }
.en-shop-list-head h2 { font-size: 1.35rem; margin: 0; }
.en-shop-list-head small { font-size: .78rem; background: #203348; color: #d5ecfc; border-radius: 2rem; padding: .25rem .55rem; margin-inline-start: .35rem; }
.en-shop-search { display: grid; gap: .3rem; max-width: 100%; font-weight: 600; }
.en-shop-search input { min-width: 0; border: 1px solid #405777; border-radius: .55rem; padding: .55rem .75rem; color: inherit; background: var(--bs-body-bg, #101823); font: inherit; }
.en-shop-search[hidden], .en-shop-product[hidden] { display: none; }
.en-shop-product { min-width: 0; }
.en-shop-product .card { border: 1px solid #2a3a50 !important; }
.en-shop-product .en-store-card-media { aspect-ratio: 16 / 9; min-height: 0; height: auto; }
.en-shop-product .en-store-card-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.en-shop-product .store-product-placeholder { display: grid; place-items: center; min-height: 4rem; height: auto; aspect-ratio: auto; color: #83dce8; background: linear-gradient(110deg, #192e45, #23334c); }
.en-shop-product .card-body { gap: .45rem; }
.en-shop-product .card-text p:last-child { margin-bottom: 0; }
@media (max-width: 480px) {
    .en-shop-hero-art::before { background: linear-gradient(0deg, rgba(9,16,26,.96), rgba(9,16,26,.73) 57%, rgba(9,16,26,.16)); }
    .en-shop-category-grid-root .en-shop-category > img { aspect-ratio: 16 / 9; }
    .en-shop-search { width: 100%; }
    .en-shop-category-grid, .en-shop-product-grid { grid-template-columns: minmax(0, 1fr); }
}
