/* =========================================================
   newbalance — New Balance из США (Prostobox)
   ========================================================= */

div.p-nb {
    color: #252525;
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', sans-serif;
    line-height: 1.4;
    background: #ffffff;
}

.p-nb *,
.p-nb *::before,
.p-nb *::after {
    box-sizing: border-box;
}

.p-nb img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* =========================================================
   Block 1 — Hero
   ========================================================= */

/* Marquee — full viewport width, infinite scroll */
.p-nb__marquee {
    width: 100%;
    background: #000;
    color: #fff;
    overflow: hidden;
    padding: 10px 0;
}
.p-nb__marquee-track {
    display: flex;
    width: max-content;
    animation: p-nb-marquee 40s linear infinite;
}
.p-nb__marquee-track span {
    display: inline-block;
    padding-right: 40px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: 0.2px;
    white-space: nowrap;
}
@keyframes p-nb-marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

.p-nb__hero {
    width: 100%;
    max-width: 1200px;
    margin: 20px auto 0;
    padding: 0 20px;
}

/* Body: two-column split with dark bg + image */
.p-nb__hero-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 600px;
    position: relative;
}

.p-nb__hero-left {
    background: #000;
    padding: 60px 60px 60px 60px;
    display: flex;
    align-items: flex-start;
    position: relative;
}
.p-nb__hero-left::before,
.p-nb__hero-left::after {
    content: '';
    position: absolute;
    width: 15px;
    height: 15px;
    background: #484848;
    pointer-events: none;
}
.p-nb__hero-left::before {
    top: 20px;
    left: 20px;
}
.p-nb__hero-left::after {
    bottom: 20px;
    right: 20px;
}

.p-nb__hero-content {
    display: flex;
    flex-direction: column;
    gap: 32px;
    max-width: 480px;
    color: #ffffff;
}

.p-nb__hero-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 60px;
    line-height: 0.9;
    letter-spacing: -3px;
    text-transform: uppercase;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.p-nb__hero-title-line1 {
    color: #ffffff;
    font-weight: 500;
}
.p-nb__hero-title-line2 {
    color: #e4fd00;
    font-weight: 600;
}

.p-nb__hero-sub {
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    font-size: 20px;
    line-height: 1.4;
    color: #ffffff;
    margin: -10px 0 0 0;
}

a.p-nb__hero-cta,
a.p-nb__hero-cta:link,
a.p-nb__hero-cta:visited,
a.p-nb__hero-cta:active {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 20px 30px;
    background: #ffffff;
    color: #000000 !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.4;
    text-decoration: none !important;
    align-self: flex-start;
    overflow: hidden;
    z-index: 0;
    transition: color 0.35s ease;
}
a.p-nb__hero-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #e4fd00;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.4s ease;
    z-index: -1;
}
a.p-nb__hero-cta:hover::before { transform: scaleX(1); }

.p-nb__hero-features {
    list-style: none;
    padding: 0;
    margin: 8px 0 0 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.p-nb__hero-features li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    font-size: 16px;
    line-height: 1.4;
    color: #ffffff;
}
.p-nb__hero-feature-icon {
    display: inline-flex;
    width: 25px;
    height: 25px;
    flex-shrink: 0;
}
.p-nb__hero-feature-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.p-nb__hero-right {
    position: relative;
    overflow: visible;
    min-height: 600px;
}
img.p-nb__hero-bg {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    max-width: none;
}

/* Sneaker card — glass-like overlay bottom-right, with corner squares */
.p-nb__hero-sneaker {
    position: absolute;
    right: 30px;
    bottom: 40px;
    width: 230px;
    padding: 10px;
    background: rgba(255, 255, 255, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(5.5px);
    -webkit-backdrop-filter: blur(5.5px);
    z-index: 2;
}
.p-nb__hero-sneaker::before,
.p-nb__hero-sneaker::after {
    content: '';
    position: absolute;
    width: 15px;
    height: 15px;
    background: #f1f1f1;
    pointer-events: none;
    z-index: 3;
}
.p-nb__hero-sneaker::before {
    top: -8px;
    left: -8px;
}
.p-nb__hero-sneaker::after {
    bottom: -8px;
    right: -8px;
}
.p-nb__hero-sneaker img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 320 / 276;
    object-fit: cover;
    border-radius: 20px;
}

/* Adaptive */
@media (max-width: 1000px) {
    .p-nb__hero-left { padding: 44px 40px; }
    .p-nb__hero-content { gap: 24px; max-width: none; }
    .p-nb__hero-title { font-size: 44px; letter-spacing: -2px; }
    .p-nb__hero-sub { font-size: 16px; }
    a.p-nb__hero-cta { font-size: 17px; padding: 16px 24px; }
    .p-nb__hero-features li { font-size: 14px; }
    .p-nb__hero-sneaker { width: 180px; right: 20px; bottom: 20px; }
    .p-nb__marquee-track span { font-size: 14px; padding-right: 30px; }
}

@media (max-width: 720px) {
    .p-nb__hero { padding: 0; margin-top: 16px; }
    .p-nb__hero-body {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
    }
    .p-nb__hero-left {
        padding: 36px 20px 40px;
        order: 1;
    }
    .p-nb__hero-right {
        min-height: 380px;
        order: 2;
    }
    .p-nb__hero-title { font-size: 40px; }
    .p-nb__hero-sub { font-size: 15px; margin-top: -4px; }
    a.p-nb__hero-cta { font-size: 16px; padding: 14px 22px; }
    .p-nb__hero-sneaker { width: 140px; right: 16px; bottom: 16px; padding: 6px; }
    .p-nb__hero-sneaker img { border-radius: 12px; }
    .p-nb__hero-features { gap: 8px; }
    .p-nb__hero-features li { font-size: 13px; }
    .p-nb__hero-feature-icon { width: 22px; height: 22px; }
}

@media (max-width: 480px) {
    .p-nb__hero-title { font-size: 32px; letter-spacing: -1.5px; }
    .p-nb__hero-right { min-height: 320px; }
    .p-nb__hero-sneaker { width: 120px; }
}

/* =========================================================
   Block 2 — Countdown timer («АКЦИЯ заканчивается через:»)
   ========================================================= */
