:root {
    --pm2-navy: #0d4762;
    --pm2-navy-dark: #08354b;
    --pm2-navy-deep: #062b3d;
    --pm2-yellow: #ffc83d;
    --pm2-yellow-2: #ffd969;
    --pm2-cream: #fbf7ed;
    --pm2-cream-2: #fff2c8;
    --pm2-red: #f94a4f;
    --pm2-ink: #123b50;
    --pm2-muted: #6c7f89;
    --pm2-line: #e8e1d5;
    --pm2-white: #fff;
    --pm2-shadow: 0 24px 70px rgba(6, 43, 61, .11);
    --pm2-card-shadow: 0 14px 38px rgba(6, 43, 61, .09);
    --pm2-radius-xl: 30px;
    --pm2-radius-lg: 22px;
    --pm2-radius-md: 16px;
}


.pm2-shop,
.pm2-shop * {
    box-sizing: border-box;
}

.pm2-shop {
    position: relative;
    overflow: hidden;
    background: var(--pm2-cream);
    color: var(--pm2-ink);
}

.pm2-shop *,
.pm2-shop {
    /*  overflow: visible !important;    */
}

.pm2-shop .container {
    width: min(1280px, calc(100% - 36px));
    max-width: 1280px;
    margin-inline: auto;
}

/* =========================================================
   HERO — much stronger visual break from the old shop page
   ========================================================= */
.pm2-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 390px;
    padding: 62px 0 112px;
    background: radial-gradient(circle at 7% 16%, rgba(255, 200, 61, .17) 0 3px, transparent 4px),
    radial-gradient(circle at 91% 72%, rgba(255, 255, 255, .09) 0 3px, transparent 4px),
    linear-gradient(125deg, var(--pm2-navy-deep) 0%, var(--pm2-navy) 58%, #165b75 100%);
}

.pm2-hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: -6%;
    right: -6%;
    bottom: -96px;
    height: 160px;
    border-radius: 48% 52% 0 0 / 82% 82% 0 0;
    background: var(--pm2-cream);
    transform: rotate(-1.1deg);
}

.pm2-hero__container {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
    align-items: center;
    gap: 72px;
}

.pm2-hero__copy {
    position: relative;
    z-index: 3;
    max-width: 770px;
}

.pm2-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 15px;
    color: var(--pm2-yellow);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
}

.pm2-kicker::before {
    content: "";
    width: 34px;
    height: 2px;
    background: currentColor;
}

.pm2-hero h1 {
    margin: 0;
    color: var(--pm2-white);
    font-size: clamp(38px, 5vw, 66px);
    font-weight: 800;
    line-height: .98;
    letter-spacing: -.045em;
}

.pm2-hero h1 span {
    display: block;
    margin-top: 7px;
    color: var(--pm2-yellow);
}

.pm2-hero__subtitle {
    max-width: 620px;
    margin: 20px 0 0;
    color: rgba(255, 255, 255, .76);
    font-size: 15px;
    line-height: 1.75;
}

.pm2-hero__subtitle--event {
    font-size: 17px;
}

.pm2-address {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: 100%;
    margin-top: 22px;
    padding: 10px 14px 10px 11px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    color: #fff;
    backdrop-filter: blur(10px);
}

.pm2-address__icon {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border-radius: 50%;
    background: var(--pm2-yellow);
    color: var(--pm2-navy-deep);
}

.pm2-address__label {
    color: rgba(255, 255, 255, .68);
    font-size: 12px;
    font-weight: 600;
}

.pm2-address__value {
    overflow: hidden;
    max-width: 450px;
    font-size: 12px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pm2-address__value.hand {
    cursor: pointer;
}

.pm2-personal-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
    padding: 12px 17px;
    border-radius: 999px;
    background: var(--pm2-yellow);
    color: var(--pm2-navy-deep);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    transition: .22s ease;
}

.pm2-personal-link:hover {
    color: var(--pm2-navy-deep);
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(0, 0, 0, .15);
}

.pm2-hero__visual {
    position: relative;
    min-height: 260px;
}

.pm2-visual-card {
    position: absolute;
    border-radius: 28px;
    box-shadow: 0 28px 60px rgba(0, 0, 0, .18);
}

