

/* Start:/local/templates/petdiet/css/base-header.css?178109654416094*/
:root {
    --pd-green: #1f5b42;
    --pd-green-dark: #0d3223;
    --pd-blue: #a9d1de;
    --pd-mint: #dfeee7;
    --pd-text: #1f5b42;
    --pd-muted: #5e756b;
    --pd-border: #d7e5de;
    --pd-white: #fff;
    --pd-shadow: 0 14px 42px rgba(31, 91, 66, 0.12);
}

@font-face {
    font-family: "Extenda";
    src: url("/local/templates/petdiet/fonts/Zetafonts-Extenda-40.woff") format("woff");
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body.pd-body {
    margin: 0;
    overflow-x: hidden;
    color: var(--pd-text);
    background: var(--pd-white);
    font-family: Inter, Roboto, sans-serif;
    font-size: 16px;
    line-height: 1.45;
}

.pd-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

a {
    color: inherit;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
    outline: 3px solid rgba(31, 91, 66, 0.58);
    outline-offset: 3px;
}

img {
    max-width: 100%;
    display: block;
}

.pd-container {
    width: min(1200px, calc(100% - 32px));
    margin: 0 auto;
}

.pd-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: #fff;
    box-shadow: 0 1px 0 rgba(31, 91, 66, 0.08);
}

.pd-header__notice {
    background: var(--pd-blue);
    color: #fff;
    font-size: 10px;
    height: 24px;
    overflow: hidden;
}

.pd-header__notice-track {
    height: 24px;
    display: flex;
    align-items: center;
    white-space: nowrap;
    will-change: transform;
    animation: pd-notice-marquee 18s linear infinite;
}

.pd-header__notice-track span {
    flex: 0 0 auto;
    margin-right: 39px;
    line-height: 16px;
}

@keyframes pd-notice-marquee {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-759px);
    }
}

.pd-header__bar {
    width: calc(100% - 48px);
    max-width: none;
    min-height: 57px;
    position: relative;
    display: flex;
    align-items: center;
    gap: 18px;
}

.pd-header__logo img {
    width: 120px;
}

.pd-footer__logo img {
    width: 100px;
}

.pd-header__logo {
    margin-left: 0;
    position: relative;
    z-index: 2;
}

.pd-header__nav {
    position: static;
    flex: 1 1 auto;
    z-index: 1;
    transform: none;
}

.pd-menu,
.pd-footer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pd-footer-menu,
.pd-footer-menu li {
    display: contents;
}

.pd-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
}

.pd-menu__item {
    position: relative;
}

.pd-menu__link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 20.5px;
    color: var(--pd-green);
    font-size: 12px;
    font-weight: 700;
    line-height: 20.5px;
    text-decoration: none;
    white-space: nowrap;
}

.pd-menu > .pd-menu__item:nth-child(1) > .pd-menu__link {
    width: 54px;
}

.pd-menu > .pd-menu__item:nth-child(2) > .pd-menu__link {
    width: 139.2px;
}

.pd-menu > .pd-menu__item:nth-child(3) > .pd-menu__link {
    width: 90px;
}

.pd-menu > .pd-menu__item:nth-child(4) > .pd-menu__link {
    width: 127.2px;
}

.pd-menu > .pd-menu__item:nth-child(5) > .pd-menu__link {
    width: 66px;
}

.pd-menu > .pd-menu__item:nth-child(6) > .pd-menu__link {
    width: 127.2px;
}

.pd-menu > .pd-menu__item:nth-child(7) > .pd-menu__link {
    width: 76.8px;
}

.pd-menu > .pd-menu__item:nth-child(8) > .pd-menu__link {
    width: 55.2px;
}

.pd-menu > .pd-menu__item:nth-child(9) > .pd-menu__link {
    width: 67.2px;
}

.pd-menu__item--has-children > .pd-menu__link {
    padding-right: 14px;
}

.pd-menu__item--has-children > .pd-menu__link::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 6px;
    height: 6px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: translateY(-70%) rotate(45deg);
    transition: transform 0.2s ease;
}

.pd-menu__link:hover,
.pd-menu__item--active .pd-menu__link {
    color: var(--pd-green-dark);
}

.pd-submenu {
    position: absolute;
    top: calc(100% + 24px);
    left: 50%;
    z-index: 20;
    width: 250px;
    min-width: 250px;
    min-height: 0;
    margin: 0;
    padding: 18px 0;
    list-style: none;
    border: 0;
    border-radius: 20px;
    background: #a9d0de;
    box-shadow: 0 10px 40px -2px rgba(0, 11, 48, 0.3);
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, 8px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    pointer-events: none;
}

.pd-menu__item > .pd-submenu:has(> .pd-submenu__item--has-children:hover),
.pd-menu__item > .pd-submenu:has(> .pd-submenu__item--has-children:focus-within) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* The tall flyout (Особенности здоровья, 13 items) is the 2nd-to-last item. Use
   nth-last-child so the size lands on it regardless of the JS-injected .pd-submenu__head
   (which prepends a child and shifts every nth-child index by one). */
.pd-menu__item > .pd-submenu:has(> .pd-submenu__item--has-children:nth-last-child(2):hover),
.pd-menu__item > .pd-submenu:has(> .pd-submenu__item--has-children:nth-last-child(2):focus-within) {
    min-height: 525px;
}

.pd-menu__item > .pd-submenu--single {
    border-radius: 20px;
}

.pd-submenu::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -24px;
    height: 24px;
}

.pd-submenu::before {
    content: "";
    position: absolute;
    top: -20px;
    left: 50%;
    display: block;
    width: 0;
    height: 0;
    border-right: 20px solid transparent;
    border-bottom: 20px solid #a9d0de;
    border-left: 20px solid transparent;
    transform: translateX(-50%);
}

.pd-menu__item > .pd-submenu {
    overflow: visible;
}

.pd-submenu .pd-submenu {
    top: 0;
    bottom: 0;
    left: 100%;
    width: 250px;
    min-width: 250px;
    min-height: 100%;
    height: auto;
    padding: 18px 0;
    border-radius: 0 20px 20px 0;
    background: #93b8c6;
    transform: translate(8px, 0);
    box-shadow: 0 10px 40px -2px rgba(0, 11, 48, 0.3);
    clip-path: inset(-60px -60px -60px 0);
}

.pd-submenu--single .pd-submenu__item--has-children {
    position: relative;
}

.pd-submenu .pd-submenu::after {
    display: none;
}

.pd-submenu .pd-submenu::before {
    display: none;
}

.pd-menu__item:hover > .pd-submenu,
.pd-menu__item:focus-within > .pd-submenu,
.pd-submenu__item:hover > .pd-submenu,
.pd-submenu__item:focus-within > .pd-submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.pd-menu__item:hover > .pd-submenu,
.pd-menu__item:focus-within > .pd-submenu {
    transform: translate(-50%, 0);
}

.pd-submenu__item:hover > .pd-submenu,
.pd-submenu__item:focus-within > .pd-submenu {
    transform: translate(0, 0);
}

.pd-menu__item--has-children:hover > .pd-menu__link::after,
.pd-menu__item--has-children:focus-within > .pd-menu__link::after {
    transform: translateY(-35%) rotate(225deg);
}

.pd-submenu__item {
    margin-bottom: 12px;
    padding-right: 20px;
    padding-left: 20px;
}

.pd-submenu__item:last-child {
    margin-bottom: 0;
}

.pd-submenu .pd-submenu .pd-submenu__item {
    padding-right: 20px;
    padding-left: 20px;
}

.pd-submenu .pd-submenu .pd-submenu__link {
    white-space: normal;
}

.pd-submenu__link {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 0;
    width: 100%;
    padding: 0;
    color: #fff;
    font-family: Inter, Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.15s ease, opacity 0.15s ease;
}

.pd-submenu__item--has-children > .pd-submenu__link::after {
    display: none;
}

.pd-submenu__link .t978__menu-item_arrow {
    display: inline-block;
    width: 0;
    height: 0;
    margin-top: 1px;
    margin-right: 1px;
    margin-left: auto;
    border-style: solid;
    border-width: 3px 0 3px 4px;
    border-color: transparent;
    border-left-color: currentColor;
    transform: none;
    transition: all 0.3s;
}

.pd-submenu__item--has-children:hover > .pd-submenu__link .t978__menu-item_arrow,
.pd-submenu__item--has-children:focus-within > .pd-submenu__link .t978__menu-item_arrow {
    transform: rotate(180deg);
}

.pd-submenu__link:hover {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 7px;
}

.pd-header__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    flex: 0 0 72px;
    transform: translateX(-11px);
    position: relative;
    z-index: 2;
}

.pd-icon-link,
.pd-cart-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: var(--pd-green);
    text-decoration: none;
}

.pd-cart-link {
    order: -1;
}

.pd-icon-link__person,
.pd-cart-link__icon {
    width: 24px;
    height: 24px;
    display: block;
}

.pd-icon-link__person {
    background: url("/local/tilda-home/images/tild6563-3365-4963-b534-303231306430__lk.svg") center / contain no-repeat;
}

.pd-cart-link__icon {
    position: relative;
    border-radius: 42% 48% 43% 47% / 48% 43% 52% 45%;
    background: #205c42;
    overflow: visible;
}

.pd-cart-link__icon::before {
    content: "";
    position: absolute;
    inset: 3px;
    background: url("/local/tilda-home/images/tild6334-3163-4439-a534-653938656230__cart.svg") center / contain no-repeat;
}

.pd-cart-link__count {
    position: absolute;
    right: -6px;
    top: -7px;
    min-width: 13px;
    height: 13px;
    padding: 0 3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--pd-blue);
    color: #fff;
    font-size: 8px;
    font-weight: 800;
}

@media (min-width: 1441px) {
    .pd-header__notice,
    .pd-header__notice-track {
        height: 34px;
    }

    .pd-header__notice {
        font-size: 16px;
    }

    .pd-header__notice-track span {
        margin-right: 55px;
        line-height: 26px;
    }

    .pd-header__bar {
        display: grid;
        width: calc(100% - 68px);
        min-height: 81px;
        grid-template-columns: 240px minmax(0, 1fr) 76px;
        gap: 18px;
    }

    .pd-header__logo img {
        width: 171px;
    }

    .pd-menu {
        gap: 16px;
    }

    .pd-menu__link {
        height: 29.1px;
        font-size: 17px;
        line-height: 29.1px;
    }

    .pd-menu > .pd-menu__item:nth-child(1) > .pd-menu__link {
        width: 76.8px;
    }

    .pd-menu > .pd-menu__item:nth-child(2) > .pd-menu__link {
        width: 198px;
    }

    .pd-menu > .pd-menu__item:nth-child(3) > .pd-menu__link {
        width: 128px;
    }

    .pd-menu > .pd-menu__item:nth-child(4) > .pd-menu__link {
        width: 180.9px;
    }

    .pd-menu > .pd-menu__item:nth-child(5) > .pd-menu__link {
        width: 93.9px;
    }

    .pd-menu > .pd-menu__item:nth-child(6) > .pd-menu__link {
        width: 180.9px;
    }

    .pd-menu > .pd-menu__item:nth-child(7) > .pd-menu__link {
        width: 109.2px;
    }

    .pd-menu > .pd-menu__item:nth-child(8) > .pd-menu__link {
        width: 78.5px;
    }

    .pd-menu > .pd-menu__item:nth-child(9) > .pd-menu__link {
        width: 95.6px;
    }

    .pd-menu__item--has-children > .pd-menu__link {
        padding-right: 18px;
    }

    .pd-menu__item--has-children > .pd-menu__link::after {
        width: 7px;
        height: 7px;
        border-right-width: 2px;
        border-bottom-width: 2px;
    }

    .pd-submenu {
        top: calc(100% + 27px);
        width: 250px;
        min-width: 250px;
        min-height: 0;
        padding: 18px 0;
        box-shadow: 0 10px 40px -2px rgba(0, 11, 48, 0.3);
    }

    .pd-submenu::after {
        top: -27px;
        height: 27px;
    }

    .pd-submenu .pd-submenu {
        top: 0;
        width: 250px;
        min-width: 250px;
        height: auto;
        min-height: 100%;
    }

    .pd-submenu__link {
        padding: 0;
        font-size: 14px;
        line-height: 1.35;
    }

    .pd-submenu__item--has-children > .pd-submenu__link::after {
        display: none;
    }

    .pd-header__actions {
        flex-basis: auto;
        gap: 16px;
        transform: none;
    }

    .pd-icon-link,
    .pd-cart-link,
    .pd-icon-link__person,
    .pd-cart-link__icon {
        width: 34px;
        height: 34px;
    }

    .pd-cart-link__count {
        right: -8px;
        top: -10px;
        min-width: 18px;
        height: 18px;
        font-size: 11px;
    }
}

@media (min-width: 1441px) and (max-width: 1680px) {
    .pd-menu > .pd-menu__item:nth-child(9) {
        display: none;
    }
}

@media (min-width: 1441px) and (max-width: 1580px) {
    .pd-menu > .pd-menu__item:nth-child(6) {
        display: none;
    }
}

.pd-header__burger {
    display: none;
    width: 38px;
    height: 38px;
    border: 0;
    background: transparent;
    padding: 8px;
}

.pd-header__burger span {
    display: block;
    height: 2px;
    margin: 5px 0;
    background: var(--pd-green);
    transition: transform 0.18s ease, opacity 0.18s ease;
}

@media (max-width: 1200px) {
    .pd-header {
        box-shadow: none;
    }

    .pd-header__bar {
        display: grid;
        grid-template-columns: auto 1fr auto auto;
        grid-template-rows: 58px auto;
        min-height: 58px;
        align-items: center;
    }

    .pd-header__logo {
        grid-column: 1;
        grid-row: 1;
        margin-left: 0;
    }

    .pd-header__logo img {
        width: 74px;
    }

    .pd-header__burger {
        display: block;
        grid-column: 4;
        grid-row: 1;
        align-self: center;
    }

    .pd-header__actions {
        flex-basis: auto;
        grid-column: 3;
        grid-row: 1;
        justify-content: end;
        transform: none;
    }

    .pd-header__nav {
        position: static;
        transform: none;
        display: none;
        grid-column: 1 / -1;
        grid-row: 2;
        margin-top: 0;
        padding: 8px 0 18px;
        background: #fff;
    }

    .pd-menu-open .pd-header__nav {
        display: block;
    }

    .pd-menu-open .pd-header__burger span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    .pd-menu-open .pd-header__burger span:nth-child(2) {
        opacity: 0;
    }

    .pd-menu-open .pd-header__burger span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    .pd-menu {
        display: grid;
        justify-content: stretch;
        gap: 0;
    }

    .pd-menu__link {
        position: relative;
        width: auto !important;
        padding: 12px 0;
        font-size: 16px;
        border-top: 1px solid var(--pd-border);
    }

    .pd-menu__item--has-children > .pd-menu__link {
        padding-right: 16px;
    }

    .pd-submenu {
        position: static;
        min-width: 0;
        padding: 0 0 8px 14px;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
        transition: none;
        pointer-events: auto;
    }

    .pd-submenu::before,
    .pd-submenu::after {
        display: none;
    }

    .pd-submenu .pd-submenu {
        min-width: 0;
        padding-left: 14px;
        clip-path: none;
    }

    .pd-submenu__link {
        padding: 6px 0;
        color: var(--pd-green);
        font-size: 14px;
        white-space: normal;
    }

    .pd-submenu__item--has-children > .pd-submenu__link::after {
        display: none;
    }

    .pd-submenu__link:hover {
        color: var(--pd-green-dark);
        background: transparent;
    }
}

/* End */


/* Start:/local/templates/petdiet/css/home.css?178216384545671*/
.pd-main {
    overflow: hidden;
}

.pd-section {
    padding: 72px 0;
}

.pd-section--tight {
    padding: 25px 0 45px;
}

.pd-section--blue {
    background: var(--pd-blue);
}

.pd-section--mint {
    background: var(--pd-mint);
}

.pd-hero {
    position: relative;
    z-index: 2;
    height: 298px;
    overflow: visible;
    display: flex;
    align-items: flex-start;
    padding: 0;
    background: #fff;
}

.pd-hero__inner {
    position: relative;
    z-index: 2;
    display: block;
    width: 818px;
    max-width: calc(100% - 32px);
    margin: 0 auto;
    padding-top: 72px;
    text-align: center;
}

.pd-hero h1 {
    display: block;
    margin: 0;
    color: var(--pd-blue);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 80px;
    line-height: 0.85;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
}

.pd-hero__title-desktop,
.pd-hero__title-mobile {
    flex-direction: column;
    align-items: center;
}

.pd-hero__title-desktop {
    display: flex;
}

.pd-hero__title-mobile {
    display: none;
}

.pd-hero__title-desktop span,
.pd-hero__title-mobile span {
    display: block;
    white-space: nowrap;
}

.pd-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 26px;
    border: 1px solid var(--pd-green);
    background: var(--pd-green);
    color: #fff;
    border-radius: 0;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.pd-button--ghost {
    color: var(--pd-green);
    background: #fff;
}

.pd-hero__decor {
    position: absolute;
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    background: center / contain no-repeat;
}

.pd-hero__decor--left {
    top: 172px;
    left: -96px;
    width: 417px;
    height: 279px;
    background-image: url("/local/tilda-home/images/pd-hero-hand.svg");
    transform: rotate(352deg);
    animation: pd-hero-hand-in 2.1s ease-out 0.15s forwards;
}

.pd-hero__decor--right {
    top: -3px;
    right: -69px;
    width: 379px;
    height: 348px;
    background-image: url("/local/tilda-home/images/pd-hero-paw.svg");
    animation: pd-hero-paw-in 2.1s ease-out 0.15s forwards;
}

@keyframes pd-hero-hand-in {
    from {
        opacity: 0;
        transform: translateX(-150px) rotate(352deg);
    }

    to {
        opacity: 1;
        transform: translateX(0) rotate(352deg);
    }
}

@keyframes pd-hero-paw-in {
    from {
        opacity: 0;
        transform: translateX(150px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@media (max-width: 1439px) {
    .pd-hero {
        height: 298px;
    }

    .pd-hero__inner {
        width: 818px;
        max-width: calc(100% - 32px);
        padding-top: 104px;
    }

    .pd-hero__decor--left {
        top: 139px;
        left: -48px;
        width: 327px;
        height: 219px;
    }

    .pd-hero__decor--right {
        top: 32px;
        right: -44px;
        width: 290px;
        height: 266px;
    }
}

@media (max-width: 1199px) {
    .pd-hero {
        height: 306px;
    }

    .pd-hero__inner {
        width: 862px;
        max-width: calc(100% - 32px);
        padding-top: 126px;
    }

    .pd-hero__decor--left {
        top: 130px;
        left: -47px;
        width: 283px;
        height: 190px;
    }

    .pd-hero__decor--right {
        top: 29px;
        right: -38px;
        width: 289px;
        height: 265px;
    }

    .pd-category-card {
        aspect-ratio: 561 / 514;
    }

}

@media (min-width: 981px) and (max-width: 1199px) {
    #catalog-preview.pd-section--tight {
        padding: 13px 0 34px;
    }

    #catalog-preview .pd-category-container {
        width: 943px;
        max-width: calc(100% - 80px);
    }

    #catalog-preview .pd-category-grid {
        gap: 17px;
    }

    #catalog-preview .pd-category-card {
        aspect-ratio: 1 / 1;
    }
}

@media (max-width: 959px) {
    .pd-hero {
        height: 326px;
    }

    .pd-hero__inner {
        width: 603px;
        max-width: calc(100% - 32px);
        padding-top: 113px;
    }

    .pd-hero h1 {
        font-size: 42px;
    }

    .pd-hero__decor--left {
        top: 182px;
        left: -42px;
        width: 244px;
        height: 163px;
    }

    .pd-hero__decor--right {
        top: 124px;
        right: -42px;
        width: 233px;
        height: 214px;
    }

    .pd-category-card {
        aspect-ratio: 461 / 463;
    }

    .pd-category-container {
        width: min(920px, calc(100% - 32px));
    }

}

@media (min-width: 641px) and (max-width: 959px) {
    #catalog-preview.pd-section--tight {
        padding: 15px 0 35px;
    }

    #catalog-preview .pd-category-container {
        width: 632px;
    }

    #catalog-preview .pd-category-grid {
        gap: 8px;
    }

    #catalog-preview .pd-category-card {
        aspect-ratio: 312 / 310;
    }

    #expertise.pd-experts-heading-section {
        padding: 49px 0 3px;
    }

    #expertise .pd-experts-title {
        width: 471px;
        font-size: 58px;
        line-height: 58px;
        letter-spacing: 2.5px;
    }

}

@media (max-width: 639px) {
    .pd-hero {
        height: 230px;
    }

    .pd-hero__inner {
        width: 426px;
        max-width: calc(100% - 20px);
        padding-top: 46px;
    }

    .pd-hero h1 {
        font-size: 34px;
        line-height: 0.9;
    }

    .pd-hero__title-desktop {
        display: none;
    }

    .pd-hero__title-mobile {
        display: flex;
    }

    .pd-hero__decor--left {
        top: 168px;
        left: -52px;
        width: 142px;
        height: 95px;
    }

    .pd-hero__decor--right {
        top: 145px;
        right: -39px;
        width: 149px;
        height: 137px;
    }

    .pd-category-container {
        width: calc(100% - 20px);
    }
}

@media (max-width: 479px) {
    .pd-hero {
        height: 204px;
    }

    .pd-hero__inner {
        width: 300px;
        max-width: calc(100% - 20px);
        padding-top: 49px;
    }

    .pd-hero h1 {
        font-size: 36px;
        line-height: 0.9;
    }

    .pd-hero__decor--left {
        top: 156px;
        left: -31px;
        width: 126px;
        height: 84px;
    }

    .pd-hero__decor--right {
        top: 138px;
        right: -18px;
        width: 94px;
        height: 86px;
    }
}

.pd-section-title {
    max-width: 620px;
    margin: 0 0 30px;
    color: var(--pd-green);
    font-size: clamp(34px, 5vw, 72px);
    line-height: 0.9;
    font-weight: 800;
    text-transform: uppercase;
}

.pd-section-text {
    max-width: 700px;
    color: var(--pd-green);
    font-size: 18px;
}

.pd-category-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 38px;
}

.pd-category-container {
    width: min(1370px, calc(100% - 70px));
    max-width: none;
}

.pd-category-card {
    position: relative;
    min-height: 0;
    aspect-ratio: 667 / 600;
    overflow: hidden;
    border-radius: 30px;
    text-decoration: none;
    box-shadow: var(--pd-shadow);
    background: #fff;
}

.pd-category-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
}

.pd-about-section {
    padding: 42px 0 30px;
    background: #fff;
}

.pd-about-grid {
    position: relative;
    min-height: 0;
    display: grid;
    grid-template-columns: 318px 602px;
    justify-content: center;
    column-gap: 40px;
    row-gap: 26px;
    align-items: start;
    padding-left: 0;
    text-align: left;
}

.pd-about-grid .pd-section-title {
    width: auto;
    max-width: 318px;
    margin: 0;
    color: var(--pd-blue);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 80px;
    line-height: 0.85;
    font-weight: 400;
    letter-spacing: 1px;
    text-align: left;
    transform: none;
    transform-origin: center top;
}

.pd-about-grid .pd-section-text {
    max-width: 548px;
    margin: 0;
    color: var(--pd-green);
    font-size: 18px;
    line-height: 1.2;
    text-align: left;
}

.pd-about-grid .pd-section-text p {
    margin: 0;
}

.pd-about-grid .pd-section-text p + p {
    margin-top: 22px;
}

.pd-about-rating {
    position: static;
    grid-column: 2;
    justify-self: start;
    width: 372px;
    height: 56px;
    margin: 0;
}

.pd-about-rating img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@media (max-width: 1199px) {
    .pd-about-grid {
        grid-template-columns: 318px minmax(0, 520px);
        gap: 32px;
        min-height: 0;
    }

    .pd-about-grid .pd-section-title {
        max-width: 318px;
        margin: 0;
        font-size: 80px;
    }

    .pd-about-grid .pd-section-text {
        max-width: 520px;
        margin: 0;
        font-size: 14px;
    }

    .pd-about-rating {
        width: 215px;
        height: 32px;
        margin-top: 20px;
    }

}

@media (min-width: 981px) and (max-width: 1199px) {
    .pd-about-section {
        padding: 50px 0;
    }

    .pd-about-grid {
        display: grid;
        width: 619px;
        max-width: calc(100% - 32px);
        grid-template-columns: 233px 375px;
        column-gap: 6.5px;
        row-gap: 22px;
        justify-content: start;
        align-items: start;
        text-align: left;
    }

    .pd-about-grid .pd-section-title {
        max-width: 233px;
        margin: 0;
        font-size: 58px;
        line-height: 49px;
        letter-spacing: 0;
        text-align: left;
    }

    .pd-about-grid .pd-section-text {
        width: 375px;
        max-width: 375px;
        margin: 0;
        font-family: Inter, Arial, sans-serif;
        font-size: 14px;
        line-height: 17px;
        text-align: left;
    }

    .pd-about-rating {
        grid-column: 2;
        justify-self: start;
        width: 215px;
        height: 32px;
        margin: 0;
    }
}

@media (max-width: 959px) {
    .pd-about-grid {
        grid-template-columns: 1fr;
        align-items: center;
        justify-items: center;
        text-align: center;
    }

    .pd-about-grid .pd-section-title,
    .pd-about-grid .pd-section-text {
        text-align: center;
    }

    .pd-about-rating {
        grid-column: auto;
        justify-self: center;
    }

}

.pd-experts-heading-section {
    padding: 64px 0 10px;
    background: #fff;
}

.pd-experts-section {
    padding: 37px 0 60px;
    background: #fff;
}

.pd-experts-heading-section .pd-container,
.pd-experts-section .pd-container {
    width: min(1208px, calc(100% - 32px));
}

.pd-experts-title {
    width: min(782px, 100%);
    margin: 0 auto;
    color: #cda077;
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 80px;
    line-height: 0.95;
    font-weight: 400;
    letter-spacing: 3px;
    text-align: center;
    text-transform: uppercase;
}

.pd-experts-slider {
    position: relative;
    width: min(1208px, 100%);
    margin: 0 auto;
    opacity: 0;
    transform: translateY(24px);
    animation: pd-block-rise 0.7s ease-out forwards;
}

.pd-experts-slider--mobile {
    display: none;
}

.pd-experts-gallery {
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.pd-experts-gallery::-webkit-scrollbar {
    display: none;
}

.pd-experts-gallery--desktop {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1208px;
    gap: 0;
    width: 100%;
    height: 553px;
}

.pd-experts-gallery--mobile {
    display: none;
}

.pd-experts-gallery img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    scroll-snap-align: start;
}

.pd-experts-arrow {
    position: absolute;
    z-index: 2;
    top: 50%;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background-color: rgba(31, 91, 66, 0.5);
    box-shadow: none;
    cursor: pointer;
    transform: translateY(-50%);
}

.pd-experts-arrow::before {
    content: "";
    position: absolute;
    inset: 7px 10px;
    background: #fff;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
}

.pd-experts-arrow--prev {
    left: -50px;
}

.pd-experts-arrow--next {
    right: -50px;
}

.pd-experts-arrow--prev::before {
    -webkit-mask-image: url("/local/tilda-home/images/tild6362-6236-4938-a434-373066373139__left.svg");
    mask-image: url("/local/tilda-home/images/tild6362-6236-4938-a434-373066373139__left.svg");
}

.pd-experts-arrow--next::before {
    -webkit-mask-image: url("/local/tilda-home/images/tild3462-6533-4937-a533-346439643933__right.svg");
    mask-image: url("/local/tilda-home/images/tild3462-6533-4937-a533-346439643933__right.svg");
}

.pd-experts-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
}

.pd-experts-slider:not(.pd-experts-slider--mobile) .pd-experts-dots {
    display: none;
}

.pd-experts-dots button {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 1px solid #cda077;
    border-radius: 50%;
    background: transparent;
}

.pd-experts-dots button.is-active {
    background: #cda077;
}

@keyframes pd-block-rise {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 1199px) {
    .pd-experts-arrow--prev {
        left: 10px;
    }

    .pd-experts-arrow--next {
        right: 10px;
    }

    .pd-experts-heading-section {
        padding: 30px 0 24px;
    }

    .pd-experts-title {
        width: 471px;
        margin-bottom: 0;
        font-size: 42px;
        line-height: 1;
    }

    .pd-experts-gallery--desktop {
        grid-auto-columns: 942px;
        height: 433px;
    }

    .pd-products-title {
        font-size: 42px;
    }

    .pd-benefit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 981px) and (max-width: 1199px) {
    #expertise.pd-experts-heading-section {
        padding: 49px 0 3px;
    }

    #expertise .pd-experts-title {
        width: 471px;
        font-size: 58px;
        line-height: 58px;
        letter-spacing: 2.5px;
    }

    .pd-experts-section {
        padding: 24px 0 73px;
    }

    .pd-experts-section .pd-container,
    .pd-experts-section .pd-experts-slider,
    .pd-experts-section .pd-experts-gallery--desktop {
        width: 942px;
        max-width: 942px;
    }

    .pd-experts-section .pd-experts-gallery--desktop {
        overflow: hidden;
    }

    .pd-experts-section .pd-experts-arrow--prev {
        left: -40px;
    }

    .pd-experts-section .pd-experts-arrow--next {
        right: -40px;
    }
}

@media (max-width: 959px) {
    .pd-experts-gallery--desktop {
        grid-auto-columns: 623px;
        height: 281px;
    }
}

.pd-why-section {
    padding: 74px 0 86px;
    background: #f1f5f8;
}

.pd-why-title {
    width: max-content;
    max-width: 100%;
    margin: 0 auto 48px;
    color: var(--pd-blue);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 100px;
    line-height: 0.85;
    font-weight: 400;
    letter-spacing: 2px;
    text-align: center;
    text-transform: uppercase;
}

.pd-benefit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 72px 58px;
}

.pd-benefit {
    position: relative;
    min-height: 420px;
    padding: 130px 18px 20px 0;
    border: 0;
    background: transparent;
    color: var(--pd-green);
}

.pd-benefit b {
    display: block;
    margin-bottom: 12px;
    color: #88bfc6;
    font-family: Inter, Arial, sans-serif;
    font-size: 30px;
    line-height: 1;
    font-weight: 400;
}

.pd-benefit span {
    display: block;
    color: var(--pd-green);
    font-family: Inter, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.2;
}

.pd-benefit__lead {
    margin-bottom: 24px;
    font-weight: 700;
}

.pd-benefit img {
    position: absolute;
    left: 0;
    top: 0;
    width: 104px;
    height: 104px;
    object-fit: contain;
}

@media (min-width: 981px) and (max-width: 1199px) {
    .pd-why-section {
        height: 1600px;
        padding: 0;
        overflow: hidden;
    }

    .pd-why-section .pd-container {
        width: 620px;
        max-width: 620px;
        height: 100%;
    }

    .pd-why-title {
        margin: 0 auto 40px;
        padding-top: 42px;
        font-size: 60px;
        line-height: 60px;
    }

    .pd-why-section .pd-benefit-grid {
        grid-template-columns: 245px 255px;
        column-gap: 75px;
        row-gap: 25px;
    }

    .pd-why-section .pd-benefit {
        min-height: 0;
        padding: 0;
    }

    .pd-why-section .pd-benefit img {
        position: static;
        width: 82px;
        height: 82px;
        margin: 0 0 13px;
    }

    .pd-why-section .pd-benefit b {
        margin: 0 0 8px;
        font-size: 28px;
        line-height: 30px;
    }

    .pd-why-section .pd-benefit span {
        font-size: 14px;
        line-height: 17px;
    }

    .pd-why-section .pd-benefit__lead {
        margin-bottom: 10px;
    }
}

.pd-products-heading-section {
    box-sizing: border-box;
    height: 190px;
    padding: 24px 0 0;
    background: #fff;
}

.pd-products-head {
    display: flex;
    justify-content: center;
    margin-bottom: 5px;
}

.pd-products-section {
    padding: 25px 0 30px;
    background: #fff;
}

.pd-products-title {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 23px;
    width: max-content;
    max-width: 100%;
    margin: 0 auto;
    color: #a9d1de;
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 80px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: 1px;
    text-align: center;
    text-transform: uppercase;
}

.pd-products-title::before {
    content: "";
    display: block;
    flex: 0 0 82px;
    width: 82px;
    height: 67px;
    background-color: #a9d1de;
    -webkit-mask: url("/local/tilda-home/images/tild3435-3564-4437-b962-386237663165__cat.svg") center / contain no-repeat;
    mask: url("/local/tilda-home/images/tild3435-3564-4437-b962-386237663165__cat.svg") center / contain no-repeat;
}

.pd-products-title__text {
    display: block;
    flex: 0 1 auto;
    max-width: 742px;
    transform: none;
    transform-origin: center top;
}

@media (min-width: 981px) and (max-width: 1199px) {
    .pd-products-heading-section {
        padding: 31px 0 9px;
    }

    .pd-products-heading-section .pd-products-head {
        margin-bottom: 0;
    }

    .pd-products-heading-section .pd-products-title {
        width: 617px;
        justify-content: flex-start;
        gap: 28px;
        font-size: 58px;
        line-height: 60px;
    }

    .pd-products-heading-section .pd-products-title::before {
        flex-basis: 41px;
        width: 50px;
        height: 41px;
    }

    .pd-products-heading-section .pd-products-title__text {
        line-height: 60px;
        text-align: left;
    }
}

.pd-product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px 0;
}

.pd-product-card {
    position: relative;
    display: flex;
    width: min(100%, 360px);
    min-height: 100%;
    flex-direction: column;
    justify-self: center;
    border: 0;
    background: transparent;
    color: var(--pd-green);
}

.pd-product-card__link {
    position: relative;
    z-index: 1;
    display: block;
    line-height: 0;
}

.pd-product-card__name {
    text-decoration: none;
    color: inherit;
}

.pd-product-card__image {
    position: relative;
    display: block;
    aspect-ratio: 10 / 11;
    background: transparent;
    overflow: visible;
}

.pd-product-card__image img {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: opacity 0.1s linear;
}

.pd-product-card__image-hover {
    z-index: 1;
    opacity: 0;
}

.pd-product-card__image-main {
    z-index: 2;
}

.pd-product-card:hover .pd-product-card__image-hover,
.pd-product-card:focus-within .pd-product-card__image-hover {
    opacity: 1;
}

.pd-product-card--has-hover:hover .pd-product-card__image-main,
.pd-product-card--has-hover:focus-within .pd-product-card__image-main {
    opacity: 0;
}

.pd-product-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 0;
}

.pd-product-card__name {
    display: block;
    order: 2;
    min-height: 0;
    margin-top: 0;
    color: var(--pd-blue);
    font-size: 20px;
    line-height: 1.35;
    font-weight: 700;
}

.pd-product-card__price {
    display: block;
    order: 1;
    color: var(--pd-green);
    font-size: 20px;
    line-height: 1.75;
    font-weight: 500;
}

.pd-product-card__old-price {
    margin-left: 8px;
    color: #8c8c8c;
    text-decoration: line-through;
}

.pd-product-card__availability {
    display: block;
    order: 2;
    color: #8c8c8c;
    font-size: 14px;
    line-height: 1.35;
}

.pd-product-card__desc {
    order: 3;
    min-height: 44px;
    margin-top: 8px;
    color: var(--pd-green);
    font-size: 14px;
    line-height: 1.55;
}

.pd-product-card__more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 45px;
    padding: 0 30px;
    border: 0;
    border-radius: 50px;
    background: #e6f2f6;
    color: var(--pd-green);
    font-size: 14px;
    line-height: 1.4;
    font-weight: 400;
    text-decoration: none;
}

.pd-product-card__actions {
    order: 4;
    display: grid;
    grid-template-columns: 141px 70px;
    width: 219px;
    gap: 8px 8px;
    align-items: center;
    align-self: center;
    margin-top: auto;
    padding-top: 20px;
}

.pd-product-card__more {
    grid-column: 1 / -1;
    width: 219px;
    justify-self: center;
}

.pd-product-card__buy {
    width: 70px;
    height: 45px;
    min-height: 45px;
    padding: 0;
    border: 0;
    border-radius: 50px;
    background: var(--pd-green);
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-size: 0;
}

.pd-product-card__buy::before {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    margin: 0 auto;
    background: url("/local/tilda-home/images/tild6334-3163-4439-a534-653938656230__cart.svg") center / contain no-repeat;
    filter: brightness(0) invert(1);
}

.pd-product-card__qty {
    display: grid;
    grid-template-columns: 38px 1fr 38px;
    align-items: center;
    justify-items: center;
    min-width: 0;
    width: 141px;
    height: 45px;
    border: 1px solid #d1e6ed;
    border-radius: 50px;
    color: var(--pd-green);
    font-size: 14px;
    line-height: 1;
}

.pd-product-card__qty button {
    width: 32px;
    height: 32px;
    border: 0;
    background: transparent;
    color: var(--pd-green);
    font: inherit;
    font-size: 22px;
    line-height: 1;
}

.pd-product-card__buy:disabled {
    cursor: wait;
    opacity: 0.65;
}

/* Двухсостоянийный контрол корзины в карточке (В корзину → В корзине + степпер). Фирменный зелёный. */
.pd-product-card__actions .pd-cart-ctl {
    grid-column: 1 / -1;
    width: 100%;
}
/* [hidden] перебивается author-правилом display:flex (author > UA), поэтому скрываем явно !important. */
.pd-cart-ctl[hidden],
.pd-cart-ctl__incart[hidden],
.pd-cart-ctl__add[hidden] { display: none !important; }
.pd-cart-ctl__add,
.pd-cart-ctl__in {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    width: 100%;
    height: 45px;
    padding: 6px 12px;
    border: 0;
    border-radius: 50px;
    background: var(--pd-green);
    color: #fff;
    cursor: pointer;
    font: inherit;
    line-height: 1.12;
    text-align: center;
    transition: background-color 0.15s ease;
}
.pd-cart-ctl__title { font-size: 14px; font-weight: 700; }
.pd-cart-ctl__add:hover,
.pd-cart-ctl__in:hover { background: #184a35; }
.pd-cart-ctl__add:disabled { opacity: 0.65; cursor: wait; }
.pd-cart-ctl__incart {
    display: flex;
    gap: 8px;
    align-items: stretch;
    width: 100%;
}
.pd-cart-ctl__in {
    flex: 1 1 auto;
    min-width: 0;
    background: #184a35; /* «в корзине» — чуть темнее + галочка, чтобы отличаться от «в корзину» */
}
.pd-cart-ctl__stepper {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: 34px minmax(22px, auto) 34px;
    align-items: center;
    justify-items: center;
    height: 45px;
    background: #fff;
    border: 1px solid #d1e6ed;
    border-radius: 50px;
}
.pd-cart-ctl__step {
    width: 34px;
    height: 100%;
    border: 0;
    background: transparent;
    color: var(--pd-green);
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    transition: color 0.15s ease;
}
.pd-cart-ctl__step:hover { color: #184a35; }
.pd-cart-ctl__count {
    min-width: 22px;
    text-align: center;
    color: #2a2722;
    font-size: 16px;
    font-weight: 600;
}
/* Одинаковая высота состояний (бордюр степпера не должен «распирать» строку). */
.pd-cart-ctl__add,
.pd-cart-ctl__in,
.pd-cart-ctl__stepper { box-sizing: border-box; }
/* Текстовая кнопка-состояние (Нет в наличии / Сообщить о поступлении) — не иконка-кружок __buy. */
.pd-product-card__actions .pd-product-card__buy--text {
    grid-column: 1 / -1;
    width: 100%;
    font-size: 14px;
    padding: 0 18px;
}
.pd-product-card__buy--text::before { content: none; }

.pd-product-card__status {
    display: block;
    order: 5;
    min-height: 18px;
    margin-top: 8px;
    color: var(--pd-muted);
    font-size: 12px;
}

.pd-product-card__status:empty {
    display: none;
    min-height: 0;
    margin-top: 0;
}

@media (min-width: 981px) and (max-width: 1199px) {
    .pd-products-section {
        padding: 7px 0 9px;
    }

    .pd-products-section .pd-container {
        width: 942px;
        max-width: calc(100% - 80px);
    }

    .pd-products-section .pd-product-grid {
        grid-template-columns: repeat(3, 293px);
        gap: 40px 30px;
    }

    .pd-products-section .pd-product-card {
        width: 293px;
    }
}

.pd-feeding-spacer {
    height: 60px;
    background: #fff;
}

.pd-feeding-heading-section {
    padding: 28px 0 19px;
    background: #fff;
}

.pd-feeding-table-section {
    padding: 1px 0 63px;
    background: #fff;
}

.pd-feeding-cta-section {
    padding: 20px 0 60px;
    background: #fff;
}

@media (min-width: 981px) and (max-width: 1199px) {
    .pd-feeding-heading-section {
        padding: 12px 0 33px;
    }

    .pd-feeding-heading-section .pd-feeding-title {
        font-size: 44px;
        line-height: 32px;
    }

}

.pd-consult-form h2,
.pd-tariffs-title {
    margin: 0 auto 32px;
    color: var(--pd-blue);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 42px;
    line-height: 0.85;
    font-weight: 400;
    letter-spacing: 1px;
    text-align: center;
    text-transform: uppercase;
}

.pd-feeding-title {
    margin: 0 auto;
    color: var(--pd-green);
    font-family: Inter, Roboto, sans-serif;
    font-size: 42px;
    line-height: 42px;
    font-weight: 800;
    letter-spacing: 0;
    text-align: center;
    text-transform: none;
}

.pd-tariffs-title::after {
    content: "\2665";
    margin-left: 10px;
    color: #ffc7ba;
    font-family: Roboto, sans-serif;
}

.pd-tariffs-title {
    margin: 0 auto;
    color: #cda077;
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    width: max-content;
    max-width: 100%;
    font-size: 100px;
    line-height: 0.85;
    font-weight: 400;
    letter-spacing: 2px;
}

.pd-tariffs-title::after {
    position: relative;
    top: -6px;
    margin-left: 14px;
    color: #ffcfbf;
    font-size: 40px;
}

.pd-feeding-table {
    max-width: 1160px;
    margin: 0 auto;
    color: var(--pd-green);
    font-family: Roboto, sans-serif;
}

.pd-feeding-row {
    display: grid;
    grid-template-columns: 1fr 1.25fr 1fr 1.3fr;
    min-height: 62px;
    border-top: 1px solid rgba(31, 91, 66, 0.22);
}

.pd-feeding-row:first-child {
    border-top: 2px solid rgba(31, 91, 66, 0.7);
}

.pd-feeding-row span {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 17px 12px;
    text-align: center;
    font-size: 17px;
    line-height: 1.15;
}

.pd-feeding-row:not(.pd-feeding-row--head):nth-child(odd) {
    background: #eee;
}

.pd-feeding-row--head span {
    color: var(--pd-blue);
    font-weight: 800;
}

.pd-feeding-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 423px;
    min-width: 423px;
    min-height: 55px;
    margin: 0 auto;
    padding: 0;
    border-radius: 30px;
    background: var(--pd-blue);
    color: #fff;
    font-size: 16px;
    line-height: 1.55;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-decoration: none;
    text-transform: uppercase;
}

.pd-consult-section {
    padding: 30px 0 60px;
    background: #fff;
}

.pd-consult-form {
    max-width: 1200px;
    margin: 0 auto;
    padding: 33px 70px 51px;
    border: 2px solid var(--pd-green);
    border-radius: 30px;
    text-align: center;
}

.pd-consult-form h2 {
    position: relative;
    left: 50%;
    width: max-content;
    max-width: none;
    margin: 0 0 18px;
    color: #cda077;
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 80px;
    line-height: 1;
    white-space: nowrap;
    transform: translateX(-50%);
    transform-origin: center top;
}

.pd-consult-form__fields {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 14px;
    align-items: center;
}

.pd-consult-form label {
    display: grid;
    gap: 6px;
    width: min(610px, 100%);
    text-align: left;
    color: var(--pd-green);
    font-size: 13px;
    font-weight: 700;
}

.pd-consult-form__fields > label:first-child {
    display: none;
}

.pd-consult-form label:not(.pd-consult-form__agree) span {
    display: none;
}

.pd-consult-form input {
    box-sizing: border-box;
    width: 100%;
    min-height: 54px;
    padding: 0 22px;
    border: 2px solid #cda077;
    border-radius: 999px;
    background: #fafcff;
    color: var(--pd-green);
    font: inherit;
    font-size: 22px;
    font-weight: 400;
}

.pd-consult-form input::placeholder {
    color: #8aa89c;
}

.pd-consult-form label.pd-consult-form__agree {
    grid-template-columns: 22px 1fr;
    align-items: start;
    gap: 10px;
    color: #000;
    font-size: 14px;
    line-height: normal;
    font-weight: 400;
}

.pd-consult-form__agree input {
    appearance: none;
    width: 18px;
    height: 18px;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 1px solid #d5a175;
    border-radius: 0;
    background: #fff;
}

.pd-consult-form__agree a {
    color: #a9d1de;
    text-decoration: none;
}

.pd-consult-form button {
    width: 210px;
    min-height: 48px;
    height: 56px;
    padding: 0 58px;
    border: 0;
    border-radius: 999px;
    background: #cda077;
    color: #fff;
    font: inherit;
    font-weight: 400;
    text-decoration: none;
    cursor: pointer;
}

.pd-consult-form button:disabled,
.pd-call-form button[type="submit"]:disabled {
    opacity: 0.68;
    cursor: progress;
}

.pd-consult-form input.is-invalid,
.pd-call-form input.is-invalid {
    border-color: #b94b3d;
    box-shadow: 0 0 0 3px rgba(185, 75, 61, 0.14);
}

.pd-consult-form__status {
    min-height: 20px;
    color: var(--pd-green);
    font-size: 14px;
    line-height: 1.3;
    text-align: center;
}

.pd-consult-form__status[data-state="error"],
.pd-call-form__status[data-state="error"] {
    color: #b94b3d;
}

.pd-consult-form__status[data-state="success"],
.pd-call-form__status[data-state="success"] {
    color: var(--pd-green);
}

@media (min-width: 981px) and (max-width: 1199px) {
    .pd-consult-section {
        padding: 35px 0 62px;
    }

    .pd-consult-form {
        box-sizing: border-box;
        width: 640px;
        height: 333px;
        min-height: 333px;
        padding: 40px 70px 45px;
    }

    .pd-consult-form h2 {
        width: max-content;
        max-width: none;
        margin: 0 0 15px;
        font-size: 58px;
        line-height: 58px;
        white-space: nowrap;
    }

    .pd-consult-form label {
        width: 500px;
    }

    .pd-consult-form input {
        height: 48px;
        min-height: 48px;
        font-size: 16px;
    }

    .pd-consult-form button {
        width: 500px;
        height: 48px;
        min-height: 48px;
        padding: 0;
    }

    .pd-consult-form__status:empty {
        display: none;
        min-height: 0;
        margin-top: 0;
    }
}

.pd-product-card__weight {
    position: absolute;
    z-index: 5;
    top: -6px;
    right: -18px;
    left: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    padding: 0;
    border-radius: 50%;
    background: #e6f2f6;
    color: var(--pd-green);
    font-size: 14px;
    line-height: 1;
    text-decoration: none;
}

.pd-tariff-card a {
    min-height: 48px;
    padding: 0 22px;
    border: 0;
    background: var(--pd-green);
    color: #fff;
    font: inherit;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

.pd-tariffs-heading-section {
    padding: 52px 0 3px;
    background: #fff;
}

.pd-tariffs-section {
    padding: 38px 0 94px;
    background: #fff;
}

.pd-tariff-grid {
    display: grid;
    grid-template-columns: repeat(4, 294px);
    justify-content: space-between;
    gap: 0;
}

.pd-tariff-card {
    position: relative;
    overflow: hidden;
    display: block;
    width: 294px;
    min-height: 453px;
    padding: 20px;
    border: 0;
    border-radius: 25px;
    background: #b7cdc2;
    color: var(--pd-green);
    text-align: left;
}

.pd-tariff-card--tariff-sets {
    background: #cda077;
}

.pd-tariff-card--tariff-custom {
    background: #b9d3dc;
}

.pd-tariff-card--tariff-subscription {
    background: #c8c8c8;
}

.pd-tariff-card img {
    position: absolute;
    right: 14px;
    top: 178px;
    z-index: 0;
    width: 124px;
    height: 134px;
    margin: 0;
    object-fit: contain;
    opacity: 1;
    filter: none;
}

.pd-tariff-card--tariff-sets img {
    right: 24px;
    top: 153px;
    width: 200px;
    height: 149px;
}

.pd-tariff-card--tariff-custom img {
    right: 47px;
    top: 190px;
    width: 83px;
    height: 165px;
}

.pd-tariff-card--tariff-subscription img {
    right: 45px;
    top: 191px;
    width: 200px;
    height: 88px;
}

.pd-tariff-card h3 {
    position: relative;
    z-index: 1;
    max-width: 265px;
    min-height: 108px;
    margin: 0;
    color: #fff;
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 60px;
    line-height: 0.85;
    font-weight: 300;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.pd-tariff-card__lead {
    position: relative;
    z-index: 1;
    max-width: 263px;
    min-height: 96px;
    margin: 6px 0 0;
    color: #3c8560;
    font-size: 30px;
    line-height: 32px;
    font-weight: 400;
}

.pd-tariff-card--tariff-sets .pd-tariff-card__lead {
    max-width: 143px;
    min-height: 64px;
    color: #8a4e0e;
}

.pd-tariff-card--tariff-custom .pd-tariff-card__lead {
    color: #378aa8;
}

.pd-tariff-card--tariff-subscription .pd-tariff-card__lead {
    max-width: 202px;
    min-height: 128px;
    margin-top: -54px;
    color: #6e6e6e;
}

.pd-tariff-card__label {
    position: relative;
    z-index: 1;
    display: block;
    min-height: 20px;
    margin-top: 70px;
    color: var(--pd-green);
    font-size: 20px;
    line-height: 20px;
    font-weight: 700;
}

.pd-tariff-card__desc {
    position: relative;
    z-index: 1;
    max-width: 248px;
    min-height: 36px;
    margin: 10px 0 0;
    color: #000;
    font-size: 16px;
    line-height: 18px;
    font-weight: 400;
}

.pd-tariff-card--tariff-sets .pd-tariff-card__desc,
.pd-tariff-card--tariff-subscription .pd-tariff-card__desc {
    margin-top: 120px;
}

.pd-tariff-card--tariff-custom .pd-tariff-card__desc {
    max-width: 165px;
    margin-top: 10px;
}

.pd-tariff-card a {
    position: absolute;
    left: 20px;
    bottom: 20px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 254px;
    height: 55px;
    min-height: 55px;
    border-radius: 30px;
    background: #fff;
    color: var(--pd-blue);
    font-size: 16px;
    line-height: 1.55;
    font-weight: 400;
}

@media (min-width: 981px) and (max-width: 1199px) {
    .pd-tariffs-section {
        padding: 71px 0 108px;
    }

    .pd-tariffs-section .pd-container {
        width: 960px;
        max-width: 960px;
    }

    .pd-tariff-grid {
        grid-template-columns: repeat(4, 234px);
        justify-content: start;
        gap: 8px;
    }

    .pd-tariff-card {
        width: 234px;
        height: auto;
        /* было 366px — не вмещало описание у «наборов»/«подписки» (оно по дизайну под
           кнопкой, ~404px). Растим карточку, чтобы контент не вылезал; ряд ровный. */
        min-height: 410px;
        padding: 0;
    }

    .pd-tariff-card h3,
    .pd-tariff-card__lead,
    .pd-tariff-card__label,
    .pd-tariff-card__desc,
    .pd-tariff-card a,
    .pd-tariff-card img {
        position: absolute;
        z-index: 1;
        margin: 0;
    }

    .pd-tariff-card h3 {
        left: 16px;
        top: 16px;
        width: 218px;
        max-width: 218px;
        min-height: 0;
        font-size: 56px;
        line-height: 48px;
    }

    .pd-tariff-card--tariff-welcome h3 {
        width: 204px;
        max-width: 204px;
        line-height: 50px;
    }

    .pd-tariff-card--tariff-subscription h3 {
        line-height: 50px;
    }

    .pd-tariff-card__lead {
        left: 16px;
        top: 119px;
        max-width: 150px;
        min-height: 0;
        font-family: Inter, Arial, sans-serif;
        font-size: 24px;
        line-height: 25px;
    }

    .pd-tariff-card--tariff-sets .pd-tariff-card__lead {
        top: 116px;
        max-width: 114px;
        min-height: 0;
    }

    .pd-tariff-card--tariff-custom .pd-tariff-card__lead {
        top: 116px;
        max-width: 196px;
    }

    .pd-tariff-card--tariff-subscription .pd-tariff-card__lead {
        top: 70px;
        max-width: 162px;
        min-height: 0;
    }

    .pd-tariff-card__label {
        left: 16px;
        top: 239px;
        min-height: 0;
        font-family: Inter, Arial, sans-serif;
        font-size: 20px;
        line-height: 20px;
    }

    .pd-tariff-card__desc {
        left: 16px;
        top: 264px;
        max-width: 181px;
        min-height: 0;
        font-family: Inter, Arial, sans-serif;
        font-size: 14px;
        line-height: 16px;
        /* слот описания в артборде = до кнопки (top:306). Длинные описания вылезали за
           карточку и налезали на кнопку — ограничиваем 2 строками (как и задумано). */
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        max-height: 36px;
        overflow: hidden;
    }

    .pd-tariff-card--tariff-sets .pd-tariff-card__desc,
    .pd-tariff-card--tariff-subscription .pd-tariff-card__desc {
        top: 248px;
        max-width: 208px;
    }

    .pd-tariff-card--tariff-custom .pd-tariff-card__desc {
        top: 264px;
        max-width: 178px;
    }

    .pd-tariff-card a {
        left: 16px;
        top: 306px;
        bottom: auto;
        width: 202px;
        height: 44px;
        min-height: 44px;
        font-family: Inter, Arial, sans-serif;
        font-size: 16px;
        line-height: 24.8px;
    }

    .pd-tariff-card--tariff-welcome img {
        right: 4px;
        top: 121px;
        width: 119px;
        height: 129px;
    }

    .pd-tariff-card--tariff-sets img {
        right: 15px;
        top: 135px;
        width: 142px;
        height: 106px;
    }

    .pd-tariff-card--tariff-custom img {
        right: 10px;
        top: 190px;
        width: 53px;
        height: 106px;
    }

    .pd-tariff-card--tariff-subscription img {
        right: 33px;
        top: 158px;
        width: 165px;
        height: 73px;
    }
}

/* ── Mobile slider controls: animated swipe-hand hint + categories progress bar ── */
.pd-swipe-hint {
    display: none;
}

.pd-category-controls {
    display: none;
}

@keyframes pd-swipe-hand {
    0% { transform: translateX(-9px); }
    50% { transform: translateX(13px); }
    100% { transform: translateX(-9px); }
}

@media (max-width: 980px) {
    .pd-swipe-hint {
        display: block;
        width: 46px;
        height: 50px;
        background: url("/local/tilda-home/images/pd-swipe-hand.svg") center / contain no-repeat;
        animation: pd-swipe-hand 1.5s ease-in-out infinite;
        pointer-events: none;
    }

    .pd-category-controls {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 16px;
        margin-top: 16px;
    }

    .pd-category-progress {
        position: relative;
        display: block;
        width: 224px;
        max-width: 56%;
        height: 6px;
        border-radius: 3px;
        background: #e3ecf0;
        overflow: hidden;
    }

    .pd-category-progress__thumb {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 50%;
        border-radius: 3px;
        background: #a9d1de;
        transition: transform 0.12s ease-out;
    }

    .pd-experts-slider--mobile .pd-swipe-hint {
        position: absolute;
        left: calc(50% - 23px);
        bottom: -4px;
        z-index: 3;
    }

    .pd-swipe-hint--tariffs {
        margin: 14px 18px 0 auto;
    }

    .pd-feeding-table-section .pd-container {
        position: relative;
    }

    .pd-swipe-hint--feeding {
        position: absolute;
        right: 12px;
        bottom: 14px;
        z-index: 3;
    }

    .pd-info-health-feeding {
        position: relative;
    }

    .pd-swipe-hint--health-table {
        position: absolute;
        right: 16px;
        bottom: 18px;
        z-index: 3;
    }
}

/* Back-to-top button — prod's white circle + green chevron, bottom-right, fades in on scroll */
.pd-totop {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 90;
    width: 56px;
    height: 56px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 4px 14px rgba(31, 91, 66, 0.22);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
}

.pd-totop.is-visible {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.pd-totop::before {
    content: "";
    display: block;
    width: 15px;
    height: 15px;
    margin: 4px auto 0;
    border-left: 3px solid #1f5b42;
    border-top: 3px solid #1f5b42;
    transform: rotate(45deg);
}


/* End */


/* Start:/local/templates/petdiet/css/ui-overlays.css?178216355951578*/
.pd-modal {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 28px;
}

.pd-modal.is-open {
    display: flex;
}

.pd-modal-open {
    overflow: hidden;
}

.pd-modal__overlay {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: rgba(31, 91, 66, 0.42);
}

.pd-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(560px, 100%);
    max-height: min(760px, calc(100vh - 56px));
    overflow-y: auto;
    padding: 42px 48px 38px;
    border-radius: 8px;
    background: #fff;
    color: var(--pd-green);
    box-shadow: 0 24px 80px rgba(31, 91, 66, 0.22);
}

.pd-modal__close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 36px;
    height: 36px;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.pd-modal__close::before,
.pd-modal__close::after {
    content: "";
    position: absolute;
    left: 8px;
    top: 17px;
    width: 20px;
    height: 2px;
    background: var(--pd-green);
}

.pd-modal__close::before {
    transform: rotate(45deg);
}

.pd-modal__close::after {
    transform: rotate(-45deg);
}

.pd-modal h2 {
    margin: 0 34px 10px 0;
    color: var(--pd-green);
    font-size: 32px;
    line-height: 1.1;
}

.pd-modal__lead {
    margin: 0 0 26px;
    font-size: 18px;
    line-height: 1.35;
}

.pd-call-form {
    display: grid;
    gap: 16px;
}

.pd-call-form label,
.pd-call-form__contact {
    margin: 0;
}

.pd-call-form > label:not(.pd-call-form__agree) {
    display: grid;
    gap: 7px;
}

.pd-call-form > label:not(.pd-call-form__agree) > span,
.pd-call-form__contact legend,
.pd-review-form__rating legend {
    font-size: 14px;
    font-weight: 700;
}

#call {
    align-items: center;
    justify-content: center;
}

#call .pd-modal__overlay {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(8px);
}

#call .pd-modal__dialog {
    width: min(1200px, calc(100vw - 240px));
    max-height: min(690px, calc(100vh - 120px));
    padding: 36px 296px 35px;
    border-radius: 30px;
    background: #f0e7df;
    color: var(--pd-green);
    box-shadow: none;
    text-align: center;
}

#call .pd-modal__close {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 32px;
    height: 32px;
}

#call .pd-modal__close::before,
#call .pd-modal__close::after {
    left: 2px;
    top: 15px;
    width: 30px;
    height: 2px;
    background: #000;
}

#call .pd-modal h2 {
    margin: 0 0 8px;
    color: #d2a477;
    font-family: Roboto, sans-serif;
    font-size: 40px;
    line-height: 1.15;
    font-weight: 400;
}

#call .pd-modal__lead {
    margin: 0 0 20px;
    color: #d2a477;
    font-size: 20px;
    line-height: 1.35;
}

#call .pd-call-form {
    gap: 12px;
}

#call .pd-call-form > label:not(.pd-call-form__agree) {
    gap: 0;
}

#call .pd-call-form > label:not(.pd-call-form__agree) > span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

#call .pd-call-form input[type="text"],
#call .pd-call-form input[type="tel"] {
    min-height: 54px;
    padding: 0 20px;
    border: 0;
    border-radius: 999px;
    background: #f8fbfd;
    color: var(--pd-green);
    font-size: 22px;
}

#call .pd-call-form input::placeholder {
    color: #8aa89c;
}

#call .pd-call-form__contact {
    margin-top: 0;
    color: #000;
    text-align: left;
}

#call .pd-call-form__contact legend {
    margin-bottom: 8px;
    color: #000;
    font-size: 16px;
    font-weight: 400;
}

#call .pd-call-form__contact label {
    color: #000;
    font-size: 16px;
    font-weight: 400;
}

#call .pd-call-form input[type="radio"],
#call .pd-call-form__agree input {
    appearance: none;
    width: 18px;
    height: 18px;
    min-height: 0;
    border: 1px solid #d5a175;
    border-radius: 50%;
    background: transparent;
}

#call .pd-call-form__agree input {
    border-radius: 0;
}

#call .pd-call-form__agree {
    grid-template-columns: 18px 1fr;
    gap: 10px;
    color: #000;
    font-size: 16px;
    line-height: 1.2;
    text-align: left;
}

#call .pd-call-form__agree a {
    color: #a9d1de;
    text-decoration: none;
}

#call .pd-call-form button[type="submit"] {
    justify-self: center;
    width: 210px;
    min-height: 56px;
    margin-top: 0;
    border-radius: 999px;
    background: #d2a477;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
}

@media (max-width: 959px) {
    #call .pd-modal__dialog {
        width: min(640px, calc(100vw - 32px));
        max-height: calc(100vh - 72px);
        padding: 34px 28px 32px;
    }
}

@media (max-width: 640px) {
    #call {
        padding: 18px;
    }

    #call .pd-modal__dialog {
        padding: 30px 22px 28px;
        border-radius: 24px;
    }

    #call .pd-modal h2 {
        font-size: 34px;
    }

    #call .pd-modal__lead,
    #call .pd-call-form__agree,
    #call .pd-call-form__contact label {
        font-size: 14px;
    }

    #call .pd-call-form__contact {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}

.pd-call-form input[type="text"],
.pd-call-form input[type="tel"],
.pd-call-form textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 52px;
    padding: 0 18px;
    border: 1px solid rgba(31, 91, 66, 0.34);
    border-radius: 0;
    color: var(--pd-green);
    font: inherit;
    font-size: 17px;
}

.pd-call-form textarea {
    min-height: 132px;
    padding: 14px 18px;
    resize: vertical;
}

.pd-call-form__contact {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 0;
    border: 0;
}

.pd-call-form__contact legend {
    grid-column: 1 / -1;
    margin-bottom: 2px;
}

.pd-review-form__rating {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    border: 0;
}

.pd-review-form__rating-options {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid rgba(31, 91, 66, 0.26);
    border-radius: 5px;
}

.pd-review-form__rating-options label {
    position: relative;
    display: grid;
    min-height: 44px;
    place-items: center;
    border-right: 1px solid rgba(31, 91, 66, 0.18);
    cursor: pointer;
}

.pd-review-form__rating-options label:last-child {
    border-right: 0;
}

.pd-review-form__rating-options input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.pd-review-form__rating-options span {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: var(--pd-green);
    font-weight: 700;
}

.pd-review-form__rating-options input:checked + span,
.pd-review-form__rating-options label:hover span {
    background: rgba(31, 91, 66, 0.08);
}

.pd-review-form__rating-scale {
    display: flex;
    justify-content: space-between;
    color: rgba(31, 91, 66, 0.62);
    font-size: 13px;
}

.pd-call-form__contact label,
.pd-call-form__agree {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 14px;
    line-height: 1.25;
}

.pd-call-form__agree a {
    color: var(--pd-blue);
}

.pd-call-form button[type="submit"] {
    justify-self: center;
    min-width: 210px;
    min-height: 56px;
    margin-top: 6px;
    padding: 0 30px;
    border: 0;
    border-radius: 999px;
    background: #cda077;
    color: #fff;
    font: inherit;
    font-size: 16px;
    cursor: pointer;
}

.pd-call-form__status {
    min-height: 20px;
    color: var(--pd-green);
    font-size: 14px;
    text-align: center;
}

/* Review modal (#ostavit-otziv): prod has a centered light-blue heading, a photo
   upload, and a full-width green submit. Scoped so the #call modal is untouched. */
#ostavit-otziv .pd-modal__dialog {
    width: min(600px, 100%);
}

#ostavit-otziv h2 {
    margin: 0 0 24px;
    color: #a9d1de;
    font-size: clamp(26px, 4.5vw, 36px);
    line-height: 1.12;
    font-weight: 700;
    text-align: center;
}

#ostavit-otziv .pd-modal__close::before,
#ostavit-otziv .pd-modal__close::after {
    background: var(--pd-green);
}

#ostavit-otziv .pd-review-form button[type="submit"] {
    justify-self: stretch;
    width: 100%;
    background: var(--pd-green);
    font-size: 17px;
}

.pd-cookie-notice {
    position: fixed;
    right: 20px;
    bottom: 30px;
    left: auto;
    z-index: 4500;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    width: min(600px, calc(100% - 40px));
    min-height: 100px;
    padding: 15px 20px 15px 25px;
    border: 0;
    border-radius: 0;
    background: #ebebeb;
    color: var(--pd-green);
    box-shadow: none;
}

.pd-cookie-notice[hidden] {
    display: none;
}

.pd-cookie-notice__text {
    font-size: 15px;
    line-height: 1.55;
}

.pd-cookie-notice__text a {
    color: var(--pd-green);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.pd-cookie-notice__button {
    min-width: 60px;
    min-height: 40px;
    padding: 0 16px;
    border: 1px solid #b7b7b7;
    border-radius: 4px;
    background: #f5f5f5;
    color: #555;
    font: inherit;
    font-size: 14px;
    font-weight: 400;
    cursor: pointer;
}

@media (max-width: 640px) {
    .pd-cookie-notice {
        right: 0;
        bottom: 0;
        left: 0;
        width: auto;
        padding: 15px 25px;
    }

    .pd-cookie-notice__text {
        font-size: 12px;
        line-height: 1.45;
    }
}

.pd-cart-panel {
    position: fixed;
    inset: 0;
    z-index: 4001;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.24s ease, transform 0.24s ease, visibility 0.24s ease;
    pointer-events: none;
}

.pd-cart-panel.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
    pointer-events: auto;
}

.pd-cart-panel__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.32);
}

.pd-cart-panel__body {
    position: absolute;
    top: 0;
    right: 0;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto auto auto;
    width: min(440px, 100%);
    height: 100%;
    padding: 30px 28px 26px;
    background: #fff;
    color: #111;
    font-family: Inter, Roboto, sans-serif;
    box-shadow: -18px 0 60px rgba(0, 0, 0, 0.12);
    transform: translateX(100%);
    transition: transform 0.24s ease;
}

.pd-cart-panel.is-open .pd-cart-panel__body {
    transform: translateX(0);
}

.pd-cart-panel__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 22px;
    border-bottom: 1px solid rgba(17, 17, 17, 0.12);
}

.pd-cart-panel__eyebrow {
    margin-bottom: 7px;
    color: rgba(17, 17, 17, 0.52);
    font-size: 13px;
    line-height: 1.2;
}

.pd-cart-panel__close {
    position: relative;
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(17, 17, 17, 0.16);
    border-radius: 50%;
    background: #fff;
    cursor: pointer;
}

.pd-cart-panel__close::before,
.pd-cart-panel__close::after {
    content: "";
    position: absolute;
    left: 10px;
    top: 16px;
    width: 14px;
    height: 2px;
    background: #111;
}

.pd-cart-panel__close::before {
    transform: rotate(45deg);
}

.pd-cart-panel__close::after {
    transform: rotate(-45deg);
}

.pd-cart-panel__title {
    color: #111;
    font-size: 22px;
    line-height: 1.1;
    font-weight: 600;
    letter-spacing: 0;
}

.pd-cart-panel__status {
    min-height: 20px;
    margin: 14px 0 10px;
    color: rgba(17, 17, 17, 0.58);
    font-size: 13px;
    line-height: 1.35;
}

.pd-cart-panel__items {
    min-height: 0;
    overflow-y: auto;
    padding-right: 2px;
}

.pd-cart-panel__item {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
    padding: 14px 0;
    border-bottom: 1px solid rgba(17, 17, 17, 0.12);
}

.pd-cart-panel__item-image {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    overflow: hidden;
    background: #f7f7f7;
}

.pd-cart-panel__item-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.pd-cart-panel__item-name {
    display: block;
    color: #111;
    font-size: 16px;
    line-height: 1.25;
    font-weight: 600;
    text-decoration: none;
}

.pd-cart-panel__item-sku {
    margin-top: 3px;
    color: rgba(17, 17, 17, 0.5);
    font-size: 13px;
    line-height: 1.3;
}

.pd-cart-panel__item-controls {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 10px;
}

.pd-cart-panel__qty {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.pd-cart-panel__qty button {
    width: 28px;
    height: 28px;
    border: 1px solid rgba(17, 17, 17, 0.2);
    border-radius: 50%;
    background: transparent;
    color: #333;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
}

.pd-cart-panel__qty span {
    min-width: 16px;
    text-align: center;
    color: #111;
    font-size: 15px;
}

.pd-cart-panel__item-sum {
    color: #111;
    font-size: 16px;
    font-weight: 600;
    white-space: nowrap;
}

.pd-cart-panel__remove {
    position: relative;
    align-self: start;
    width: 28px;
    height: 28px;
    border: 1px solid rgba(17, 17, 17, 0.2);
    border-radius: 50%;
    background: transparent;
    color: #555;
    cursor: pointer;
}

.pd-cart-panel__remove::before,
.pd-cart-panel__remove::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 1.5px;
    background: currentColor;
}

.pd-cart-panel__remove::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.pd-cart-panel__remove::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.pd-cart-panel__empty {
    align-self: center;
    color: rgba(17, 17, 17, 0.62);
    font-size: 16px;
    line-height: 1.45;
}

.pd-cart-panel__summary {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin-top: 22px;
    padding: 20px 0 0;
    border-top: 1px solid rgba(17, 17, 17, 0.12);
    color: #111;
    font-size: 18px;
    line-height: 1.2;
}

.pd-cart-panel__summary strong {
    font-weight: 400;
}

.pd-cart-panel__actions {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.pd-cart-panel__checkout,
.pd-cart-panel__continue {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 22px;
    border-radius: 999px;
    font: inherit;
    font-size: 14px;
    line-height: 1.1;
    text-decoration: none;
    cursor: pointer;
}

.pd-cart-panel__checkout {
    border: 0;
    background: #111;
    color: #fff;
}

.pd-cart-panel__checkout.is-disabled {
    opacity: 0.42;
    pointer-events: none;
}

.pd-cart-panel__continue {
    border: 1px solid rgba(17, 17, 17, 0.16);
    background: transparent;
    color: #111;
}

body.pd-cart-panel-open {
    overflow: hidden;
}

.pd-main > .bx-authform,
.pd-body--personal:not(.pd-body--checkout) .pd-main .bx-authform,
.pd-body--cart .pd-main > .bx-basket,
.pd-body--personal-index .pd-main > .row {
    width: min(1120px, calc(100% - 32px));
    margin: 48px auto 84px;
    color: var(--pd-green);
    font-family: Roboto, sans-serif;
}

.pd-body--cart .pd-main > .bx-basket {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
    gap: 36px;
    align-items: start;
    padding-top: 18px;
}

.pd-body--cart .pd-main > .bx-basket::before {
    content: "Ваш заказ";
    grid-column: 1 / -1;
    margin: 0 0 -4px;
    color: #111;
    font-family: Inter, Roboto, sans-serif;
    font-size: clamp(34px, 4vw, 56px);
    line-height: 1;
    font-weight: 400;
    letter-spacing: 0;
}

.pd-body--cart .basket-items-list-wrapper {
    grid-column: 1;
}

.pd-body--cart .basket-checkout-container {
    position: sticky;
    top: 124px;
    grid-column: 2;
}

.basket-items-list-wrapper,
.basket-checkout-container,
.bx-sbb-empty-cart-container {
    color: #111;
    font-family: Inter, Roboto, sans-serif;
}

.pd-body--cart .basket-items-list-wrapper,
.pd-body--cart .basket-checkout-container {
    width: 100%;
    margin: 0;
}

.bx-sbb-empty-cart-container {
    display: grid;
    justify-items: center;
    gap: 22px;
    width: min(1120px, calc(100% - 32px));
    margin: 42px auto;
    padding: 72px 24px;
    border: 1px solid var(--pd-border);
    border-radius: 8px;
    background: #f7faf8;
    text-align: center;
    box-shadow: var(--pd-shadow);
}

.bx-sbb-empty-cart-image {
    width: 112px;
    height: 112px;
    border-radius: 50%;
    background: var(--pd-blue);
    opacity: 0.45;
}

.bx-sbb-empty-cart-image img {
    display: none;
}

.bx-sbb-empty-cart-text {
    color: var(--pd-blue);
    font-family: "Roboto Condensed", Roboto, sans-serif;
    font-size: 42px;
    line-height: 1;
    font-weight: 900;
    text-transform: uppercase;
}

.bx-sbb-empty-cart-desc {
    font-size: 18px;
}

.bx-sbb-empty-cart-desc a,
.basket-item-info-name-link,
.basket-item-info-name-link:hover,
.sale-personal-section-index-block-link,
.sale-personal-section-index-block-link:hover,
.bx-authform a,
.bx-authform a:hover {
    color: var(--pd-green);
    text-decoration: none;
}

.basket-checkout-container,
.basket-items-list-header,
.basket-items-list-item-container {
    border: 1px solid rgba(17, 17, 17, 0.12);
    border-radius: 0;
}

.basket-checkout-container,
.basket-items-list-item-container {
    background: #fff;
    box-shadow: none;
}

.basket-checkout-container {
    padding: 28px 30px;
    border-radius: 0;
    background: #f7f7f7;
}

.basket-coupon-section,
.basket-checkout-section {
    gap: 14px;
}

.basket-coupon-block-field-description,
.basket-checkout-block-total-title,
.basket-item-price-title,
.basket-item-amount-field-description {
    color: rgba(17, 17, 17, 0.56);
    font-family: Inter, Roboto, sans-serif;
    font-size: 13px;
    font-weight: 400;
}

.basket-coupon-block-field input,
.basket-items-search-field input,
.basket-item-amount-filed,
.bx-authform-input-container input[type="text"],
.bx-authform-input-container input[type="password"],
.bx-authform-input-container input[type="email"] {
    min-height: 46px;
    border: 1px solid rgba(17, 17, 17, 0.18);
    border-radius: 999px;
    background: #fff;
    color: #111;
    box-shadow: none;
}

.basket-coupon-block-field input:focus,
.basket-items-search-field input:focus,
.basket-item-amount-filed:focus,
.bx-authform-input-container input:focus {
    border-color: #111;
    outline: 3px solid rgba(17, 17, 17, 0.12);
}

.basket-item-info-name-link,
.basket-item-info-name-link:hover {
    color: #111;
    font-family: Inter, Roboto, sans-serif;
    font-size: 18px;
    font-weight: 400;
}

.basket-item-image-link {
    border-radius: 0;
    background: #f7f7f7;
}

.basket-item-price-current,
.basket-coupon-block-total-price-current {
    color: #111;
    font-family: Inter, Roboto, sans-serif;
    font-weight: 400;
}

.basket-coupon-block-total-price-current {
    font-size: 30px;
    line-height: 1;
}

.basket-item-amount-btn-minus,
.basket-item-amount-btn-plus,
.basket-items-search-clear-btn {
    border-radius: 50%;
    border-color: rgba(17, 17, 17, 0.18);
    background: #fff;
}

.basket-btn-checkout,
.basket-btn-checkout:hover,
.basket-btn-checkout:focus,
.bx-authform .btn-primary,
.bx-authform .btn-primary:hover,
.bx-authform .btn-primary:focus,
.bx-authform input[type="submit"].button,
.bx-authform input[type="submit"].button:hover,
.bx-authform input[type="submit"].button:focus {
    min-height: 52px;
    border: 0;
    border-color: #111;
    border-radius: 999px;
    background: #111;
    background-color: #111;
    color: #fff;
    font-family: Inter, Roboto, sans-serif;
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    box-shadow: none;
}

.pd-body--personal-index .pd-main > .row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 12px;
    max-width: 980px;
}

.pd-body--personal-index .pd-main > .row::before,
.pd-body--personal-index .pd-main > .row::after {
    display: none;
}

.pd-body--personal-index .pd-main > .row > [class*="col-"] {
    width: auto;
    max-width: none;
    padding: 0;
}

.sale-personal-section-index-block {
    display: block;
    height: auto;
    min-height: 96px;
    overflow: hidden;
    border: 1px solid var(--pd-border);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(31, 91, 66, 0.08);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.sale-personal-section-index-block:hover {
    transform: translateY(-2px);
    border-color: rgba(31, 91, 66, 0.35);
    box-shadow: var(--pd-shadow);
}

.sale-personal-section-index-block-link {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 14px;
    min-height: 96px;
    align-content: center;
    align-items: center;
    gap: 18px;
    padding: 18px 22px;
    text-align: left;
}

.sale-personal-section-index-block-link::after {
    content: "";
    justify-self: end;
    width: 10px;
    height: 10px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    opacity: 0.42;
    transform: rotate(45deg);
}

.sale-personal-section-index-block-ico {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--pd-mint);
    color: var(--pd-green);
    font-size: 23px;
}

.sale-personal-section-index-block-name {
    margin: 0;
    color: var(--pd-green);
    font-family: "Roboto Condensed", Roboto, sans-serif;
    font-size: 22px;
    line-height: 1.05;
    font-weight: 900;
    text-transform: uppercase;
}

.pd-main > .bx-authform,
.pd-body--personal:not(.pd-body--checkout) .pd-main .bx-authform {
    max-width: 560px;
    padding: 38px;
    border: 1px solid var(--pd-border);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--pd-shadow);
}

.bx-authform .bx-title {
    margin: 0 0 24px;
    color: var(--pd-green);
    font-family: "Roboto Condensed", Roboto, sans-serif;
    font-size: 34px;
    line-height: 1.05;
    font-weight: 900;
    text-transform: uppercase;
}

.bx-authform-social {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 24px;
}

.bx-authform-social-icon {
    width: 42px;
    height: 42px;
    border: 1px solid var(--pd-border);
    border-radius: 50%;
    background-color: #f7faf8;
}

.bx-authform .bxe-light {
    height: 1px;
    margin: 24px 0;
    border: 0;
    background: var(--pd-border);
}

.bx-authform-formgroup-container {
    margin-bottom: 18px;
}

.bx-authform-label-container,
.bx-authform .checkbox,
.bx-filter-param-text {
    color: var(--pd-green);
    font-size: 15px;
    font-weight: 700;
}

.bx-authform .checkbox {
    margin: 0;
}

.bx-authform .btn-primary {
    min-height: 48px;
    padding: 0 28px;
}

.bx-authform-link-container {
    color: var(--pd-muted);
    font-size: 15px;
    line-height: 1.45;
}

.bx-authform-link-container + .bx-authform-link-container {
    margin-top: 12px;
}

.bx-authform-link-container a {
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.pd-body--personal:not(.pd-body--checkout):not(.pd-body--personal-index) .pd-main > .row {
    width: min(1120px, calc(100% - 32px));
    margin: 48px auto 84px;
    color: var(--pd-green);
    font-family: Roboto, sans-serif;
}

.pd-body--personal:not(.pd-body--checkout) .pd-main .alert {
    border: 1px solid var(--pd-border);
    border-radius: 8px;
    background: #f7faf8;
    color: var(--pd-green);
    font-weight: 700;
}

.pd-body--personal:not(.pd-body--checkout) .pd-main .form-control,
.pd-body--personal:not(.pd-body--checkout) .pd-main input[type="text"],
.pd-body--personal:not(.pd-body--checkout) .pd-main input[type="password"],
.pd-body--personal:not(.pd-body--checkout) .pd-main input[type="email"],
.pd-body--personal:not(.pd-body--checkout) .pd-main input[type="tel"],
.pd-body--personal:not(.pd-body--checkout) .pd-main textarea,
.pd-body--personal:not(.pd-body--checkout) .pd-main select {
    min-height: 46px;
    border: 1px solid var(--pd-border);
    border-radius: 8px;
    background: #fff;
    color: var(--pd-green);
    box-shadow: none;
}

.pd-body--personal:not(.pd-body--checkout) .pd-main .form-control:focus,
.pd-body--personal:not(.pd-body--checkout) .pd-main input:focus,
.pd-body--personal:not(.pd-body--checkout) .pd-main textarea:focus,
.pd-body--personal:not(.pd-body--checkout) .pd-main select:focus {
    border-color: var(--pd-green);
    outline: 3px solid rgba(31, 91, 66, 0.16);
    box-shadow: none;
}

.pd-body--personal:not(.pd-body--checkout) .pd-main .btn-primary,
.pd-body--personal:not(.pd-body--checkout) .pd-main .btn-primary:hover,
.pd-body--personal:not(.pd-body--checkout) .pd-main .btn-primary:focus {
    min-height: 46px;
    border: 1px solid var(--pd-green);
    border-radius: 999px;
    background: var(--pd-green);
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    box-shadow: none;
}

.pd-body--cart .pd-main .basket-btn-checkout,
.pd-body--cart .pd-main .basket-btn-checkout:hover,
.pd-body--cart .pd-main .basket-btn-checkout:focus,
.pd-body--personal.pd-body--cart .pd-main .btn.btn-primary.basket-btn-checkout,
.pd-body--personal.pd-body--cart .pd-main .btn.btn-primary.basket-btn-checkout:hover,
.pd-body--personal.pd-body--cart .pd-main .btn.btn-primary.basket-btn-checkout:focus {
    min-height: 52px;
    border: 0;
    border-color: #111;
    border-radius: 999px;
    background: #111;
    background-color: #111;
    color: #fff;
    font-family: Inter, Roboto, sans-serif;
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    box-shadow: none;
}

.pd-body--personal:not(.pd-body--checkout) .pd-main table {
    width: 100%;
    overflow: hidden;
    border: 1px solid var(--pd-border);
    border-radius: 8px;
    background: #fff;
    border-collapse: separate;
    border-spacing: 0;
    box-shadow: 0 12px 34px rgba(31, 91, 66, 0.08);
}

.pd-body--personal:not(.pd-body--checkout) .pd-main th,
.pd-body--personal:not(.pd-body--checkout) .pd-main td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--pd-border);
    color: var(--pd-green);
    vertical-align: middle;
}

.pd-body--personal:not(.pd-body--checkout) .pd-main th {
    background: #f7faf8;
    font-weight: 900;
    text-transform: uppercase;
}

.pd-body--personal:not(.pd-body--checkout) .pd-main tr:last-child > td {
    border-bottom: 0;
}

.pd-body--personal:not(.pd-body--checkout) .pd-main .sale-order-list-container,
.pd-body--personal:not(.pd-body--checkout) .pd-main .sale-personal-profile-list-container,
.pd-body--personal:not(.pd-body--checkout) .pd-main .sale-profile-detail-form,
.pd-body--personal:not(.pd-body--checkout) .pd-main .main-profile-form,
.pd-body--personal:not(.pd-body--checkout) .pd-main .bx_profile {
    overflow: hidden;
    border: 1px solid var(--pd-border);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(31, 91, 66, 0.08);
}

.pd-body--checkout .pd-main > .bx-soa-wrapper {
    width: min(1160px, calc(100% - 32px));
    margin: 44px auto 84px;
    color: #111;
    font-family: Inter, Roboto, sans-serif;
}

.pd-body--checkout .pd-main > .bx-soa-wrapper::before {
    content: "Ваш заказ";
    display: block;
    margin: 0 0 30px;
    color: #111;
    font-family: Inter, Roboto, sans-serif;
    font-size: clamp(34px, 4vw, 56px);
    line-height: 1;
    font-weight: 400;
    letter-spacing: 0;
}

.pd-body--checkout #bx-soa-order {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(310px, 380px);
    gap: 38px;
    align-items: start;
    margin: 0;
}

.pd-body--checkout #bx-soa-order::before,
.pd-body--checkout #bx-soa-order::after {
    display: none;
}

.pd-body--checkout #bx-soa-order > .bx-soa,
.pd-body--checkout #bx-soa-order > .bx-soa-sidebar {
    width: auto;
    max-width: none;
    padding: 0;
}

.pd-body--checkout .bx-soa-sidebar {
    position: sticky;
    top: 124px;
}

.pd-body--checkout .bx-soa-section,
.pd-body--checkout .bx-soa-cart-total {
    overflow: hidden;
    border: 1px solid rgba(17, 17, 17, 0.12);
    border-radius: 0;
    background: #fff;
    color: #111;
    box-shadow: none;
}

.pd-body--checkout .bx-soa-section {
    margin: 0 0 16px;
}

.pd-body--checkout .bx-soa-section-title-container {
    min-height: 58px;
    padding: 17px 0 14px;
    margin: 0 26px;
    border-bottom: 1px solid rgba(17, 17, 17, 0.12);
    background: #fff;
}

.pd-body--checkout .bx-soa-section-title {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #111;
    font-family: Inter, Roboto, sans-serif;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 400;
    text-transform: none;
}

.pd-body--checkout .bx-soa-section-title-count {
    display: inline-grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border: 1px solid #111;
    border-radius: 50%;
    background: #111;
    color: #fff;
    font-family: Inter, Roboto, sans-serif;
    font-size: 13px;
    font-weight: 400;
}

.pd-body--checkout .bx-soa-editstep {
    color: rgba(17, 17, 17, 0.52);
    font-size: 13px;
    font-weight: 400;
    text-decoration: none;
}

.pd-body--checkout .bx-soa-section-content {
    padding: 24px 26px 28px !important;
}

.pd-body--checkout .bx-soa-item-tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 98px 110px;
    gap: 16px;
    align-items: center;
    padding: 0 0 22px;
    border-bottom: 1px solid rgba(17, 17, 17, 0.12);
}

.pd-body--checkout .bx-soa-item-td {
    width: auto;
    padding: 0;
}

.pd-body--checkout .bx-soa-item-block {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
}

.pd-body--checkout .bx-soa-item-imgcontainer {
    width: 72px;
    height: 72px;
    overflow: hidden;
    border: 1px solid rgba(17, 17, 17, 0.12);
    border-radius: 0;
    background: #f7f7f7;
}

.pd-body--checkout .bx-soa-item-title a,
.pd-body--checkout .bx-soa-item-title {
    color: #111;
    font-family: Inter, Roboto, sans-serif;
    font-size: 17px;
    font-weight: 400;
}

.pd-body--checkout .bx-soa-item-properties {
    color: rgba(17, 17, 17, 0.52);
    font-size: 13px;
}

.pd-body--checkout .bx-soa-item-td-text,
.pd-body--checkout .bx-price,
.pd-body--checkout .bx-soa-cart-d {
    color: #111;
    font-family: Inter, Roboto, sans-serif;
    font-weight: 400;
}

.pd-body--checkout .bx-soa-coupon {
    display: grid;
    grid-template-columns: 140px minmax(0, 300px);
    gap: 14px;
    align-items: center;
    padding-top: 20px;
}

.pd-body--checkout .bx-soa-coupon-label,
.pd-body--checkout .bx-soa-custom-label,
.pd-body--checkout .form-check-label,
.pd-body--checkout .main-user-consent-request {
    color: #111;
    font-weight: 400;
}

.pd-body--checkout .form-control,
.pd-body--checkout .dropdown-block,
.pd-body--checkout input[type="text"],
.pd-body--checkout input[type="email"],
.pd-body--checkout input[type="tel"],
.pd-body--checkout textarea,
.pd-body--checkout select {
    min-height: 50px;
    border: 1px solid rgba(17, 17, 17, 0.18) !important;
    border-radius: 999px !important;
    background-color: #fff;
    color: #111;
    font-family: Inter, Roboto, sans-serif;
    box-shadow: none !important;
}

.pd-body--checkout textarea {
    min-height: 96px;
    border-radius: 18px !important;
}

.pd-body--checkout .form-control:focus,
.pd-body--checkout input:focus,
.pd-body--checkout textarea:focus,
.pd-body--checkout select:focus {
    border-color: #111 !important;
    outline: 3px solid rgba(17, 17, 17, 0.12);
}

.pd-body--checkout .bx-soa-more {
    display: flex;
    justify-content: flex-end;
    margin: 20px 0 0;
}

.pd-body--checkout .bx-soa-more::before,
.pd-body--checkout .bx-soa-more::after {
    display: none;
}

.pd-body--checkout .btn-primary,
.pd-body--checkout .btn-order-save,
.pd-body--checkout .btn-primary:hover,
.pd-body--checkout .btn-order-save:hover,
.pd-body--checkout .btn-primary:focus,
.pd-body--checkout .btn-order-save:focus {
    min-height: 52px;
    border: 0;
    border-color: #111;
    border-radius: 999px;
    background: #111;
    background-color: #111;
    color: #fff;
    font-family: Inter, Roboto, sans-serif;
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    box-shadow: none;
}

.pd-body--checkout .bx-soa-more .btn-primary,
.pd-body--checkout .btn-order-save {
    min-width: 140px;
    padding: 0 24px;
}

.pd-body--checkout .bx-soa-pp-company-selected,
.pd-body--checkout .bx-soa-pp-price,
.pd-body--checkout .form-check {
    border: 1px solid rgba(17, 17, 17, 0.12);
    border-radius: 0;
    background: #f7f7f7;
    color: #111;
}

.pd-body--checkout .bx-soa-pp {
    display: grid;
    gap: 10px;
}

.pd-body--checkout .bx-soa-pp-company {
    min-height: auto;
    margin: 0 0 10px;
    padding: 0;
    border: 1px solid rgba(17, 17, 17, 0.12);
    border-radius: 0;
    background: #fff;
    transition: border-color 0.18s ease, background-color 0.18s ease;
}

.pd-body--checkout .bx-soa-pp-company.bx-selected,
.pd-body--checkout .bx-soa-pp-company:hover {
    border-color: #111;
    background: #f7f7f7;
}

.pd-body--checkout .bx-soa-pp-company-graf {
    display: none;
}

.pd-body--checkout .bx-soa-pp-company-smalltitle,
.pd-body--checkout .bx-soa-pp-company-description {
    color: #111;
    font-family: Inter, Roboto, sans-serif;
}

.pd-body--checkout .bx-soa-pp-company-smalltitle {
    font-size: 15px;
    font-weight: 400;
}

.pd-body--checkout .bx-soa-pp-company-description {
    color: rgba(17, 17, 17, 0.58);
    font-size: 13px;
}

.pd-body--checkout .bx-soa-pp-inner-ps {
    padding: 15px 16px;
}

.pd-body--checkout .bx-soa-pp-company-selected,
.pd-body--checkout .bx-soa-pp-price {
    padding: 14px 16px;
}

.pd-body--checkout .form-check {
    margin: 8px 0;
    padding: 12px 14px;
}

.pd-body--checkout .bx-soa-cart-total {
    padding: 28px 30px;
    background: #f7f7f7;
}

.pd-body--checkout .bx-soa-cart-total-line {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(17, 17, 17, 0.12);
}

.pd-body--checkout .bx-soa-cart-total-line-total {
    align-items: baseline;
    border-bottom: 0;
}

.pd-body--checkout .bx-soa-cart-t {
    color: rgba(17, 17, 17, 0.56);
    font-weight: 400;
}

.pd-body--checkout .bx-soa-cart-total-line-total .bx-soa-cart-d {
    font-size: 30px;
    line-height: 1;
}

.pd-body--checkout .bx-soa-cart-total-button-container {
    margin-top: 18px;
}

.pd-body--checkout .bx-soa-cart-total-button-container .btn {
    width: 100%;
}

.pd-body--checkout #bx-soa-total-mobile {
    display: none !important;
}

.pd-body--checkout .alert-danger:empty,
.pd-body--checkout #bx-soa-auth,
.pd-body--checkout #bx-soa-pickup:empty {
    display: none;
}

.pd-body--checkout .main-user-consent-request {
    display: block;
    font-size: 14px;
    line-height: 1.4;
}

.pd-body--checkout .main-user-consent-request input {
    margin-right: 8px;
}

.pd-body--checkout .main-user-consent-request-announce-link {
    color: var(--pd-muted);
    font-weight: 400;
}

.pd-checkout {
    width: min(1160px, calc(100% - 32px));
    margin: 36px auto 84px;
    color: #111;
    font-family: Inter, Roboto, sans-serif;
}

.pd-checkout__head {
    margin-bottom: 30px;
}

.pd-checkout__back {
    display: inline-flex;
    margin-bottom: 18px;
    color: rgba(17, 17, 17, 0.58);
    font-size: 14px;
    line-height: 1.3;
    text-decoration: none;
}

.pd-checkout h1 {
    margin: 0;
    color: #a9d1de;
    font-family: Inter, Roboto, sans-serif;
    font-size: clamp(42px, 5vw, 72px);
    line-height: 1;
    font-weight: 400;
    letter-spacing: 0;
}

.pd-checkout__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
    gap: 48px;
    align-items: start;
}

.pd-checkout__form {
    display: grid;
    gap: 20px;
    min-width: 0;
}

.pd-checkout-note {
    display: grid;
    gap: 8px;
    color: #1f5b42;
    font-size: 15px;
    line-height: 1.55;
}

.pd-checkout-note strong {
    color: #111;
    font-weight: 400;
}

.pd-checkout-card,
.pd-checkout-summary,
.pd-checkout__success,
.pd-checkout__alert,
.pd-checkout__empty {
    border: 0;
    background: #fff;
    box-shadow: none;
}

.pd-checkout-card {
    padding: 0;
}

.pd-checkout-card h2,
.pd-checkout-summary h2,
.pd-checkout__success h2 {
    margin: 0 0 20px;
    color: #111;
    font-family: Inter, Roboto, sans-serif;
    font-size: 20px;
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: 0;
}

.pd-checkout-card label {
    display: grid;
    gap: 0;
    margin: 0 0 20px;
}

.pd-checkout-card label:last-child {
    margin-bottom: 0;
}

.pd-checkout-card label > span,
.pd-checkout-fieldset > span,
.pd-checkout-check span {
    display: block;
    padding: 0 10px 5px 0;
    color: #1f5b42;
    font-family: Inter, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.45;
    font-weight: 500;
}

.pd-checkout-card small {
    color: #1f5b42;
    font-family: Inter, Arial, sans-serif;
    font-size: 12px;
    line-height: 1.55;
    opacity: 0.7;
}

.pd-checkout input[type="text"],
.pd-checkout input[type="email"],
.pd-checkout input[type="tel"],
.pd-checkout textarea {
    width: 100%;
    min-height: 56px;
    padding: 0 20px !important;
    border: 1px solid #5b7561 !important;
    border-radius: 15px !important;
    background: #fff !important;
    color: #000 !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.33 !important;
    font-weight: 400 !important;
    box-shadow: none !important;
}

.pd-checkout textarea {
    min-height: 96px;
    padding-top: 16px !important;
    border-radius: 15px !important;
    resize: vertical;
}

.pd-checkout input:focus,
.pd-checkout textarea:focus {
    border-color: #1f5b42;
    outline: 2px solid rgba(31, 91, 66, 0.18);
}

.pd-checkout__inline-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px;
    gap: 0 14px;
    align-items: start;
}

.pd-checkout__inline-fields label {
    align-content: start;
    margin-bottom: 0;
}

.pd-checkout-options {
    display: grid;
    gap: 0;
    margin-bottom: 20px;
}

.pd-checkout-option {
    display: grid !important;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 10px !important;
    align-items: start;
    margin: 0 0 10px !important;
    padding: 0;
    border: 0;
    background: #fff;
    color: #1f5b42;
    font-family: Inter, Arial, sans-serif;
    font-size: 12px;
    line-height: 1;
    font-weight: 400;
    cursor: pointer;
}

.pd-checkout-option:first-child {
    margin-top: 3px !important;
}

.pd-checkout-option:last-child {
    margin-bottom: 0 !important;
}

.pd-checkout-option:has(input:checked) {
    color: #1f5b42;
    background: transparent;
}

.pd-checkout-option input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #1f5b42;
}

.pd-checkout-option strong {
    display: block;
    color: #1f5b42;
    font-size: 12px;
    line-height: 1.25;
    font-weight: 400;
}

.pd-checkout-option small {
    display: block;
    margin-top: 5px;
    color: #1f5b42;
    font-size: 12px;
    line-height: 1.45;
    opacity: 0.7;
}

.pd-checkout-check {
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 10px !important;
    align-items: center;
    margin: 0 0 20px !important;
    color: #1f5b42;
    font-family: Inter, Arial, sans-serif;
    font-size: 12px;
    line-height: 1;
    font-weight: 400;
}

.pd-checkout-fieldset {
    display: grid;
    gap: 0;
    margin-bottom: 20px;
}

.pd-checkout-fieldset .pd-checkout-check {
    margin: 0 0 10px !important;
}

.pd-checkout-fieldset .pd-checkout-check:first-of-type {
    margin-top: 3px !important;
}

.pd-checkout-fieldset .pd-checkout-check:last-child {
    margin-bottom: 0 !important;
}

.pd-checkout-check input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #1f5b42;
}

.pd-checkout-check span {
    font-size: 12px;
    line-height: 1.35;
    font-weight: 400;
}

.pd-checkout-option input[type="radio"],
.pd-checkout-check input[type="radio"],
.pd-checkout-check input[type="checkbox"] {
    position: relative;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    margin: 0;
    border: 2px solid #000;
    background: transparent;
    appearance: none;
    opacity: 0.6;
    cursor: pointer;
}

.pd-checkout-option input[type="radio"],
.pd-checkout-check input[type="radio"] {
    border-radius: 50%;
}

.pd-checkout-check input[type="checkbox"] {
    border-radius: 0;
}

.pd-checkout-option input[type="radio"]:checked,
.pd-checkout-check input[type="radio"]:checked,
.pd-checkout-check input[type="checkbox"]:checked {
    opacity: 1;
}

.pd-checkout-option input[type="radio"]::after,
.pd-checkout-check input[type="radio"]::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #000;
    opacity: 0;
}

.pd-checkout-option input[type="radio"]:checked::after,
.pd-checkout-check input[type="radio"]:checked::after {
    opacity: 1;
}

.pd-checkout-check input[type="checkbox"]::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 6px;
    display: block;
    width: 4px;
    height: 10px;
    border: solid #000;
    border-width: 0 2px 2px 0;
    opacity: 0;
    transform: rotate(45deg);
}

.pd-checkout-check input[type="checkbox"]:checked::after {
    opacity: 1;
}

.pd-checkout-check a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.pd-checkout-summary {
    position: sticky;
    top: 124px;
    padding: 0;
    background: #fff;
}

.pd-checkout-summary__items {
    display: grid;
    gap: 12px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(17, 17, 17, 0.12);
}

.pd-checkout-summary__minimum {
    margin-bottom: 14px;
    color: #1f5b42;
    font-size: 14px;
    line-height: 1.35;
}

.pd-checkout-summary__minimum.is-warning {
    color: #9f1d1d;
}

.pd-checkout-summary__item,
.pd-checkout-summary__total {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    color: #111;
    font-size: 14px;
    line-height: 1.35;
}

.pd-checkout-summary__item strong,
.pd-checkout-summary__total strong {
    flex: 0 0 auto;
    font-weight: 400;
}

.pd-checkout-summary__total {
    margin-top: 20px;
    font-size: 20px;
    color: #1f5b42;
}

.pd-checkout-summary__delivery {
    margin-top: 16px;
}

.pd-checkout-check--consent {
    margin-top: 20px !important;
}

.pd-checkout-submit,
.pd-checkout__success a,
.pd-checkout__empty a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 60px;
    border: 0;
    border-radius: 50px;
    background: #a9d1de;
    color: #fff;
    font-family: Inter, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 400;
    padding: 0 30px;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
}

.pd-checkout-submit {
    margin-top: 10px;
}

.pd-checkout-payment-note {
    margin-top: 18px;
    color: #1f5b42;
    font-size: 15px;
    line-height: 1.55;
}

.pd-checkout__success,
.pd-checkout__empty {
    max-width: 680px;
    padding: 30px;
}

.pd-checkout__success p,
.pd-checkout__empty p {
    margin: 0 0 22px;
    color: rgba(17, 17, 17, 0.62);
    font-size: 16px;
    line-height: 1.45;
}

.pd-checkout__alert {
    margin-bottom: 18px;
    padding: 16px 18px;
    background: #fff7f7;
    color: #9f1d1d;
    font-size: 14px;
    line-height: 1.45;
}

@media (max-width: 720px) {
    .pd-main > .bx-authform,
    .pd-body--personal:not(.pd-body--checkout) .pd-main .bx-authform,
    .pd-body--cart .pd-main > .bx-basket,
    .pd-body--personal:not(.pd-body--checkout):not(.pd-body--personal-index) .pd-main > .row,
    .pd-body--personal-index .pd-main > .row {
        width: min(100% - 24px, 1120px);
        margin: 32px auto 58px;
    }

    .pd-main > .bx-authform,
    .pd-body--personal:not(.pd-body--checkout) .pd-main .bx-authform {
        padding: 28px 20px;
    }

    .basket-checkout-container {
        padding: 18px;
    }

    .pd-body--cart .pd-main > .bx-basket {
        grid-template-columns: 1fr;
        gap: 18px;
        padding-top: 0;
    }

    .pd-body--cart .pd-main > .bx-basket::before {
        margin-bottom: 0;
        font-size: 36px;
    }

    .pd-body--cart .basket-items-list-wrapper,
    .pd-body--cart .basket-checkout-container {
        grid-column: auto;
    }

    .pd-body--cart .basket-checkout-container {
        position: static;
    }

    .pd-cart-panel__body {
        width: 100%;
        padding: 24px 18px 20px;
    }

    .pd-cart-panel__title {
        font-size: 22px;
    }

    .pd-cart-panel__item {
        grid-template-columns: 64px minmax(0, 1fr) auto;
    }

    .pd-cart-panel__item-image {
        width: 64px;
        height: 64px;
    }

    .basket-coupon-block-total-price-current {
        font-size: 28px;
    }

    .pd-body--personal-index .pd-main > .row {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .pd-body--personal:not(.pd-body--checkout) .pd-main table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }

    .sale-personal-section-index-block,
    .sale-personal-section-index-block-link {
        min-height: 86px;
    }

    .sale-personal-section-index-block-link {
        grid-template-columns: 54px minmax(0, 1fr) 14px;
        justify-items: start;
        padding: 18px;
        text-align: left;
    }

    .sale-personal-section-index-block-ico {
        width: 54px;
        height: 54px;
        font-size: 24px;
    }

    .sale-personal-section-index-block-name {
        font-size: 20px;
    }

    .pd-body--checkout .pd-main > .bx-soa-wrapper {
        width: min(100% - 24px, 1180px);
        margin: 32px auto 58px;
    }

    .pd-checkout {
        width: min(100% - 24px, 1160px);
        margin: 32px auto 58px;
    }

    .pd-checkout__head {
        margin-bottom: 22px;
    }

    .pd-checkout h1 {
        font-size: 36px;
    }

    .pd-checkout__layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .pd-checkout-card,
    .pd-checkout-summary,
    .pd-checkout__success,
    .pd-checkout__empty {
        padding: 22px 18px;
    }

    .pd-checkout__inline-fields {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 20px;
    }

    .pd-checkout-summary {
        position: static;
    }

    .pd-body--checkout .pd-main > .bx-soa-wrapper::before {
        margin-bottom: 20px;
        font-size: 36px;
    }

    .pd-body--checkout #bx-soa-order {
        grid-template-columns: minmax(0, 1fr);
    }

    .pd-body--checkout .bx-soa-sidebar {
        position: static;
        order: -1;
    }

    .pd-body--checkout .bx-soa-section-title-container {
        margin: 0 18px;
        padding: 16px 0 13px;
    }

    .pd-body--checkout .bx-soa-section-title {
        font-size: 20px;
    }

    .pd-body--checkout .bx-soa-section-content {
        padding: 18px !important;
    }

    .pd-body--checkout .bx-soa-item-tr {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .pd-body--checkout .bx-soa-coupon {
        grid-template-columns: 1fr;
    }

    .pd-body--checkout .bx-soa-cart-total-line-total .bx-soa-cart-d {
        font-size: 28px;
    }
}

/* Фаза 2 — блок доставки: 3 типа, тарифы, карта */
.pd-checkout-dtype {
    display: flex;
    gap: 8px;
    margin-bottom: 18px;
}
.pd-checkout-dtype__item {
    flex: 1 1 0;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 10px;
    border: 1px solid var(--pd-border, #dcdcdc);
    border-radius: 12px;
    background: #fff;
    color: #1f5b42;
    font-family: Inter, Arial, sans-serif;
    font-size: 14px;
    text-align: center;
    cursor: pointer;
    transition: background .15s, border-color .15s, color .15s;
}
.pd-checkout-dtype__item input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.pd-checkout-dtype__item:has(input:checked) {
    background: #a9d1de;
    border-color: #a9d1de;
    color: #fff;
}

.pd-checkout-dpanel { display: grid; gap: 14px; }
.pd-checkout-dpanel[hidden] { display: none; }

.pd-pickup-card {
    display: grid;
    gap: 4px;
    padding: 16px 18px;
    border: 1px solid var(--pd-border, #dcdcdc);
    border-radius: 12px;
    background: #f4faf7;
    color: #1f5b42;
    font-size: 13px;
}
.pd-pickup-card strong { font-size: 15px; }

.pd-checkout-mapbtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 22px;
    border: 1px solid #a9d1de;
    border-radius: 50px;
    background: #fff;
    color: #1f5b42;
    font-family: Inter, Arial, sans-serif;
    font-size: 14px;
    cursor: pointer;
}
.pd-checkout-mapbtn:hover { background: #f0f8fb; }

.pd-checkout-tariffs { display: grid; gap: 8px; }
.pd-checkout-tariffs__label { color: rgba(31, 91, 66, 0.7); font-size: 12px; }
.pd-checkout-tariff {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    color: #1f5b42;
    font-size: 13px;
    cursor: pointer;
}
.pd-checkout-tariff input { width: 18px; height: 18px; accent-color: #a9d1de; }
.pd-checkout-tariff strong { font-weight: 500; }
.pd-checkout-option__free { display: block; color: #1f8a4c; font-size: 12px; }

/* Карта-модалка */
.pd-map-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.pd-map-modal.is-open { display: flex; }
.pd-map-modal__overlay { position: absolute; inset: 0; background: rgba(17, 17, 17, 0.55); }
.pd-map-modal__box {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 12px;
    width: min(720px, 100%);
    max-height: 90vh;
    overflow: auto;
    padding: 22px;
    border-radius: 16px;
    background: #fff;
}
.pd-map-modal__box h3 { margin: 0; color: #1f5b42; font-size: 20px; }
.pd-map-modal__close {
    position: absolute;
    top: 12px;
    right: 14px;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    background: #f0f0f0;
    color: #1f5b42;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}
.pd-map-modal__search {
    width: 100%;
    min-height: 48px;
    padding: 0 16px;
    border: 1px solid var(--pd-border, #dcdcdc);
    border-radius: 10px;
    font-size: 14px;
}
.pd-map-modal__canvas {
    width: 100%;
    height: 360px;
    border-radius: 12px;
    overflow: hidden;
    background: #eef2f4;
}
.pd-map-modal__result { display: grid; gap: 2px; color: #1f5b42; font-size: 14px; line-height: 1.4; }
.pd-map-modal__confirm { margin-top: 4px; }
.pd-map-modal__confirm:disabled { opacity: .5; cursor: not-allowed; }

.pd-checkout-submit:disabled,
.pd-checkout-submit.is-disabled { opacity: .5; cursor: not-allowed; }

body.pd-modal-open { overflow: hidden; }

@media (max-width: 720px) {
    .pd-map-modal__canvas { height: 280px; }
    .pd-checkout-dtype { flex-wrap: wrap; }
}


/* End */


/* Start:/local/templates/petdiet/css/content-pages.css?1782163562301276*/
.pd-buy-section {
    padding: 60px 0 40px;
    background: #f1f5f8;
    color: var(--pd-green);
    text-align: center;
}

.pd-buy-title,
.pd-faq-title {
    margin: 0 auto;
    color: var(--pd-blue);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 66px;
    line-height: 0.85;
    font-weight: 400;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.pd-buy-title {
    display: block;
    width: 100%;
    max-width: 1160px;
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    text-align: center;
    white-space: nowrap;
}

/* На не-десктопе заголовок «Как купить…» не помещается одной строкой (nowrap) и
   вылезал за контейнер (особенно ~768px). Разрешаем перенос — встаёт в 2 строки. */
@media (max-width: 1199px) {
    .pd-buy-title {
        white-space: normal;
    }
}

.pd-buy-text {
    max-width: 1018px;
    margin: 13px auto 0;
    font-size: 18px;
    line-height: 1.2;
}

.pd-info-page__header h1,
.pd-info-page__header .pd-info-page__title,
.pd-info-products-title,
.pd-info-primary-product__body h2,
.pd-info-contacts__panel h1 {
    font-family: Roboto, sans-serif;
    font-weight: 700;
    letter-spacing: 0;
}

.pd-info-page {
    padding: 72px 0 96px;
    background: #f1f5f8;
}

.pd-info-page .pd-container {
    width: min(1200px, calc(100% - 32px));
}

.pd-info-page__records {
    display: grid;
    gap: 0;
}

.pd-info-record {
    --pd-info-scale: 1;
    position: relative;
    width: min(100%, 1200px);
    min-height: 1px;
    margin: 0 auto;
    aspect-ratio: var(--pd-info-record-ratio, 1200 / 600);
    overflow: hidden;
}

@media (max-width: 1232px) {
    .pd-info-record {
        --pd-info-scale: 0.82;
    }
}

@media (max-width: 900px) {
    .pd-info-record {
        --pd-info-scale: 0.61;
    }
}

@media (max-width: 700px) {
    .pd-info-record {
        --pd-info-scale: 0.5;
    }
}

@media (max-width: 520px) {
    .pd-info-record {
        --pd-info-scale: 0.32;
    }
}

@media (max-width: 420px) {
    .pd-info-record {
        --pd-info-scale: 0.3;
    }
}

.pd-info-record__inner {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1200px;
    height: var(--pd-info-record-height);
    transform: translateX(-50%) scale(var(--pd-info-scale));
    transform-origin: top center;
}

.pd-info-el {
    position: absolute;
    top: var(--pd-info-el-top);
    left: var(--pd-info-el-left);
    z-index: var(--pd-info-el-z-index, 1);
    width: var(--pd-info-el-width);
    min-height: var(--pd-info-el-height);
    box-sizing: border-box;
    color: var(--pd-info-el-color);
    background: var(--pd-info-el-bg, transparent);
    border: var(--pd-info-el-border-width, 0) solid var(--pd-info-el-border-color, transparent);
    border-radius: var(--pd-info-el-border-radius, 0);
    font-family: Roboto, sans-serif;
    font-size: var(--pd-info-el-font-size);
    line-height: var(--pd-info-el-line-height);
    font-weight: var(--pd-info-el-weight);
    text-align: var(--pd-info-el-align);
    white-space: pre-line;
    margin: 0;
}

.pd-info-el--text {
    overflow-wrap: break-word;
}

.pd-info-el--text a {
    color: inherit;
    text-decoration: none;
}

.pd-info-el--button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: var(--pd-info-el-height);
    padding: 0 18px;
    text-align: center;
}

.pd-info-el--button a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: var(--pd-info-el-height);
}

.pd-info-el--button button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: var(--pd-info-el-height);
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.pd-info-el--shape {
    height: var(--pd-info-el-height);
    min-height: 0;
    pointer-events: none;
}

.pd-info-el--image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: var(--pd-info-el-height);
    min-height: 0;
}

.pd-info-el--image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.pd-info-page__header {
    max-width: 980px;
    margin: 0 auto 36px;
    text-align: center;
}

.pd-info-page__header h1,
.pd-info-page__header .pd-info-page__title {
    margin: 0;
    color: var(--pd-blue);
    font-family: Roboto, sans-serif;
    font-size: 42px;
    line-height: 0.9;
    font-weight: 700;
    text-transform: uppercase;
}

.pd-info-page__header p {
    max-width: 860px;
    margin: 24px auto 0;
    color: var(--pd-green);
    font-size: 18px;
    line-height: 1.35;
}

.pd-info-page__media {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin: 0 0 36px;
}

.pd-info-page__media img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 8px;
    background: #fff;
}

.pd-info-page__content {
    max-width: 920px;
    margin: 0 auto;
    padding: 36px 44px;
    border-radius: 8px;
    background: #fff;
    color: var(--pd-green);
}

.pd-info-page__content h2 {
    margin: 34px 0 12px;
    color: #cda077;
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 34px;
    line-height: 1;
    font-weight: 700;
}

.pd-info-page__content h2:first-child {
    margin-top: 0;
}

.pd-info-page__content p {
    margin: 0 0 16px;
    font-size: 17px;
    line-height: 1.55;
}

.pd-info-generated-faq {
    display: grid;
    gap: 42px;
    max-width: 1040px;
    margin: 34px auto 0;
    color: var(--pd-green);
}

.pd-info-generated-faq__anchors {
    height: 1px;
    overflow: hidden;
}

.pd-info-generated-faq__anchors span,
.pd-info-generated-faq__group {
    scroll-margin-top: 110px;
}

.pd-info-generated-faq__group {
    display: grid;
    gap: 18px;
}

.pd-info-generated-faq__group h2 {
    margin: 0;
    color: var(--pd-blue);
    font-family: Roboto, sans-serif;
    font-size: 34px;
    line-height: 1;
    font-weight: 700;
}

.pd-info-generated-faq__list {
    display: grid;
    gap: 14px;
}

.pd-info-generated-faq__item {
    padding: 24px 28px;
    border: 0;
    border-radius: 8px;
    background: #fff;
    color: var(--pd-green);
}

.pd-info-generated-faq__item summary {
    cursor: pointer;
    color: var(--pd-green);
    font-size: 18px;
    line-height: 1.35;
    font-weight: 700;
    list-style: none;
}

.pd-info-generated-faq__item summary::-webkit-details-marker {
    display: none;
}

.pd-info-generated-faq__item summary::after {
    content: "+";
    float: right;
    margin-left: 18px;
    color: var(--pd-blue);
    font-size: 24px;
    line-height: 1;
}

.pd-info-generated-faq__item[open] summary::after {
    content: "-";
}

.pd-info-generated-faq__item p {
    margin: 14px 0 0;
    font-size: 17px;
    line-height: 1.45;
}

.pd-info-page__content a,
.pd-info-generated-faq__item a,
.pd-info-review-card a,
.pd-info-contacts__panel a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.pd-info-page--reviews {
    overflow: hidden;
    padding: 0 0 96px;
    background: #fff;
}

.pd-info-page--reviews .pd-container {
    width: min(1160px, calc(100% - 40px));
}

.pd-info-page--reviews .pd-info-breadcrumbs {
    margin-bottom: 28px;
    color: var(--pd-green);
    font-size: 16px;
}

.pd-info-page--reviews .pd-info-breadcrumbs a {
    text-decoration: none;
}

.pd-info-reviews {
    max-width: none;
    margin: 0;
    color: var(--pd-green);
}

.pd-info-reviews__hero {
    position: relative;
    margin: 0 0 15px;
    padding: 0;
    background: transparent;
    text-align: center;
}

.pd-info-reviews__hero h1 {
    display: inline-block;
    margin: 0;
    color: #b7cdc2;
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: clamp(76px, 7vw, 100px);
    line-height: 0.85;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
    white-space: nowrap;
    transform: none;
}

.pd-info-reviews__heart {
    position: absolute;
    top: 18px;
    left: calc(50% + 286px);
    width: 40px;
    height: 35px;
    font-size: 0;
    background-color: #ffc7b8;
    -webkit-mask: url("/local/assets/petdiet-pages/images/heart.svg") center / contain no-repeat;
    mask: url("/local/assets/petdiet-pages/images/heart.svg") center / contain no-repeat;
}

.pd-info-reviews__grid {
    display: flex;
    gap: 40px;
    width: calc(100vw - max(20px, (100vw - 1200px) / 2));
    margin: 0 0 38px;
    padding: 0 0 2px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    cursor: grab;
    user-select: none;
}

.pd-info-reviews__grid.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
}

.pd-info-reviews__grid::-webkit-scrollbar {
    display: none;
}

.pd-info-review-card {
    box-sizing: border-box;
    flex: 0 0 360px;
    height: 624px;
    padding: 34px 30px;
    border: 1px solid #1f1f1f;
    border-radius: 20px;
    background: #fff;
    color: var(--pd-green);
    overflow: hidden;
    scroll-snap-align: start;
}

.pd-info-reviews__rating {
    margin-bottom: 24px;
    color: #e5b51e;
    font-size: 24px;
    line-height: 1;
    letter-spacing: 2px;
}

.pd-info-review-card p {
    margin: 0;
    font-size: 16px;
    line-height: 1.55;
}

/* /otzivi/ reviews cards — exact prod (Tilda t1196): 30px inset, pure-black border,
   20px emoji stars with no extra bottom margin (prod stars block is 41px, mb:0).
   The old 34px padding + 24px/24mb stars made the longest review overflow the fixed
   624px card; matching prod's metrics lets every review fit. Scoped to the reviews
   page so product-landing review cards (shared base class) are untouched. */
.pd-info-page--reviews .pd-info-review-card {
    padding: 30px;
    border-color: #000;
}

.pd-info-page--reviews .pd-info-reviews__rating {
    margin-bottom: 0;
    font-size: 20px;
    line-height: 2;
    letter-spacing: normal;
}

.pd-info-reviews__button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 254px;
    min-height: 55px;
    margin: 0 auto;
    border-radius: 999px;
    background: var(--pd-green);
    color: #fff;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
    text-decoration: none;
}

.pd-info-blog-index {
    max-width: 1040px;
    margin: 34px auto 0;
    color: var(--pd-green);
}

.pd-info-blog-index__lead {
    max-width: 780px;
    margin: 0 auto 28px;
    font-size: 18px;
    line-height: 1.45;
    text-align: center;
}

.pd-info-blog-index__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.pd-info-blog-card {
    display: flex;
    min-height: 160px;
    align-items: flex-end;
    padding: 22px 24px;
    border-radius: 8px;
    background: #fff;
    color: var(--pd-blue);
    text-decoration: none;
}

.pd-info-blog-card span {
    font-size: 20px;
    line-height: 1.15;
    font-weight: 700;
}

.pd-blog-page {
    background: #fff;
    color: var(--pd-green);
    padding: 0 0 130px;
}

.pd-blog-shell {
    width: min(1160px, calc(100% - 40px));
    margin: 0 auto;
}

.pd-blog-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
    margin: 0 0 38px;
    color: var(--pd-green);
    font-size: 16px;
    line-height: 1.35;
    font-weight: 300;
}

.pd-blog-breadcrumbs a {
    color: inherit;
    text-decoration: none;
}

.pd-blog-breadcrumbs a:hover,
.pd-blog-breadcrumbs a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.pd-blog-hero {
    max-width: 1120px;
    margin: 0 auto 24px;
    color: var(--pd-green);
    text-align: center;
}

.pd-blog-hero h1 {
    display: inline-block;
    margin: 0 0 24px;
    color: var(--pd-blue);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 100px;
    line-height: 0.95;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
    transform: none;
}

.pd-blog-hero p {
    max-width: 720px;
    margin: 0 auto;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
}

.pd-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px 40px;
}

.pd-blog-card {
    position: relative;
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 34px;
    background: #eef6f8;
    color: #fff;
    text-decoration: none;
}

.pd-blog-card::after {
    position: absolute;
    inset: 38% 0 0;
    z-index: 1;
    content: "";
    background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.58));
    pointer-events: none;
}

.pd-blog-card--light {
    color: #565961;
}

.pd-blog-card--light::after {
    display: none;
}

.pd-blog-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pd-blog-card__body {
    position: absolute;
    right: 28px;
    bottom: 26px;
    left: 28px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
}

.pd-blog-card--light .pd-blog-card__body {
    top: 58px;
    bottom: auto;
}

.pd-blog-card__title {
    display: block;
    max-width: 560px;
    font-size: 24px;
    line-height: 1.16;
    font-weight: 900;
}

.pd-blog-card__link {
    display: block;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 400;
}

.pd-article-page {
    background: #fff;
    color: var(--pd-green);
    padding: 0 0 112px;
}

.pd-article-shell {
    width: min(1160px, calc(100% - 40px));
    margin: 0 auto;
}

.pd-article-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
    margin: 0 0 84px;
    color: var(--pd-green);
    font-size: 16px;
    line-height: 1.35;
    font-weight: 300;
}

.pd-article-breadcrumbs a {
    color: inherit;
    text-decoration: none;
}

.pd-article-breadcrumbs a:hover,
.pd-article-breadcrumbs a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.pd-article {
    max-width: 1160px;
    margin: 0 auto;
}

.pd-article__lead-space {
    height: 478px;
    margin: 20px 0 38px;
    background: #fff;
    background-position: 0 33%;
    background-repeat: no-repeat;
    background-size: 100% auto;
    border-radius: 30px;
    overflow: hidden;
}

/* /plusi-i-minusi/ — prod floats a portrait image to the right with the (blue) title
   and body text flowing around it, instead of the full-width banner. */
.pd-article--portrait .pd-article__lead-space {
    float: right;
    width: 459px;
    height: 655px;
    margin: 8px 0 30px 60px;
    background-size: cover;
    background-position: 50% 50%;
}

.pd-article--portrait .pd-article__header {
    max-width: none;
    margin-bottom: 18px;
}

.pd-article--portrait .pd-article__header h1 {
    color: #a9d1de;
}

.pd-article--portrait .pd-article-products,
.pd-article--portrait .pd-article-related {
    clear: both;
}

.pd-article__header {
    max-width: 694px;
    margin: 0 0 24px;
}

.pd-article__header h1 {
    margin: 0;
    color: var(--pd-green);
    font-family: Roboto, sans-serif;
    font-size: 42px;
    line-height: 1.25;
    font-weight: 400;
    letter-spacing: 0;
}

.pd-article__body {
    max-width: 1160px;
    color: var(--pd-green);
}

.pd-article__body p {
    margin: 0 0 22px;
    color: #000;
    font-size: 16px;
    line-height: 1.56;
    font-weight: 400;
}

.pd-article__back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    margin-top: 30px;
    padding: 0 26px;
    border-radius: 23px;
    background: var(--pd-blue);
    color: #fff;
    font-size: 16px;
    line-height: 1;
    font-weight: 700;
    text-decoration: none;
}

.pd-article-products {
    margin-top: 44px;
}

.pd-article-products .pd-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pd-legal-page,
.pd-service-thanks-page {
    background: #fff;
    color: var(--pd-green);
    padding: 0 0 112px;
}

.pd-legal-shell,
.pd-service-thanks-shell {
    width: min(1160px, calc(100% - 40px));
    margin: 0 auto;
}

.pd-legal-breadcrumbs,
.pd-service-thanks-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
    margin: 0 0 64px;
    color: var(--pd-green);
    font-size: 16px;
    line-height: 1.35;
    font-weight: 300;
}

.pd-legal-breadcrumbs a,
.pd-service-thanks-breadcrumbs a {
    color: inherit;
    text-decoration: none;
}

.pd-legal-breadcrumbs a:hover,
.pd-legal-breadcrumbs a:focus-visible,
.pd-service-thanks-breadcrumbs a:hover,
.pd-service-thanks-breadcrumbs a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.pd-legal-document {
    max-width: 1040px;
}

.pd-legal-document__header {
    max-width: 900px;
    margin: 0 0 42px;
}

.pd-legal-document__header h1 {
    margin: 0;
    color: var(--pd-blue);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 92px;
    line-height: 1.05;
    font-weight: 400;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.pd-legal-document__body {
    color: var(--pd-green);
}

.pd-legal-document__body h2 {
    margin: 42px 0 18px;
    color: var(--pd-green);
    font-family: Roboto, sans-serif;
    font-size: 26px;
    line-height: 1.24;
    font-weight: 700;
    letter-spacing: 0;
}

.pd-legal-document__body h2:first-child {
    margin-top: 0;
}

.pd-legal-document__body p {
    margin: 0 0 16px;
    max-width: 100%;
    color: var(--pd-green);
    font-size: 20px;
    line-height: 1.55;
    font-weight: 300;
}

.pd-legal-document__body a {
    color: var(--pd-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.pd-service-thanks {
    display: flex;
    min-height: 620px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.pd-service-thanks__image {
    width: min(360px, 70vw);
    height: auto;
    margin: 0 0 42px;
}

.pd-service-thanks h1,
.pd-service-thanks__title {
    margin: 0;
    color: var(--pd-green);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 76px;
    line-height: 0.96;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: lowercase;
}

.pd-service-thanks p {
    max-width: 640px;
    margin: 34px 0 0;
    color: var(--pd-green);
    font-size: 22px;
    line-height: 1.3;
    font-weight: 400;
}

.pd-service-thanks__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    margin-top: 34px;
    padding: 0 32px;
    border-radius: 25px;
    background: var(--pd-blue);
    color: #fff;
    font-size: 16px;
    line-height: 1;
    font-weight: 700;
    text-decoration: none;
}

@media (max-width: 1220px) {
    .pd-blog-shell {
        width: min(960px, calc(100% - 40px));
    }

    .pd-blog-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 24px 28px;
    }

    .pd-blog-card {
        border-radius: 34px;
    }

    .pd-blog-card__title {
        font-size: 24px;
    }

    .pd-blog-card__link {
        font-size: 18px;
    }
}

@media (max-width: 980px) {
    .pd-blog-shell {
        width: min(620px, calc(100% - 40px));
    }

    .pd-blog-breadcrumbs {
        margin-bottom: 42px;
    }

    .pd-blog-hero {
        margin-bottom: 34px;
    }

    .pd-blog-hero h1 {
        font-size: 60px;
        transform: none;
    }

    .pd-blog-hero p {
        font-size: 20px;
    }

    .pd-blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px;
    }

    .pd-blog-card:nth-child(3) {
        order: 4;
    }

    .pd-blog-card:nth-child(4) {
        order: 3;
    }
}

@media (max-width: 640px) {
    .pd-blog-page {
        padding-bottom: 88px;
    }

    .pd-blog-shell {
        width: min(300px, calc(100% - 40px));
    }

    .pd-blog-breadcrumbs {
        gap: 8px;
        margin-bottom: 38px;
        font-size: 14px;
    }

    .pd-blog-hero {
        margin-bottom: 32px;
    }

    .pd-blog-hero h1 {
        margin-bottom: 16px;
        font-size: 44px;
    }

    .pd-blog-hero p {
        font-size: 16px;
        line-height: 1.28;
    }

    .pd-blog-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .pd-blog-card {
        aspect-ratio: 1.18 / 1;
        border-radius: 34px;
    }

    .pd-blog-card:nth-child(3),
    .pd-blog-card:nth-child(4) {
        order: initial;
    }

    .pd-blog-card__body {
        right: 22px;
        bottom: 22px;
        left: 22px;
        gap: 10px;
    }

    .pd-blog-card--light .pd-blog-card__body {
        top: 54px;
    }

    .pd-blog-card__title {
        font-size: 22px;
    }

    .pd-blog-card__link {
        font-size: 18px;
    }

    .pd-article-page {
        padding-bottom: 88px;
    }

    .pd-article-shell {
        width: min(320px, calc(100% - 20px));
    }

    .pd-article-breadcrumbs {
        gap: 8px;
        margin-bottom: 46px;
        font-size: 14px;
    }

    .pd-article__lead-space {
        height: 240px;
        margin: 10px 0 30px;
    }

    .pd-article__header {
        margin-bottom: 22px;
    }

    .pd-article__header h1 {
        font-size: 30px;
        line-height: 1.18;
    }

    .pd-article__body p {
        margin-bottom: 18px;
        font-size: 16px;
        line-height: 1.25;
    }

    .pd-article__back {
        width: 100%;
        margin-top: 18px;
    }

    .pd-article-products {
        margin-top: 32px;
    }

    .pd-article-products .pd-product-grid {
        grid-template-columns: 1fr;
    }

    .pd-legal-page,
    .pd-service-thanks-page {
        padding-bottom: 88px;
    }

    .pd-legal-shell,
    .pd-service-thanks-shell {
        width: min(320px, calc(100% - 20px));
    }

    .pd-legal-breadcrumbs,
    .pd-service-thanks-breadcrumbs {
        gap: 8px;
        margin-bottom: 42px;
        font-size: 14px;
    }

    .pd-legal-document__header {
        margin-bottom: 28px;
    }

    .pd-legal-document__header h1 {
        font-size: 52px;
        line-height: 1.05;
    }

    .pd-legal-document__body h2 {
        margin: 34px 0 14px;
        font-size: 22px;
        line-height: 1.2;
    }

    .pd-legal-document__body p {
        margin-bottom: 14px;
        font-size: 16px;
        line-height: 1.46;
    }

    .pd-service-thanks {
        min-height: 520px;
    }

    .pd-service-thanks__image {
        width: 240px;
        margin-bottom: 34px;
    }

    .pd-service-thanks h1,
    .pd-service-thanks__title {
        font-size: 50px;
        line-height: 0.98;
    }

    .pd-service-thanks p {
        margin-top: 26px;
        font-size: 18px;
    }

    .pd-service-thanks__button {
        width: 100%;
        margin-top: 28px;
    }
}

.pd-info-page__header--contacts {
    margin-bottom: 0;
    padding: 76px 64px 32px;
    background: var(--pd-blue);
    color: #fff;
    text-align: left;
}

.pd-info-page__header--contacts h1,
.pd-info-page__header--contacts p {
    color: #fff;
}

.pd-info-page__header--contacts h1 {
    text-transform: none;
}

.pd-info-page__header--contacts p {
    margin: 22px 0 0;
}

.pd-info-page__content--contacts {
    margin-top: 0;
    padding: 0 64px 76px;
    border-radius: 0;
    background: var(--pd-blue);
    color: #fff;
}

.pd-info-page__content--contacts p {
    color: #fff;
}

.pd-info-page__content--product {
    max-width: 760px;
    padding: 0;
    background: transparent;
    text-align: center;
}

.pd-info-page__content--product p:first-child {
    color: var(--pd-green);
    font-size: 42px;
    line-height: 1;
    font-weight: 700;
}

.pd-info-page__content--catalog {
    display: none;
}

.pd-info-page--catalog {
    background: #fff;
}

.pd-info-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin: 0 0 24px;
    color: var(--pd-green);
    font-size: 16px;
    line-height: 1.3;
}

.pd-info-breadcrumbs a {
    color: var(--pd-green);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.pd-info-page--welcome {
    padding-top: 0;
    background: #fff;
}

.pd-info-page--welcome .pd-info-breadcrumbs {
    margin: 0 0 18px;
}

.pd-info-page--welcome .pd-info-breadcrumbs a {
    font-weight: 300;
    text-decoration: none;
}

/* «что входит в набор?» (record 2) + «ПОЧЕМУ ВЫБИРАЮТ PET DIET?» (record 3) headings
   carry letter-spacing 2px on prod (the positioned-record breakpoints don't set it). */
.pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:first-child,
.pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:first-child {
    letter-spacing: 2px;
}

@media (min-width: 521px) {
    .pd-info-page--welcome {
        padding-bottom: 0;
        background: #fff;
    }

    .pd-info-page--welcome .pd-info-breadcrumbs {
        margin-bottom: 22px;
    }

    .pd-info-page--welcome .pd-container {
        width: 100%;
    }

    .pd-info-page--welcome .pd-info-record {
        width: 100vw;
        max-width: none;
        margin-left: calc((100% - 100vw) / 2);
        background: #fff;
    }

    .pd-info-page--welcome #pd-info-details.pd-info-record {
        height: 680px;
        aspect-ratio: auto;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-record__inner {
        z-index: 12;
    }

    .pd-info-page--welcome #pd-info-details.pd-info-record::before {
        content: "";
        position: absolute;
        z-index: 11;
        left: calc(50% - 603px);
        top: 74px;
        width: 589px;
        height: 604px;
        background: url("/local/assets/petdiet-pages/images/tild3435-3038-4939-b064-643933386466__kitten.jpg") center / contain no-repeat;
    }

    .pd-info-page--welcome #pd-info-details.pd-info-record::after {
        content: "";
        position: absolute;
        z-index: 11;
        left: calc(50% - 6px);
        top: 21px;
        width: 138px;
        height: 239px;
        background: url("/local/assets/petdiet-pages/images/tild3735-6432-4635-b062-323630666239__welcome_price.svg") center / contain no-repeat;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(1),
    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(3) {
        display: none;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(2) {
        --pd-info-el-top: -2px !important;
        --pd-info-el-left: 200px !important;
        --pd-info-el-width: 782px !important;
        --pd-info-el-height: 100px !important;
        --pd-info-el-font-size: 100px !important;
        --pd-info-el-line-height: 1 !important;
        --pd-info-el-color: #a9d1de !important;
        font-family: "Extenda", Arial, sans-serif;
        font-weight: 400;
        letter-spacing: 2px;
        text-align: center;
        text-transform: uppercase;
        white-space: normal;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(4) {
        --pd-info-el-top: 174px !important;
        --pd-info-el-left: 594px !important;
        --pd-info-el-width: 138px !important;
        --pd-info-el-height: 47px !important;
        --pd-info-el-font-size: 30px !important;
        --pd-info-el-line-height: 47px !important;
        --pd-info-el-color: #fff !important;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 47px;
        color: #fff !important;
        font-family: Inter, Arial, sans-serif;
        font-size: 30px !important;
        line-height: 47px !important;
        z-index: 20 !important;
        font-weight: 400;
        text-align: center;
        white-space: normal;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(5) {
        --pd-info-el-left: 601px !important;
        --pd-info-el-height: 108px !important;
        --pd-info-el-line-height: 1.2 !important;
        font-family: Inter, Arial, sans-serif;
        font-weight: 700;
        white-space: normal;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(6) {
        --pd-info-el-left: 601px !important;
        --pd-info-el-height: 108px !important;
        --pd-info-el-line-height: 1.2 !important;
        font-family: Inter, Arial, sans-serif;
        font-weight: 400;
        white-space: normal;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(7) {
        --pd-info-el-left: 601px !important;
        --pd-info-el-line-height: 1.55 !important;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 32px;
        background: var(--pd-green);
        color: #fff;
        font-family: Inter, Arial, sans-serif;
        font-weight: 400;
        text-align: center;
        white-space: normal;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:first-child {
        --pd-info-el-top: 36px !important;
        --pd-info-el-font-size: 76px !important;
        --pd-info-el-line-height: 0.86 !important;
        --pd-info-el-color: #b7cdc2 !important;
        font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
        font-weight: 400;
        text-align: center;
        text-transform: uppercase;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) {
        height: 1140px;
        aspect-ratio: auto;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) {
        height: 750px;
        aspect-ratio: auto;
    }
}

@media (min-width: 1200px) {
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:first-child {
        --pd-info-el-top: 80px !important;
        --pd-info-el-height: 100px !important;
        font-family: "Extenda", Arial, sans-serif;
        font-size: 100px !important;
        line-height: 100px !important;
        font-weight: 400;
        text-align: center;
        white-space: normal;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(3),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(5),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(8),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(11),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(14),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(17) {
        font-family: Inter, Arial, sans-serif;
        font-size: 20px !important;
        line-height: 22px !important;
        font-weight: 700;
        text-align: center;
        white-space: normal;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(6),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(9),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(12),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(15),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(18),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(19) {
        font-family: Inter, Arial, sans-serif;
        font-size: 16px !important;
        line-height: 21px !important;
        font-weight: 400;
        text-align: center;
        white-space: normal;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:first-child {
        font-family: "Extenda", Arial, sans-serif;
        font-size: 100px !important;
        line-height: 100px !important;
        font-weight: 400;
        color: #a9d1de !important;
        text-align: center;
        white-space: normal;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(3),
    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(5),
    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(7),
    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(9),
    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(11),
    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(13) {
        font-family: Inter, Arial, sans-serif;
        font-size: 16px !important;
        line-height: 19px !important;
        font-weight: 400;
        color: #000 !important;
        text-align: center;
        white-space: normal;
    }
}

@media (min-width: 521px) and (max-width: 900px) {
    .pd-info-page--welcome .pd-info-record:nth-of-type(3) {
        height: 660px;
    }
}

@media (min-width: 981px) and (max-width: 1199px) {
    .pd-info-page--welcome .pd-info-breadcrumbs {
        min-height: 28px;
        padding-bottom: 9px;
    }

    .pd-info-page--welcome #pd-info-details.pd-info-record {
        height: 490px;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-record__inner {
        inset: 0 auto auto 0;
        width: 100%;
        height: 490px;
        transform: none;
    }

    .pd-info-page--welcome #pd-info-details.pd-info-record::before {
        left: 124px;
        top: 74px;
        width: 394px;
        height: 404px;
    }

    .pd-info-page--welcome #pd-info-details.pd-info-record::after {
        left: 536px;
        top: 27px;
        width: 109px;
        height: 189px;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(2) {
        --pd-info-el-top: 0 !important;
        --pd-info-el-left: 112px !important;
        --pd-info-el-width: 782px !important;
        --pd-info-el-height: 100px !important;
        --pd-info-el-font-size: 100px !important;
        --pd-info-el-line-height: 1 !important;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(4) {
        --pd-info-el-top: 147px !important;
        --pd-info-el-left: 536px !important;
        --pd-info-el-width: 109px !important;
        --pd-info-el-height: 34px !important;
        --pd-info-el-font-size: 22px !important;
        --pd-info-el-line-height: 34px !important;
        min-height: 34px;
        font-size: 22px !important;
        line-height: 34px !important;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(5) {
        --pd-info-el-top: 245px !important;
        --pd-info-el-left: 526px !important;
        --pd-info-el-width: 350px !important;
        --pd-info-el-height: 52px !important;
        --pd-info-el-font-size: 22px !important;
        --pd-info-el-line-height: 26px !important;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(6) {
        --pd-info-el-top: 319px !important;
        --pd-info-el-left: 526px !important;
        --pd-info-el-width: 335px !important;
        --pd-info-el-height: 78px !important;
        --pd-info-el-font-size: 22px !important;
        --pd-info-el-line-height: 26px !important;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(7) {
        --pd-info-el-top: 411px !important;
        --pd-info-el-left: 528px !important;
        --pd-info-el-width: 202px !important;
        --pd-info-el-height: 44px !important;
        min-height: 44px;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-record__inner {
        inset: 0 auto auto 0;
        width: 100%;
        height: 1140px;
        transform: none;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:first-child {
        --pd-info-el-top: 80px !important;
        --pd-info-el-left: 119px !important;
        --pd-info-el-width: 782px !important;
        --pd-info-el-height: 100px !important;
        --pd-info-el-font-size: 100px !important;
        --pd-info-el-line-height: 1 !important;
        color: #b7cdc2 !important;
        font-family: "Extenda", Arial, sans-serif;
        font-size: 100px !important;
        font-weight: 400;
        line-height: 100px !important;
        text-align: center;
        white-space: normal;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(2),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(4),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(10),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(13),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(16) {
        --pd-info-el-width: 305px !important;
        --pd-info-el-height: 337px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(7) {
        --pd-info-el-width: 278px !important;
        --pd-info-el-height: 337px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(2) {
        --pd-info-el-top: 190px !important;
        --pd-info-el-left: 30px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(4) {
        --pd-info-el-top: 190px !important;
        --pd-info-el-left: 358px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(7) {
        --pd-info-el-top: 190px !important;
        --pd-info-el-left: 703px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(10) {
        --pd-info-el-top: 660px !important;
        --pd-info-el-left: 30px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(13) {
        --pd-info-el-top: 660px !important;
        --pd-info-el-left: 358px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(16) {
        --pd-info-el-top: 660px !important;
        --pd-info-el-left: 685px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(3),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(5),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(8),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(11),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(14),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(17) {
        --pd-info-el-width: 240px !important;
        --pd-info-el-height: 22px !important;
        --pd-info-el-font-size: 20px !important;
        --pd-info-el-line-height: 1.1 !important;
        color: #1f5b42 !important;
        font-family: Inter, Arial, sans-serif;
        font-size: 20px !important;
        font-weight: 700;
        line-height: 22px !important;
        text-align: center;
        white-space: normal;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(6),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(9),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(12),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(15),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(18) {
        --pd-info-el-width: 276px !important;
        --pd-info-el-height: auto !important;
        --pd-info-el-font-size: 16px !important;
        --pd-info-el-line-height: 1.3125 !important;
        color: #1f5b42 !important;
        font-family: Inter, Arial, sans-serif;
        font-size: 16px !important;
        font-weight: 400;
        line-height: 21px !important;
        text-align: center;
        white-space: normal;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(19) {
        --pd-info-el-width: 288px !important;
        --pd-info-el-height: auto !important;
        --pd-info-el-font-size: 16px !important;
        --pd-info-el-line-height: 1.3125 !important;
        color: #1f5b42 !important;
        font-family: Inter, Arial, sans-serif;
        font-size: 16px !important;
        font-weight: 400;
        line-height: 21px !important;
        text-align: center;
        white-space: normal;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(3) {
        --pd-info-el-top: 535px !important;
        --pd-info-el-left: 63px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(5) {
        --pd-info-el-top: 535px !important;
        --pd-info-el-left: 390px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(8) {
        --pd-info-el-top: 535px !important;
        --pd-info-el-left: 717px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(11) {
        --pd-info-el-top: 1005px !important;
        --pd-info-el-left: 64px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(14) {
        --pd-info-el-top: 1005px !important;
        --pd-info-el-left: 391px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(17) {
        --pd-info-el-top: 1005px !important;
        --pd-info-el-left: 718px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(6) {
        --pd-info-el-top: 566px !important;
        --pd-info-el-left: 45px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(9) {
        --pd-info-el-top: 566px !important;
        --pd-info-el-left: 372px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(12) {
        --pd-info-el-top: 566px !important;
        --pd-info-el-left: 700px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(15) {
        --pd-info-el-top: 1036px !important;
        --pd-info-el-left: 46px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(18) {
        --pd-info-el-top: 1036px !important;
        --pd-info-el-left: 372px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(19) {
        --pd-info-el-top: 1036px !important;
        --pd-info-el-left: 694px !important;
    }
}

@media (min-width: 521px) and (max-width: 980px) {
    .pd-info-page--welcome .pd-info-breadcrumbs {
        min-height: 28px;
        padding-bottom: 9px;
    }

    .pd-info-page--welcome #pd-info-details.pd-info-record {
        height: 380px;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-record__inner {
        inset: 0 auto auto 0;
        width: 100%;
        height: 380px;
        transform: none;
    }

    .pd-info-page--welcome #pd-info-details.pd-info-record::before {
        left: 54px;
        top: 18px;
        width: 358px;
        height: 367px;
    }

    .pd-info-page--welcome #pd-info-details.pd-info-record::after {
        left: 376px;
        top: 13px;
        width: 88px;
        height: 153px;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(2) {
        --pd-info-el-top: -1px !important;
        --pd-info-el-left: 140px !important;
        --pd-info-el-width: 471px !important;
        --pd-info-el-height: 60px !important;
        --pd-info-el-font-size: 60px !important;
        --pd-info-el-line-height: 1 !important;
        letter-spacing: 1.2px;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(4) {
        --pd-info-el-top: 108px !important;
        --pd-info-el-left: 376px !important;
        --pd-info-el-width: 88px !important;
        --pd-info-el-height: 34px !important;
        --pd-info-el-font-size: 22px !important;
        --pd-info-el-line-height: 34px !important;
        min-height: 34px;
        font-size: 22px !important;
        line-height: 34px !important;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(5) {
        --pd-info-el-top: 87px !important;
        --pd-info-el-left: 472px !important;
        --pd-info-el-width: 188px !important;
        --pd-info-el-height: 72px !important;
        --pd-info-el-font-size: 18px !important;
        --pd-info-el-line-height: 24px !important;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(6) {
        --pd-info-el-top: 190px !important;
        --pd-info-el-left: 386px !important;
        --pd-info-el-width: 264px !important;
        --pd-info-el-height: 69px !important;
        --pd-info-el-font-size: 18px !important;
        --pd-info-el-line-height: 23px !important;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(7) {
        --pd-info-el-top: 281px !important;
        --pd-info-el-left: 388px !important;
        --pd-info-el-width: 202px !important;
        --pd-info-el-height: 44px !important;
        min-height: 44px;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) {
        height: 800px;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-record__inner {
        inset: 0 auto auto 0;
        width: 100%;
        height: 800px;
        transform: none;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:first-child {
        --pd-info-el-top: 50px !important;
        --pd-info-el-left: 147px !important;
        --pd-info-el-width: 471px !important;
        --pd-info-el-height: 60px !important;
        --pd-info-el-font-size: 60px !important;
        --pd-info-el-line-height: 1 !important;
        color: #b7cdc2 !important;
        font-family: "Extenda", Arial, sans-serif;
        font-size: 60px !important;
        font-weight: 400;
        line-height: 60px !important;
        text-align: center;
        white-space: normal;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(2),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(4),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(10),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(13),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(16) {
        --pd-info-el-width: 203px !important;
        --pd-info-el-height: 224px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(7) {
        --pd-info-el-width: 185px !important;
        --pd-info-el-height: 224px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(2) {
        --pd-info-el-top: 120px !important;
        --pd-info-el-left: 62px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(4) {
        --pd-info-el-top: 120px !important;
        --pd-info-el-left: 281px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(7) {
        --pd-info-el-top: 120px !important;
        --pd-info-el-left: 515px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(10) {
        --pd-info-el-top: 453px !important;
        --pd-info-el-left: 62px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(13) {
        --pd-info-el-top: 453px !important;
        --pd-info-el-left: 281px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(16) {
        --pd-info-el-top: 453px !important;
        --pd-info-el-left: 499px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(3),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(5),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(8),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(11),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(14),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(17) {
        --pd-info-el-width: 160px !important;
        --pd-info-el-height: 18px !important;
        --pd-info-el-font-size: 16px !important;
        --pd-info-el-line-height: 1.125 !important;
        color: #1f5b42 !important;
        font-family: Inter, Arial, sans-serif;
        font-size: 16px !important;
        font-weight: 700;
        line-height: 18px !important;
        text-align: center;
        white-space: normal;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(6),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(9),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(12),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(15) {
        --pd-info-el-width: 184px !important;
        --pd-info-el-height: auto !important;
        --pd-info-el-font-size: 12px !important;
        --pd-info-el-line-height: 1.3333 !important;
        color: #1f5b42 !important;
        font-family: Inter, Arial, sans-serif;
        font-size: 12px !important;
        font-weight: 400;
        line-height: 16px !important;
        text-align: center;
        white-space: normal;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(18) {
        --pd-info-el-width: 173px !important;
        --pd-info-el-height: auto !important;
        --pd-info-el-font-size: 12px !important;
        --pd-info-el-line-height: 1.3333 !important;
        color: #1f5b42 !important;
        font-family: Inter, Arial, sans-serif;
        font-size: 12px !important;
        font-weight: 400;
        line-height: 16px !important;
        text-align: center;
        white-space: normal;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(19) {
        --pd-info-el-width: 192px !important;
        --pd-info-el-height: auto !important;
        --pd-info-el-font-size: 12px !important;
        --pd-info-el-line-height: 1.3333 !important;
        color: #1f5b42 !important;
        font-family: Inter, Arial, sans-serif;
        font-size: 12px !important;
        font-weight: 400;
        line-height: 16px !important;
        text-align: center;
        white-space: normal;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(3) {
        --pd-info-el-top: 350px !important;
        --pd-info-el-left: 84px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(5) {
        --pd-info-el-top: 350px !important;
        --pd-info-el-left: 302px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(8) {
        --pd-info-el-top: 350px !important;
        --pd-info-el-left: 520px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(11) {
        --pd-info-el-top: 683px !important;
        --pd-info-el-left: 85px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(14) {
        --pd-info-el-top: 683px !important;
        --pd-info-el-left: 302px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(17) {
        --pd-info-el-top: 683px !important;
        --pd-info-el-left: 521px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(6) {
        --pd-info-el-top: 371px !important;
        --pd-info-el-left: 72px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(9) {
        --pd-info-el-top: 371px !important;
        --pd-info-el-left: 290px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(12) {
        --pd-info-el-top: 371px !important;
        --pd-info-el-left: 509px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(15) {
        --pd-info-el-top: 704px !important;
        --pd-info-el-left: 73px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(18) {
        --pd-info-el-top: 704px !important;
        --pd-info-el-left: 296px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(19) {
        --pd-info-el-top: 704px !important;
        --pd-info-el-left: 505px !important;
    }
}

@media (min-width: 981px) and (max-width: 1199px) {
    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-record__inner {
        inset: 0 auto auto 0;
        width: 100%;
        height: 750px;
        transform: none;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:first-child {
        --pd-info-el-top: 80px !important;
        --pd-info-el-left: 112px !important;
        --pd-info-el-width: 782px !important;
        --pd-info-el-height: 100px !important;
        --pd-info-el-font-size: 100px !important;
        --pd-info-el-line-height: 1 !important;
        font-family: "Extenda", Arial, sans-serif;
        font-weight: 400;
        color: #a9d1de !important;
        text-align: center;
        white-space: normal;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(2) {
        --pd-info-el-top: 469px !important;
        --pd-info-el-left: 123px !important;
        --pd-info-el-width: 120px !important;
        --pd-info-el-height: 98px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(3) {
        --pd-info-el-top: 591px !important;
        --pd-info-el-left: 70px !important;
        --pd-info-el-width: 227px !important;
        --pd-info-el-height: 38px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(4) {
        --pd-info-el-top: 461px !important;
        --pd-info-el-left: 440px !important;
        --pd-info-el-width: 127px !important;
        --pd-info-el-height: 115px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(5) {
        --pd-info-el-top: 591px !important;
        --pd-info-el-left: 380px !important;
        --pd-info-el-width: 246px !important;
        --pd-info-el-height: 38px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(6) {
        --pd-info-el-top: 460px !important;
        --pd-info-el-left: 760px !important;
        --pd-info-el-width: 126px !important;
        --pd-info-el-height: 116px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(7) {
        --pd-info-el-top: 591px !important;
        --pd-info-el-left: 700px !important;
        --pd-info-el-width: 246px !important;
        --pd-info-el-height: 38px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(8) {
        --pd-info-el-top: 223px !important;
        --pd-info-el-left: 118px !important;
        --pd-info-el-width: 131px !important;
        --pd-info-el-height: 111px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(9) {
        --pd-info-el-top: 355px !important;
        --pd-info-el-left: 80px !important;
        --pd-info-el-width: 206px !important;
        --pd-info-el-height: 38px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(10) {
        --pd-info-el-top: 225px !important;
        --pd-info-el-left: 422px !important;
        --pd-info-el-width: 162px !important;
        --pd-info-el-height: 106px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(11) {
        --pd-info-el-top: 355px !important;
        --pd-info-el-left: 400px !important;
        --pd-info-el-width: 206px !important;
        --pd-info-el-height: 38px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(12) {
        --pd-info-el-top: 217px !important;
        --pd-info-el-left: 785px !important;
        --pd-info-el-width: 76px !important;
        --pd-info-el-height: 123px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(13) {
        --pd-info-el-top: 355px !important;
        --pd-info-el-left: 712px !important;
        --pd-info-el-width: 223px !important;
        --pd-info-el-height: 38px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(3),
    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(5),
    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(7),
    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(9),
    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(11),
    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(13) {
        --pd-info-el-font-size: 16px !important;
        --pd-info-el-line-height: 19px !important;
        color: #000 !important;
        font-family: Inter, Arial, sans-serif;
        font-weight: 400;
        line-height: 19px !important;
        text-align: center;
        white-space: normal;
    }
}

@media (min-width: 521px) and (max-width: 980px) {
    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-record__inner {
        inset: 0 auto auto 0;
        width: 100%;
        height: 660px;
        transform: none;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:first-child {
        --pd-info-el-top: 50px !important;
        --pd-info-el-left: 111px !important;
        --pd-info-el-width: 528px !important;
        --pd-info-el-height: 60px !important;
        --pd-info-el-font-size: 60px !important;
        --pd-info-el-line-height: 1 !important;
        font-family: "Extenda", Arial, sans-serif;
        font-weight: 400;
        color: #a9d1de !important;
        text-align: center;
        white-space: normal;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(2) {
        --pd-info-el-top: 379px !important;
        --pd-info-el-left: 99px !important;
        --pd-info-el-width: 120px !important;
        --pd-info-el-height: 98px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(3) {
        --pd-info-el-top: 501px !important;
        --pd-info-el-left: 86px !important;
        --pd-info-el-width: 122px !important;
        --pd-info-el-height: 57px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(4) {
        --pd-info-el-top: 371px !important;
        --pd-info-el-left: 312px !important;
        --pd-info-el-width: 127px !important;
        --pd-info-el-height: 115px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(5) {
        --pd-info-el-top: 501px !important;
        --pd-info-el-left: 309px !important;
        --pd-info-el-width: 133px !important;
        --pd-info-el-height: 57px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(6) {
        --pd-info-el-top: 370px !important;
        --pd-info-el-left: 533px !important;
        --pd-info-el-width: 126px !important;
        --pd-info-el-height: 116px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(7) {
        --pd-info-el-top: 501px !important;
        --pd-info-el-left: 519px !important;
        --pd-info-el-width: 154px !important;
        --pd-info-el-height: 57px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(8) {
        --pd-info-el-top: 133px !important;
        --pd-info-el-left: 87px !important;
        --pd-info-el-width: 131px !important;
        --pd-info-el-height: 111px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(9) {
        --pd-info-el-top: 265px !important;
        --pd-info-el-left: 90px !important;
        --pd-info-el-width: 125px !important;
        --pd-info-el-height: 57px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(10) {
        --pd-info-el-top: 135px !important;
        --pd-info-el-left: 294px !important;
        --pd-info-el-width: 162px !important;
        --pd-info-el-height: 106px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(11) {
        --pd-info-el-top: 265px !important;
        --pd-info-el-left: 296px !important;
        --pd-info-el-width: 158px !important;
        --pd-info-el-height: 38px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(12) {
        --pd-info-el-top: 127px !important;
        --pd-info-el-left: 558px !important;
        --pd-info-el-width: 76px !important;
        --pd-info-el-height: 123px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(13) {
        --pd-info-el-top: 265px !important;
        --pd-info-el-left: 528px !important;
        --pd-info-el-width: 140px !important;
        --pd-info-el-height: 76px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(3),
    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(5),
    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(7),
    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(9),
    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(11),
    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(13) {
        --pd-info-el-font-size: 16px !important;
        --pd-info-el-line-height: 19px !important;
        color: #000 !important;
        font-family: Inter, Arial, sans-serif;
        font-weight: 400;
        line-height: 19px !important;
        text-align: center;
        white-space: normal;
    }
}

@media (max-width: 520px) {
    .pd-info-page--welcome {
        padding-top: 48px;
    }

    .pd-info-page--welcome .pd-info-breadcrumbs {
        margin: 0 0 14px;
    }

    .pd-info-page--welcome #pd-info-details.pd-info-record {
        width: 100vw;
        height: 400px;
        margin-left: calc((100% - 100vw) / 2);
        aspect-ratio: auto;
        background: #fff;
    }

    .pd-info-page--welcome #pd-info-details.pd-info-record::before {
        content: "";
        position: absolute;
        z-index: 4;
        left: -45px;
        top: 45px;
        width: 258px;
        height: 285px;
        background: url("/local/assets/petdiet-pages/images/tild3435-3038-4939-b064-643933386466__kitten.jpg") center / contain no-repeat;
    }

    .pd-info-page--welcome #pd-info-details.pd-info-record::after {
        content: "";
        position: absolute;
        z-index: 5;
        left: 199px;
        top: 27px;
        width: 68px;
        height: 118px;
        background: url("/local/assets/petdiet-pages/images/tild3735-6432-4635-b062-323630666239__welcome_price.svg") center / contain no-repeat;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-record__inner {
        inset: 0 auto auto 0;
        width: 320px;
        height: 400px;
        transform: none;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(1),
    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(3) {
        display: none;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(2) {
        --pd-info-el-top: -52px !important;
        --pd-info-el-left: 38px !important;
        --pd-info-el-width: 330px !important;
        --pd-info-el-height: 58px !important;
        --pd-info-el-font-size: 62px !important;
        --pd-info-el-line-height: 0.86 !important;
        --pd-info-el-color: #a8d5e1 !important;
        font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
        font-weight: 400;
        text-transform: uppercase;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(4) {
        --pd-info-el-top: 78px !important;
        --pd-info-el-left: 199px !important;
        --pd-info-el-width: 68px !important;
        --pd-info-el-height: 68px !important;
        --pd-info-el-font-size: 14px !important;
        --pd-info-el-color: #fff !important;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 68px;
        border-radius: 50%;
        background: transparent;
        font-weight: 700;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(5) {
        --pd-info-el-top: 154px !important;
        --pd-info-el-left: 184px !important;
        --pd-info-el-width: 146px !important;
        --pd-info-el-height: 70px !important;
        --pd-info-el-font-size: 16px !important;
        --pd-info-el-line-height: 1.24 !important;
        font-weight: 700;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(6) {
        --pd-info-el-top: 226px !important;
        --pd-info-el-left: 184px !important;
        --pd-info-el-width: 165px !important;
        --pd-info-el-height: 78px !important;
        --pd-info-el-font-size: 16px !important;
        --pd-info-el-line-height: 1.12 !important;
    }

    .pd-info-page--welcome #pd-info-details .pd-info-el:nth-child(7) {
        --pd-info-el-top: 331px !important;
        --pd-info-el-left: 87px !important;
        --pd-info-el-width: 202px !important;
        --pd-info-el-height: 42px !important;
        --pd-info-el-font-size: 16px !important;
        min-height: 42px;
        border-radius: 24px;
        background: var(--pd-green);
        color: #fff;
        font-weight: 700;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) {
        width: 100vw;
        height: 1070px;
        margin-left: calc((100% - 100vw) / 2);
        aspect-ratio: auto;
        background: #fff;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-record__inner {
        inset: 0 auto auto 50%;
        width: 320px;
        height: 1070px;
        transform: translateX(-50%);
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:first-child {
        --pd-info-el-top: 36px !important;
        --pd-info-el-left: 63px !important;
        --pd-info-el-width: 194px !important;
        --pd-info-el-height: 110px !important;
        --pd-info-el-font-size: 52px !important;
        --pd-info-el-line-height: 0.8 !important;
        --pd-info-el-color: #b7cdc2 !important;
        font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
        font-weight: 400;
        text-align: center;
        text-transform: uppercase;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(2),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(4),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(7),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(10),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(13),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(16) {
        --pd-info-el-width: 126px !important;
        --pd-info-el-height: 128px !important;
        overflow: hidden;
        border-radius: 4px;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(2) {
        --pd-info-el-top: 178px !important;
        --pd-info-el-left: 14px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(4) {
        --pd-info-el-top: 178px !important;
        --pd-info-el-left: 180px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(10) {
        --pd-info-el-top: 480px !important;
        --pd-info-el-left: 14px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(7) {
        --pd-info-el-top: 480px !important;
        --pd-info-el-left: 180px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(13) {
        --pd-info-el-top: 764px !important;
        --pd-info-el-left: 14px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(16) {
        --pd-info-el-top: 764px !important;
        --pd-info-el-left: 180px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(3),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(5),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(8),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(11),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(14),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(17) {
        --pd-info-el-width: 140px !important;
        --pd-info-el-height: auto !important;
        --pd-info-el-font-size: 17px !important;
        --pd-info-el-line-height: 1.15 !important;
        --pd-info-el-color: #00603f !important;
        font-weight: 700;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(6),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(9),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(12),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(15),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(18),
    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(19) {
        --pd-info-el-width: 132px !important;
        --pd-info-el-height: auto !important;
        --pd-info-el-font-size: 14px !important;
        --pd-info-el-line-height: 1.22 !important;
        --pd-info-el-color: #00603f !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(3) {
        --pd-info-el-top: 346px !important;
        --pd-info-el-left: 26px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(6) {
        --pd-info-el-top: 374px !important;
        --pd-info-el-left: 14px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(5) {
        --pd-info-el-top: 346px !important;
        --pd-info-el-left: 188px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(9) {
        --pd-info-el-top: 374px !important;
        --pd-info-el-left: 178px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(11) {
        --pd-info-el-top: 620px !important;
        --pd-info-el-left: 18px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(15) {
        --pd-info-el-top: 650px !important;
        --pd-info-el-left: 14px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(8) {
        --pd-info-el-top: 620px !important;
        --pd-info-el-left: 184px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(12) {
        --pd-info-el-top: 650px !important;
        --pd-info-el-left: 178px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(14) {
        --pd-info-el-top: 932px !important;
        --pd-info-el-left: 18px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(18) {
        --pd-info-el-top: 962px !important;
        --pd-info-el-left: 14px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(17) {
        --pd-info-el-top: 932px !important;
        --pd-info-el-left: 184px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(2) .pd-info-el:nth-child(19) {
        --pd-info-el-top: 962px !important;
        --pd-info-el-left: 178px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) {
        width: 100vw;
        height: 860px;
        margin-left: calc((100% - 100vw) / 2);
        aspect-ratio: auto;
        background: #fff;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-record__inner {
        inset: 0 auto auto 50%;
        width: 320px;
        height: 860px;
        transform: translateX(-50%);
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:first-child {
        --pd-info-el-top: -2px !important;
        --pd-info-el-left: 7px !important;
        --pd-info-el-width: 306px !important;
        --pd-info-el-height: 104px !important;
        --pd-info-el-font-size: 52px !important;
        --pd-info-el-line-height: 0.86 !important;
        --pd-info-el-color: #b4d9e3 !important;
        font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
        font-weight: 400;
        text-align: center;
        text-transform: uppercase;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(3),
    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(5),
    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(7),
    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(9),
    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(11),
    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(13) {
        --pd-info-el-width: 126px !important;
        --pd-info-el-height: auto !important;
        --pd-info-el-font-size: 16px !important;
        --pd-info-el-line-height: 1.17 !important;
        --pd-info-el-color: #000 !important;
        font-weight: 400;
        text-align: center;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(8) {
        --pd-info-el-top: 164px !important;
        --pd-info-el-left: 40px !important;
        --pd-info-el-width: 86px !important;
        --pd-info-el-height: 88px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(9) {
        --pd-info-el-top: 278px !important;
        --pd-info-el-left: 26px !important;
        --pd-info-el-width: 112px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(10) {
        --pd-info-el-top: 162px !important;
        --pd-info-el-left: 207px !important;
        --pd-info-el-width: 74px !important;
        --pd-info-el-height: 88px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(11) {
        --pd-info-el-top: 279px !important;
        --pd-info-el-left: 166px !important;
        --pd-info-el-width: 148px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(2) {
        --pd-info-el-top: 385px !important;
        --pd-info-el-left: 43px !important;
        --pd-info-el-width: 86px !important;
        --pd-info-el-height: 83px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(3) {
        --pd-info-el-top: 478px !important;
        --pd-info-el-left: 23px !important;
        --pd-info-el-width: 116px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(4) {
        --pd-info-el-top: 403px !important;
        --pd-info-el-left: 196px !important;
        --pd-info-el-width: 95px !important;
        --pd-info-el-height: 97px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(5) {
        --pd-info-el-top: 478px !important;
        --pd-info-el-left: 186px !important;
        --pd-info-el-width: 110px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(12) {
        --pd-info-el-top: 615px !important;
        --pd-info-el-left: 53px !important;
        --pd-info-el-width: 70px !important;
        --pd-info-el-height: 86px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(13) {
        --pd-info-el-top: 690px !important;
        --pd-info-el-left: 34px !important;
        --pd-info-el-width: 112px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(6) {
        --pd-info-el-top: 589px !important;
        --pd-info-el-left: 198px !important;
        --pd-info-el-width: 88px !important;
        --pd-info-el-height: 91px !important;
    }

    .pd-info-page--welcome .pd-info-record:nth-of-type(3) .pd-info-el:nth-child(7) {
        --pd-info-el-top: 690px !important;
        --pd-info-el-left: 190px !important;
        --pd-info-el-width: 110px !important;
    }
}

.pd-faq-page {
    background: #d7edf4;
    color: var(--pd-green);
}

.pd-faq-shell {
    width: min(1164px, calc(100% - 40px));
    margin: 0 auto;
    padding: 30px 0 78px;
}

.pd-faq-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 72px;
    color: var(--pd-green);
    font-size: 16px;
    line-height: 1.35;
}

.pd-faq-breadcrumbs a {
    color: inherit;
    text-decoration: none;
}

.pd-faq-layout {
    display: grid;
    grid-template-columns: 330px minmax(0, 760px);
    gap: 70px;
    align-items: start;
}

.pd-faq-sidebar {
    display: grid;
    align-content: start;
    gap: 28px;
}

.pd-faq-sidebar h1 {
    max-width: 275px;
    margin: 0;
    color: #fff;
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 57px;
    line-height: 0.98;
    font-weight: 100;
    letter-spacing: 2px;
}

.pd-faq-nav {
    display: grid;
    width: 250px;
    margin-top: 0;
}

.pd-faq-nav a {
    display: block;
    padding: 8px 4px 7px;
    border-bottom: 2px solid #fff;
    color: var(--pd-green);
    font-size: 17px;
    line-height: 1.15;
    font-weight: 700;
    text-decoration: none;
}

.pd-faq-illustration {
    width: 253px;
    height: auto;
    margin-top: 62px;
}

.pd-faq-content {
    display: grid;
    gap: 36px;
}

.pd-faq-group {
    display: grid;
    gap: 16px;
    scroll-margin-top: 110px;
}

.pd-faq-group h2 {
    margin: 0 0 2px;
    color: var(--pd-green);
    font-family: Inter, Roboto, sans-serif;
    font-size: 30px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: -0.5px;
}

.pd-faq-list {
    display: grid;
    gap: 8px;
}

.pd-faq-item {
    border: 0;
    border-radius: 999px;
    background: #fff;
    color: var(--pd-green);
    overflow: hidden;
}

.pd-faq-item[open] {
    border-radius: 18px;
}

.pd-faq-item summary {
    position: relative;
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 8px 56px 8px 30px;
    cursor: pointer;
    color: var(--pd-green);
    font-size: 16px;
    line-height: 1.15;
    font-weight: 700;
    list-style: none;
}

.pd-faq-item summary::-webkit-details-marker {
    display: none;
}

.pd-faq-item summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 24px;
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    border: 2px solid var(--pd-green);
    border-radius: 50%;
    color: var(--pd-green);
    font-size: 20px;
    line-height: 16px;
    font-weight: 400;
    transform: translateY(-50%);
}

.pd-faq-item[open] summary::after {
    content: "-";
}

.pd-faq-item__body {
    padding: 0 30px 22px;
    font-size: 16px;
    line-height: 1.35;
}

.pd-contacts-page {
    background: var(--pd-blue);
    color: #fff;
}

.pd-contacts-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    width: min(1160px, calc(100% - 40px));
    margin: 0 auto;
    padding: 9px 0 33px;
    color: var(--pd-green);
    font-family: Roboto, sans-serif;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 300;
}

.pd-contacts-breadcrumbs a {
    color: var(--pd-green);
    text-decoration: none;
    transition: box-shadow 0.3s ease-in-out;
}

.pd-contacts-breadcrumbs a:hover,
.pd-contacts-breadcrumbs a:focus-visible {
    box-shadow: inset 0 -1px 0 #1f5b42;
}

.pd-contacts-main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    min-height: 100vh;
    background: var(--pd-blue);
}

.pd-contacts-map {
    min-height: 100vh;
    background: #eef5f7;
    overflow: hidden;
}

.pd-contacts-map iframe,
.pd-contacts-map__canvas {
    display: block;
    width: 100%;
    min-height: 100vh;
    border: 0;
}

.pd-contacts-map__canvas {
    height: 100%;
}

.pd-contacts-page .pd-contacts-legal {
    width: auto;
    margin: 0;
    /* full-width white band; text constrained to a centred ~760px column via side padding */
    padding: 40px max(20px, calc((100% - 760px) / 2));
    background: #fff;
    color: var(--pd-green);
    font-size: 15px;
    line-height: 1.4;
    text-align: center;
    box-sizing: border-box;
}

.pd-contacts-panel {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
    justify-content: flex-start;
    padding: 230px 90px 76px;
    background: var(--pd-blue);
    color: #fff;
}

.pd-contacts-panel h1 {
    margin: 0 0 48px;
    color: #fff;
    font-family: Inter, Roboto, sans-serif;
    font-size: 28px;
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: 0;
}

.pd-contacts-panel p {
    max-width: 520px;
    margin: 0 0 30px;
    color: #fff;
    font-size: 18px;
    line-height: 1.55;
}

.pd-contacts-panel a {
    color: #fff;
}

.pd-contacts-lead {
    margin-bottom: 44px !important;
    font-size: 24px !important;
    line-height: 1.25 !important;
}

.pd-contacts-lead a {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.pd-contacts-social {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.pd-contacts-social__link {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    color: #fff !important;
    background: transparent;
    font-size: 13px;
    line-height: 1;
    font-weight: 700;
    text-decoration: none;
}

.pd-contacts-social__link svg {
    display: block;
    width: 30px;
    height: 30px;
    fill: #fff;
}

.pd-contacts-legal-section {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    min-height: 84px;
    padding: 0 20px 96px;
    background: #fff;
    color: var(--pd-green);
}

.pd-contacts-legal {
    width: min(760px, 100%);
    margin: 0;
    color: var(--pd-green) !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    text-align: left;
}

.pd-subscription-page {
    background: #dceff5;
    color: var(--pd-green);
}

.pd-subscription-shell {
    width: min(1280px, calc(100% - 80px));
    margin: 0 auto;
    padding: 28px 0 96px;
}

.pd-subscription-shell--breadcrumbs {
    min-height: 0;
    padding-top: 14px;
    padding-bottom: 34px;
}

.pd-subscription-shell--content {
    padding-top: 0;
}

.pd-subscription-shell--notice,
.pd-subscription-shell--steps,
.pd-subscription-shell--manage {
    padding-top: 0;
}

.pd-subscription-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin: 0;
    color: var(--pd-green);
    font-size: 16px;
    line-height: 1.3;
    font-weight: 300;
}

.pd-subscription-breadcrumbs a {
    color: var(--pd-green);
    text-decoration: none;
}

.pd-subscription-breadcrumbs a:hover,
.pd-subscription-breadcrumbs a:focus-visible {
    box-shadow: inset 0 -1px 0 var(--pd-green);
}

.pd-subscription-hero {
    display: grid;
    grid-template-columns: minmax(0, 610px) minmax(0, 560px);
    gap: 64px;
    align-items: center;
    margin-bottom: 0;
}

.pd-subscription-hero__media img {
    display: block;
    width: 100%;
    max-height: 560px;
    object-fit: contain;
}

.pd-subscription-hero__content h1,
.pd-subscription-title,
.pd-subscription-manage h2 {
    margin: 0;
    color: var(--pd-green);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 100px;
    line-height: 0.9;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.pd-subscription-hero__content p {
    max-width: 560px;
    margin: 24px 0 0;
    color: var(--pd-green);
    font-size: 20px;
    line-height: 1.2;
}

.pd-subscription-notice {
    max-width: 980px;
    margin: 0 auto;
    padding: 56px 72px;
    border-radius: 32px;
    background: var(--pd-green);
    color: #fff;
    text-align: center;
}

.pd-subscription-notice p {
    margin: 0;
    font-size: 20px;
    line-height: 1.4;
    font-weight: 500;
}

.pd-subscription-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 38px;
    align-items: start;
    margin: 0 auto;
}

.pd-subscription-step {
    display: grid;
    gap: 16px;
    justify-items: center;
    color: var(--pd-green);
    text-align: center;
}

.pd-subscription-step img {
    display: block;
    width: min(100%, 230px);
    aspect-ratio: 1 / 1;
    object-fit: contain;
}

.pd-subscription-step span {
    display: block;
    font-size: 20px;
    line-height: 1.25;
}

.pd-subscription-manage {
    max-width: 1120px;
    margin: 0 auto;
    text-align: center;
}

.pd-subscription-manage h2 {
    margin: 0 auto 34px;
}

.pd-subscription-manage__text {
    max-width: 1040px;
    margin: 0 auto;
    color: var(--pd-green);
    font-size: 24px;
    line-height: 1.32;
}

.pd-subscription-cta {
    display: inline-flex;
    min-width: 360px;
    min-height: 70px;
    align-items: center;
    justify-content: center;
    margin-top: 46px;
    padding: 0 42px;
    border-radius: 999px;
    background: var(--pd-green);
    color: #fff;
    font-size: 22px;
    line-height: 1;
    font-weight: 700;
    text-decoration: none;
}

.pd-subscription-cta:hover,
.pd-subscription-cta:focus-visible {
    background: #174936;
}

@media (min-width: 1200px) {
    .pd-subscription-content--hero .pd-subscription-shell {
        padding-bottom: 12px;
    }

    .pd-subscription-content--notice .pd-subscription-shell--notice {
        padding-bottom: 44px;
    }

    .pd-subscription-content--steps .pd-subscription-shell--steps {
        padding-bottom: 60px;
    }

    .pd-subscription-content--manage .pd-subscription-shell--manage {
        box-sizing: border-box;
        width: 100%;
        min-height: 425px;
        padding: 53px 40px 50px;
    }

    .pd-subscription-content--manage .pd-subscription-manage {
        max-width: none;
    }

    .pd-subscription-content--manage .pd-subscription-manage h2 {
        max-width: none;
        margin-bottom: 11px;
        font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
        font-size: 100px;
        font-weight: 400;
        line-height: 0.86;
    }

    .pd-subscription-content--manage .pd-subscription-manage__text {
        max-width: 680px;
        font-size: 20px;
        line-height: 1.2;
    }

    .pd-subscription-content--manage .pd-subscription-cta {
        min-width: 185px;
        min-height: 45px;
        margin-top: 12px;
        padding: 0 24px;
        font-size: 15px;
    }
}

@media (max-width: 980px) {
    .pd-subscription-shell {
        width: calc(100% - 56px);
    }

    .pd-subscription-hero {
        grid-template-columns: 1fr;
        gap: 34px;
        justify-items: center;
        text-align: center;
    }

    .pd-subscription-hero__media img {
        max-height: 480px;
    }

    .pd-subscription-hero__content h1,
    .pd-subscription-title,
    .pd-subscription-manage h2 {
        font-size: 62px;
        line-height: 0.94;
    }

    .pd-subscription-hero__content p {
        margin-right: auto;
        margin-left: auto;
    }

    .pd-subscription-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 620px;
    }
}

@media (max-width: 480px) {
    .pd-subscription-content--hero .pd-subscription-shell {
        padding-bottom: 0;
    }

    .pd-subscription-hero {
        gap: 20px;
    }

    .pd-subscription-title {
        font-size: 42px;
        line-height: 1.05;
    }

    .pd-subscription-hero__content p {
        margin-top: 16px;
        font-size: 20px;
        line-height: 1.25;
    }
}

.pd-delivery-page {
    background: #fff;
    color: var(--pd-green);
}

.pd-delivery-shell {
    width: min(1200px, calc(100% - 40px));
    margin: 0 auto;
    padding: 0;
}

.pd-delivery-breadcrumb-block {
    height: auto;
}

.pd-delivery-shell--breadcrumbs {
    height: auto;
}

.pd-delivery-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    padding: 0 0 39px;
    color: var(--pd-green);
    font-size: 16px;
    line-height: 1.3;
    font-weight: 300;
}

.pd-delivery-breadcrumbs a {
    color: var(--pd-green);
    text-decoration: none;
}

.pd-delivery-breadcrumbs a:hover,
.pd-delivery-breadcrumbs a:focus-visible {
    box-shadow: inset 0 -1px 0 var(--pd-green);
}

.pd-delivery-page h1 {
    max-width: 782px;
    margin: 0 auto;
    color: #cda077;
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 100px;
    line-height: 0.9;
    font-weight: 400;
    letter-spacing: 3px;
    text-align: center;
    text-transform: uppercase;
}

.pd-delivery-title-block {
    height: 90px;
}

.pd-delivery-map-block {
    min-height: 520px;
    height: 60vh;
}

.pd-delivery-map-block .pd-delivery-shell {
    width: 90vw;
    max-width: none;
    height: 100%;
}

.pd-delivery-map {
    height: 520px;
    margin: 0 auto 95px;
    overflow: hidden;
    background: #eef5f7;
}

.pd-delivery-map-block .pd-delivery-map {
    height: 100%;
    min-height: 520px;
    margin-bottom: 0;
}

.pd-delivery-map iframe {
    display: block;
    width: 100%;
    min-height: 520px;
    border: 0;
}

.pd-delivery-summary {
    max-width: 774px;
    margin: 0 auto;
    padding-top: 42px;
    text-align: center;
}

.pd-delivery-summary-block {
    height: 390px;
}

.pd-delivery-summary h2 {
    max-width: 539px;
    margin: 0 auto 19px;
    color: var(--pd-green);
    font-family: Inter, Roboto, sans-serif;
    font-size: 42px;
    line-height: 1;
    font-weight: 400;
}

.pd-delivery-summary p {
    margin: 0 auto 36px;
    color: var(--pd-green);
    font-size: 16px;
    line-height: 1.25;
}

.pd-delivery-summary__button {
    display: inline-flex;
    min-width: 254px;
    min-height: 55px;
    align-items: center;
    justify-content: center;
    margin: 0 0 13px;
    padding: 0 28px;
    border: 1px solid var(--pd-green);
    border-radius: 999px;
    background: var(--pd-green);
    color: #fff;
    font-size: 16px;
    line-height: 1;
    text-decoration: none;
}

.pd-delivery-summary__button:hover,
.pd-delivery-summary__button:focus-visible {
    background: var(--pd-green);
    opacity: 0.9;
}

.pd-delivery-summary p.pd-delivery-summary__warning {
    max-width: 780px;
    color: #678e7e;
    font-size: 12px !important;
    line-height: 1.34;
}

.pd-delivery-details {
    position: relative;
    display: block;
    min-height: 750px;
}

.pd-delivery-details__section {
    position: absolute;
    left: 0;
    width: 100%;
    min-height: 0;
}

.pd-delivery-details__section h2 {
    margin: 0 0 6px;
    color: var(--pd-green);
    font-family: Inter, Roboto, sans-serif;
    font-size: 42px;
    line-height: 1.25;
    font-weight: 400;
}

.pd-delivery-details__text {
    color: var(--pd-green);
    font-size: 18px;
    line-height: 1.25;
}

.pd-delivery-details__section--delivery {
    top: 11px;
    min-height: 300px;
    padding-left: 20px;
    padding-right: 410px;
}

.pd-delivery-details__section--payment {
    top: 420px;
    padding-left: 480px;
}

.pd-delivery-details__image {
    position: absolute;
    height: auto;
}

.pd-delivery-details__image--pickup {
    top: 5px;
    right: 46px;
    width: 326px;
}

.pd-delivery-details__image--payment {
    left: 50px;
    top: -103px;
    width: 412px;
}

.pd-delivery-details__section--delivery h2 {
    margin-top: 11px;
}

.pd-about-info-page {
    background: #fff;
    color: var(--pd-green);
}

.pd-about-info-shell {
    width: min(1160px, calc(100% - 80px));
    margin: 0 auto;
    padding: 44px 0 96px;
}

/* /o-nas/ hero is a full-bleed looping video (prod) — pulled above the shell padding */
.pd-about-info-hero-video {
    width: 100vw;
    margin: -44px 0 28px calc(50% - 50vw);
    aspect-ratio: 256 / 153;
    overflow: hidden;
    line-height: 0;
    background: #2b3630;
}

.pd-about-info-hero-video video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 980px) {
    .pd-about-info-hero-video {
        aspect-ratio: 39 / 22;
    }
}

.pd-about-info-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin: 0 0 26px;
    color: var(--pd-green);
    font-size: 16px;
    line-height: 1.3;
    font-weight: 300;
}

.pd-about-info-breadcrumbs a {
    color: var(--pd-green);
    text-decoration: none;
}

.pd-about-info-breadcrumbs a:hover,
.pd-about-info-breadcrumbs a:focus-visible {
    box-shadow: inset 0 -1px 0 var(--pd-green);
}

.pd-about-info-topmark {
    display: block;
    width: min(372px, 100%);
    height: auto;
    margin: 0 auto 42px;
}

.pd-about-info-hero,
.pd-about-info-section,
.pd-about-info-history {
    text-align: center;
}

.pd-about-info-hero {
    margin-bottom: 72px;
}

.pd-about-info-section {
    margin-bottom: 58px;
}

.pd-about-info-hero h1,
.pd-about-info-section h2,
.pd-about-info-history h2 {
    margin: 0 auto 42px;
    color: #b7cdc2;
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: clamp(68px, 6.9vw, 100px);
    line-height: 0.9;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.pd-about-info-section h2 {
    margin-bottom: 46px;
}

.pd-about-info-history h2 {
    margin-bottom: 66px;
}

.pd-about-info-text {
    display: grid;
    gap: 28px;
    max-width: 960px;
    margin: 0 auto;
    color: var(--pd-green);
    font-size: 18px;
    line-height: 1.22;
}

.pd-about-info-text p,
.pd-about-info-history__text p {
    margin: 0;
}

.pd-about-info-history__grid {
    display: grid;
    gap: 32px;
}

.pd-about-info-history__row {
    display: grid;
    grid-template-columns: minmax(0, 473px) minmax(0, 620px);
    gap: 72px;
    align-items: center;
    text-align: left;
}

.pd-about-info-history__row:not(.pd-about-info-history__row--reverse) .pd-about-info-history__media {
    order: 2;
}

.pd-about-info-history__row:not(.pd-about-info-history__row--reverse) .pd-about-info-history__text {
    order: 1;
}

.pd-about-info-history__row--reverse {
    grid-template-columns: minmax(0, 620px) minmax(0, 525px);
}

.pd-about-info-history__row--reverse .pd-about-info-history__media {
    order: 1;
}

.pd-about-info-history__row--reverse .pd-about-info-history__text {
    order: 2;
    text-align: center;
}

.pd-about-info-history__media {
    overflow: hidden;
    border-radius: 25px;
    background: #f1f5f8;
    box-shadow: 0 2px 12px rgba(31, 91, 66, 0.12);
}

.pd-about-info-history__media img {
    display: block;
    width: 100%;
    aspect-ratio: 620 / 350;
    object-fit: cover;
}

.pd-about-info-history__text {
    color: var(--pd-green);
    font-size: 18px;
    line-height: 1.22;
}

.pd-about-info-history__row--final .pd-about-info-history__text {
    align-self: start;
    padding-top: 24px;
}

.pd-about-info-founder {
    display: grid;
    gap: 8px;
    justify-items: center;
    margin-top: 34px;
    text-align: center;
}

.pd-about-info-founder b {
    color: var(--pd-green);
    font-size: 22px;
    line-height: 1.1;
    font-weight: 700;
}

.pd-about-info-founder span {
    color: #1c1c1c;
    font-size: 16px;
    line-height: 1.2;
}

.pd-about-info-founder img {
    width: min(309px, 100%);
    height: auto;
    margin-top: 8px;
}

.pd-production-page {
    background: #fff;
    color: var(--pd-green);
}

.pd-production-shell {
    width: min(1160px, calc(100% - 80px));
    margin: 0 auto;
    padding: 0 0 96px;
}

.pd-production-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    padding: 0 0 54px;
    color: var(--pd-green);
    font-size: 16px;
    line-height: 1.3;
    font-weight: 300;
}

.pd-production-breadcrumbs a {
    color: var(--pd-green);
    text-decoration: none;
}

.pd-production-breadcrumbs a:hover,
.pd-production-breadcrumbs a:focus-visible {
    box-shadow: inset 0 -1px 0 var(--pd-green);
}

.pd-production-hero {
    margin: 0 auto 54px;
    text-align: center;
}

.pd-production-hero h1 {
    max-width: 1160px;
    margin: 0 auto 20px;
    color: var(--pd-blue);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: clamp(60px, 7vw, 100px);
    line-height: 0.86;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
    overflow-wrap: normal;
}

.pd-production-hero p {
    max-width: 640px;
    margin: 0 auto;
    color: var(--pd-green);
    font-size: 30px;
    line-height: 1.3;
}

.pd-production-slider {
    position: relative;
    margin: 0 0 143px;
}

.pd-production-track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
}

.pd-production-track::-webkit-scrollbar {
    display: none;
}

.pd-production-slide {
    display: grid;
    flex: 0 0 100%;
    grid-template-columns: minmax(0, 560px) minmax(0, 1fr);
    gap: 40px;
    align-items: center;
    scroll-snap-align: start;
}

.pd-production-slide__media {
    overflow: hidden;
    background: #edf5f7;
}

.pd-production-slide__media img {
    display: block;
    width: 100%;
    aspect-ratio: 560 / 560;
    object-fit: cover;
}

.pd-production-slide__content h2 {
    margin: 0 0 28px;
    color: var(--pd-blue);
    font-family: Inter, Roboto, sans-serif;
    font-size: 42px;
    line-height: 1;
    font-weight: 700;
}

.pd-production-slide__text {
    color: var(--pd-green);
    font-size: 20px;
    line-height: 1.55;
}

.pd-production-slide__text a {
    color: inherit;
}

.pd-production-arrow {
    position: absolute;
    z-index: 2;
    top: 50%;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(31, 91, 66, 0.28);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.82);
    transform: translateY(-50%);
    cursor: pointer;
}

.pd-production-arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 12px;
    border-top: 2px solid var(--pd-green);
    border-left: 2px solid var(--pd-green);
}

.pd-production-arrow--prev {
    left: -62px;
}

.pd-production-arrow--prev::before {
    transform: translate(-35%, -50%) rotate(-45deg);
}

.pd-production-arrow--next {
    right: -62px;
}

.pd-production-arrow--next::before {
    transform: translate(-65%, -50%) rotate(135deg);
}

.pd-production-video {
    width: 100%;
}

.pd-production-video iframe {
    display: block;
    width: 100%;
    height: 653px;
    border: 0;
    background: #111;
}

.pd-production-report {
    max-width: 900px;
    margin: 44px auto 0;
    color: #000;
    font-size: 16px;
    line-height: 1.333;
    text-align: center;
}

.pd-production-report a {
    color: #1f5c03;
    text-decoration: none;
    border-bottom: 2px solid #1f5c03;
}

.pd-production-certification {
    margin-top: 102px;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    padding: 43px max(40px, calc((100vw - 1160px) / 2)) 55px;
    background: #f1f5f8;
    text-align: center;
}

.pd-production-certification h2 {
    margin: 0 auto 14px;
    color: #a9d1de;
    font-family: Inter, Roboto, sans-serif;
    font-size: 36px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.pd-production-certification p {
    margin: 0 auto;
    color: #6b6b6b;
    font-size: 18px;
    line-height: 1.25;
}

.pd-production-certificates {
    display: flex;
    gap: 23px;
    margin-top: 28px;
    overflow-x: auto;
    padding-bottom: 10px;
    scroll-snap-type: x mandatory;
}

.pd-production-certificate {
    display: block;
    flex: 0 0 241px;
    overflow: hidden;
    background: #f1f5f8;
    scroll-snap-align: start;
}

.pd-production-certificate img {
    display: block;
    width: 100%;
    aspect-ratio: 241 / 342;
    object-fit: cover;
}

/* Shared image lightbox (certificate gallery) — mirrors prod's Tilda zoomer:
   full-screen white overlay, the image fit to screen, grey zoom + close buttons. */
.pd-lightbox {
    position: fixed;
    inset: 0;
    z-index: 5000;
    background: #fff;
}

.pd-lightbox[hidden] {
    display: none;
}

.pd-lightbox__stage {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 78px 16px 24px;
    box-sizing: border-box;
    overflow: auto;
    cursor: zoom-out;
}

.pd-lightbox__img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.pd-lightbox.is-zoomed .pd-lightbox__stage {
    align-items: flex-start;
    justify-content: flex-start;
    cursor: zoom-in;
}

.pd-lightbox.is-zoomed .pd-lightbox__img {
    max-width: none;
    max-height: none;
    width: auto;
}

.pd-lightbox__controls {
    position: fixed;
    top: 18px;
    right: 18px;
    display: flex;
    gap: 14px;
    z-index: 1;
}

.pd-lightbox__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #efefef;
    cursor: pointer;
}

.pd-lightbox__btn svg {
    display: block;
    width: 18px;
    height: 18px;
}

/* prev / next gallery navigation — page through the certificates (swipe + keys too) */
.pd-lightbox__nav {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #efefef;
    cursor: pointer;
    z-index: 1;
}

.pd-lightbox__prev {
    left: 12px;
}

.pd-lightbox__next {
    right: 12px;
}

.pd-lightbox__nav svg {
    display: block;
    width: 9px;
    height: 16px;
}

.pd-lightbox--single .pd-lightbox__nav {
    display: none;
}

body.pd-lightbox-open {
    overflow: hidden;
}

/* Add-to-cart toast (mobile) — mirrors prod's bottom "<name> добавлено в корзину" bubble */
.pd-cart-toast {
    position: fixed;
    left: 20px;
    right: 20px;
    bottom: 20px;
    z-index: 5500;
    display: flex;
    align-items: center;
    max-width: 420px;
    margin: 0 auto;
    min-height: 56px;
    padding: 14px 48px 14px 22px;
    border-radius: 10px;
    background: #648d9f;
    color: #fff;
    font-size: 16px;
    line-height: 1.25;
    box-shadow: 0 8px 28px rgba(31, 60, 72, 0.28);
    transform: translateY(170%);
    opacity: 0;
    transition: transform 0.32s ease, opacity 0.32s ease;
    pointer-events: none;
}

.pd-cart-toast.is-visible {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}

.pd-cart-toast__text {
    flex: 1;
}

.pd-cart-toast__close {
    position: absolute;
    top: 8px;
    right: 10px;
    width: 26px;
    height: 26px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.pd-cart-toast__close::before,
.pd-cart-toast__close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 1.5px;
    background: #fff;
}

.pd-cart-toast__close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.pd-cart-toast__close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.pd-charity-page {
    background: #fff;
    color: var(--pd-green);
}

.pd-charity-shell {
    width: min(1180px, calc(100% - 80px));
    margin: 0 auto;
    padding: 0 0 118px;
}

.pd-charity-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    padding: 0 0 96px;
    color: var(--pd-green);
    font-size: 16px;
    line-height: 1.3;
    font-weight: 300;
}

.pd-charity-breadcrumbs a {
    color: var(--pd-green);
    text-decoration: none;
}

.pd-charity-breadcrumbs a:hover,
.pd-charity-breadcrumbs a:focus-visible {
    box-shadow: inset 0 -1px 0 var(--pd-green);
}

.pd-charity-hero {
    display: grid;
    grid-template-columns: minmax(360px, 500px) minmax(0, 1fr);
    gap: 60px;
    align-items: center;
}

.pd-charity-hero__media {
    overflow: hidden;
    border-radius: 18px;
    background: #edf5f7;
}

.pd-charity-hero__media img {
    display: block;
    width: 100%;
    aspect-ratio: 500 / 582;
    object-fit: cover;
}

.pd-charity-hero__content h1 {
    margin: 0 0 26px;
    color: var(--pd-blue);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: clamp(72px, 7.4vw, 100px);
    line-height: 0.86;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.pd-charity-hero__text {
    display: grid;
    gap: 24px;
    color: var(--pd-green);
    font-size: 18px;
    line-height: 1.22;
}

.pd-charity-hero__text p,
.pd-charity-how__text p {
    margin: 0;
}

.pd-charity-hero__accent {
    font-weight: 700;
}

.pd-charity-how {
    background: var(--pd-blue);
    color: #fff;
}

.pd-charity-how__inner {
    width: min(1180px, calc(100% - 80px));
    margin: 0 auto;
    padding: 62px 0 74px;
    text-align: center;
}

.pd-charity-how h2 {
    max-width: 860px;
    margin: 0 auto 34px;
    color: #fff;
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: clamp(64px, 7.4vw, 100px);
    line-height: 0.86;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.pd-charity-how__text {
    display: grid;
    gap: 20px;
    max-width: 1040px;
    margin: 0 auto;
    color: #fff;
    font-size: 18px;
    line-height: 1.22;
}

.pd-charity-how__links {
    display: flex;
    flex-wrap: wrap;
    gap: 56px;
    justify-content: center;
    margin-top: 36px;
}

/* Prod renders these as plain green underlined text links (no pill) */
.pd-charity-how__links a {
    color: #17620f;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 700;
    text-align: center;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.pd-charity-how__links a:hover,
.pd-charity-how__links a:focus-visible {
    text-decoration: none;
}

.pd-charity-products {
    width: min(1180px, calc(100% - 80px));
    margin: 0 auto;
    padding: 86px 0 104px;
}

.pd-charity-products__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px 0;
}

/* Production stacks charity products in a single column on phones */
@media (max-width: 520px) {
    .pd-charity-products .pd-charity-products__grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Charity products mirror prod's Tilda-store card: centered text, big price,
   small title, whole-pouch (contain) image. Scoped so the shared catalog/home
   product cards keep their left-aligned 20px style. */
.pd-charity-products .pd-product-card__price,
.pd-charity-products .pd-product-card__name {
    text-align: center;
}

.pd-charity-products .pd-product-card__price {
    font-size: 25px;
    line-height: 1.4;
    font-weight: 600;
}

.pd-charity-products .pd-product-card__image img {
    object-fit: contain;
}

@media (max-width: 980px) {
    /* prod scales the buy controls up slightly on phones (50px-tall pills) and
       shrinks the product title from 20px → 16px */
    .pd-charity-products .pd-product-card__name {
        font-size: 16px;
        line-height: 1.35;
    }

    .pd-charity-products .pd-product-card__actions {
        width: 232px;
        grid-template-columns: 154px 70px;
    }

    .pd-charity-products .pd-product-card__more {
        width: 232px;
        min-height: 50px;
    }

    .pd-charity-products .pd-product-card__qty {
        width: 154px;
        height: 50px;
    }

    .pd-charity-products .pd-product-card__buy {
        height: 50px;
        min-height: 50px;
    }
}

.pd-info-page--category {
    padding-top: 36px;
    background: #fff;
}

.pd-info-page--category .pd-container {
    width: min(1320px, calc(100% - 64px));
}

.pd-info-page--category .pd-info-breadcrumbs {
    max-width: 1200px;
    margin: 0 auto;
}

.pd-info-category-landing {
    color: var(--pd-green);
}

.pd-info-category-hero {
    display: grid;
    grid-template-columns: minmax(340px, 0.78fr) minmax(560px, 1fr);
    gap: 56px;
    align-items: center;
    min-height: 660px;
    padding: 34px 0 76px;
}

.pd-info-category-hero__media {
    align-self: end;
}

.pd-info-category-hero__media img {
    display: block;
    width: 100%;
    max-height: 620px;
    object-fit: contain;
    object-position: center bottom;
}

.pd-info-category-hero__content {
    display: grid;
    gap: 28px;
    align-content: center;
}

.pd-info-category-hero h1,
.pd-info-category-products h2,
.pd-info-category-feature h2,
.pd-info-category-benefits h2,
.pd-info-category-order h2 {
    margin: 0;
    color: var(--pd-blue);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.pd-info-category-hero h1 {
    max-width: 760px;
    font-size: 76px;
    line-height: 0.9;
}

.pd-info-category-hero__kicker {
    margin: 0;
    color: var(--pd-green);
    font-size: 34px;
    line-height: 1.05;
    font-weight: 700;
}

.pd-info-category-hero__text {
    max-width: 780px;
    font-size: 22px;
    line-height: 1.27;
}

.pd-info-page--cat-sets .pd-info-category-hero,
.pd-info-page--dog-sets .pd-info-category-hero {
    grid-template-columns: minmax(520px, 1fr) minmax(520px, 0.96fr);
    gap: 64px;
    min-height: 560px;
    padding: 28px 0 56px;
}

.pd-info-page--cat-sets .pd-info-category-hero__media,
.pd-info-page--dog-sets .pd-info-category-hero__media {
    align-self: end;
}

.pd-info-page--cat-sets .pd-info-category-hero__media img,
.pd-info-page--dog-sets .pd-info-category-hero__media img {
    max-height: 660px;
}

.pd-info-page--cat-sets .pd-info-category-hero h1,
.pd-info-page--dog-sets .pd-info-category-hero h1 {
    max-width: 780px;
    color: var(--pd-blue);
    font-size: 82px;
}

.pd-info-page--cat-sets .pd-info-category-hero__text,
.pd-info-page--dog-sets .pd-info-category-hero__text {
    max-width: 840px;
    color: var(--pd-green);
    font-size: 32px;
    line-height: 1.22;
    font-weight: 400;
}

.pd-info-page--cat-sets .pd-info-category-hero,
.pd-info-page--dog-sets .pd-info-category-hero {
    grid-template-columns: minmax(620px, 640px) minmax(560px, 1fr);
    gap: 38px;
    min-height: 0;
    padding: 28px 0 0;
    align-items: start;
}

.pd-info-page--cat-sets .pd-info-category-hero__media,
.pd-info-page--dog-sets .pd-info-category-hero__media {
    align-self: start;
}

.pd-info-page--cat-sets .pd-info-category-hero__media img,
.pd-info-page--dog-sets .pd-info-category-hero__media img {
    width: calc(100% + 103px);
    height: 554px;
    max-width: none;
    max-height: none;
    margin-left: -103px;
    object-fit: cover;
    object-position: center;
    transform: translateY(-59px);
}

.pd-info-page--cat-sets .pd-info-category-hero__content,
.pd-info-page--dog-sets .pd-info-category-hero__content {
    max-width: 580px;
    padding-top: 8px;
    gap: 10px;
}

.pd-info-page--cat-sets .pd-info-category-hero h1,
.pd-info-page--dog-sets .pd-info-category-hero h1 {
    max-width: 580px;
    color: var(--pd-blue);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 100px;
    line-height: 0.85;
    font-weight: 400;
}

.pd-info-page--cat-sets .pd-info-category-hero__text,
.pd-info-page--dog-sets .pd-info-category-hero__text {
    max-width: 580px;
    font-size: 30px;
    line-height: 1.2;
}

.pd-info-page--cat-sets .pd-info-category-hero__text p,
.pd-info-page--dog-sets .pd-info-category-hero__text p {
    margin: 0;
}

.pd-info-page--cat-sets .pd-info-category-hero__text p:first-child,
.pd-info-page--dog-sets .pd-info-category-hero__text p:first-child {
    font-weight: 700;
}

.pd-info-page--cat-sets .pd-info-category-hero__text p + p,
.pd-info-page--dog-sets .pd-info-category-hero__text p + p {
    margin-top: 20px;
    font-weight: 400;
}

.pd-info-page--dog-rations {
    padding-top: 0;
}

.pd-info-page--dog-rations .pd-container {
    width: min(1320px, 100%);
}

.pd-info-page--dog-rations .pd-info-breadcrumbs {
    width: min(100% - 32px, 1200px);
    max-width: none;
    margin: 19px auto 30px;
    color: var(--pd-green);
    font-size: 16px;
    line-height: normal;
}

.pd-info-page--dog-rations .pd-info-category-hero {
    position: relative;
    display: block;
    width: 100vw;
    height: 580px;
    min-height: 580px;
    margin-left: calc(50% - 50vw);
    padding: 0;
}

.pd-info-page--dog-rations .pd-info-category-hero__media {
    position: absolute;
    top: 53px;
    left: calc(50% - 617px);
    width: 573px;
    height: 475px;
}

.pd-info-page--dog-rations .pd-info-category-hero__media img {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    object-position: center;
}

.pd-info-category-hero__badge {
    display: none;
}

.pd-info-page--dog-rations .pd-info-category-hero__badge {
    position: absolute;
    top: 2px;
    left: calc(50% - 282px);
    display: block;
    width: 168px;
    height: 168px;
}

.pd-info-page--dog-rations .pd-info-category-hero__content {
    position: absolute;
    inset: 0;
    display: block;
}

.pd-info-page--dog-rations .pd-info-category-hero h1 {
    position: absolute;
    top: 118px;
    left: calc(50% - 58px);
    width: 613px;
    max-width: none;
    color: var(--pd-blue);
    font-family: "Extenda", Arial, sans-serif;
    font-size: 100px;
    line-height: 90px;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.pd-info-page--dog-rations .pd-info-category-hero__kicker {
    position: absolute;
    top: 315px;
    left: calc(50% - 59px);
    width: 630px;
    max-width: none;
    margin: 0;
    font-family: Inter, Roboto, sans-serif;
    font-size: 24px;
    line-height: 29px;
    font-weight: 800;
}

.pd-info-page--dog-rations .pd-info-category-hero__text {
    position: absolute;
    top: 369px;
    left: calc(50% - 58px);
    width: 588px;
    max-width: none;
    font-family: Inter, Roboto, sans-serif;
    font-size: 16px;
    line-height: 19px;
}

.pd-info-page--health-category {
    padding-top: 0;
    padding-bottom: 0;
    overflow: hidden;
}

.pd-info-page--health-category .pd-container {
    width: min(1320px, calc(100% - 64px));
}

.pd-info-health-page {
    color: var(--pd-green);
}

.pd-info-health-hero {
    position: relative;
    display: block;
    box-sizing: border-box;
    width: 100vw;
    min-height: 100vh;
    margin-left: calc(50% - 50vw);
    margin-top: -81px;
    overflow: hidden;
    background: #a9d1de;
    background-image: var(--pd-info-health-hero-image);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    color: #fff;
}

.pd-info-page--cat-health .pd-info-health-hero {
    background: #a7d0e2;
    background-image: none;
}

.pd-info-page--cat-health .pd-info-health-hero::before {
    content: "";
    position: absolute;
    top: 60px;
    right: auto;
    bottom: auto;
    left: -22.3vw;
    width: 80vw;
    height: 100%;
    background-image: var(--pd-info-health-hero-image);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    clip-path: polygon(0 0, 100% 0, 48.6% 100%, 0 100%);
    opacity: 1;
    filter: none;
}

.pd-info-health-hero__filter {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.1);
    pointer-events: none;
}

.pd-info-page--cat-health .pd-info-health-hero__filter {
    display: none;
}

.pd-info-health-hero__media {
    display: none;
}

.pd-info-health-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
}

.pd-info-page--dog-health .pd-info-health-hero__media img {
    object-position: 46% bottom;
}

.pd-info-health-hero__content {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
    box-sizing: border-box;
    width: 588px;
    min-width: 0;
    min-height: 317px;
    padding: 50px 54px 60px;
    background: #a7d0e2;
}

.pd-info-page--cat-health .pd-info-health-hero__content {
    right: auto;
    left: calc(50% + 100px);
    top: 50%;
    bottom: auto;
    width: 480px;
    min-height: 0;
    padding: 0;
    background: transparent;
    transform: translateY(-41.5%);
}

.pd-info-health-hero__kicker,
.pd-info-health-hero__title,
.pd-info-health-section h2,
.pd-info-health-feeding h2,
.pd-info-health-transition h2,
.pd-info-health-all-products h2 {
    margin: 0;
    letter-spacing: 2px;
}

.pd-info-health-hero__kicker {
    margin-bottom: 20px;
    color: #fff;
    font-family: Roboto, sans-serif;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
    text-transform: uppercase;
}

.pd-info-page--cat-health .pd-info-health-hero__kicker {
    display: none;
}

.pd-info-health-hero__title {
    color: #fff;
    font-family: Roboto, sans-serif;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 700;
}

.pd-info-page--cat-health .pd-info-health-hero__title {
    max-width: 410px;
    font-family: Inter, Roboto, sans-serif;
    font-size: 48px;
    line-height: 1.23;
    letter-spacing: 0;
}

.pd-info-health-hero__text {
    margin-top: 22px;
    color: #fff;
    font-size: 18px;
    line-height: 1.55;
}

.pd-info-page--cat-health .pd-info-health-hero__text {
    width: 480px;
    margin-top: 41px;
    font-size: 18px;
    line-height: 1.55;
    font-weight: 400;
}

.pd-info-page--cat-heart-health .pd-info-health-hero {
    margin-top: -81px;
    background: #a7d0e2;
    background-image: url("/local/assets/petdiet-pages/images/tild3464-3464-4238-b532-376239386531__cat_nutririon_tilda.webp");
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
}

.pd-info-page--cat-heart-health .pd-info-health-hero::before {
    content: none;
    display: none;
}

.pd-info-page--cat-heart-health .pd-info-health-hero__content {
    right: 0;
    bottom: 0;
    left: auto;
    top: auto;
    width: 588px;
    min-height: 297px;
    padding: 50px 54px 60px;
    background: #a7d0e2;
    transform: none;
}

.pd-info-page--cat-heart-health .pd-info-health-hero__kicker {
    display: block;
}

.pd-info-page--cat-heart-health .pd-info-health-hero__title {
    max-width: 390px;
    font-size: 30px;
    line-height: 1.2;
}

.pd-info-page--cat-heart-health .pd-info-health-hero__text {
    width: auto;
    margin-top: 22px;
}

.pd-info-health-hero__text p {
    margin: 0;
}

/* ── Badge-design condition heroes (7 pages) ──────────────────────────────────
   Prod renders these as a full-bleed cat photo + a bottom-right #a7d0e2 box with
   kicker + 30px title and NO description (the other 5 cat-condition pages keep the
   split panel, which local already matches). Reverts the .pd-info-page--cat-health
   panel overrides back to the base badge styling. (pri-serdechnoi already had its
   own badge rules; this also hides its leftover description to match prod.) */
.pd-info-page--cat-health .pd-info-health-hero--badge::before {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    clip-path: none;
}

.pd-info-page--cat-health .pd-info-health-hero--badge .pd-info-health-hero__content {
    right: 0;
    left: auto;
    top: auto;
    bottom: 0;
    width: 588px;
    min-height: 261px;
    padding: 50px 54px 60px;
    background: #a7d0e2;
    transform: none;
}

.pd-info-page--cat-health .pd-info-health-hero--badge .pd-info-health-hero__kicker {
    display: block;
}

/* All badge pages show the kicker except для котят (matches prod) */
.pd-info-page--cat-health .pd-info-health-hero--badge-nokicker .pd-info-health-hero__kicker {
    display: none;
}

.pd-info-page--cat-health .pd-info-health-hero--badge .pd-info-health-hero__title {
    max-width: none;
    font-family: Inter, Roboto, sans-serif;
    font-size: 30px;
    line-height: 1.2;
    letter-spacing: 0;
}

.pd-info-page--cat-health .pd-info-health-hero--badge .pd-info-health-hero__text {
    display: block;
    width: auto;
    margin-top: 16px;
    font-size: 18px;
    line-height: 1.45;
    font-weight: 400;
}

.pd-info-health-breadcrumbs {
    margin: 0 auto;
    padding: 45px 0 5px;
}

.pd-info-health-products {
    padding: 0 0 96px;
}

.pd-info-health-products--empty {
    padding-bottom: 30px;
}

.pd-info-health-empty {
    min-height: 220px;
    display: grid;
    place-items: center;
    color: var(--pd-green);
    font-size: 24px;
    line-height: 1.2;
}

.pd-info-health-products--empty .pd-info-health-empty {
    min-height: 380px;
    font-size: 18px;
    line-height: 1.55;
}

.pd-info-health-section,
.pd-info-health-feeding,
.pd-info-health-transition {
    max-width: 1160px;
    margin: 0 auto;
}

/* «Все корма» grid is 1200px wide on prod (cards at 380/780/1180), unlike the 1160px table. */
.pd-info-health-all-products {
    max-width: 1200px;
    margin: 0 auto;
}

.pd-info-health-section {
    display: grid;
    grid-template-columns: minmax(360px, 0.44fr) minmax(0, 0.56fr);
    gap: 70px;
    align-items: center;
    min-height: 380px;
    padding: 78px 0;
}

.pd-info-health-section h2,
.pd-info-health-feeding h2,
.pd-info-health-transition h2,
.pd-info-health-all-products h2 {
    color: var(--pd-green);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 52px;
    line-height: 1.08;
    font-weight: 700;
    text-transform: uppercase;
}

.pd-info-health-section__text {
    display: grid;
    gap: 18px;
    font-size: 20px;
    line-height: 1.45;
}

.pd-info-health-section__text p {
    margin: 0;
}

.pd-info-health-section--intro,
.pd-info-health-section--choice,
.pd-info-health-section--benefits,
.pd-info-health-transition {
    box-sizing: border-box;
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
}

.pd-info-health-section--intro {
    display: block;
    min-height: 0;
    height: 610px;
    padding: 63px 0 30px;
}

.pd-info-health-section--intro h2 {
    width: 580px;
    max-width: calc(100% - 64px);
    margin: 0 0 9px calc(50% - 50px);
    color: #a9d1de;
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 72px;
    line-height: 65px;
    font-weight: 400;
}

.pd-info-health-section--intro .pd-info-health-section__text {
    width: 630px;
    max-width: calc(100% - 64px);
    margin-left: calc(50% - 50px);
    display: flex;
    flex-direction: column;
    gap: 0;
    font-size: 16px;
    line-height: 19px;
}

.pd-info-health-section--intro .pd-info-health-section__text p {
    margin: 0;
}

.pd-info-health-section--intro .pd-info-health-section__text p:last-child {
    order: -1;
    margin-bottom: 19px;
    font-size: 16px;
    line-height: 19px;
}

/* The desktop intro split (heading width:580 + margin-left:calc(50% - 50px)) only fits
   when the viewport is >=1060px (heading right edge = W/2 + 530). Between 901 and 1080 it
   overflows and clips the block on the LEFT. Fallback for photo-less intro pages (hub, dog):
   stack and center. Cat condition pages (--pravilno) get a scaled SPLIT instead — see the
   640-1080 block further down, which wins by source order. */
@media (min-width: 901px) and (max-width: 1080px) {
    .pd-info-health-section--intro {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        justify-items: center;
        height: auto;
        padding: 56px 24px;
        text-align: center;
    }

    .pd-info-health-section--intro h2 {
        position: static;
        width: auto;
        max-width: 760px;
        margin: 0;
        color: #a9d1de;
        font-weight: 400;
        font-size: 48px;
        line-height: 1;
        text-align: center;
    }

    .pd-info-health-section--intro .pd-info-health-section__text {
        width: min(100%, 720px);
        max-width: none;
        margin-left: 0;
        display: grid;
        gap: 18px;
        text-align: center;
    }

    .pd-info-health-section--intro .pd-info-health-section__text p:last-child {
        order: 0;
        margin-bottom: 0;
        font-size: inherit;
        line-height: inherit;
    }

    .pd-info-health-section--intro .pd-info-health-section__image,
    .pd-info-health-section--intro::before,
    .pd-info-health-section--intro::after {
        display: none;
    }
}

/* «Правильно подобранный корм…»: intro layout + girl photo on the left (prod reuses this block
   on every condition page). The intro reserves height:610px for exactly this image. */
.pd-info-health-section--pravilno {
    position: relative;
}

.pd-info-health-section--pravilno::before {
    content: "";
    position: absolute;
    left: calc(50% - 557px);
    top: 50px;
    width: 487px;
    height: 509px;
    background: url("/local/assets/petdiet-pages/images/tild3838-6338-4064-b362-646330343961__004411_1_1.jpg") center/cover no-repeat;
    pointer-events: none;
}

/* Badge pages: «Свежее. Замороженное. Безопасное.» is a 24px Inter-w800 sub-heading on prod (not
   16px body). :not(:first-child) keeps the single-paragraph «Чем отличается…» (panel pages) as
   plain body text. */
.pd-info-health-section--pravilno .pd-info-health-section__text p:last-child:not(:first-child) {
    font-size: 24px;
    line-height: 29px;
    font-weight: 800;
}

.pd-info-health-section--choice {
    display: block;
    height: 380px;
    min-height: 0;
    padding: 100px 0 30px;
    background: #f1f5f8;
    text-align: center;
}

.pd-info-health-section--choice h2 {
    width: 1160px;
    max-width: calc(100% - 64px);
    margin: 0 auto 13px;
    color: #a9d1de;
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 66px;
    line-height: 56px;
    font-weight: 400;
}

.pd-info-health-section--choice .pd-info-health-section__text {
    display: block;
    width: 1018px;
    max-width: calc(100% - 64px);
    margin: 0 auto;
    font-size: 18px;
    line-height: 22px;
}

.pd-info-health-section--choice .pd-info-health-section__text p {
    margin: 0;
}

.pd-info-health-section--benefits {
    position: relative;
    display: block;
    min-height: 0;
    height: auto;
    padding: 60px 0 40px;
}

.pd-info-health-section--benefits h2 {
    position: static;
    left: auto;
    top: auto;
    width: auto;
    max-width: 1000px;
    margin: 0 auto 56px;
    color: #cda077;
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 100px;
    line-height: 90px;
    font-weight: 400;
    text-align: center;
}

.pd-info-health-section__cards {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 40px;
    flex-wrap: wrap;
}

.pd-info-health-section__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 338px;
    max-width: 100%;
    text-align: center;
}

.pd-info-health-section__card .pd-info-health-section__image {
    position: static;
    left: auto;
    top: auto;
    width: 220px;
    height: 170px;
    margin-bottom: 22px;
}

/* Benefit illustrations keep prod's individual natural sizes (not a uniform box) */
.pd-info-health-section__card .pd-info-health-section__image--left {
    width: 219px;
    height: 194px;
}

.pd-info-health-section__card .pd-info-health-section__image--center {
    width: 347px;
    height: 148px;
    /* Prod places the centre card's illustration at the bottom (zigzag layout) */
    order: 2;
    margin-top: 22px;
    margin-bottom: 0;
}

.pd-info-health-section__card .pd-info-health-section__image--right {
    width: 136px;
    height: 148px;
}

.pd-info-health-section__card p {
    margin: 0;
    font-size: 16px;
    line-height: 19px;
}

.pd-info-health-section__image {
    position: absolute;
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
}

.pd-info-health-section__image--left {
    left: calc(50% - 506px);
    top: 225px;
    width: 219px;
    height: 194px;
    background-image: url("/local/assets/petdiet-pages/images/tild3366-6134-4433-b563-633036353561__useful_properties_pe.svg");
}

.pd-info-health-section__image--center {
    left: calc(50% - 174px);
    top: 547px;
    width: 347px;
    height: 148px;
    background-image: url("/local/assets/petdiet-pages/images/tild3734-6233-4336-b931-646565333736__useful_properties_pe.svg");
}

.pd-info-health-section__image--right {
    left: calc(50% + 331px);
    top: 225px;
    width: 136px;
    height: 148px;
    background-image: url("/local/assets/petdiet-pages/images/tild3236-6162-4238-a461-316461313464__useful_properties_pe.svg");
}

.pd-info-health-feeding {
    padding: 23px 0 60px;
}

.pd-info-health-feeding h2,
.pd-info-health-transition h2,
.pd-info-health-all-products h2 {
    margin-bottom: 36px;
    text-align: center;
}

.pd-info-health-all-products h2 {
    font-size: 100px;
}

.pd-info-health-feeding h2 {
    margin-bottom: 9px;
    font-size: 42px;
    line-height: 42px;
    text-transform: none;
}

.pd-info-page--cat-health .pd-info-health-feeding h2 {
    font-family: Inter, Roboto, sans-serif;
    letter-spacing: 0;
}

.pd-info-health-table-wrap {
    overflow-x: auto;
}

.pd-info-health-table {
    width: 100%;
    border-collapse: collapse;
    color: var(--pd-green);
    font-size: 18px;
    line-height: 27.9px;
}

.pd-info-health-table th,
.pd-info-health-table td {
    padding: 19px 24px;
    border: 2px solid #a9d1de;
    text-align: center;
}

.pd-info-health-table th {
    background: #a9d1de;
    color: #fff;
    font-weight: 700;
}

.pd-info-health-transition {
    position: relative;
    height: 860px;
    padding: 60px 0 90px;
}

.pd-info-health-transition__steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.pd-info-health-transition__steps article {
    display: grid;
    gap: 10px;
    min-height: 190px;
    padding: 24px 20px;
    border-radius: 8px;
    background: #a9d1de;
    color: #fff;
    text-align: center;
}

.pd-info-health-transition__steps span {
    font-size: 20px;
    line-height: 1.15;
    font-weight: 700;
}

.pd-info-health-transition__steps strong {
    font-size: 32px;
    line-height: 1.05;
}

.pd-info-health-transition__steps p,
.pd-info-health-transition__note {
    margin: 0;
    font-size: 18px;
    line-height: 1.28;
}

.pd-info-health-transition__note {
    margin-top: 24px;
    text-align: center;
}

.pd-info-health-transition h2 {
    margin: 0 auto 180px;
    color: #a9d1de;
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 100px;
    line-height: 100px;
    font-weight: 400;
}

.pd-info-health-transition--timeline h2 {
    margin-bottom: 36px;
}

.pd-info-health-transition--timeline .pd-info-health-transition__steps {
    grid-template-columns: repeat(4, 273px);
    width: 1146px;
    max-width: calc(100% - 80px);
    gap: 18px;
    margin: 0 auto;
}

.pd-info-health-transition--timeline {
    height: auto;
}

.pd-info-health-transition--timeline .pd-info-health-transition__step {
    display: block;
    min-height: 260px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--pd-green);
    text-align: center;
}

/* Food-bowl photo above each day (prod shows the new/old food proportion per step) */
.pd-info-health-transition--timeline .pd-info-health-transition__bowl {
    display: block;
    width: 100%;
    max-width: 289px;
    margin: 0 auto 18px;
    aspect-ratio: 1 / 1;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.pd-info-health-transition--timeline .pd-info-health-transition__day {
    display: flex;
    min-height: 55px;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    background: #a9d1de;
    color: #fff;
    font-family: Roboto, sans-serif;
    font-size: 30px;
    line-height: 1;
    font-weight: 400;
}

.pd-info-health-transition--timeline .pd-info-health-transition__mix {
    display: grid;
    gap: 18px;
    margin-top: 22px;
}

.pd-info-health-transition--timeline .pd-info-health-transition__portion strong,
.pd-info-health-transition--timeline .pd-info-health-transition__portion span {
    display: block;
}

.pd-info-health-transition--timeline .pd-info-health-transition__portion strong {
    font-family: Roboto, sans-serif;
    font-size: 30px;
    line-height: 1.24;
    font-weight: 700;
}

.pd-info-health-transition--timeline .pd-info-health-transition__portion span {
    margin-top: -1px;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 400;
}

.pd-info-health-transition--timeline .pd-info-health-transition__portion--current {
    color: #b7cdc2;
}

.pd-info-health-transition--timeline .pd-info-health-transition__portion--petdiet {
    color: var(--pd-green);
}

.pd-info-health-transition__warning {
    position: relative;
    z-index: 1;
    width: min(100% - 80px, 766px);
    margin: 46px auto 0;
    color: #b7cdc2;
    text-align: center;
}

.pd-info-health-transition__warning > strong {
    display: block;
    color: #b7cdc2;
    font-size: 30px;
    line-height: 1.55;
    font-weight: 400;
}

.pd-info-health-transition__warning .pd-info-health-transition__note {
    margin-top: 5px;
    color: #b7cdc2;
    font-size: 20px;
    line-height: 1.55;
}

.pd-info-health-transition__warning b {
    font-weight: 700;
}

.pd-info-health-all-products {
    padding: 34px 0 116px;
}

.pd-treats-page {
    overflow: hidden;
    background: #fff;
    color: var(--pd-green);
}

.pd-treats-hero {
    display: grid;
    grid-template-columns: minmax(0, calc(50% + 99px)) 480px;
    min-height: 1100px;
    margin-top: -21px;
    background: #a9d1de;
}

.pd-treats-hero__media {
    min-height: 1100px;
    clip-path: polygon(0 0, 100% 0, 30% 100%, 0 100%);
    background: #fff;
}

.pd-treats-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 48% center;
}

.pd-treats-hero__copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: flex-start;
    padding: 272px 0 0 0;
    color: #fff;
}

.pd-treats-hero__title {
    max-width: 480px;
    margin: 0 0 10px;
    color: #fff;
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 40px;
    line-height: 1.1;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.pd-treats-hero__title--mobile {
    display: none;
}

/* Dog / petdiet treats hero title is sentence-case on prod */
.pd-treats-page--dog .pd-treats-hero__title {
    text-transform: none;
    letter-spacing: 0;
}

/* Cat treats hero title is Inter sentence-case on prod (not Extenda uppercase) */
.pd-treats-page--cat .pd-treats-hero__title {
    font-family: Inter, Roboto, sans-serif;
    font-size: 48px;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
}

.pd-treats-hero__text {
    max-width: 480px;
    font-size: 18px;
    line-height: 1.55;
    font-weight: 400;
}

.pd-treats-hero__text p {
    margin: 0;
}

.pd-treats-hero__text .pd-treats-hero__note-text {
    font-size: 14px;
    line-height: 1.55;
    font-style: italic;
}

.pd-treats-hero__note {
    margin: 41px 0 0;
    font-size: 16px;
    line-height: 1.3;
    font-style: italic;
}

@media (min-width: 981px) {
    .pd-treats-page--dog .pd-treats-hero__media img {
        width: min(1152px, 81.1vw);
        max-width: none;
        transform: translateX(clamp(-321px, -22.6vw, -230px));
    }

    .pd-treats-page--dog .pd-treats-hero__title {
        max-width: 430px;
    }

    .pd-treats-page--cat .pd-treats-hero {
        margin-top: -81px;
    }

    .pd-treats-page--cat .pd-treats-hero__copy {
        padding-top: 269px;
    }

    .pd-treats-page--cat .pd-treats-hero__media {
        clip-path: polygon(0 0, 103% 0, 25% 100%, 0 100%);
    }

    .pd-treats-page--cat .pd-treats-hero__media img {
        object-position: 67% 42%;
    }

    .pd-treats-page--cat .pd-treats-hero__title {
        max-width: 480px;
        margin-bottom: 40px;
        font-size: 48px;
        line-height: 1.1;
    }

    .pd-treats-page--cat .pd-treats-hero__text {
        font-size: 18px;
    }
}

.pd-treats-products {
    padding: 48px 0 104px;
    background: #fff;
}

.pd-treats-products__inner,
.pd-treats-story,
.pd-treats-process__inner,
.pd-treats-benefits__inner {
    width: min(100% - 96px, 1320px);
    margin: 0 auto;
}

.pd-treats-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 0 16px;
    align-items: center;
    margin: 0 0 56px;
    color: var(--pd-green);
    font-size: 22px;
    line-height: 1.2;
}

.pd-treats-breadcrumbs a {
    color: inherit;
    text-decoration: none;
}

.pd-treats-breadcrumbs a:hover,
.pd-treats-breadcrumbs a:focus-visible {
    text-decoration: underline;
}

.pd-treats-products h2 {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.pd-treats-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 112px 40px;
    align-items: start;
}

.pd-treats-product-grid .pd-product-card {
    position: relative;
    width: min(100%, 360px);
}

.pd-treats-product-grid .pd-product-card::before {
    content: "100г";
    position: absolute;
    z-index: 2;
    top: 4px;
    right: 12px;
    display: grid;
    width: 72px;
    height: 72px;
    place-items: center;
    border-radius: 50%;
    background: #a9d1de;
    color: #fff;
    font-size: 22px;
    line-height: 1;
    font-weight: 500;
}

.pd-treats-product-grid .pd-product-card:first-child::before {
    content: "1кг";
}

.pd-treats-product-grid .pd-product-card__name {
    color: var(--pd-green);
    font-size: 22px;
    line-height: 1.18;
}

.pd-treats-product-grid .pd-product-card__price {
    color: var(--pd-green);
    font-size: 22px;
    line-height: 1.45;
    font-weight: 700;
}

.pd-treats-product-grid .pd-product-card__desc {
    min-height: 36px;
    font-size: 20px;
    line-height: 1.3;
}

.pd-treats-product-grid .pd-product-card__more {
    min-height: 45px;
    background: #e6f2f6;
    font-size: 18px;
}

.pd-treats-empty {
    min-height: 280px;
    display: grid;
    place-items: center;
    border: 1px solid transparent;
    color: var(--pd-green);
    font-size: 18px;
    line-height: 1.55;
}

.pd-treats-empty p {
    margin: 0;
}

.pd-treats-page--cat .pd-treats-products {
    box-sizing: border-box;
    min-height: 538px;
}

.pd-treats-page--dog .pd-treats-products {
    padding-bottom: 74px;
}

.pd-treats-page--dog .pd-treats-breadcrumbs {
    margin-bottom: 24px;
}

.pd-treats-page--dog .pd-treats-product-grid {
    width: min(100%, 1200px);
    margin: 0 auto;
    padding-left: 20px;
    box-sizing: border-box;
    grid-template-columns: repeat(3, 360px);
    gap: 40px;
}

.pd-treats-story {
    display: grid;
    grid-template-columns: minmax(360px, 0.72fr) minmax(0, 1fr);
    gap: 78px;
    align-items: center;
    padding: 72px 0 98px;
}

.pd-treats-page--cat .pd-treats-story {
    padding: 45px 0;
}

.pd-treats-page--dog .pd-treats-story {
    padding: 45px 0;
}

.pd-treats-story__media img {
    display: block;
    width: 100%;
    max-height: 520px;
    object-fit: contain;
}

.pd-treats-story h1,
.pd-treats-story h2,
.pd-treats-process h2,
.pd-treats-benefits h2 {
    margin: 0;
    color: var(--pd-blue);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 58px;
    line-height: 1.05;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.pd-treats-story h1 {
    font-size: 72px;
}

.pd-treats-benefits h2 {
    color: #cda077;
}

.pd-treats-story__content {
    display: grid;
    gap: 28px;
}

.pd-treats-story__text,
.pd-treats-process__text,
.pd-treats-benefit p {
    color: var(--pd-green);
    font-size: 21px;
    line-height: 1.42;
}

/* Treats intro story copy is 16px/lh1.19 on prod (not 21px like process/benefit) */
.pd-treats-story__text {
    font-size: 16px;
    line-height: 1.19;
}

.pd-treats-story__text p,
.pd-treats-process__text p,
.pd-treats-benefit p {
    margin: 0;
}

.pd-treats-process {
    padding: 72px 0 86px;
    background: #eef6f8;
}

.pd-treats-process__inner {
    display: grid;
    gap: 30px;
    justify-items: center;
    text-align: center;
}

.pd-treats-process__text {
    max-width: 1080px;
}

.pd-treats-page--dog .pd-treats-process {
    box-sizing: border-box;
    height: 300px;
    padding: 0;
    background: #fff;
}

.pd-treats-page--dog .pd-treats-process__inner {
    position: relative;
    display: block;
    width: min(100%, 1420px);
    height: 300px;
    text-align: center;
}

.pd-treats-page--dog .pd-treats-process h2 {
    position: absolute;
    top: 65px;
    left: clamp(80px, 9.2vw, 131px);
    right: clamp(80px, 9.2vw, 129px);
    color: var(--pd-blue);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 66px;
    line-height: 56px;
    font-weight: 400;
    letter-spacing: 0;
    text-align: center;
    text-transform: uppercase;
}

.pd-treats-page--dog .pd-treats-process__text {
    position: absolute;
    top: 134px;
    left: clamp(90px, 12.7vw, 181px);
    width: min(1060px, calc(100% - 180px));
    max-width: none;
    color: var(--pd-green);
    font-size: 18px;
    line-height: 22px;
    text-align: center;
}

.pd-treats-benefits {
    padding: 94px 0 112px;
}

.pd-treats-benefits__inner {
    display: grid;
    gap: 58px;
}

.pd-treats-benefits h2 {
    max-width: 940px;
    margin: 0 auto;
    text-align: center;
}

.pd-treats-benefits__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 36px;
}

.pd-treats-benefit {
    display: grid;
    gap: 18px;
    align-content: start;
    padding: 30px;
    border-radius: 8px;
    background: #f5fbfc;
}

.pd-treats-benefit img {
    display: block;
    width: 96px;
    height: 96px;
    object-fit: contain;
}

.pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefits {
    box-sizing: border-box;
    height: 870px;
    padding: 30px 0 60px;
}

.pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefits__inner {
    position: relative;
    display: block;
    width: min(100%, 1420px);
    height: 780px;
}

.pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefits h2 {
    position: absolute;
    top: 62px;
    left: clamp(80px, 18.8vw, 267px);
    right: clamp(80px, 18.6vw, 264px);
    max-width: none;
    color: #cda077;
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 100px;
    line-height: 90px;
    font-weight: 400;
    letter-spacing: 0;
    text-align: center;
    text-transform: uppercase;
}

.pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefits__grid {
    position: absolute;
    inset: 0;
    display: block;
}

.pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefit {
    position: absolute;
    display: block;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--pd-green);
    text-align: left;
}

.pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefit img {
    position: absolute;
    display: block;
    width: auto;
    height: auto;
    max-width: none;
    max-height: none;
    object-fit: contain;
}

.pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefit p {
    position: absolute;
    margin: 0;
    color: var(--pd-green);
    font-size: 16px;
    line-height: 19px;
    text-align: left;
}

.pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefit:nth-child(1) {
    top: 265px;
    left: clamp(42px, 10.5vw, 149px);
    width: 338px;
    height: 410px;
}

.pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefit:nth-child(1) img {
    top: 0;
    left: 55px;
    width: 219px;
    height: 194px;
}

.pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefit:nth-child(1) p {
    top: 260px;
    left: 0;
    width: 338px;
}

.pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefit:nth-child(2) {
    top: 265px;
    left: clamp(380px, 37.3vw, 530px);
    width: 650px;
    height: 353px;
}

.pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefit:nth-child(2) img {
    top: 0;
    left: 513px;
    width: 136px;
    height: 148px;
}

.pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefit:nth-child(2) p {
    top: 0;
    left: 0;
    width: 362px;
}

.pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefit:nth-child(3) {
    top: 443px;
    left: clamp(390px, 37.9vw, 538px);
    width: 765px;
    height: 337px;
}

.pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefit:nth-child(3) img {
    top: 167px;
    left: 0;
    width: 347px;
    height: 148px;
}

.pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefit:nth-child(3) p {
    top: 0;
    left: 394px;
    width: 370px;
}

.pd-info-dog-sets-empty {
    display: grid;
    min-height: 380px;
    align-items: start;
    justify-items: start;
    padding: 42px 0 112px;
}

.pd-info-dog-sets-empty p {
    width: min(960px, 100%);
    margin: 0 0 0 min(316px, calc(100% - 960px));
    color: var(--pd-green);
    font-size: 18px;
    line-height: 1.45;
    text-align: center;
}

.pd-info-category-products {
    padding: 16px 0 72px;
}

.pd-info-category-products h2 {
    max-width: 1160px;
    margin: 0 auto 44px;
    font-size: 72px;
    line-height: 0.9;
    text-align: center;
}

.pd-info-category-products .pd-info-product-grid {
    margin-top: 0;
}

.pd-info-set-products {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 52px;
    align-items: start;
    margin: 0;
    padding: 96px 0 112px;
    background: #edf6f3;
    box-shadow: 0 0 0 100vmax #edf6f3;
    clip-path: inset(0 -100vmax);
}

.pd-info-page--cat-sets .pd-info-set-products {
    grid-template-columns: 248px minmax(0, 1fr);
    gap: 27px;
    padding: 0 0 112px;
    background: #fff;
    box-shadow: none;
    clip-path: none;
}

.pd-info-set-products__filters {
    display: grid;
    gap: 22px;
    color: var(--pd-green);
}

.pd-info-page--cat-sets .pd-info-set-products__filters {
    gap: 0;
}

.pd-info-set-products__filters h2 {
    margin: 0 0 16px;
    color: var(--pd-green);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 50px;
    line-height: 0.95;
    font-weight: 700;
    white-space: nowrap;
}

.pd-info-page--cat-sets .pd-info-set-products__filters h2 {
    width: 248px;
    height: 62px;
    margin: 0 0 10px;
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 40px;
    line-height: 62px;
    font-weight: 400;
}

.pd-info-set-products__filter {
    display: flex;
    align-items: center;
    gap: 16px;
    color: var(--pd-green);
    font-size: 24px;
    line-height: 1.1;
    cursor: pointer;
}

.pd-info-page--cat-sets .pd-info-set-products__filter {
    gap: 11px;
    height: 30px;
    padding-left: 0;
    font-size: 14px;
    line-height: 21.7px;
}

.pd-info-set-products__filter input {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    margin: 0;
    accent-color: var(--pd-green);
}

.pd-info-page--cat-sets .pd-info-set-products__filter input {
    width: 19px;
    height: 19px;
    flex-basis: 19px;
}

.pd-info-set-products .pd-info-product-grid {
    margin-top: 0;
}

.pd-info-page--cat-sets .pd-info-set-products .pd-info-product-grid {
    grid-template-columns: repeat(3, 307px);
    gap: 40px 20px;
    justify-content: start;
}

.pd-info-page--cat-sets .pd-info-set-products .pd-product-card {
    width: 307px;
    justify-self: start;
}

/* prod set card: teal title-case name, 16px/700 price, SQUARE 1:1 image (local base is light-blue
   name + 10/11 image). Base rules → apply on desktop AND mobile. */
.pd-info-page--cat-sets .pd-product-card__name {
    color: var(--pd-green);
}

.pd-info-page--cat-sets .pd-product-card__price {
    font-size: 16px;
    line-height: 1.35;
    font-weight: 700;
}

.pd-info-page--cat-sets .pd-product-card__image {
    aspect-ratio: 1 / 1;
}

/* /nabori-dlya-koshek/ set cards reuse the SET card layout from the product-landing ready-sets
   section (this page never got those rules → dropdown floated to the top, 20px text, and the
   actions row overflowed). Order on prod: price → name → «Количество:» select → [Подробнее + cart]. */
.pd-info-page--cat-sets .pd-product-card--ready-set .pd-product-card__option {
    order: 4;
    display: grid;
    gap: 0;
    margin-top: 24px;
    color: var(--pd-green);
    font-size: 14px;
    line-height: 1.8;
}

.pd-info-page--cat-sets .pd-product-card--ready-set .pd-product-card__select {
    width: 100%;
    height: 38px;
    min-height: 38px;
    padding: 0 46px 0 24px;
    border: 2px solid var(--pd-green);
    border-radius: 50px;
    appearance: none;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%231f5b42' stroke-width='2'/%3E%3C/svg%3E") no-repeat calc(100% - 22px) 50% / 14px 9px;
    color: #000;
    font: inherit;
    font-size: 14px;
    line-height: 1;
}

.pd-info-page--cat-sets .pd-product-card--ready-set .pd-product-card__actions {
    order: 5;
    grid-template-columns: minmax(0, 1fr) 70px;
    width: calc(100% - 8px);
    gap: 8px;
    align-self: flex-start;
    padding-top: 28px;
}

.pd-info-page--cat-sets .pd-product-card--ready-set .pd-product-card__more {
    grid-column: auto;
    width: 100%;
}

.pd-info-page--cat-sets .pd-product-card--ready-set .pd-product-card__status {
    order: 6;
}

/* Селект и кнопки покупки — по ширине кнопки «Подробнее» (= col1 сетки actions:
   minmax(0,1fr) 70px). Только десктоп: на мобильном карточки узкие, там полная ширина. */
@media (min-width: 981px) {
    .pd-info-page--cat-sets .pd-product-card--ready-set .pd-product-card__select {
        width: calc(100% - 86px);
    }
    .pd-info-page--cat-sets .pd-product-card--ready-set .pd-product-card__actions .pd-cart-ctl,
    .pd-info-page--cat-sets .pd-product-card--ready-set .pd-product-card__actions .pd-product-card__buy--text {
        grid-column: 1 / 2;
        width: 100%;
    }
}

.pd-info-category-copy {
    max-width: 1040px;
    margin: 54px auto 0;
    color: var(--pd-green);
    font-size: 18px;
    line-height: 1.22;
    text-align: center;
}

.pd-info-category-copy p,
.pd-info-category-hero__text p,
.pd-info-category-benefits__text p {
    margin: 0 0 18px;
}

.pd-info-category-copy p:last-child,
.pd-info-category-hero__text p:last-child,
.pd-info-category-benefits__text p:last-child {
    margin-bottom: 0;
}

.pd-info-category-feature {
    display: grid;
    grid-template-columns: minmax(280px, 0.82fr) minmax(360px, 1fr);
    gap: 56px;
    align-items: center;
    margin: 22px 0 84px;
    padding: 46px;
    border-radius: 8px;
    background: #f1f5f8;
}

.pd-info-category-feature__media img {
    display: block;
    width: 100%;
    max-height: 360px;
    object-fit: contain;
}

.pd-info-category-feature__content {
    display: grid;
    gap: 22px;
    justify-items: start;
}

.pd-info-category-feature h2 {
    color: var(--pd-blue);
    font-size: 64px;
    line-height: 0.92;
}

.pd-info-category-feature p {
    max-width: 680px;
    margin: 0;
    font-size: 20px;
    line-height: 1.32;
}

.pd-info-category-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 0 28px;
    border: 1px solid var(--pd-green);
    border-radius: 999px;
    color: var(--pd-green);
    font-size: 15px;
    line-height: 1;
    text-decoration: none;
}

.pd-info-category-button:hover,
.pd-info-category-button:focus-visible {
    background: var(--pd-green);
    color: #fff;
}

/* ── Cat-rations starter band: promo (left) + «НУЖНА КОНСУЛЬТАЦИЯ?» form (right), prod parity ── */
.pd-info-page--cat-rations .pd-info-category-feature--starter {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 96px;
    align-items: start;
    margin: 6px 0 92px;
    padding: 0;
    border-radius: 0;
    background: transparent;
}

.pd-info-page--cat-rations .pd-info-category-feature__promo {
    display: grid;
    justify-items: center;
    gap: 22px;
    text-align: center;
}

/* «СТАРТОВЫЙ НАБОР» heading — prod positions it off-canvas on desktop (hidden), reflows into view on mobile */
.pd-info-page--cat-rations .pd-info-category-feature__heading {
    display: none;
}

.pd-info-page--cat-rations .pd-info-category-feature__promo .pd-info-category-feature__media {
    width: 100%;
    max-width: 502px;
    margin-bottom: 2px;
}

.pd-info-page--cat-rations .pd-info-category-feature__promo .pd-info-category-feature__media img {
    display: block;
    width: 100%;
    max-height: 463px;
    object-fit: contain;
}

.pd-info-page--cat-rations .pd-info-category-feature__lead {
    max-width: 430px;
    margin: 0;
    color: var(--pd-green);
    font-size: 24px;
    line-height: 1.2;
    font-weight: 800;
}

.pd-info-page--cat-rations .pd-info-category-feature__note {
    max-width: 478px;
    margin: 0;
    color: var(--pd-green);
    font-size: 16px;
    line-height: 1.34;
    font-weight: 400;
}

.pd-info-page--cat-rations .pd-info-category-feature__buy {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    margin-top: 2px;
}

.pd-info-page--cat-rations .pd-info-category-feature__price {
    color: var(--pd-green);
    font-size: 24px;
    line-height: 1.1;
}

.pd-info-page--cat-rations .pd-info-category-feature__cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 55px;
    padding: 0 36px;
    border: 0;
    border-radius: 30px;
    background: var(--pd-green);
    color: #fff;
    font-family: inherit;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .18s ease;
}

.pd-info-page--cat-rations .pd-info-category-feature__cart:hover,
.pd-info-page--cat-rations .pd-info-category-feature__cart:focus-visible {
    background: var(--pd-green-dark);
}

.pd-info-page--cat-rations .pd-info-category-feature__status {
    min-height: 18px;
    color: var(--pd-green);
    font-size: 14px;
    line-height: 1.3;
}

.pd-info-page--cat-rations .pd-info-category-feature__status:empty {
    min-height: 0;
}

.pd-info-page--cat-rations .pd-info-category-consult {
    display: flex;
    justify-content: center;
}

.pd-info-page--cat-rations .pd-info-category-consult__form {
    display: grid;
    justify-items: center;
    gap: 18px;
    width: 100%;
    max-width: 558px;
    padding: 92px 64px 68px;
    border: 3px solid var(--pd-blue);
    border-radius: 30px;
    background: #fff;
    text-align: center;
}

.pd-info-page--cat-rations .pd-info-category-consult__title {
    margin: 0;
    color: var(--pd-blue);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 64px;
    font-weight: 400;
    letter-spacing: 2px;
    line-height: 1;
    text-transform: uppercase;
}

.pd-info-page--cat-rations .pd-info-category-consult__subtitle {
    max-width: 340px;
    margin: 0 0 6px;
    color: var(--pd-green);
    font-size: 20px;
    line-height: 1.45;
    font-weight: 400;
}

.pd-info-page--cat-rations .pd-info-category-consult__field {
    width: 100%;
    max-width: 370px;
}

.pd-info-page--cat-rations .pd-info-category-consult__field input {
    width: 100%;
    height: 54px;
    padding: 0 22px;
    border: 2px solid var(--pd-blue);
    border-radius: 50px;
    background: #f6f6f6;
    color: var(--pd-green);
    font-family: inherit;
    font-size: 20px;
    line-height: 1.3;
}

.pd-info-page--cat-rations .pd-info-category-consult__field input::placeholder {
    color: #9aa9a3;
    opacity: 1;
}

.pd-info-page--cat-rations .pd-info-category-consult__field input:focus-visible {
    outline: none;
    border-color: var(--pd-green);
}

.pd-info-page--cat-rations .pd-info-category-consult__radios {
    width: 100%;
    max-width: 370px;
    margin: 2px 0 0;
    padding: 0;
    border: 0;
}

.pd-info-page--cat-rations .pd-info-category-consult__radios legend {
    margin: 0 0 8px;
    padding: 0;
    color: var(--pd-green);
    font-size: 16px;
    line-height: 1.2;
    text-align: left;
}

.pd-info-page--cat-rations .pd-info-category-consult__radio-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.pd-info-page--cat-rations .pd-info-category-consult__radio-row label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--pd-green);
    font-size: 14px;
    line-height: 1.2;
    cursor: pointer;
}

.pd-info-page--cat-rations .pd-info-category-consult__radio-row input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--pd-green);
}

.pd-info-page--cat-rations .pd-info-category-consult__submit {
    min-width: 210px;
    height: 46px;
    margin-top: 8px;
    padding: 0 32px;
    border: 0;
    border-radius: 50px;
    background: var(--pd-green);
    color: #fff;
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: background-color .18s ease;
}

.pd-info-page--cat-rations .pd-info-category-consult__submit:hover,
.pd-info-page--cat-rations .pd-info-category-consult__submit:focus-visible {
    background: var(--pd-green-dark);
}

.pd-info-page--cat-rations .pd-info-category-consult__consent {
    max-width: 372px;
    margin: 4px 0 0;
    color: var(--pd-green);
    font-size: 14px;
    line-height: 1.45;
}

.pd-info-page--cat-rations .pd-info-category-consult__consent a {
    color: var(--pd-blue);
    text-decoration: none;
}

.pd-info-page--cat-rations .pd-info-category-consult__consent a:hover {
    text-decoration: underline;
}

.pd-info-page--cat-rations .pd-info-category-consult__status {
    min-height: 18px;
    color: var(--pd-green);
    font-size: 14px;
    line-height: 1.35;
}

.pd-info-page--cat-rations .pd-info-category-consult__status:empty {
    min-height: 0;
}

.pd-info-page--cat-rations .pd-info-category-consult__status[data-state="error"] {
    color: #b94b3d;
}

.pd-info-page--cat-rations .pd-info-category-consult__status[data-state="success"] {
    color: var(--pd-green);
}

@media (max-width: 900px) {
    .pd-info-page--cat-rations .pd-info-category-feature--starter {
        grid-template-columns: 1fr;
        gap: 36px;
        margin: 8px 0 58px;
    }

    .pd-info-page--cat-rations .pd-info-category-feature__heading {
        display: block;
    }

    .pd-info-page--cat-rations .pd-info-category-consult__form {
        padding: 34px 22px 30px;
    }

    .pd-info-page--cat-rations .pd-info-category-consult__title {
        font-size: 40px;
        letter-spacing: 1px;
    }

    .pd-info-page--cat-rations .pd-info-category-consult__subtitle {
        font-size: 18px;
    }

    .pd-info-page--cat-rations .pd-info-category-feature__lead {
        font-size: 22px;
    }
}

.pd-info-category-benefits,
.pd-info-category-order {
    max-width: 1120px;
    margin: 0 auto 82px;
}

.pd-info-category-benefits h2,
.pd-info-category-order h2 {
    max-width: 980px;
    margin: 0 auto 30px;
    font-size: 100px;
    line-height: 0.95;
    text-align: center;
}

/* «8/5 причин выбрать натуральный корм» benefits heading is tan on prod (not teal) */
.pd-info-category-benefits h2 {
    color: #cda077;
}

/* Dog-rations «Лакомства» heading is 100px on prod (base products h2 is 72px) */
.pd-info-category-products--dog-treats h2 {
    font-size: 100px;
}

/* Cat-rations «Лакомства» renders an empty store box on prod («Ничего не найдено») */
.pd-info-category-products__empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 300px;
    margin-top: 30px;
    color: #9a9a9a;
    font-size: 18px;
}

.pd-info-category-order h2 {
    font-size: 66px;
    letter-spacing: 1px;
}

.pd-info-category-benefits__text {
    columns: 2 340px;
    column-gap: 52px;
    font-size: 19px;
    line-height: 1.36;
}

.pd-info-page--dog-rations .pd-info-category-products--intro {
    padding-bottom: 435px;
}

.pd-info-page--dog-rations .pd-info-category-benefits {
    margin-bottom: 232px;
}

.pd-info-page--dog-rations .pd-info-category-order {
    margin-bottom: 177px;
}

.pd-info-category-order__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 52px;
    align-items: start;
    margin: 44px 0 46px;
}

.pd-info-category-order-card {
    display: grid;
    gap: 18px;
    justify-items: center;
    text-align: center;
}

.pd-info-category-order-card img {
    display: block;
    width: min(200px, 100%);
    height: 188px;
    object-fit: contain;
}

.pd-info-category-order-card h3 {
    margin: 0;
    color: var(--pd-green);
    font-size: 34px;
    line-height: 1.05;
    font-weight: 400;
}

.pd-info-category-order-card p {
    min-height: 88px;
    margin: 0;
    color: var(--pd-green);
    font-size: 19px;
    line-height: 1.24;
}

.pd-info-category-order-card .pd-info-category-button {
    min-width: 210px;
}

@media (max-width: 900px) {
    .pd-info-page--category {
        padding-top: 28px;
    }

    .pd-info-page--category .pd-container {
        width: min(100% - 32px, 640px);
    }

    .pd-info-category-hero,
    .pd-info-category-feature {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .pd-info-category-hero {
        min-height: 0;
        padding: 24px 0 50px;
    }

    .pd-info-category-hero__media {
        order: -1;
    }

    .pd-info-category-hero__media img {
        max-height: 430px;
    }

    .pd-info-category-hero h1 {
        font-size: 54px;
    }

    .pd-info-category-hero__kicker {
        font-size: 28px;
    }

    .pd-info-category-hero__text,
    .pd-info-category-copy,
    .pd-info-category-feature p,
    .pd-info-category-benefits__text {
        font-size: 17px;
        line-height: 1.38;
    }

    .pd-info-category-products h2,
    .pd-info-category-feature h2,
    .pd-info-category-benefits h2,
    .pd-info-category-order h2 {
        font-size: 42px;
    }

    .pd-info-category-feature h2 {
        font-size: 40px;
        letter-spacing: 1px;
    }

    .pd-info-category-benefits h2 {
        font-size: 39px;
        letter-spacing: 1.5px;
    }

    .pd-info-category-order h2 {
        font-size: 36px;
        letter-spacing: 1px;
    }

    .pd-info-category-products {
        padding-bottom: 52px;
    }

    .pd-info-category-products h2 {
        margin-bottom: 30px;
    }

    .pd-info-category-feature {
        margin: 8px 0 58px;
        padding: 30px 18px;
    }

    .pd-info-category-feature__content {
        justify-items: stretch;
    }

    .pd-info-category-button {
        width: 100%;
    }

    .pd-info-category-benefits,
    .pd-info-category-order {
        margin-bottom: 58px;
    }

    .pd-info-category-benefits__text {
        columns: auto;
    }

    .pd-info-page--dog-rations .pd-info-category-products--intro {
        padding-bottom: 70px;
    }

    .pd-info-page--dog-rations .pd-info-category-benefits {
        margin-bottom: 70px;
    }

    .pd-info-category-order__cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px;
        margin: 30px 0 36px;
    }

    .pd-info-category-order-card {
        gap: 10px;
    }

    .pd-info-category-order-card img {
        height: 96px;
    }

    .pd-info-category-order-card h3 {
        font-size: 20px;
    }

    .pd-info-category-order-card p {
        min-height: 0;
        font-size: 14px;
        line-height: 1.24;
    }

    .pd-info-category-order-card .pd-info-category-button {
        min-width: 0;
        min-height: 40px;
        padding: 0 12px;
        font-size: 13px;
    }

    .pd-info-page--cat-sets .pd-info-category-hero,
    .pd-info-page--dog-sets .pd-info-category-hero {
        grid-template-columns: 1fr;
        gap: 16px;
        padding-bottom: 26px;
    }

    .pd-info-page--cat-sets .pd-info-category-hero,
    .pd-info-page--dog-sets .pd-info-category-hero {
        gap: 0;
        padding-bottom: 79px;
    }

    .pd-info-page--cat-sets .pd-info-category-hero__content,
    .pd-info-page--dog-sets .pd-info-category-hero__content {
        gap: 16px;
        text-align: center;
    }

    .pd-info-page--cat-sets .pd-info-category-hero h1,
    .pd-info-page--dog-sets .pd-info-category-hero h1 {
        font-size: 36px;
        white-space: nowrap;
    }

    .pd-info-page--cat-sets .pd-info-category-hero h1,
    .pd-info-page--dog-sets .pd-info-category-hero h1 {
        max-width: 284px;
        margin: 0 auto;
        font-size: 60px;
        line-height: 0.85;
        white-space: normal;
    }

    .pd-info-page--cat-sets .pd-info-category-hero__text,
    .pd-info-page--dog-sets .pd-info-category-hero__text {
        font-size: 20px;
        line-height: 1.25;
    }

    .pd-info-page--cat-sets .pd-info-category-hero__text,
    .pd-info-page--dog-sets .pd-info-category-hero__text {
        max-width: 312px;
        margin: 0 auto;
        font-size: 14px;
        line-height: 1.2;
    }

    .pd-info-page--cat-sets .pd-info-category-hero__text p:first-child,
    .pd-info-page--dog-sets .pd-info-category-hero__text p:first-child {
        max-width: 299px;
        margin-right: auto;
        margin-left: auto;
    }

    .pd-info-page--cat-sets .pd-info-category-hero__text p + p,
    .pd-info-page--dog-sets .pd-info-category-hero__text p + p {
        margin-top: 9px;
    }

    .pd-info-page--cat-sets .pd-info-category-hero__media img,
    .pd-info-page--dog-sets .pd-info-category-hero__media img {
        width: 403px;
        height: 268px;
        max-width: none;
        max-height: none;
        margin: -26px 0 8px -29px;
        object-fit: cover;
        transform: none;
    }

    .pd-info-page--cat-sets .pd-info-category-hero__content,
    .pd-info-page--dog-sets .pd-info-category-hero__content {
        max-width: none;
        padding-top: 0;
        gap: 7px;
        transform: translateX(-8px);
    }

    .pd-info-dog-sets-empty {
        min-height: 360px;
        justify-items: center;
        padding: 42px 0 70px;
    }

    .pd-info-dog-sets-empty p {
        width: min(268px, 100%);
        margin: 0 auto;
        font-size: 14px;
        line-height: 1.45;
    }

    .pd-info-page--health-category {
        padding-top: 0;
    }

    .pd-info-page--health-category .pd-container {
        width: min(100% - 32px, 640px);
    }

    .pd-info-health-hero {
        min-height: 70vh;
        margin-top: -82px;
        background-position: center bottom;
    }

    .pd-info-health-hero__media {
        display: none;
    }

    .pd-info-health-hero__media img {
        object-position: center bottom;
    }

    .pd-info-health-hero__content {
        left: 20px;
        right: auto;
        bottom: 0;
        left: 0;
        width: 100%;
        min-height: 230px;
        padding: 26px 20px 30px;
    }

    .pd-info-health-hero__kicker {
        margin-bottom: 15px;
        font-size: 10px;
        line-height: 1.2;
    }

    .pd-info-health-hero__title {
        font-size: 24px;
        line-height: 1.2;
    }

    .pd-info-health-hero__text {
        margin-top: 18px;
        font-size: 14px;
        line-height: 1.45;
    }

    .pd-info-page--cat-health .pd-info-health-hero {
        min-height: 0;
        margin-top: -44px;
        padding-top: 64vw;
        background: #a7d0e2;
    }

    .pd-info-page--cat-health .pd-info-health-hero::before {
        inset: 0 0 auto 0;
        width: 100%;
        height: 64vw;
        clip-path: none;
        background-position: center center;
        background-size: cover;
        opacity: 1;
        filter: none;
    }

    .pd-info-page--cat-health .pd-info-health-hero__content,
    .pd-info-page--cat-health .pd-info-health-hero--badge .pd-info-health-hero__content {
        left: 0;
        right: auto;
        top: auto;
        bottom: 0;
        position: relative;
        width: 100%;
        min-height: 0;
        padding: 28px 20px 32px;
        background: #a7d0e2;
        transform: none;
    }

    .pd-info-page--cat-health .pd-info-health-hero__kicker {
        display: none;
    }

    .pd-info-page--cat-health .pd-info-health-hero__title,
    .pd-info-page--cat-health .pd-info-health-hero--badge .pd-info-health-hero__title {
        font-size: 24px;
        line-height: 1.2;
    }

    .pd-info-page--cat-health .pd-info-health-hero__text {
        width: auto;
        margin-top: 20px;
        font-size: 14px;
        line-height: 1.45;
        font-weight: 400;
    }

    .pd-info-page--cat-heart-health .pd-info-health-hero {
        min-height: 0;
        margin-top: -104px;
        padding-top: 114vw;
        background-image: url("/local/assets/petdiet-pages/images/tild3464-3464-4238-b532-376239386531__cat_nutririon_cover_375x630.webp");
        background-position: center top;
        background-size: cover;
        background-repeat: no-repeat;
    }

    /* Panel sits IN FLOW below the photo band (the hero's 85vw padding-top), auto height so the
       text never clips and the gap to the breadcrumbs is the normal flow gap — matches prod.
       --badge keeps specificity (0,3,0) so this beats the cat-health badge rule above. */
    .pd-info-page--cat-heart-health .pd-info-health-hero--badge .pd-info-health-hero__content {
        position: relative;
        left: 0;
        right: auto;
        top: auto;
        bottom: auto;
        width: 100%;
        height: auto;
        min-height: 0;
        padding: 26px 20px 32px;
        background: #a7d0e2;
        transform: none;
    }

    .pd-info-page--cat-heart-health .pd-info-health-hero__kicker {
        display: block;
        margin-bottom: 15px;
        font-size: 10px;
        line-height: 1.2;
    }

    .pd-info-page--cat-heart-health .pd-info-health-hero__title {
        font-size: 24px;
        line-height: 1.2;
    }

    .pd-info-page--cat-heart-health .pd-info-health-hero__text {
        width: auto;
        margin-top: 18px;
        font-size: 14px;
        line-height: 1.45;
    }

    .pd-info-page--cat-heart-health .pd-container {
        width: min(1320px, calc(100% - 40px));
    }

    .pd-info-page--cat-heart-health .pd-info-health-breadcrumbs {
        gap: 4px 5px;
        padding: 45px 0 4px;
        color: var(--pd-green);
        font-size: 12px;
        line-height: 19px;
    }

    .pd-info-page--cat-heart-health .pd-info-health-breadcrumbs a {
        color: var(--pd-green);
        text-decoration: none;
    }

    .pd-info-page--cat-heart-health .pd-info-health-breadcrumbs > span:not([aria-hidden]) {
        flex-basis: 100%;
    }

    .pd-info-page--cat-heart-health .pd-info-health-products .pd-info-product-grid {
        width: calc(100vw - 20px);
        margin-left: calc(50% - 50vw + 10px);
        gap: 28px 0;
    }

    .pd-info-page--cat-heart-health .pd-info-health-products .pd-product-card {
        box-sizing: border-box;
        padding: 0 10px;
    }

    .pd-info-page--cat-heart-health .pd-info-health-products .pd-product-card__image {
        height: 173px;
        aspect-ratio: auto;
    }

    .pd-info-health-breadcrumbs {
        margin: 0;
        padding: 30px 0 28px;
        font-size: 18px;
    }

    .pd-info-health-products {
        padding-bottom: 58px;
    }

    .pd-info-page--health-category .pd-info-health-products .pd-product-card__desc,
    .pd-info-page--health-category .pd-info-health-all-products .pd-product-card__desc {
        /* Меньший шрифт + резерв ровно 4 строк (остальное скрываем) — чтобы во всех
           карточках блок описания был одной высоты и кнопки «Подробнее» вставали в ряд. */
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
        overflow: hidden;
        min-height: 64px;
        margin-top: 6px;
        color: var(--pd-green);
        font-size: 12px;
        line-height: 16px;
    }

    /* Выравнивание кнопок «Подробнее» в ряд — на ВСЁМ мобильно-планшетном диапазоне
       (<=900), а не только <=640: иначе в 641–900px блок действий оставался прижат к
       низу (margin-top:auto) и кнопки разъезжались. Высокая специфичность (3 класса)
       перебивает базовое .pd-product-card__actions{margin-top:auto}. */
    .pd-info-page--health-category .pd-info-health-products .pd-product-card,
    .pd-info-page--health-category .pd-info-health-all-products .pd-product-card {
        min-height: 0;
    }
    .pd-info-page--health-category .pd-info-health-products .pd-product-card__name,
    .pd-info-page--health-category .pd-info-health-all-products .pd-product-card__name {
        min-height: 37.8px;
    }
    .pd-info-page--health-category .pd-info-health-products .pd-product-card__actions,
    .pd-info-page--health-category .pd-info-health-all-products .pd-product-card__actions {
        margin-top: 18px;
    }

    .pd-info-health-section {
        grid-template-columns: 1fr;
        gap: 22px;
        min-height: 0;
        padding: 48px 0;
    }

    .pd-info-health-products--empty {
        padding-bottom: 58px;
    }

    .pd-info-health-products--empty .pd-info-health-empty {
        min-height: 220px;
        font-size: 17px;
    }

    .pd-info-health-section--intro,
    .pd-info-health-section--choice,
    .pd-info-health-section--benefits,
    .pd-info-health-transition {
        width: 100%;
        max-width: 1160px;
        height: auto;
        margin-left: auto;
    }

    .pd-info-health-section--intro,
    .pd-info-health-section--choice,
    .pd-info-health-section--benefits {
        display: grid;
        padding: 48px 0;
        background: transparent;
        text-align: center;
    }

    .pd-info-health-section--intro h2,
    .pd-info-health-section--choice h2,
    .pd-info-health-section--benefits h2 {
        position: static;
        width: auto;
        max-width: none;
        margin: 0;
        color: var(--pd-green);
        font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
        font-weight: 700;
        text-align: center;
    }

    .pd-info-health-section--intro .pd-info-health-section__text,
    .pd-info-health-section--choice .pd-info-health-section__text,
    .pd-info-health-section--benefits .pd-info-health-section__text {
        width: auto;
        max-width: none;
        margin-left: 0;
        display: grid;
        gap: 18px;
    }

    .pd-info-health-section--intro .pd-info-health-section__text p:last-child {
        order: 0;
        margin-bottom: 0;
        font-size: inherit;
        line-height: inherit;
    }

    /* «Правильно подобранный…» (girl-photo intro) on the PHONE matches prod's stacked
       Tilda layout: photo on top, light-blue Extenda heading, «Свежее…» sub-heading right
       below it, then body — all centered. 640px+ switches to the split layout (see the
       640-1080 block after this media block). */
    .pd-info-health-section--pravilno {
        gap: 12px;
    }

    .pd-info-health-section--pravilno::before {
        position: static;
        width: min(320px, 88vw);
        height: auto;
        aspect-ratio: 487 / 509;
        justify-self: center;
        margin: 0 auto -10px;
    }

    /* doubled --intro.--pravilno class beats the later `.pd-info-health-section h2 {38px}` rule */
    .pd-info-health-section--intro.pd-info-health-section--pravilno h2 {
        color: #a9d1de;
        font-weight: 400;
        font-size: 34px;
        line-height: 32px;
    }

    .pd-info-health-section--pravilno .pd-info-health-section__text p:last-child {
        order: -1;
    }

    .pd-info-health-section--pravilno .pd-info-health-section__text p:last-child:not(:first-child) {
        max-width: 300px;
        margin: 0 auto;
        font-size: 18px;
        line-height: 22px;
    }

    .pd-info-health-section--benefits .pd-info-health-section__text p {
        position: static;
        width: auto;
    }

    .pd-info-health-section__image {
        display: none;
    }

    .pd-info-page--health-category .pd-info-health-section--benefits {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0;
        padding: 54px 16px 64px;
        text-align: center;
    }

    .pd-info-page--health-category .pd-info-health-section--benefits h2 {
        order: 1;
        margin: 0 0 28px;
        color: #cda077;
        font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
        font-size: 54px;
        line-height: 48px;
        font-weight: 400;
        text-align: center;
    }

    .pd-info-page--health-category .pd-info-health-section--benefits .pd-info-health-section__text {
        display: contents;
    }

    .pd-info-page--health-category .pd-info-health-section--benefits .pd-info-health-section__text p {
        max-width: 335px;
        margin: 0 auto;
        font-size: 16px;
        line-height: 19px;
        text-align: center;
    }

    .pd-info-page--health-category .pd-info-health-section--benefits .pd-info-health-section__text p:nth-child(1) {
        order: 3;
    }

    .pd-info-page--health-category .pd-info-health-section--benefits .pd-info-health-section__text p:nth-child(2) {
        order: 5;
    }

    .pd-info-page--health-category .pd-info-health-section--benefits .pd-info-health-section__text p:nth-child(3) {
        order: 7;
    }

    .pd-info-page--health-category .pd-info-health-section--benefits .pd-info-health-section__image {
        position: static;
        display: block;
        flex: 0 0 auto;
    }

    .pd-info-page--health-category .pd-info-health-section--benefits .pd-info-health-section__image--left {
        order: 2;
        width: 219px;
        height: 194px;
        margin-bottom: 30px;
    }

    .pd-info-page--health-category .pd-info-health-section--benefits .pd-info-health-section__image--center {
        order: 4;
        width: 315px;
        height: 134px;
        margin: 42px 0 30px;
    }

    .pd-info-page--health-category .pd-info-health-section--benefits .pd-info-health-section__image--right {
        order: 6;
        width: 136px;
        height: 148px;
        margin: 42px 0 30px;
    }

    .pd-info-health-section h2,
    .pd-info-health-feeding h2,
    .pd-info-health-transition h2,
    .pd-info-health-all-products h2 {
        font-size: 38px;
        line-height: 1.08;
    }

    .pd-info-health-section__text {
        font-size: 17px;
        line-height: 1.4;
    }

    .pd-info-health-feeding {
        padding: 42px 0 58px;
    }

    .pd-info-health-table {
        min-width: 620px;
        font-size: 17px;
    }

    .pd-info-health-table th,
    .pd-info-health-table td {
        padding: 16px 12px;
    }

    .pd-info-health-transition {
        padding: 40px 0 64px;
    }

    .pd-info-health-transition h2 {
        margin: 0 0 36px;
        color: var(--pd-green);
        font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
        font-weight: 700;
        text-align: center;
    }

    .pd-info-health-transition__steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .pd-info-health-transition__steps article {
        min-height: 150px;
        padding: 18px 12px;
    }

    .pd-info-health-transition__steps span {
        font-size: 17px;
    }

    .pd-info-health-transition__steps strong {
        font-size: 26px;
    }

    .pd-info-health-transition__steps p,
    .pd-info-health-transition__note {
        font-size: 15px;
    }

    .pd-info-health-transition--timeline {
        width: 100vw;
        max-width: none;
        margin-left: calc(50% - 50vw);
        padding-top: 31px;
    }

    .pd-info-health-transition--timeline h2 {
        width: min(361px, 100%);
        margin: 0 auto 44px;
        color: #a9d1de;
        font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
        font-size: 60px;
        line-height: 1;
        font-weight: 400;
        text-align: center;
    }

    .pd-info-health-transition--timeline .pd-info-health-transition__steps {
        grid-template-columns: repeat(2, 146px);
        justify-content: center;
        width: 311px;
        max-width: 100%;
        gap: 44px 19px;
        margin: 0 auto;
    }

    .pd-info-health-transition--timeline .pd-info-health-transition__step {
        min-height: 202px;
        padding: 0;
    }

    .pd-info-health-transition--timeline .pd-info-health-transition__day {
        min-height: 36px;
        font-size: 20px;
    }

    .pd-info-health-transition--timeline .pd-info-health-transition__mix {
        gap: 15px;
        margin-top: 21px;
    }

    .pd-info-health-transition--timeline .pd-info-health-transition__portion {
        width: 146px;
        margin: 0 auto;
    }

    .pd-info-health-transition--timeline .pd-info-health-transition__portion strong {
        font-size: 24px;
        line-height: 1.2;
    }

    .pd-info-health-transition--timeline .pd-info-health-transition__portion span {
        margin-top: -1px;
        font-size: 14px;
        line-height: 1.3;
    }

    .pd-info-health-transition__warning {
        width: min(100%, 378px);
        margin-top: 40px;
    }

    .pd-info-health-transition__warning > strong {
        font-size: 24px;
        line-height: 1.55;
    }

    .pd-info-health-transition__warning .pd-info-health-transition__note {
        margin-top: 3px;
        font-size: 16px;
        line-height: 1.55;
    }

    .pd-info-health-all-products {
        padding: 20px 0 72px;
    }

    .pd-treats-hero {
        grid-template-columns: 1fr;
        min-height: 0;
        margin-top: 0;
    }

    .pd-treats-page--cat .pd-treats-hero {
        display: none;
    }

    .pd-treats-hero__media {
        min-height: 0;
        height: 375px;
        clip-path: none;
    }

    .pd-treats-hero__media img {
        object-position: 45% center;
    }

    .pd-treats-hero__copy {
        padding: 44px 20px 55px;
    }

    .pd-treats-hero__title {
        max-width: 335px;
        margin-bottom: 10px;
        font-size: 30px;
        line-height: 1.1;
    }

    .pd-treats-hero__title--desktop {
        display: none;
    }

    .pd-treats-hero__title--mobile {
        display: block;
    }

    .pd-treats-hero__text {
        max-width: 335px;
        font-size: 14px;
        line-height: 1.45;
    }

    .pd-treats-hero__note {
        margin-top: 20px;
        font-size: 14px;
    }

    .pd-treats-products {
        padding: 34px 0 72px;
    }

    .pd-treats-products__inner,
    .pd-treats-story,
    .pd-treats-process__inner,
    .pd-treats-benefits__inner {
        width: min(100% - 32px, 640px);
    }

    .pd-treats-breadcrumbs {
        margin-bottom: 34px;
        font-size: 18px;
    }

    .pd-treats-products h2 {
        width: 1px;
        height: 1px;
    }

    .pd-treats-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 44px 14px;
    }

    .pd-treats-product-grid .pd-product-card::before {
        width: 56px;
        height: 56px;
        font-size: 16px;
    }

    .pd-treats-product-grid .pd-product-card__name {
        font-size: 16px;
    }

    .pd-treats-product-grid .pd-product-card__price {
        font-size: 16px;
    }

    .pd-treats-product-grid .pd-product-card__desc {
        display: block;
        min-height: 0;
        font-size: 14px;
    }

    .pd-treats-product-grid .pd-product-card__more {
        font-size: 14px;
    }

    /* Narrow 2-col cards: the base 219px actions row overflowed into the next
       card. Stack them (Подробнее → qty → cart) full-width like prod. */
    .pd-treats-product-grid .pd-product-card__actions {
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
        justify-items: center;
    }

    .pd-treats-product-grid .pd-product-card__more,
    .pd-treats-product-grid .pd-product-card__qty {
        width: 100%;
    }

    .pd-treats-page--cat .pd-treats-products {
        min-height: 443px;
        padding-top: 14px;
        padding-bottom: 60px;
    }

    .pd-treats-page--dog .pd-treats-products {
        padding-bottom: 60px;
    }

    .pd-treats-page--cat .pd-treats-products__inner {
        width: min(100% - 40px, 640px);
    }

    .pd-treats-page--cat .pd-treats-breadcrumbs {
        flex-wrap: nowrap;
        gap: 0 12px;
        margin-bottom: 4px;
        font-size: 14px;
        line-height: 1.35;
    }

    .pd-treats-page--cat .pd-treats-empty {
        min-height: 360px;
        border-color: var(--pd-green);
        font-size: 14px;
        line-height: 1.4;
    }

    .pd-treats-page--dog .pd-treats-breadcrumbs {
        margin-bottom: 26px;
    }

    .pd-treats-page--dog .pd-treats-product-grid {
        width: 100%;
        padding-left: 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 20px;
    }

    .pd-treats-story {
        grid-template-columns: 1fr;
        gap: 26px;
        padding: 58px 0 68px;
    }

    .pd-treats-page--cat .pd-treats-story {
        width: min(100% - 55px, 640px);
        gap: 4px;
        padding: 6px 0 60px;
    }

    .pd-treats-page--cat .pd-treats-story__content {
        gap: 7px;
    }

    .pd-treats-page--cat .pd-treats-story__media img {
        height: 334px;
        max-height: none;
        object-fit: contain;
    }

    .pd-treats-story h1,
    .pd-treats-story h2,
    .pd-treats-process h2,
    .pd-treats-benefits h2 {
        font-size: 40px;
    }

    .pd-treats-page--cat .pd-treats-story h1,
    .pd-treats-page--dog .pd-treats-story--intro h1 {
        color: var(--pd-blue);
        font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
        font-size: 34px;
        line-height: 0.85;
        font-weight: 400;
        letter-spacing: 0;
        text-align: center;
        text-transform: uppercase;
    }

    .pd-treats-story__text,
    .pd-treats-process__text,
    .pd-treats-benefit p {
        font-size: 17px;
        line-height: 1.38;
    }

    .pd-treats-page--cat .pd-treats-story__text {
        font-size: 14px;
        line-height: 17px;
    }

    .pd-treats-process {
        padding: 58px 0 66px;
    }

    .pd-treats-page--dog .pd-treats-process {
        height: auto;
        padding: 42px 0 54px;
    }

    .pd-treats-page--dog .pd-treats-process__inner {
        position: static;
        display: grid;
        width: min(100% - 40px, 640px);
        height: auto;
        gap: 14px;
    }

    .pd-treats-page--dog .pd-treats-process h2,
    .pd-treats-page--dog .pd-treats-process__text {
        position: static;
        width: auto;
    }

    .pd-treats-page--dog .pd-treats-process h2 {
        font-size: 34px;
        line-height: 0.9;
    }

    .pd-treats-page--dog .pd-treats-process__text {
        font-size: 14px;
        line-height: 17px;
    }

    .pd-treats-benefits {
        padding: 66px 0 76px;
    }

    .pd-treats-benefits__grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .pd-treats-benefit {
        padding: 22px;
    }

    .pd-treats-benefit img {
        width: 76px;
        height: 76px;
    }

    .pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefits {
        height: auto;
        min-height: 1590px;
        padding: 48px 0 62px;
    }

    .pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefits__inner {
        position: static;
        display: grid;
        width: min(100% - 40px, 640px);
        height: auto;
        gap: 28px;
    }

    .pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefits h2 {
        position: static;
        max-width: 330px;
        font-size: 42px;
        line-height: 0.88;
    }

    .pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefits__grid {
        position: static;
        display: grid;
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefit,
    .pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefit:nth-child(1),
    .pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefit:nth-child(2),
    .pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefit:nth-child(3) {
        position: static;
        display: grid;
        gap: 12px;
        width: auto;
        height: auto;
        justify-items: center;
        text-align: center;
    }

    .pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefit img {
        position: static;
        width: auto;
        height: auto;
        max-width: 210px;
        max-height: 135px;
    }

    .pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefit p,
    .pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefit:nth-child(1) p,
    .pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefit:nth-child(2) p,
    .pd-treats-page:is(.pd-treats-page--cat, .pd-treats-page--dog) .pd-treats-benefit:nth-child(3) p {
        position: static;
        width: auto;
        font-size: 15px;
        line-height: 1.2;
        text-align: center;
    }

    .pd-info-set-products {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 42px 0 70px;
    }

    .pd-info-set-products__filters {
        gap: 0;
    }

    .pd-info-set-products__filters h2 {
        margin-bottom: 0;
        font-size: 0;
        line-height: 1;
        white-space: normal;
    }

    .pd-info-set-products__filters h2::after {
        content: "Фильтры";
        color: var(--pd-green);
        font-size: 22px;
        line-height: 1;
        font-weight: 700;
    }

    .pd-info-set-products__filter {
        display: none;
    }

    .pd-info-page--cat-sets .pd-info-set-products {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 65px 0 70px;
    }

    .pd-info-page--cat-sets .pd-info-set-products__filters {
        display: none;
    }

    .pd-info-page--cat-sets .pd-info-set-products .pd-info-product-grid {
        grid-template-columns: repeat(2, 180px);
        gap: 60px 0;
        justify-content: center;
    }

    .pd-info-page--cat-sets .pd-info-set-products .pd-product-card {
        width: 180px;
        justify-self: center;
    }

    .pd-info-page--cat-sets .pd-info-set-products .pd-product-card__image {
        width: 170px;
        margin: 0 auto;
    }

    /* set cards = homepage card sizing on mobile + the set-specific select/actions row */
    .pd-info-page--cat-sets .pd-info-set-products .pd-product-card__price {
        font-size: 16px;
        line-height: 21.6px;
    }

    .pd-info-page--cat-sets .pd-info-set-products .pd-product-card__name {
        font-size: 14px;
        line-height: 18.9px;
    }

    .pd-info-page--cat-sets .pd-product-card--ready-set .pd-product-card__option {
        margin-top: 14px;
        font-size: 12px;
        line-height: 1.5;
    }

    .pd-info-page--cat-sets .pd-product-card--ready-set .pd-product-card__select {
        height: 32px;
        min-height: 32px;
        padding: 0 34px 0 14px;
        background-position: calc(100% - 15px) 50%;
        background-size: 12px 8px;
        font-size: 12px;
    }

    .pd-info-page--cat-sets .pd-product-card--ready-set .pd-product-card__actions {
        grid-template-columns: minmax(0, 1fr) 70px;
        gap: 8px;
        padding-top: 24px;
    }

    .pd-info-page--cat-sets .pd-product-card--ready-set .pd-product-card__more {
        min-height: 50px;
    }

    .pd-info-page--cat-sets .pd-product-card--ready-set .pd-product-card__buy {
        width: 70px;
        height: 50px;
        min-height: 50px;
    }

    .pd-info-page--cat-sets .pd-product-card--ready-set .pd-product-card__buy::before {
        width: 24px;
        height: 24px;
    }
}

/* «Правильно подобранный…» (girl-photo intro on cat condition pages): prod keeps the SPLIT
   layout (photo left, text right) from 640px up, scaling it down with the viewport — the
   full desktop geometry (580px heading + margin-left calc(50% - 50px)) only fits at
   >=1060px. Placed AFTER the <=900 mobile block so it overrides the stacked treatment in
   the 640-900 range; >=1081 falls through to the regular desktop rules. */
@media (min-width: 640px) and (max-width: 1080px) {
    .pd-info-health-section--pravilno {
        display: block;
        width: 100vw;
        max-width: none;
        height: auto;
        min-height: calc(min(50vw - 20px, 450px) * 1.045 + 90px);
        margin-left: calc(50% - 50vw);
        padding: 63px 0 40px;
        text-align: left;
    }

    .pd-info-health-section--pravilno h2 {
        position: relative;
        z-index: 1;
        width: min(480px, calc(50% - 10px));
        max-width: none;
        margin: 0 0 9px calc(50% - 30px);
        color: #a9d1de;
        font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
        font-size: clamp(34px, 5.6vw, 62px);
        line-height: 0.91;
        font-weight: 400;
        text-align: left;
    }

    .pd-info-health-section--pravilno .pd-info-health-section__text {
        position: relative;
        z-index: 1;
        width: min(480px, calc(50% - 10px));
        max-width: none;
        margin-left: calc(50% - 30px);
        display: flex;
        flex-direction: column;
        gap: 0;
        font-size: 16px;
        line-height: 19px;
        text-align: left;
    }

    .pd-info-health-section--pravilno .pd-info-health-section__text p:last-child {
        order: -1;
        margin: 0 0 19px;
    }

    .pd-info-health-section--pravilno .pd-info-health-section__text p:last-child:not(:first-child) {
        max-width: none;
        margin: 0 0 19px;
        font-size: clamp(15px, 2.35vw, 24px);
        line-height: 1.2;
    }

    .pd-info-health-section--pravilno::before {
        display: block;
        position: absolute;
        left: max(8px, calc(50% - 547px));
        top: 50px;
        width: min(calc(50% - 20px), 450px);
        height: auto;
        aspect-ratio: 487 / 509;
        margin: 0;
        justify-self: auto;
    }
}

.pd-info-page--cat-rations .pd-container {
    width: min(1200px, calc(100% - 64px));
}

.pd-info-page--cat-rations .pd-info-category-hero {
    position: relative;
    display: grid;
    grid-template-columns: 530px 630px;
    gap: 20px;
    align-items: start;
    min-height: 580px;
    height: 580px;
    padding: 0;
}

.pd-info-page--cat-rations .pd-info-category-hero__media {
    width: 530px;
    padding-top: 36px;
}

.pd-info-page--cat-rations .pd-info-category-hero__media img {
    width: 487px;
    height: 509px;
    max-width: none;
    max-height: none;
    margin-left: 43px;
    object-fit: cover;
    object-position: center;
}

.pd-info-page--cat-rations .pd-info-category-hero__content {
    width: 630px;
    padding-top: 143px;
    gap: 0;
}

.pd-info-page--cat-rations .pd-info-category-hero h1,
.pd-info-page--cat-rations .pd-info-category-products h2 {
    color: var(--pd-blue);
    font-family: "Extenda", Arial, sans-serif;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.pd-info-page--cat-rations .pd-info-category-hero h1 {
    width: 403px;
    max-width: 403px;
    font-size: 72px;
    line-height: 0.9;
}

.pd-info-page--cat-rations .pd-info-category-hero__kicker {
    width: 630px;
    max-width: 630px;
    margin: 10px 0 0;
    color: var(--pd-green);
    font-family: Inter, Roboto, sans-serif;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 800;
}

.pd-info-page--cat-rations .pd-info-category-hero__text {
    width: 630px;
    max-width: 630px;
    margin-top: 19px;
    color: var(--pd-green);
    font-family: Inter, Roboto, sans-serif;
    font-size: 16px;
    line-height: 1.2;
}

.pd-info-page--cat-rations .pd-info-category-products {
    padding-top: 5px;
}

.pd-info-page--cat-rations .pd-info-category-products h2 {
    max-width: 1162px;
    margin: 0 0 44px 19px;
    font-size: 72px;
    line-height: 0.9;
    text-align: left;
}

/* Cat-rations «Лакомства» cross-sell heading is 100px on prod (the page-level rule
   above would otherwise force it to 72px, overriding the --dog-treats 100px rule) */
.pd-info-page--cat-rations .pd-info-category-products--dog-treats h2 {
    font-size: 100px;
}

@media (max-width: 1199px) {
    .pd-info-page--cat-rations .pd-container {
        width: min(960px, calc(100% - 64px));
    }

    .pd-info-page--cat-rations .pd-info-category-hero {
        grid-template-columns: 450px 500px;
        gap: 0;
        min-height: 540px;
        height: 540px;
    }

    .pd-info-page--cat-rations .pd-info-category-hero__media {
        width: 450px;
        padding-top: 27px;
    }

    .pd-info-page--cat-rations .pd-info-category-hero__media img {
        width: 406px;
        height: 515px;
        margin-left: 50px;
    }

    .pd-info-page--cat-rations .pd-info-category-hero__content {
        width: 500px;
        padding-top: 114px;
    }

    .pd-info-page--cat-rations .pd-info-category-hero h1 {
        width: 306px;
        max-width: 306px;
        font-size: 52px;
    }

    .pd-info-page--cat-rations .pd-info-category-hero__kicker {
        width: 396px;
        max-width: 396px;
        margin-top: 12px;
    }

    .pd-info-page--cat-rations .pd-info-category-hero__text {
        width: 500px;
        max-width: 500px;
        margin-top: 11px;
    }

    .pd-info-page--cat-rations .pd-info-category-products h2 {
        max-width: 829px;
        margin-left: 66px;
        font-size: 52px;
    }
}

@media (max-width: 959px) {
    .pd-info-page--cat-rations .pd-container {
        width: min(640px, calc(100% - 32px));
    }

    .pd-info-page--cat-rations .pd-info-category-hero {
        grid-template-columns: 274px 353px;
        gap: 0;
        min-height: 460px;
        height: 460px;
    }

    .pd-info-page--cat-rations .pd-info-category-hero__media {
        width: 274px;
        padding-top: 35px;
    }

    .pd-info-page--cat-rations .pd-info-category-hero__media img {
        width: 387px;
        height: 407px;
        margin-left: -56px;
    }

    .pd-info-page--cat-rations .pd-info-category-hero__content {
        width: 353px;
        padding-top: 90px;
    }

    .pd-info-page--cat-rations .pd-info-category-hero h1 {
        width: 248px;
        max-width: 248px;
        font-size: 42px;
        letter-spacing: 1.5px;
    }

    .pd-info-page--cat-rations .pd-info-category-hero__kicker {
        width: 292px;
        max-width: 292px;
        margin-top: 14px;
        font-size: 18px;
    }

    .pd-info-page--cat-rations .pd-info-category-hero__text {
        width: 353px;
        max-width: 353px;
        margin-top: 13px;
        font-size: 14px;
    }

    .pd-info-page--cat-rations .pd-info-category-products h2 {
        max-width: 631px;
        margin-left: 5px;
        font-size: 42px;
        letter-spacing: 1.5px;
    }
}

@media (max-width: 639px) {
    .pd-info-page--cat-rations .pd-container {
        width: min(480px, 100%);
    }

    .pd-info-page--cat-rations .pd-info-category-hero {
        display: block;
        width: 480px;
        max-width: 100%;
        min-height: 600px;
        height: 600px;
        margin: 0 auto;
    }

    .pd-info-page--cat-rations .pd-info-category-hero__media,
    .pd-info-page--cat-rations .pd-info-category-hero__content {
        position: absolute;
        padding: 0;
    }

    .pd-info-page--cat-rations .pd-info-category-hero__media {
        top: 23px;
        left: 80px;
        width: 320px;
    }

    .pd-info-page--cat-rations .pd-info-category-hero__media img {
        width: 320px;
        height: 339px;
        margin: 0;
    }

    .pd-info-page--cat-rations .pd-info-category-hero__content {
        top: 371px;
        left: 44px;
        width: 392px;
        text-align: center;
    }

    .pd-info-page--cat-rations .pd-info-category-hero h1 {
        width: 392px;
        max-width: 392px;
        margin: 0 auto;
        font-size: 42px;
        letter-spacing: 1.5px;
    }

    .pd-info-page--cat-rations .pd-info-category-hero__kicker {
        width: 392px;
        max-width: 392px;
        margin: 2px auto 0;
        font-size: 24px;
        line-height: 1.1;
    }

    .pd-info-page--cat-rations .pd-info-category-hero__text {
        width: 452px;
        max-width: 452px;
        margin: 4px 0 0 -30px;
        font-size: 16px;
        line-height: 1.2;
    }

    .pd-info-page--cat-rations .pd-info-category-products h2 {
        max-width: 392px;
        margin-left: auto;
        margin-right: auto;
        font-size: 42px;
        text-align: center;
    }
}

@media (max-width: 479px) {
    .pd-info-page--cat-rations .pd-container {
        width: min(320px, 100%);
    }

    .pd-info-page--cat-rations .pd-info-category-hero {
        width: 320px;
        min-height: 650px;
        height: 650px;
    }

    .pd-info-page--cat-rations .pd-info-category-hero__media {
        top: 6px;
        left: 0;
        width: 320px;
    }

    .pd-info-page--cat-rations .pd-info-category-hero__media img {
        width: 320px;
        height: 334px;
    }

    .pd-info-page--cat-rations .pd-info-category-hero__content {
        top: 341px;
        left: 4px;
        width: 312px;
    }

    .pd-info-page--cat-rations .pd-info-category-hero h1 {
        width: 312px;
        max-width: 312px;
        font-size: 34px;
        line-height: 1;
        letter-spacing: 1px;
    }

    .pd-info-page--cat-rations .pd-info-category-hero__kicker {
        width: 290px;
        max-width: 290px;
        margin-top: 2px;
    }

    .pd-info-page--cat-rations .pd-info-category-hero__text {
        width: 304px;
        max-width: 304px;
        margin: 0 auto;
    }

    .pd-info-page--cat-rations .pd-info-category-products h2 {
        max-width: 312px;
        font-size: 34px;
        line-height: 1;
        letter-spacing: 1px;
    }
}

@media (max-width: 639px) {
    .pd-info-page--dog-rations {
        padding-top: 0;
    }

    .pd-info-page--dog-rations .pd-container {
        width: 100%;
    }

    .pd-info-page--dog-rations .pd-info-breadcrumbs {
        width: min(100% - 40px, 356px);
        margin-top: 19px;
        margin-bottom: 30px;
        font-size: 14px;
    }

    .pd-info-page--dog-rations .pd-info-category-hero {
        height: 670px;
        min-height: 670px;
    }

    .pd-info-page--dog-rations .pd-info-category-hero__media {
        top: 1px;
        left: 18px;
        width: 320px;
        height: 264px;
    }

    .pd-info-page--dog-rations .pd-info-category-hero__badge {
        top: 1px;
        left: 221px;
        width: 107px;
        height: 107px;
    }

    .pd-info-page--dog-rations .pd-info-category-hero h1 {
        top: 274px;
        left: 22px;
        width: 312px;
        font-size: 50px;
        line-height: 45px;
        text-align: center;
    }

    .pd-info-page--dog-rations .pd-info-category-hero__kicker {
        top: 373px;
        left: 28px;
        width: 304px;
        font-size: 18px;
        line-height: 20px;
        text-align: center;
    }

    .pd-info-page--dog-rations .pd-info-category-hero__text {
        top: 430px;
        left: 28px;
        width: 304px;
        font-size: 14px;
        line-height: 17px;
        text-align: center;
    }
}

.pd-info-page__header--catalog {
    margin-bottom: 42px;
}

.pd-info-catalog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.pd-info-catalog-card {
    min-height: 184px;
    display: flex;
    align-items: flex-end;
    padding: 24px;
    background: var(--pd-blue);
    color: #fff;
    text-decoration: none;
    border-radius: 8px;
}

.pd-info-catalog-card span {
    font-size: 28px;
    line-height: 1;
    font-weight: 700;
}

.pd-info-product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px 0;
    margin-top: 42px;
}

/* Health pages: the .pd-container is 1320px but prod's product row is 1200px wide. Constrain the
   featured-products grid so the 3 cards land at 380/780/1180 (40px gaps), not spread across 1320. */
.pd-info-health-products .pd-info-product-grid {
    max-width: 1200px;
    margin-inline: auto;
}

.pd-info-page--calculator {
    background: #fff;
}

.pd-info-page--calculator .pd-info-breadcrumbs {
    height: 128px;
    margin-bottom: 0;
}

.pd-info-page__header--calculator {
    margin-bottom: 34px;
    text-align: left;
}

.pd-info-page__header--calculator h1 {
    color: var(--pd-blue);
    font-family: Roboto, sans-serif;
    font-weight: 700;
    line-height: 1.05;
    text-transform: none;
}

.pd-calculator__title {
    margin: 0 0 28px;
    color: #cda077;
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 58px;
    line-height: 0.9;
    font-weight: 400;
    letter-spacing: 2px;
    text-align: center;
    text-transform: uppercase;
}

.pd-calculator {
    margin: 0 0 48px;
    padding: 34px 48px;
    border-radius: 25px;
    background: #f1f5f3;
    color: var(--pd-green);
}

.pd-calculator__form {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    margin: 0;
}

.pd-calculator__weight {
    flex: 1 1 360px;
    display: grid;
    gap: 14px;
    text-align: center;
}

.pd-calculator__weight label {
    font-size: 16px;
    line-height: 1.25;
}

.pd-calculator__weight input[type="range"] {
    width: 100%;
    accent-color: var(--pd-green);
}

.pd-calculator__weight-value {
    display: block;
    font-size: 40px;
    line-height: 1;
    font-weight: 400;
}

.pd-calculator__results {
    flex: 1 1 500px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    text-align: center;
}

.pd-calculator__results label {
    display: grid;
    gap: 8px;
    align-content: start;
}

.pd-calculator__results input {
    width: 100%;
    border: 0;
    background: transparent;
    color: var(--pd-green);
    font-family: Roboto, sans-serif;
    font-size: 40px;
    line-height: 1;
    text-align: center;
}

.pd-calculator__results span {
    display: block;
    font-size: 14px;
    line-height: 1.2;
}

@media (min-width: 1200px) {
    .pd-info-page--calculator .pd-calculator {
        box-sizing: border-box;
        width: 100vw;
        min-height: 374px;
        margin: 0 0 56px calc((100% - 100vw) / 2);
        padding: 36px 0 0;
        border-radius: 0;
        background: transparent;
    }

    .pd-info-page--calculator .pd-calculator__title {
        width: max-content;
        max-width: calc(100% - 180px);
        margin: 0 auto 4px;
        font-size: 100px;
        line-height: 0.85;
        white-space: nowrap;
    }

    .pd-info-page--calculator .pd-calculator__title br {
        display: none;
    }

    .pd-info-page--calculator .pd-calculator__title-break-space {
        display: inline-block;
        width: 15px;
    }

    .pd-info-page--calculator .pd-calculator__title::after {
        content: "";
        display: inline-block;
        width: 40px;
        height: 35px;
        margin-left: 35px;
        background-color: #ffc4b8;
        -webkit-mask: url("/local/assets/petdiet-pages/images/heart.svg") center / contain no-repeat;
        mask: url("/local/assets/petdiet-pages/images/heart.svg") center / contain no-repeat;
        vertical-align: 16px;
    }

    .pd-info-page--calculator .pd-calculator__form {
        box-sizing: border-box;
        width: 1180px;
        min-height: 209px;
        margin: 0 auto;
        padding: 48px 250px 40px 245px;
        border-radius: 25px;
        background: #f1f5f3;
        justify-content: flex-start;
        gap: 80px;
    }

    .pd-info-page--calculator .pd-calculator__weight {
        flex: 0 0 225px;
    }

    .pd-info-page--calculator .pd-calculator__weight label {
        white-space: nowrap;
    }

    .pd-info-page--calculator .pd-calculator__weight input[type="range"] {
        accent-color: #078ed0;
    }

    .pd-info-page--calculator .pd-calculator__weight-value {
        font-size: 16px;
        line-height: 1.2;
    }

    .pd-info-page--calculator .pd-calculator__results {
        flex: 0 0 360px;
        gap: 32px;
    }

    .pd-info-page--calculator .pd-info-products-title {
        box-sizing: border-box;
        margin: 0;
        color: #a9d1de;
        font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
        font-size: 100px;
        line-height: 1;
        font-weight: 400;
        letter-spacing: 2px;
        text-align: center;
        text-transform: uppercase;
    }

    .pd-info-page--calculator .pd-info-product-grid.pd-product-grid {
        margin-top: 10px;
        padding-bottom: 6px;
    }

    .pd-info-page--calculator .pd-info-product-grid .pd-product-card {
        min-height: 644px;
    }
}

.pd-info-products-title {
    margin: 0 0 34px;
    color: var(--pd-blue);
    font-family: Roboto, sans-serif;
    font-size: 42px;
    line-height: 1.05;
    font-weight: 700;
    text-align: center;
}

.pd-info-page--product-landing {
    padding-top: 0;
    background: #fff;
}

.pd-info-page--product-landing .pd-container {
    width: min(100% - 48px, 1180px);
}

.pd-info-page--product-landing .pd-info-breadcrumbs {
    margin-bottom: 9px;
}

.pd-product-landing {
    --pd-product-orange: #f6b11a;
    --pd-product-peach: #fde1d9;
    --pd-product-pink: var(--pd-meat-accent, #d69bb8);
    --pd-product-mint: #b7cdc2;
    color: var(--pd-green);
}

.pd-product-landing-hero {
    display: grid;
    gap: 20px;
    padding: 50px 0 78px;
    text-align: center;
}

.pd-product-landing-hero__back {
    justify-self: center;
    min-width: 94px;
    min-height: 35px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--pd-blue);
    border-radius: 999px;
    color: var(--pd-blue);
    font-size: 18px;
    line-height: 1;
    font-weight: 700;
    text-decoration: none;
}

.pd-product-landing-hero h1 {
    display: flex;
    max-width: 1040px;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin: 0 auto -4px;
    color: var(--pd-product-pink);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 100px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.pd-product-landing-hero h1 .pd-product-landing-hero__cat {
    display: inline-block;
    flex: 0 0 auto;
    width: 126px;
    height: 104px;
    background-color: currentColor;
    -webkit-mask: var(--pd-cat-icon) center / contain no-repeat;
    mask: var(--pd-cat-icon) center / contain no-repeat;
}

.pd-product-landing-hero__stage {
    position: relative;
    display: grid;
    grid-template-columns: minmax(320px, 0.86fr) minmax(360px, 1fr) minmax(150px, 0.34fr);
    gap: 16px;
    align-items: center;
    min-height: 470px;
}

.pd-product-landing-hero__media {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
}

.pd-product-landing-hero__media img {
    width: min(100%, 520px);
    max-height: 500px;
    object-fit: contain;
}

.pd-product-landing-hero__lead {
    display: grid;
    gap: 14px;
    justify-items: center;
    align-self: center;
    color: var(--pd-product-pink);
    font-family: Inter, Roboto, sans-serif;
}

.pd-product-landing-hero__lead-accent {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #00a6ed;
    font-weight: 700;
}

.pd-product-landing-hero__lead-accent img {
    width: 34px;
    height: auto;
    flex: 0 0 auto;
}

.pd-product-landing-hero__lead p {
    max-width: 430px;
    margin: 0;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 500;
}

.pd-product-landing-hero__lead strong {
    color: var(--pd-product-pink);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 41px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: 1px;
}

.pd-product-landing-hero__break {
    display: none;
}

.pd-product-landing-hero__ingredients {
    display: grid;
    gap: 64px;
    justify-items: start;
    align-self: center;
    transform: translateX(-28px);
}

.pd-product-landing-hero__ingredients span {
    display: flex;
    width: 160px;
    height: 160px;
    align-items: center;
    justify-content: center;
    border-radius: 34px;
    background: #fbedd0;
}

.pd-product-landing-hero__ingredients span:nth-child(2) {
    background: var(--pd-product-peach);
}

.pd-product-landing-hero__ingredients img {
    max-width: 84%;
    max-height: 84%;
    object-fit: contain;
}

.pd-product-landing-hero__content {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 16px;
    align-items: center;
    justify-content: center;
}

.pd-product-landing-hero__content p {
    flex: 0 0 100%;
    max-width: 1060px;
    margin: 0;
    font-size: 29px;
    line-height: 1.27;
}

.pd-product-landing-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
}

.pd-product-landing-hero__buy {
    gap: 10px;
}

.pd-product-landing-hero__buy img {
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
}

.pd-product-landing-hero__buy span {
    display: inline-flex;
    align-items: center;
    font-family: Inter, sans-serif;
    font-size: 28px;
    font-weight: 200;
}

.pd-product-landing-hero__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
    justify-content: center;
}

.pd-product-landing-hero__facts strong {
    display: inline-flex;
    min-width: 240px;
    min-height: 94px;
    align-items: center;
    justify-content: center;
    padding: 0 36px;
    border-radius: 999px;
    background: var(--pd-green);
    color: #fff;
    font-size: 50px;
    line-height: 1;
    font-weight: 700;
}

.pd-product-landing-hero__actions .pd-info-primary-product__link {
    min-width: 0;
    min-height: 45px;
    padding: 0 24px;
    border: 1px solid var(--pd-product-pink);
    border-radius: 50px;
    background: var(--pd-product-pink);
    color: #fff;
    font-size: 16px;
}

.pd-product-landing-hero__actions .pd-info-primary-product__link:not(.pd-info-primary-product__link--buy):not([href*="catalog"]) {
    border-color: var(--pd-product-pink);
    background: var(--pd-product-pink);
    color: #fff;
}

.pd-product-landing-hero__actions .pd-info-primary-product__link--buy {
    border-color: var(--pd-green);
    background: var(--pd-green);
    color: #fff;
}

.pd-product-landing-hero__actions .pd-info-primary-product__link[href*="catalog"] {
    min-width: 220px;
    min-height: 56px;
    border: 1px solid var(--pd-green);
    background: #fff;
    color: var(--pd-green);
    font-size: 16px;
}

/* Лендинг рациона: «Подробный состав» (фирменный цвет страницы), цена (без фона)
   и кнопка покупки — все в одну строку. */
.pd-product-landing-hero__actions {
    align-items: center;
}
.pd-product-landing-hero__price {
    font-family: Inter, sans-serif;
    font-size: 34px;
    font-weight: 700;
    line-height: 1;
    color: var(--pd-green);
    white-space: nowrap;
}

.pd-product-landing-reviews,
.pd-product-landing-ready-sets,
.pd-product-landing-copy {
    padding: 64px 0;
}

.pd-product-landing-section-heading h1,
.pd-product-landing-section-heading h2,
.pd-product-landing-ready-sets h2,
.pd-product-landing-copy h2 {
    margin: 0;
    color: var(--pd-blue);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 60px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.pd-product-landing-details {
    padding: 50px 0 76px;
    color: var(--pd-green);
}

.pd-product-landing-details h2 {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

.pd-product-landing-details__grid {
    display: grid;
    width: 100%;
    max-width: 1163px;
    margin: 0 auto;
    grid-template-columns: repeat(2, minmax(0, 562px));
    gap: 39px;
    align-items: start;
}

.pd-product-landing-details__column {
    display: grid;
    gap: 28px;
    align-content: start;
}

.pd-product-landing-details__energy {
    max-width: 430px;
    margin: 0 0 0 1px;
    color: var(--pd-green);
    font-size: 24px;
    line-height: 1.28;
    font-weight: 400;
}

.pd-product-landing-detail-card {
    padding: 0;
    border-radius: 0;
    background: transparent;
}

.pd-product-landing-detail-card h3 {
    margin: 0 0 12px;
    color: var(--pd-green);
    font-family: Roboto, sans-serif;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 400;
}

.pd-product-landing-detail-card dl {
    display: grid;
    gap: 0;
    margin: 0;
}

.pd-product-landing-detail-card dl div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    min-height: 30px;
    align-items: center;
    padding: 4px 20px;
    border-radius: 999px;
}

.pd-product-landing-detail-card dl div:nth-child(odd) {
    background: #f6e8ef;
}

.pd-product-landing-detail-card dt,
.pd-product-landing-detail-card dd {
    margin: 0;
    font-size: 16px;
    line-height: 1.25;
    font-weight: 400;
}

.pd-product-landing-detail-card dd {
    text-align: right;
    white-space: nowrap;
}

.pd-product-landing-detail-card p {
    min-height: 30px;
    margin: 0;
    padding: 4px 20px;
    border-radius: 999px;
    background: #f6e8ef;
    font-size: 16px;
    line-height: 1.25;
    font-weight: 400;
}

.pd-product-landing-section-heading {
    display: flex;
    gap: 18px;
    align-items: center;
    justify-content: space-between;
}

.pd-product-landing-review-grid {
    display: flex;
    gap: 40px;
    width: calc(100vw - 15px);
    margin: 15px 0 38px;
    margin-left: calc(50% - 50vw + 7.5px);
    padding: 0 max(20px, calc(50vw - 590px)) 2px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scroll-padding-left: max(20px, calc(50vw - 590px));
    scroll-padding-right: max(20px, calc(50vw - 590px));
    scrollbar-width: none;
    cursor: grab;
    user-select: none;
}

.pd-product-landing-review-grid::-webkit-scrollbar {
    display: none;
}

.pd-product-landing-review-grid.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
}

.pd-product-landing-review {
    height: 624px;
    padding: 30px;
    border: 1px solid #000;
    border-radius: 20px;
    background: transparent;
    overflow: hidden;
    scroll-snap-align: start;
}

.pd-product-landing-review__rating {
    margin: 0;
    color: #a9d1de;
    font-family: Roboto, sans-serif;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: 0;
}

.pd-product-landing-review p,
.pd-product-landing-copy article p {
    margin: 0;
    font-size: 16px;
    line-height: 1.55;
}

.pd-product-landing-review p {
    margin-top: 14px;
}

.pd-product-landing-reviews__action {
    display: flex;
    margin-top: 30px;
    justify-content: center;
}

.pd-product-landing-reviews__heading {
    position: relative;
}

.pd-product-landing .pd-product-landing-reviews__action .pd-info-primary-product__link {
    width: 254px;
    min-width: 254px;
    min-height: 55px;
    border-radius: 30px;
    background: var(--pd-green);
    color: #fff;
    font-size: 16px;
    font-weight: 400;
}

.pd-product-landing-reviews__heart {
    position: absolute;
    top: 24px;
    left: calc(50% + 295px);
    width: 40px;
    height: 35px;
    font-size: 0;
    background-color: #ffcfbf;
    -webkit-mask: url("/local/assets/petdiet-pages/images/heart.svg") center / contain no-repeat;
    mask: url("/local/assets/petdiet-pages/images/heart.svg") center / contain no-repeat;
}

.pd-product-landing-copy__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 32px;
}

.pd-product-landing-copy article {
    padding: 24px;
    border-radius: 8px;
    background: #f4f8f6;
}

.pd-product-landing-ready-sets .pd-product-grid {
    margin-top: 36px;
}

.pd-product-landing-ready-sets .pd-product-card--ready-set .pd-product-card__option {
    order: 4;
    display: grid;
    gap: 0;
    margin-top: 24px;
    color: var(--pd-green);
    font-size: 14px;
    line-height: 1.8;
}

.pd-product-landing-ready-sets .pd-product-card--ready-set .pd-product-card__select {
    width: 100%;
    height: 38px;
    min-height: 38px;
    padding: 0 46px 0 24px;
    border: 2px solid var(--pd-green);
    border-radius: 50px;
    appearance: none;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%231f5b42' stroke-width='2'/%3E%3C/svg%3E") no-repeat calc(100% - 22px) 50% / 14px 9px;
    color: #000;
    font: inherit;
    font-size: 14px;
    line-height: 1;
}

.pd-product-landing-ready-sets .pd-product-card--ready-set .pd-product-card__actions {
    order: 5;
    grid-template-columns: minmax(0, 1fr) 70px;
    width: calc(100% - 8px);
    gap: 8px;
    align-self: flex-start;
    padding-top: 28px;
}

.pd-product-landing-ready-sets .pd-product-card--ready-set .pd-product-card__more {
    grid-column: auto;
    width: 100%;
}

.pd-product-landing-ready-sets .pd-product-card--ready-set .pd-product-card__status {
    order: 6;
}

/* Селект и кнопки покупки — по ширине кнопки «Подробнее» (= col1 сетки actions). Десктоп. */
@media (min-width: 981px) {
    .pd-product-landing-ready-sets .pd-product-card--ready-set .pd-product-card__select {
        width: calc(100% - 86px);
    }
    .pd-product-landing-ready-sets .pd-product-card--ready-set .pd-product-card__actions .pd-cart-ctl,
    .pd-product-landing-ready-sets .pd-product-card--ready-set .pd-product-card__actions .pd-product-card__buy--text {
        grid-column: 1 / 2;
        width: 100%;
    }
}

.pd-info-page--product-landing .pd-product-landing-transition {
    position: relative;
    width: 100vw;
    max-width: none;
    min-height: 860px;
    margin: 0 0 0 calc(50% - 50vw);
    padding: 60px 0 0;
    background: #fff;
}

.pd-info-page--product-landing .pd-product-landing-transition h2 {
    position: relative;
    z-index: 1;
    width: min(100% - 40px, 1246px);
    min-height: 100px;
    margin: 0 auto 242px;
    color: var(--pd-product-pink);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 100px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: 2px;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
    transform: none;
}

.pd-info-page--product-landing .pd-product-landing-transition__photos {
    position: absolute;
    z-index: 0;
    top: 144px;
    left: 50%;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    width: min(calc(100% - 260px), 1159px);
    transform: translateX(-50%);
    pointer-events: none;
}

.pd-info-page--product-landing .pd-product-landing-transition__photos img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.pd-info-page--product-landing .pd-product-landing-transition__steps {
    position: relative;
    z-index: 1;
    grid-template-columns: repeat(4, 273px);
    width: 1146px;
    max-width: calc(100% - 80px);
    gap: 18px;
    margin: 0 auto;
}

.pd-info-page--product-landing .pd-product-landing-transition__step {
    display: block;
    min-height: 260px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--pd-green);
    text-align: center;
}

.pd-info-page--product-landing .pd-product-landing-transition__day {
    display: flex;
    min-height: 55px;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    background: var(--pd-product-pink);
    color: #fff;
    font-family: Inter, Roboto, sans-serif;
    font-size: 30px;
    line-height: 1;
    font-weight: 400;
}

.pd-info-page--product-landing .pd-product-landing-transition__mix {
    display: grid;
    gap: 18px;
    margin-top: 16px;
}

.pd-info-page--product-landing .pd-product-landing-transition__portion strong,
.pd-info-page--product-landing .pd-product-landing-transition__portion span {
    display: block;
}

.pd-info-page--product-landing .pd-product-landing-transition__portion strong {
    font-family: Roboto, sans-serif;
    font-size: 30px;
    line-height: 1.24;
    font-weight: 700;
}

.pd-info-page--product-landing .pd-product-landing-transition__portion span {
    margin-top: -1px;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 400;
}

.pd-info-page--product-landing .pd-product-landing-transition__portion--current {
    color: #b7cdc2;
}

.pd-info-page--product-landing .pd-product-landing-transition__portion--petdiet {
    color: var(--pd-green);
}

.pd-info-page--product-landing .pd-product-landing-transition__warning {
    position: relative;
    z-index: 1;
    width: min(100% - 80px, 766px);
    margin: 46px auto 0;
    color: #b7cdc2;
    text-align: center;
}

.pd-info-page--product-landing .pd-product-landing-transition__warning > strong {
    display: block;
    color: #b7cdc2;
    font-size: 30px;
    line-height: 1.55;
    font-weight: 400;
}

.pd-info-page--product-landing .pd-product-landing-transition__warning .pd-info-health-transition__note {
    margin-top: 5px;
    color: #b7cdc2;
    font-size: 20px;
    line-height: 1.55;
}

.pd-info-page--product-landing .pd-product-landing-transition__warning b {
    font-weight: 700;
}

.pd-info-primary-product {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 28px;
    align-items: center;
    margin-top: 54px;
    padding: 28px;
    border: 1px solid var(--pd-border);
    border-radius: 8px;
    background: #fff;
    color: var(--pd-green);
}

.pd-info-primary-product__image {
    display: block;
    text-decoration: none;
}

.pd-info-primary-product__image img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
}

.pd-info-primary-product__body {
    display: grid;
    gap: 14px;
    justify-items: start;
}

.pd-info-primary-product__body h2,
.pd-info-primary-product__body p {
    margin: 0;
}

.pd-info-primary-product__body h2 {
    color: var(--pd-blue);
    font-family: Roboto, sans-serif;
    font-size: 32px;
    line-height: 1.05;
    font-weight: 700;
}

.pd-info-primary-product__body p {
    max-width: 620px;
    font-size: 16px;
    line-height: 1.35;
}

.pd-info-primary-product__price {
    color: var(--pd-green);
    font-size: 24px;
    line-height: 1;
    font-weight: 700;
}

.pd-info-primary-product__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.pd-info-primary-product__link {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0 22px;
    border: 1px solid var(--pd-green);
    border-radius: 999px;
    background: var(--pd-green);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}

button.pd-info-primary-product__link {
    font-family: Roboto, sans-serif;
}

.pd-info-primary-product__link:not(.pd-info-primary-product__link--buy) {
    background: #fff;
    color: var(--pd-green);
}

.pd-info-primary-product__status {
    min-height: 18px;
    color: var(--pd-green);
    font-size: 13px;
}

.pd-info-primary-product--notice {
    grid-template-columns: 1fr;
}

.pd-info-related-products {
    margin-top: 54px;
    padding-top: 42px;
    border-top: 1px solid var(--pd-border);
}

.pd-product-landing .pd-info-related-products {
    margin-top: 0;
    padding: 64px 0 0;
    border-top: 0;
}

.pd-product-landing-related-rations {
    color: var(--pd-green);
}

.pd-product-landing .pd-product-landing-related-rations .pd-info-products-title {
    margin: 0 0 36px;
    color: var(--pd-blue);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 100px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: 2px;
    text-align: center;
    text-transform: uppercase;
    transform: none;
}

.pd-product-landing-related-rations .pd-info-product-grid {
    margin-top: 0;
}

.pd-product-landing-related-rations .pd-product-card--related-ration {
    position: relative;
    min-height: 579px;
}

.pd-product-card--related-ration .pd-product-card__link {
    position: relative;
}

.pd-product-card--related-ration .pd-product-card__image {
    height: 396px;
    aspect-ratio: auto;
}

.pd-product-card--related-ration .pd-product-card__weight {
    position: absolute;
    top: 10px;
    right: 8px;
    z-index: 2;
    display: flex;
    width: 50px;
    height: 50px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--pd-blue);
    color: #fff;
    font-size: 12px;
    line-height: 1;
    font-weight: 400;
}

.pd-product-card--related-ration .pd-product-card__price {
    font-size: 16px;
    line-height: 1.45;
    font-weight: 600;
}

.pd-product-card--related-ration .pd-product-card__name {
    margin-top: 0;
    color: var(--pd-green);
    font-size: 20px;
    line-height: 1.35;
    font-weight: 500;
}

.pd-product-card--related-ration .pd-product-card__desc {
    display: block;
    min-height: 0;
    margin-top: 8px;
}

.pd-product-card--related-ration .pd-product-card__actions {
    grid-template-columns: minmax(0, 1fr) 70px;
    width: 100%;
    gap: 8px;
    align-self: stretch;
    padding-top: 22px;
}

.pd-product-card--related-ration .pd-product-card__more {
    grid-column: auto;
    width: 100%;
}

.pd-product-card--related-ration .pd-product-card__status:empty {
    min-height: 0;
    margin-top: 0;
}

/* Кнопка покупки — по ширине «Подробнее» (col1 сетки actions). Только десктоп. */
@media (min-width: 981px) {
    .pd-product-card--related-ration .pd-product-card__actions .pd-cart-ctl,
    .pd-product-card--related-ration .pd-product-card__actions .pd-product-card__buy--text {
        grid-column: 1 / 2;
        width: 100%;
    }
}

@media (max-width: 900px) {
    .pd-product-landing .pd-product-landing-related-rations {
        width: 100vw;
        margin-left: calc(50% - 50vw);
        padding: 54px 10px 0;
    }

    .pd-product-landing .pd-product-landing-related-rations .pd-info-products-title {
        margin-bottom: 36px;
        font-size: 60px;
        line-height: 1;
        transform: none;
    }

    /* «Другие рационы» — тот же размер карточек, что и у каталога выше («Готовые наборы»):
       2 в ряд по 165px, по центру. Раньше тут было minmax(0,1fr) → карточки 360px,
       заметно крупнее блока выше. */
    .pd-product-landing-related-rations .pd-info-product-grid.pd-product-grid {
        grid-template-columns: repeat(2, minmax(0, 165px));
        justify-content: center;
        gap: 40px 20px;
    }

    .pd-product-landing-related-rations .pd-product-card--related-ration {
        min-height: 367px;
    }

    .pd-product-card--related-ration .pd-product-card__image {
        height: auto;
        aspect-ratio: 1 / 1;
    }

    .pd-product-card--related-ration .pd-product-card__image img {
        width: calc(100% - 20px);
        margin: 0 auto;
    }

    .pd-product-card--related-ration .pd-product-card__weight {
        top: 0;
        right: 10px;
        width: 45px;
        height: 44px;
        font-size: 12px;
    }

    .pd-product-card--related-ration .pd-product-card__body {
        padding: 0 10px;
    }

    .pd-product-card--related-ration .pd-product-card__price {
        font-size: 12px;
        line-height: 1.35;
    }

    .pd-product-card--related-ration .pd-product-card__name {
        font-size: 14px;
        line-height: 1.35;
    }

    .pd-product-card--related-ration .pd-product-card__desc {
        display: block;
        margin-top: 8px;
        font-size: 12px;
        line-height: 1.55;
    }

    .pd-product-card--related-ration .pd-product-card__actions {
        grid-template-columns: minmax(0, 1fr) 70px;
        gap: 8px;
        padding-top: 28px;
    }

    .pd-product-card--related-ration .pd-product-card__more,
    .pd-product-card--related-ration .pd-product-card__buy {
        min-height: 50px;
    }

    .pd-product-card--related-ration .pd-product-card__buy {
        width: 70px;
        height: 50px;
    }
}

@media (min-width: 1200px) {
    .pd-product-landing-hero {
        gap: 20px;
        padding: 0 0 32px;
    }

    .pd-product-landing-hero__back {
        display: none;
    }

    .pd-product-landing-hero h1 {
        justify-self: start;
        max-width: none;
        margin: 0 0 -4px 106px;
        gap: 20px;
        transform: none;
    }

    .pd-product-landing-hero h1 .pd-product-landing-hero__cat {
        width: 138px;
        height: 114px;
    }

    .pd-product-landing-hero__stage {
        grid-template-columns: minmax(430px, 0.86fr) minmax(360px, 1fr) minmax(220px, 0.34fr);
        min-height: 420px;
        margin-top: -8px;
    }

    .pd-product-landing-hero__media img {
        width: min(100%, 372px);
        max-height: 442px;
    }

    .pd-product-landing-hero__lead {
        transform: translateX(59px);
    }

    .pd-product-landing-hero__ingredients {
        position: absolute;
        inset: 0;
        grid-column: 1 / -1;
        grid-row: 1;
        display: block;
        align-self: stretch;
        transform: none;
    }

    .pd-product-landing-hero__ingredients span {
        position: absolute;
        width: 215px;
        height: 215px;
    }

    .pd-product-landing-hero__ingredients span:nth-child(1) {
        top: 207px;
        left: 836px;
    }

    .pd-product-landing-hero__ingredients span:nth-child(2) {
        top: 38px;
        left: 963px;
    }

    .pd-product-landing-hero__content {
        display: grid;
        gap: 12px;
        justify-items: center;
    }

    .pd-product-landing-hero__content p {
        max-width: 1060px;
        font-size: 20px;
        line-height: 1.25;
    }

    .pd-product-landing-hero__actions {
        gap: 6px;
        align-items: center;
    }

    .pd-product-landing-hero__actions .pd-info-primary-product__link {
        min-width: 254px;
        min-height: 55px;
        padding: 0 28px;
        font-size: 20px;
    }

    .pd-product-landing-hero__actions .pd-product-landing-hero__buy {
        min-width: 148px;
        padding: 0 18px;
        font-size: 30px;
    }

    .pd-product-landing-hero__content .pd-info-primary-product__status:empty {
        min-height: 0;
    }

    .pd-product-landing-reviews {
        padding: 0 0 15px;
        overflow: visible;
    }

    .pd-product-landing-reviews__heading {
        min-height: 90px;
        justify-content: center;
        text-align: center;
    }

    .pd-product-landing-reviews .pd-product-landing-section-heading h1,
    .pd-product-landing-reviews .pd-product-landing-section-heading h2 {
        color: #b7cdc2;
        font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
        font-size: 100px;
        line-height: 0.85;
        font-weight: 400;
        letter-spacing: 2px;
        text-transform: uppercase;
        transform: none;
    }

    .pd-info-page--product-landing > .pd-container {
        width: min(100% - 40px, 1200px);
    }

    .pd-info-page--product-landing .pd-info-breadcrumbs {
        margin-bottom: 29px;
    }

    .pd-info-page--product-landing .pd-product-landing-hero {
        position: relative;
        display: block;
        height: 790px;
        padding: 0;
    }

    .pd-info-page--product-landing .pd-product-landing-hero h1 {
        position: absolute;
        top: -2px;
        left: 117px;
        width: max-content;
        max-width: none;
        align-items: flex-start;
        gap: 12px;
        margin: 0;
        font-size: 100px;
        line-height: 100px;
        letter-spacing: 2px;
        transform: none;
    }

    .pd-info-page--product-landing .pd-product-landing-hero h1 span {
        display: inline-block;
        margin-top: 0;
        white-space: nowrap;
        transform: none;
    }

    .pd-info-page--product-landing .pd-product-landing-hero h1 .pd-product-landing-hero__cat {
        width: 106px;
        height: 87px;
        flex: 0 0 106px;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__stage {
        position: absolute;
        inset: 0;
        display: block;
        min-height: 0;
        margin: 0;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__lead {
        position: absolute;
        top: 136px;
        left: 93px;
        width: 432px;
        display: block;
        justify-items: stretch;
        text-align: right;
        transform: none;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__lead p {
        width: 100%;
        max-width: none;
        font-size: 30px;
        line-height: 38px;
        font-weight: 400;
        text-align: right;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__lead-accent {
        display: flex;
        justify-content: flex-end;
        height: 38px;
        margin-bottom: 0;
        line-height: 38px;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__lead-rest {
        display: block;
        text-align: right;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__break--desktop {
        display: initial;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__lead strong {
        position: absolute;
        top: 334px;
        left: 386px;
        display: block;
        width: max-content;
        margin: 0;
        font-size: 40px;
        line-height: 62px;
        text-align: left;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__media {
        position: absolute;
        top: 88px;
        left: 526px;
        z-index: 5;
        width: 372px;
        height: 442px;
        display: block;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__media img {
        width: 100%;
        height: 100%;
        max-height: none;
        object-fit: contain;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredients {
        position: absolute;
        inset: 0;
        display: block;
        transform: none;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredients span,
    .pd-info-page--product-landing .pd-product-landing-hero__ingredients span:nth-child(1),
    .pd-info-page--product-landing .pd-product-landing-hero__ingredients span:nth-child(2) {
        position: absolute;
        width: 215px;
        height: 215px;
        border-radius: 30px;
        background: transparent;
        z-index: 3;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredients span::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        border-radius: inherit;
        /* prod's ingredient squares are a pale tint, not a saturated fill — fade to ~prod values */
        opacity: 0.3;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredients span.pd-product-landing-hero__ingredient--supplement {
        top: -2px;
        left: 836px;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredients span.pd-product-landing-hero__ingredient--meat {
        top: 127px;
        left: 978px;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredients span.pd-product-landing-hero__ingredient--vegetable {
        top: 286px;
        left: 846px;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredients span.pd-product-landing-hero__ingredient--supplement::before {
        background: rgb(169, 209, 222);
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredients span.pd-product-landing-hero__ingredient--meat::before {
        background: rgb(255, 143, 119);
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredients span.pd-product-landing-hero__ingredient--vegetable::before {
        background: rgb(183, 205, 194);
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredient--supplement img {
        width: 166px;
        height: 166px;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredient--vegetable img {
        width: 188px;
        height: 188px;
    }

    /* meat-mix uses a distinct, smaller & lower ingredient cluster on production */
    .pd-info-page--meat-myasnoi-mix .pd-product-landing-hero__ingredients span,
    .pd-info-page--meat-myasnoi-mix .pd-product-landing-hero__ingredients span:nth-child(1),
    .pd-info-page--meat-myasnoi-mix .pd-product-landing-hero__ingredients span:nth-child(2) {
        width: 184px;
        height: 184px;
    }

    .pd-info-page--meat-myasnoi-mix .pd-product-landing-hero__ingredients span.pd-product-landing-hero__ingredient--supplement {
        top: 104px;
        left: 830px;
    }

    .pd-info-page--meat-myasnoi-mix .pd-product-landing-hero__ingredients span.pd-product-landing-hero__ingredient--meat {
        top: 170px;
        left: 979px;
    }

    .pd-info-page--meat-myasnoi-mix .pd-product-landing-hero__ingredients span.pd-product-landing-hero__ingredient--vegetable {
        top: 315px;
        left: 862px;
    }

    .pd-info-page--meat-myasnoi-mix .pd-product-landing-hero__ingredient--supplement img {
        width: 144px;
        height: 144px;
    }

    .pd-info-page--meat-myasnoi-mix .pd-product-landing-hero__ingredient--vegetable img {
        width: 160px;
        height: 160px;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredients img {
        position: relative;
        z-index: 4;
        max-width: 100%;
        max-height: 100%;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__content {
        position: absolute;
        top: 547px;
        left: 211px;
        width: 774px;
        display: block;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__content p {
        max-width: none;
        font-size: 16px;
        line-height: 1.2;
        text-align: center;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__actions {
        margin-top: 43px;
        justify-content: center;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__actions .pd-info-primary-product__link {
        font-size: 16px;
        font-weight: 500;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__actions .pd-product-landing-hero__buy {
        gap: 8px;
        width: 148px;
        min-width: 148px;
        padding: 0 10px;
        font-size: 26px;
        font-weight: 400;
        white-space: nowrap;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__actions .pd-product-landing-hero__buy span {
        white-space: nowrap;
    }

    .pd-info-page--dog-ration-product .pd-product-landing-hero h1 {
        max-width: 920px;
        margin-top: -26px;
        font-size: 70px;
    }

    .pd-info-page--dog-ration-product .pd-product-landing-hero__stage {
        margin-top: 0;
    }

    .pd-info-page--dog-ration-product .pd-product-landing-hero__lead {
        transform: translateX(34px);
    }

    .pd-info-page--dog-ration-product .pd-product-landing-hero__lead p {
        max-width: 360px;
        font-size: 24px;
        line-height: 1.18;
    }
}

@media (max-width: 900px) {
    .pd-info-page--product-landing .pd-container {
        width: min(100% - 24px, 640px);
    }

    .pd-product-landing-hero {
        gap: 20px;
        padding: 28px 0 56px;
    }

    .pd-product-landing-hero__back {
        min-width: 94px;
        min-height: 35px;
        border-width: 2px;
        font-size: 18px;
    }

    .pd-product-landing-hero h1 {
        gap: 8px;
        font-size: 60px;
        transform: none;
    }

    .pd-product-landing-hero h1 .pd-product-landing-hero__cat {
        width: 110px;
        height: 91px;
    }

    .pd-product-landing-hero__stage {
        grid-template-columns: 1fr;
        gap: 18px;
        min-height: 0;
    }

    .pd-product-landing-hero__media {
        order: 1;
    }

    .pd-product-landing-hero__media img {
        width: min(100%, 360px);
        max-height: 360px;
    }

    .pd-product-landing-hero__lead {
        order: 2;
    }

    .pd-product-landing-hero__lead p {
        max-width: 100%;
        font-size: 22px;
        line-height: 1.28;
    }

    .pd-product-landing-hero__lead strong {
        font-size: 32px;
    }

    .pd-product-landing-hero__ingredients {
        order: 3;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        justify-items: center;
        transform: none;
    }

    .pd-product-landing-hero__ingredients span {
        width: min(42vw, 150px);
        height: min(42vw, 150px);
        border-radius: 24px;
    }

    .pd-product-landing-hero__content p {
        font-size: 20px;
        line-height: 1.32;
    }

    .pd-product-landing-hero__actions {
        width: 100%;
    }

    .pd-product-landing-hero__actions .pd-info-primary-product__link,
    .pd-product-landing-hero__actions .pd-info-primary-product__link[href*="catalog"] {
        flex: 1 1 100%;
        min-width: 0;
        min-height: 58px;
        font-size: 18px;
    }

    .pd-product-landing-hero__facts {
        width: 100%;
    }

    .pd-product-landing-hero__facts strong {
        width: 100%;
        min-width: 0;
        min-height: 58px;
        font-size: 30px;
    }

    .pd-info-page--product-landing .pd-product-landing-hero {
        gap: 20px;
        padding-bottom: 38px;
    }

    .pd-info-page--product-landing .pd-product-landing-hero h1 {
        justify-content: flex-start;
        align-items: flex-start;
        gap: 13px;
        max-width: none;
        margin-left: 32px;
        margin-right: 0;
        font-size: 53px;
        line-height: 0.92;
        letter-spacing: 2px;
        transform: none;
    }

    .pd-info-page--product-landing .pd-product-landing-hero h1 span {
        display: inline-block;
        width: auto;
        max-width: 232px;
        white-space: normal;
        transform: none;
    }

    .pd-info-page--product-landing .pd-product-landing-hero h1 .pd-product-landing-hero__cat {
        width: 101px;
        height: 83px;
        flex: 0 0 101px;
        margin-top: 2px;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__stage {
        position: relative;
        display: block;
        height: 370px;
        min-height: 0;
        margin: 0;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__media {
        position: absolute;
        top: 10px;
        left: 46px;
        z-index: 5;
        width: 207px;
        height: 246px;
        display: block;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__media img {
        width: 100%;
        height: 100%;
        max-height: none;
        object-fit: contain;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredients {
        position: static;
        display: block;
        transform: none;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredients span,
    .pd-info-page--product-landing .pd-product-landing-hero__ingredients span:nth-child(1),
    .pd-info-page--product-landing .pd-product-landing-hero__ingredients span:nth-child(2) {
        position: absolute;
        display: flex;
        width: 87px;
        height: 87px;
        align-items: center;
        justify-content: center;
        border-radius: 15px;
        background: transparent;
        z-index: 3;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredients span::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        border-radius: inherit;
        /* prod's ingredient squares are a pale tint, not a saturated fill — fade to ~prod values */
        opacity: 0.3;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredients span.pd-product-landing-hero__ingredient--supplement {
        top: 0;
        left: 212px;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredients span.pd-product-landing-hero__ingredient--meat {
        top: 58px;
        left: 265px;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredients span.pd-product-landing-hero__ingredient--vegetable {
        top: 116px;
        left: 212px;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredients span.pd-product-landing-hero__ingredient--supplement::before {
        background: rgb(169, 209, 222);
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredients span.pd-product-landing-hero__ingredient--meat::before {
        background: rgb(255, 143, 119);
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredients span.pd-product-landing-hero__ingredient--vegetable::before {
        background: rgb(183, 205, 194);
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredient--supplement img {
        width: 68px;
        height: 68px;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredient--meat img {
        width: 87px;
        height: 87px;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredient--vegetable img {
        width: 75px;
        height: 75px;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__ingredients img {
        position: relative;
        z-index: 4;
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__lead {
        position: absolute;
        top: 262px;
        left: 35px;
        width: 297px;
        display: block;
        color: var(--pd-product-pink);
        text-align: center;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__lead p {
        max-width: none;
        font-size: 14px;
        line-height: 1.18;
        font-weight: 500;
        text-align: center;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__lead-accent {
        display: inline;
        gap: 4px;
        color: #009ee3;
        font-size: 16px;
        font-weight: 700;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__lead-accent img {
        width: 16px;
        margin-right: 4px;
        vertical-align: -2px;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__lead-rest {
        display: inline;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__break--mobile {
        display: none;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__lead strong {
        position: absolute;
        top: -31px;
        left: 240px;
        display: block;
        width: max-content;
        margin: 0;
        font-size: 33px;
        line-height: 1;
        font-weight: 400;
        text-align: left;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__content {
        display: block;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__content p {
        max-width: 296px;
        margin: 0 auto;
        font-size: 14px;
        line-height: 17px;
        text-align: center;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__actions {
        width: auto;
        margin-top: 25px;
        display: flex;
        flex-wrap: nowrap;
        gap: 7px;
        justify-content: center;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__actions .pd-info-primary-product__link,
    .pd-info-page--product-landing .pd-product-landing-hero__actions .pd-info-primary-product__link[href*="catalog"] {
        flex: 0 0 192px;
        min-width: 192px;
        min-height: 55px;
        padding: 0 18px;
        font-size: 14px;
        font-weight: 700;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__actions .pd-product-landing-hero__buy {
        flex-basis: 121px;
        min-width: 121px;
        width: 121px;
        gap: 8px;
        padding: 0 16px;
        font-size: 28px;
        font-weight: 400;
        white-space: nowrap;
    }

    .pd-info-page--product-landing .pd-product-landing-hero__buy img {
        width: 33px;
        height: 33px;
    }

    .pd-product-landing-reviews,
    .pd-product-landing-ready-sets,
    .pd-product-landing-copy {
        padding: 44px 0;
    }

    .pd-product-landing-reviews {
        padding: 0 0 30px;
        overflow: visible;
    }

    .pd-product-landing-reviews__heading {
        min-height: 150px;
        align-items: center;
        justify-items: center;
        text-align: center;
    }

    .pd-product-landing-section-heading h1,
    .pd-product-landing-section-heading h2,
    .pd-product-landing-ready-sets h2,
    .pd-product-landing-copy h2 {
        font-size: 34px;
    }

    .pd-product-landing-reviews .pd-product-landing-section-heading h1,
    .pd-product-landing-reviews .pd-product-landing-section-heading h2 {
        max-width: 340px;
        font-size: 60px;
        line-height: 0.9;
        letter-spacing: 2px;
        transform: none;
    }

    .pd-product-landing-reviews__heart {
        top: 14px;
        left: 50%;
        width: 26px;
        height: 23px;
        transform: translateX(-50%);
    }

    .pd-product-landing-copy__grid {
        grid-template-columns: 1fr;
    }

    .pd-product-landing-details {
        padding: 36px 0 48px;
    }

    .pd-product-landing-details__grid {
        width: min(100% - 68px, 1163px);
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .pd-product-landing-details__column {
        gap: 28px;
    }

    .pd-product-landing-details__energy {
        max-width: none;
        margin: 0;
        font-size: 18px;
        line-height: 1.12;
    }

    .pd-product-landing-detail-card {
        padding: 0;
    }

    .pd-product-landing-detail-card h3 {
        margin-bottom: 10px;
        font-size: 20px;
        line-height: 1.2;
    }

    .pd-product-landing-detail-card dl div {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
        min-height: 30px;
        padding: 5px 17px;
    }

    .pd-product-landing-detail-card dd {
        text-align: right;
    }

    .pd-product-landing-section-heading {
        display: grid;
        justify-items: start;
    }

    .pd-product-landing-review-grid {
        gap: 10px;
        width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-top: 0;
        padding: 0 20px 2px;
        scroll-padding-left: 20px;
        scroll-padding-right: 20px;
    }

    .pd-product-landing-review {
        height: 480px;
        padding: 30px;
    }

    .pd-product-landing-ready-sets .pd-info-product-grid.pd-product-grid {
        grid-template-columns: repeat(2, minmax(0, 165px));
        justify-content: center;
        gap: 28px 20px;
    }

    .pd-product-landing-ready-sets .pd-product-card--ready-set .pd-product-card__option {
        margin-top: 14px;
        font-size: 12px;
        line-height: 1.5;
    }

    .pd-product-landing-ready-sets .pd-product-card--ready-set .pd-product-card__select {
        height: 32px;
        min-height: 32px;
        padding: 0 34px 0 14px;
        background-position: calc(100% - 15px) 50%;
        background-size: 12px 8px;
        font-size: 12px;
    }

    .pd-product-landing-ready-sets .pd-product-card--ready-set .pd-product-card__actions {
        grid-template-columns: minmax(0, 1fr) 70px;
        gap: 8px;
        padding-top: 30px;
    }

    .pd-product-landing-ready-sets .pd-product-card--ready-set .pd-product-card__more {
        min-height: 50px;
    }

    .pd-product-landing-ready-sets .pd-product-card--ready-set .pd-product-card__buy {
        width: 70px;
        height: 50px;
        min-height: 50px;
    }

    .pd-product-landing-ready-sets .pd-product-card--ready-set .pd-product-card__buy::before {
        width: 24px;
        height: 24px;
    }

    .pd-info-page--product-landing .pd-product-landing-transition {
        min-height: 1030px;
        padding-top: 31px;
    }

    .pd-info-page--product-landing .pd-product-landing-transition h2 {
        width: calc(100% - 28px);
        min-height: 120px;
        margin-bottom: 132px;
        font-size: 60px;
        line-height: 1;
        white-space: normal;
        transform: none;
    }

    .pd-info-page--product-landing .pd-product-landing-transition__photos {
        top: 144px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 209px 10px;
        width: min(320px, calc(100% - 68px));
    }

    .pd-info-page--product-landing .pd-product-landing-transition__steps {
        grid-template-columns: repeat(2, 146px);
        width: 311px;
        max-width: calc(100% - 32px);
        gap: 162px 19px;
    }

    .pd-info-page--product-landing .pd-product-landing-transition__step {
        min-height: 202px;
    }

    .pd-info-page--product-landing .pd-product-landing-transition__day {
        min-height: 36px;
        font-size: 20px;
    }

    .pd-info-page--product-landing .pd-product-landing-transition__mix {
        gap: 15px;
        margin-top: 21px;
    }

    .pd-info-page--product-landing .pd-product-landing-transition__portion strong {
        font-size: 24px;
        line-height: 1.2;
    }

    .pd-info-page--product-landing .pd-product-landing-transition__portion span {
        margin-top: -1px;
        font-size: 14px;
        line-height: 1.3;
    }

    .pd-info-page--product-landing .pd-product-landing-transition__warning {
        width: calc(100% - 12px);
        margin-top: 40px;
    }

    .pd-info-page--product-landing .pd-product-landing-transition__warning > strong {
        font-size: 24px;
        line-height: 1.55;
    }

    .pd-info-page--product-landing .pd-product-landing-transition__warning .pd-info-health-transition__note {
        margin-top: 3px;
        font-size: 16px;
        line-height: 1.55;
    }

    .pd-product-landing-review p {
        margin-top: 10px;
        font-size: 16px;
        line-height: 1.45;
    }

    .pd-product-landing-reviews__action {
        margin-top: 30px;
    }

    .pd-product-landing .pd-product-landing-reviews__action .pd-info-primary-product__link {
        width: 200px;
        min-width: 200px;
        min-height: 44px;
        font-size: 14px;
    }
}

.pd-main > .row.bx-site {
    width: min(100% - 48px, 1200px);
    margin: 42px auto 72px;
}

.pd-main > .row.bx-site > .col-md-9,
.pd-main > .row.bx-site > .col-sm-8 {
    flex: 0 0 100%;
    max-width: 100%;
}

.pd-main > .row.bx-site > .col-md-3,
.pd-main > .row.bx-site > .col-sm-4 {
    display: none;
}

.bx-catalog-element {
    color: var(--pd-green);
}

.bx-catalog-element > .row {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.72fr);
    gap: 42px;
    align-items: start;
}

.bx-catalog-element > .row > [class*="col-"] {
    max-width: none;
    padding: 0;
}

.bx-catalog-element .product-item-detail-slider-container {
    max-width: 620px;
    margin: 0 auto;
}

.bx-catalog-element .product-item-detail-slider-block {
    min-height: 0;
}

.bx-catalog-element .product-item-detail-slider-image img {
    width: 100%;
    max-height: 640px;
    object-fit: contain;
}

.bx-catalog-element .product-item-detail-pay-block {
    display: grid;
    gap: 20px;
    padding: 34px;
    border: 1px solid var(--pd-border);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(31, 91, 66, 0.08);
}

.bx-catalog-element .product-item-detail-title,
.bx-catalog-element h1 {
    margin: 0 0 18px;
    color: var(--pd-blue);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 64px;
    line-height: 0.95;
    font-weight: 700;
    text-transform: uppercase;
}

.bx-catalog-element .product-item-detail-price-current {
    color: var(--pd-green);
    font-family: Roboto, sans-serif;
    font-size: 34px;
    line-height: 1;
    font-weight: 700;
}

.bx-catalog-element .product-item-detail-info-container-title {
    color: var(--pd-green);
    font-size: 14px;
    text-align: left !important;
}

.bx-catalog-element .product-item-amount {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.bx-catalog-element .product-item-amount-field {
    min-width: 54px;
    height: 40px;
    border: 1px solid var(--pd-border);
    border-radius: 999px;
    color: var(--pd-green);
    text-align: center;
}

.bx-catalog-element .product-item-amount-field-btn-minus,
.bx-catalog-element .product-item-amount-field-btn-plus {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--pd-green);
    color: #fff;
}

.bx-catalog-element .btn.btn-primary.product-item-detail-buy-button {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 28px;
    border: 1px solid var(--pd-green);
    border-radius: 999px;
    background: var(--pd-green);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
}

.bx-catalog-element .product-item-detail-tabs-container {
    margin-top: 52px;
}

.bx-catalog-element .product-item-detail-tab-link {
    color: var(--pd-green);
    font-weight: 700;
}

.bx-catalog-element .product-item-detail-tab.active .product-item-detail-tab-link {
    color: var(--pd-blue);
}

.bx-catalog-element .product-item-detail-tab-content {
    color: var(--pd-green);
    font-size: 16px;
    line-height: 1.55;
}

/* Set / product detail page — mirrors the pet-diet.ru Tilda product page:
   image on a soft colour panel + a clean info column (teal title-case heading, grey
   sub-heading, «Количество:» dropdown, green cart circle, lead, composition). */
.pd-catalog-detail {
    width: min(100% - 48px, 1100px);
    margin: 30px auto 80px;
    color: var(--pd-green);
}

.pd-catalog-detail .pd-info-breadcrumbs {
    margin-bottom: 22px;
}

.pd-catalog-detail__hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 48px;
    align-items: start;
}

.pd-catalog-detail__media {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 38px;
    border-radius: 24px;
    background: #fbe0db;
}

.pd-catalog-detail__media img {
    width: 100%;
    max-width: 470px;
    max-height: 470px;
    object-fit: contain;
}

.pd-catalog-detail__panel {
    display: grid;
    gap: 18px;
    padding: 6px 0 0;
    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.pd-catalog-detail__panel h1 {
    margin: 0;
    color: var(--pd-green);
    font-family: Inter, Roboto, sans-serif;
    font-size: 24px;
    line-height: 1.25;
    font-weight: 500;
    text-transform: none;
}

.pd-catalog-detail__subtitle {
    margin: -10px 0 0;
    color: #777;
    font-size: 14px;
    line-height: 1.3;
}

.pd-catalog-detail__price {
    margin-top: 2px;
    color: var(--pd-green);
    font-size: 24px;
    line-height: 1;
    font-weight: 700;
}

/* «Количество:» + dropdown — same pill select as the list card */
.pd-catalog-detail__option {
    display: grid;
    gap: 8px;
    margin: 0;
    /* по ширине кнопки «Добавить в корзину» (.pd-catalog-detail__buyrow .pd-cart-ctl = 340px) */
    max-width: 340px;
    color: var(--pd-green);
    font-size: 14px;
    cursor: default;
}

.pd-catalog-detail__select {
    width: 100%;
    height: 44px;
    min-height: 44px;
    padding: 0 46px 0 22px;
    border: 2px solid var(--pd-green);
    border-radius: 50px;
    appearance: none;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%231f5b42' stroke-width='2'/%3E%3C/svg%3E") no-repeat calc(100% - 20px) 50% / 14px 9px;
    color: #000;
    font: inherit;
    font-size: 15px;
    cursor: pointer;
}

.pd-catalog-detail__buyrow {
    margin-top: 2px;
}

/* Двухсостоянийный контрол корзины на детальной странице товара (как на карточках). */
.pd-catalog-detail__buyrow .pd-cart-ctl {
    width: 100%;
    max-width: 340px;
}

/* Тот же контрол в крупных CTA-героях (стартовый набор категории, primary). */
.pd-info-category-feature__buy .pd-cart-ctl,
.pd-info-primary-product__actions .pd-cart-ctl {
    width: 100%;
    max-width: 320px;
}
/* Лендинг рациона: контрол фиксированной ширины, чтобы цена встала в ОДНУ строку рядом с ним. */
.pd-product-landing-hero__actions .pd-cart-ctl {
    width: 300px;
    max-width: 100%;
}

/* Контрол в позиционированном артборде (welcome): занимаем слот, «в корзине» — в столбик,
   чтобы степпер не вылезал за узкий слот (слот растёт по min-height). */
.pd-info-el--button .pd-cart-ctl { width: 100%; }
.pd-info-el--button .pd-cart-ctl__incart { flex-direction: column; }
.pd-info-el--button .pd-cart-ctl__in,
.pd-info-el--button .pd-cart-ctl__stepper { width: 100%; }
.pd-info-el--button .pd-cart-ctl__stepper { grid-template-columns: 48px 1fr 48px; }

.pd-catalog-detail__buy {
    width: 56px;
    height: 56px;
    min-height: 56px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--pd-green);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-transform: none;
}

.pd-catalog-detail__buy::before {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background: url("/local/tilda-home/images/tild6334-3163-4439-a534-653938656230__cart.svg") center / contain no-repeat;
    filter: brightness(0) invert(1);
}

.pd-catalog-detail__buy--text {
    width: auto;
    height: 52px;
    border-radius: 50px;
    padding: 0 28px;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
}

.pd-catalog-detail__buy--text::before {
    display: none;
}

.pd-catalog-detail__buy:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

.pd-catalog-detail__status {
    color: var(--pd-green);
    font-size: 13px;
}

.pd-catalog-detail__status:empty {
    display: none;
}

.pd-catalog-detail__lead {
    margin: 6px 0 0;
    color: var(--pd-green);
    font-size: 16px;
    line-height: 1.5;
}

.pd-catalog-detail__section {
    max-width: 820px;
    margin-top: 40px;
}

.pd-catalog-detail__text {
    margin: 0;
    color: var(--pd-green);
    font-size: 16px;
    line-height: 1.6;
}

.pd-catalog-detail__text p {
    margin: 0 0 14px;
}

.pd-catalog-detail__text ul,
.pd-catalog-detail__text ol {
    margin: 0 0 14px;
    padding-left: 20px;
}

.pd-catalog-detail__text li {
    margin: 0 0 5px;
}

/* «Смотрите также» — sibling sets rendered as the list SET card (4-up on prod) */
.pd-catalog-detail__related {
    margin-top: 64px;
}

.pd-catalog-detail__related > h2 {
    margin: 0 0 36px;
    color: var(--pd-green);
    font-family: Inter, Roboto, sans-serif;
    font-size: 26px;
    line-height: 1.2;
    font-weight: 600;
}

.pd-catalog-detail__related .pd-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 44px 24px;
}

.pd-catalog-detail__related .pd-product-card--ready-set {
    width: 100%;
    min-width: 0;
}

.pd-catalog-detail__related .pd-product-card__name {
    color: var(--pd-green);
}

.pd-catalog-detail__related .pd-product-card__price {
    font-size: 16px;
    line-height: 1.35;
    font-weight: 700;
}

.pd-catalog-detail__related .pd-product-card__image {
    width: 100%;
    aspect-ratio: 1 / 1;
}

.pd-catalog-detail__related .pd-product-card--ready-set .pd-product-card__option {
    order: 4;
    display: grid;
    gap: 0;
    margin-top: 18px;
    color: var(--pd-green);
    font-size: 14px;
    line-height: 1.8;
}

.pd-catalog-detail__related .pd-product-card--ready-set .pd-product-card__select {
    width: 100%;
    height: 38px;
    min-height: 38px;
    padding: 0 44px 0 20px;
    border: 2px solid var(--pd-green);
    border-radius: 50px;
    appearance: none;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%231f5b42' stroke-width='2'/%3E%3C/svg%3E") no-repeat calc(100% - 18px) 50% / 14px 9px;
    color: #000;
    font: inherit;
    font-size: 14px;
}

.pd-catalog-detail__related .pd-product-card--ready-set .pd-product-card__actions {
    order: 5;
    grid-template-columns: minmax(0, 1fr) 70px;
    width: calc(100% - 8px);
    gap: 8px;
    align-self: flex-start;
    padding-top: 20px;
}

.pd-catalog-detail__related .pd-product-card--ready-set .pd-product-card__more {
    grid-column: auto;
    width: 100%;
}

.pd-catalog-detail__related .pd-product-card--ready-set .pd-product-card__status {
    order: 6;
}

/* Селект и кнопки покупки — по ширине кнопки «Подробнее» (= col1 сетки actions). Десктоп. */
@media (min-width: 981px) {
    .pd-catalog-detail__related .pd-product-card--ready-set .pd-product-card__select {
        width: calc(100% - 86px);
    }
    .pd-catalog-detail__related .pd-product-card--ready-set .pd-product-card__actions .pd-cart-ctl,
    .pd-catalog-detail__related .pd-product-card--ready-set .pd-product-card__actions .pd-product-card__buy--text {
        grid-column: 1 / 2;
        width: 100%;
    }
}

@media (max-width: 980px) {
    .pd-catalog-detail {
        width: min(100% - 32px, 760px);
        margin-top: 28px;
    }

    /* related set cards = the /nabori-dlya-koshek/ MOBILE card (14px name, 12px select, 70×50 cart) */
    .pd-catalog-detail__related .pd-product-grid {
        grid-template-columns: repeat(2, minmax(0, 200px));
        justify-content: center;
        gap: 40px 18px;
    }

    .pd-catalog-detail__related .pd-product-card__name {
        font-size: 14px;
        line-height: 18.9px;
    }

    .pd-catalog-detail__related .pd-product-card--ready-set .pd-product-card__option {
        margin-top: 14px;
        font-size: 12px;
        line-height: 1.5;
    }

    .pd-catalog-detail__related .pd-product-card--ready-set .pd-product-card__select {
        height: 32px;
        min-height: 32px;
        padding: 0 32px 0 14px;
        background-position: calc(100% - 14px) 50%;
        background-size: 12px 8px;
        font-size: 12px;
    }

    .pd-catalog-detail__related .pd-product-card--ready-set .pd-product-card__actions {
        padding-top: 22px;
    }

    .pd-catalog-detail__related .pd-product-card--ready-set .pd-product-card__more {
        min-height: 50px;
    }

    .pd-catalog-detail__related .pd-product-card--ready-set .pd-product-card__buy {
        width: 70px;
        height: 50px;
        min-height: 50px;
    }

    .pd-catalog-detail__related .pd-product-card--ready-set .pd-product-card__buy::before {
        width: 24px;
        height: 24px;
    }

    .pd-catalog-detail__hero {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .pd-catalog-detail__media {
        min-height: 0;
    }

    .pd-catalog-detail__media img {
        width: min(100%, 520px);
        max-height: 560px;
    }
}

@media (max-width: 640px) {
    .pd-catalog-detail {
        width: min(100% - 24px, 390px);
        margin: 22px auto 52px;
    }

    .pd-catalog-detail__hero {
        gap: 22px;
    }

    .pd-catalog-detail__media {
        padding: 24px;
        border-radius: 18px;
    }

    .pd-catalog-detail__media img {
        width: 100%;
        max-height: 320px;
    }

    .pd-catalog-detail__panel h1 {
        font-size: 22px;
    }

    .pd-catalog-detail__price {
        font-size: 22px;
    }

    .pd-catalog-detail__section {
        margin-top: 32px;
    }

    .pd-catalog-detail__related {
        margin-top: 44px;
    }

    .pd-catalog-detail__related > h2 {
        margin-bottom: 24px;
        font-size: 22px;
    }

    .pd-catalog-detail__related .pd-product-grid {
        gap: 34px 14px;
    }
}

.pd-info-contacts {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
    min-height: 620px;
}

.pd-info-contacts__panel {
    padding: 76px 64px;
    background: var(--pd-blue);
    color: #fff;
}

.pd-info-contacts__panel h1 {
    margin: 0 0 28px;
    color: #fff;
    font-size: 42px;
    line-height: 0.95;
    font-weight: 700;
}

.pd-info-contacts__panel p {
    margin: 0 0 24px;
    color: #fff;
    font-size: 18px;
    line-height: 1.35;
}

.pd-info-contacts__lead {
    font-size: 24px !important;
    line-height: 1.25 !important;
}

.pd-info-contacts__lead a {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.pd-info-contacts__legal {
    font-size: 13px !important;
}

.pd-info-contacts__map {
    min-height: 620px;
    padding: 0;
    background: #eef5f7;
    color: var(--pd-green);
    overflow: hidden;
}

.pd-info-contacts__map iframe,
.pd-info-delivery-map iframe {
    display: block;
    width: 100%;
    border: 0;
}

.pd-info-contacts__map iframe {
    min-height: 620px;
}

.pd-info-delivery-map {
    width: min(1160px, calc(100% - 40px));
    margin: 0 auto 24px;
    overflow: hidden;
    background: #eef5f7;
}

.pd-info-delivery-actions {
    width: min(1160px, calc(100% - 40px));
    margin: 0 auto 80px;
    text-align: center;
}

.pd-info-delivery {
    display: grid;
    gap: 34px;
    max-width: 1160px;
    margin: 0 auto;
}

.pd-info-delivery__intro {
    display: grid;
    gap: 24px;
    padding: 42px;
    border-radius: 8px;
    background: #fff;
    color: var(--pd-green);
}

.pd-info-delivery__intro h1,
.pd-info-delivery__intro h2,
.pd-info-delivery__intro p {
    margin: 0;
}

.pd-info-delivery__intro h1 {
    color: var(--pd-blue);
    font-family: Roboto, sans-serif;
    font-size: 42px;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
}

.pd-info-delivery__lead {
    font-size: 28px;
    line-height: 1.25;
    font-weight: 700;
}

.pd-info-delivery__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.pd-info-delivery__grid article {
    display: grid;
    gap: 12px;
    align-content: start;
    padding: 24px;
    border: 1px solid var(--pd-border);
    border-radius: 8px;
}

.pd-info-delivery__grid h2 {
    color: var(--pd-blue);
    font-size: 22px;
    line-height: 1.15;
}

.pd-info-delivery__grid p,
.pd-info-delivery__note {
    font-size: 16px;
    line-height: 1.45;
}

.pd-info-contacts__map b,
.pd-info-contacts__map span {
    display: none;
}

.pd-info-contacts__map b {
    margin-bottom: 10px;
    font-size: 24px;
}

.pd-info-page__map-note {
    max-width: 980px;
    min-height: 320px;
    margin: 0 auto;
    padding: 48px 64px;
    background: #eef5f7;
    color: var(--pd-green);
}

.pd-info-page__map-note b,
.pd-info-page__map-note span {
    display: block;
}

.pd-info-page__map-note b {
    margin-bottom: 10px;
    font-size: 24px;
}

/* Breadcrumbs are shown site-wide to match prod (prod shows them on every page). */

/* …except the health hub + FAQ, which prod renders without a visible breadcrumb. */
.pd-info-page--health-hub .pd-info-breadcrumbs,
.pd-faq-breadcrumbs {
    visibility: hidden !important;
    pointer-events: none !important;
}

@media (min-width: 1200px) {
    .pd-info-page--calculator .pd-calculator {
        padding-top: 11px !important;
    }
}

/* Product landing — bottom content sections (promo / SEO / advantages / delivery) */
.pd-product-landing-promo,
.pd-product-landing-seo {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    background: #f1f5f8;
    text-align: center;
}

.pd-product-landing-promo {
    padding: 60px 0;
    margin-top: 10px;
}

.pd-product-landing-promo p {
    width: min(1100px, calc(100% - 64px));
    margin: 0 auto;
    color: var(--pd-green);
    font-size: 18px;
    line-height: 1.22;
}

.pd-product-landing-seo {
    padding: 58px 0 64px;
    margin-top: 40px;
}

.pd-product-landing-seo__title {
    margin: 0 0 22px;
    color: var(--pd-blue);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 66px;
    line-height: 1.02;
    font-weight: 400;
    letter-spacing: 1px;
    text-align: center;
    text-transform: uppercase;
    transform: none;
}

.pd-product-landing-seo__text {
    width: min(1020px, calc(100% - 64px));
    margin: 0 auto;
    color: var(--pd-green);
    font-size: 18px;
    line-height: 1.22;
}

.pd-product-landing-advantages {
    padding: 72px 0 16px;
    text-align: center;
}

.pd-product-landing-advantages__title {
    max-width: 1160px;
    margin: 0 auto 36px;
    color: #cda077;
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 100px;
    line-height: 0.9;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
    transform: none;
}

.pd-product-landing-advantages__stage {
    container-type: inline-size;
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 18px auto 0;
    aspect-ratio: var(--pd-adv-w, 1200) / var(--pd-adv-h, 500);
}

.pd-product-landing-advantages__img,
.pd-product-landing-advantages__block {
    position: absolute;
    left: calc(var(--l, 0) / var(--pd-adv-w, 1200) * 100%);
    top: calc(var(--t, 0) / var(--pd-adv-h, 500) * 100%);
    width: calc(var(--w, 100) / var(--pd-adv-w, 1200) * 100%);
    margin: 0;
}

.pd-product-landing-advantages__img {
    height: auto;
}

.pd-product-landing-advantages__block {
    text-align: center;
}

.pd-product-landing-advantages__block p {
    margin: 0;
    color: var(--pd-green);
    font-size: 16px;
    font-size: calc(16 / 1200 * 100cqw);
    line-height: 1.25;
}

.pd-product-landing-advantages__heart {
    display: block;
    margin: 8px 0;
    color: var(--pd-blue);
    font-size: 14px;
    font-size: calc(14 / 1200 * 100cqw);
    line-height: 1;
}

.pd-product-landing-order {
    padding: 44px 0 10px;
}

.pd-product-landing-order .pd-info-category-button {
    background: var(--pd-green);
    color: #fff;
}

.pd-product-landing-order .pd-info-category-order-card:last-child .pd-info-category-button {
    background: transparent;
    color: var(--pd-green);
}

.pd-product-landing-order .pd-info-category-order-card:last-child .pd-info-category-button:hover,
.pd-product-landing-order .pd-info-category-order-card:last-child .pd-info-category-button:focus-visible {
    background: var(--pd-green);
    color: #fff;
}

.pd-product-landing-order h2 {
    max-width: none;
    margin: 0 0 8px;
    color: var(--pd-green);
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 100px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
    transform: none;
}

@media (max-width: 900px) {
    .pd-product-landing-promo {
        padding: 40px 0;
    }

    .pd-product-landing-seo {
        padding: 40px 0 44px;
    }

    .pd-product-landing-promo p,
    .pd-product-landing-seo__text {
        width: min(100% - 32px, 640px);
        font-size: 16px;
    }

    .pd-product-landing-seo__title {
        max-width: 340px;
        margin-left: auto;
        margin-right: auto;
        font-size: 36px;
        letter-spacing: 1px;
        transform: none;
    }

    .pd-product-landing-advantages {
        padding: 44px 0 8px;
    }

    .pd-product-landing-advantages__title {
        max-width: 260px;
        font-size: 39px;
        transform: none;
    }

    .pd-product-landing-advantages__stage {
        container-type: normal;
        aspect-ratio: auto;
        max-width: 460px;
        margin: 0 auto;
        display: block;
        text-align: center;
    }

    .pd-product-landing-advantages__img,
    .pd-product-landing-advantages__block {
        position: static;
        left: auto;
        top: auto;
        width: 100%;
    }

    .pd-product-landing-advantages__img {
        display: inline-block;
        width: auto;
        max-width: 92px;
        max-height: 84px;
        margin: 0 8px 18px;
        vertical-align: middle;
    }

    .pd-product-landing-advantages__block {
        margin-bottom: 22px;
    }

    .pd-product-landing-advantages__block p {
        font-size: 15px;
    }

    .pd-product-landing-advantages__heart {
        font-size: 14px;
        margin: 10px 0;
    }

    .pd-product-landing-order {
        padding: 30px 0 0;
    }

    .pd-product-landing-order h2 {
        font-size: 45px;
        letter-spacing: 1px;
        transform: none;
    }

    .pd-product-landing-order .pd-info-category-order__cards {
        grid-template-columns: 1fr;
        gap: 4px;
        max-width: 340px;
        margin: 24px auto 26px;
    }

    .pd-product-landing-order .pd-info-category-order-card {
        gap: 14px;
    }

    .pd-product-landing-order .pd-info-category-order-card img {
        height: 150px;
    }

    .pd-product-landing-order .pd-info-category-order-card h3 {
        font-size: 30px;
    }

    .pd-product-landing-order .pd-info-category-order-card p {
        min-height: 0;
        font-size: 16px;
    }

    .pd-product-landing-order .pd-info-category-button {
        min-width: 220px;
        min-height: 48px;
        padding: 0 24px;
        font-size: 15px;
    }
}

/* Ready-sets heading — per-meat accent color, uppercase (production parity) */
.pd-product-landing-ready-sets h2 {
    color: var(--pd-product-pink, var(--pd-blue));
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 100px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: 2px;
    text-align: center;
    text-transform: uppercase;
    transform: none;
    margin: 0 0 30px;
}

@media (max-width: 900px) {
    .pd-product-landing-ready-sets h2 {
        font-size: 60px;
        margin-bottom: 22px;
        transform: none;
    }
}

/* Health-conditions hub hero (/s-osobennostyami-zdorovya/) — photo + heading + condition pills */
.pd-info-page--health-hub .pd-info-health-hub-hero {
    display: grid;
    grid-template-columns: minmax(300px, 487px) minmax(440px, 1fr);
    gap: 50px;
    align-items: center;
    padding: 30px 0 64px;
}

.pd-info-health-hub-hero__media img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 24px;
}

.pd-info-health-hub-hero__title {
    margin: 0 0 24px;
    max-width: 600px;
    color: #a9d1de;
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
    font-size: 72px;
    line-height: 0.95;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.pd-info-health-hub-hero__text {
    margin: 0 0 30px;
    max-width: 620px;
    color: var(--pd-green);
    font-size: 16px;
    line-height: 1.5;
}

.pd-info-health-hub-hero__conditions {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    max-width: 1035px;
    margin: 14px auto 0;
    padding: 0;
    list-style: none;
}

.pd-info-health-hub-hero__conditions a {
    display: inline-block;
    padding: 10px 29px;
    border-radius: 30px;
    background: #a9d1de;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.pd-info-health-hub-hero__conditions a:hover,
.pd-info-health-hub-hero__conditions a:focus-visible {
    opacity: 0.85;
}

@media (max-width: 900px) {
    .pd-info-page--health-hub .pd-info-health-hub-hero {
        grid-template-columns: 1fr;
        gap: 26px;
        padding: 16px 0 40px;
    }

    .pd-info-health-hub-hero__title {
        font-size: 44px;
    }

    .pd-info-health-hub-hero__conditions a {
        padding: 9px 22px;
        font-size: 15px;
    }
}

/* Hub lower-section headings: prod = Extenda UPPERCASE with per-section accent colors + sizes */
.pd-info-page--health-hub .pd-info-el--hub-heading {
    font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif !important;
    letter-spacing: 2px;
    text-transform: uppercase;
    line-height: 0.95;
}

.pd-info-page--health-hub .pd-info-page__records > .pd-info-record:nth-of-type(1) .pd-info-el--hub-heading {
    --pd-info-el-color: #a9d1de;
    font-size: 66px !important;
    color: #a9d1de;
}

.pd-info-page--health-hub .pd-info-page__records > .pd-info-record:nth-of-type(2) .pd-info-el--hub-heading {
    --pd-info-el-color: #cda077;
    font-size: 100px !important;
    color: #cda077;
}

.pd-info-page--health-hub .pd-info-page__records > .pd-info-record:nth-of-type(4) .pd-info-el--hub-heading {
    --pd-info-el-color: #b7cdc2;
    font-size: 100px !important;
    color: #b7cdc2;
}

.pd-info-page--health-hub .pd-info-page__records > .pd-info-record:nth-of-type(6) .pd-info-el--hub-heading,
.pd-info-page--health-hub .pd-info-page__records > .pd-info-record:nth-of-type(7) .pd-info-el--hub-heading {
    --pd-info-el-color: #a9d1de;
    font-size: 100px !important;
    color: #a9d1de;
}

/* «Нормы кормления» (record 3) stays Inter, mixed-case on prod */
.pd-info-page--health-hub .pd-info-page__records > .pd-info-record:nth-of-type(3) .pd-info-el--hub-heading {
    font-family: Inter, Roboto, sans-serif !important;
    letter-spacing: 0;
    text-transform: none;
}

/* «Все корма Pet Diet» heading is teal/regular on prod (not green/bold) — all cat-health pages */
.pd-info-page--cat-health .pd-info-health-all-products h2 {
    color: #a9d1de;
    font-weight: 400;
}

/* ===== Hub: match prod fonts/weights/colors element-by-element ===== */
/* Section headings «Как выбрать…» / «Натуральное питание…» are bold on prod */
.pd-info-page--health-hub .pd-info-health-section h2 {
    font-weight: 700;
}

/* «Нормы кормления» title is extra-bold (w800) on prod — all cat-health pages (hub + conditions) */
.pd-info-page--cat-health .pd-info-health-feeding h2 {
    font-weight: 800;
}

/* Feeding table: prod = teal text header on white, grey body, horizontal separators only */
.pd-info-page--cat-health .pd-info-health-table {
    color: #4d4c4c;
}

.pd-info-page--cat-health .pd-info-health-table th,
.pd-info-page--cat-health .pd-info-health-table td {
    border: 0;
    border-bottom: 1px solid #e6e6e6;
}

.pd-info-page--cat-health .pd-info-health-table th {
    background: transparent;
    color: #a9d1de;
}

/* Prod zebra-stripes the data rows (1st white, 2nd #eee, …) */
.pd-info-page--cat-health .pd-info-health-table tbody tr:nth-child(even) {
    background: #eee;
}

/* Transition timeline text is Inter on prod (was Roboto) */
.pd-info-page--cat-health .pd-info-health-transition__day,
.pd-info-page--cat-health .pd-info-health-transition__portion strong,
.pd-info-page--cat-health .pd-info-health-transition__portion span {
    font-family: Inter, Roboto, sans-serif;
}

/* «Все корма» product-card titles are Inter w500 green on prod (not teal/bold) */
.pd-info-page--health-hub .pd-info-health-all-products .pd-product-card__name {
    color: var(--pd-green);
    font-weight: 500;
}

/* Hub reviews: prod's image carousel — 14 reviews, landscape slides on desktop,
   portrait on mobile (each slide is prod's baked review image: text + pet + stars). */
.pd-hub-reviews {
    text-align: center;
}

.pd-hub-reviews__slider {
    position: relative;
    width: 1208px;
    max-width: 100%;
    margin: 36px auto 0;
}

.pd-hub-reviews__viewport {
    overflow: hidden;
}

.pd-hub-reviews__track {
    display: flex;
    transition: transform 0.5s ease;
    will-change: transform;
}

.pd-hub-review-slide {
    flex: 0 0 100%;
    aspect-ratio: 1208 / 553;
    background-image: var(--rev-d);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.pd-hub-reviews__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background-color: rgba(31, 91, 66, 0.5);
    cursor: pointer;
    z-index: 2;
    transition: background-color 0.2s ease;
}

.pd-hub-reviews__arrow:hover,
.pd-hub-reviews__arrow:focus-visible {
    background-color: rgba(31, 91, 66, 0.75);
}

.pd-hub-reviews__arrow::before {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

.pd-hub-reviews__arrow--prev {
    left: 20px;
}

.pd-hub-reviews__arrow--prev::before {
    transform: rotate(-135deg);
    margin-left: 3px;
}

.pd-hub-reviews__arrow--next {
    right: 20px;
}

.pd-hub-reviews__arrow--next::before {
    transform: rotate(45deg);
    margin-right: 3px;
}

.pd-hub-reviews__action {
    display: flex;
    justify-content: center;
    margin-top: 30px;
}

.pd-hub-reviews .pd-hub-reviews__action .pd-info-primary-product__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 254px;
    min-width: 254px;
    min-height: 55px;
    border-radius: 30px;
    background: var(--pd-green);
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    text-decoration: none;
}

@media (max-width: 900px) {
    .pd-hub-review-slide {
        background-image: var(--rev-m);
        aspect-ratio: 684 / 1170;
    }
}

/* Product-card hover image swap (prod cards reveal the product's 2nd photo on hover) */
.pd-product-card__image {
    position: relative;
}

.pd-product-card__img {
    transition: opacity 0.35s ease;
}

.pd-product-card__img--hover {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    opacity: 0;
    transition: opacity 0.35s ease;
    pointer-events: none;
}

.pd-product-card:hover .pd-product-card__img--hover,
.pd-product-card:focus-within .pd-product-card__img--hover {
    opacity: 1;
}

@media (hover: none) {
    .pd-product-card__img--hover {
        display: none;
    }
}

/* Dog-treat product pages (/lakomstva-dlya-sobak/...): Tilda-style photo cover hero */
.pd-treats-product-hero {
    position: relative;
    min-height: 560px;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    background-image: var(--pd-treats-product-hero-image);
    background-size: cover;
    background-position: center;
}

.pd-treats-product-hero__panel {
    margin: 0 7vw 70px 0;
    padding: 16px 30px;
    background: rgba(169, 209, 222, 0.5);
    text-align: left;
}

.pd-treats-product-hero__kicker {
    margin-bottom: 6px;
    color: #fff;
    font-family: Inter, Roboto, sans-serif;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.pd-treats-product-hero__title {
    margin: 0;
    color: #fff;
    font-family: Inter, Roboto, sans-serif;
    font-size: 30px;
    line-height: 1.1;
    font-weight: 400;
}

.pd-treats-product-breadcrumbs {
    width: min(1200px, calc(100% - 64px));
    margin: 18px auto 0;
}

@media (max-width: 900px) {
    .pd-treats-product-hero {
        min-height: 360px;
    }

    .pd-treats-product-hero__panel {
        margin: 0 16px 24px;
        padding: 14px 20px;
    }

    .pd-treats-product-hero__title {
        font-size: 24px;
    }
}

/* Per-meat hero veg-square colour (prod): kuritsa orange, mix lavender, others mint */
.pd-info-page--meat-kuritsa .pd-product-landing-hero__ingredients span.pd-product-landing-hero__ingredient--vegetable::before {
    background: rgb(246, 180, 42);
}

.pd-info-page--meat-myasnoi-mix .pd-product-landing-hero__ingredients span.pd-product-landing-hero__ingredient--vegetable::before {
    background: rgb(206, 189, 219);
}

/* Лендинг рациона — мобильный: цена + кнопка покупки в ОДНОЙ строке,
   «Подробный состав» — ОТДЕЛЬНОЙ строкой ниже (через flex order, т.к. в DOM ссылка идёт первой). */
@media (max-width: 640px) {
    .pd-product-landing-hero__actions,
    .pd-info-page--product-landing .pd-product-landing-hero__actions { flex-wrap: wrap; align-items: center; }
    .pd-product-landing-hero__price { font-size: 26px; order: 1; }
    .pd-product-landing-hero__actions .pd-cart-ctl { order: 2; width: auto; flex: 1 1 auto; max-width: none; }
    .pd-product-landing-hero__actions .pd-info-primary-product__link:not(.pd-info-primary-product__link--buy),
    .pd-info-page--product-landing .pd-product-landing-hero__actions .pd-info-primary-product__link:not(.pd-info-primary-product__link--buy) {
        order: 3;
        flex: 1 1 100%;
        min-height: 45px;
        font-size: 15px;
    }
}

/* «Подробный состав» в герое рациона: высота 45px (как кнопки покупки) на всех ширинах. */
.pd-product-landing-hero .pd-product-landing-hero__actions .pd-info-primary-product__link {
    min-width: 0;
    min-height: 45px;
    padding: 0 22px;
    font-size: 16px;
}

/* Карточки наборов на мобильном (<=980): карточки узкие (2-в-ряд ~165–180px), поэтому
   ширина col1 «Подробнее» (~80–94px) обрезала бы текст селекта/кнопки. Здесь делаем всё
   на полную ширину — «Подробнее», селект и контрол корзины выравниваются по карточке.
   (На десктопе >=981px действует обратное правило — всё по ширине «Подробнее».) */
@media (max-width: 980px) {
    .pd-info-page--cat-sets .pd-product-card--ready-set .pd-product-card__actions,
    .pd-product-landing-ready-sets .pd-product-card--ready-set .pd-product-card__actions,
    .pd-catalog-detail__related .pd-product-card--ready-set .pd-product-card__actions,
    .pd-product-card--related-ration .pd-product-card__actions {
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
    }
    .pd-info-page--cat-sets .pd-product-card--ready-set .pd-product-card__more,
    .pd-product-landing-ready-sets .pd-product-card--ready-set .pd-product-card__more,
    .pd-catalog-detail__related .pd-product-card--ready-set .pd-product-card__more,
    .pd-product-card--related-ration .pd-product-card__more {
        grid-column: 1 / -1;
        width: 100%;
    }
    .pd-info-page--cat-sets .pd-product-card--ready-set .pd-product-card__select,
    .pd-product-landing-ready-sets .pd-product-card--ready-set .pd-product-card__select,
    .pd-catalog-detail__related .pd-product-card--ready-set .pd-product-card__select {
        width: 100%;
    }
}

/* Страницы здоровья/условий: кнопки «Подробнее» в один ряд на ВСЁМ не-десктопе (<=980,
   где сетка переходит в 2-в-ряд). Top-anchor (margin-top, НЕ auto) + одинаковая высота
   контента (имя — резерв 2 строк, описание подрезано до 4 строк) → «Подробнее» НЕ меняет
   положение при добавлении товара в корзину (степпер растёт ВНИЗ) и выровнен по всем
   карточкам ряда. Раньше это действовало только до 900px → в 901–980px кнопки магнитились
   к нижнему краю. Специфичность 3 класса перебивает базовое .pd-product-card__actions{auto}. */
@media (max-width: 980px) {
    .pd-info-page--health-category .pd-info-health-products .pd-product-card,
    .pd-info-page--health-category .pd-info-health-all-products .pd-product-card,
    .pd-info-page--cat-rations .pd-info-category-products .pd-product-card {
        min-height: 0;
    }
    .pd-info-page--health-category .pd-info-health-products .pd-product-card__name,
    .pd-info-page--health-category .pd-info-health-all-products .pd-product-card__name,
    .pd-info-page--cat-rations .pd-info-category-products .pd-product-card__name {
        /* фикс ВЫСОТЫ имени = ровно 2 строки. Длинные имена («Стартовый набор для кошек»)
           на узких карточках (4-в-ряд) разворачивались в 3–4 строки и опускали кнопки.
           max-height+overflow держит 2 строки независимо от display (на <a> line-clamp
           не срабатывал — display вычислялся как flow-root). */
        min-height: 37.8px;
        max-height: 37.8px;
        overflow: hidden;
    }
    .pd-info-page--health-category .pd-info-health-products .pd-product-card__desc,
    .pd-info-page--health-category .pd-info-health-all-products .pd-product-card__desc,
    .pd-info-page--cat-rations .pd-info-category-products .pd-product-card__desc {
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
        overflow: hidden;
        min-height: 64px;
        font-size: 12px;
        line-height: 16px;
    }
    .pd-info-page--health-category .pd-info-health-products .pd-product-card__actions,
    .pd-info-page--health-category .pd-info-health-all-products .pd-product-card__actions,
    .pd-info-page--cat-rations .pd-info-category-products .pd-product-card__actions {
        margin-top: 18px;
    }
}

/* End */


/* Start:/local/templates/petdiet/css/sections-footer.css?17810965445961*/
.pd-faq-heading-section {
    padding: 40px 0 14px;
    background: #f1f5f8;
}

.pd-faq-section {
    padding: 0 0 45px;
    background: #f1f5f8;
}

.pd-faq-title {
    max-width: 1160px;
    margin: 0 auto;
    text-align: center;
}

.pd-faq {
    max-width: 1160px;
    margin: 0 auto;
}

.pd-faq details {
    margin-bottom: 8px;
    border-top: 0;
    border-radius: 999px;
    background: #fff;
    overflow: hidden;
}

.pd-faq details:last-of-type {
    border-bottom: 0;
    margin-bottom: 0;
}

.pd-faq summary {
    position: relative;
    display: block;
    min-height: 38px;
    padding: 8px 64px 8px 30px;
    color: var(--pd-green);
    cursor: pointer;
    font-family: Roboto, sans-serif;
    font-size: 16px;
    line-height: 1.15;
    font-weight: 700;
    list-style: none;
}

.pd-faq summary::-webkit-details-marker {
    display: none;
}

.pd-faq summary::after {
    content: "";
    position: absolute;
    right: 30px;
    top: 50%;
    width: 22px;
    height: 22px;
    border: 1px solid var(--pd-green);
    border-radius: 50%;
    transform: translateY(-50%);
    background:
        linear-gradient(var(--pd-green), var(--pd-green)) center / 12px 2px no-repeat,
        linear-gradient(var(--pd-green), var(--pd-green)) center / 2px 12px no-repeat;
    transition: transform 0.2s ease;
}

.pd-faq details[open] summary::after {
    transform: translateY(-50%) rotate(45deg);
}

.pd-faq details > div {
    max-width: 860px;
    padding: 0 64px 22px 30px;
    color: var(--pd-green);
    font-family: Roboto, sans-serif;
    font-size: 16px;
    line-height: 1.15;
    font-weight: 500;
}

.pd-flow__grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 54px;
    align-items: center;
}

.pd-flow__media {
    overflow: hidden;
    border-radius: 30px;
    box-shadow: var(--pd-shadow);
}

.pd-flow__media img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
}

.pd-steps {
    margin: 0 0 28px;
    padding: 0;
    list-style: none;
    counter-reset: pd-step;
    display: grid;
    gap: 14px;
}

.pd-steps li {
    position: relative;
    min-height: 82px;
    padding: 18px 18px 18px 76px;
    border: 1px solid var(--pd-border);
    background: #fff;
}

.pd-steps li::before {
    counter-increment: pd-step;
    content: counter(pd-step);
    position: absolute;
    left: 18px;
    top: 18px;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--pd-blue);
    color: #fff;
    font-weight: 900;
}

.pd-steps b,
.pd-proof b,
.pd-subscription__card b {
    display: block;
    margin-bottom: 8px;
    font-size: 20px;
}

.pd-steps span,
.pd-proof span,
.pd-subscription__card span {
    color: var(--pd-muted);
}

.pd-proof-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 18px;
}

.pd-proof {
    min-height: 220px;
    padding: 24px;
    background: #fff;
    border: 1px solid rgba(31, 91, 66, 0.12);
}

.pd-proof--image {
    grid-row: span 2;
    padding: 0;
    overflow: hidden;
}

.pd-proof--image img {
    width: 100%;
    height: 100%;
    min-height: 458px;
    object-fit: cover;
}

.pd-proof--quote {
    background: var(--pd-green);
    color: #fff;
}

.pd-proof--quote span {
    color: rgba(255, 255, 255, 0.78);
}

.pd-subscription {
    background: var(--pd-green);
    color: #fff;
}

.pd-subscription .pd-section-title,
.pd-subscription .pd-section-text {
    color: #fff;
}

.pd-subscription__inner {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 36px;
    align-items: center;
}

.pd-subscription__card {
    padding: 28px;
    background: #fff;
    color: var(--pd-green);
}

.pd-subscription__card .pd-button {
    margin-top: 22px;
}

.pd-footer {
    position: relative;
    padding: 20px 0 24px;
    overflow: hidden;
    background: #cda077;
    color: #fff;
}

.pd-footer__grid {
    position: relative;
    display: grid;
    grid-template-columns: 145px 150px 150px 200px minmax(260px, 1fr);
    column-gap: 38px;
    align-items: start;
    min-height: 0;
    padding-bottom: 42px;
}

.pd-footer__col {
    display: grid;
    align-content: start;
    gap: 5px;
}

.pd-footer__col--cat {
    grid-column: 1;
    grid-row: 1;
}

.pd-footer__col--dog {
    grid-column: 2;
    grid-row: 1;
}

.pd-footer__menu-icon {
    display: block;
    width: 36px;
    height: 31px;
    margin-bottom: 12px;
    object-fit: contain;
    object-position: left center;
}

.pd-footer__col--main {
    grid-column: 1 / 3;
    grid-row: 1;
    grid-template-columns: repeat(2, minmax(120px, 1fr));
    grid-template-rows: max-content repeat(3, max-content);
    grid-auto-flow: column;
    gap: 9px 28px;
    margin-top: 327px;
}

.pd-footer__col--main h2 {
    grid-column: 1 / -1;
    margin-bottom: 8px;
}

.pd-footer__col--about {
    grid-column: 3;
    grid-row: 1;
}

.pd-footer__social {
    grid-column: 3;
    grid-row: 1;
    margin-top: 260px;
}

.pd-footer__contacts {
    grid-column: 4;
    grid-row: 1;
    max-width: 201px;
}

.pd-footer__col h2 {
    margin: 0 0 18px;
    color: #fff;
    font-size: 16px;
    line-height: 1.55;
    font-weight: 700;
    text-transform: uppercase;
}

.pd-footer__col a,
.pd-footer__col span {
    color: #fff;
    font-size: 14px;
    line-height: 1.29;
}

.pd-footer__col a {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.pd-footer__label {
    margin-top: 10px;
}

.pd-footer__mark {
    position: static;
    grid-column: 5;
    grid-row: 1;
    justify-self: start;
    width: min(100%, 380px);
    height: auto;
    margin-top: 4px;
}

.pd-footer__payment {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 85px;
    height: auto;
}

.pd-footer__copy {
    position: static;
    grid-column: 1 / 5;
    grid-row: 1;
    align-self: end;
    max-width: 430px;
    margin-top: 488px;
    color: #fff;
    font-size: 12px;
    line-height: 1.25;
}


/* End */


/* Start:/local/templates/petdiet/css/checkout-redesign.css?178240074534539*/
/* Pet Diet — checkout redesign (Claude design system).
   Visual only, scoped to .pd-checkout / .pd-body--checkout. No structural / UX change. */

/* Tokens on the checkout <body> so both the page field and all descendants
   (including .pd-checkout) inherit them. */
.pd-body--checkout {
    --pdc-sand: #f5eee2;
    --pdc-sand-2: #efe6d5;
    --pdc-green: #1f5b42;
    --pdc-green-700: #184a35;
    --pdc-blue: #a9d1de;
    --pdc-orange: #e8852e;
    --pdc-orange-600: #d3741f;
    --pdc-ink: #2a2722;
    --pdc-muted: #8d857a;
    --pdc-border: #e9dec9;
    --pdc-border-strong: #ddccae;
    --pdc-green-tint: #eef5f0;
    --pdc-radius-card: 18px;
    --pdc-radius-field: 12px;
    --pdc-sh-1: 0 2px 10px rgba(33, 31, 26, 0.05);
    --pdc-sh-2: 0 10px 26px rgba(33, 31, 26, 0.09);
    --pdc-sh-3: 0 18px 46px rgba(33, 31, 26, 0.13);
    --pdc-font: "Golos Text", "Inter", Arial, sans-serif;
    --pdc-display: "Nunito", "Golos Text", Arial, sans-serif;
}
.pd-checkout {
    font-family: var(--pdc-font);
    color: var(--pdc-ink);
}

/* Warm sand page field behind the checkout */
.pd-body.pd-body--checkout {
    background: var(--pdc-sand);
}
.pd-body.pd-body--checkout .pd-main {
    background: var(--pdc-sand);
}

/* Head */
.pd-checkout__back {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--pdc-green);
    font-family: var(--pdc-font);
    font-size: 14px;
    text-decoration: none;
    opacity: 0.85;
}
.pd-checkout__back:hover { opacity: 1; }
.pd-checkout h1 {
    font-family: var(--pdc-display);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--pdc-green);
}

/* Free-delivery note as a warm callout */
.pd-checkout .pd-checkout-note {
    display: grid;
    gap: 6px;
    padding: 16px 18px;
    border: 1px solid var(--pdc-border);
    border-radius: var(--pdc-radius-card);
    background: var(--pdc-sand-2);
    box-shadow: var(--pdc-sh-1);
}
.pd-checkout .pd-checkout-note strong {
    font-family: var(--pdc-display);
    font-weight: 800;
    color: var(--pdc-green);
    font-size: 15px;
}
.pd-checkout .pd-checkout-note span {
    color: var(--pdc-muted);
    font-size: 13px;
    line-height: 1.5;
}

/* Cards */
.pd-checkout .pd-checkout-card {
    border: 1px solid var(--pdc-border);
    border-radius: var(--pdc-radius-card);
    background: #fff;
    /* !important beats the global [class*="card"]{box-shadow:none!important} reset */
    box-shadow: var(--pdc-sh-1) !important;
    padding: 24px 26px;
}
.pd-checkout .pd-checkout-card h2 {
    font-family: var(--pdc-display);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--pdc-green);
    font-size: 22px;
    margin: 0 0 16px;
}

/* Field labels + controls */
.pd-checkout .pd-checkout-card label > span,
.pd-checkout .pd-checkout-tariffs__label {
    color: var(--pdc-ink);
    font-family: var(--pdc-font);
    font-size: 13px;
    font-weight: 600;
}
.pd-checkout .pd-checkout-card label > small {
    color: var(--pdc-muted);
    font-size: 12px;
}
.pd-checkout input[type="text"],
.pd-checkout input[type="tel"],
.pd-checkout input[type="email"],
.pd-checkout select,
.pd-checkout textarea,
.pd-map-modal__search {
    font-family: var(--pdc-font);
    font-size: 15px;
    color: var(--pdc-ink);
    background: #fff;
    border: 1px solid var(--pdc-border-strong);
    border-radius: var(--pdc-radius-field);
    padding: 13px 15px;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.pd-checkout input::placeholder,
.pd-checkout textarea::placeholder { color: #b6ada0; }
.pd-checkout input[type="text"]:focus,
.pd-checkout input[type="tel"]:focus,
.pd-checkout input[type="email"]:focus,
.pd-checkout select:focus,
.pd-checkout textarea:focus,
.pd-map-modal__search:focus {
    outline: none;
    border-color: var(--pdc-green);
    box-shadow: 0 0 0 3px rgba(31, 91, 66, 0.14);
}
.pd-checkout input:disabled {
    background: #f4f1ea;
    color: #a59c8f;
}

/* 3-type segmented control */
.pd-checkout .pd-checkout-dtype {
    gap: 10px;
    padding: 5px;
    background: var(--pdc-sand-2);
    border: 1px solid var(--pdc-border);
    border-radius: 14px;
}
.pd-checkout .pd-checkout-dtype__item {
    min-height: 48px;
    border: 2px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: var(--pdc-muted);
    font-family: var(--pdc-font);
    font-weight: 600;
    font-size: 14px;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
.pd-checkout .pd-checkout-dtype__item:hover { color: var(--pdc-green); }
.pd-checkout .pd-checkout-dtype__item:has(input:checked) {
    background: #fff;
    border-color: var(--pdc-green);
    color: var(--pdc-green);
    box-shadow: 0 0 0 3px rgba(31, 91, 66, 0.10);
}

/* Pickup card */
.pd-checkout .pd-pickup-card {
    border: 1px solid var(--pdc-border);
    border-radius: 14px;
    background: var(--pdc-green-tint);
    color: var(--pdc-green);
    padding: 16px 18px;
}
.pd-checkout .pd-pickup-card strong { font-family: var(--pdc-display); font-weight: 800; }

/* "Line" button — pick on map */
.pd-checkout .pd-checkout-mapbtn {
    align-self: start;
    min-height: 50px;
    border: 1px solid var(--pdc-border-strong);
    border-radius: 999px;
    background: #fff;
    color: var(--pdc-green);
    font-family: var(--pdc-font);
    font-weight: 600;
    box-shadow: var(--pdc-sh-1);
    transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.12s ease;
}
.pd-checkout .pd-checkout-mapbtn:hover { background: var(--pdc-green-tint); box-shadow: var(--pdc-sh-2); }
.pd-checkout .pd-checkout-mapbtn:active { transform: scale(0.97); }

/* Selectable rows: tariffs + payment options — card style with green active */
.pd-checkout .pd-checkout-tariff,
.pd-checkout .pd-checkout-option {
    padding: 13px 15px !important;
    border: 1.5px solid var(--pdc-border) !important;
    border-radius: 12px;
    background: #fff;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}
.pd-checkout .pd-checkout-tariff:hover,
.pd-checkout .pd-checkout-option:hover { border-color: var(--pdc-border-strong) !important; }
.pd-checkout .pd-checkout-tariff:has(input:checked),
.pd-checkout .pd-checkout-option:has(input:checked) {
    border-color: var(--pdc-green) !important;
    background: var(--pdc-green-tint);
    box-shadow: 0 0 0 3px rgba(31, 91, 66, 0.10);
}
.pd-checkout .pd-checkout-tariff input,
.pd-checkout .pd-checkout-option input { accent-color: var(--pdc-green); }
.pd-checkout .pd-checkout-tariff strong,
.pd-checkout .pd-checkout-option strong { color: var(--pdc-ink); font-weight: 600; }
.pd-checkout .pd-checkout-option small { color: var(--pdc-muted); }
.pd-checkout .pd-checkout-option__free { color: #2e8b57; font-weight: 600; }

/* Checkboxes / gift radios / consents */
.pd-checkout .pd-checkout-check { color: var(--pdc-ink); font-size: 13px; }
.pd-checkout .pd-checkout-check input { accent-color: var(--pdc-green); }
.pd-checkout .pd-checkout-fieldset > span { color: var(--pdc-ink); font-weight: 600; font-size: 13px; }

/* Summary */
.pd-checkout .pd-checkout-summary {
    border: 1px solid var(--pdc-border);
    border-radius: var(--pdc-radius-card);
    background: #fff;
    box-shadow: var(--pdc-sh-2);
    padding: 24px 26px;
}
.pd-checkout .pd-checkout-summary h2 {
    font-family: var(--pdc-display);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--pdc-green);
    font-size: 20px;
}
.pd-checkout .pd-checkout-summary__minimum {
    padding: 12px 14px;
    border-radius: 12px;
    background: var(--pdc-green-tint);
    color: var(--pdc-green);
    font-size: 13px;
}
/* Инфо-блок «Бесплатная доставка от…» — такой же по размеру, как «Минимальный заказ». */
.pd-checkout .pd-checkout-summary__freedelivery {
    margin: 0 0 14px;
    padding: 12px 14px;
    border-radius: 12px;
    background: var(--pdc-green-tint);
    color: var(--pdc-green);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
}

/* Текстовая кнопка «Изменить состав заказа» (без рамки) под составом заказа. */
.pd-checkout .pd-checkout-edit-cart {
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin: 12px auto 0;
    padding: 0;
    border: 0;
    background: none;
    color: var(--pdc-green);
    font-family: var(--pdc-font);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}
.pd-checkout .pd-checkout-edit-cart:hover { text-decoration: underline; }

/* Строка «Доставка» в сводке: «Расчёт менеджером» — цветом подсказки минималки; «Бесплатно» — зелёным. */
.pd-checkout [data-checkout-delivery].is-quote { color: var(--pdc-warn-text); }
.pd-checkout [data-checkout-delivery].is-free { color: var(--pdc-green); }

/* Карта выбора адреса на мобильном — во весь экран. */
@media (max-width: 640px) {
    .pd-map-modal { padding: 0; align-items: stretch; justify-content: stretch; }
    .pd-map-modal__box {
        width: 100%;
        max-width: none;
        height: 100vh;
        height: 100dvh;
        max-height: none;
        border-radius: 0;
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding: 16px 14px calc(14px + env(safe-area-inset-bottom, 0px));
    }
    .pd-map-modal__canvas { flex: 1 1 auto; height: auto; min-height: 0; }
}
.pd-checkout .pd-checkout-summary__minimum.is-warning {
    background: #fbeef0;
    color: #b85c72;
}
.pd-checkout .pd-checkout-summary__minimum [data-checkout-minimum-hint]:not([hidden]) {
    display: block;
    margin-top: 4px;
    font-weight: 600;
}
.pd-checkout .pd-checkout-summary__total {
    font-family: var(--pdc-display);
    font-weight: 800;
    color: var(--pdc-green);
}
.pd-checkout .pd-checkout-summary__total strong { font-weight: 800; }

/* Primary CTA — orange pill with soft colored shadow */
.pd-checkout .pd-checkout-submit {
    border-radius: 999px;
    background: var(--pdc-orange);
    color: #fff;
    font-family: var(--pdc-font);
    font-weight: 700;
    letter-spacing: 0.01em;
    box-shadow: 0 10px 22px rgba(232, 133, 46, 0.30);
    transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.12s ease;
}
.pd-checkout .pd-checkout-submit:hover {
    background: var(--pdc-orange-600);
    box-shadow: 0 12px 26px rgba(232, 133, 46, 0.38);
}
.pd-checkout .pd-checkout-submit:active { transform: scale(0.97); }
.pd-checkout .pd-checkout-submit:disabled,
.pd-checkout .pd-checkout-submit.is-disabled {
    background: #d8cfbf;
    color: #fbf7ef;
    box-shadow: none;
    cursor: not-allowed;
    transform: none;
}
.pd-checkout .pd-checkout-payment-note { color: var(--pdc-muted); font-size: 13px; }

/* Success / empty / alert */
.pd-checkout .pd-checkout__success,
.pd-checkout .pd-checkout__empty {
    border: 1px solid var(--pdc-border);
    border-radius: var(--pdc-radius-card);
    background: #fff;
    box-shadow: var(--pdc-sh-1);
}
.pd-checkout .pd-checkout__success h2 {
    font-family: var(--pdc-display);
    font-weight: 800;
    color: var(--pdc-green);
}
.pd-checkout .pd-checkout__success a,
.pd-checkout .pd-checkout__empty a {
    border-radius: 999px;
    background: var(--pdc-green);
    color: #fff;
    box-shadow: var(--pdc-sh-1);
}
.pd-checkout .pd-checkout__alert {
    border: 1px solid #f0c9cf;
    border-radius: 12px;
    background: #fbeef0;
    color: #b85c72;
}

/* Thank-you: ряд «номер заказа + статус оплаты» (статус справа от номера) */
.pd-checkout .pd-checkout__success-row {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 14px;
}
.pd-checkout .pd-checkout__success-row > .pd-checkout__success {
    flex: 1 1 360px;
    max-width: none;
    margin: 0;
}
.pd-checkout .pd-checkout__paystatus {
    flex: 1 1 280px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 24px 26px;
    border: 1px solid var(--pdc-border);
    border-radius: var(--pdc-radius-card);
    background: #fff;
    box-shadow: var(--pdc-sh-1);
}
.pd-checkout .pd-checkout__paystatus h2 {
    font-family: var(--pdc-display);
    font-weight: 800;
    color: var(--pdc-green);
    margin: 0 0 4px;
}
.pd-checkout .pd-checkout__paystatus-state { margin: 0; font-weight: 700; font-size: 16px; color: var(--pdc-ink); }
.pd-checkout .pd-checkout__paystatus-amount { margin: 0; color: var(--pdc-muted); }
.pd-checkout .pd-checkout__paystatus-amount strong { color: var(--pdc-ink); font-weight: 700; }
.pd-checkout .pd-checkout__paystatus--paid .pd-checkout__paystatus-state { color: var(--pdc-green); }
.pd-checkout .pd-checkout__paystatus--pending .pd-checkout__paystatus-state { color: var(--pdc-orange); }
.pd-checkout .pd-checkout__paystatus .pd-checkout__payment { margin-top: auto; padding-top: 6px; }
.pd-checkout .pd-checkout__paystatus .pd-checkout-submit { width: 100%; }
.pd-checkout .pd-checkout__paystatus .pd-checkout__payment-result { margin-top: 8px; color: var(--pdc-orange); font-size: 13px; line-height: 1.4; }
@media (max-width: 640px) {
    .pd-checkout .pd-checkout__success-row { flex-direction: column; }
}

/* Thank-you: квитанция заказа (контакты / состав / карта / комментарий) */
.pd-checkout .pd-checkout__receipt {
    display: grid;
    gap: 14px;
    margin-top: 16px;
}
.pd-checkout .pd-checkout-receipt h2 {
    font-family: var(--pdc-display);
    font-weight: 800;
    color: var(--pdc-green);
    margin: 0 0 12px;
}
.pd-checkout .pd-checkout-receipt__list { margin: 0; display: grid; gap: 8px; }
.pd-checkout .pd-checkout-receipt__list > div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: baseline;
}
.pd-checkout .pd-checkout-receipt__list dt { color: var(--pdc-muted); font-size: 13px; }
.pd-checkout .pd-checkout-receipt__list dd { margin: 0; color: var(--pdc-ink); font-weight: 600; text-align: right; word-break: break-word; }
.pd-checkout .pd-checkout-receipt__items { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 8px; }
.pd-checkout .pd-checkout-receipt__items li {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--pdc-border);
}
.pd-checkout .pd-checkout-receipt__items li:last-child { border-bottom: 0; padding-bottom: 0; }
.pd-checkout .pd-checkout-receipt__name { color: var(--pdc-ink); }
.pd-checkout .pd-checkout-receipt__qty { color: var(--pdc-muted); }
.pd-checkout .pd-checkout-receipt__sum { color: var(--pdc-ink); font-weight: 600; white-space: nowrap; }
.pd-checkout .pd-checkout-receipt__row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding-top: 10px;
    border-top: 1px solid var(--pdc-border);
}
.pd-checkout .pd-checkout-receipt__row span { color: var(--pdc-muted); }
.pd-checkout .pd-checkout-receipt__row strong { color: var(--pdc-ink); font-weight: 700; }
.pd-checkout .pd-checkout-receipt__total span,
.pd-checkout .pd-checkout-receipt__total strong {
    font-family: var(--pdc-display);
    color: var(--pdc-green);
    font-weight: 800;
    font-size: 17px;
}
.pd-checkout .pd-checkout-receipt__pickup { margin: 0 0 12px; color: var(--pdc-ink); font-weight: 600; }
.pd-checkout .pd-checkout-receipt__map {
    border-radius: var(--pdc-radius-field);
    overflow: hidden;
    border: 1px solid var(--pdc-border);
    line-height: 0;
}
.pd-checkout .pd-checkout-receipt__map iframe { display: block; width: 100%; height: 280px; border: 0; }
.pd-checkout .pd-checkout-receipt__maplink {
    display: inline-block;
    margin-top: 10px;
    color: var(--pdc-green);
    font-weight: 600;
    font-size: 13px;
    text-decoration: underline;
}
.pd-checkout .pd-checkout-receipt__comment { margin: 0; color: var(--pdc-ink); line-height: 1.5; white-space: pre-line; }

/* Map modal */
.pd-map-modal__box {
    border-radius: 20px;
    box-shadow: var(--pdc-sh-3);
}
.pd-map-modal__box h3 {
    font-family: "Nunito", "Golos Text", Arial, sans-serif;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #1f5b42;
}
.pd-map-modal__canvas { border-radius: 14px; }
.pd-map-modal__result { color: #2a2722; }
.pd-map-modal__result strong { color: #1f5b42; }
.pd-map-modal__close { background: #f4f1ea; color: #1f5b42; }
.pd-map-modal__close:hover { background: #e9dec9; }
/* Confirm inside the modal is a green (in-flow commit) action, not orange */
.pd-checkout .pd-map-modal__confirm,
.pd-map-modal__confirm {
    background: #1f5b42;
    color: #fff;
    box-shadow: 0 10px 22px rgba(31, 91, 66, 0.26);
}
.pd-checkout .pd-map-modal__confirm:hover,
.pd-map-modal__confirm:hover { background: #184a35; }

/* Fix label layout: the template's generic ".pd-checkout-card label{display:grid}"
   + "label>span{padding:0 10px 5px 0}" turned the segmented control and the
   radio/checkbox rows into field-style grids with off-centre text. Restore them. */
.pd-checkout .pd-checkout-dtype__item {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    min-height: 0;
    margin: 0;
}
.pd-checkout .pd-checkout-dtype__item > span {
    padding: 0;
    font-family: var(--pdc-font);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.1;
}
/* Radio / checkbox rows: text centred against the control, no field-label padding. */
.pd-checkout .pd-checkout-tariff,
.pd-checkout .pd-checkout-check {
    align-items: center;
}
.pd-checkout .pd-checkout-tariff > span,
.pd-checkout .pd-checkout-option > span,
.pd-checkout .pd-checkout-check > span {
    padding: 0;
}
/* Airport note (standalone <small>, not inside a label) */
.pd-checkout .pd-checkout-airport-note {
    display: block;
    margin-top: 4px;
    color: var(--pdc-muted);
    font-size: 12px;
}

/* Compact, equal heights: single-line fields and tariff cards are both 48px. */
.pd-checkout input[type="text"],
.pd-checkout input[type="tel"],
.pd-checkout input[type="email"],
.pd-checkout select {
    height: 48px;
    min-height: 48px;
    padding: 0 15px;
}
.pd-checkout textarea {
    min-height: 96px;
    padding: 12px 15px;
}
.pd-checkout .pd-checkout-tariff {
    min-height: 48px;
    padding: 0 14px !important;
    column-gap: 12px;
    align-items: center;
}
/* Address details: four compact fields in one row, directly under the address. */
.pd-checkout .pd-checkout__inline-fields--details {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.pd-checkout .pd-checkout__inline-fields--details > label {
    margin: 0;
}

/* Промокод с кнопкой «Применить» */
.pd-checkout .pd-checkout-coupon {
    display: grid;
    gap: 6px;
    margin: 0 0 20px;
}
.pd-checkout .pd-checkout-coupon > span {
    color: var(--pdc-ink);
    font-size: 13px;
    font-weight: 600;
}
.pd-checkout .pd-checkout-coupon__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
}
.pd-checkout .pd-checkout-coupon__apply {
    height: 48px;
    padding: 0 20px;
    border: 1px solid var(--pdc-green);
    border-radius: 999px;
    background: #fff;
    color: var(--pdc-green);
    font-family: var(--pdc-font);
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.18s ease;
}
.pd-checkout .pd-checkout-coupon__apply:hover { background: var(--pdc-green-tint); }
.pd-checkout .pd-checkout-coupon__apply:disabled { opacity: 0.6; cursor: default; }
.pd-checkout .pd-checkout-coupon__status { font-size: 12px; line-height: 1.4; }
.pd-checkout .pd-checkout-coupon__status.is-ok { color: #2e8b57; }
.pd-checkout .pd-checkout-coupon__status.is-error { color: #b85c72; }

/* Строка скидки в сводке */
.pd-checkout .pd-checkout-summary__discount strong { color: #2e8b57; font-weight: 600; }

/* Примечание тарифа (Яндекс — по тарифу сервиса) */
.pd-checkout .pd-checkout-tariff__note { display: block; color: var(--pdc-muted); font-size: 12px; line-height: 1.35; }

@media (max-width: 720px) {
    .pd-checkout .pd-checkout-card,
    .pd-checkout .pd-checkout-summary {
        padding: 20px 18px;
    }
    .pd-checkout .pd-checkout-dtype { flex-wrap: nowrap; }
    .pd-checkout .pd-checkout-dtype__item { font-size: 13px; padding: 0 6px; }
    .pd-checkout .pd-checkout-card h2 { font-size: 20px; }
    .pd-checkout .pd-checkout__inline-fields--details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ───────────────── Доработки «Важные»: a11y, дата, вне-зоны, загрузка ───────────────── */

/* Контраст предупреждений до AA: тёмная роза вместо #b85c72 (был ~3.9:1, стало ~6:1). */
.pd-body--checkout { --pdc-warn-text: #a3324c; }
.pd-checkout .pd-checkout-summary__minimum.is-warning { color: var(--pdc-warn-text); }
.pd-checkout .pd-checkout__alert { color: var(--pdc-warn-text); }
.pd-checkout .pd-checkout-coupon__status.is-error { color: var(--pdc-warn-text); }

/* Видимый фокус у сегмент-контроля и выбираемых строк (клавиатура/скринридер). */
.pd-checkout .pd-checkout-dtype__item:focus-within {
    border-color: var(--pdc-green);
    color: var(--pdc-green);
    box-shadow: 0 0 0 3px rgba(31, 91, 66, 0.22);
}
.pd-checkout .pd-checkout-tariff:focus-within,
.pd-checkout .pd-checkout-option:focus-within {
    border-color: var(--pdc-green) !important;
    box-shadow: 0 0 0 3px rgba(31, 91, 66, 0.22);
}
.pd-checkout .pd-checkout-check:focus-within {
    outline: 2px solid rgba(31, 91, 66, 0.55);
    outline-offset: 3px;
    border-radius: 6px;
}
.pd-checkout input[type="radio"]:focus-visible,
.pd-checkout input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--pdc-green);
    outline-offset: 2px;
}

/* Желаемая дата + время доставки. */
.pd-checkout .pd-checkout-datetime {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 18px;
    margin: 18px 0 0;
}
.pd-checkout .pd-checkout-datetime > label {
    display: grid;
    gap: 4px;
    margin: 0;
}
.pd-checkout .pd-checkout-datetime > label > span {
    color: var(--pdc-ink);
    font-family: var(--pdc-font);
    font-size: 13px;
    font-weight: 600;
}
.pd-checkout .pd-checkout-time select {
    height: 48px;
    min-height: 48px;
    width: 220px;
    max-width: 100%;
    /* текст отступает 15px слева; стрелка — на те же 15px от правого края (симметрично). */
    padding: 0 42px 0 15px;
    font-family: var(--pdc-font);
    font-size: 15px;
    color: var(--pdc-ink);
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23211f1a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
    /* !important — перебиваем глобальное .pd-body--checkout select (pill 999px + серая рамка) из ui-overlays.css,
       чтобы время выглядело как поле даты (12px, тёплая рамка). */
    border: 1px solid var(--pdc-border-strong) !important;
    border-radius: var(--pdc-radius-field) !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.pd-checkout .pd-checkout-time select:disabled { color: var(--pdc-muted); background-color: #f6f5f2; cursor: default; }
.pd-checkout .pd-checkout-time select:focus {
    outline: none;
    border-color: var(--pdc-green);
    box-shadow: 0 0 0 3px rgba(31, 91, 66, 0.14);
}

/* Желаемая дата доставки. */
.pd-checkout .pd-checkout-date {
    display: grid;
    gap: 4px;
    margin: 0;
}
.pd-checkout .pd-checkout-date > span {
    padding: 0;
    color: var(--pdc-ink);
    font-family: var(--pdc-font);
    font-size: 13px;
    font-weight: 600;
}
.pd-checkout .pd-checkout-date > small { color: var(--pdc-muted); font-size: 12px; }
.pd-checkout input[type="date"] {
    height: 48px;
    min-height: 48px;
    max-width: 260px;
    padding: 0 15px;
    font-family: var(--pdc-font);
    font-size: 15px;
    color: var(--pdc-ink);
    background: #fff;
    border: 1px solid var(--pdc-border-strong);
    border-radius: var(--pdc-radius-field);
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
    /* Поле только для выбора через виджет — без ручного ввода. */
    cursor: pointer;
    caret-color: transparent;
}
.pd-checkout input[type="date"]::-webkit-calendar-picker-indicator { cursor: pointer; }
.pd-checkout input[type="date"]:focus {
    outline: none;
    border-color: var(--pdc-green);
    box-shadow: 0 0 0 3px rgba(31, 91, 66, 0.14);
}
.pd-checkout .pd-checkout-date input {
    height: 48px;
    min-height: 48px;
    max-width: 260px;
    padding: 0 15px;
    font-family: var(--pdc-font);
    font-size: 15px;
    color: var(--pdc-ink);
    background: #fff;
    border: 1px solid var(--pdc-border-strong);
    border-radius: var(--pdc-radius-field);
    cursor: pointer;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.pd-checkout .pd-checkout-date input:focus {
    outline: none;
    border-color: var(--pdc-green);
    box-shadow: 0 0 0 3px rgba(31, 91, 66, 0.14);
}
/* flatpickr: подсветка выбранного дня в бренд-цвет */
.flatpickr-day.selected, .flatpickr-day.selected:hover { background: #1f5b42; border-color: #1f5b42; }

/* flatpickr: нейтрализуем глобальные стили input внутри календаря (иначе хедер «разъезжается») */
.flatpickr-calendar input.numInput {
    height: auto;
    min-height: 0;
    max-width: none;
    padding: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
    font: inherit;
    text-align: center;
}
.flatpickr-calendar .flatpickr-current-month { font-size: 15px; }
.flatpickr-calendar .flatpickr-current-month .cur-month { font-weight: 600; margin: 0; }
/* год — только для показа: убираем стрелки-спиннер */
.flatpickr-calendar .numInputWrapper span { display: none; }
.flatpickr-calendar .numInput.cur-year { pointer-events: none; cursor: default; }
/* десктоп: 2 месяца без навигации (месяц/год информативные) */
.flatpickr-calendar.pd-fp-noarrows .flatpickr-prev-month,
.flatpickr-calendar.pd-fp-noarrows .flatpickr-next-month { display: none; }

/* Предупреждение «вне зоны» / статус геокода ручного адреса. */
.pd-checkout .pd-checkout-zone-note {
    display: block;
    margin: 6px 0 0;
    font-size: 12px;
    line-height: 1.4;
    color: var(--pdc-muted);
}
.pd-checkout .pd-checkout-zone-note.is-warning {
    color: var(--pdc-warn-text);
    font-weight: 600;
}

/* Состояние отправки (защита от двойного клика). */
.pd-checkout .pd-checkout-submit.is-loading {
    opacity: 0.85;
    cursor: progress;
}

/* ───────── Доработки 2026-06-21 #4: ховеры/фокус/дизейбл/оплата ───────── */

/* Ховер полей (рамка зеленеет). Префикс .pd-body--checkout повышает специфичность (0,3,1) —
   бьём и базовое `border:…!important` (0,2,1) из ui-overlays, и не-important фокус-правило (0,3,1). */
.pd-body--checkout .pd-checkout input:not(:disabled):hover,
.pd-body--checkout .pd-checkout textarea:not(:disabled):hover,
.pd-body--checkout .pd-checkout select:not(:disabled):hover,
.pd-body--checkout .pd-checkout .pd-map-modal__search:hover {
    border-color: var(--pdc-green) !important;
    /* Лёгкое кольцо — иначе на «болотной» базовой рамке (#5b7561) ховер незаметен (в отличие от
       поля даты с песочной рамкой). Слабее, чем у фокуса (0.22). */
    box-shadow: 0 0 0 3px rgba(31, 91, 66, 0.10) !important;
}

/* Состояние «в поле» (фокус) — зелёная рамка + кольцо. Высокая специфичность + !important,
   иначе базовые `border:…!important` / `box-shadow:none!important` из ui-overlays перекрывают. */
.pd-body--checkout .pd-checkout input:focus,
.pd-body--checkout .pd-checkout textarea:focus,
.pd-body--checkout .pd-checkout select:focus,
.pd-body--checkout .pd-checkout .pd-map-modal__search:focus {
    outline: none !important;
    border-color: var(--pdc-green) !important;
    box-shadow: 0 0 0 3px rgba(31, 91, 66, 0.22) !important;
}

/* Ховер чекбоксов/радио-строк */
.pd-checkout .pd-checkout-check { cursor: pointer; }
.pd-checkout .pd-checkout-check input { cursor: pointer; }
.pd-checkout .pd-checkout-check:hover > span { color: var(--pdc-green); }
.pd-checkout .pd-checkout-tariff:not([hidden]):hover,
.pd-checkout .pd-checkout-option:hover { border-color: var(--pdc-green) !important; cursor: pointer; }
/* Видимый ховер кнопок выбора способа доставки (только невыбранные — выбранная сохраняет вид). */
.pd-checkout .pd-checkout-dtype__item:not(:has(input:checked)):hover {
    color: var(--pdc-green);
    background: #fff;
    border-color: var(--pdc-border-strong);
    box-shadow: 0 2px 8px rgba(33, 31, 26, 0.07);
    cursor: pointer;
}

/* Ховер кнопок (доусиление) */
.pd-checkout .pd-checkout-submit:not(:disabled):hover { filter: saturate(1.05); }
.pd-checkout .pd-checkout-coupon__apply:not(:disabled):hover,
.pd-checkout .pd-checkout-mapbtn:hover { background: var(--pdc-green-tint); }

/* Неактивные поля деталей при «не указывать кв» */
.pd-checkout input:disabled {
    background: #f1ece2;
    color: #b3a994;
    border-color: var(--pdc-border);
    cursor: not-allowed;
}
.pd-checkout .pd-checkout__inline-fields--details label.is-disabled { opacity: 0.6; }
.pd-checkout .pd-checkout__inline-fields--details label.is-disabled > span { color: var(--pdc-muted); }

/* МИР Pay — только в мобильной версии */
.pd-checkout .pd-only-mobile { display: none; }
@media (max-width: 720px) { .pd-checkout .pd-only-mobile { display: inline; } }

/* Промокод под кнопкой «Оформить заказ» */
.pd-checkout .pd-checkout-coupon--summary { display: grid; gap: 6px; margin: 14px 0 0; }

/* CloudPayments-виджет на thank-you */
.pd-checkout .pd-checkout__payment-widget { margin-top: 18px; }
.pd-checkout .pd-checkout__payment-widget .cloudpay_button {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 50px; padding: 0 28px;
    border: 0; border-radius: 999px;
    background: var(--pdc-orange); color: #fff;
    font-family: var(--pdc-font); font-weight: 700; font-size: 16px; cursor: pointer;
    box-shadow: 0 10px 22px rgba(232, 133, 46, 0.30);
}
.pd-checkout .pd-checkout__payment-widget .cloudpay_button:hover { background: var(--pdc-orange-600); }

/* ───────── Доработки блока доставки 2026-06-21 #3 ───────── */

/* КРИТИЧНО: авторские `display:grid/flex` перебивали UA-правило `[hidden]{display:none}`,
   из-за чего скрытые тарифы/дата/тариф-карточки всё равно показывались. Возвращаем смысл hidden. */
.pd-checkout [hidden] { display: none !important; }

/* Цена тарифа на карточке */
.pd-checkout .pd-checkout-tariff__price { display: block; color: var(--pdc-green); font-weight: 600; font-size: 13px; }

/* Сообщение в зоне тарифов: подсказка «укажите адрес» (по умолчанию) и «нет доставки» (is-error) */
.pd-checkout .pd-checkout-tariffs-msg {
    padding: 12px 14px;
    border-radius: 12px;
    background: var(--pdc-sand-2);
    color: var(--pdc-muted);
    font-size: 13px;
    line-height: 1.4;
}
.pd-checkout .pd-checkout-tariffs-msg.is-error {
    background: #fbeef0;
    color: var(--pdc-warn-text);
    font-weight: 600;
}

/* ───────── Доработки блока доставки 2026-06-21 #2 ───────── */

/* Плотные отступы: убираем generic `label{margin:0 0 20px}` внутри курьерской панели и
   у тарифов — остаётся ровный gap (как в блоке «Оплата»). Чинит огромный зазор адрес↔детали
   и между тарифами. */
.pd-checkout .pd-checkout-dpanel[data-dpanel="courier"] > label { margin: 0; }
.pd-checkout .pd-checkout-tariff { margin: 0; }
.pd-checkout .pd-checkout-tariffs { gap: 10px; }

/* Автоподсказки адреса (выбор из предложенных, не свободный ввод). */
.pd-checkout .pd-checkout-suggest-wrap { position: relative; }
.pd-checkout .pd-checkout-suggest {
    position: absolute;
    left: 0; right: 0; top: calc(100% + 6px);
    z-index: 40;
    margin: 0; padding: 6px;
    list-style: none;
    background: #fff;
    border: 1px solid var(--pdc-border-strong);
    border-radius: var(--pdc-radius-field);
    box-shadow: var(--pdc-sh-2);
    max-height: 280px;
    overflow-y: auto;
}
.pd-checkout .pd-checkout-suggest li {
    padding: 10px 12px;
    border-radius: 8px;
    cursor: pointer;
    font-family: var(--pdc-font);
    font-size: 14px;
    color: var(--pdc-ink);
    line-height: 1.35;
}
.pd-checkout .pd-checkout-suggest li:hover,
.pd-checkout .pd-checkout-suggest li.is-active { background: var(--pdc-green-tint); }

/* End */


/* Start:/local/templates/petdiet/css/responsive.css?178216486683953*/
@media (min-width: 981px) and (max-width: 1199px) {
    #delivery.pd-buy-section {
        padding: 33px 0 29px;
    }

    #delivery.pd-buy-section .pd-container {
        width: 100%;
        max-width: none;
    }

    #delivery .pd-buy-title {
        width: max-content;
        max-width: calc(100% - 120px);
        font-size: 48px;
        line-height: 34px;
        letter-spacing: 1px;
        white-space: nowrap;
    }

    #delivery .pd-buy-text {
        width: 760px;
        max-width: calc(100% - 120px);
        margin: 19px auto 0;
        font-family: Inter, Arial, sans-serif;
        font-size: 16px;
        line-height: 19px;
    }

    #faq.pd-faq-heading-section {
        padding: 43px 0 22px;
    }

    #faq.pd-faq-heading-section .pd-container {
        width: 100%;
        max-width: none;
    }

    #faq .pd-faq-title {
        width: max-content;
        max-width: calc(100% - 120px);
        font-size: 48px;
        line-height: 35px;
        white-space: nowrap;
    }

    .pd-info-page--calculator .pd-info-breadcrumbs {
        height: 128px;
        margin-bottom: 0;
    }

    .pd-subscription-shell--breadcrumbs {
        min-height: 113px;
        padding-top: 90px;
        padding-bottom: 0;
    }

    .pd-subscription-content--hero .pd-subscription-shell {
        width: 100%;
        padding: 0;
    }

    .pd-subscription-content--hero .pd-subscription-hero {
        grid-template-columns: 535px 365px;
        min-height: 575px;
        gap: 67px;
        justify-content: start;
        align-items: center;
        padding: 0;
    }

    .pd-subscription-content--hero .pd-subscription-hero__media img {
        width: 545px;
        max-height: 445px;
        margin: 0;
    }

    .pd-subscription-content--hero .pd-subscription-title {
        font-size: 66px;
        line-height: 0.94;
    }

    .pd-subscription-content--hero .pd-subscription-hero__content p {
        max-width: 365px;
        margin: 22px 0 0;
        font-size: 21px;
        line-height: 1.25;
    }

    .pd-subscription-content--notice .pd-subscription-shell--notice {
        width: 616px;
        padding-top: 53px;
        padding-bottom: 37px;
    }

    .pd-subscription-content--notice .pd-subscription-notice {
        display: flex;
        min-height: 275px;
        align-items: center;
        justify-content: center;
        padding: 0 54px;
        border-radius: 27px;
    }

    .pd-subscription-content--notice .pd-subscription-notice p {
        font-size: 20px;
        line-height: 1.4;
    }

    .pd-subscription-content--steps .pd-subscription-shell--steps {
        padding-bottom: 90px;
    }

    .pd-subscription-content--manage .pd-subscription-shell--manage {
        box-sizing: border-box;
        width: 100%;
        min-height: 475px;
        padding: 72px 40px 72px;
    }

    .pd-subscription-content--manage .pd-subscription-manage {
        max-width: none;
    }

    .pd-subscription-content--manage .pd-subscription-manage h2 {
        max-width: none;
        margin-bottom: 11px;
        font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
        font-size: 66px;
        font-weight: 400;
        line-height: 0.86;
    }

    .pd-subscription-content--manage .pd-subscription-manage__text {
        max-width: 680px;
        font-size: 15px;
        line-height: 1.24;
    }

    .pd-subscription-content--manage .pd-subscription-cta {
        min-width: 185px;
        min-height: 45px;
        margin-top: 12px;
        padding: 0 24px;
        font-size: 15px;
    }

    .pd-info-page--calculator .pd-calculator {
        box-sizing: border-box;
        width: calc(100% + 32px);
        min-height: 343px;
        margin: 0 0 48px -16px;
        padding: 25px 0 0;
        border-radius: 0;
        background: transparent;
    }

    .pd-info-page--calculator .pd-calculator__title {
        width: max-content;
        max-width: calc(100% - 120px);
        margin: 0 0 10px 66px;
        font-size: 102px;
        line-height: 0.96;
        white-space: nowrap;
    }

    .pd-info-page--calculator .pd-calculator__title br {
        display: none;
    }

    .pd-info-page--calculator .pd-calculator__title-break-space {
        display: inline-block;
        width: 22px;
    }

    .pd-info-page--calculator .pd-calculator__title::after {
        content: "";
        display: inline-block;
        width: 46px;
        height: 40px;
        margin-left: 36px;
        background-color: #ffc4b8;
        -webkit-mask: url("/local/assets/petdiet-pages/images/heart.svg") center / contain no-repeat;
        mask: url("/local/assets/petdiet-pages/images/heart.svg") center / contain no-repeat;
        vertical-align: middle;
    }

    .pd-info-page--calculator .pd-calculator__form {
        box-sizing: border-box;
        width: 960px;
        min-height: 194px;
        margin: 0 auto;
        padding: 48px 169px 40px 104px;
        border-radius: 25px;
        background: #f1f5f3;
    }

    .pd-info-page--calculator .pd-calculator__weight input[type="range"] {
        accent-color: #078ed0;
    }

    .pd-info-page--calculator .pd-calculator__weight-value {
        font-size: 16px;
        line-height: 1.2;
    }

    .pd-info-page--calculator .pd-info-products-title {
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        height: 120px;
        margin: 0;
        color: var(--pd-blue);
        font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
        font-size: 55px;
        line-height: 0.9;
        font-weight: 400;
        letter-spacing: 1px;
        text-align: center;
        text-transform: uppercase;
    }

    .pd-info-page--calculator .pd-info-product-grid.pd-product-grid {
        grid-template-columns: repeat(3, 280px);
        justify-content: center;
        gap: 54px 48px;
    }

    .pd-info-page--calculator .pd-info-product-grid .pd-product-card {
        width: 280px;
        min-height: 575px;
    }

    .pd-info-page--calculator .pd-info-product-grid .pd-product-card__image {
        width: 280px;
        height: 308px;
        aspect-ratio: auto;
    }

    #faq + .pd-faq-section {
        padding: 0 0 48px;
    }

    #faq + .pd-faq-section .pd-faq {
        width: 940px;
        max-width: 940px;
        margin: 0 auto;
    }
}

@media (max-width: 980px) {
    .pd-header {
        box-shadow: none;
    }

    .pd-header__bar {
        display: grid;
        grid-template-columns: auto 1fr auto auto;
        grid-template-rows: 58px auto;
        min-height: 58px;
        align-items: center;
    }

    .pd-header__logo {
        grid-column: 1;
        grid-row: 1;
        margin-left: 0;
    }

    .pd-header__burger {
        display: block;
        grid-column: 4;
        grid-row: 1;
        align-self: center;
    }

    .pd-header__actions {
        flex-basis: auto;
        grid-column: 3;
        grid-row: 1;
        justify-content: end;
    }

    .pd-cart-link {
        display: inline-flex;
    }

    .pd-header__nav {
        position: static;
        transform: none;
        display: none;
        grid-column: 1 / -1;
        grid-row: 2;
        margin-top: 0;
        padding: 8px 0 18px;
        background: #fff;
    }

    .pd-menu-open .pd-header__nav {
        display: block;
    }

    .pd-menu-open .pd-header__burger span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    .pd-menu-open .pd-header__burger span:nth-child(2) {
        opacity: 0;
    }

    .pd-menu-open .pd-header__burger span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    .pd-menu {
        display: grid;
        justify-content: stretch;
        gap: 0;
    }

    .pd-menu__link {
        position: relative;
        padding: 12px 0;
        font-size: 16px;
        border-top: 1px solid var(--pd-border);
    }

    .pd-menu__item--has-children > .pd-menu__link {
        padding-right: 16px;
    }

    /* (old accordion submenu styles removed — replaced by the drill-down block below) */

    .pd-about-grid,
    .pd-flow__grid,
    .pd-subscription__inner {
        grid-template-columns: 1fr;
    }

    .pd-subscription-shell--breadcrumbs {
        min-height: 113px;
        padding-top: 90px;
        padding-bottom: 0;
    }

    @media (min-width: 641px) {
        .pd-about-section {
            padding: 50px 0;
        }

        .pd-about-grid {
            display: grid;
            width: 619px;
            max-width: calc(100% - 32px);
            grid-template-columns: 233px 375px;
            column-gap: 6.5px;
            row-gap: 22px;
            justify-content: start;
            align-items: start;
            text-align: left;
        }

        .pd-about-grid .pd-section-title {
            max-width: 233px;
            margin: 0;
            font-size: 58px;
            line-height: 49px;
            letter-spacing: 0;
            text-align: left;
        }

        .pd-about-grid .pd-section-text {
            width: 375px;
            max-width: 375px;
            margin: 0;
            font-family: Inter, Arial, sans-serif;
            font-size: 14px;
            line-height: 17px;
            text-align: left;
        }

        .pd-about-rating {
            grid-column: 2;
            justify-self: start;
            width: 215px;
            height: 32px;
            margin: 0;
        }

        .pd-experts-section {
            padding: 26px 0 63px;
            overflow: hidden;
        }

        .pd-experts-section .pd-container,
        .pd-experts-section .pd-experts-slider,
        .pd-experts-section .pd-experts-gallery--desktop {
            width: 623px;
            max-width: 623px;
        }

        .pd-experts-section .pd-experts-gallery--desktop {
            overflow: hidden;
        }

        .pd-experts-section .pd-experts-arrow--prev {
            left: -30px;
        }

        .pd-experts-section .pd-experts-arrow--next {
            right: -30px;
        }

        .pd-products-heading-section {
            height: auto;
            padding: 31px 0 9px;
        }

        .pd-products-heading-section .pd-products-head {
            margin-bottom: 0;
        }

        .pd-products-heading-section .pd-products-title {
            width: 617px;
            justify-content: flex-start;
        }

        .pd-products-heading-section .pd-products-title__text {
            line-height: 60px;
        }

        .pd-products-section {
            padding: 0 0 88px;
        }

        .pd-products-section .pd-container {
            width: 100%;
        }

        .pd-products-section .pd-product-grid {
            grid-template-columns: repeat(2, 320px);
            gap: 90px 0;
            margin-left: 64px;
        }

        .pd-products-section .pd-product-card {
            box-sizing: border-box;
            width: 320px;
            min-height: 553px;
            padding: 0 20px;
        }

        .pd-products-section .pd-product-card__image {
            width: 280px;
            height: 308px;
            aspect-ratio: auto;
        }

        .pd-info-page--calculator .pd-info-breadcrumbs {
            height: 128px;
            margin-bottom: 0;
        }

        .pd-info-page--calculator .pd-calculator {
            box-sizing: border-box;
            width: 100%;
            min-height: 284px;
            margin: 0 auto 48px;
            padding: 0;
            border-radius: 0;
            background: transparent;
        }

        .pd-info-page--calculator .pd-calculator__title {
            width: max-content;
            max-width: none;
            margin: 0 auto 14px;
            font-size: 58px;
            line-height: 0.9;
            white-space: nowrap;
        }

        .pd-info-page--calculator .pd-calculator__title br {
            display: none;
        }

        .pd-info-page--calculator .pd-calculator__title-break-space {
            display: inline-block;
            width: 18px;
        }

        .pd-info-page--calculator .pd-calculator__title::after {
            content: "";
            display: inline-block;
            width: 30px;
            height: 26px;
            margin-left: 22px;
            background-color: #ffc4b8;
            -webkit-mask: url("/local/assets/petdiet-pages/images/heart.svg") center / contain no-repeat;
            mask: url("/local/assets/petdiet-pages/images/heart.svg") center / contain no-repeat;
            vertical-align: middle;
        }

        .pd-info-page--calculator .pd-calculator__form {
            box-sizing: border-box;
            width: 640px;
            min-height: 194px;
            margin: 0 auto;
            padding: 28px 27px 24px;
            border-radius: 25px;
            background: #f1f5f3;
        }

        .pd-info-page--calculator .pd-info-products-title {
            display: flex;
            align-items: center;
            justify-content: center;
            box-sizing: border-box;
            height: 120px;
            margin: 0;
            color: var(--pd-blue);
            font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
            font-size: 55px;
            line-height: 0.9;
            font-weight: 400;
            letter-spacing: 1px;
            text-align: center;
            text-transform: uppercase;
        }

        .pd-why-section {
            height: 1600px;
            padding: 0;
            overflow: hidden;
        }

        .pd-why-section .pd-container {
            width: 620px;
            max-width: 620px;
            height: 100%;
        }

        .pd-why-title {
            margin: 0 auto 40px;
            padding-top: 42px;
            font-size: 60px;
            line-height: 60px;
        }

        .pd-why-section .pd-benefit-grid {
            grid-template-columns: 245px 255px;
            column-gap: 75px;
            row-gap: 25px;
        }

        .pd-why-section .pd-benefit {
            min-height: 0;
            padding: 0;
        }

        .pd-why-section .pd-benefit img {
            position: static;
            width: 82px;
            height: 82px;
            margin: 0 0 13px;
        }

        .pd-why-section .pd-benefit b {
            margin: 0 0 8px;
            font-size: 28px;
            line-height: 30px;
        }

        .pd-why-section .pd-benefit span {
            font-size: 14px;
            line-height: 17px;
        }

        .pd-why-section .pd-benefit__lead {
            margin-bottom: 10px;
        }

        .pd-consult-section {
            padding: 35px 0 62px;
        }

        .pd-consult-form {
            box-sizing: border-box;
            width: 640px;
            height: 333px;
            min-height: 333px;
            padding: 40px 70px 45px;
        }

        .pd-consult-form h2 {
            width: max-content;
            max-width: none;
            margin: 0 0 15px;
            font-size: 58px;
            line-height: 58px;
            white-space: nowrap;
        }

        .pd-consult-form label {
            width: 500px;
        }

        .pd-consult-form input {
            height: 48px;
            min-height: 48px;
            font-size: 16px;
        }

        .pd-consult-form button {
            width: 500px;
            height: 48px;
            min-height: 48px;
            padding: 0;
        }

        .pd-consult-form__status:empty {
            display: none;
            min-height: 0;
            margin-top: 0;
        }

        .pd-feeding-heading-section .pd-feeding-title {
            font-size: 32px;
            line-height: 32px;
        }
    }

    .pd-benefit-grid,
    .pd-product-grid,
    .pd-proof-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pd-proof--image {
        grid-row: auto;
    }

    .pd-buy-title,
    .pd-faq-title,
    .pd-feeding-title,
    .pd-tariffs-title {
        font-size: 48px;
    }

    .pd-buy-text {
        max-width: 765px;
        font-size: 16px;
    }

    .pd-footer__grid {
        grid-template-columns: minmax(120px, .75fr) minmax(145px, .85fr) minmax(190px, 1fr);
        grid-template-areas:
            "cat dog about"
            "main main social"
            "contacts contacts mark"
            "copy copy copy";
        gap: 24px 28px;
    }

    .pd-footer__col--cat {
        grid-area: cat;
    }

    .pd-footer__col--dog {
        grid-area: dog;
    }

    .pd-footer__col--main {
        grid-area: main;
        grid-template-columns: repeat(2, minmax(110px, 1fr));
        gap: 9px 22px;
        margin-top: 0;
    }

    .pd-footer__col--about {
        grid-area: about;
    }

    .pd-footer__social {
        grid-area: social;
        margin-top: 0;
    }

    .pd-footer__contacts {
        grid-area: contacts;
        max-width: none;
    }

    .pd-footer__mark {
        grid-area: mark;
        justify-self: start;
        width: 260px;
        margin-top: 0;
    }

    .pd-footer__copy {
        grid-area: copy;
        margin-top: 0;
    }

    /* Планшет (>=641px): каталог 3 в ряд (как на десктопе и у донора), а не 4 —
       при 4-в-ряд карточки были тесные/не влезали. На <=640 остаётся 2 в ряд. */
    .pd-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pd-info-page--calculator .pd-info-product-grid.pd-product-grid {
        grid-template-columns: repeat(2, 280px);
        justify-content: center;
        gap: 90px 64px;
    }

    .pd-info-page--calculator .pd-info-product-grid .pd-product-card {
        box-sizing: border-box;
        width: 280px;
        min-height: 588px;
        min-width: 0;
        padding: 0;
    }

    .pd-info-page--calculator .pd-info-product-grid .pd-product-card__image {
        width: 280px;
        height: 308px;
        aspect-ratio: auto;
    }

    .pd-products-title {
        gap: 15px;
        width: min(760px, 100%);
        font-size: 58px;
        line-height: 1;
        letter-spacing: 1px;
    }

    .pd-products-title::before {
        flex-basis: 56px;
        width: 56px;
        height: 46px;
    }

    .pd-products-title__text {
        flex-basis: auto;
        transform: none;
    }

    .pd-tariff-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pd-charity-shell,
    .pd-charity-how__inner,
    .pd-charity-products {
        width: calc(100% - 48px);
    }

    .pd-charity-hero {
        grid-template-columns: minmax(0, 0.92fr) minmax(0, 1fr);
        gap: 36px;
    }

    .pd-charity-hero__content h1 {
        font-size: 64px;
    }

    .pd-charity-hero__text,
    .pd-charity-how__text {
        font-size: 17px;
    }

    .pd-charity-products__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 641px) and (max-width: 980px) {
    .pd-subscription-content--hero .pd-subscription-shell {
        width: 100%;
        padding: 0;
    }

    .pd-subscription-content--hero .pd-subscription-hero {
        grid-template-columns: 338px 320px;
        min-height: 365px;
        gap: 20px;
        justify-content: start;
        align-items: center;
        padding: 0 35px;
        text-align: left;
    }

    .pd-subscription-content--hero .pd-subscription-hero__media img {
        width: 318px;
        max-height: 305px;
        margin: 0;
    }

    .pd-subscription-content--hero .pd-subscription-title {
        font-size: 48px;
        line-height: 0.92;
    }

    .pd-subscription-content--hero .pd-subscription-hero__content p {
        max-width: 270px;
        margin: 12px 0 0;
        font-size: 15px;
        line-height: 1.24;
    }

    .pd-subscription-content--notice .pd-subscription-shell--notice {
        width: 616px;
        padding-top: 53px;
        padding-bottom: 37px;
    }

    .pd-subscription-content--notice .pd-subscription-notice {
        display: flex;
        min-height: 275px;
        align-items: center;
        justify-content: center;
        padding: 0 54px;
        border-radius: 27px;
    }

    .pd-subscription-content--notice .pd-subscription-notice p {
        font-size: 20px;
        line-height: 1.4;
    }

    .pd-subscription-content--steps .pd-subscription-shell--steps {
        box-sizing: border-box;
        width: 100%;
        padding: 31px 28px 73px;
    }

    .pd-subscription-content--steps .pd-subscription-steps {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        max-width: 640px;
        gap: 32px;
    }

    .pd-subscription-content--steps .pd-subscription-step {
        gap: 14px;
    }

    .pd-subscription-content--steps .pd-subscription-step img {
        width: 125px;
    }

    .pd-subscription-content--steps .pd-subscription-step span {
        font-size: 16px;
        line-height: 1.25;
    }

    .pd-subscription-content--manage .pd-subscription-shell--manage {
        box-sizing: border-box;
        width: 100%;
        padding: 39px 40px 71px;
    }

    .pd-subscription-content--manage .pd-subscription-manage {
        max-width: none;
    }

    .pd-subscription-content--manage .pd-subscription-manage h2 {
        max-width: none;
        margin-bottom: 11px;
        font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
        font-size: 66px;
        font-weight: 400;
        line-height: 0.86;
    }

    .pd-subscription-content--manage .pd-subscription-manage__text {
        max-width: 680px;
        font-size: 15px;
        line-height: 1.24;
    }

    .pd-subscription-content--manage .pd-subscription-cta {
        min-width: 185px;
        min-height: 45px;
        margin-top: 12px;
        padding: 0 24px;
        font-size: 15px;
    }
}

@media (max-width: 640px) {
    .pd-container {
        width: min(100% - 20px, 1200px);
    }

    .pd-section--tight {
        padding: 32px 0 48px;
    }

    .pd-header__notice {
        height: 14px;
    }

    .pd-header {
        position: sticky;
        top: 0;
    }

    .pd-header__notice-track {
        height: 14px;
        animation-duration: 24s;
    }

    .pd-header__notice-track span {
        min-height: 14px;
        line-height: 14px;
    }

    .pd-header__bar {
        grid-template-rows: 42px auto;
        min-height: 42px;
        row-gap: 0;
    }

    .pd-header__logo img {
        width: 59px;
    }

    .pd-icon-link,
    .pd-cart-link,
    .pd-icon-link__person,
    .pd-cart-link__icon {
        width: 22px;
        height: 22px;
    }

    .pd-section {
        padding: 48px 0;
    }

    .pd-buy-section {
        padding: 75px 0 59px;
    }

    .pd-buy-section .pd-container {
        width: 100%;
    }

    .pd-buy-title,
    .pd-faq-title {
        left: auto;
        width: auto;
        font-size: 36px;
        line-height: 0.85;
        white-space: normal;
        transform: none;
    }

    .pd-buy-title {
        width: 320px;
        max-width: none;
        line-height: 29px;
    }

    .pd-buy-text {
        width: 302px;
        max-width: 302px;
        margin: 5px auto 0;
        font-family: Inter, Arial, sans-serif;
        font-size: 14px;
        line-height: 17px;
    }

    .pd-faq-section {
        padding: 0 0 45px;
    }

    .pd-faq-heading-section {
        padding: 68px 0 13px;
    }

    .pd-faq-heading-section .pd-container {
        width: 100%;
    }

    .pd-faq-title {
        width: 320px;
        max-width: none;
        margin: 0;
        line-height: 29px;
    }

    .pd-faq {
        width: 280px;
        max-width: 280px;
    }

    @media (min-width: 360px) {
        .pd-faq {
            width: 335px;
            max-width: 335px;
        }
    }

    .pd-faq details {
        margin-bottom: 8px;
        border-radius: 20px;
    }

    .pd-faq summary {
        min-height: 0;
        padding: 10px 50px 10px 15px;
        font-family: Inter, Arial, sans-serif;
        font-size: 14px;
        line-height: 16.1px;
    }

    .pd-faq summary::after {
        right: 17px;
        width: 22px;
        height: 22px;
        background:
            linear-gradient(var(--pd-green), var(--pd-green)) center / 12px 2px no-repeat,
            linear-gradient(var(--pd-green), var(--pd-green)) center / 2px 12px no-repeat;
    }

    .pd-faq details > div {
        padding-right: 42px;
        font-size: 14px;
    }

    .pd-benefit-grid,
    .pd-product-grid,
    .pd-proof-grid {
        grid-template-columns: 1fr;
    }

    .pd-about-section {
        padding: 44px 0 41px;
    }

    .pd-about-grid {
        min-height: 0;
        display: block;
        padding-left: 0;
        text-align: left;
    }

    .pd-about-grid .pd-section-title {
        max-width: 212px;
        margin: 0 auto 7px 0;
        font-size: 48px;
        line-height: 43px;
        text-align: left;
    }

    @media (min-width: 360px) {
        .pd-about-grid .pd-section-title {
            margin-left: 27px;
        }
    }

    .pd-about-grid .pd-section-text {
        width: 302px;
        max-width: 302px;
        margin: 0;
        font-family: Inter, Arial, sans-serif;
        font-size: 14px;
        line-height: 17px;
        text-align: left;
    }

    .pd-about-grid .pd-section-text p + p {
        margin-top: 17px;
    }

    .pd-about-rating {
        display: block;
        width: 254px;
        height: 38px;
        margin: 21px auto 0;
    }

    .pd-experts-section {
        height: 570px;
        padding: 0;
        overflow: hidden;
    }

    .pd-experts-heading-section {
        padding: 55px 0 3px;
    }

    .pd-experts-heading-section .pd-container {
        width: 100%;
    }

    .pd-experts-title {
        width: 320px;
        margin-bottom: 0;
        font-size: 48px;
        line-height: 46px;
        letter-spacing: 2.5px;
    }

    .pd-experts-gallery--desktop {
        display: none;
    }

    .pd-experts-slider:not(.pd-experts-slider--mobile) {
        display: none;
    }

    .pd-experts-slider--mobile {
        display: block;
        width: 100%;
        margin: 0;
    }

    .pd-experts-gallery--mobile {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: 318px;
        gap: 0;
        width: 318px;
        height: 577px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -ms-overflow-style: none;
        transform: translate(1px, -3px);
    }

    .pd-experts-gallery--mobile::-webkit-scrollbar {
        display: none;
    }

    .pd-experts-gallery--mobile > img {
        scroll-snap-align: center;
    }

    @media (min-width: 360px) {
        .pd-experts-gallery--mobile {
            transform: translate(29px, -3px);
        }
    }

    .pd-experts-section .pd-container {
        width: 100%;
    }

    .pd-experts-slider--mobile .pd-experts-dots {
        display: none;
    }

    .pd-experts-slider--mobile {
        position: relative;
    }

    .pd-experts-slider--mobile .pd-experts-arrow {
        display: block;
    }

    .pd-experts-slider--mobile .pd-experts-arrow--prev {
        left: 6px;
    }

    .pd-experts-slider--mobile .pd-experts-arrow--next {
        right: 6px;
    }

    .pd-products-heading-section {
        height: auto;
        padding: 31px 0 20px;
    }

    .pd-products-heading-section .pd-container {
        width: 100%;
    }

    .pd-products-heading-section .pd-products-head {
        margin-bottom: 0;
    }

    .pd-products-title {
        flex-direction: column;
        align-items: center;
        gap: 15px;
        width: min(309px, 100%);
        margin-left: 8px;
        margin-right: 0;
        font-size: 48px;
        line-height: 41px;
        letter-spacing: 0.2px;
        text-align: center;
    }

    @media (min-width: 360px) {
        .pd-products-title {
            margin-left: 35px;
        }
    }

    .pd-products-title::before {
        flex-basis: 41px;
        width: 50px;
        height: 41px;
    }

    .pd-products-title__text {
        flex-basis: auto;
        width: auto;
        transform: none;
        transform-origin: center top;
    }

    .pd-why-section {
        position: relative;
        height: 850px;
        padding: 0;
    }

    .pd-why-section .pd-container {
        position: relative;
        width: 100%;
        height: 100%;
    }

    .pd-why-title {
        position: absolute;
        top: 50px;
        left: calc(50% - 150px);
        width: 300px;
        margin: 0;
        font-size: 54px;
        line-height: 60px;
    }

    .pd-benefit-grid {
        display: block;
    }

    .pd-benefit {
        position: absolute;
        left: calc(50% - 152px);
        display: grid;
        grid-template-columns: 74px 220px;
        column-gap: 9px;
        width: 303px;
        min-height: 0;
        padding: 0;
    }

    .pd-benefit:nth-child(1) {
        top: 122px;
    }

    .pd-benefit:nth-child(2) {
        top: 245px;
    }

    .pd-benefit:nth-child(3) {
        top: 362px;
    }

    .pd-benefit:nth-child(4) {
        top: 513px;
    }

    .pd-benefit:nth-child(5) {
        top: 647px;
    }

    .pd-benefit:nth-child(6) {
        top: 743px;
    }

    .pd-benefit img {
        position: static;
        grid-row: 1 / 3;
        justify-self: start;
        width: 74px;
        height: 74px;
    }

    .pd-benefit:nth-child(1) img {
        margin-top: 7px;
    }

    .pd-benefit:nth-child(2) img {
        margin-top: -1px;
    }

    .pd-benefit:nth-child(3) img {
        margin-top: 17px;
    }

    .pd-benefit:nth-child(4) img {
        margin-top: 4px;
    }

    .pd-benefit:nth-child(5) img {
        margin-top: -17px;
    }

    .pd-benefit:nth-child(6) img {
        margin-top: -5px;
    }

    .pd-benefit b {
        margin: 0 0 9px;
        font-size: 20px;
        line-height: 20px;
    }

    .pd-benefit:nth-child(1) b {
        line-height: 23px;
    }

    .pd-benefit span {
        font-size: 14px;
        line-height: 17px;
    }

    .pd-benefit__lead {
        margin: 0;
    }

    .pd-benefit .pd-benefit__text {
        display: none;
    }

    .pd-product-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 12px;
        margin: 0;
        padding: 0;
        overflow: visible;
    }

    .pd-product-card {
        width: 100%;
        min-width: 0;
    }

    .pd-products-section {
        padding: 0 0 30px;
    }

    .pd-products-section .pd-container {
        width: 100%;
    }

    .pd-products-section .pd-product-grid {
        grid-template-columns: repeat(2, 150px);
        gap: 90px 0;
        margin-left: 10px;
    }

    .pd-products-section .pd-product-card {
        box-sizing: border-box;
        width: 150px;
        min-height: 501px;
        min-width: 0;
        padding: 0 10px;
    }

    .pd-products-section .pd-product-card__image {
        width: 130px;
        height: 143px;
        aspect-ratio: auto;
    }

    .pd-products-section .pd-product-card__price {
        font-size: 16px;
        line-height: 21.6px;
    }

    .pd-products-section .pd-product-card__name {
        font-size: 14px;
        line-height: 18.9px;
    }

    .pd-products-section .pd-product-card__desc {
        display: block;
        min-height: 87px;
        margin-top: 8px;
        font-size: 14px;
        line-height: 21.7px;
    }

    .pd-products-section .pd-product-card__actions {
        display: flex;
        flex-direction: column;
        width: 130px;
        gap: 8px;
        align-items: flex-start;
        align-self: stretch;
        margin-top: auto;
        padding-top: 0;
        transform: translateY(18px);
    }

    .pd-products-section .pd-product-card__more {
        width: 130px;
        min-height: 50px;
        padding: 0 12px;
    }

    .pd-products-section .pd-product-card__qty {
        width: 130px;
        height: 50px;
        grid-template-columns: 30px 1fr 30px;
    }

    .pd-products-section .pd-product-card__buy {
        width: 70px;
        height: 50px;
        min-height: 50px;
    }

    .pd-products-section .pd-product-card__buy::before {
        width: 20px;
        height: 20px;
    }

    @media (min-width: 360px) {
        .pd-products-section .pd-product-grid {
            grid-template-columns: repeat(2, 177.5px);
        }

        .pd-products-section .pd-product-card {
            width: 177.5px;
        }

        .pd-products-section .pd-product-card__image {
            width: 157.5px;
            height: 173.25px;
        }

        .pd-products-section .pd-product-card__actions,
        .pd-products-section .pd-product-card__more,
        .pd-products-section .pd-product-card__qty {
            width: 157.5px;
        }
    }

    /* Особенности здоровья (condition) product cards = homepage cards on mobile */
    .pd-info-page--health-category .pd-info-product-grid.pd-product-grid {
        grid-template-columns: repeat(2, 150px);
        gap: 40px 0;
        justify-content: center;
        margin: 0;
    }

    .pd-info-page--health-category .pd-product-card {
        box-sizing: border-box;
        width: 150px;
        /* без жёсткой резервной высоты: карточка по контенту, без пустого низа
           (степпер «в корзине» растит карточку вниз при добавлении) */
        min-height: 0;
        min-width: 0;
        padding: 0 10px;
    }

    .pd-info-page--health-category .pd-product-card__image {
        width: 130px;
        height: 143px;
        aspect-ratio: auto;
    }

    .pd-info-page--health-category .pd-product-card__price {
        font-size: 16px;
        line-height: 21.6px;
    }

    .pd-info-page--health-category .pd-product-card__name {
        /* резерв под 2 строки: имена 1 и 2 строк не должны разъезжать кнопки по высоте */
        min-height: 37.8px;
        font-size: 14px;
        line-height: 18.9px;
    }

    .pd-info-page--health-category .pd-product-card__desc {
        display: block;
        min-height: 87px;
        margin-top: 8px;
        font-size: 14px;
        line-height: 21.7px;
    }

    .pd-info-page--health-category .pd-product-card__actions {
        display: flex;
        flex-direction: column;
        width: 130px;
        gap: 8px;
        align-items: flex-start;
        align-self: stretch;
        /* Кнопки сразу под описанием (top-anchor), без большого зарезервированного
           отступа сверху. Степпер «в корзине» появляется НИЖЕ и растит карточку вниз,
           не сдвигая кнопки вверх (раньше margin-top:auto прижимал блок к низу). */
        margin-top: 18px;
        padding-top: 0;
        transform: none;
    }

    .pd-info-page--health-category .pd-product-card__more {
        width: 130px;
        min-height: 50px;
        padding: 0 12px;
    }

    .pd-info-page--health-category .pd-product-card__qty {
        width: 130px;
        height: 50px;
        grid-template-columns: 30px 1fr 30px;
    }

    .pd-info-page--health-category .pd-product-card__buy {
        width: 70px;
        height: 50px;
        min-height: 50px;
    }

    .pd-info-page--health-category .pd-product-card__buy::before {
        width: 20px;
        height: 20px;
    }

    @media (min-width: 360px) {
        .pd-info-page--health-category .pd-info-product-grid.pd-product-grid {
            grid-template-columns: repeat(2, 177.5px);
        }

        .pd-info-page--health-category .pd-product-card {
            width: 177.5px;
        }

        .pd-info-page--health-category .pd-product-card__image {
            width: 157.5px;
            height: 173.25px;
        }

        .pd-info-page--health-category .pd-product-card__actions,
        .pd-info-page--health-category .pd-product-card__more,
        .pd-info-page--health-category .pd-product-card__qty {
            width: 157.5px;
        }
    }

    /* /ratcioni-dlya-koshek/ (cat-rations) product cards = homepage cards on mobile.
       Without this the page falls to the desktop card (211px actions in a 154px card → the
       qty stepper + cart overflow and collide). Mirrors the homepage / health-category card. */
    .pd-info-page--cat-rations .pd-info-product-grid.pd-product-grid {
        grid-template-columns: repeat(2, 150px);
        gap: 90px 0;
        justify-content: center;
        margin: 0;
    }

    .pd-info-page--cat-rations .pd-product-card {
        box-sizing: border-box;
        width: 150px;
        min-height: 501px;
        min-width: 0;
        padding: 0 10px;
    }

    .pd-info-page--cat-rations .pd-product-card__image {
        width: 130px;
        height: 143px;
        aspect-ratio: auto;
    }

    .pd-info-page--cat-rations .pd-product-card__price {
        font-size: 16px;
        line-height: 21.6px;
    }

    .pd-info-page--cat-rations .pd-product-card__name {
        font-size: 14px;
        line-height: 18.9px;
    }

    .pd-info-page--cat-rations .pd-product-card__desc {
        display: block;
        min-height: 87px;
        margin-top: 8px;
        font-size: 14px;
        line-height: 21.7px;
    }

    .pd-info-page--cat-rations .pd-product-card__actions {
        display: flex;
        flex-direction: column;
        width: 130px;
        gap: 8px;
        align-items: flex-start;
        align-self: stretch;
        margin-top: auto;
        padding-top: 0;
        transform: translateY(18px);
    }

    .pd-info-page--cat-rations .pd-product-card__more {
        width: 130px;
        min-height: 50px;
        padding: 0 12px;
    }

    .pd-info-page--cat-rations .pd-product-card__qty {
        width: 130px;
        height: 50px;
        grid-template-columns: 30px 1fr 30px;
    }

    .pd-info-page--cat-rations .pd-product-card__buy {
        width: 70px;
        height: 50px;
        min-height: 50px;
    }

    .pd-info-page--cat-rations .pd-product-card__buy::before {
        width: 20px;
        height: 20px;
    }

    @media (min-width: 360px) {
        .pd-info-page--cat-rations .pd-info-product-grid.pd-product-grid {
            grid-template-columns: repeat(2, 177.5px);
        }

        .pd-info-page--cat-rations .pd-product-card {
            width: 177.5px;
        }

        .pd-info-page--cat-rations .pd-product-card__image {
            width: 157.5px;
            height: 173.25px;
        }

        .pd-info-page--cat-rations .pd-product-card__actions,
        .pd-info-page--cat-rations .pd-product-card__more,
        .pd-info-page--cat-rations .pd-product-card__qty {
            width: 157.5px;
        }
    }

    .pd-feeding-section {
        padding-top: 34px;
    }

    .pd-feeding-title,
    .pd-consult-form h2,
    .pd-tariffs-title {
        font-size: 36px;
    }

    .pd-feeding-title {
        position: absolute;
        top: -36px;
        left: calc(50% - 133px);
        width: 267px;
        height: 60px;
        margin: 0;
        font-family: Inter, Arial, sans-serif;
        font-size: 27px;
        line-height: 30px;
    }

    .pd-feeding-heading-section {
        position: relative;
        height: 39px;
        padding: 0;
        overflow: visible;
    }

    .pd-feeding-heading-section .pd-container {
        position: relative;
        width: 100%;
        height: 24px;
    }

    .pd-tariffs-title {
        font-size: 60px;
    }

    .pd-consult-section {
        padding: 35px 0 66px;
    }

    .pd-consult-section .pd-container {
        width: 100%;
    }

    .pd-consult-form {
        box-sizing: border-box;
        width: 320px;
        min-height: 369px;
        padding: 25px 10px 36px;
        border-color: #5b7561;
        border-radius: 22px;
    }

    .pd-consult-form h2 {
        left: auto;
        width: 311px;
        max-width: none;
        margin: 0 0 24px -5px;
        font-size: 48px;
        line-height: 41px;
        white-space: normal;
        transform: none;
    }

    .pd-consult-form input {
        min-height: 50px;
        font-size: 14px;
    }

    .pd-consult-form__agree {
        font-size: 12px;
    }

    .pd-consult-form label {
        width: 300px;
    }

    .pd-consult-form label.pd-consult-form__agree {
        grid-template-columns: 20px 1fr;
        align-items: center;
        gap: 10px;
        font-size: 12px;
    }

    .pd-consult-form__agree input {
        width: 20px;
        height: 20px;
        min-height: 0;
    }

    .pd-consult-form button {
        width: 300px;
        height: 48px;
        min-height: 48px;
    }

    .pd-consult-form__status:empty {
        display: none;
        min-height: 0;
        margin-top: 0;
    }

    .pd-feeding-table {
        overflow-x: auto;
        border-width: 1px;
    }

    .pd-feeding-cta-section {
        padding: 18px 0 62px;
    }

    .pd-feeding-cta {
        width: 208px;
        min-width: 208px;
        min-height: 55px;
        padding: 0;
        font-family: Inter, Arial, sans-serif;
        font-size: 14px;
        line-height: 17.5px;
        text-align: center;
    }

    .pd-feeding-row {
        min-width: 560px;
    }

    .pd-feeding-row span {
        padding: 11px 8px;
        font-size: 14px;
    }

    .pd-consult-form__fields {
        grid-template-columns: 1fr;
    }

    .pd-tariff-card {
        width: 234px;
        height: auto;
        /* было 366px — описание у «наборов»/«подписки» (~404px, по дизайну под кнопкой)
           вылезало за карточку. Растим карточку под контент. */
        min-height: 410px;
        padding: 0;
    }

    .pd-tariff-grid {
        display: grid;
        grid-template-columns: repeat(4, 234px);
        justify-content: start;
        gap: 8px;
        margin: 0;
        padding: 1px 0 0;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

    @media (min-width: 360px) {
        .pd-tariff-grid {
            padding-left: 28px;
            scroll-snap-type: none;
        }
    }

    .pd-tariff-grid::-webkit-scrollbar {
        display: none;
    }

    .pd-tariff-card {
        scroll-snap-align: start;
    }

    .pd-tariffs-section {
        padding: 0 0 98px;
    }

    .pd-tariffs-section .pd-container {
        width: 100%;
    }

    .pd-tariff-card h3,
    .pd-tariff-card__lead,
    .pd-tariff-card__label,
    .pd-tariff-card__desc,
    .pd-tariff-card a,
    .pd-tariff-card img {
        position: absolute;
        z-index: 1;
        margin: 0;
    }

    .pd-tariff-card h3 {
        left: 16px;
        top: 16px;
        width: 218px;
        max-width: 218px;
        min-height: 0;
        font-size: 56px;
        line-height: 48px;
    }

    .pd-tariff-card--tariff-welcome h3 {
        width: 204px;
        max-width: 204px;
        line-height: 50px;
    }

    .pd-tariff-card--tariff-subscription h3 {
        line-height: 50px;
    }

    .pd-tariff-card__lead {
        left: 16px;
        top: 119px;
        max-width: 150px;
        min-height: 0;
        font-family: Inter, Arial, sans-serif;
        font-size: 24px;
        line-height: 25px;
    }

    .pd-tariff-card--tariff-sets .pd-tariff-card__lead {
        top: 116px;
        max-width: 114px;
        min-height: 0;
    }

    .pd-tariff-card--tariff-custom .pd-tariff-card__lead {
        top: 116px;
        max-width: 196px;
    }

    .pd-tariff-card--tariff-subscription .pd-tariff-card__lead {
        top: 70px;
        max-width: 162px;
        min-height: 0;
    }

    .pd-tariff-card__label {
        left: 16px;
        top: 239px;
        min-height: 0;
        font-family: Inter, Arial, sans-serif;
        font-size: 20px;
        line-height: 20px;
    }

    .pd-tariff-card__desc {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        max-height: 36px;
        overflow: hidden;
        left: 16px;
        top: 264px;
        max-width: 181px;
        min-height: 0;
        font-family: Inter, Arial, sans-serif;
        font-size: 14px;
        line-height: 16px;
    }

    .pd-tariff-card--tariff-sets .pd-tariff-card__desc,
    .pd-tariff-card--tariff-subscription .pd-tariff-card__desc {
        top: 248px;
        max-width: 208px;
    }

    .pd-tariff-card--tariff-custom .pd-tariff-card__desc {
        top: 264px;
        max-width: 178px;
    }

    .pd-tariff-card a {
        left: 16px;
        top: 306px;
        bottom: auto;
        width: 202px;
        height: 44px;
        min-height: 44px;
        font-family: Inter, Arial, sans-serif;
        font-size: 16px;
        line-height: 24.8px;
    }

    .pd-tariff-card--tariff-welcome img {
        right: 4px;
        top: 121px;
        width: 119px;
        height: 129px;
    }

    .pd-tariff-card--tariff-sets img {
        right: 15px;
        top: 135px;
        width: 142px;
        height: 106px;
    }

    .pd-tariff-card--tariff-custom img {
        right: 10px;
        top: 190px;
        width: 53px;
        height: 106px;
    }

    .pd-tariff-card--tariff-subscription img {
        right: 33px;
        top: 158px;
        width: 165px;
        height: 73px;
    }

    .pd-category-card {
        flex: 0 0 285px;
        min-height: 0;
        aspect-ratio: 285 / 277;
        border-radius: 20px;
        scroll-snap-align: start;
    }

    .pd-category-grid {
        display: flex;
        gap: 8px;
        margin: 0 -10px;
        padding: 0 10px 8px;
        overflow-x: auto;
        scroll-snap-type: none;
        scrollbar-width: none;
    }

    #catalog-preview.pd-section--tight {
        padding: 8px 0 27px;
    }

    #catalog-preview .pd-category-grid {
        padding-left: 5px;
    }

    @media (min-width: 360px) {
        #catalog-preview .pd-category-grid {
            padding-left: 33px;
        }
    }

    .pd-category-grid::-webkit-scrollbar {
        display: none;
    }

    .pd-products-head {
        display: block;
    }

    .pd-faq-shell {
        width: calc(100% - 40px);
        padding: 20px 0 64px;
    }

    .pd-faq-breadcrumbs {
        margin-bottom: 26px;
        font-size: 12px;
    }

    .pd-faq-layout {
        display: grid;
        grid-template-columns: 1fr;
        gap: 54px;
    }

    .pd-faq-sidebar {
        justify-items: center;
        gap: 28px;
    }

    .pd-faq-sidebar h1 {
        width: min(300px, 100%);
        max-width: 300px;
        font-size: 48px;
        line-height: 0.96;
    }

    .pd-faq-nav {
        width: min(250px, 100%);
        justify-self: start;
        margin-left: 25px;
    }

    .pd-faq-nav a {
        padding: 8px 0 7px;
        font-size: 17px;
    }

    .pd-faq-illustration {
        width: min(253px, 78vw);
        margin-top: 0;
    }

    .pd-faq-content {
        gap: 34px;
    }

    .pd-faq-group {
        gap: 14px;
    }

    .pd-faq-group h2 {
        font-size: 34px;
    }

    .pd-faq-item summary {
        min-height: 37px;
        padding: 8px 48px 8px 15px;
        font-size: 14px;
        line-height: 1.15;
    }

    .pd-faq-item summary::after {
        right: 14px;
    }

    .pd-faq-item__body {
        padding: 0 16px 20px;
        font-size: 14px;
    }

    .pd-contacts-breadcrumbs {
        width: calc(100% - 40px);
        padding: 10px 0 37px;
        font-size: 12px;
    }

    .pd-contacts-main {
        display: flex;
        min-height: 0;
        flex-direction: column;
    }

    .pd-contacts-map {
        order: 1;
        height: 300px;
        min-height: 300px;
        max-height: 300px;
    }

    .pd-contacts-map iframe,
    .pd-contacts-map__canvas {
        height: 300px;
        min-height: 300px;
        max-height: 300px;
    }

    .pd-contacts-panel {
        order: 2;
        min-height: 0;
        justify-content: flex-start;
        padding: 30px 20px 35px;
    }

    .pd-contacts-panel h1 {
        margin-bottom: 28px;
        font-size: 24px;
        line-height: 1.1;
    }

    .pd-contacts-panel p {
        max-width: none;
        font-size: 14px;
        line-height: 1.45;
    }

    .pd-contacts-lead {
        font-size: 20px !important;
        margin-bottom: 34px !important;
    }

    .pd-contacts-legal-section {
        min-height: 101px;
        padding: 0 20px 75px;
    }

    .pd-contacts-legal {
        font-size: 12px !important;
        line-height: 1.4 !important;
    }

    .pd-subscription-shell {
        width: calc(100% - 40px);
        padding: 32px 0 72px;
    }

    .pd-subscription-shell--breadcrumbs {
        min-height: 113px;
        padding-top: 90px;
        padding-bottom: 0;
    }

    .pd-subscription-shell--content {
        padding-top: 0;
    }

    .pd-subscription-breadcrumbs {
        margin-bottom: 0;
        font-size: 14px;
    }

    .pd-subscription-hero {
        gap: 20px;
        margin-bottom: 0;
    }

    .pd-subscription-hero__media img {
        width: min(320px, 100%);
        max-height: none;
        margin: 0 auto;
    }

    .pd-subscription-hero__content h1,
    .pd-subscription-manage h2 {
        font-size: 48px;
        line-height: 0.96;
    }

    .pd-subscription-hero__content p {
        max-width: 335px;
        margin-top: 18px;
        font-size: 15px;
        line-height: 1.23;
    }

    .pd-subscription-notice {
        margin-bottom: 62px;
        padding: 42px 22px;
        border-radius: 28px;
    }

    .pd-subscription-shell--notice {
        width: calc(100% - 20px);
        padding-top: 51px;
        padding-bottom: 26px;
    }

    @media (min-width: 360px) {
        .pd-subscription-shell--notice {
            width: 300px;
        }
    }

    .pd-subscription-content--notice .pd-subscription-notice {
        margin-bottom: 0;
        padding-top: 37px;
        padding-bottom: 37px;
    }

    .pd-subscription-notice p {
        font-size: 15px;
        line-height: 1.52;
    }

    @media (min-width: 360px) {
        .pd-subscription-content--notice .pd-subscription-notice {
            padding-top: 60px;
            padding-bottom: 60px;
        }

        .pd-subscription-notice p {
            font-size: 14px;
            line-height: 1.48;
        }
    }

    .pd-subscription-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 34px 18px;
        margin-bottom: 15px;
    }

    @media (min-width: 360px) {
        .pd-subscription-shell--steps {
            padding-bottom: 60px;
        }
    }

    .pd-subscription-step {
        gap: 12px;
    }

    .pd-subscription-step img {
        width: min(146px, 100%);
    }

    .pd-subscription-step span {
        font-size: 15px;
        line-height: 1.18;
    }

    .pd-subscription-manage h2 {
        max-width: 320px;
        margin-bottom: 26px;
        font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
        font-size: 62px;
        font-weight: 400;
        line-height: 0.9;
    }

    .pd-subscription-shell--manage {
        width: 100%;
        padding-bottom: 46px;
    }

    .pd-subscription-manage__text {
        max-width: 335px;
        font-size: 15px;
        line-height: 1.25;
    }

    .pd-subscription-cta {
        min-width: min(214px, 100%);
        min-height: 43px;
        margin-top: 20px;
        padding: 0 22px;
        font-size: 15px;
    }

    @media (min-width: 360px) {
        .pd-subscription-shell--manage {
            padding-bottom: 78px;
        }
    }

    .pd-delivery-shell {
        width: calc(100% - 40px);
        padding-bottom: 0;
    }

    .pd-delivery-breadcrumbs {
        padding: 0 0 50px;
        font-size: 14px;
    }

    .pd-delivery-page h1 {
        max-width: 330px;
        margin: 0 auto 16px;
        font-size: 64px;
        line-height: 0.9;
        transform: none;
    }

    .pd-delivery-title-block {
        height: 112px;
    }

    .pd-delivery-map-block {
        height: 540px;
        min-height: 540px;
    }

    .pd-delivery-map-block .pd-delivery-shell {
        width: calc(100% - 40px);
    }

    .pd-delivery-map {
        height: 540px;
        margin-bottom: 71px;
    }

    .pd-delivery-map-block .pd-delivery-map {
        margin-bottom: 0;
    }

    .pd-delivery-map iframe {
        min-height: 540px;
    }

    .pd-delivery-summary {
        padding-top: 0;
        margin-bottom: 70px;
    }

    .pd-delivery-summary-block {
        height: auto;
        padding-bottom: 5px;
    }

    .pd-delivery-summary h2 {
        max-width: 304px;
        margin: 0 auto 13px;
        font-size: 24px;
        line-height: 1.08;
    }

    .pd-delivery-summary p {
        font-size: 12px;
        line-height: 1.4;
    }

    .pd-delivery-summary__zones {
        max-width: 325px;
    }

    .pd-delivery-summary__button {
        width: 318px;
        max-width: 100%;
        min-width: 0;
        margin-top: 6px;
        margin-bottom: 21px;
        font-size: 12px;
    }

    .pd-delivery-summary__warning {
        max-width: 308px;
        line-height: 1.333;
    }

    .pd-delivery-details {
        display: grid;
        gap: 62px;
        min-height: 0;
        padding-bottom: 44px;
        text-align: center;
    }

    .pd-delivery-details__section {
        position: relative;
        top: auto;
        left: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: auto;
        min-height: 0;
        padding: 0;
    }

    .pd-delivery-details__section h2 {
        margin: 0 0 10px;
        font-size: 24px;
        line-height: 1.1;
    }

    .pd-delivery-details__section--delivery h2 {
        margin-top: 0;
    }

    .pd-delivery-details__text {
        max-width: 302px;
        font-size: 14px;
        line-height: 1.25;
    }

    .pd-delivery-details__image {
        order: -1;
        position: static;
        margin-right: auto;
        margin-left: auto;
    }

    .pd-delivery-details__image--pickup {
        width: min(231px, 100%);
        margin-top: 9px;
        margin-bottom: 12px;
    }

    .pd-delivery-details__image--payment {
        width: min(278px, 100%);
        margin-bottom: 4px;
    }

    @media (max-width: 359px) {
        .pd-delivery-details {
            padding-bottom: 24px;
        }

        .pd-delivery-details__image--payment {
            width: min(232px, 100%);
        }
    }

    .pd-about-info-shell {
        width: calc(100% - 40px);
        padding: 30px 0 72px;
    }

    .pd-about-info-breadcrumbs {
        margin-bottom: 48px;
        font-size: 14px;
    }

    .pd-about-info-topmark {
        width: min(239px, 100%);
        margin-bottom: 30px;
    }

    .pd-about-info-hero {
        margin-bottom: 66px;
    }

    .pd-about-info-section {
        margin-bottom: 60px;
    }

    .pd-about-info-hero h1,
    .pd-about-info-section h2,
    .pd-about-info-history h2 {
        max-width: 376px;
        margin-bottom: 34px;
        font-size: 60px;
        line-height: 1;
    }

    .pd-about-info-section h2 {
        margin-bottom: 38px;
    }

    .pd-about-info-history h2 {
        margin-bottom: 42px;
    }

    .pd-about-info-text {
        gap: 22px;
        max-width: 460px;
        font-size: 18px;
        line-height: 1.2;
    }

    .pd-about-info-history__grid {
        gap: 36px;
    }

    .pd-about-info-history__row,
    .pd-about-info-history__row--reverse {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
        align-items: center;
    }

    .pd-about-info-history__media {
        border-radius: 16px;
    }

    .pd-about-info-history__media img {
        aspect-ratio: 220 / 360;
    }

    .pd-about-info-history__text {
        font-size: 14px;
        line-height: 1.24;
    }

    .pd-about-info-history__row--reverse .pd-about-info-history__text {
        text-align: center;
    }

    .pd-about-info-history__row--final .pd-about-info-history__text {
        padding-top: 0;
    }

    .pd-about-info-founder {
        margin-top: 24px;
    }

    .pd-about-info-founder b {
        font-size: 18px;
    }

    .pd-about-info-founder span {
        font-size: 14px;
    }

    .pd-about-info-founder img {
        width: min(247px, 100%);
    }

    .pd-production-shell {
        width: calc(100% - 40px);
        padding-bottom: 0;
    }

    .pd-production-breadcrumbs {
        padding: 16px 0 34px;
        font-size: 14px;
    }

    .pd-production-hero {
        margin-bottom: 0;
    }

    .pd-production-hero h1 {
        max-width: 270px;
        margin-bottom: 0;
        font-size: 60px;
        line-height: 0.85;
        letter-spacing: 1.5px;
        overflow-wrap: anywhere;
    }

    .pd-production-hero p {
        max-width: 280px;
        font-size: 16px;
        line-height: 1.3;
    }

    .pd-production-slider {
        margin: 23px 0 30px;
    }

    .pd-production-slide {
        grid-template-columns: 1fr;
        gap: 20px;
        align-items: start;
        align-content: start;
        text-align: center;
    }

    /* prod centers a 300px square photo per slide (not the full-width crop) */
    .pd-production-slide__media {
        width: min(100%, 300px);
        margin: 0 auto;
    }

    .pd-production-slide__media img {
        aspect-ratio: 300 / 300;
    }

    .pd-production-slide__content {
        max-width: 300px;
        margin: 0 auto;
    }

    .pd-production-slide__content h2 {
        margin-bottom: 28px;
        font-size: 28px;
        line-height: 1.23;
    }

    .pd-production-slide__text {
        font-size: 16px;
        line-height: 1.45;
    }

    .pd-production-arrow {
        top: 50%;
        width: 24px;
        height: 24px;
        border: 0;
        background: #e8e8e8;
    }

    .pd-production-arrow::before {
        width: 8px;
        height: 8px;
        border-top-color: #222;
        border-left-color: #222;
    }

    .pd-production-arrow--prev {
        left: 10px;
    }

    .pd-production-arrow--next {
        right: 10px;
    }

    /* prod runs the video full-bleed edge-to-edge (local was inset 20px);
       width:100vw is needed because the base rule pins it to width:100% */
    .pd-production-video {
        width: 100vw;
        margin-right: calc(50% - 50vw);
        margin-left: calc(50% - 50vw);
    }

    .pd-production-video iframe {
        height: min(56.25vw, 260px);
    }

    .pd-production-report {
        margin-top: 16px;
        font-size: 12px;
        text-align: left;
    }

    .pd-production-certification {
        margin-top: 35px;
        padding: 45px 35px 36px;
    }

    .pd-production-certification h2 {
        font-size: 28px;
        letter-spacing: 1.5px;
    }

    .pd-production-certification p {
        font-size: 16px;
        line-height: 21px;
    }

    .pd-production-certificates {
        gap: 22px;
        margin-top: 24px;
    }

    .pd-production-certificate {
        flex-basis: 202px;
    }

    .pd-charity-shell {
        width: calc(100% - 40px);
        padding-bottom: 68px;
    }

    .pd-charity-breadcrumbs {
        padding: 16px 0 34px;
        font-size: 14px;
    }

    .pd-charity-hero {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .pd-charity-hero__media {
        width: min(100%, 330px);
        margin: 0 auto;
        border-radius: 14px;
    }

    /* prod shows a landscape crop of the cat photo on phones (not the tall desktop crop) */
    .pd-charity-hero__media img {
        aspect-ratio: 303 / 248;
    }

    .pd-charity-hero__content {
        text-align: left;
    }

    .pd-charity-hero__content h1 {
        max-width: 330px;
        margin: 0 auto 24px;
        font-size: 48px;
        line-height: 0.9;
        text-align: center;
    }

    .pd-charity-hero__text {
        gap: 18px;
        font-size: 16px;
        line-height: 1.28;
    }

    .pd-charity-how__inner {
        width: calc(100% - 40px);
        padding: 52px 0 58px;
    }

    .pd-charity-how h2 {
        max-width: 290px;
        margin-bottom: 26px;
        font-size: 60px;
        line-height: 0.9;
    }

    .pd-charity-how__text {
        gap: 18px;
        font-size: 16px;
        line-height: 1.3;
        text-align: center;
    }

    .pd-charity-how__links {
        gap: 40px;
        justify-content: center;
    }

    /* narrow columns so each link wraps "Телеграм:" / name like prod */
    .pd-charity-how__links a {
        max-width: 84px;
        font-size: 14px;
    }

    .pd-charity-products {
        width: calc(100% - 40px);
        padding: 54px 0 72px;
    }

    .pd-charity-products__grid {
        gap: 12px;
    }

    .pd-info-page {
        padding: 12px 0 64px;
    }

    .pd-info-page--product-landing {
        padding-top: 0;
    }

    .pd-info-page__header h1 {
        font-size: 42px;
    }

    .pd-info-page__header p {
        font-size: 16px;
    }

    .pd-info-page__media {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .pd-info-page__content {
        padding: 24px 18px;
    }

    .pd-info-page__content h2 {
        font-size: 28px;
    }

    .pd-info-page__content p {
        font-size: 16px;
    }

    .pd-info-page__header--contacts,
    .pd-info-page__content--contacts,
    .pd-info-page__map-note {
        padding-left: 20px;
        padding-right: 20px;
    }

    .pd-info-page__content--product p:first-child {
        font-size: 42px;
    }

    .pd-info-catalog-grid,
    .pd-info-blog-index__grid,
    .pd-info-contacts {
        grid-template-columns: 1fr;
    }

    .pd-info-product-grid.pd-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 12px;
    }

    .pd-info-catalog-card {
        min-height: 132px;
    }

    .pd-info-catalog-card span {
        font-size: 24px;
    }

    .pd-info-page__header--calculator {
        text-align: center;
    }

    .pd-info-page--calculator .pd-info-breadcrumbs {
        height: 128px;
        margin-bottom: 0;
    }

    .pd-calculator {
        width: calc(100% + 32px);
        margin: 0 0 48px -16px;
        box-sizing: border-box;
        min-height: 514px;
        padding: 22px 0 0;
        border-radius: 0;
        background: transparent;
    }

    .pd-calculator__title {
        margin: 0 0 27px;
        font-size: 53px;
        line-height: 0.9;
    }

    .pd-calculator__title::after {
        content: "";
        display: block;
        width: 36px;
        height: 32px;
        margin: 10px auto 0;
        background-color: #ffc4b8;
        -webkit-mask: url("/local/assets/petdiet-pages/images/heart.svg") center / contain no-repeat;
        mask: url("/local/assets/petdiet-pages/images/heart.svg") center / contain no-repeat;
    }

    .pd-calculator__form {
        flex-direction: column;
        justify-content: flex-start;
        box-sizing: border-box;
        width: 100%;
        min-height: 258px;
        gap: 14px;
        padding: 21px 5px 24px;
        border-radius: 20px;
        background: #f1f5f3;
    }

    .pd-calculator__weight,
    .pd-calculator__results {
        flex: none;
        width: 100%;
    }

    .pd-calculator__weight {
        gap: 8px;
    }

    .pd-calculator__weight input[type="range"] {
        width: 222px;
        margin: 0 auto;
        accent-color: #078ed0;
    }

    .pd-calculator__weight-value {
        font-size: 20px;
    }

    .pd-calculator__results {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0;
    }

    .pd-calculator__results input {
        font-size: 40px;
    }

    .pd-calculator__results span {
        font-size: 11px;
        line-height: 1.2;
        white-space: nowrap;
    }

    .pd-info-products-title {
        font-size: 42px;
    }

    .pd-info-page--calculator .pd-info-products-title {
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        height: 150px;
        margin: 0;
        color: var(--pd-blue);
        font-family: "Extenda", "Roboto Condensed", Roboto, sans-serif;
        font-size: 55px;
        line-height: 0.9;
        font-weight: 400;
        letter-spacing: 1px;
        text-align: center;
        text-transform: uppercase;
    }

    .pd-info-page--calculator .pd-info-product-grid.pd-product-grid {
        grid-template-columns: repeat(2, 150px);
        gap: 90px 0;
        margin: 0 0 0 10px;
        overflow: visible;
    }

    .pd-info-page--calculator .pd-info-product-grid .pd-product-card {
        box-sizing: border-box;
        width: 150px;
        min-height: 501px;
        min-width: 0;
        padding: 0 10px;
    }

    .pd-info-page--calculator .pd-info-product-grid .pd-product-card__image {
        width: 130px;
        height: 143px;
        aspect-ratio: auto;
    }

    .pd-info-page--calculator .pd-info-product-grid .pd-product-card__price {
        font-size: 16px;
        line-height: 21.6px;
    }

    .pd-info-page--calculator .pd-info-product-grid .pd-product-card__name {
        font-size: 14px;
        line-height: 18.9px;
    }

    .pd-info-page--calculator .pd-info-product-grid .pd-product-card__desc {
        display: block;
        min-height: 87px;
        margin-top: 8px;
        font-size: 14px;
        line-height: 21.7px;
    }

    .pd-info-page--calculator .pd-info-product-grid .pd-product-card__actions {
        display: flex;
        flex-direction: column;
        width: 130px;
        gap: 8px;
        align-items: flex-start;
        align-self: stretch;
        margin-top: auto;
        padding-top: 0;
        transform: translateY(18px);
    }

    .pd-info-page--calculator .pd-info-product-grid .pd-product-card__more,
    .pd-info-page--calculator .pd-info-product-grid .pd-product-card__qty {
        width: 130px;
    }

    .pd-info-page--calculator .pd-info-product-grid .pd-product-card__more {
        min-height: 50px;
        padding: 0 12px;
    }

    .pd-info-page--calculator .pd-info-product-grid .pd-product-card__qty {
        height: 50px;
        grid-template-columns: 30px 1fr 30px;
    }

    .pd-info-page--calculator .pd-info-product-grid .pd-product-card__buy {
        width: 70px;
        height: 50px;
        min-height: 50px;
    }

    .pd-info-page--calculator .pd-info-product-grid .pd-product-card__buy::before {
        width: 20px;
        height: 20px;
    }

    @media (min-width: 360px) {
        .pd-info-page--calculator .pd-info-product-grid.pd-product-grid {
            grid-template-columns: repeat(2, 177.5px);
            margin-left: 10px;
        }

        .pd-info-page--calculator .pd-info-product-grid .pd-product-card {
            width: 177.5px;
        }

        .pd-info-page--calculator .pd-info-product-grid .pd-product-card__image {
            width: 157.5px;
            height: 173.25px;
        }

        .pd-info-page--calculator .pd-info-product-grid .pd-product-card__actions,
        .pd-info-page--calculator .pd-info-product-grid .pd-product-card__more,
        .pd-info-page--calculator .pd-info-product-grid .pd-product-card__qty {
            width: 157.5px;
        }
    }

    .pd-info-page--reviews {
        padding: 0 0 28px;
    }

    .pd-info-page--reviews .pd-container {
        width: calc(100% - 40px);
    }

    .pd-info-page--reviews .pd-info-breadcrumbs {
        margin-bottom: 27px;
        font-size: 16px;
    }

    .pd-info-reviews__hero {
        display: flex;
        flex-direction: column-reverse;
        gap: 8px;
        margin-bottom: 8px;
    }

    .pd-info-reviews__hero h1 {
        display: block;
        max-width: 340px;
        font-size: 60px;
        line-height: 0.9;
        letter-spacing: 2px;
        text-align: center;
        white-space: normal;
        transform: none;
    }

    .pd-info-reviews__heart {
        position: static;
        align-self: center;
        width: 30px;
        height: 26px;
        font-size: 0;
    }

    .pd-info-reviews__grid {
        gap: 10px;
        width: calc(100vw - 20px);
        margin-bottom: 38px;
    }

    .pd-info-review-card {
        flex-basis: 280px;
        height: 480px;
        padding: 30px;
        border-radius: 16px;
    }

    .pd-info-reviews__rating {
        margin-bottom: 24px;
        font-size: 20px;
    }

    .pd-info-review-card p {
        font-size: 12px;
        line-height: 1.45;
    }

    .pd-info-reviews__button {
        width: 190px;
        min-height: 56px;
        font-size: 14px;
    }

    .pd-info-reviews {
        position: relative;
    }

    .pd-swipe-hint--reviews {
        position: absolute;
        right: 10px;
        bottom: 16px;
    }

    .pd-info-primary-product {
        grid-template-columns: 1fr;
        padding: 20px;
    }

    .pd-info-primary-product__body {
        justify-items: center;
        text-align: center;
    }

    .pd-info-primary-product__body h2 {
        font-size: 28px;
    }

    .pd-info-contacts__panel,
    .pd-info-contacts__map {
        padding: 32px 20px;
    }

    .pd-info-delivery__intro {
        padding: 28px 20px;
    }

    .pd-info-delivery__intro h1 {
        font-size: 38px;
    }

    .pd-info-delivery__lead {
        font-size: 22px;
    }

    .pd-info-delivery__grid {
        grid-template-columns: 1fr;
    }

    .pd-info-delivery__grid article {
        padding: 20px;
    }

    .pd-info-contacts,
    .pd-info-contacts__map {
        min-height: 0;
    }

    .bx-sbb-empty-cart-container {
        padding: 52px 18px;
    }

    .bx-sbb-empty-cart-image {
        width: 88px;
        height: 88px;
    }

    .bx-sbb-empty-cart-text {
        font-size: 34px;
    }

    .pd-footer {
        padding: 24px 0 36px;
    }

    .pd-footer__grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        grid-template-areas:
            "cat dog"
            "about main"
            "contacts social"
            "contacts mark"
            "copy payment";
        gap: 24px 18px;
        padding-bottom: 48px;
        align-items: start;
    }

    .pd-footer__col--main {
        grid-template-columns: 1fr;
        grid-template-rows: none;
        grid-auto-flow: row;
    }

    .pd-footer__col--about {
        min-width: 0;
    }

    .pd-footer__contacts {
        display: grid;
        grid-template-columns: 1fr;
        align-content: start;
        max-width: none;
    }

    .pd-footer__col h2 {
        margin-bottom: 16px;
    }

    .pd-footer__mark {
        grid-area: mark;
        align-self: start;
        justify-self: start;
        width: 180px;
        margin: 0;
    }

    .pd-footer__payment {
        position: static;
        grid-area: payment;
        align-self: end;
        justify-self: start;
        left: auto;
        bottom: auto;
        margin: 0;
    }

    .pd-footer__copy {
        grid-area: copy;
        max-width: none;
        align-self: end;
        margin: 0;
    }
}

@media (max-width: 480px) {
    .pd-footer {
        padding-bottom: 36px;
    }
}

.pd-info-page__header h1 {
    font-family: Roboto, sans-serif;
    font-weight: 700;
}

/* ════ Mobile menu = prod's white right-side slide-in panel ════ */
@media (max-width: 980px) {
    .pd-header__nav {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: auto;
        display: flex;
        flex-direction: column;
        width: min(300px, 86vw);
        height: 100%;
        margin: 0;
        padding: 70px 0 30px;
        background: #fff;
        box-shadow: -10px 0 40px rgba(0, 0, 0, 0.14);
        transform: translateX(100%);
        transition: transform 0.32s ease;
        overflow-y: auto;
        z-index: 1200;
        grid-column: auto;
        grid-row: auto;
    }

    .pd-menu-open .pd-header__nav {
        display: flex;
        flex-direction: column;
        transform: translateX(0);
    }

    .pd-menu-overlay {
        position: fixed;
        inset: 0;
        background: rgba(43, 54, 48, 0.55);
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.32s ease;
        z-index: 1199;
    }

    .pd-menu-open .pd-menu-overlay {
        opacity: 1;
        visibility: visible;
    }

    .pd-menu-open {
        overflow: hidden;
    }

    .pd-menu__close {
        position: absolute;
        top: 18px;
        right: 22px;
        width: 30px;
        height: 30px;
        padding: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
    }

    .pd-menu__close::before,
    .pd-menu__close::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 26px;
        height: 2.5px;
        border-radius: 2px;
        background: var(--pd-green);
    }

    .pd-menu__close::before {
        transform: translate(-50%, -50%) rotate(45deg);
    }

    .pd-menu__close::after {
        transform: translate(-50%, -50%) rotate(-45deg);
    }

    .pd-menu {
        display: block;
        flex: 0 0 auto;
        padding: 0 25px;
        gap: 0;
    }

    .pd-menu__item {
        border: 0;
    }

    .pd-menu__link {
        display: block;
        height: auto;
        width: auto !important;
        padding: 9px 0;
        border: 0;
        color: var(--pd-green);
        font-family: 'Inter', 'Roboto', sans-serif;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.2;
        white-space: normal;
        text-decoration: none;
    }

    .pd-menu__item--active > .pd-menu__link,
    .pd-menu__link.t-active {
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    .pd-menu__item--has-children > .pd-menu__link {
        padding-right: 0;
    }

    .pd-menu__item--has-children > .pd-menu__link::after {
        content: "";
        position: static;
        display: inline-block;
        width: 7px;
        height: 7px;
        margin-left: 8px;
        border-right: 2px solid var(--pd-green);
        border-bottom: 2px solid var(--pd-green);
        transform: translateY(-2px) rotate(45deg);
        vertical-align: middle;
        transition: transform 0.2s ease;
    }

    /* caret follows is-open only — neutralize desktop hover/focus-within rotation on mobile */
    .pd-menu__item--has-children:hover > .pd-menu__link::after,
    .pd-menu__item--has-children:focus-within > .pd-menu__link::after {
        transform: translateY(-2px) rotate(45deg);
    }

    .pd-menu__item--has-children.is-open > .pd-menu__link::after {
        transform: translateY(1px) rotate(-135deg);
    }

    /* Submenu = prod's drill-down: a blue panel sliding over the nav, with back arrow + title */
    .pd-submenu {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: auto;
        width: min(300px, 86vw);
        height: 100%;
        min-width: 0;
        margin: 0;
        padding: 12px 0 30px;
        border: 0;
        border-radius: 0;
        background: #a9d0de;
        box-shadow: none;
        opacity: 1;
        visibility: hidden;
        transform: translateX(100%);
        transition: transform 0.3s ease;
        overflow-y: auto;
        pointer-events: none;
        z-index: 1210;
        display: block;
    }

    .pd-submenu .pd-submenu {
        top: 0;
        right: 0;
        bottom: 0;
        left: auto;
        width: min(300px, 86vw);
        min-width: 0;
        height: 100%;
        min-height: 0;
        padding: 12px 0 30px;
        border-radius: 0;
        background: #a9d0de;
        box-shadow: none;
        clip-path: none;
        transform: translateX(100%);
        z-index: 1220;
    }

    /* Mobile: desktop hover/focus-within must NOT reveal submenus — only the is-open drill-down does.
       (After "back", focus stays on the back button inside the panel → :focus-within kept it shown.) */
    .pd-menu__item:hover > .pd-submenu,
    .pd-menu__item:focus-within > .pd-submenu,
    .pd-submenu__item:hover > .pd-submenu,
    .pd-submenu__item:focus-within > .pd-submenu {
        visibility: hidden;
        transform: translateX(100%);
        pointer-events: none;
    }

    .pd-menu__item--has-children.is-open > .pd-submenu,
    .pd-submenu__item--has-children.is-open > .pd-submenu {
        transform: translateX(0);
        visibility: visible;
        pointer-events: auto;
    }

    .pd-submenu__head {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 38px;
        margin: 0 0 8px;
        padding: 0 46px 10px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.45);
    }

    .pd-submenu__title {
        font-family: 'Inter', 'Roboto', sans-serif;
        font-size: 14px;
        font-weight: 700;
        color: #fff;
        text-align: center;
    }

    .pd-submenu__back {
        position: absolute;
        left: 6px;
        top: 50%;
        width: 52px;
        height: 44px;
        margin-top: -22px;
        padding: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
        z-index: 2;
    }

    .pd-submenu__back::before {
        content: "";
        position: absolute;
        left: 13px;
        top: 50%;
        width: 17px;
        height: 2px;
        margin-top: -1px;
        background: #fff;
    }

    .pd-submenu__back::after {
        content: "";
        position: absolute;
        left: 13px;
        top: 50%;
        width: 8px;
        height: 8px;
        margin-top: -5px;
        border-left: 2px solid #fff;
        border-bottom: 2px solid #fff;
        transform: rotate(45deg);
    }

    .pd-submenu__link {
        display: block;
        height: auto;
        width: auto !important;
        padding: 9px 25px;
        border: 0;
        color: #fff;
        font-family: 'Inter', 'Roboto', sans-serif;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.2;
        white-space: normal;
        text-decoration: none;
    }

    .pd-submenu__item--has-children > .pd-submenu__link::after {
        content: "";
        position: static;
        display: inline-block;
        width: 7px;
        height: 7px;
        margin-left: 8px;
        border-right: 2px solid #fff;
        border-bottom: 2px solid #fff;
        transform: translateY(-2px) rotate(45deg);
        vertical-align: middle;
    }

    .pd-header__nav .t978__menu-item_arrow {
        display: none;
    }

    .pd-menu-social {
        display: flex;
        flex: 0 0 auto;
        gap: 14px;
        margin-top: auto;
        padding: 24px 25px 0;
    }

    .pd-menu-social a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        border-radius: 50%;
        background: #1f1f1f;
    }

    .pd-menu-social svg {
        width: 22px;
        height: 22px;
        fill: #fff;
    }
}

/* Desktop: hide mobile-only menu extras */
@media (min-width: 981px) {
    .pd-menu__close,
    .pd-menu-social,
    .pd-menu-overlay {
        display: none;
    }
}

/* Breadcrumbs match prod: 11px on desktop, 14px on mobile (was a too-big 16px).
   The class names are doubled to lift specificity above the per-page
   `.pd-info-page--X .pd-info-breadcrumbs` (0,2,0) rules so every page is covered. */
.pd-info-breadcrumbs.pd-info-breadcrumbs,
.pd-info-health-breadcrumbs.pd-info-health-breadcrumbs,
.pd-blog-breadcrumbs.pd-blog-breadcrumbs,
.pd-article-breadcrumbs.pd-article-breadcrumbs,
.pd-legal-breadcrumbs.pd-legal-breadcrumbs,
.pd-service-thanks-breadcrumbs.pd-service-thanks-breadcrumbs,
.pd-contacts-breadcrumbs.pd-contacts-breadcrumbs,
.pd-subscription-breadcrumbs.pd-subscription-breadcrumbs,
.pd-delivery-breadcrumbs.pd-delivery-breadcrumbs,
.pd-about-info-breadcrumbs.pd-about-info-breadcrumbs,
.pd-production-breadcrumbs.pd-production-breadcrumbs,
.pd-charity-breadcrumbs.pd-charity-breadcrumbs,
.pd-treats-breadcrumbs.pd-treats-breadcrumbs,
.pd-treats-product-breadcrumbs.pd-treats-product-breadcrumbs,
.pd-faq-breadcrumbs.pd-faq-breadcrumbs {
    font-size: 11px;
    font-weight: 400;
}

@media (max-width: 980px) {
    .pd-info-breadcrumbs.pd-info-breadcrumbs,
    .pd-info-health-breadcrumbs.pd-info-health-breadcrumbs,
    .pd-blog-breadcrumbs.pd-blog-breadcrumbs,
    .pd-article-breadcrumbs.pd-article-breadcrumbs,
    .pd-legal-breadcrumbs.pd-legal-breadcrumbs,
    .pd-service-thanks-breadcrumbs.pd-service-thanks-breadcrumbs,
    .pd-contacts-breadcrumbs.pd-contacts-breadcrumbs,
    .pd-subscription-breadcrumbs.pd-subscription-breadcrumbs,
    .pd-delivery-breadcrumbs.pd-delivery-breadcrumbs,
    .pd-about-info-breadcrumbs.pd-about-info-breadcrumbs,
    .pd-production-breadcrumbs.pd-production-breadcrumbs,
    .pd-charity-breadcrumbs.pd-charity-breadcrumbs,
    .pd-treats-breadcrumbs.pd-treats-breadcrumbs,
    .pd-treats-product-breadcrumbs.pd-treats-product-breadcrumbs,
    .pd-faq-breadcrumbs.pd-faq-breadcrumbs,
    .pd-info-page--welcome .pd-info-breadcrumbs.pd-info-breadcrumbs {
        font-size: 14px;
    }
}

/* Calculator breadcrumb = a normal line (prod), not the old 128px reserved block */
.pd-info-page--calculator .pd-info-breadcrumbs {
    height: auto;
    margin-bottom: 28px;
}

/* Service pages: collapse the padded "reserved" breadcrumb areas so the crumb sits
   compactly under the header like prod (these blocks were sized for hidden crumbs) */
@media (max-width: 980px) {
    .pd-subscription-shell--breadcrumbs {
        min-height: 0;
        padding-top: 14px;
    }

    .pd-delivery-breadcrumb-block {
        height: auto;
    }

    .pd-delivery-shell--breadcrumbs {
        height: auto;
    }

    .pd-production-breadcrumbs,
    .pd-charity-breadcrumbs,
    .pd-contacts-breadcrumbs {
        padding: 4px 0 16px;
    }
}

/* Desktop (ПК): every top-of-page breadcrumb sits ~14px below the header, like /podpiska/.
   The already-14px subscription crumb and the below-hero crumbs (about/treats) are excluded. */
@media (min-width: 981px) {
    .pd-info-breadcrumbs,
    .pd-delivery-breadcrumbs,
    .pd-production-breadcrumbs,
    .pd-charity-breadcrumbs,
    .pd-contacts-breadcrumbs,
    .pd-blog-breadcrumbs,
    .pd-article-breadcrumbs,
    .pd-legal-breadcrumbs,
    .pd-service-thanks-breadcrumbs,
    .pd-info-page--welcome .pd-info-breadcrumbs {
        margin-top: 14px;
    }

    .pd-contacts-breadcrumbs {
        padding-top: 0;
    }

    .pd-info-page--calculator {
        padding-top: 0;
    }

    /* category/sets crumb is centered (margin:0 auto), so the 14px comes from the wrapper */
    .pd-info-page--category {
        padding-top: 14px;
    }
}

/* Desktop: the JS-injected mobile drill-down header (back button + title) must not
   leak into the hover dropdowns — the reference desktop menu has no such row. */
@media (min-width: 981px) {
    .pd-submenu__head {
        display: none;
    }
}

/* Двухсостоянийный контрол корзины на узких карточках: «В корзине» и степпер — в столбик,
   степпер на всю ширину (иначе на ≤360px кнопка зажимается степпером ~90px и переносится). */
@media (max-width: 640px) {
    .pd-product-card__actions .pd-cart-ctl__incart { flex-direction: column; }
    .pd-product-card__actions .pd-cart-ctl__in { height: 50px; }
    .pd-product-card__actions .pd-cart-ctl__stepper {
        width: 100%;
        height: 50px;
        grid-template-columns: 48px 1fr 48px;
    }
}

/* End */


/* Start:/local/templates/petdiet/css/account.css?178228711530312*/
.pd-body--personal:not(.pd-body--checkout) {
    background: #f5eee2;
}

.pd-body--personal:not(.pd-body--checkout) .pd-main {
    background: #f5eee2;
}

.pd-account {
    --pd-account-cream: #f5eee2;
    --pd-account-cream-deep: #eadfcd;
    --pd-account-surface: #fff;
    --pd-account-surface-warm: #fcf8f1;
    --pd-account-ink: #211f1a;
    --pd-account-ink-soft: #423e36;
    --pd-account-muted: #6e695e;
    --pd-account-faint: #9c9486;
    --pd-account-line: #e6ddcd;
    --pd-account-line-soft: #f0e8da;
    --pd-account-green: #1f5b42;
    --pd-account-green-dark: #164230;
    --pd-account-green-tint: #e3ede7;
    --pd-account-green-tint-2: #c8ddd2;
    --pd-account-blue: #a9d1de;
    --pd-account-blue-deep: #5e9fb5;
    --pd-account-blue-tint: #e8f2f6;
    --pd-account-warm: #e8852e;
    --pd-account-warm-dark: #cc7120;
    --pd-account-warm-tint: #fbe7d2;
    --pd-account-shadow: 0 1px 2px rgba(33, 31, 26, 0.05), 0 1px 3px rgba(33, 31, 26, 0.04);
    --pd-account-shadow-lg: 0 12px 32px rgba(33, 31, 26, 0.1), 0 4px 10px rgba(33, 31, 26, 0.05);

    min-height: 72vh;
    padding: 28px 0 84px;
    color: var(--pd-account-ink);
    font-family: "Golos Text", Inter, Roboto, sans-serif;
}

.pd-account a {
    color: inherit;
    text-decoration: none;
}

.pd-account-hint {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 8px 0 0;
    color: var(--pd-account-green);
    font-size: 0.9rem;
    font-weight: 600;
}

.pd-account button,
.pd-account input {
    font: inherit;
}

.pd-account h1,
.pd-account h2,
.pd-account p,
.pd-account dl,
.pd-account dd {
    margin: 0;
}

.pd-account__layout {
    display: grid;
    grid-template-columns: 264px minmax(0, 760px);
    gap: 28px;
    align-items: start;
    width: min(1180px, calc(100% - 56px));
    margin: 0 auto;
}

.pd-account__sidebar {
    position: sticky;
    top: 112px;
    display: grid;
    gap: 14px;
}

.pd-account__content {
    min-width: 0;
}

.pd-account-panel {
    border: 1px solid var(--pd-account-line);
    border-radius: 20px;
    background: var(--pd-account-surface);
    box-shadow: var(--pd-account-shadow);
}

.pd-account-user-card {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
    padding: 18px;
}

.pd-account-avatar {
    display: grid;
    flex: 0 0 auto;
    width: 50px;
    height: 50px;
    place-items: center;
    border-radius: 50%;
    background: var(--pd-account-green-tint);
    color: var(--pd-account-green-dark);
    font-family: Nunito, "Golos Text", Inter, sans-serif;
    font-size: 18px;
    font-weight: 800;
}

.pd-account-avatar--lg {
    width: 76px;
    height: 76px;
    box-shadow: 0 0 0 4px var(--pd-account-surface), 0 0 0 5px var(--pd-account-line);
    font-size: 28px;
}

.pd-account-user-card__meta {
    min-width: 0;
}

.pd-account-user-card__meta strong,
.pd-account-user-card__meta span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pd-account-user-card__meta strong {
    color: var(--pd-account-ink);
    font-weight: 700;
}

.pd-account-user-card__meta span {
    margin-top: 2px;
    color: var(--pd-account-faint);
    font-size: 13px;
}

.pd-account-nav {
    display: grid;
    gap: 4px;
    padding: 10px;
}

.pd-account-nav__link {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 46px;
    padding: 12px 14px;
    border-radius: 12px;
    color: var(--pd-account-ink-soft);
    font-size: 15px;
    font-weight: 600;
}

.pd-account-nav__link:hover,
.pd-account-nav__link.is-active {
    background: var(--pd-account-green-tint);
    color: var(--pd-account-green-dark);
}

.pd-account-nav__link strong {
    display: grid;
    min-width: 20px;
    height: 20px;
    margin-left: auto;
    padding: 0 6px;
    place-items: center;
    border-radius: 999px;
    background: var(--pd-account-green);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}

.pd-account-nav__link--muted {
    color: var(--pd-account-muted);
}

.pd-account-pet-card {
    padding: 16px;
    background: linear-gradient(150deg, var(--pd-account-blue-tint), var(--pd-account-surface));
}

.pd-account-pet-card__title {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--pd-account-ink);
    font-weight: 700;
}

.pd-account-pet-card__title .pd-account-icon {
    color: var(--pd-account-blue-deep);
}

.pd-account-pet-card p {
    margin-top: 7px;
    color: var(--pd-account-muted);
    font-size: 13px;
    line-height: 1.45;
}

.pd-account-icon {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.pd-account-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 22px;
}

.pd-account-section-head h1 {
    color: var(--pd-account-ink);
    font-family: Nunito, "Golos Text", Inter, sans-serif;
    font-size: 30px;
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: 0;
}

.pd-account-section-head p {
    margin-top: 6px;
    color: var(--pd-account-muted);
    font-size: 15px;
}

.pd-account-section-head__note {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--pd-account-faint);
    font-size: 13px;
    white-space: nowrap;
}

.pd-account-alert {
    margin-bottom: 18px;
    padding: 14px 18px;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 600;
}

.pd-account-alert--error {
    background: #fff4f0;
    color: #9f3b1f;
}

.pd-account-alert--ok {
    background: var(--pd-account-green-tint);
    color: var(--pd-account-green-dark);
}

.pd-account-profile-hero {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-bottom: 18px;
    padding: 26px;
    background: linear-gradient(135deg, var(--pd-account-green-tint) 0%, var(--pd-account-surface) 62%);
}

.pd-account-profile-hero > div:nth-child(2) {
    min-width: 0;
}

.pd-account-profile-hero strong,
.pd-account-profile-hero span,
.pd-account-profile-hero em {
    display: flex;
    align-items: center;
    gap: 8px;
}

.pd-account-profile-hero strong {
    color: var(--pd-account-ink);
    font-family: Nunito, "Golos Text", Inter, sans-serif;
    font-size: 28px;
    font-style: normal;
    font-weight: 800;
    line-height: 1.12;
}

.pd-account-profile-hero span {
    margin-top: 6px;
    overflow: hidden;
    color: var(--pd-account-muted);
    font-size: 14px;
    text-overflow: ellipsis;
}

.pd-account-profile-hero em {
    margin-left: auto;
    padding: 8px 14px;
    border: 1px solid var(--pd-account-green-tint-2);
    border-radius: 999px;
    background: var(--pd-account-surface);
    color: var(--pd-account-green-dark);
    font-size: 13px;
    font-style: normal;
    font-weight: 700;
    white-space: nowrap;
}

.pd-account-form,
.pd-account-form__section {
    display: grid;
    gap: 16px;
}

.pd-account-form__section {
    padding: 26px;
}

.pd-account-form__section h2,
.pd-account-info-card h2,
.pd-account-items h2 {
    color: var(--pd-account-ink);
    font-family: Nunito, "Golos Text", Inter, sans-serif;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.16;
    letter-spacing: 0;
}

.pd-account-form__section p {
    margin-top: -6px;
    color: var(--pd-account-muted);
    font-size: 14px;
}

.pd-account-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.pd-account-form__grid--city {
    grid-template-columns: minmax(0, 1fr) 150px;
}

.pd-account-form label {
    display: grid;
    gap: 7px;
    min-width: 0;
    color: var(--pd-account-ink-soft);
    font-size: 14px;
    font-weight: 600;
}

.pd-account-form input {
    width: 100%;
    min-height: 48px;
    padding: 0 15px;
    border: 1.5px solid var(--pd-account-line);
    border-radius: 12px;
    background: var(--pd-account-surface-warm);
    color: var(--pd-account-ink);
    font-size: 16px;
    outline: 0;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.pd-account-form input:focus {
    border-color: var(--pd-account-green);
    background: var(--pd-account-surface);
}

.pd-account-form small {
    color: var(--pd-account-faint);
    font-size: 12px;
    font-weight: 400;
}

.pd-account-form__title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.pd-account-address-preview {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border: 1px solid var(--pd-account-line);
    border-radius: 14px;
    background: var(--pd-account-surface-warm);
}

.pd-account-address-preview > .pd-account-icon {
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    padding: 9px;
    border-radius: 11px;
    background: var(--pd-account-green-tint);
    color: var(--pd-account-green-dark);
}

.pd-account-address-preview strong,
.pd-account-address-preview span {
    display: block;
}

.pd-account-address-preview strong {
    color: var(--pd-account-ink);
    font-size: 14px;
}

.pd-account-address-preview span {
    margin-top: 3px;
    overflow: hidden;
    color: var(--pd-account-muted);
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pd-account-actions,
.pd-account-order-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.pd-account-actions {
    position: sticky;
    bottom: 0;
    z-index: 5;
    padding: 14px 0;
    background: linear-gradient(rgba(245, 238, 226, 0), var(--pd-account-cream) 28%);
}

.pd-account-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 22px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--pd-account-ink);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.pd-account-button:hover {
    transform: translateY(-1px);
}

.pd-account-button:active {
    transform: scale(0.98);
}

.pd-account-button--sm {
    min-height: 38px;
    padding: 0 15px;
    font-size: 13px;
}

.pd-account-button--primary {
    background: var(--pd-account-warm);
    color: #fff;
}

.pd-account-button--primary:hover {
    background: var(--pd-account-warm-dark);
}

.pd-account-button--green {
    background: var(--pd-account-green);
    color: #fff;
}

.pd-account-button--green:hover {
    background: var(--pd-account-green-dark);
}

.pd-account-button--soft {
    background: var(--pd-account-green-tint);
    color: var(--pd-account-green-dark);
}

.pd-account-button--line {
    border: 1px solid var(--pd-account-line);
    background: var(--pd-account-surface);
    color: var(--pd-account-ink-soft);
}

.pd-account-button--ghost {
    color: var(--pd-account-green-dark);
}

.pd-account-button--danger {
    margin-left: auto;
    color: var(--pd-account-warm-dark);
}

.pd-account-tabs {
    display: inline-flex;
    gap: 4px;
    margin-bottom: 20px;
    padding: 4px;
    border-radius: 999px;
    background: var(--pd-account-cream-deep);
}

.pd-account-tabs a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 20px;
    border-radius: 999px;
    color: var(--pd-account-muted);
    font-size: 14px;
    font-weight: 700;
}

.pd-account-tabs a.is-active {
    background: var(--pd-account-surface);
    color: var(--pd-account-ink);
    box-shadow: var(--pd-account-shadow);
}

.pd-account-tabs span,
.pd-account-nav__link strong {
    line-height: 1;
}

.pd-account-tabs span {
    display: grid;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    place-items: center;
    border-radius: 999px;
    background: var(--pd-account-green-tint);
    color: var(--pd-account-green-dark);
    font-size: 12px;
}

.pd-account-orders {
    display: grid;
    gap: 16px;
}

.pd-account-order-card {
    overflow: hidden;
}

.pd-account-order-card header,
.pd-account-items header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 18px 24px;
}

.pd-account-order-card h2 {
    color: var(--pd-account-ink);
    font-family: Nunito, "Golos Text", Inter, sans-serif;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.1;
}

.pd-account-order-card header span,
.pd-account-items header span {
    color: var(--pd-account-faint);
    font-size: 14px;
}

.pd-account-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 13px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.pd-account-status i,
.pd-account-status-text i {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: currentColor;
}

.pd-account-status--warm {
    background: var(--pd-account-warm-tint);
    color: var(--pd-account-warm-dark);
}

.pd-account-status--info {
    background: var(--pd-account-blue-tint);
    color: var(--pd-account-blue-deep);
}

.pd-account-status--ok {
    background: var(--pd-account-green-tint);
    color: var(--pd-account-green-dark);
}

.pd-account-status--muted {
    background: var(--pd-account-cream-deep);
    color: var(--pd-account-muted);
}

.pd-account-order-card__note {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 24px;
    font-size: 14px;
    font-weight: 600;
}

.pd-account-order-card__note--warm {
    background: var(--pd-account-warm-tint);
    color: var(--pd-account-warm-dark);
}

.pd-account-order-card__note--info {
    background: var(--pd-account-blue-tint);
    color: var(--pd-account-blue-deep);
}

.pd-account-order-card__note--ok {
    background: var(--pd-account-green-tint);
    color: var(--pd-account-green-dark);
}

.pd-account-order-card__note--muted {
    background: var(--pd-account-cream-deep);
    color: var(--pd-account-muted);
}

.pd-account-order-card__body {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 18px 24px;
}

.pd-account-order-card__body strong,
.pd-account-order-card__body span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pd-account-order-card__body strong {
    color: var(--pd-account-ink-soft);
    font-size: 15px;
    font-weight: 700;
}

.pd-account-order-card__body span {
    max-width: 360px;
    margin-top: 3px;
    color: var(--pd-account-faint);
    font-size: 13px;
}

.pd-account-order-card__body b {
    color: var(--pd-account-ink);
    font-family: Nunito, "Golos Text", Inter, sans-serif;
    font-size: 23px;
    font-weight: 800;
    white-space: nowrap;
}

.pd-account-thumb-stack {
    display: flex;
    align-items: center;
    min-width: max-content;
}

.pd-account-thumb {
    display: grid;
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    width: 46px;
    height: 46px;
    place-items: center;
    overflow: hidden;
    border-radius: 11px;
    background: var(--pd-account-cream-deep);
    box-shadow: 0 0 0 2px var(--pd-account-surface);
    color: var(--pd-account-muted);
    font-weight: 700;
}

.pd-account-thumb + .pd-account-thumb {
    margin-left: -12px;
}

.pd-account-thumb img {
    width: 86%;
    height: 86%;
    object-fit: contain;
}

.pd-account-thumb--more {
    background: var(--pd-account-green-tint);
    color: var(--pd-account-green-dark);
    font-size: 13px;
}

.pd-account-order-card footer {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 14px 24px;
    border-top: 1px solid var(--pd-account-line-soft);
}

.pd-account-order-card footer > span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 4px;
    color: var(--pd-account-muted);
    font-size: 13px;
    font-weight: 600;
}

.pd-account-order-card footer > span.is-ok,
.pd-account-order-card footer > span.is-ok .pd-account-icon {
    color: var(--pd-account-green-dark);
}

.pd-account-order-card footer > span.is-warm,
.pd-account-order-card footer > span.is-warm .pd-account-icon {
    color: var(--pd-account-warm-dark);
}

.pd-account-order-card footer > div {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    margin-left: auto;
}

.pd-account-order-card footer form {
    margin: 0;
}

.pd-account-empty {
    display: grid;
    justify-items: center;
    padding: 56px;
    text-align: center;
}

.pd-account-empty > .pd-account-icon {
    width: 84px;
    height: 84px;
    padding: 22px;
    border-radius: 50%;
    background: var(--pd-account-green-tint);
    color: var(--pd-account-green-dark);
}

.pd-account-empty h2 {
    margin-top: 20px;
    color: var(--pd-account-ink);
    font-family: Nunito, "Golos Text", Inter, sans-serif;
    font-size: 24px;
    font-weight: 800;
}

.pd-account-empty p {
    max-width: 390px;
    margin-top: 10px;
    color: var(--pd-account-muted);
    line-height: 1.55;
}

.pd-account-empty div {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 24px;
}

.pd-account-history {
    overflow: hidden;
}

.pd-account-history > header {
    padding: 12px 20px;
    border-bottom: 1px solid var(--pd-account-line);
    color: var(--pd-account-faint);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.pd-account-history__empty {
    padding: 20px;
    color: var(--pd-account-muted);
}

.pd-account-history-row {
    display: grid;
    grid-template-columns: auto minmax(130px, 1fr) auto auto 24px;
    gap: 14px;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid var(--pd-account-line-soft);
}

.pd-account-history-row:last-child {
    border-bottom: 0;
}

.pd-account-history-row strong,
.pd-account-history-row span {
    display: block;
}

.pd-account-history-row strong {
    color: var(--pd-account-ink);
    font-weight: 700;
}

.pd-account-history-row span {
    margin-top: 2px;
    color: var(--pd-account-muted);
    font-size: 13px;
}

.pd-account-history-row b {
    color: var(--pd-account-ink);
    font-family: Nunito, "Golos Text", Inter, sans-serif;
    font-size: 18px;
    font-weight: 800;
    white-space: nowrap;
}

.pd-account-status-text {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    margin: 0 !important;
    font-size: 13px !important;
    font-weight: 600;
    white-space: nowrap;
}

.pd-account-status-text--ok {
    color: var(--pd-account-green-dark) !important;
}

.pd-account-status-text--muted {
    color: var(--pd-account-muted) !important;
}

.pd-account-status-text--warm {
    color: var(--pd-account-warm-dark) !important;
}

.pd-account-status-text--info {
    color: var(--pd-account-blue-deep) !important;
}

.pd-account-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    color: var(--pd-account-muted);
    font-size: 14px;
    font-weight: 600;
}

.pd-account-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 18px;
    padding: 24px;
}

.pd-account-steps div {
    display: grid;
    justify-items: center;
    gap: 8px;
    position: relative;
    min-width: 0;
    color: var(--pd-account-faint);
    text-align: center;
}

.pd-account-steps div:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 18px;
    left: calc(50% + 24px);
    width: calc(100% - 48px);
    height: 2px;
    background: var(--pd-account-line);
}

.pd-account-steps div.is-done:not(:last-child)::after {
    background: var(--pd-account-green);
}

.pd-account-steps span {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 50%;
    background: var(--pd-account-cream-deep);
    color: var(--pd-account-faint);
}

.pd-account-steps .is-done span {
    background: var(--pd-account-green);
    color: #fff;
}

.pd-account-steps .is-active span {
    border: 2px solid var(--pd-account-green);
    background: var(--pd-account-surface);
    color: var(--pd-account-green);
}

.pd-account-steps strong {
    color: inherit;
    font-size: 12px;
    font-weight: 600;
}

.pd-account-steps .is-done,
.pd-account-steps .is-active {
    color: var(--pd-account-ink-soft);
}

.pd-account-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 18px;
}

.pd-account-info-card {
    padding: 22px;
}

.pd-account-info-card h2 {
    margin-bottom: 16px;
}

.pd-account-info-card dl {
    display: grid;
    gap: 16px;
}

.pd-account-info-card dt {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
    color: var(--pd-account-faint);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.pd-account-info-card dd {
    color: var(--pd-account-ink);
    font-weight: 600;
}

.pd-account-info-card .pd-account-button {
    margin-top: 18px;
}

.pd-account-items {
    overflow: hidden;
}

.pd-account-items header {
    border-bottom: 1px solid var(--pd-account-line);
}

.pd-account-item {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) auto auto;
    gap: 14px;
    align-items: center;
    padding: 16px 24px;
    border-bottom: 1px solid var(--pd-account-line-soft);
}

.pd-account-item .pd-account-thumb {
    width: 56px;
    height: 56px;
    margin: 0;
}

.pd-account-item strong,
.pd-account-item span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pd-account-item strong {
    color: var(--pd-account-ink);
    font-weight: 700;
}

.pd-account-item span {
    margin-top: 3px;
    color: var(--pd-account-faint);
    font-size: 13px;
}

.pd-account-item em {
    color: var(--pd-account-muted);
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    white-space: nowrap;
}

.pd-account-item b {
    min-width: 84px;
    color: var(--pd-account-ink);
    font-weight: 800;
    text-align: right;
    white-space: nowrap;
}

.pd-account-items footer {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 9px 18px;
    padding: 18px 24px;
}

.pd-account-items footer span {
    color: var(--pd-account-muted);
}

.pd-account-items footer strong {
    color: var(--pd-account-ink);
    text-align: right;
}

.pd-account-items footer span:last-of-type,
.pd-account-items footer strong:last-child {
    padding-top: 10px;
    border-top: 1px solid var(--pd-account-line);
    color: var(--pd-account-ink);
    font-size: 17px;
}

.pd-account-order-actions {
    margin-top: 18px;
}

.pd-account-auth {
    width: min(520px, calc(100% - 32px));
    margin: 0 auto;
}

.pd-account-panel--auth {
    padding: 28px;
}

.pd-account-panel--auth .bx-authform {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.pd-account-panel--auth .bx-system-auth-form table {
    width: 100% !important;
    border-collapse: collapse;
}

.pd-account-panel--auth .bx-system-auth-form td {
    display: block;
    width: 100% !important;
    padding: 0 0 14px;
    color: var(--pd-account-ink-soft);
    font-size: 14px;
    font-weight: 600;
}

.pd-account-panel--auth .bx-system-auth-form input[type="text"],
.pd-account-panel--auth .bx-system-auth-form input[type="password"] {
    width: 100%;
    min-height: 48px;
    margin-top: 7px;
    padding: 0 15px;
    border: 1.5px solid var(--pd-account-line);
    border-radius: 12px;
    background: var(--pd-account-surface-warm);
    color: var(--pd-account-ink);
    font-size: 16px;
    outline: 0;
}

.pd-account-panel--auth .bx-system-auth-form input[type="text"]:focus,
.pd-account-panel--auth .bx-system-auth-form input[type="password"]:focus {
    border-color: var(--pd-account-green);
    background: var(--pd-account-surface);
}

.pd-account-panel--auth .bx-system-auth-form input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--pd-account-green);
}

.pd-account-panel--auth .bx-system-auth-form input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    min-height: 48px;
    padding: 0 24px;
    border: 0;
    border-radius: 999px;
    background: var(--pd-account-green);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.pd-account-panel--auth .bx-system-auth-form a {
    color: var(--pd-account-green-dark);
    font-size: 14px;
    font-weight: 600;
}

.pd-account-panel--auth .bx-auth-lbl,
.pd-account-panel--auth .bx-auth-serv-icons {
    display: none !important;
}

@media (max-width: 960px) {
    .pd-account {
        padding: 22px 0 70px;
    }

    .pd-account__layout {
        grid-template-columns: 1fr;
        width: min(100% - 32px, 760px);
    }

    .pd-account__sidebar {
        position: static;
    }

    .pd-account-user-card {
        display: none;
    }

    .pd-account-nav {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pd-account-nav__link {
        justify-content: center;
        text-align: center;
    }

    .pd-account-nav__link strong {
        margin-left: 0;
    }

    .pd-account-pet-card {
        display: none;
    }

    .pd-account-section-head,
    .pd-account-profile-hero,
    .pd-account-order-card header {
        align-items: flex-start;
        flex-direction: column;
    }

    .pd-account-profile-hero em {
        margin-left: 0;
    }

    .pd-account-detail-grid,
    .pd-account-form__grid,
    .pd-account-form__grid--city {
        grid-template-columns: 1fr;
    }

    .pd-account-order-card__body {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .pd-account-order-card__body b {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .pd-account-order-card footer > div {
        width: 100%;
        margin-left: 0;
    }

    .pd-account-history-row {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .pd-account-history-row .pd-account-status-text,
    .pd-account-history-row b {
        grid-column: 2 / 3;
    }
}

@media (max-width: 560px) {
    .pd-account {
        padding-top: 18px;
    }

    .pd-account__layout {
        width: min(100% - 24px, 420px);
        gap: 18px;
    }

    .pd-account-panel {
        border-radius: 18px;
    }

    .pd-account-nav {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 90;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0;
        padding: 6px 8px calc(6px + env(safe-area-inset-bottom));
        border-width: 1px 0 0;
        border-radius: 0;
        background: var(--pd-account-surface);
    }

    .pd-account-nav__link {
        display: grid;
        justify-items: center;
        gap: 3px;
        min-height: 56px;
        padding: 6px 4px;
        border-radius: 12px;
        font-size: 11px;
    }

    .pd-account-nav__link .pd-account-icon {
        width: 22px;
        height: 22px;
    }

    .pd-account-nav__link strong {
        position: absolute;
        top: 7px;
        right: calc(50% - 24px);
        min-width: 16px;
        height: 16px;
        padding: 0 4px;
        background: var(--pd-account-warm);
        font-size: 10px;
    }

    .pd-account-section-head {
        margin-bottom: 18px;
    }

    .pd-account-section-head h1 {
        font-size: 28px;
    }

    .pd-account-section-head p {
        font-size: 14px;
    }

    .pd-account-profile-hero,
    .pd-account-form__section,
    .pd-account-info-card {
        padding: 18px;
    }

    .pd-account-profile-hero {
        gap: 16px;
    }

    .pd-account-profile-hero strong {
        font-size: 22px;
    }

    .pd-account-avatar--lg {
        width: 58px;
        height: 58px;
        font-size: 21px;
    }

    .pd-account-actions {
        position: static;
        padding-bottom: 0;
        background: transparent;
    }

    .pd-account-actions .pd-account-button,
    .pd-account-order-actions .pd-account-button,
    .pd-account-empty .pd-account-button {
        width: 100%;
    }

    .pd-account-button--danger {
        margin-left: 0;
    }

    .pd-account-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .pd-account-tabs a {
        justify-content: center;
        padding: 0 14px;
    }

    .pd-account-order-card header,
    .pd-account-order-card__note,
    .pd-account-order-card__body,
    .pd-account-order-card footer,
    .pd-account-items header,
    .pd-account-item,
    .pd-account-items footer {
        padding-right: 18px;
        padding-left: 18px;
    }

    .pd-account-order-card__body {
        gap: 14px;
    }

    .pd-account-order-card__body span {
        max-width: 210px;
    }

    .pd-account-order-card footer > div,
    .pd-account-order-card footer form,
    .pd-account-order-card footer .pd-account-button {
        width: 100%;
    }

    .pd-account-empty {
        padding: 34px 20px;
    }

    .pd-account-history-row {
        grid-template-columns: minmax(0, 1fr) auto;
        padding: 15px 16px;
    }

    .pd-account-history-row .pd-account-thumb-stack {
        display: none;
    }

    .pd-account-history-row .pd-account-status-text,
    .pd-account-history-row b {
        grid-column: 1 / 2;
    }

    .pd-account-history-row > .pd-account-icon {
        grid-column: 2;
        grid-row: 1 / 4;
    }

    .pd-account-steps {
        padding: 18px 12px;
    }

    .pd-account-steps strong {
        font-size: 11px;
    }

    .pd-account-steps div:not(:last-child)::after {
        left: calc(50% + 20px);
        width: calc(100% - 40px);
    }

    .pd-account-item {
        grid-template-columns: 48px minmax(0, 1fr);
    }

    .pd-account-item .pd-account-thumb {
        width: 48px;
        height: 48px;
    }

    .pd-account-item em,
    .pd-account-item b {
        grid-column: 2;
        justify-self: start;
        min-width: 0;
        text-align: left;
    }
}

/* End */


/* Start:/local/templates/petdiet/css/auth.css?178228438512600*/
/* ============================================================
   Passwordless auth (email code) — /personal/ when not logged in.
   Relies on --pd-account-* tokens defined on .pd-account (account.css).
   ============================================================ */
.pd-account--auth {
    padding: 40px 0 84px;
}

.pd-auth {
    --au-green: var(--pd-account-green);
    --au-green-dark: var(--pd-account-green-dark);
    --au-green-500: #2e7355;
    --au-green-tint: var(--pd-account-green-tint);
    --au-blue-deep: var(--pd-account-blue-deep);
    --au-blue-tint: var(--pd-account-blue-tint);
    --au-warm: var(--pd-account-warm);
    --au-warm-dark: var(--pd-account-warm-dark);
    --au-warm-tint: var(--pd-account-warm-tint);
    --au-ink: var(--pd-account-ink);
    --au-ink-soft: var(--pd-account-ink-soft);
    --au-muted: var(--pd-account-muted);
    --au-faint: var(--pd-account-faint);
    --au-line: var(--pd-account-line);
    --au-surface: #fff;
    --au-surface-warm: var(--pd-account-surface-warm);
    --au-ease: cubic-bezier(.22, 1, .36, 1);
    display: grid;
    place-items: center;
    width: 100%;
}

.pd-auth__card {
    display: flex;
    width: 100%;
    max-width: 980px;
    min-height: 588px;
    border-radius: 22px;
    overflow: hidden;
    background: var(--au-surface);
    box-shadow: var(--pd-account-shadow-lg);
}

/* ---- brand panel ---- */
.pd-auth__brand {
    position: relative;
    overflow: hidden;
    flex: 0 0 46%;
    display: flex;
    flex-direction: column;
    padding: 40px 40px 36px;
    color: #fff;
    background: linear-gradient(165deg, var(--au-green) 0%, var(--au-green-dark) 100%);
}

.pd-auth__glow {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.pd-auth__glow--1 {
    width: 280px;
    height: 280px;
    right: -90px;
    top: -90px;
    background: rgba(255, 255, 255, .10);
}

.pd-auth__glow--2 {
    width: 180px;
    height: 180px;
    left: -60px;
    bottom: 90px;
    background: rgba(122, 193, 154, .25);
}

.pd-auth__logo {
    position: relative;
    height: 46px;
    width: auto;
    align-self: flex-start;
    filter: brightness(0) invert(1);
}

.pd-auth__brand-body {
    position: relative;
    margin-top: 34px;
}

.pd-auth__brand-title {
    font-family: "Nunito", "Golos Text", sans-serif;
    font-weight: 800;
    font-size: 2rem;
    line-height: 1.12;
    letter-spacing: -.02em;
    color: #fff;
    margin: 0;
}

.pd-auth__brand-sub {
    margin: 12px 0 0;
    max-width: 320px;
    font-size: 1rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, .82);
}

.pd-auth__points {
    position: relative;
    margin: auto 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-width: 320px;
}

.pd-auth__points li {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    font-size: .8rem;
    line-height: 1.4;
    color: rgba(255, 255, 255, .72);
}

.pd-auth__points b {
    color: #fff;
    font-size: .92rem;
    font-weight: 700;
}

.pd-auth__point-ic {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .16);
    display: grid;
    place-items: center;
    color: #fff;
    margin-top: 1px;
}

/* ---- main panel ---- */
.pd-auth__main {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 30px 44px 36px;
    background: var(--au-surface);
    min-width: 0;
}

.pd-auth__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 6px;
}

.pd-auth__dots {
    display: flex;
    align-items: center;
    gap: 7px;
}

.pd-auth__dots span {
    height: 6px;
    width: 6px;
    border-radius: 99px;
    background: var(--au-line);
    transition: all .3s var(--au-ease);
}

.pd-auth__dots span.is-active {
    width: 22px;
    background: var(--au-green);
}

.pd-auth__dots span.is-done {
    background: var(--au-green);
}

.pd-auth__help {
    font-size: .82rem;
    color: var(--au-faint);
}

.pd-auth__help a {
    color: var(--au-green-dark);
    font-weight: 600;
    white-space: nowrap;
}

.pd-auth__steps {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.pd-auth__steps.is-rise .pd-auth-step {
    animation: pd-auth-rise .4s var(--au-ease) both;
}

/* ---- step content ---- */
.pd-auth-step--center {
    text-align: center;
    align-items: center;
}

.pd-auth-head {
    margin-bottom: 20px;
}

.pd-auth-eyebrow {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--au-green-dark);
    margin-bottom: 9px;
}

.pd-auth-title {
    font-family: "Nunito", "Golos Text", sans-serif;
    font-weight: 800;
    font-size: 1.85rem;
    letter-spacing: -.02em;
    line-height: 1.1;
    color: var(--au-ink);
    margin: 0;
}

.pd-auth-sub {
    margin: 8px 0 0;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--au-muted);
}

.pd-auth-sub b {
    color: var(--au-ink);
}

/* ---- fields ---- */
.pd-auth-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-bottom: 16px;
}

.pd-auth-label {
    font-size: .84rem;
    font-weight: 600;
    color: var(--au-ink-soft);
}

.pd-auth-opt {
    color: var(--au-faint);
    font-weight: 500;
    font-style: normal;
}

.pd-auth-input {
    position: relative;
    display: flex;
    align-items: center;
}

.pd-auth-ic {
    position: absolute;
    left: 16px;
    color: var(--au-faint);
    pointer-events: none;
}

.pd-auth-input input {
    width: 100%;
    padding: 15px 16px 15px 46px;
    border-radius: 13px;
    border: 1.5px solid var(--au-line);
    background: var(--au-surface-warm);
    font-family: inherit;
    font-size: 1.05rem;
    color: var(--au-ink);
    transition: border-color .2s, background .2s;
}

.pd-auth-input input:focus {
    outline: none;
    border-color: var(--au-green-500);
    background: var(--au-surface);
}

/* ---- consent switches ---- */
.pd-auth-consents {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 4px;
}

.pd-auth-consent {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.pd-auth-switch {
    flex: 0 0 auto;
    width: 42px;
    height: 25px;
    border-radius: 99px;
    border: 0;
    padding: 3px;
    margin-top: 1px;
    background: var(--au-line);
    cursor: pointer;
    display: flex;
    transition: background .2s var(--au-ease);
}

.pd-auth-switch span {
    width: 19px;
    height: 19px;
    border-radius: 99px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(33, 31, 26, .28);
    transition: transform .2s var(--au-ease);
}

.pd-auth-switch.is-on {
    background: var(--au-green);
}

.pd-auth-switch.is-on span {
    transform: translateX(17px);
}

.pd-auth-consent-txt {
    font-size: .72rem;
    line-height: 1.5;
    color: var(--au-muted);
    cursor: pointer;
}

.pd-auth-consent-txt a {
    color: var(--au-green-dark);
    font-weight: 600;
    text-decoration: underline;
}

.pd-auth-req {
    color: var(--au-warm-dark);
    font-weight: 700;
    font-style: normal;
}

/* ---- buttons ---- */
.pd-auth-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin-top: 18px;
    padding: 15px 20px;
    border: 0;
    border-radius: 99px;
    font-family: inherit;
    font-size: 1.02rem;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: background .2s, transform .1s, opacity .2s;
}

.pd-auth-btn:active {
    transform: scale(.98);
}

.pd-auth-btn--green {
    background: var(--au-green);
    color: #fff;
    box-shadow: 0 8px 20px rgba(31, 91, 66, .22);
}

.pd-auth-btn--green:hover {
    background: var(--au-green-dark);
}

.pd-auth-btn--green:disabled {
    opacity: .5;
    cursor: not-allowed;
    box-shadow: none;
}

.pd-auth-btn--soft {
    background: var(--au-green-tint);
    color: var(--au-green-dark);
    box-shadow: none;
}

.pd-auth-btn--ghost {
    background: transparent;
    color: var(--au-muted);
    box-shadow: none;
    margin-top: 10px;
}

.pd-auth-btn--sm {
    width: auto;
    margin-top: 0;
    padding: 9px 16px;
    font-size: .9rem;
}

/* The success-step buttons are <a> links inside .pd-account, whose
   `a { color: inherit }` (account.css) overrides the button text colour.
   Restore the intended colours with higher specificity. */
.pd-account .pd-auth-btn--green {
    color: #fff;
}

.pd-account .pd-auth-btn--soft {
    color: var(--au-green-dark);
}

.pd-account .pd-auth-btn--ghost {
    color: var(--au-muted);
}

/* ---- code step bits ---- */
.pd-auth-back {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: none;
    border: 0;
    padding: 6px 0;
    margin-bottom: 12px;
    color: var(--au-muted);
    font-family: inherit;
    font-size: .92rem;
    cursor: pointer;
}

.pd-auth-back:hover {
    color: var(--au-ink);
}

.pd-auth-badge {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    margin-bottom: 16px;
    animation: pd-auth-pop .4s var(--au-ease) both;
}

.pd-auth-badge--mail {
    background: var(--au-green-tint);
    color: var(--au-green-dark);
}

.pd-auth-otp-row {
    display: flex;
    gap: 10px;
}

.pd-auth-otp {
    width: 100%;
    aspect-ratio: 1 / 1;
    min-width: 0;
    text-align: center;
    font-family: "Nunito", "Golos Text", sans-serif;
    font-weight: 800;
    font-size: 1.6rem;
    color: var(--au-ink);
    border: 1.5px solid var(--au-line);
    border-radius: 13px;
    background: var(--au-surface-warm);
    caret-color: var(--au-green);
    transition: all .15s;
}

.pd-auth-otp:focus {
    outline: none;
    border-color: var(--au-green-500);
    background: var(--au-surface);
}

.pd-auth-otp-row.is-error {
    animation: pd-auth-shake .4s;
}

.pd-auth-otp-row.is-error .pd-auth-otp {
    border-color: var(--au-warm);
    background: var(--au-warm-tint);
}

.pd-auth-resend {
    margin-top: 20px;
    color: var(--au-muted);
    font-size: .92rem;
}

.pd-auth-resend-wait {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

/* ---- profile / success bits ---- */
.pd-auth-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--au-green-tint);
    color: var(--au-green-dark);
    font-weight: 700;
    font-size: .8rem;
    padding: 6px 12px;
    border-radius: 99px;
    margin-bottom: 16px;
}

.pd-auth-check {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    background: var(--au-green-tint);
    color: var(--au-green);
    display: grid;
    place-items: center;
    margin: 0 auto 24px;
    animation: pd-auth-pop .5s var(--au-ease) both;
}

.pd-auth-error {
    color: var(--au-warm-dark);
    font-weight: 600;
    font-size: .9rem;
}

.pd-auth-error:not(:empty) {
    margin-top: 10px;
}

/* TEST stand only — on-screen code when no SMTP is configured */
.pd-auth-devcode {
    margin-top: 12px;
    font-size: .86rem;
    color: var(--au-blue-deep);
    background: var(--au-blue-tint);
    padding: 6px 12px;
    border-radius: 99px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.pd-auth-devcode:empty {
    display: none;
}

.pd-auth-devcode b {
    letter-spacing: .12em;
}

@keyframes pd-auth-rise {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes pd-auth-pop {
    from { opacity: 0; transform: scale(.8); }
    to   { opacity: 1; transform: scale(1); }
}

@keyframes pd-auth-shake {
    10%, 90% { transform: translateX(-1px); }
    20%, 80% { transform: translateX(2px); }
    30%, 50%, 70% { transform: translateX(-4px); }
    40%, 60% { transform: translateX(4px); }
}

/* ---- responsive: stack the card ---- */
@media (max-width: 860px) {
    .pd-auth__card {
        flex-direction: column;
        min-height: 0;
        max-width: 480px;
    }

    .pd-auth__brand {
        flex: none;
        padding: 26px 28px 22px;
    }

    .pd-auth__brand-body {
        margin-top: 18px;
    }

    .pd-auth__brand-title {
        font-size: 1.5rem;
    }

    .pd-auth__points {
        display: none;
    }

    .pd-auth__main {
        padding: 24px 24px 30px;
    }

    .pd-auth-title {
        font-size: 1.5rem;
    }
}

@media (max-width: 520px) {
    .pd-account--auth {
        padding: 20px 0 60px;
    }

    .pd-auth__main {
        padding: 22px 18px 26px;
    }

    .pd-auth-otp-row {
        gap: 7px;
    }
}

/* End */


/* Start:/local/templates/petdiet/template_styles.css?1780432348182*/
/* Pet Diet template styles are split into ordered modules under /local/templates/petdiet/css/.
   Register new modules in header.php to preserve cache-busting and cascade order. */

/* End */
/* /local/templates/petdiet/css/base-header.css?178109654416094 */
/* /local/templates/petdiet/css/home.css?178216384545671 */
/* /local/templates/petdiet/css/ui-overlays.css?178216355951578 */
/* /local/templates/petdiet/css/content-pages.css?1782163562301276 */
/* /local/templates/petdiet/css/sections-footer.css?17810965445961 */
/* /local/templates/petdiet/css/checkout-redesign.css?178240074534539 */
/* /local/templates/petdiet/css/responsive.css?178216486683953 */
/* /local/templates/petdiet/css/account.css?178228711530312 */
/* /local/templates/petdiet/css/auth.css?178228438512600 */
/* /local/templates/petdiet/template_styles.css?1780432348182 */