.p-nb__timer {
    width: 100%;
    max-width: 1200px;
    margin: 120px auto 0;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    box-sizing: border-box;
}
.p-nb__timer-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 32px;
    line-height: 1;
    letter-spacing: -1.5px;
    color: #000000;
    margin: 0;
    text-align: center;
    text-transform: uppercase;
}
.p-nb__timer-title b {
    font-weight: 700;
}
.p-nb__timer-row {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: wrap;
}
.p-nb__timer-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
.p-nb__timer-tiles {
    display: flex;
    gap: 5px;
}
.p-nb__timer-tile {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 79px;
    min-height: 120px;
    padding: 22px 12px;
    background: linear-gradient(180deg,
        #070707 1.9%,
        #383838 37%,
        #444444 50%,
        #383838 65%,
        #070707 100%);
    color: #c1d700;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 64px;
    line-height: 0.9;
    letter-spacing: -4px;
    text-align: center;
    box-sizing: border-box;
}
.p-nb__timer-label {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.4;
    color: #000000;
    margin: 0;
    text-align: center;
}

@media (max-width: 900px) {
    .p-nb__timer {
        margin: 80px auto 0;
        gap: 24px;
    }
    .p-nb__timer-title { font-size: 26px; letter-spacing: -1px; }
    .p-nb__timer-tile {
        width: 60px;
        min-height: 100px;
        font-size: 50px;
        letter-spacing: -3px;
        padding: 18px 6px;
    }
}

@media (max-width: 640px) {
    .p-nb__timer {
        margin: 60px auto 0;
        padding: 0 16px;
        gap: 20px;
    }
    .p-nb__timer-title { font-size: 20px; letter-spacing: -0.8px; }
    .p-nb__timer-row { gap: 8px; }
    .p-nb__timer-tile {
        width: 42px;
        min-height: 70px;
        font-size: 34px;
        letter-spacing: -2px;
        padding: 12px 4px;
    }
    .p-nb__timer-tiles { gap: 3px; }
    .p-nb__timer-label { font-size: 12px; }
}

/* =========================================================
   Block 3 — Stats (4 numbers with labels)
   ========================================================= */
.p-nb__stats {
    width: 100%;
    max-width: 1200px;
    margin: 120px auto 0;
    padding: 0 20px;
    box-sizing: border-box;
}
.p-nb__stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    align-items: start;
}
.p-nb__stats-item {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}
.p-nb__stats-num {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 64px;
    line-height: 0.9;
    letter-spacing: -3px;
    color: #000000;
    margin: 0;
    text-transform: uppercase;
    white-space: nowrap;
}
.p-nb__stats-num--range {
    letter-spacing: 0;
}
.p-nb__stats-accent {
    color: #c1d700;
}
.p-nb__stats-label {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.4;
    color: #000000;
    margin: 0;
}

@media (max-width: 900px) {
    .p-nb__stats { margin: 80px auto 0; }
    .p-nb__stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
    .p-nb__stats-num { font-size: 48px; letter-spacing: -2px; }
    .p-nb__stats-label { font-size: 16px; }
}

@media (max-width: 480px) {
    .p-nb__stats { margin: 60px auto 0; padding: 0 16px; }
    .p-nb__stats-grid { gap: 20px 16px; }
    .p-nb__stats-num { font-size: 40px; letter-spacing: -1.5px; }
    .p-nb__stats-label { font-size: 14px; }
}

/* =========================================================
   Block 4 — Compare («Сравнение цен — NB 574»)
   ========================================================= */
.p-nb__compare {
    width: 100%;
    max-width: 1200px;
    margin: 120px auto 0;
    padding: 0 20px;
    box-sizing: border-box;
}
.p-nb__compare-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 32px;
    line-height: 1;
    letter-spacing: -1.5px;
    color: #000000;
    margin: 0 0 30px 0;
    text-align: center;
    text-transform: uppercase;
}
.p-nb__compare-title b {
    font-weight: 700;
}

.p-nb__compare-card {
    position: relative;
    min-height: 420px;
    overflow: hidden;
    background: #000000;
}
img.p-nb__compare-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 0;
    max-width: none;
    pointer-events: none;
    margin: 0;
    display: block;
}

.p-nb__compare-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 40px;
    padding: 60px 60px;
    align-items: center;
}
.p-nb__compare-side {
    display: flex;
    flex-direction: column;
    gap: 10px;
    color: #ffffff;
    min-width: 0;
}
.p-nb__compare-name {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 38px;
    line-height: 0.9;
    letter-spacing: -2px;
    color: #ffffff;
    margin: 0;
    text-transform: uppercase;
    /* subtle fade */
    background: linear-gradient(180deg, #fff 0%, rgba(255,255,255,0.4) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}
.p-nb__compare-shoe {
    position: relative;
    width: 100%;
    max-width: 360px;
}
.p-nb__compare-shoe img {
    display: block;
    width: 100%;
    height: auto;
}
.p-nb__compare-shoe::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: inherit;
    /* reflection */
    top: 100%;
    background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,0));
    opacity: 0.4;
    transform: scaleY(-1);
    height: 60px;
    background-image: url('');
    display: none; /* reflection via separate img if desired */
}
.p-nb__compare-price {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 60px;
    line-height: 0.9;
    letter-spacing: -3px;
    color: #ffffff;
    margin: 8px 0 0 0;
    text-transform: uppercase;
}
.p-nb__compare-ruble {
    font-size: 40px;
    letter-spacing: -2px;
    margin-left: 4px;
}
.p-nb__compare-caption {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.4;
    color: #ffffff;
    margin: 0;
}

/* Center badge — "Экономия / до / 8 600 ₽" (3rd column in grid) */
.p-nb__compare-badge {
    z-index: 3;
    width: 260px;
    padding: 24px 20px;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15), inset -3px -5px 5px rgba(33, 33, 33, 0.15);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    text-align: center;
    color: #000000;
    justify-self: center;
}
.p-nb__compare-badge-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 28px;
    line-height: 1;
    letter-spacing: -1.3px;
    margin: 0;
    text-transform: uppercase;
}
.p-nb__compare-badge-until {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 22px;
    line-height: 1;
    letter-spacing: -1px;
    margin: 0 0 -6px 0;
    text-transform: uppercase;
    align-self: flex-start;
}
.p-nb__compare-badge-value {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 56px;
    line-height: 0.9;
    letter-spacing: -3px;
    margin: 0;
    text-transform: uppercase;
    align-self: flex-start;
}
.p-nb__compare-badge-value .p-nb__compare-ruble {
    font-size: 36px;
}

@media (max-width: 900px) {
    .p-nb__compare-title { font-size: 26px; margin-bottom: 24px; }
    .p-nb__compare-grid {
        grid-template-columns: 1fr auto 1fr;
        gap: 20px;
        padding: 40px 30px;
    }
    .p-nb__compare-name { font-size: 22px; letter-spacing: -1px; }
    .p-nb__compare-price { font-size: 36px; letter-spacing: -1.5px; }
    .p-nb__compare-ruble { font-size: 24px; }
    .p-nb__compare-caption { font-size: 13px; }
    .p-nb__compare-badge {
        width: 170px;
        padding: 18px 14px;
        gap: 12px;
    }
    .p-nb__compare-badge-title { font-size: 20px; }
    .p-nb__compare-badge-until { font-size: 16px; }
    .p-nb__compare-badge-value { font-size: 34px; }
    .p-nb__compare-badge-value .p-nb__compare-ruble { font-size: 22px; }
}