.pm2-visual-card--back {
    top: 7px;
    right: 44px;
    width: 270px;
    height: 230px;
    border: 3px solid rgba(255, 255, 255, .74);
    background: radial-gradient(circle at 45% 42%, #ffd35f 0 13px, transparent 14px),
    radial-gradient(circle at 58% 54%, #f86156 0 17px, transparent 18px),
    radial-gradient(circle at 37% 62%, #8baa4f 0 15px, transparent 16px),
    radial-gradient(circle at 63% 37%, #f1a646 0 12px, transparent 13px),
    radial-gradient(circle at center, #fff 0 31%, #f2eee5 32% 37%, #fff 38% 61%, transparent 62%),
    var(--pm2-yellow);
    transform: rotate(8deg);
}

.pm2-food-dot {
    position: absolute;
    display: block;
    border-radius: 50%;
}

.pm2-food-dot--1 {
    width: 28px;
    height: 28px;
    left: 21px;
    bottom: 24px;
    background: var(--pm2-red);
}

.pm2-food-dot--2 {
    width: 18px;
    height: 18px;
    right: 23px;
    top: 27px;
    background: #89aa4c;
}

.pm2-food-dot--3 {
    width: 12px;
    height: 12px;
    right: 37px;
    bottom: 44px;
    background: var(--pm2-navy-deep);
}

.pm2-visual-card--front {
    z-index: 2;
    left: 2px;
    bottom: 4px;
    width: 185px;
    min-height: 132px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, .7);
    background: rgba(255, 255, 255, .94);
    transform: rotate(-7deg);
}

.pm2-mini-tag {
    width: fit-content;
    padding: 5px 8px;
    border-radius: 999px;
    background: var(--pm2-cream-2);
    color: var(--pm2-navy);
    font-size: 10px;
    font-weight: 800;
}

.pm2-mini-lines {
    display: grid;
    gap: 6px;
    margin: 15px 0;
}

.pm2-mini-lines span {
    display: block;
    height: 5px;
    border-radius: 99px;
    background: #e4e8e9;
}

.pm2-mini-lines span:nth-child(1) {
    width: 88%;
}

.pm2-mini-lines span:nth-child(2) {
    width: 72%;
}

.pm2-mini-lines span:nth-child(3) {
    width: 56%;
}

.pm2-mini-price {
    color: var(--pm2-red);
    font-size: 22px;
    font-weight: 900;
}

.pm2-hero__decor {
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .1);
}

.pm2-hero__decor--one {
    width: 260px;
    height: 260px;
    left: -110px;
    top: 10px;
}

.pm2-hero__decor--two {
    width: 420px;
    height: 420px;
    right: -180px;
    bottom: -210px;
}

/* =============================
   CATALOGUE + FILTER TOOLBAR
   ============================= */
.pm2-catalogue {
    position: relative;
    padding: 0 0 10px;
}

.pm2-catalogue .container {
    max-width: 100% !important;
    padding: 60px 0 0 0;
    margin: 0;
    width: 100% !important;
}

.pm2-food-card img {
    height: 175px !important;
}

.pm2-controls-card {
    position: relative;
    z-index: 8;
    margin-top: -58px;
    border: 1px solid rgba(13, 71, 98, .08);
    border-radius: var(--pm2-radius-xl);
    background: #fff;
    box-shadow: var(--pm2-shadow);
}

.pm2-controls-card__top {
    display: grid;
    grid-template-columns: minmax(300px, 1fr) minmax(190px, .32fr) auto auto;
    align-items: center;
    gap: 12px;
    padding: 16px;
}

.pm2-search-wrap {
    position: relative;
    min-width: 0;
}

.pm2-search-wrap__icon {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 17px;
    color: #78909b;
    transform: translateY(-50%);
    pointer-events: none;
}

.pm2-search-input.form-control {
    height: 54px;
    padding: 0 18px 0 51px;
    border: 1px solid #e3e6e6;
    border-radius: 16px;
    background: #f8faf9;
    color: var(--pm2-ink);
    font-size: 14px;
    box-shadow: none;
}

.pm2-search-input.form-control:focus {
    border-color: rgba(13, 71, 98, .45);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(13, 71, 98, .08);
}

.pm2-sort-wrap {
    position: relative;
    min-width: 0;
}

.pm2-sort-wrap__label {
    position: absolute;
    z-index: 2;
    top: 7px;
    left: 14px;
    color: #8a999f;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    pointer-events: none;
}

.pm2-sort-select.form-select {
    height: 54px;
    padding: 18px 36px 2px 14px;
    border: 1px solid #e3e6e6;
    border-radius: 16px;
    background-color: #f8faf9;
    color: var(--pm2-ink);
    font-size: 12px;
    font-weight: 700;
    box-shadow: none;
}

.pm2-filter-toggle,
.pm2-search-button,
.pm2-apply-button,
.pm2-reset-button {
    border: 0;
    font: inherit;
}

.pm2-filter-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 54px;
    padding: 0 16px;
    border: 1px solid #dfe5e6;
    border-radius: 16px;
    background: #fff;
    color: var(--pm2-navy);
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
    transition: .2s ease;
}

.pm2-filter-toggle:hover,
.pm2-filter-toggle.is-active {
    border-color: rgba(13, 71, 98, .28);
    background: #eef5f6;
}

.pm2-filter-toggle__chevron {
    font-size: 17px;
    transition: transform .2s ease;
}

.pm2-filter-toggle.is-active .pm2-filter-toggle__chevron {
    transform: rotate(180deg);
}


.pm2-controls-card {
    animation: spFadeIn 0.5s;
}

.pm2-controls-card.pm2-is-sticky {
    animation: spFadeInDown 0.5s;
    position: fixed !important;
    top: 158px;
    z-index: 1050;

    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
    width: 100% !important;
    left: 0 !important;
    border-radius: 0;
    text-align: -webkit-center !important;

}


.pm2-is-sticky .pm2-controls-card__top {
    max-width: 1140px;
}


@media (max-width: 767.98px) {
    .pm2-controls-card.pm2-is-sticky {
        top: 127px;
    }

    .pm2-controls-card__top {

        display: inline-flex;
    }
}

.pm2-catalogue .container {
    padding: 60px 0 0 0 !important;
    background: transparent;
}

.pm2-search-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 54px;
    padding: 0 40px;
    border-radius: 16px;
    background: var(--pm2-yellow);
    color: var(--pm2-navy-deep);
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
    transition: .2s ease;
}

.pm2-search-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(255, 200, 61, .28);
}