@media (max-width: 640px) {
    .p-nb__compare { padding: 0 12px; }
    .p-nb__compare-title { font-size: 20px; letter-spacing: -0.8px; }
    .p-nb__compare-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
        padding: 30px 20px 40px;
    }
    .p-nb__compare-side { align-items: center; text-align: center; }
    .p-nb__compare-shoe { max-width: 260px; }
    .p-nb__compare-badge {
        width: 200px;
        justify-self: center;
    }
    .p-nb__compare-badge-until,
    .p-nb__compare-badge-value {
        align-self: center;
    }
    .p-nb__compare-price { font-size: 36px; }
}

/* Block 4 — table */
.p-nb__table-wrap {
    margin-top: 60px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.p-nb__table {
    width: 100%;
    min-width: 900px;
    border-collapse: collapse;
    font-family: 'Montserrat', sans-serif;
    color: #000000;
}
.p-nb__table-th {
    background: #1b1b1b;
    color: #ffffff;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: -0.2px;
    text-align: left;
    padding: 15px 20px;
    border: 1px solid #c6c6c6;
}
.p-nb__table-th--save {
    background: #e3fd00;
    color: #000000;
    font-weight: 500;
}
.p-nb__table td {
    height: 100px;
    padding: 0 20px;
    border: 1px solid #c6c6c6;
    vertical-align: middle;
    background: #ffffff;
}
.p-nb__table-model {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 100px;
    padding-right: 20px;
    padding-left: 0;
    border-right: 1px solid #c6c6c6;
    border-bottom: 1px solid #c6c6c6;
    border-top: 0;
    border-left: 0;
}
tr:first-child .p-nb__table-model {
    border-top: 0;
}
.p-nb__table-model img {
    display: block;
    width: 100px;
    height: 100px;
    object-fit: contain;
    flex-shrink: 0;
}
.p-nb__table-model span {
    font-weight: 500;
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: -0.2px;
}
.p-nb__table-price-rub {
    font-weight: 700;
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: -0.2px;
    color: #000000;
    margin: 0;
}
.p-nb__table-price-usd {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.4;
    color: #666666;
    margin: 0;
}
.p-nb__table-save {
    background: #faffd0 !important;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.4;
    letter-spacing: -0.3px;
    color: #000000;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .p-nb__table-wrap { margin-top: 30px; }
    .p-nb__table { min-width: 720px; }
    .p-nb__table-th { font-size: 16px; padding: 12px 16px; }
    .p-nb__table td { padding: 0 16px; height: 90px; }
    .p-nb__table-model img { width: 80px; height: 80px; }
    .p-nb__table-model span { font-size: 16px; }
    .p-nb__table-price-rub { font-size: 16px; }
    .p-nb__table-price-usd { font-size: 13px; }
    .p-nb__table-save { font-size: 20px; }
}

/* =========================================================
   Block 5 — Register CTA («Ваши NB уже ждут в США»)
   ========================================================= */
.p-nb__register {
    width: 100%;
    max-width: 1200px;
    margin: 120px auto 0;
    padding: 0 20px;
    box-sizing: border-box;
}
.p-nb__register-card {
    position: relative;
    aspect-ratio: 2360 / 884;
    overflow: hidden;
    background: #1a2820;
    color: #ffffff;
}
.p-nb__register-bg-picture {
    position: absolute;
    inset: 0;
    display: block;
    z-index: 0;
    pointer-events: none;
}
img.p-nb__register-bg {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    max-width: none;
    margin: 0;
}
.p-nb__register-content {
    position: absolute;
    inset: 0;
    z-index: 2;
    padding: 5% 5% 5% 5%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-sizing: border-box;
}
.p-nb__register-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(20px, 3vw, 35px);
    line-height: 0.95;
    letter-spacing: -1.5px;
    color: #ffffff;
    margin: 0 0 20px 0;
    text-transform: uppercase;
    max-width: 44%;
}
.p-nb__register-sub {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: clamp(13px, 1.8vw, 20px);
    line-height: 1.4;
    color: #ffffff;
    margin: 0;
    max-width: 44%;
}
.p-nb__register-ctas {
    display: flex;
    gap: 15px;
    flex-wrap: nowrap;
    align-items: center;
    margin: auto 0 0;
}
a.p-nb__register-cta,
a.p-nb__register-cta:link,
a.p-nb__register-cta:visited,
a.p-nb__register-cta:hover,
a.p-nb__register-cta:active {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: clamp(10px, 1.6vw, 20px) clamp(16px, 2.4vw, 30px);
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: clamp(13px, 1.6vw, 20px);
    line-height: 1.4;
    text-decoration: none !important;
    white-space: nowrap;
    overflow: hidden;
    z-index: 0;
    transition: color 0.35s ease, border-color 0.35s ease;
}
/* Tilda-style hover fill: pseudo slides in from left */
a.p-nb__register-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.4s ease;
    z-index: -1;
}
a.p-nb__register-cta:hover::before {
    transform: scaleX(1);
}
a.p-nb__register-cta--primary,
a.p-nb__register-cta--primary:link,
a.p-nb__register-cta--primary:visited,
a.p-nb__register-cta--primary:active {
    background: #000000;
    color: #ffffff !important;
}
a.p-nb__register-cta--primary::before { background: #ffffff; }
a.p-nb__register-cta--primary:hover { color: #000000 !important; }

a.p-nb__register-cta--outline,
a.p-nb__register-cta--outline:link,
a.p-nb__register-cta--outline:visited,
a.p-nb__register-cta--outline:active {
    background: rgba(42, 42, 42, 0.1);
    color: #ffffff !important;
    border: 1px solid #ffffff;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}
a.p-nb__register-cta--outline::before { background: #ffffff; }
a.p-nb__register-cta--outline:hover { color: #000000 !important; }
.p-nb__register-note {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: clamp(11px, 1.3vw, 16px);
    line-height: 1.4;
    color: #a0a0a0;
    margin: 12px 0 0 0;
}

@media (max-width: 640px) {
    .p-nb__register { margin: 60px auto 0; padding: 0 12px; }
    .p-nb__register-card { aspect-ratio: 750 / 956; }
    .p-nb__register-content {
        padding: 28px 24px 28px;
        justify-content: flex-start;
        gap: 10px;
    }
    .p-nb__register-title {
        font-size: 22px;
        letter-spacing: -1px;
        margin: 0 0 4px 0;
        max-width: 100%;
    }
    .p-nb__register-sub {
        font-size: 14px;
        max-width: 100%;
    }
    .p-nb__register-ctas {
        flex-direction: column;
        flex-wrap: wrap;
        align-items: stretch;
        gap: 10px;
        margin: 8px 0 0;
    }
    a.p-nb__register-cta { width: 100%; padding: 14px 18px; font-size: 15px; }
    .p-nb__register-note {
        font-size: 12px;
        margin-top: auto;
        padding-top: 24px;
    }
}

/* =========================================================
   Block 6 — Steps («Как купить New Balance из США»)
   Pixel-perfect по Figma frame 1400 (aspect-ratio + cqi units)
   ========================================================= */
.p-nb__steps {
    width: 100%;
    max-width: 1400px;
    margin: 120px auto 0;
    padding: 0 20px;
    box-sizing: border-box;
}
.p-nb__steps-inner {
    position: relative;
    max-width: 1180px;
    margin: 0 auto;
    aspect-ratio: 1180 / 660;
    container-type: inline-size;
}

/* Absolute positioning by % — Figma coords minus 110px section offset, then %-of-1180 */
/* Figma frame 1400: intro left=110 top=120 w=360 → inner 0/0/360 (top from 120 subtracted) */
.p-nb__steps-intro {
    position: absolute;
    left: 0;
    top: 0;
    width: 30.5%;         /* 360/1180 */
    display: flex;
    flex-direction: column;
    gap: 3cqi;
    z-index: 3;
}
.p-nb__steps-badge {
    display: inline-flex;
    align-items: center;
    gap: 1cqi;
    padding: 1cqi;
    border: 1px solid #c6c6c6;
    align-self: flex-start;
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    font-size: 1.55cqi;
    line-height: 1.4;
    color: #1e1e1e;
    background: #ffffff;
}
.p-nb__steps-badge svg {
    width: 2.5cqi;
    height: 2.5cqi;
    flex-shrink: 0;
}
.p-nb__steps-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 3.4cqi;
    line-height: 0.9;
    letter-spacing: -0.17cqi;
    color: #000000;
    margin: 0;
    text-transform: uppercase;
}
.p-nb__steps-title b { font-weight: 700; }
.p-nb__steps-sub {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 2.4cqi;
    line-height: 1.4;
    color: #000000;
    margin: 0;
}

/* Pill: Figma left=474 top=120 w=316 h=556 → inner left=364 top=0 */
/* Картинка натягивается на слот Figma (316×556), object-fit: fill — заливает контейнер */
.p-nb__steps-visual {
    position: absolute;
    left: 30.85%;           /* 364/1180 */
    top: 0;
    width: 26.78%;          /* 316/1180 */
    aspect-ratio: 316 / 556;
    z-index: 2;
}
img.p-nb__steps-pill {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: fill;
    margin: 0;
}

/* Arrow: Figma left=215 top=256 w=355 h=283 → inner left=105 top=136 w=355 h=283 */
img.p-nb__steps-arrow {
    position: absolute;
    left: 8.9%;             /* 105/1180 */
    top: 20.6%;             /* 136/660 */
    width: 30.08%;          /* 355/1180 */
    height: auto;
    z-index: 4;
    pointer-events: none;
    margin: 0;
}

/* Shoe: Figma left=91 top=446 w=352 h=261 → inner left=-19 top=326 w=352 */
img.p-nb__steps-shoe {
    position: absolute;
    left: -1.6%;            /* -19/1180 */
    top: 49.4%;             /* 326/660 */
    width: 29.83%;          /* 352/1180 */
    height: auto;
    z-index: 3;
    pointer-events: none;
    margin: 0;
}

/* Cards: Figma left=810 top=120 w=480 → inner left=700 top=0 w=480 */
.p-nb__steps-list {
    position: absolute;
    left: 59.32%;           /* 700/1180 */
    top: 0;
    width: 40.68%;          /* 480/1180 */
    display: flex;
    flex-direction: column;
    gap: 0.85cqi;           /* 10/1180 */
    z-index: 3;
}
.p-nb__steps-card {
    display: flex;
    gap: 1.7cqi;
    align-items: flex-start;
    padding: 1.7cqi;
    border: 1px solid #c6c6c6;
    background: #ffffff;
}
.p-nb__steps-num {
    flex-shrink: 0;
    width: 2.1cqi;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 1.7cqi;
    line-height: 0.9;
    letter-spacing: -0.085cqi;
    color: #c1d700;
    text-transform: uppercase;
}
.p-nb__steps-body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 0.85cqi;
    min-width: 0;
}
.p-nb__steps-name {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 1.7cqi;
    line-height: 0.9;
    letter-spacing: -0.085cqi;
    color: #000000;
    margin: 0;
    text-transform: uppercase;
}
.p-nb__steps-text {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 1.35cqi;
    line-height: 1.4;
    color: #000000;
    margin: 0;
}
.p-nb__steps-time {
    display: inline-flex;
    align-items: center;
    gap: 0.85cqi;
    padding: 0.85cqi;
    border: 1px solid #c6c6c6;
    align-self: flex-start;
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    font-size: 1.35cqi;
    line-height: 1.4;
    color: #1e1e1e;
}
.p-nb__steps-time svg {
    width: 2.1cqi;
    height: 2.1cqi;
    flex-shrink: 0;
}
.p-nb__steps-time svg circle,
.p-nb__steps-time svg path {
    stroke: #c1d700;
}

a.p-nb__steps-cta,
a.p-nb__steps-cta:link,
a.p-nb__steps-cta:visited,
a.p-nb__steps-cta:active {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.85cqi;
    padding: 1.7cqi 2.5cqi;
    background: #000000;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 1.7cqi;
    line-height: 1.4;
    text-decoration: none !important;
    align-self: stretch;
    overflow: hidden;
    z-index: 0;
    transition: color 0.35s ease;
    white-space: nowrap;
}
a.p-nb__steps-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #c1d700;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.4s ease;
    z-index: -1;
}
a.p-nb__steps-cta:hover::before { transform: scaleX(1); }
a.p-nb__steps-cta:hover { color: #000000 !important; }

/* Cap font-sizes at 1180 (max container) — use min() so they don't grow past Figma values */
@container (min-width: 1180px) {
    .p-nb__steps-badge { font-size: 16px; padding: 10px; gap: 10px; }
    .p-nb__steps-badge svg { width: 25px; height: 25px; }
    .p-nb__steps-title { font-size: 35px; letter-spacing: -1.75px; }
    .p-nb__steps-sub { font-size: 25px; }
    .p-nb__steps-list { gap: 10px; }
    .p-nb__steps-card { padding: 20px; gap: 20px; }
    .p-nb__steps-num { width: 25px; font-size: 20px; letter-spacing: -1px; }
    .p-nb__steps-name { font-size: 20px; letter-spacing: -1px; }
    .p-nb__steps-text { font-size: 16px; }
    .p-nb__steps-time { font-size: 16px; padding: 10px; gap: 10px; }
    .p-nb__steps-time svg { width: 25px; height: 25px; }
    .p-nb__steps-body { gap: 10px; }
    a.p-nb__steps-cta { font-size: 20px; padding: 20px 30px; gap: 10px; }
    .p-nb__steps-intro { gap: 30px; }
}

/* Below 900 — stack: intro → pill → cards, hide decorations */
@media (max-width: 900px) {
    .p-nb__steps { margin: 80px auto 0; }
    .p-nb__steps-inner {
        aspect-ratio: auto;
        max-width: 100%;
        container-type: normal;
    }
    .p-nb__steps-intro,
    .p-nb__steps-visual,
    .p-nb__steps-list {
        position: static;
        width: 100%;
        left: auto;
        top: auto;
    }
    .p-nb__steps-intro {
        margin-bottom: 30px;
    }
    .p-nb__steps-visual {
        max-width: 320px;
        margin: 0 auto 30px;
        aspect-ratio: 316 / 556;
    }
    img.p-nb__steps-arrow,
    img.p-nb__steps-shoe { display: none; }
    .p-nb__steps-badge { font-size: 16px; padding: 10px; gap: 10px; }
    .p-nb__steps-badge svg { width: 25px; height: 25px; }
    .p-nb__steps-title { font-size: 28px; letter-spacing: -1.2px; }
    .p-nb__steps-sub { font-size: 18px; }
    .p-nb__steps-intro { gap: 20px; }
    .p-nb__steps-list { gap: 10px; }
    .p-nb__steps-card { padding: 20px; gap: 20px; }
    .p-nb__steps-num { width: 25px; font-size: 20px; letter-spacing: -1px; }
    .p-nb__steps-name { font-size: 20px; letter-spacing: -1px; }
    .p-nb__steps-text { font-size: 16px; }
    .p-nb__steps-time { font-size: 16px; padding: 10px; gap: 10px; }
    .p-nb__steps-time svg { width: 25px; height: 25px; }
    .p-nb__steps-body { gap: 10px; }
    a.p-nb__steps-cta { font-size: 16px; padding: 14px 22px; }
}

@media (max-width: 480px) {
    .p-nb__steps { margin: 60px auto 0; padding: 0 12px; }
    .p-nb__steps-title { font-size: 24px; letter-spacing: -1px; }
    .p-nb__steps-sub { font-size: 16px; }
    .p-nb__steps-name { font-size: 18px; }
    .p-nb__steps-text { font-size: 14px; }
    .p-nb__steps-time { font-size: 14px; padding: 8px; }
    .p-nb__steps-card { padding: 16px; gap: 14px; }
    a.p-nb__steps-cta { font-size: 16px; padding: 14px 22px; }
}

/* =========================================================
   Block 7 — Sneakers («Бесплатный выкуп товаров»)
   Figma: green 704×426 + dashes + photo 476×426 (высота от фото)
   ========================================================= */
.p-nb__sneakers {
    width: 100%;
    max-width: 1400px;
    margin: 120px auto 0;
    padding: 0 20px;
    box-sizing: border-box;
}
.p-nb__sneakers-inner {
    position: relative;
    display: grid;
    grid-template-columns: 704fr 476fr;
    max-width: 1180px;
    margin: 0 auto;
    container-type: inline-size;
}

/* LEFT — green textured panel; высота задаётся правой панелью через grid stretch */
.p-nb__sneakers-left {
    position: relative;
    overflow: hidden;
    background: #E3FD00;
}
img.p-nb__sneakers-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    margin: 0;
    max-width: none;
    z-index: 0;
    pointer-events: none;
}
.p-nb__sneakers-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 2.03cqi;                       /* 24/1180 */
    padding: 6.44cqi 5.08cqi;           /* 76/1180 vs 60/1180 */
    height: 100%;
    box-sizing: border-box;
}
.p-nb__sneakers-title {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 2.97cqi;                 /* 35/1180 */
    line-height: 0.9;
    letter-spacing: -0.148cqi;
    color: #000000;
    text-transform: uppercase;
}
.p-nb__sneakers-title b { font-weight: 700; }
.p-nb__sneakers-text {
    display: flex;
    flex-direction: column;
    gap: 0.85cqi;                       /* 10/1180 */
}
.p-nb__sneakers-text p {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 1.7cqi;                  /* 20/1180 */
    line-height: 1.4;
    color: #000000;
}
.p-nb__sneakers-text b { font-weight: 700; }

a.p-nb__sneakers-cta,
a.p-nb__sneakers-cta:link,
a.p-nb__sneakers-cta:visited,
a.p-nb__sneakers-cta:active {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.85cqi;
    padding: 1.7cqi 2.54cqi;
    background: #000000;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 1.7cqi;
    line-height: 1.4;
    text-decoration: none !important;
    align-self: flex-start;
    overflow: hidden;
    z-index: 0;
    transition: color 0.35s ease;
    white-space: nowrap;
    margin-top: auto;
}
a.p-nb__sneakers-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #C1D700;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.4s ease;
    z-index: -1;
}
a.p-nb__sneakers-cta:hover::before { transform: scaleX(1); }
a.p-nb__sneakers-cta:hover { color: #000000 !important; }

/* DIVIDER — 18 белых квадратов на стыке панелей */
.p-nb__sneakers-divider {
    position: absolute;
    left: 59.66%;                       /* 704/1180 */
    top: 0;
    transform: translateX(-50%);
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    z-index: 3;
    padding: 0.85cqi 0;
    box-sizing: border-box;
}
.p-nb__sneakers-divider span {
    display: block;
    width: 1.27cqi;                     /* 15/1180 */
    height: 1.27cqi;
    background: #ffffff;
}

/* RIGHT — тянется по высоте левой панели через grid stretch */
.p-nb__sneakers-right {
    position: relative;
    overflow: hidden;
    background: #1a1a1a;
    min-height: 100%;
}
img.p-nb__sneakers-photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    margin: 0;
    max-width: none;
    z-index: 0;
}
/* Одинаковые отступы у заголовка и чипов от углов панели */
.p-nb__sneakers-heading {
    position: absolute;
    left: 2.12cqi;                      /* 25/1180 */
    top: 2.12cqi;
    width: 22.4cqi;                     /* 264/1180 */
    margin: 0;
    z-index: 2;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 2.97cqi;
    line-height: 0.9;
    letter-spacing: -0.148cqi;
    color: #ffffff;
    text-transform: uppercase;
}
.p-nb__sneakers-brands {
    position: absolute;
    right: 2.12cqi;
    bottom: 2.12cqi;
    display: flex;
    gap: 0.85cqi;
    z-index: 2;
}
.p-nb__sneakers-brands span {
    display: inline-flex;
    align-items: center;
    padding: 0.85cqi;
    border: 1px solid #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 1.35cqi;
    line-height: 1.4;
    color: #ffffff;
    white-space: nowrap;
    background: rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}

/* Cap-значения при контейнере 1180px+ */
@container (min-width: 1180px) {
    .p-nb__sneakers-content { padding: 76px 60px; gap: 24px; }
    .p-nb__sneakers-title { font-size: 35px; letter-spacing: -1.75px; }
    .p-nb__sneakers-text { gap: 10px; }
    .p-nb__sneakers-text p { font-size: 20px; }
    a.p-nb__sneakers-cta { font-size: 20px; padding: 20px 30px; gap: 10px; }
    .p-nb__sneakers-divider span { width: 15px; height: 15px; }
    .p-nb__sneakers-divider { padding: 10px 0; }
    .p-nb__sneakers-heading { left: 25px; top: 25px; width: 264px; font-size: 35px; letter-spacing: -1.75px; }
    .p-nb__sneakers-brands { right: 25px; bottom: 25px; gap: 10px; }
    .p-nb__sneakers-brands span { font-size: 16px; padding: 10px; }
}

/* Планшет и мобайл — колонки в стек */
@media (max-width: 900px) {
    .p-nb__sneakers { margin: 80px auto 0; padding: 0; }
    .p-nb__sneakers-inner {
        grid-template-columns: 1fr;
        max-width: 100%;
        container-type: normal;
    }
    .p-nb__sneakers-content { padding: 40px 20px; gap: 20px; }
    .p-nb__sneakers-title { font-size: 28px; letter-spacing: -1.2px; }
    .p-nb__sneakers-text { gap: 12px; }
    .p-nb__sneakers-text p { font-size: 16px; }
    a.p-nb__sneakers-cta { font-size: 16px; padding: 14px 22px; gap: 8px; }
    .p-nb__sneakers-divider { display: none; }
    .p-nb__sneakers-right { aspect-ratio: 375 / 380; }
    .p-nb__sneakers-heading { font-size: 28px; letter-spacing: -1.2px; left: 20px; top: 20px; width: auto; max-width: 55%; }
    .p-nb__sneakers-brands { left: 20px; right: 20px; bottom: 20px; gap: 6px; flex-wrap: nowrap; justify-content: space-between; }
    .p-nb__sneakers-brands span { font-size: 13px; padding: 8px 6px; flex: 1 1 0; justify-content: center; }
}