.pm2-advanced-filters {
    padding: 0 !important;
    overflow: hidden !important;
    max-height: 0;
    border-top: 1px solid transparent;
    opacity: 0;
    transition: max-height .35s ease, opacity .25s ease, border-color .25s ease;
}

.pm2-advanced-filters.is-open {
    max-height: 850px;
    border-top-color: #edf0ee;
    opacity: 1;
}

.pm2-filter-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .48fr);
    gap: 26px;
    padding: 25px 24px 20px;
}

.pm2-filter-block {
    min-width: 0;
}

.pm2-filter-block--wide {
    grid-row: span 2;
}

.pm2-filter-heading {
    margin-bottom: 12px;
    color: var(--pm2-navy);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.pm2-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.pm2-chip {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 40px;
    padding: 7px 9px 7px 11px;
    border: 1px solid #e2e7e6;
    border-radius: 999px;
    background: #fafcfb;
    color: #365a6b;
    cursor: pointer;
    user-select: none;
    transition: .18s ease;
}

.pm2-chip input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.pm2-chip__check {
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border: 1px solid #cdd8d9;
    border-radius: 50%;
    color: transparent;
    font-size: 11px;
    font-weight: 900;
    transition: .18s ease;
}

.pm2-chip__text {
    font-size: 11px;
    font-weight: 800;
}

.pm2-chip__count {
    display: grid;
    place-items: center;
    min-width: 24px;
    height: 24px;
    padding: 0 6px;
    border-radius: 999px;
    background: #eef1ef;
    color: #6d8188;
    font-size: 10px;
    font-weight: 900;
}

.pm2-chip:hover {
    border-color: rgba(13, 71, 98, .26);
    background: #f2f7f7;
}

.pm2-chip:has(input:checked) {
    border-color: var(--pm2-navy);
    background: var(--pm2-navy);
    color: #fff;
}

.pm2-chip:has(input:checked) .pm2-chip__check {
    border-color: var(--pm2-yellow);
    background: var(--pm2-yellow);
    color: var(--pm2-navy-deep);
}

.pm2-chip:has(input:checked) .pm2-chip__count {
    background: rgba(255, 255, 255, .14);
    color: #fff;
}

.pm2-chip--spicy:has(input:checked) {
    border-color: var(--pm2-red);
    background: var(--pm2-red);
}

.pm2-price-fields {
    display: flex;
    align-items: center;
    gap: 9px;
}

.pm2-price-field {
    position: relative;
    flex: 1 1 0;
}

.pm2-price-field > span {
    position: absolute;
    z-index: 2;
    left: 12px;
    top: 50%;
    color: #86979d;
    font-size: 12px;
    transform: translateY(-50%);
}

.pm2-price-field .form-control {
    height: 44px;
    padding: 0 9px 0 25px;
    border: 1px solid #e0e5e4;
    border-radius: 13px;
    background: #fafcfb;
    font-size: 12px;
    box-shadow: none;
}

.pm2-price-field .form-control:focus {
    border-color: rgba(13, 71, 98, .45);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(13, 71, 98, .07);
}

.pm2-price-separator {
    color: #a5b0b3;
}

.pm2-filter-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 0 24px 22px;
}