@media (max-width: 480px) {
    .p-nb__sneakers { margin: 60px auto 0; }
    .p-nb__sneakers-title { font-size: 24px; letter-spacing: -1px; }
    .p-nb__sneakers-content { padding: 30px 16px; gap: 16px; }
    .p-nb__sneakers-heading { font-size: 22px; letter-spacing: -1px; left: 16px; top: 16px; }
    .p-nb__sneakers-brands { left: 16px; right: 16px; bottom: 16px; gap: 4px; }
    .p-nb__sneakers-brands span { font-size: 11px; padding: 7px 4px; }
    a.p-nb__sneakers-cta { font-size: 16px; padding: 14px 20px; }
}

/* =========================================================
   Block 8 — Stores («Лучшие магазины New Balance в США»)
   Figma: 4-column grid, cards 280×auto, gap 20px
   ========================================================= */
.p-nb__stores {
    width: 100%;
    max-width: 1400px;
    margin: 120px auto 0;
    padding: 0 20px;
    box-sizing: border-box;
}
.p-nb__stores-title {
    margin: 0 auto 40px;
    max-width: 1180px;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 35px;
    line-height: 1.05;
    letter-spacing: -1.75px;
    color: #000000;
    text-transform: uppercase;
}
.p-nb__stores-title b { font-weight: 700; }