.pm2-reset-button,
.pm2-apply-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 13px;
    font-size: 11px;
    font-weight: 900;
}

.pm2-reset-button {
    border: 1px solid #dfe5e5;
    background: #fff;
    color: var(--pm2-navy);
}

.pm2-apply-button {
    background: var(--pm2-navy);
    color: #fff;
}

/* =============================
   PRODUCT AREA
   ============================= */
.pm2-products-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 30px;
    padding: 46px 2px 24px;
}

.pm2-products-head__kicker {
    display: block;
    margin-bottom: 6px;
    color: var(--pm2-red);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .13em;
}

.pm2-products-head h2 {
    margin: 0;
    color: var(--pm2-navy-deep);
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -.035em;
}

.pm2-products-head__note {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding-bottom: 4px;
    color: #778a92;
    font-size: 11px;
    font-weight: 700;
}

.pm2-products-head__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #89aa4c;
    box-shadow: 0 0 0 5px rgba(137, 170, 76, .12);
}

.pm2-product-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
    margin: 0 !important;
}

/* Override Bootstrap row/col geometry if the renderer adds it. */
.pm2-product-grid > .row-action,
.pm2-product-grid > [class*="row-action"] {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: none !important;
}

/* The renderer receives pm2-food-card in $class; styling is intentionally
   resilient to whether that class lands on the outer card or its grid item. */