.p-nb__stores-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    max-width: 1180px;
    margin: 0 auto;
}

a.p-nb__stores-card,
a.p-nb__stores-card:link,
a.p-nb__stores-card:visited,
a.p-nb__stores-card:hover,
a.p-nb__stores-card:active {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px;
    border: 1px solid #c6c6c6;
    background: #ffffff;
    color: #000000 !important;
    text-decoration: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
a.p-nb__stores-card:hover {
    border-color: #000000;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}
.p-nb__stores-logo {
    display: flex;
    align-items: center;
    height: 41px;
}
.p-nb__stores-logo img {
    display: block;
    max-height: 41px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}
.p-nb__stores-body {
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex: 1 1 auto;
    justify-content: space-between;
}
.p-nb__stores-name {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 0.9;
    letter-spacing: -0.7px;
    color: #000000;
    text-transform: uppercase;
}
.p-nb__stores-text {
    margin: 10px 0 0 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.4;
    color: #000000;
    flex: 1 1 auto;
}
.p-nb__stores-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
.p-nb__stores-tags span {
    display: inline-flex;
    align-items: center;
    padding: 10px;
    border: 1px solid #c6c6c6;
    background: #e1e1e1;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.4;
    color: #262626;
    white-space: nowrap;
}

@media (max-width: 1100px) {
    .p-nb__stores-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
    .p-nb__stores-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
    .p-nb__stores-title { font-size: 28px; letter-spacing: -1.2px; margin-bottom: 30px; }
}
@media (max-width: 520px) {
    .p-nb__stores { margin: 80px auto 0; padding: 0 12px; }
    .p-nb__stores-grid { grid-template-columns: 1fr; }
    .p-nb__stores-title { font-size: 24px; letter-spacing: -1px; margin-bottom: 24px; }
    .p-nb__stores-text { font-size: 15px; }
    .p-nb__stores-tags span { font-size: 14px; padding: 8px; }
}

/* =========================================================
   Block 9 — Reviews («Отзывы покупателей»)
   Figma: dark bg #000, 3 white cards centered, corner quote decor
   ========================================================= */
.p-nb__reviews {
    width: 100%;
    max-width: 1400px;
    margin: 120px auto 0;
    padding: 0 20px;
    box-sizing: border-box;
}
.p-nb__reviews-inner {
    position: relative;
    max-width: 1180px;
    margin: 0 auto;
    background: #000000;
    padding: 60px 20px 60px;
    box-sizing: border-box;
}
.p-nb__reviews-quote {
    position: absolute;
    display: block;
    width: 33px;
    height: 18px;
    pointer-events: none;
}
.p-nb__reviews-quote svg { width: 100%; height: 100%; display: block; }
.p-nb__reviews-quote--tl { top: 20px; left: 20px; }
.p-nb__reviews-quote--br { bottom: 20px; right: 20px; transform: rotate(180deg); }

.p-nb__reviews-title {
    margin: 0 0 40px;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 35px;
    line-height: 0.9;
    letter-spacing: -1.75px;
    color: #ffffff;
    text-transform: uppercase;
}
.p-nb__reviews-title b { font-weight: 500; }
.p-nb__reviews-accent {
    font-weight: 700;
    color: #e3fd00;
}

.p-nb__reviews-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    max-width: 1080px;
    margin: 0 auto;
    align-items: stretch;
}

.p-nb__reviews-card {
    background: #ffffff;
    padding: 20px;
    display: grid;
    grid-template-rows: auto auto 1fr auto auto;
    row-gap: 10px;
}
.p-nb__reviews-stars {
    display: inline-flex;
    gap: 4px;
    color: #c1d700;
    font-size: 18px;
    line-height: 1;
}
.p-nb__reviews-stars span {
    width: 18px;
    height: 18px;
    display: inline-block;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/></svg>") no-repeat center / contain;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/></svg>") no-repeat center / contain;
}
.p-nb__reviews-name {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 0.9;
    letter-spacing: -0.7px;
    color: #000000;
    text-transform: uppercase;
}
.p-nb__reviews-text {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.4;
    color: #000000;
    align-self: start;
}
.p-nb__reviews-photo {
    width: 100%;
    aspect-ratio: 306 / 207;
    overflow: hidden;
}
.p-nb__reviews-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    max-width: none;
}
.p-nb__reviews-meta {
    margin: 4px 0 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.4;
    color: #666666;
    min-height: 2.8em;
    align-self: end;
}

@media (max-width: 900px) {
    .p-nb__reviews { margin: 80px auto 0; padding: 0; }
    .p-nb__reviews-inner { padding: 50px 20px; }
    .p-nb__reviews-grid { grid-template-columns: 1fr; gap: 16px; max-width: 480px; }
    .p-nb__reviews-title { font-size: 28px; letter-spacing: -1.2px; margin-bottom: 30px; }
}
@media (max-width: 480px) {
    .p-nb__reviews { margin: 60px auto 0; }
    .p-nb__reviews-inner { padding: 40px 16px; }
    .p-nb__reviews-title { font-size: 24px; letter-spacing: -1px; }
    .p-nb__reviews-text { font-size: 15px; }
    .p-nb__reviews-meta { font-size: 14px; }
    .p-nb__reviews-quote--tl { top: 14px; left: 14px; }
    .p-nb__reviews-quote--br { bottom: 14px; right: 14px; }
}

/* =========================================================
   Block 10 — Catalog («Реальные заказы клиентов»)
   4-column product grid with category tabs
   ========================================================= */
.p-nb__catalog {
    width: 100%;
    max-width: 1400px;
    margin: 120px auto 0;
    padding: 0 20px;
    box-sizing: border-box;
}
.p-nb__catalog-head {
    text-align: center;
    max-width: 640px;
    margin: 0 auto 30px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.p-nb__catalog-title {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 35px;
    line-height: 0.9;
    letter-spacing: -1.75px;
    color: #000000;
    text-transform: uppercase;
}
.p-nb__catalog-title b { font-weight: 700; }
.p-nb__catalog-sub {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 25px;
    line-height: 1.4;
    color: #000000;
}

.p-nb__catalog-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
    margin: 0 auto 30px;
    padding: 0 12px;
}
.p-nb__catalog-tab {
    appearance: none;
    background: #e1e1e1;
    border: 1px solid #c6c6c6;
    padding: 10px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.4;
    color: #262626;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.p-nb__catalog-tab:hover { border-color: #000; }
.p-nb__catalog-tab.is-active {
    background: #E3FD00;
    border-color: #E3FD00;
    font-weight: 500;
    color: #262626;
}

.p-nb__catalog-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    max-width: 1180px;
    margin: 0 auto;
}