.pm2-food-card {
    position: relative;
    min-width: 0;
    height: 100%;
    border: 1px solid #e7e1d6 !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: 0 8px 25px rgba(6, 43, 61, .065);
    overflow: hidden !important;
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.pm2-food-card:not(.row-0){
    display: none;
}
.pm2-food-card:hover {
    z-index: 2;
    border-color: rgba(13, 71, 98, .2) !important;
    transform: translateY(-6px);
    box-shadow: 0 20px 48px rgba(6, 43, 61, .13);
}

.pm2-food-card img {
    display: block;
    width: 100% !important;
    max-width: 100%;
    object-fit: cover;
}

.pm2-food-card > img,
.pm2-food-card .card-img-top,
.pm2-food-card .food-image img,
.pm2-food-card .image img {
    aspect-ratio: 1.26 / 1;
    object-fit: cover;
}

.pm2-food-card .card,
.pm2-food-card .card-body,
.pm2-food-card .food-box,
.pm2-food-card .food-content {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.pm2-food-card h1,
.pm2-food-card h2,
.pm2-food-card h3,
.pm2-food-card h4,
.pm2-food-card h5,
.pm2-food-card h6,
.pm2-food-card .title,
.pm2-food-card .food-title {
    color: var(--pm2-navy-deep) !important;
    font-weight: 800 !important;
    line-height: 1.34 !important;
}

.pm2-food-card .price,
.pm2-food-card [class*="price"] {
    color: var(--pm2-navy-deep) !important;
    font-weight: 900 !important;
}

.pm2-food-card .btn,
.pm2-food-card button,
.pm2-food-card a.btn {
    border-radius: 999px !important;
    font-weight: 800 !important;
    transition: .18s ease;
}

.pm2-food-card .btn-primary,
.pm2-food-card .btn-warning,
.pm2-food-card .addtocart,
.pm2-food-card [class*="add-to-cart"] {
    border-color: var(--pm2-yellow) !important;
    background: var(--pm2-yellow) !important;
    color: var(--pm2-navy-deep) !important;
}

.pm2-food-card .btn-primary:hover,
.pm2-food-card .btn-warning:hover,
.pm2-food-card .addtocart:hover,
.pm2-food-card [class*="add-to-cart"]:hover {
    border-color: var(--pm2-yellow) !important;

    color: #fff !important;
}

.pm2-food-card .btn-outline-primary {
    border-color: rgba(13, 71, 98, .35) !important;
    color: var(--pm2-navy) !important;
}

.pm2-load-more-wrap {
    display: flex;
    justify-content: center;
    padding: 4px 0 20px;
}

.pm2-load-more.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 150px;
    min-height: 46px;
    border: 1px solid rgba(13, 71, 98, .35) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: var(--pm2-navy) !important;
    font-size: 11px;
    font-weight: 900;
    box-shadow: 0 7px 20px rgba(6, 43, 61, .06);
}

.pm2-load-more:hover {
    background: var(--pm2-navy) !important;
    color: #fff !important;
}

.pm2-pagination {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-top: 22px;
}

.pm2-pagination__counter {
    color: #6e8189;
    font-size: 11px;
    font-weight: 800;
}

.pm2-pagination ul,
.pm2-pagination .pagination {
    display: flex;
    gap: 5px;
    margin: 0;
    padding: 0;
}

.pm2-pagination a,
.pm2-pagination span.page-link {
    display: grid;
    place-items: center;
    min-width: 36px;
    height: 36px;
    border: 1px solid #e1e5e4 !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: var(--pm2-navy) !important;
    font-size: 11px;
    text-decoration: none;
}

.pm2-pagination .active .page-link,
.pm2-pagination .active > a,
.pm2-pagination .active > span {
    border-color: var(--pm2-yellow) !important;
    background: var(--pm2-yellow) !important;
    color: var(--pm2-navy-deep) !important;
}

.pm2-empty-state {
    padding: 70px 24px;
    border: 1px dashed #d9dfdc;
    border-radius: 28px;
    background: rgba(255, 255, 255, .7);
    text-align: center;
}

.pm2-empty-state__plate {
    display: grid;
    place-items: center;
    width: 72px;
    height: 72px;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: var(--pm2-cream-2);
    font-size: 31px;
}

.pm2-empty-state h3 {
    margin: 0 0 8px;
    color: var(--pm2-navy-deep);
    font-size: 24px;
    font-weight: 800;
}

.pm2-empty-state p {
    margin: 0 0 18px;
    color: var(--pm2-muted);
}

/* =============================
   RESPONSIVE
   ============================= */
@media (max-width: 1199.98px) {
    .pm2-shop .container {
        width: min(1120px, calc(100% - 32px));
    }

    .pm2-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pm2-controls-card__top {
        grid-template-columns: minmax(240px, 1fr) minmax(175px, .36fr) auto auto;
    }

    .pm2-search-button {
        min-width: 112px;
    }
}

@media (max-width: 991.98px) {
    .pm2-hero {
        min-height: 0;
        padding: 52px 0 105px;
    }

    .pm2-hero__container {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .pm2-hero__visual {
        position: absolute;
        right: 5%;
        top: 58px;
        width: 230px;
        opacity: .28;
        transform: scale(.9);
        pointer-events: none;
    }

    .pm2-hero__copy {
        max-width: calc(100% - 170px);
    }

    .pm2-controls-card__top {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .pm2-search-wrap {
        grid-column: 1 / -1;
    }

    .pm2-sort-wrap {
        grid-column: 1;
    }

    .pm2-filter-toggle {
        grid-column: 2;
        grid-row: auto;
        margin-right: 0;
    }

    .pm2-search-button {
        grid-column: 2;
        grid-row: 2;
        display: none;
    }

    .pm2-filter-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .pm2-filter-block--wide {
        grid-row: auto;
    }

    .pm2-advanced-filters.is-open {
        max-height: 1200px;
    }

    .pm2-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .pm2-shop .container {
        width: min(100% - 24px, 700px);
    }

    .pm2-hero {
        padding: 42px 0 92px;
    }

    .pm2-hero__copy {
        max-width: 100%;
    }

    .pm2-hero__visual {
        display: none;
    }

    .pm2-hero h1 {
        font-size: clamp(34px, 11vw, 50px);
    }

    .pm2-address {
        align-items: flex-start;
        border-radius: 18px;
    }

    .pm2-address__value {
        max-width: 58vw;
        white-space: normal;
    }

    .pm2-controls-card {
        margin-top: -42px;
        border-radius: 22px;
    }

    .pm2-controls-card__top {
        gap: 10px;
        padding: 12px;
    }

    .pm2-sort-wrap {
        min-width: 0;
    }

    .pm2-filter-toggle {
        padding-inline: 13px;
    }

    .pm2-filter-toggle span:nth-of-type(1) {

    }

    .pm2-filter-grid {
        padding: 21px 16px 16px;
    }

    .pm2-filter-footer {
        padding: 0 16px 18px;
    }

    .pm2-products-head {
        align-items: flex-start;
        padding-top: 36px;
    }

    .pm2-products-head__note {
        display: none;
    }

    .pm2-product-grid {
        gap: 14px;
    }
}

@media (max-width: 559.98px) {
    .pm2-product-grid {
        grid-template-columns: 1fr;
    }

    .pm2-products-head h2 {
        font-size: 28px;
    }

    .pm2-chip {
        min-height: 38px;
    }

    .pm2-price-fields {
        align-items: stretch;
        flex-direction: column;
    }

    .pm2-price-separator {
        display: none;
    }

    .pm2-filter-footer {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pm2-shop *,
    .pm2-shop *::before,
    .pm2-shop *::after {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }
}