a.p-nb__catalog-card,
a.p-nb__catalog-card:link,
a.p-nb__catalog-card:visited,
a.p-nb__catalog-card:hover,
a.p-nb__catalog-card:active {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 10px;
    border: 1px solid #c6c6c6;
    background: #ffffff;
    color: #000000 !important;
    text-decoration: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
a.p-nb__catalog-card:hover {
    border-color: #000;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.p-nb__catalog-media {
    position: relative;
    aspect-ratio: 260 / 185;
    border-radius: 20px;
    overflow: hidden;
    background: #f3f0f1;
}
.p-nb__catalog-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    max-width: none;
}
.p-nb__catalog-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
    border-radius: 10px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 0.9;
    letter-spacing: -0.7px;
    color: #ffffff;
    text-transform: uppercase;
    background: #000;
    white-space: nowrap;
    z-index: 2;
}
.p-nb__catalog-badge svg { width: 16px; height: 16px; }
.p-nb__catalog-badge--sale { background: #FF3019; }
.p-nb__catalog-badge--new { background: #C1D700; color: #000; }
.p-nb__catalog-badge--deal { background: #3325FA; }

.p-nb__catalog-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.p-nb__catalog-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.p-nb__catalog-name {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 0.9;
    letter-spacing: -0.8px;
    color: #000;
    text-transform: uppercase;
}
.p-nb__catalog-count {
    padding: 5px 10px;
    background: #000;
    color: #fff;
    border-radius: 10px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 0.9;
    letter-spacing: -0.7px;
    text-transform: uppercase;
    white-space: nowrap;
}
.p-nb__catalog-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
.p-nb__catalog-tags span {
    padding: 5px 10px;
    border: 1px solid #c6c6c6;
    border-radius: 10px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 0.9;
    letter-spacing: -0.7px;
    color: #000;
    text-transform: uppercase;
    white-space: nowrap;
}
.p-nb__catalog-price {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    line-height: 0.9;
    letter-spacing: -1.5px;
    color: #000;
    text-transform: uppercase;
}
.p-nb__catalog-price em {
    font-style: normal;
    font-size: 20px;
    margin-right: 4px;
}
.p-nb__catalog-price {
    font-size: 30px;
}

.p-nb__catalog-cta {
    display: block;
    text-align: center;
    padding: 10px 30px;
    background: #000;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.4;
    margin-top: auto;
}
a.p-nb__catalog-card:hover .p-nb__catalog-cta {
    background: #C1D700;
    color: #000;
}

.p-nb__catalog-foot {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin: 40px auto 0;
    max-width: 640px;
}
a.p-nb__catalog-final,
a.p-nb__catalog-final:link,
a.p-nb__catalog-final:visited,
a.p-nb__catalog-final:active {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 20px 30px;
    background: #000;
    color: #fff !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.4;
    text-decoration: none !important;
    overflow: hidden;
    z-index: 0;
    transition: color 0.35s ease;
    white-space: nowrap;
}
a.p-nb__catalog-final::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #C1D700;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.4s ease;
    z-index: -1;
}
a.p-nb__catalog-final:hover::before { transform: scaleX(1); }
a.p-nb__catalog-final:hover { color: #000 !important; }

.p-nb__catalog-note {
    margin: 0;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.4;
    color: #000;
}

@media (max-width: 1100px) {
    .p-nb__catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
    .p-nb__catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
    .p-nb__catalog-title { font-size: 28px; letter-spacing: -1.2px; }
    .p-nb__catalog-sub { font-size: 18px; }
    .p-nb__catalog-tab { font-size: 14px; padding: 8px 10px; }
    .p-nb__catalog-name { font-size: 15px; }
    .p-nb__catalog-count { font-size: 12px; padding: 4px 8px; }
    .p-nb__catalog-tags span { font-size: 12px; padding: 4px 8px; }
    .p-nb__catalog-price { font-size: 26px; }
    .p-nb__catalog-price em { font-size: 18px; }
    .p-nb__catalog-cta { font-size: 16px; padding: 10px 20px; }
    a.p-nb__catalog-final { font-size: 16px; padding: 16px 22px; }
    .p-nb__catalog-note { font-size: 16px; }
}
@media (max-width: 520px) {
    .p-nb__catalog { margin: 80px auto 0; padding: 0 12px; }
    .p-nb__catalog-grid { grid-template-columns: 1fr; }
    .p-nb__catalog-title { font-size: 24px; letter-spacing: -1px; }
    .p-nb__catalog-sub { font-size: 16px; }
    .p-nb__catalog-tab { font-size: 13px; padding: 8px; }
}

/* =========================================================
   Block 11 — Sizes («Таблица размеров New Balance»)
   Header row (border) + tabs, panel below with SVG size chart
   ========================================================= */
.p-nb__sizes {
    width: 100%;
    max-width: 1400px;
    margin: 120px auto 0;
    padding: 0 20px;
    box-sizing: border-box;
}
.p-nb__sizes-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    max-width: 1180px;
    margin: 0 auto;
    padding: 40px;
    border: 1px solid #c6c6c6;
    box-sizing: border-box;
}
.p-nb__sizes-title {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 35px;
    line-height: 0.9;
    letter-spacing: -1.75px;
    color: #000000;
    text-transform: uppercase;
}
.p-nb__sizes-title b { font-weight: 700; }
.p-nb__sizes-tabs {
    display: flex;
    gap: 5px;
    flex-shrink: 0;
}
.p-nb__sizes-tab {
    appearance: none;
    background: #e1e1e1;
    border: 1px solid #c6c6c6;
    padding: 10px 30px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.4;
    color: #262626;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.p-nb__sizes-tab:hover { border-color: #000; }
.p-nb__sizes-tab.is-active {
    background: #E3FD00;
    border-color: #E3FD00;
    font-weight: 500;
    color: #262626;
}

.p-nb__sizes-panel { display: none; }
.p-nb__sizes-panel.is-active { display: block; }
.p-nb__sizes-panel img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

/* Модалка с таблицей размеров */
.p-nb__sizes-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
}
.p-nb__sizes-modal[hidden] { display: none; }
.p-nb__sizes-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    cursor: pointer;
}
.p-nb__sizes-modal-dialog {
    position: relative;
    background: #ffffff;
    border: 1px solid #c6c6c6;
    max-width: 1180px;
    width: 100%;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    animation: p-nb-sizes-in 0.2s ease;
}
@keyframes p-nb-sizes-in {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}
.p-nb__sizes-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 24px;
    border-bottom: 1px solid #c6c6c6;
    flex-shrink: 0;
}
.p-nb__sizes-modal-title {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 22px;
    line-height: 1.1;
    color: #000;
    text-transform: uppercase;
    letter-spacing: -0.5px;
}
.p-nb__sizes-modal-close {
    appearance: none;
    background: transparent;
    border: 1px solid #c6c6c6;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #000;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
    flex-shrink: 0;
}
.p-nb__sizes-modal-close:hover { background: #f3f0f1; border-color: #000; }
.p-nb__sizes-modal-close svg { width: 20px; height: 20px; }
.p-nb__sizes-modal-body {
    padding: 24px;
    overflow: auto;
    flex: 1 1 auto;
}

@media (max-width: 900px) {
    .p-nb__sizes { margin: 80px auto 0; }
    .p-nb__sizes-head {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
        padding: 24px 20px;
    }
    .p-nb__sizes-title { font-size: 24px; letter-spacing: -1px; text-align: center; }
    .p-nb__sizes-tabs { justify-content: center; }
    .p-nb__sizes-tab { font-size: 16px; padding: 10px 20px; flex: 1 1 0; text-align: center; }
    .p-nb__sizes-modal { padding: 12px; }
    .p-nb__sizes-modal-head { padding: 16px 18px; }
    .p-nb__sizes-modal-title { font-size: 18px; }
    .p-nb__sizes-modal-body { padding: 16px; }
}
@media (max-width: 480px) {
    .p-nb__sizes { margin: 60px auto 0; padding: 0 12px; }
    .p-nb__sizes-head { padding: 20px 16px; }
    .p-nb__sizes-title { font-size: 20px; letter-spacing: -0.8px; }
    .p-nb__sizes-tab { font-size: 14px; padding: 10px 14px; }
    .p-nb__sizes-modal-title { font-size: 16px; }
    .p-nb__sizes-modal-body { padding: 12px; }
}

/* =========================================================
   Block 12 — FAQ («Часто задаваемые вопросы»)
   Accordion with details/summary
   ========================================================= */
.p-nb__faq {
    width: 100%;
    background: #F3F0F1;
    margin: 120px 0 120px;
    padding: 120px 20px;
    box-sizing: border-box;
}
.p-nb__faq-title {
    margin: 0 auto 40px;
    text-align: center;
    max-width: 1180px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 35px;
    line-height: 0.9;
    letter-spacing: -1.75px;
    color: #000;
    text-transform: uppercase;
}
.p-nb__faq-title b { font-weight: 700; }
.p-nb__faq-list {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.p-nb__faq-item {
    background: #ffffff;
}
.p-nb__faq-item {
    border: 1px solid #c6c6c6;
    background: #fff;
    transition: border-color 0.2s ease;
}
.p-nb__faq-item[open] { border-color: #000; }
.p-nb__faq-q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 24px;
    cursor: pointer;
    list-style: none;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.4;
    color: #000;
    user-select: none;
}
.p-nb__faq-q::-webkit-details-marker { display: none; }
.p-nb__faq-icon {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    transition: transform 0.25s ease;
}
.p-nb__faq-icon::before,
.p-nb__faq-icon::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    background: #000;
    transform: translate(-50%, -50%);
}
.p-nb__faq-icon::before { width: 14px; height: 2px; }
.p-nb__faq-icon::after { width: 2px; height: 14px; transition: transform 0.25s ease; }
.p-nb__faq-item[open] .p-nb__faq-icon::after { transform: translate(-50%, -50%) scaleY(0); }
.p-nb__faq-a {
    padding: 0 24px 20px;
}
.p-nb__faq-a p {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.5;
    color: #333;
}

@media (max-width: 720px) {
    .p-nb__faq { margin: 60px 0; padding: 60px 12px; }
    .p-nb__faq-title { font-size: 26px; letter-spacing: -1.2px; margin-bottom: 24px; }
    .p-nb__faq-q { padding: 16px 18px; font-size: 16px; gap: 12px; }
    .p-nb__faq-a { padding: 0 18px 16px; }
    .p-nb__faq-a p { font-size: 15px; }
}
@media (max-width: 480px) {
    .p-nb__faq { margin: 60px 0; padding: 60px 12px; }
    .p-nb__faq-title { font-size: 22px; letter-spacing: -1px; }
    .p-nb__faq-q { font-size: 15px; }
}