/* ==== blocks.css ==== */
/* ============================================
   Mini Problems — кастомные стили блоков
   Дополняют theme.json. Палитра: синий/сине-серый/светлый голубой
   ============================================ */

@font-face {
  font-display: swap;
  font-family: 'Jost';
  font-style: normal;
  font-weight: 100 900;
  src: url('../fonts/Jost/Jost-VariableFont_wght.woff2') format('woff2'), url('../fonts/Jost/Jost-VariableFont_wght.ttf') format('truetype');
}

@font-face {
  font-display: swap;
  font-family: 'Jost';
  font-style: italic;
  font-weight: 100 900;
  src: url('../fonts/Jost/Jost-Italic-VariableFont_wght.woff2') format('woff2'), url('../fonts/Jost/Jost-Italic-VariableFont_wght.ttf') format('truetype');
}

@font-face {
  font-display: swap;
  font-family: 'Gogol';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/Gogol/gogol_regular.woff2') format('woff2'), url('../fonts/Gogol/gogol_regular.otf') format('opentype');
}

:root {
  --mp-primary: #1F3763;
  --mp-beige: #B89D88;
  --mp-cream: #EFE3D3;
  --mp-sand: #6FAED6;
  --mp-sand-dark: #1F3763;
  --mp-graphite: #344154;
  --mp-milk: #F7FBFD;
  --mp-line: #DDE8F0;
  --mp-font-body: 'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --mp-font-display: var(--mp-font-body);
  --mp-font-script: 'Gogol', var(--mp-font-body);
  --mp-mobile-nav-height: 72px;
  --mp-mobile-action-height: 64px;
  --mp-promo-height: 34px;
}

body {
  font-family: var(--mp-font-body);
}

/*
 * Foundational reset: this theme's style.css ships with no box-sizing rule
 * at all, and box-sizing: border-box was only ever set on a handful of
 * individual classes throughout this file. In the browser default
 * (content-box), any element combining "width: 100%" with its own padding
 * renders wider than its container, which pushes the whole page past the
 * viewport on mobile (hence needing to pinch-zoom out to see the edges —
 * the fixed bottom nav stays pinned to the real viewport width while the
 * rest of the page is wider, so it looks mismatched/"too long").
 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.mp-inner-title {
  background: #fff;
  border-bottom: 1px solid rgba(31, 55, 99, .08);
  padding: clamp(72px, 9vw, 138px) 20px clamp(34px, 5vw, 70px);
  text-align: center;
}

.mp-inner-title__heading,
.mp-inner-title .wp-block-query-title,
.mp-inner-title .wp-block-post-title {
  color: var(--mp-sand-dark);
  font-family: var(--mp-font-body);
  font-size: clamp(36px, 5.2vw, 72px);
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0;
  text-transform: none;
}

.mp-inner-title__breadcrumbs,
.mp-inner-title .woocommerce-breadcrumb {
  color: rgba(31, 55, 99, .58);
  font-size: 12px;
  letter-spacing: .08em;
  margin-top: 28px;
  text-transform: uppercase;
}

.mp-inner-title__breadcrumbs a,
.mp-inner-title .woocommerce-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.mp-not-found {
  max-width: 720px;
  padding: clamp(72px, 10vw, 132px) 20px;
}

.mp-not-found__code {
  color: rgba(31, 55, 99, .12);
  font-size: clamp(88px, 18vw, 180px);
  font-weight: 700;
  letter-spacing: .08em;
  line-height: .85;
  margin: 0 0 20px;
}

.mp-not-found__title {
  color: var(--mp-sand-dark);
  font-size: clamp(28px, 4vw, 46px);
  font-weight: 500;
  letter-spacing: .02em;
  margin: 0 0 16px;
}

.mp-not-found__text {
  color: var(--mp-graphite);
  font-size: 16px;
  line-height: 1.7;
  margin: 0 auto 30px;
  max-width: 560px;
}

.mp-not-found__search {
  margin: 34px auto 0;
  max-width: 520px;
}

.mp-not-found__search .wp-block-search__inside-wrapper {
  border: 1px solid var(--mp-line);
  border-radius: 4px;
  overflow: hidden;
}

.mp-not-found__search .wp-block-search__input {
  border: 0;
  min-height: 48px;
}

.mp-not-found__search .wp-block-search__button {
  background: var(--mp-sand-dark);
  border: 0;
  color: #fff;
  min-height: 48px;
}

.mp-blog-sidebar {
  display: grid;
  gap: 18px;
  padding: 0 !important;
}

.mp-blog-sidebar__section {
  background: #fff;
  border: 1px solid var(--mp-line);
  padding: 22px !important;
}

.mp-blog-sidebar__title {
  color: var(--mp-sand-dark) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .12em;
  margin: 0 0 16px !important;
  padding: 0 0 12px !important;
  text-transform: uppercase !important;
}

.mp-blog-sidebar ul,
.mp-blog-sidebar ol {
  margin: 0;
  padding-left: 18px;
}

.mp-blog-sidebar li {
  color: var(--mp-graphite);
  line-height: 1.7;
}

.mp-blog-sidebar a {
  color: inherit;
  text-decoration: none;
}

.mp-blog-sidebar a:hover {
  color: var(--mp-sand-dark);
}

.mp-blog-sidebar .wp-block-search__inside-wrapper {
  border: 1px solid var(--mp-line);
  border-radius: 4px;
  overflow: hidden;
}

.mp-blog-sidebar .wp-block-search__input,
.mp-blog-sidebar .wp-block-search__button {
  border: 0;
  min-height: 44px;
}

.mp-blog-sidebar .wp-block-search__button {
  background: var(--mp-sand-dark);
  color: #fff;
}

.mp-journal-page,
.mp-search-page {
  padding: clamp(42px, 6vw, 78px) 20px;
}

.mp-journal-layout {
  align-items: flex-start;
  gap: clamp(28px, 4vw, 56px);
}

.mp-post-grid {
  gap: clamp(22px, 3vw, 34px) !important;
}

.mp-post-card {
  background: #fff;
  border: 1px solid var(--mp-line);
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}

.mp-post-card__image {
  background: var(--mp-milk);
  margin: 0 !important;
  overflow: hidden;
}

.mp-post-card__image img {
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
  width: 100%;
}

.mp-post-card:hover .mp-post-card__image img {
  transform: scale(1.025);
}

.mp-post-card__body {
  padding: 18px 18px 22px;
}

.mp-post-card__date {
  color: rgba(31, 55, 99, .58);
  font-size: 11px !important;
  font-weight: 600;
  letter-spacing: .12em;
  margin: 0 0 10px !important;
  text-transform: uppercase;
}

.mp-post-card__title {
  font-size: clamp(18px, 2vw, 23px) !important;
  font-weight: 500;
  line-height: 1.25;
  margin: 0 0 12px !important;
}

.mp-post-card__title a {
  color: var(--mp-sand-dark);
  text-decoration: none;
}

.mp-post-card__excerpt {
  color: var(--mp-graphite);
  font-size: 14px !important;
  line-height: 1.65;
  margin: 0 !important;
}

.mp-post-card__excerpt .wp-block-post-excerpt__more-link {
  color: var(--mp-sand-dark);
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  margin-top: 14px;
  text-decoration: none;
  text-transform: uppercase;
}

.mp-search-page__form {
  margin: 0 auto clamp(34px, 5vw, 56px);
  max-width: 640px;
}

.mp-search-page__form .wp-block-search__inside-wrapper {
  border: 1px solid var(--mp-line);
  border-radius: 4px;
  overflow: hidden;
}

.mp-search-page__form .wp-block-search__input,
.mp-search-page__form .wp-block-search__button {
  border: 0;
  min-height: 52px;
}

.mp-search-page__form .wp-block-search__button {
  background: var(--mp-sand-dark);
  color: #fff;
  padding-left: 24px;
  padding-right: 24px;
}

.mp-pagination {
  gap: 8px;
  margin-top: clamp(34px, 5vw, 58px);
}

.mp-pagination a,
.mp-pagination .page-numbers {
  align-items: center;
  border: 1px solid var(--mp-line);
  color: var(--mp-graphite);
  display: inline-flex;
  justify-content: center;
  min-height: 38px;
  min-width: 38px;
  padding: 8px 12px;
  text-decoration: none;
}

.mp-pagination .page-numbers.current,
.mp-pagination a:hover {
  background: var(--mp-sand-dark);
  border-color: var(--mp-sand-dark);
  color: #fff;
}

.mp-single-post {
  padding: clamp(42px, 6vw, 82px) 20px;
}

.mp-single-post__image {
  background: var(--mp-milk);
  margin-bottom: clamp(24px, 4vw, 42px) !important;
  overflow: hidden;
}

.mp-single-post__image img {
  display: block;
  max-height: 620px;
  object-fit: cover;
  width: 100%;
}

.mp-single-post__meta {
  color: rgba(31, 55, 99, .58);
  font-size: 12px;
  font-weight: 600;
  gap: 14px;
  letter-spacing: .1em;
  margin-bottom: clamp(24px, 4vw, 40px);
  text-transform: uppercase;
}

.mp-single-post__meta a {
  color: inherit;
  text-decoration: none;
}

.mp-single-post__content {
  color: var(--mp-graphite);
  font-size: 17px;
  line-height: 1.85;
}

.mp-single-post__content h2,
.mp-single-post__content h3,
.mp-single-post__content h4 {
  color: var(--mp-sand-dark);
  line-height: 1.2;
  margin-top: 1.8em;
}

.mp-single-post__content a {
  color: var(--mp-sand-dark);
}

.mp-single-post__terms {
  border-top: 1px solid var(--mp-line);
  color: rgba(31, 55, 99, .68);
  font-size: 13px;
  gap: 10px 18px;
  margin-top: clamp(34px, 5vw, 58px);
  padding-top: 20px;
}

.mp-single-post__terms a {
  color: inherit;
  text-decoration: none;
}

.mp-single-post__separator {
  border-color: var(--mp-line);
  margin: clamp(28px, 4vw, 48px) 0 !important;
}

.mp-comments {
  background: #fff;
  border: 1px solid var(--mp-line);
  padding: clamp(22px, 4vw, 40px);
}

@media (max-width: 700px) {
  .mp-inner-title {
    padding: 54px 18px 32px;
  }

  .mp-inner-title__heading,
  .mp-inner-title .wp-block-query-title,
  .mp-inner-title .wp-block-post-title {
    font-size: 38px;
    letter-spacing: .06em;
  }

  .mp-journal-page,
  .mp-search-page {
    padding-left: 16px;
    padding-right: 16px;
  }

  .mp-post-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ─── Promo bar ─── */
.mp-promo-bar {
  background: var(--mp-beige);
  color: #fff;
  font-family: var(--mp-font-body);
  font-size: 12px;
  letter-spacing: .04em;
  line-height: 1.2;
  position: sticky;
  top: 0;
  z-index: 950;
}

.mp-promo-bar__inner {
  align-items: center;
  color: inherit;
  display: flex;
  gap: 10px;
  justify-content: center;
  min-height: var(--mp-promo-height);
  padding: 6px 16px;
  text-align: center;
  text-decoration: none;
}

.mp-promo-bar__code {
  background: rgba(255, 255, 255, .14);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  font-weight: 700;
  padding: 3px 9px;
  white-space: nowrap;
}

@media (max-width: 520px) {
  .mp-promo-bar {
    font-size: 11px;
  }

  .mp-promo-bar__inner {
    align-items: center;
    flex-direction: column;
    gap: 4px;
    min-height: auto;
  }
}

/* Header / footer */
.mp-site-header {
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid var(--mp-line);
  position: sticky;
  top: 0;
  transition: box-shadow .2s ease;
  z-index: 900;
}

.mp-site-header.is-scrolled {
  box-shadow: 0 2px 14px rgba(20, 30, 50, .06);
}

.mp-site-header.is-scrolled .mp-main-header {
  --mp-header-inner-padding: 10px;
}

.mp-main-header {
  padding-top: var(--mp-header-inner-padding, 18px);
  padding-bottom: var(--mp-header-inner-padding, 18px);
  transition: padding .2s ease;
}

.mp-site-header.is-scrolled .mp-header-logo img {
  max-height: 34px;
  transition: max-height .2s ease;
}

.mp-site-logo {
  line-height: 0;
  margin: 0 !important;
}

.mp-site-logo img {
  display: block;
  height: auto !important;
  max-height: 60px;
  object-fit: contain;
}

.mp-site-header .wp-block-site-title a {
  text-decoration: none;
}

.mp-site-header .wp-block-navigation a {
  text-decoration: none;
}

.mp-site-footer {
  color: #fff;
}

.mp-site-footer a {
  color: inherit;
  text-decoration: none;
}

.mp-site-footer a:hover {
  text-decoration: underline;
}

.mp-site-footer__title {
  font-family: var(--mp-font-body);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .08em;
  margin: 0 0 16px;
  text-transform: uppercase;
}

.mp-site-footer__logo {
  margin-bottom: 18px !important;
}

.mp-site-footer__links {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.mp-site-footer__links li,
.mp-site-footer__contact,
.mp-site-footer__marketplaces,
.mp-site-footer__bottom p {
  font-family: var(--mp-font-body);
  font-size: 14px;
  line-height: 1.45;
  margin: 0;
}

.mp-site-footer__bottom {
  color: rgba(255, 255, 255, .82);
}

@media (max-width: 781px) {
  .mp-site-footer__columns {
    gap: 28px;
  }

  .mp-footer-accordion > h2,
  .mp-footer-accordion > h3 {
    cursor: pointer;
    margin: 0 !important;
    padding: 14px 0;
    position: relative;
  }

  .mp-footer-accordion > h2::after,
  .mp-footer-accordion > h3::after {
    content: "+";
    font-size: 18px;
    line-height: 1;
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
  }

  .mp-footer-accordion.is-open > h2::after,
  .mp-footer-accordion.is-open > h3::after {
    content: "\2212";
  }

  .mp-footer-accordion > *:not(h2):not(h3) {
    display: none;
  }

  .mp-footer-accordion.is-open > *:not(h2):not(h3) {
    display: block;
  }

  .mp-footer-accordion.mp-site-footer__social.is-open > .wp-block-social-links {
    display: flex;
  }
}

/*
 * On mobile the site header is replaced by the fixed bottom app nav
 * (see "Mobile browser app layer" below), so it must not render at all.
 * Breakpoint matches the one used by .mp-mobile-nav (768px) so there is
 * no gap where neither the header nor the bottom nav is visible.
 */
@media (max-width: 768px) {
  .mp-site-header {
    display: none !important;
  }
}

/* ─── HERO ─── */
.mp-hero {
  position: relative;
  min-height: clamp(390px, 41.667vw, 600px) !important;
}
.mp-hero .wp-block-cover__image-background {
  object-position: center center;
}
.mp-hero__content {
  max-width: 575px;
  width: 100%;
}
.mp-hero__title {
  font-family: var(--mp-font-body) !important;
  font-size: clamp(48px, 5.1vw, 74px) !important;
  font-weight: 600 !important;
  letter-spacing: .035em;
  color: var(--mp-sand-dark) !important;
  line-height: .94 !important;
  margin: 0 0 10px !important;
}
.mp-hero__desc {
  font-family: var(--mp-font-body) !important;
  color: var(--mp-sand-dark);
  font-size: clamp(18px, 1.78vw, 25px) !important;
  font-weight: 400;
  letter-spacing: .015em;
  line-height: 1.22;
  margin: 0 0 6px !important;
}
.mp-hero__desc strong {
  color: var(--mp-sand-dark);
  font-weight: 700;
}
.mp-hero__script {
  color: var(--mp-sand-dark);
  font-family: var(--mp-font-script);
  font-size: clamp(26px, 3vw, 43px) !important;
  line-height: 1;
  margin: 6px 0 0 !important;
}
.mp-hero__content::after {
  content: none;
}
.mp-hero__actions {
  gap: 6px;
}
.mp-hero__btn .wp-block-button__link {
  align-items: center;
  display: inline-flex;
  height: 38px;
  justify-content: center;
  min-width: 178px;
  padding: 0 34px !important;
  transition: all .3s ease;
}
.mp-hero__btn--outline .wp-block-button__link:hover {
  background: var(--mp-graphite) !important;
  border-color: var(--mp-graphite) !important;
  color: #fff !important;
}
.mp-hero__btn--primary .wp-block-button__link:hover {
  background: var(--mp-sand-dark) !important;
  border-color: var(--mp-sand-dark) !important;
}

@media (max-width: 781px) {
  .mp-hero {
    min-height: 520px !important;
  }

  .mp-hero .wp-block-cover__image-background {
    object-position: 62% center;
  }

  .mp-hero__content {
    max-width: 72%;
  }

  .mp-hero__actions {
    flex-direction: column;
  }
}

@media (max-width: 520px) {
  .mp-hero {
    min-height: 560px !important;
  }

  .mp-hero::before {
    background: linear-gradient(90deg, rgba(247, 251, 253, .92), rgba(247, 251, 253, .62) 58%, rgba(247, 251, 253, .08));
    content: "";
    inset: 0;
    position: absolute;
    z-index: 1;
  }

  .mp-hero .wp-block-cover__inner-container {
    position: relative;
    z-index: 2;
  }

  .mp-hero__content {
    max-width: 88%;
  }
}

/* ─── ОБЩЕЕ: убираем наследие owl/carousel которое ломает сетку ─── */
.slider-products-sec,
.slider-products-content,
.owl-carousel {
  display: block !important;
}

/* ─── Плашки доверия / секции — выравнивание ─── */
.entry-content > .wp-block-columns:not(.mp-gender__grid),
.wp-site-blocks > .wp-block-columns:not(.mp-gender__grid) {
  gap: 2px;
}

/* ============================================
   БЛОКИ ГЛАВНОЙ (canopea v2)
   ============================================ */

/* ─── Плашки доверия ─── */
.mp-trust {
  min-height: 72px;
}
.mp-trust__row {
  gap: 0 !important;
  min-height: 72px;
  width: 100%;
}
.mp-trust__item {
  align-items: center !important;
  border-right: 1px solid #d8c5ba;
  box-sizing: border-box;
  flex: 1 1 25%;
  gap: 18px !important;
  min-height: 46px;
  padding: 0 24px;
  text-align: left;
}
.mp-trust__item:last-child {
  border-right: none;
}
.mp-trust__icon {
  flex: 0 0 34px;
  line-height: 0;
  margin: 0 !important;
}

.mp-trust__icon img {
  height: 34px !important;
  width: 34px !important;
}
.mp-trust__copy {
  margin: 0 !important;
}
.mp-trust__title {
  color: var(--mp-sand-dark);
  font-size: 15px;
  letter-spacing: .045em;
  line-height: 1;
  margin: 0 0 3px !important;
  text-transform: uppercase;
}
.mp-trust__title strong {
  font-weight: 500;
}
.mp-trust__desc {
  color: #6f7380;
  font-size: 10px;
  letter-spacing: .02em;
  line-height: 1;
  margin: 0 !important;
}
@media (max-width: 781px) {
  .mp-trust__row { flex-wrap: wrap !important; }
  .mp-trust__item { flex-basis: 50% !important; justify-content: flex-start !important; padding: 14px 18px; border-bottom: 1px solid var(--mp-line); }
  .mp-trust__item:nth-child(2) { border-right: none; }
}

/* Gender split */
.mp-gender,
.mp-gender__grid,
.mp-gender > .wp-block-columns {
  gap: 8px !important;
}
.mp-gender {
  background: #f7fbfd;
  max-width: none !important;
  overflow: hidden;
  width: 100% !important;
}
.mp-gender__grid,
.mp-gender > .wp-block-columns {
  align-items: stretch !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  margin: 0 auto !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}
.mp-gender__col,
.mp-gender > .wp-block-columns > .wp-block-column {
  flex-basis: auto !important;
  flex-grow: 0 !important;
  margin: 0 !important;
  min-width: 0;
  width: 100% !important;
}
.mp-gender__cover,
.mp-gender .wp-block-cover {
  aspect-ratio: 469 / 270;
  margin: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
  overflow: hidden;
  width: 100%;
}
.mp-gender__cover .wp-block-cover__inner-container,
.mp-gender .wp-block-cover .wp-block-cover__inner-container {
  width: 100%;
  z-index: 2;
}
.mp-gender__button-area {
  box-sizing: border-box;
  margin: 0;
  width: 100%;
}
.mp-gender__cover img,
.mp-gender .wp-block-cover img {
  object-fit: cover;
  width: 100% !important;
  transition: transform .45s ease;
}
.mp-gender__cover:hover img,
.mp-gender .wp-block-cover:hover img {
  transform: scale(1.025);
}
.mp-gender__button {
  margin: 0;
  z-index: 3;
}
.mp-gender__button a {
  color: var(--mp-sand-dark);
  display: inline-block;
  font-family: var(--mp-font-body) !important;
  font-size: clamp(28px, 3vw, 44px);
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  padding: 10px 18px;
  text-decoration: none;
  text-shadow: 0 0 8px rgba(247, 251, 253, .85), 0 0 16px rgba(247, 251, 253, .65);
}
.mp-gender__button a:focus-visible {
  outline: 2px solid var(--mp-sand-dark);
  outline-offset: 4px;
}
@media (max-width: 781px) {
  .mp-gender__grid,
  .mp-gender > .wp-block-columns {
    display: grid !important;
    grid-template-columns: 1fr;
  }

  .mp-gender__button a {
    font-size: clamp(30px, 9vw, 44px);
  }
}

.mp-front-page {
  overflow: hidden;
}

.mp-front-title {
  color: var(--mp-sand-dark);
  font-family: var(--mp-font-body) !important;
  font-size: clamp(24px, 2.1vw, 34px) !important;
  font-weight: 400 !important;
  letter-spacing: .02em;
  line-height: 1.15 !important;
  margin: 0 !important;
}

.mp-front-title--center {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 760px;
}

.mp-front-link {
  font-family: var(--mp-font-body);
  font-size: 12px;
  letter-spacing: .08em;
  margin: 0 !important;
  text-transform: uppercase;
}

.mp-front-link a {
  color: var(--mp-sand-dark);
  text-decoration: none;
}

.mp-new-products {
  margin-top: 0 !important;
}

.mp-section-head--row {
  align-items: center !important;
  margin-bottom: 24px !important;
  width: 100%;
}

.mp-products-grid {
  gap: 8px !important;
  margin: 0 !important;
}

.mp-product-card,
.mp-products-grid .wc-block-product {
  margin: 0 !important;
}

.mp-product-card__image,
.mp-products-grid .wc-block-components-product-image {
  background: #f7fbfd;
  margin: 0 !important;
  overflow: hidden;
}

.mp-product-card__image img,
.mp-products-grid .wc-block-components-product-image img {
  aspect-ratio: 1 / 1.34;
  display: block;
  height: auto !important;
  object-fit: cover;
  width: 100% !important;
}

.mp-product-card__title,
.mp-product-card__title a,
.mp-products-grid .wp-block-post-title,
.mp-products-grid .wp-block-post-title a {
  color: var(--mp-sand-dark);
  font-family: var(--mp-font-body) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  margin: 14px 0 4px !important;
  text-decoration: none;
}

.mp-product-card__price,
.mp-products-grid .wc-block-components-product-price {
  color: var(--mp-sand-dark);
  font-family: var(--mp-font-body) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  margin: 0 !important;
}

.mp-cheaper__table {
  border: 1px solid rgba(31, 55, 99, .18);
  box-shadow: 0 22px 44px rgba(31, 55, 99, .08);
}

.mp-cheaper__table table {
  border-collapse: collapse;
  font-family: var(--mp-font-body);
  width: 100%;
}

.mp-cheaper__table th {
  background: var(--mp-sand-dark);
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .04em;
  padding: 15px 18px;
  text-transform: uppercase;
}

.mp-cheaper__table th:first-child {
  background: #fff;
}

.mp-cheaper__table td {
  background: #fff;
  border-top: 1px solid rgba(31, 55, 99, .12);
  color: var(--mp-sand-dark);
  font-size: 14px;
  padding: 15px 18px;
  text-align: center;
}

.mp-cheaper__table td:first-child {
  text-align: left;
}

.mp-cheaper__table td:last-child {
  color: var(--mp-primary);
  font-weight: 700;
}

@media (max-width: 781px) {
  .mp-section-head--row {
    align-items: flex-start !important;
    flex-direction: column;
    gap: 10px;
  }

  .mp-products-grid {
    display: grid !important;
    grid-template-columns: 1fr;
  }
}

/* Delivery and payment page */
.mp-page-script {
  color: var(--mp-sand-dark);
  font-family: var(--mp-font-script) !important;
  font-size: clamp(30px, 4vw, 54px) !important;
  line-height: 1;
  margin: 0 0 14px !important;
}

.mp-page-title {
  color: var(--mp-sand-dark);
  font-family: var(--mp-font-body) !important;
  font-size: clamp(46px, 6vw, 86px) !important;
  font-weight: 600 !important;
  letter-spacing: .035em;
  line-height: .95 !important;
  margin: 0 0 22px !important;
  text-transform: uppercase;
}

.mp-page-lead {
  color: var(--mp-graphite);
  font-size: clamp(17px, 1.7vw, 22px) !important;
  line-height: 1.5;
  margin: 0 auto !important;
  max-width: 760px;
}

.mp-section-eyebrow {
  color: var(--mp-sand-dark);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .16em;
  margin: 0 0 16px !important;
  text-transform: uppercase;
}

.mp-section-title {
  color: var(--mp-sand-dark);
  font-family: var(--mp-font-body) !important;
  font-size: clamp(28px, 4vw, 48px) !important;
  font-weight: 500 !important;
  line-height: 1.12 !important;
  margin: 0 0 28px !important;
}

.mp-info-split__image {
  aspect-ratio: 4 / 5;
  margin: 0 !important;
  overflow: hidden;
}

.mp-info-split__image img {
  height: 100%;
  object-fit: cover;
  object-position: 69% center;
  width: 100%;
}

.mp-delivery-cards {
  gap: 14px !important;
}

.mp-delivery-card {
  background: #fff;
  border: 1px solid rgba(31, 55, 99, .1);
  border-radius: 6px;
  padding: 28px !important;
}

.mp-delivery-card__num,
.mp-process__num {
  color: #cfaa96;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .18em;
  margin: 0 0 16px !important;
}

.mp-delivery-card__title {
  color: var(--mp-sand-dark);
  font-size: 24px !important;
  font-weight: 600 !important;
  margin: 0 0 12px !important;
}

.mp-delivery-card__text,
.mp-policy-block__text {
  color: var(--mp-graphite);
  font-size: 16px;
  line-height: 1.65;
  margin: 0 !important;
}

.mp-delivery-card__text + .mp-delivery-card__text,
.mp-policy-block__text + .mp-policy-block__text {
  margin-top: 16px !important;
}

.mp-process {
  border-bottom: 1px solid rgba(31, 55, 99, .12);
  border-top: 1px solid rgba(31, 55, 99, .12);
  gap: 0 !important;
}

.mp-process__item {
  border-right: 1px solid rgba(31, 55, 99, .12);
  padding: 34px 28px !important;
}

.mp-process__item:last-child {
  border-right: 0;
}

.mp-process__text {
  color: var(--mp-sand-dark);
  font-size: 17px;
  line-height: 1.45;
  margin: 0 !important;
}

.mp-policy-block {
  background: #fff;
  border-radius: 6px;
  padding: clamp(30px, 4vw, 54px) !important;
}

.mp-policy-block--return {
  background: #f8fcfd;
  border: 1px solid rgba(31, 55, 99, .1);
}

.mp-return-note {
  border-top: 1px solid rgba(31, 55, 99, .12);
  color: var(--mp-sand-dark);
  font-size: 17px;
  line-height: 1.6;
  margin-top: 44px !important;
  padding-top: 28px;
}

.mp-care-guide-list {
  color: var(--mp-graphite);
  display: grid;
  gap: 14px;
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
}

.mp-care-guide-list li {
  border-bottom: 1px solid rgba(31, 55, 99, .12);
  font-size: 16px;
  line-height: 1.6;
  padding: 0 0 14px 34px;
  position: relative;
}

.mp-care-guide-list li::before {
  color: #cfaa96;
  content: "—";
  left: 0;
  position: absolute;
  top: 0;
}

.mp-policy-block__text + .mp-care-guide-list {
  margin-top: 16px !important;
}

.mp-care-guide-list + .mp-policy-block__text {
  margin-top: 20px !important;
}

@media (max-width: 781px) {
  .mp-page-title {
    letter-spacing: .02em;
  }

  .mp-delivery-cards,
  .mp-payment-return__grid,
  .mp-process {
    flex-direction: column !important;
  }

  .mp-process__item {
    border-bottom: 1px solid rgba(31, 55, 99, .12);
    border-right: 0;
  }

  .mp-process__item:last-child {
    border-bottom: 0;
  }
}

/* Brand story page */
.mp-brand-photo__image {
  aspect-ratio: 4 / 5;
  margin: 0 !important;
  overflow: hidden;
}

.mp-brand-photo__image img {
  height: 100%;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.mp-brand-photo__caption {
  color: rgba(31, 55, 99, .62);
  font-size: 13px;
  line-height: 1.5;
  margin: 14px 0 0 !important;
}

.mp-brand-text {
  color: var(--mp-graphite);
  font-size: 17px;
  line-height: 1.72;
  margin: 0 0 20px !important;
}

.mp-brand-quote {
  border-left: 1px solid rgba(207, 170, 150, .75);
  color: var(--mp-sand-dark);
  margin: 28px 0 !important;
  padding-left: 28px;
}

.mp-brand-quote p {
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.58;
  margin: 0 0 14px !important;
}

.mp-brand-quote cite {
  color: rgba(31, 55, 99, .62);
  display: block;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.mp-brand-philosophy__title {
  color: var(--mp-sand-dark);
  font-family: var(--mp-font-body) !important;
  font-size: clamp(30px, 4vw, 54px) !important;
  font-weight: 500 !important;
  line-height: 1.12 !important;
  margin: 0 auto 28px !important;
  max-width: 920px;
}

.mp-brand-philosophy__text {
  color: var(--mp-graphite);
  font-size: clamp(17px, 1.7vw, 21px) !important;
  line-height: 1.62;
  margin: 0 auto !important;
  max-width: 820px;
}

.mp-brand-philosophy__text + .mp-brand-philosophy__text {
  margin-top: 18px !important;
}

.mp-brand-value {
  background: #fff;
  border: 1px solid rgba(31, 55, 99, .1);
  border-radius: 6px;
  padding: clamp(26px, 3vw, 38px) !important;
}

.mp-brand-value__num {
  color: #cfaa96;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .18em;
  margin: 0 0 24px !important;
}

.mp-brand-value__title {
  color: var(--mp-sand-dark);
  font-size: 25px !important;
  font-weight: 600 !important;
  margin: 0 0 12px !important;
}

.mp-brand-value__text {
  color: var(--mp-graphite);
  font-size: 16px;
  line-height: 1.65;
  margin: 0 !important;
}

.mp-brand-final {
  border-top: 1px solid rgba(31, 55, 99, .12);
  margin-top: clamp(38px, 5vw, 64px) !important;
  padding-top: clamp(28px, 4vw, 44px);
}

.mp-brand-final__text {
  color: var(--mp-sand-dark);
  font-size: clamp(19px, 2vw, 26px);
  line-height: 1.55;
  margin: 0 !important;
}

@media (max-width: 781px) {
  .mp-brand-origin__grid,
  .mp-brand-values__grid {
    flex-direction: column !important;
  }

  .mp-brand-quote {
    padding-left: 20px;
  }
}

/* FAQ page */
.mp-faq-aside {
  position: relative;
}

.mp-faq-aside__text {
  color: rgba(35, 40, 48, .72);
  font-size: 16px;
  line-height: 1.65;
  margin: 0 !important;
}

.mp-faq-list {
  border-top: 1px solid rgba(31, 55, 99, .12);
}

.mp-faq-item {
  border-bottom: 1px solid rgba(31, 55, 99, .12);
  color: var(--mp-graphite);
  padding: 0;
}

.mp-faq-item summary {
  color: var(--mp-sand-dark);
  cursor: pointer;
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 500;
  line-height: 1.35;
  list-style: none;
  padding: 26px 44px 26px 0;
  position: relative;
}

.mp-faq-item summary::-webkit-details-marker {
  display: none;
}

.mp-faq-item summary::after {
  color: #cfaa96;
  content: "+";
  font-size: 28px;
  font-weight: 300;
  line-height: 1;
  position: absolute;
  right: 4px;
  top: 25px;
}

.mp-faq-item[open] summary::after {
  content: "−";
}

.mp-faq-item p {
  color: var(--mp-graphite);
  font-size: 16px;
  line-height: 1.7;
  margin: 0 0 18px !important;
  max-width: 720px;
}

@media (max-width: 781px) {
  .mp-faq-layout {
    flex-direction: column !important;
  }

  .mp-faq-item summary {
    padding-right: 36px;
  }
}

/* ─── UPF блок ─── */
.mp-upf__hero { display: flex; align-items: center; }
.mp-upf__content { text-align: right; }
.mp-upf__eyebrow { font-size: 10px; letter-spacing: .22em; text-transform: uppercase; opacity: .7; margin-bottom: 12px; }
.mp-upf__title { font-size: clamp(28px, 4vw, 44px) !important; margin-bottom: 16px !important; }
.mp-upf__text { font-size: 15px; opacity: .85; margin-bottom: 20px; }
.mp-upf__link a { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; border-bottom: 1px solid rgba(255,255,255,.5); padding-bottom: 2px; }
.mp-upf__compare-title { font-size: clamp(22px, 3vw, 30px) !important; }
.mp-upf__explain-title { font-size: 22px !important; }
.mp-upf__b-title { margin: 0 0 4px; } .mp-upf__b-title strong { font-weight: 500; }
.mp-upf__b-text { font-size: 13px; color: #888; margin: 0; }
@media (max-width: 781px) {
  .mp-upf__content { text-align: left; }
  .mp-upf__benefits { flex-direction: column !important; gap: 24px; }
}

/* Таблицы сравнения */
.mp-compare-table table, .mp-cheaper__table table { border-collapse: collapse; width: 100%; }
.mp-compare-table th, .mp-cheaper__table th { font-family: var(--mp-font-body); font-size: 11px; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; color: #888; text-align: left; padding: 16px 20px; border-bottom: 2px solid var(--mp-graphite); }
.mp-compare-table th:first-child { color: var(--mp-graphite); font-weight: 600; }
.mp-compare-table td, .mp-cheaper__table td { font-size: 14px; color: #777; padding: 16px 20px; border-bottom: 1px solid var(--mp-line); vertical-align: top; }
.mp-compare-table td:first-child { color: var(--mp-graphite); }

/* ─── Дешевле на сайте ─── */
.mp-cheaper__eyebrow { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; margin-bottom: 12px; }
.mp-cheaper__title { font-size: clamp(26px, 3vw, 32px) !important; margin-bottom: 6px !important; }
.mp-cheaper__sub { font-size: 14px; color: #888; }
.mp-cheaper__table th, .mp-cheaper__table td { text-align: center; }
.mp-cheaper__table th:first-child, .mp-cheaper__table td:first-child { text-align: left; }
.mp-cheaper__table th:last-child, .mp-cheaper__table td:last-child { color: var(--mp-sand); font-weight: 600; background: rgba(206,145,100,.06); }

/* Front page final overrides */
.mp-front-page .mp-gender,
.mp-front-page .mp-new-products,
.mp-front-page .mp-upf,
.mp-front-page .mp-cheaper,
.mp-front-page .mp-care-program,
.mp-front-page .faq-section {
  margin-top: 0 !important;
}

.mp-front-page .mp-cheaper__table th {
  background: var(--mp-sand-dark) !important;
  border-bottom: 0 !important;
  color: #fff !important;
  text-align: center !important;
}

.mp-front-page .mp-cheaper__table th:first-child {
  background: #fff !important;
  color: var(--mp-sand-dark) !important;
  text-align: left !important;
}

.mp-front-page .mp-cheaper__table td {
  background: #fff !important;
  border-bottom: 1px solid rgba(31, 55, 99, .12) !important;
  color: var(--mp-sand-dark) !important;
  text-align: center !important;
}

.mp-front-page .mp-cheaper__table td:first-child {
  text-align: left !important;
}

.mp-front-page .mp-cheaper__table td:last-child {
  background: #fff !important;
  color: var(--mp-primary) !important;
  font-weight: 700 !important;
}
.mp-cheaper__note { font-size: 12px; color: #999; margin-top: 16px; }

/* ─── Доставка ─── */
.mp-delivery__eyebrow { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: #888; margin-bottom: 10px; }
.mp-delivery__title { font-size: clamp(22px, 3vw, 28px) !important; }
.mp-delivery__steps { border-top: 1px solid var(--mp-line); padding-top: 40px; }
.mp-delivery__num { font-family: var(--mp-font-body); font-size: 48px !important; line-height: 1; margin: 0 0 16px !important; }
.mp-delivery__step-text { font-size: 13px; color: #888; }
.mp-delivery__logos { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--mp-line); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #888; }
@media (max-width: 781px) {
  .mp-delivery__steps { flex-wrap: wrap !important; }
  .mp-delivery__step { flex-basis: 50% !important; margin-bottom: 24px; }
}

/* ─── Mini Care ─── */
.mp-care {
  border-top: 1px solid var(--mp-line);
  padding: clamp(48px, 7vw, 80px) 24px;
}
.mp-care__inner {
  display: grid;
  gap: clamp(28px, 5vw, 64px);
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  margin: 0 auto;
  max-width: 1280px;
}
.mp-care__eyebrow { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: #888; margin-bottom: 12px; }
.mp-care__title { color: var(--mp-sand-dark); font-size: clamp(28px, 4vw, 40px) !important; margin-bottom: 14px !important; }
.mp-care__text { font-size: 14px; color: #667085; margin-bottom: 32px; max-width: 440px; }
.mp-care__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.mp-care__button,
.mp-care__link {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0;
  display: inline-flex;
  font-family: var(--mp-font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  padding: 0;
  text-decoration: none;
  text-transform: uppercase;
}
.mp-care__button {
  color: #fff;
}
.mp-care__link {
  color: var(--mp-sand-dark);
}
.mp-care__levels { border-top: 1px solid var(--mp-line); }
.mp-care__level {
  align-items: center;
  display: grid;
  gap: 24px;
  grid-template-columns: 88px minmax(0, 1fr);
  padding: 24px 0;
}
.mp-care__level:not(:last-child) { border-bottom: 1px solid var(--wp--preset--color--background2); }
.mp-care__pct { color: var(--mp-sand-dark); font-family: var(--mp-font-body); font-size: 36px !important; min-width: 70px; margin: 0 !important; }
.mp-care__name { margin: 0 0 3px; } .mp-care__name strong { color: var(--mp-graphite); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.mp-care__desc { font-size: 12px; color: #667085; margin: 0; }
@media (max-width: 781px) {
  .mp-care__inner { grid-template-columns: 1fr; }
}

/* ─── Product page ─── */
.single-product .mp-inner-title,
.post-type-archive-product .mp-inner-title,
.tax-product_cat .mp-inner-title,
.tax-product_tag .mp-inner-title,
.woocommerce.search .mp-inner-title {
  display: none !important;
}

.mp-single-product-page,
.post-type-archive-product #primary,
.tax-product_cat #primary,
.tax-product_tag #primary,
.woocommerce.search #primary {
  padding-top: clamp(28px, 4vw, 56px);
}

.mp-product-summary {
  align-items: flex-start;
  gap: clamp(28px, 5vw, 72px) !important;
  margin: 0 auto clamp(36px, 5vw, 72px);
  max-width: 1260px;
}

.mp-product-summary__media {
  flex-basis: min(46vw, 560px) !important;
}

.mp-product-summary__media .woocommerce-product-gallery,
.mp-product-summary__media .wp-block-woocommerce-product-image-gallery {
  max-width: 100%;
}

.mp-product-summary__media .woocommerce-product-gallery__wrapper {
  margin: 0;
}

.mp-product-summary__media .woocommerce-product-gallery__image,
.mp-product-summary__media .woocommerce-product-gallery__image a,
.mp-product-summary__media .woocommerce-product-gallery__image img {
  display: block;
  width: 100%;
}

.mp-product-summary__media .woocommerce-product-gallery__image img {
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.mp-product-summary__media .flex-control-thumbs {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
}

.mp-product-summary__media .flex-control-thumbs li {
  float: none;
  width: auto;
}

.mp-product-summary__media .flex-control-thumbs img {
  aspect-ratio: 1;
  object-fit: cover;
  width: 100%;
}

.mp-product-summary__content > .wp-block-post-title {
  color: var(--mp-sand-dark);
  font-family: var(--mp-font-body);
  font-size: clamp(30px, 3.2vw, 48px);
  letter-spacing: 0;
  line-height: 1.08;
  margin-bottom: 12px;
}

.mp-product-summary__content > .wp-block-post-excerpt,
.mp-product-summary__content > .wp-block-post-excerpt p {
  color: var(--mp-graphite);
  font-family: var(--mp-font-body);
  font-size: 15px;
  line-height: 1.55;
}

.mp-product-summary__content .wp-block-woocommerce-product-price,
.mp-product-summary__content .price {
  color: #111;
  font-family: var(--mp-font-body);
  font-weight: 700;
}

.mp-product-specs {
  background: #F7FBFD;
  border: 1px solid var(--mp-line);
  border-radius: 18px;
  margin: 24px 0;
  padding: 18px;
}

.mp-product-specs__title {
  color: var(--mp-sand-dark);
  font-family: var(--mp-font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .1em;
  margin: 0 0 14px;
  text-transform: uppercase;
}

.mp-product-specs__list {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.mp-product-specs__item {
  align-items: flex-start;
  display: flex;
  gap: 10px;
  min-width: 0;
}

.mp-product-specs__icon {
  background: var(--mp-sand-dark);
  border-radius: 999px;
  box-shadow: inset 0 0 0 5px #EAF4FA;
  flex: 0 0 auto;
  height: 18px;
  margin-top: 2px;
  width: 18px;
}

.mp-product-specs__content {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.mp-product-specs__label {
  color: #7C8796;
  font-family: var(--mp-font-body);
  font-size: 11px;
  line-height: 1.25;
}

.mp-product-specs__value {
  color: var(--mp-graphite);
  font-family: var(--mp-font-body);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.mp-size-guide {
  margin: -8px 0 20px;
}

.mp-size-guide__trigger {
  align-items: center;
  background: transparent;
  border: 0;
  border-bottom: 1px solid currentColor;
  color: var(--mp-sand-dark);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--mp-font-body);
  font-size: 13px;
  font-weight: 600;
  gap: 8px;
  padding: 0 0 3px;
}

.mp-size-guide__trigger::before {
  display: none;
}

.mp-size-guide__dialog[hidden] {
  display: none;
}

.mp-size-guide__dialog {
  inset: 0;
  position: fixed;
  z-index: 970;
}

.mp-size-guide__backdrop {
  background: rgba(16, 40, 76, .42);
  inset: 0;
  position: absolute;
}

.mp-size-guide__panel {
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 24px 80px rgba(16, 40, 76, .24);
  box-sizing: border-box;
  left: 50%;
  max-height: min(680px, calc(100vh - 48px));
  max-width: 760px;
  overflow: auto;
  padding: 24px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100vw - 32px);
}

.mp-size-guide__head {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 18px;
}

.mp-size-guide__title {
  color: var(--mp-sand-dark);
  font-family: var(--mp-font-body);
  font-size: 24px;
  line-height: 1.15;
  margin: 0;
}

.mp-size-guide__model {
  color: #7C8796;
  font-family: var(--mp-font-body);
  font-size: 13px;
  margin: 6px 0 0;
}

.mp-size-guide__close {
  align-items: center;
  background: #EAF4FA;
  border: 0;
  border-radius: 999px;
  color: var(--mp-sand-dark);
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 26px;
  height: 40px;
  justify-content: center;
  line-height: 1;
  width: 40px;
}

.mp-size-guide__table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 8px; /* ensure space for scrollbar */
  padding-right: 8px; /* avoid last column being clipped under dialog edge */
}

.mp-size-guide__table {
  border-collapse: collapse;
  font-family: var(--mp-font-body);
  min-width: 620px;
  width: auto; /* allow horizontal scrolling to reveal full table */
}

.mp-size-guide__table th,
.mp-size-guide__table td {
  border-bottom: 1px solid var(--mp-line);
  color: var(--mp-graphite);
  font-size: 13px;
  padding: 12px;
  text-align: left;
}

.mp-size-guide__table th {
  color: var(--mp-sand-dark);
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mp-size-guide__empty,
.mp-size-guide__note {
  color: #7C8796;
  font-family: var(--mp-font-body);
  font-size: 14px;
  line-height: 1.45;
}

.mp-size-guide__empty {
  background: #F7FBFD;
  border: 1px dashed var(--mp-line);
  border-radius: 16px;
  margin: 0;
  padding: 16px;
}

.mp-size-guide__note {
  margin: 16px 0 0;
}

.single-product form.cart .single_add_to_cart_button,
.single-product .wp-block-add-to-cart-form .single_add_to_cart_button {
  background: var(--mp-sand-dark) !important;
  border-radius: 999px !important;
  color: #fff !important;
  min-height: 46px;
  padding-left: 28px !important;
  padding-right: 28px !important;
}

.mp-marketplaces {
  margin: 16px 0 20px;
}

.mp-marketplaces__title {
  color: #7C8796;
  font-family: var(--mp-font-body);
  font-size: 12px;
  margin: 0 0 10px;
}

.mp-marketplaces__links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* Wildberries/Ozon/Детский мир now ship as ready-made button graphics
 * (background, shape and label baked into the image), so the link itself
 * is just a transparent, unstyled hit area sized to the image. */
.mp-marketplaces__link {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  text-decoration: none;
  transition: transform .15s ease, opacity .15s ease;
}

.mp-marketplaces__icon {
  height: 46px !important;
  width: auto !important;
  max-width: 100% !important;
  flex: 0 0 auto;
  object-fit: contain;
}

.mp-marketplaces__link:hover {
  opacity: .85;
  transform: translateY(-1px);
}

.mp-product-buy-note {
  border: 1px solid var(--mp-line);
  border-radius: 18px;
  margin: 18px 0 22px;
  padding: 16px;
}

.mp-product-buy-note__head {
  align-items: center;
  color: var(--mp-sand-dark);
  display: flex;
  font-family: var(--mp-font-body);
  font-size: 13px;
  font-weight: 700;
  gap: 8px;
  letter-spacing: .06em;
  margin-bottom: 12px;
  text-transform: uppercase;
}

.mp-product-buy-note__mark {
  background: #9AD3F1;
  border-radius: 999px;
  box-shadow: 0 0 0 5px #EAF4FA;
  height: 9px;
  width: 9px;
}

.mp-product-buy-note__list {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.mp-product-buy-note__item {
  display: grid;
  gap: 2px;
}

.mp-product-buy-note__item strong {
  color: var(--mp-graphite);
  font-family: var(--mp-font-body);
  font-size: 14px;
  line-height: 1.25;
}

.mp-product-buy-note__item span {
  color: #7C8796;
  font-family: var(--mp-font-body);
  font-size: 13px;
  line-height: 1.35;
}

.single-product .wp-block-woocommerce-product-meta {
  display: none;
}

.single-product #primary,
.single-product .woocommerce.product {
  max-width: min(100% - 32px, 1440px);
  margin-left: auto;
  margin-right: auto;
}

.single-product .woocommerce.product > .wp-block-columns,
.single-product .wc-block-store-notices + .wp-block-columns {
  align-items: flex-start !important;
  gap: clamp(28px, 4vw, 58px) !important;
  margin: 0 auto clamp(36px, 5vw, 72px) !important;
  max-width: 1260px !important;
}

.single-product .woocommerce.product > .wp-block-columns > .wp-block-column:first-child,
.single-product .wc-block-store-notices + .wp-block-columns > .wp-block-column:first-child {
  flex-basis: min(46vw, 560px) !important;
  flex-grow: 0 !important;
}

.single-product .woocommerce.product > .wp-block-columns > .wp-block-column:last-child,
.single-product .wc-block-store-notices + .wp-block-columns > .wp-block-column:last-child {
  flex-basis: 0 !important;
  flex-grow: 1 !important;
  min-width: 0;
}

.single-product .woocommerce-product-gallery,
.single-product .wp-block-woocommerce-product-image-gallery {
  max-width: 560px;
}

.single-product .woocommerce-product-gallery__image img {
  aspect-ratio: 4 / 5;
  display: block;
  object-fit: cover;
  width: 100%;
}

.single-product .wp-block-add-to-cart-form,
.single-product .cart {
  margin-top: 24px;
}

.mp-product-recommendations {
  margin-top: clamp(34px, 5vw, 64px);
}

.mp-product-recommendations__title {
  color: var(--mp-sand-dark);
  font-family: var(--mp-font-body);
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.15;
}

.mp-product-recommendations__placeholder {
  background: #F7FBFD;
  border: 1px dashed var(--mp-line);
  border-radius: 16px;
  color: #7C8796;
  font-family: var(--mp-font-body);
  font-size: 14px;
  margin: 0;
  padding: 18px;
}

.mp-product-cards {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mp-product-card {
  background: #fff;
  border: 1px solid var(--mp-line);
  border-radius: 18px;
  overflow: hidden;
}

.mp-product-card__image {
  aspect-ratio: 3 / 4;
  background: #F7FBFD;
  display: block;
  overflow: hidden;
}

.mp-product-card__image img {
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
  width: 100%;
}

.mp-product-card:hover .mp-product-card__image img {
  transform: scale(1.035);
}

.mp-product-card__body {
  display: grid;
  gap: 8px;
  padding: 14px;
}

.mp-product-card__title {
  font-family: var(--mp-font-body);
  font-size: 14px;
  line-height: 1.3;
  margin: 0;
}

.mp-product-card__title a {
  color: var(--mp-graphite);
  text-decoration: none;
}

.mp-product-card__price {
  color: var(--mp-sand-dark);
  font-family: var(--mp-font-body);
  font-size: 14px;
  font-weight: 700;
}

.mp-product-card__link {
  border: 1px solid var(--mp-line);
  border-radius: 999px;
  color: var(--mp-sand-dark);
  display: inline-flex;
  font-family: var(--mp-font-body);
  font-size: 12px;
  font-weight: 600;
  justify-content: center;
  padding: 9px 14px;
  text-decoration: none;
}

@media (max-width: 900px) {
  .mp-product-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .mp-product-cards {
    gap: 10px;
  }

  .mp-product-card__body {
    padding: 11px;
  }
}

.mp-product-care {
  background: linear-gradient(135deg, #F7FBFD 0%, #EAF4FA 100%);
  border-radius: 22px;
  display: grid;
  gap: clamp(22px, 4vw, 48px);
  grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr);
  margin-top: clamp(34px, 5vw, 64px);
  padding: clamp(24px, 5vw, 52px);
}

.mp-product-care__eyebrow {
  color: #7C8796;
  font-family: var(--mp-font-body);
  font-size: 11px;
  letter-spacing: .16em;
  margin: 0 0 10px;
  text-transform: uppercase;
}

.mp-product-care__title {
  color: var(--mp-sand-dark);
  font-family: var(--mp-font-body);
  font-size: clamp(28px, 2.3vw, 34px);
  line-height: 1.12;
  margin: 0 0 14px;
  max-width: 430px;
}

.mp-product-care__text {
  color: var(--mp-graphite);
  font-family: var(--mp-font-body);
  font-size: 15px;
  line-height: 1.55;
  margin: 0;
  max-width: 440px;
}

.mp-product-care__cards {
  display: grid;
  gap: 10px;
}

.mp-product-care__card {
  background: rgba(255, 255, 255, .78);
  border: 1px solid #c7ccd1;
  border-radius: 16px;
  padding: 16px 18px;
}

.mp-product-care__card summary {
  align-items: center;
  color: #1f3d6b !important;
  cursor: pointer;
  display: flex;
  font-family: var(--mp-font-body);
  font-size: 13px !important;
  font-weight: 700 !important;
  gap: 16px;
  justify-content: space-between;
  letter-spacing: .07em !important;
  list-style: none;
  text-transform: uppercase !important;
}

.mp-product-care__card summary::-webkit-details-marker {
  display: none;
}

.mp-product-care__card summary::after {
  content: "+";
  flex: 0 0 auto;
  font-weight: 500;
}

.mp-product-care__card[open] summary::after {
  content: "-";
}

.mp-product-care__card p,
.mp-product-care__card li {
  color: #667085;
  font-family: var(--mp-font-body);
  font-size: 14px;
  line-height: 1.45;
}

.mp-product-care__card p {
  margin: 10px 0 0;
}

.mp-product-care__card ul {
  margin: 10px 0 0;
  padding-left: 18px;
}

.mp-single-product-page .woocommerce-tabs,
.mp-single-product-page .wp-block-woocommerce-product-details {
  margin-top: clamp(28px, 4vw, 52px);
}

.mp-single-product-page .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid rgba(31, 55, 99, .18);
  display: flex;
  gap: clamp(18px, 3vw, 36px);
  margin: 0 0 22px;
  padding: 0;
}

.mp-single-product-page .woocommerce-tabs ul.tabs li {
  background: transparent;
  border: 0;
  list-style: none;
  margin: 0;
  padding: 0 0 10px;
}

.mp-single-product-page .woocommerce-tabs ul.tabs li.active {
  border-bottom: 2px solid var(--mp-primary);
}

.mp-single-product-page .woocommerce-tabs ul.tabs a {
  color: var(--mp-primary);
  font-family: var(--mp-font-body);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.mp-single-product-page .woocommerce-Tabs-panel,
.mp-single-product-page .woocommerce-tabs .panel {
  color: var(--mp-graphite);
  font-family: var(--mp-font-body);
  font-size: 16px;
  line-height: 1.75;
  max-width: 1180px;
}

.mp-single-product-page .woocommerce-Tabs-panel h2,
.mp-single-product-page .woocommerce-tabs .panel h2 {
  color: var(--mp-primary);
  font-size: clamp(24px, 2.1vw, 32px);
  line-height: 1.15;
  margin: 0 0 18px;
}

.mp-single-product-page .woocommerce-Tabs-panel p,
.mp-single-product-page .woocommerce-tabs .panel p {
  margin: 0 0 18px;
  max-width: 1120px;
}

@media (max-width: 781px) {
  .mp-product-care {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 781px) {
  .mp-product-summary {
    gap: 22px !important;
  }

  .mp-product-specs {
    border-radius: 16px;
    padding: 16px;
  }
}

@media (max-width: 520px) {
  .mp-product-specs__list {
    grid-template-columns: 1fr;
  }
}

/* ─── Catalog ─── */
.mp-catalog-toolbar {
  border-bottom: 1px solid var(--mp-line);
  gap: 16px;
  margin-bottom: 22px;
  padding-bottom: 16px;
}

.mp-catalog-layout {
  align-items: flex-start !important;
  gap: clamp(22px, 4vw, 42px) !important;
}

.mp-catalog-layout__sidebar {
  position: sticky;
  top: calc(var(--mp-promo-height) + 18px);
}

.mp-catalog-filters {
  border: 1px solid var(--mp-line);
  border-radius: 18px;
}

.mp-catalog-filters__title {
  color: var(--mp-sand-dark);
  font-family: var(--mp-font-body);
  font-size: 20px;
  margin: 0 0 18px;
}

.mp-catalog-filters h3,
.mp-catalog-filters__heading {
  color: var(--mp-graphite);
  font-family: var(--mp-font-body);
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .08em;
  margin: 24px 0 10px;
  text-transform: uppercase;
}

.mp-catalog-mobile-filter {
  display: none;
}

.woocommerce .wp-block-woocommerce-product-collection .wp-block-post-title {
  font-family: var(--mp-font-body);
}

.woocommerce .wp-block-woocommerce-product-collection .wp-block-button__link {
  border-radius: 999px;
}

.post-type-archive-product #primary,
.tax-product_cat #primary,
.tax-product_tag #primary,
.woocommerce.search #primary {
  max-width: min(100% - 32px, 1440px);
  margin-left: auto;
  margin-right: auto;
}

.post-type-archive-product .woocommerce-result-count,
.tax-product_cat .woocommerce-result-count,
.tax-product_tag .woocommerce-result-count,
.woocommerce.search .woocommerce-result-count {
  color: var(--mp-graphite);
  font-family: var(--mp-font-body);
  font-size: 13px;
  margin: 0;
}

.post-type-archive-product .woocommerce-ordering select,
.tax-product_cat .woocommerce-ordering select,
.tax-product_tag .woocommerce-ordering select,
.woocommerce.search .woocommerce-ordering select,
.mp-catalog-toolbar select {
  border: 1px solid var(--mp-line);
  border-radius: 0;
  color: var(--mp-blue);
  font-family: var(--mp-font-body);
  font-size: 13px;
  min-height: 38px;
  padding: 0 34px 0 12px;
}

.mp-catalog-layout__products {
  min-width: 0;
}

.mp-catalog-layout__products .wc-block-product-template,
.mp-catalog-layout__products .wp-block-woocommerce-product-template,
.mp-catalog-layout__products ul.products {
  display: grid !important;
  gap: clamp(18px, 2vw, 28px) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin: 0 !important;
  padding: 0 !important;
}

.mp-catalog-layout__products .wc-block-product,
.mp-catalog-layout__products .wp-block-post,
.mp-catalog-layout__products ul.products li.product {
  background: #fff;
  border: 1px solid var(--mp-line);
  border-radius: 8px;
  list-style: none;
  overflow: hidden;
  padding: 0 0 18px !important;
  text-align: left;
}

.mp-catalog-layout__products .wc-block-components-product-image,
.mp-catalog-layout__products .wp-block-woocommerce-product-image,
.mp-catalog-layout__products ul.products li.product a.woocommerce-LoopProduct-link {
  display: block;
  margin: 0 0 16px !important;
}

.mp-catalog-layout__products .wc-block-components-product-image img,
.mp-catalog-layout__products .wp-block-woocommerce-product-image img,
.mp-catalog-layout__products ul.products li.product img {
  aspect-ratio: 4 / 5;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.mp-catalog-layout__products .wc-block-components-product-image {
  position: relative;
}

.mp-card-badge {
  background: #fff;
  border-radius: 999px;
  color: var(--mp-blue);
  font-family: var(--mp-font-body);
  font-size: 11px;
  font-weight: 700;
  left: 12px;
  letter-spacing: .04em;
  padding: 5px 12px;
  position: absolute;
  text-transform: uppercase;
  top: 12px;
  z-index: 2;
}

.mp-card-badge--new {
  background: var(--mp-sand-dark);
  color: #fff;
}

.mp-card-badge--hit {
  background: #fff;
  border: 1px solid var(--mp-sand-dark);
  color: var(--mp-sand-dark);
}

.mp-card-hover-img {
  aspect-ratio: 4 / 5;
  display: block;
  height: 100%;
  inset: 0;
  object-fit: cover;
  opacity: 0;
  position: absolute;
  transition: opacity .25s ease;
  width: 100%;
}

@media (hover: hover) and (pointer: fine) {
  .mp-catalog-layout__products .wc-block-components-product-image:hover .mp-card-hover-img {
    opacity: 1;
  }
}

.mp-catalog-layout__products .wp-block-post-title,
.mp-catalog-layout__products .wp-block-post-title a,
.mp-catalog-layout__products .woocommerce-loop-product__title {
  color: var(--mp-blue) !important;
  font-family: var(--mp-font-body) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  margin: 0 18px 8px !important;
  text-align: left !important;
  text-decoration: none !important;
}

.mp-catalog-layout__products .wc-block-components-product-price,
.mp-catalog-layout__products .wp-block-woocommerce-product-price,
.mp-catalog-layout__products .price {
  color: var(--mp-blue);
  font-family: var(--mp-font-body);
  font-size: 15px !important;
  margin: 0 18px 16px !important;
  text-align: left !important;
}

.mp-catalog-layout__products .wp-block-button,
.mp-catalog-layout__products .wc-block-components-product-button,
.mp-catalog-layout__products .wp-block-read-more,
.mp-catalog-layout__products ul.products li.product .button {
  margin: 0 18px !important;
}

.mp-catalog-layout__products .wp-block-button__link,
.mp-catalog-layout__products .wc-block-components-product-button__button,
.mp-catalog-layout__products .wp-block-read-more,
.mp-catalog-layout__products ul.products li.product .button {
  align-items: center;
  background: #fff !important;
  border: 1px solid var(--mp-sand-dark) !important;
  border-radius: 0 !important;
  color: var(--mp-blue) !important;
  display: inline-flex;
  font-family: var(--mp-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  justify-content: center;
  line-height: 1 !important;
  min-height: 42px;
  min-width: 170px;
  padding: 0 22px !important;
  text-decoration: none !important;
}

.mp-catalog-layout__products .wp-block-read-more {
  border-radius: 999px !important;
  min-width: 124px;
}

.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products,
.woocommerce.search ul.products {
  display: grid !important;
  gap: clamp(18px, 2vw, 28px) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

@media (min-width: 1280px) {
  .mp-catalog-layout__products .wc-block-product-template,
  .mp-catalog-layout__products .wp-block-woocommerce-product-template,
  .mp-catalog-layout__products ul.products,
  .post-type-archive-product ul.products,
  .tax-product_cat ul.products,
  .tax-product_tag ul.products,
  .woocommerce.search ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

.post-type-archive-product ul.products::before,
.post-type-archive-product ul.products::after,
.tax-product_cat ul.products::before,
.tax-product_cat ul.products::after,
.tax-product_tag ul.products::before,
.tax-product_tag ul.products::after,
.woocommerce.search ul.products::before,
.woocommerce.search ul.products::after {
  display: none !important;
}

.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product,
.woocommerce.search ul.products li.product {
  float: none !important;
  margin: 0 !important;
  width: auto !important;
}

.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
.tax-product_tag ul.products li.product .woocommerce-loop-product__title,
.woocommerce.search ul.products li.product .woocommerce-loop-product__title {
  color: var(--mp-blue) !important;
  font-family: var(--mp-font-body) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  padding: 0 !important;
}

.post-type-archive-product ul.products li.product .button,
.tax-product_cat ul.products li.product .button,
.tax-product_tag ul.products li.product .button,
.woocommerce.search ul.products li.product .button {
  border-radius: 999px !important;
}

.mp-empty-state {
  background: #F7FBFD;
  border: 1px dashed var(--mp-line);
  border-radius: 18px;
  padding: 34px;
  text-align: center;
}

.mp-search-page__form {
  margin-bottom: 18px;
}

.mp-search-page__form .wp-block-search__inside-wrapper,
.mp-empty-state .wp-block-search__inside-wrapper {
  border: 1px solid var(--mp-line);
  border-radius: 999px;
  overflow: hidden;
}

.mp-search-page__form .wp-block-search__input,
.mp-empty-state .wp-block-search__input {
  border: 0;
  min-height: 48px;
  padding-left: 18px;
}

.mp-search-page__form .wp-block-search__button,
.mp-empty-state .wp-block-search__button {
  background: var(--mp-sand-dark);
  border: 0;
  color: #fff;
  margin: 0;
  padding: 0 22px;
}

@media (max-width: 781px) {
  .mp-catalog-mobile-filter {
    display: block;
    margin-bottom: 14px;
  }

  .mp-catalog-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .mp-catalog-layout {
    flex-direction: column !important;
  }

  .mp-catalog-layout__sidebar {
    position: static;
    width: 100%;
  }

  .mp-catalog-filters {
    border-radius: 16px;
  }

  .mp-catalog-layout__products .wc-block-product-template,
  .mp-catalog-layout__products .wp-block-woocommerce-product-template,
  .mp-catalog-layout__products ul.products,
  .post-type-archive-product ul.products,
  .tax-product_cat ul.products,
  .tax-product_tag ul.products,
  .woocommerce.search ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 781px) {
  .mp-catalog-layout__products .wc-block-product-template,
  .mp-catalog-layout__products .wp-block-woocommerce-product-template,
  .mp-catalog-layout__products ul.products,
  .post-type-archive-product ul.products,
  .tax-product_cat ul.products,
  .tax-product_tag ul.products,
  .woocommerce.search ul.products {
    gap: 10px 8px !important;
  }

  .mp-catalog-layout__products .wp-block-post-title,
  .mp-catalog-layout__products .wp-block-post-title a,
  .mp-catalog-layout__products .woocommerce-loop-product__title {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    font-size: 13px !important;
    margin: 0 10px 4px !important;
    overflow: hidden;
  }

  .mp-catalog-layout__products .wc-block-components-product-price,
  .mp-catalog-layout__products .wp-block-woocommerce-product-price,
  .mp-catalog-layout__products .price {
    font-size: 13px !important;
    margin: 0 10px 12px !important;
  }

  .mp-catalog-layout__products .wp-block-button,
  .mp-catalog-layout__products .wc-block-components-product-button,
  .mp-catalog-layout__products .wp-block-read-more,
  .mp-catalog-layout__products ul.products li.product .button {
    margin: 0 10px 10px !important;
  }

  .mp-catalog-layout__products .wp-block-button__link,
  .mp-catalog-layout__products .wc-block-components-product-button__button {
    min-width: 0;
    width: 100%;
  }
}

/* Very narrow phones: drop to a single column so cards keep breathing room. */
@media (max-width: 359px) {
  .mp-catalog-layout__products .wc-block-product-template,
  .mp-catalog-layout__products .wp-block-woocommerce-product-template,
  .mp-catalog-layout__products ul.products,
  .post-type-archive-product ul.products,
  .tax-product_cat ul.products,
  .tax-product_tag ul.products,
  .woocommerce.search ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* ─── Cart and checkout ─── */
.mp-cart-page,
.mp-checkout-page {
  background: #F7FBFD;
}

.mp-cart-page .wc-block-cart,
.mp-checkout-page .wc-block-checkout {
  font-family: var(--mp-font-body);
}

.mp-cart-page .wc-block-cart__main,
.mp-cart-page .wc-block-cart__sidebar,
.mp-checkout-page .wc-block-checkout__main,
.mp-checkout-page .wc-block-checkout__sidebar {
  background: #fff;
  border: 1px solid var(--mp-line);
  border-radius: 18px;
  padding: clamp(16px, 3vw, 28px);
}

.mp-cart-page .wc-block-components-button,
.mp-checkout-page .wc-block-components-button {
  background: var(--mp-sand-dark);
  border-radius: 999px;
  color: #fff;
  font-weight: 700;
}

.mp-cart-page .wc-block-components-button:not(.is-link):hover,
.mp-checkout-page .wc-block-components-button:not(.is-link):hover {
  background: #10284C;
  color: #fff;
}

.mp-cart-page .wc-block-components-product-name,
.mp-checkout-page .wc-block-components-product-name {
  color: var(--mp-graphite);
  font-weight: 700;
}

.mp-cart-page .wc-block-components-totals-wrapper,
.mp-checkout-page .wc-block-components-totals-wrapper {
  border-color: var(--mp-line);
}

/* Checkout fields need a clear visual boundary: the former underline-only
   treatment was too easy to mistake for static text. */
.mp-checkout-page .wc-block-checkout input[type="text"],
.mp-checkout-page .wc-block-checkout input[type="email"],
.mp-checkout-page .wc-block-checkout input[type="tel"],
.mp-checkout-page .wc-block-checkout input[type="number"],
.mp-checkout-page .wc-block-checkout select,
.mp-checkout-page .wc-block-checkout textarea,
.mp-checkout-page .wc-block-components-combobox .components-combobox-control__input {
  box-sizing: border-box;
  min-height: 52px;
  padding: 14px 18px;
  border: 1.5px solid #9eafc5;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(31, 61, 107, .06);
  color: var(--mp-graphite);
  font: inherit;
}

.mp-checkout-page .wc-block-checkout textarea {
  min-height: 118px;
  border-radius: 18px;
  resize: vertical;
}

.mp-checkout-page .wc-block-checkout input::placeholder,
.mp-checkout-page .wc-block-checkout textarea::placeholder {
  color: #73819a;
  opacity: 1;
}

.mp-checkout-page .wc-block-checkout input[type="text"]:focus,
.mp-checkout-page .wc-block-checkout input[type="email"]:focus,
.mp-checkout-page .wc-block-checkout input[type="tel"]:focus,
.mp-checkout-page .wc-block-checkout input[type="number"]:focus,
.mp-checkout-page .wc-block-checkout select:focus,
.mp-checkout-page .wc-block-checkout textarea:focus,
.mp-checkout-page .wc-block-components-combobox .components-combobox-control__input:focus {
  border-color: var(--mp-primary, #1f3d6b);
  box-shadow: 0 0 0 3px rgba(31, 61, 107, .14);
  outline: 0;
}

/* ─── Account ─── */
.mp-account-page {
  background: #F7FBFD;
}

.mp-account-intro {
  margin-bottom: 22px;
}

.mp-account-intro__title {
  color: var(--mp-sand-dark);
  font-family: var(--mp-font-body);
  font-size: clamp(26px, 3vw, 36px);
  margin: 0 0 8px;
}

.mp-account-intro__text {
  color: #667085;
  font-family: var(--mp-font-body);
  margin: 0;
}

.mp-account-shell {
  background: #fff;
  border: 1px solid var(--mp-line);
  border-radius: 18px;
  padding: clamp(18px, 3vw, 32px);
}

.mp-account-shell .woocommerce {
  font-family: var(--mp-font-body);
}

.mp-account-shell .woocommerce-MyAccount-navigation ul {
  border: 1px solid var(--mp-line);
  border-radius: 16px;
  list-style: none;
  margin: 0;
  overflow: hidden;
  padding: 0;
}

.mp-account-shell .woocommerce-MyAccount-navigation-link a {
  border-bottom: 1px solid var(--mp-line);
  color: var(--mp-graphite);
  display: block;
  font-size: 14px;
  font-weight: 600;
  padding: 13px 16px;
  text-decoration: none;
}

.mp-account-shell .woocommerce-MyAccount-navigation-link:last-child a {
  border-bottom: 0;
}

.mp-account-shell .woocommerce-MyAccount-navigation-link.is-active a,
.mp-account-shell .woocommerce-MyAccount-navigation-link a:hover {
  background: #EAF4FA;
  color: var(--mp-sand-dark);
}

.mp-account-shell .woocommerce-MyAccount-content {
  color: var(--mp-graphite);
}

.mp-account-shell .woocommerce form.login,
.mp-account-shell .woocommerce form.register,
.mp-account-shell .woocommerce-EditAccountForm,
.mp-account-shell .woocommerce-address-fields {
  border: 1px solid var(--mp-line);
  border-radius: 16px;
  padding: clamp(16px, 3vw, 26px);
}

.mp-account-shell .woocommerce input.input-text {
  border: 1px solid var(--mp-line);
  border-radius: 12px;
  min-height: 44px;
  padding: 0 12px;
}

.mp-account-shell .woocommerce button.button,
.mp-account-shell .woocommerce a.button {
  background: var(--mp-sand-dark);
  border-radius: 999px;
  color: #fff;
  font-weight: 700;
  padding: 12px 20px;
}

@media (max-width: 768px) {
  .mp-account-shell {
    border-radius: 16px;
    padding: 16px;
  }
}

@media (max-width: 768px) {
  .mp-cart-page .wc-block-cart__main,
  .mp-cart-page .wc-block-cart__sidebar,
  .mp-checkout-page .wc-block-checkout__main,
  .mp-checkout-page .wc-block-checkout__sidebar {
    border-radius: 16px;
    padding: 16px;
  }

  .mp-checkout-page .wc-block-checkout input[type="text"],
  .mp-checkout-page .wc-block-checkout input[type="email"],
  .mp-checkout-page .wc-block-checkout input[type="tel"],
  .mp-checkout-page .wc-block-checkout input[type="number"],
  .mp-checkout-page .wc-block-checkout select,
  .mp-checkout-page .wc-block-components-combobox .components-combobox-control__input {
    min-height: 50px;
    padding: 13px 16px;
    border-radius: 25px;
    font-size: 16px;
  }

  .mp-checkout-page .wc-block-checkout textarea {
    min-height: 108px;
    padding: 14px 16px;
    border-radius: 16px;
    font-size: 16px;
  }

  .mp-cart-page .wc-block-cart-items__row {
    align-items: start !important;
    display: grid !important;
    gap: 0 12px !important;
    grid-template-columns: 78px minmax(0, 1fr) !important;
    padding: 18px 0 !important;
  }

  .mp-cart-page .wc-block-cart-item__image {
    grid-column: 1 !important;
    grid-row: 1 / span 4 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 78px !important;
  }

  .mp-cart-page .wc-block-cart-item__image img {
    aspect-ratio: 3 / 4;
    border-radius: 8px;
    object-fit: cover;
    width: 100% !important;
  }

  .mp-cart-page .wc-block-cart-item__product {
    grid-column: 2 !important;
    min-width: 0 !important;
    padding: 0 !important;
  }

  .mp-cart-page .wc-block-components-product-name {
    display: block !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    margin: 0 0 6px !important;
    overflow-wrap: break-word !important;
    position: static !important;
  }

  .mp-cart-page .wc-block-components-product-badge {
    display: inline-flex !important;
    margin: 0 0 6px !important;
    position: static !important;
  }

  .mp-cart-page .wc-block-components-product-metadata,
  .mp-cart-page .wc-block-components-product-details {
    font-size: 11px !important;
    line-height: 1.4 !important;
    margin: 4px 0 8px !important;
    overflow-wrap: anywhere !important;
  }

  .mp-cart-page .wc-block-cart-item__prices,
  .mp-cart-page .wc-block-cart-item__quantity {
    position: static !important;
  }

  /* Woo renders the line price twice on mobile. Keep the price inside the
     product column and remove the duplicate table total that otherwise sits
     on top of the product title in our two-column card grid. */
  .mp-cart-page .wc-block-cart-item__total {
    display: none !important;
  }

  /* The fixed mobile checkout bar already provides this action. */
  .mp-cart-page .wc-block-cart__submit-container {
    display: none !important;
  }
}

/* ─── Mobile browser app layer ─── */
.mp-mobile-nav,
.mp-mobile-action-bar,
.mp-mobile-search {
  display: none;
}

@media (max-width: 768px) {
  body.has-mobile-app-nav {
    padding-bottom: calc(var(--mp-mobile-nav-height) + env(safe-area-inset-bottom, 0px));
  }

  body.has-mobile-product-bar,
  body.has-mobile-cart-bar {
    padding-bottom: calc(var(--mp-mobile-nav-height) + var(--mp-mobile-action-height) + env(safe-area-inset-bottom, 0px));
  }

  .mp-mobile-nav {
    align-items: stretch;
    background: rgba(255, 255, 255, .98);
    border-top: 1px solid var(--mp-line);
    bottom: 0;
    box-shadow: 0 -10px 30px rgba(16, 40, 76, .12);
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    height: calc(var(--mp-mobile-nav-height) + env(safe-area-inset-bottom, 0px));
    left: 0;
    padding: 6px 8px calc(8px + env(safe-area-inset-bottom, 0px));
    position: fixed;
    right: 0;
    z-index: 900;
  }

  .mp-mobile-nav__item {
    align-items: center;
    border-radius: 14px;
    color: var(--mp-graphite);
    display: flex;
    flex-direction: column;
    font-family: var(--mp-font-body);
    font-size: 10px;
    gap: 3px;
    justify-content: center;
    line-height: 1;
    min-width: 0;
    position: relative;
    text-decoration: none;
  }

  .mp-mobile-nav__item.is-active {
    background: #EAF4FA;
    color: var(--mp-sand-dark);
  }

  .mp-mobile-nav__icon {
    display: inline-flex;
    height: 22px;
    width: 22px;
  }

  .mp-mobile-nav__icon svg {
    fill: none;
    height: 100%;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 100%;
  }

  .mp-mobile-nav__text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
  }

  .mp-mobile-nav__badge {
    align-items: center;
    background: var(--mp-sand-dark);
    border: 2px solid #fff;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 10px;
    font-weight: 700;
    height: 18px;
    justify-content: center;
    min-width: 18px;
    padding: 0 5px;
    position: absolute;
    right: 18%;
    top: 5px;
  }

  .mp-mobile-action-bar {
    align-items: center;
    background: rgba(255, 255, 255, .98);
    border-top: 1px solid var(--mp-line);
    bottom: calc(var(--mp-mobile-nav-height) + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 -10px 26px rgba(16, 40, 76, .12);
    display: flex;
    gap: 14px;
    height: var(--mp-mobile-action-height);
    justify-content: space-between;
    left: 0;
    padding: 10px 14px;
    position: fixed;
    right: 0;
    z-index: 890;
  }

  .mp-mobile-action-bar__price {
    color: #111;
    display: flex;
    flex-direction: column;
    font-family: var(--mp-font-body);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.05;
    min-width: 0;
  }

  .mp-mobile-action-bar__price span:first-child:not(.woocommerce-Price-amount) {
    color: #6B7280;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .08em;
    margin-bottom: 2px;
    text-transform: uppercase;
  }

  .mp-mobile-action-bar__price del {
    color: #9CA3AF;
    font-size: 14px;
    font-weight: 400;
    order: 2;
  }

  .mp-mobile-action-bar__price ins {
    text-decoration: none;
  }

  .mp-mobile-action-bar__button {
    align-items: center;
    background: var(--mp-sand-dark);
    border: 0;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-family: var(--mp-font-body);
    font-size: 14px;
    font-weight: 600;
    height: 44px;
    justify-content: center;
    min-width: 136px;
    padding: 0 22px;
    text-decoration: none;
  }

  .mp-mobile-action-bar__button.is-disabled {
    opacity: .45;
    pointer-events: none;
  }

  /* Fix #3 (client spec): the sticky product bar gained a second "Buy now"
     button next to "Add to cart" - both need to fit alongside the price on
     one row, so this narrows them (vs. the single wider button the cart bar
     still uses) rather than changing .mp-mobile-action-bar__button itself. */
  .mp-mobile-product-bar {
    gap: 8px;
  }

  .mp-mobile-product-bar .mp-mobile-action-bar__price {
    flex: 0 1 auto;
    font-size: 16px;
    max-width: 84px;
  }

  .mp-mobile-action-bar__buttons {
    display: flex;
    flex: 1 1 auto;
    gap: 6px;
    min-width: 0;
  }

  .mp-mobile-product-bar .mp-mobile-action-bar__button {
    flex: 1 1 0;
    min-width: 0;
    padding: 0 8px;
    font-size: 11.5px;
    white-space: nowrap;
  }

  .mp-mobile-product-bar .mp-mobile-action-bar__button--secondary {
    background: #fff;
    border: 1px solid var(--mp-sand-dark);
    color: var(--mp-sand-dark);
  }

  .mp-mobile-search[hidden] {
    display: none;
  }

  .mp-mobile-search {
    display: block;
    inset: 0;
    position: fixed;
    z-index: 980;
  }

  .mp-mobile-search__backdrop {
    background: rgba(16, 40, 76, .34);
    inset: 0;
    position: absolute;
  }

  .mp-mobile-search__panel {
    background: #fff;
    border-radius: 22px 22px 0 0;
    bottom: 0;
    box-shadow: 0 -18px 40px rgba(16, 40, 76, .18);
    left: 0;
    padding: 18px 16px calc(18px + env(safe-area-inset-bottom, 0px));
    position: absolute;
    right: 0;
  }

  .mp-mobile-search__head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 14px;
  }

  .mp-mobile-search__label {
    color: var(--mp-sand-dark);
    font-family: var(--mp-font-body);
    font-size: 18px;
    font-weight: 700;
  }

  .mp-mobile-search__close {
    align-items: center;
    background: #EAF4FA;
    border: 0;
    border-radius: 999px;
    color: var(--mp-sand-dark);
    display: inline-flex;
    font-size: 24px;
    height: 36px;
    justify-content: center;
    line-height: 1;
    width: 36px;
  }

  .mp-mobile-search__field {
    border: 1px solid var(--mp-line);
    border-radius: 16px;
    box-sizing: border-box;
    color: var(--mp-graphite);
    font-family: var(--mp-font-body);
    font-size: 16px;
    height: 50px;
    margin-bottom: 10px;
    padding: 0 14px;
    width: 100%;
  }

  .mp-mobile-search__results {
    display: grid;
    gap: 8px;
    margin-bottom: 10px;
    max-height: min(44vh, 360px);
    overflow: auto;
  }

  .mp-mobile-search__result {
    align-items: center;
    border: 1px solid var(--mp-line);
    border-radius: 14px;
    color: inherit;
    display: grid;
    gap: 10px;
    grid-template-columns: 58px minmax(0, 1fr);
    padding: 8px;
    text-decoration: none;
  }

  .mp-mobile-search__result img {
    aspect-ratio: 1;
    background: #F7FBFD;
    border-radius: 10px;
    height: 58px;
    object-fit: cover;
    width: 58px;
  }

  .mp-mobile-search__result-body {
    display: grid;
    gap: 4px;
    min-width: 0;
  }

  .mp-mobile-search__result-title {
    color: var(--mp-graphite);
    font-family: var(--mp-font-body);
    font-size: 13px;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mp-mobile-search__result-price {
    color: var(--mp-sand-dark);
    font-family: var(--mp-font-body);
    font-size: 12px;
    font-weight: 700;
  }

  .mp-mobile-search__all,
  .mp-mobile-search__empty {
    border-radius: 12px;
    color: #7C8796;
    display: block;
    font-family: var(--mp-font-body);
    font-size: 13px;
    margin: 0;
    padding: 10px;
    text-align: center;
    text-decoration: none;
  }

  .mp-mobile-search__all {
    background: #EAF4FA;
    color: var(--mp-sand-dark);
    font-weight: 700;
  }

  .mp-mobile-search__submit {
    background: var(--mp-sand-dark);
    border: 0;
    border-radius: 999px;
    color: #fff;
    font-family: var(--mp-font-body);
    font-size: 15px;
    font-weight: 600;
    height: 46px;
    width: 100%;
  }
}

/* Mini Problems front page - final Figma pass */
.mp-front-page {
  background: #fff;
  color: var(--mp-primary);
}

.mp-gender,
.mp-gender__grid,
.mp-gender > .wp-block-columns {
  background: #f7fbfd !important;
  gap: 10px !important;
}

.mp-gender__button--girls {
  left: auto;
  top: auto;
}

.mp-gender__button--boys {
  left: auto;
  top: auto;
}

.mp-gender__button a {
  align-items: center;
  background: rgba(255, 255, 255, .88);
  border: 1px solid rgba(188, 160, 144, .78);
  color: var(--mp-primary) !important;
  display: inline-flex !important;
  font-family: var(--mp-font-body) !important;
  font-size: clamp(20px, 2.1vw, 28px) !important;
  font-weight: 400 !important;
  gap: 14px;
  justify-content: center;
  letter-spacing: .02em;
  line-height: 1 !important;
  min-height: 58px;
  min-width: 220px;
  padding: 0 28px !important;
  text-decoration: none;
  text-shadow: none !important;
}

.mp-new-products {
  padding-top: 42px !important;
}

.mp-front-title {
  color: var(--mp-primary) !important;
  font-size: clamp(28px, 2.5vw, 36px) !important;
  letter-spacing: .01em;
}

.mp-front-link a {
  color: var(--mp-primary) !important;
  font-size: 14px;
  letter-spacing: .08em;
}

.mp-products-grid {
  gap: 10px !important;
}

.mp-product-card,
.mp-products-grid .wc-block-product {
  position: relative;
}

.mp-product-card__image,
.mp-products-grid .wc-block-components-product-image {
  position: relative;
}

.mp-product-card__image::before,
.mp-products-grid .wc-block-components-product-image::before {
  /* The real NEW/HIT badge is rendered from the product tag in PHP. */
  content: none;
  display: none;
}

.mp-product-card__image img,
.mp-products-grid .wc-block-components-product-image img {
  aspect-ratio: 421 / 568 !important;
  height: auto !important;
}

.mp-product-card__meta {
  align-items: center !important;
  gap: 16px;
  margin-top: 0 !important;
  padding: 28px 42px 0;
}

.mp-product-card__title,
.mp-product-card__title a,
.mp-products-grid .wp-block-post-title,
.mp-products-grid .wp-block-post-title a {
  color: var(--mp-primary) !important;
  font-size: 15px !important;
  margin: 0 0 3px !important;
}

.mp-product-card__price,
.mp-products-grid .wc-block-components-product-price {
  color: var(--mp-primary) !important;
  font-size: 16px !important;
}

.mp-product-card__button {
  margin: 0 !important;
}

.mp-product-card__button a,
.mp-product-card__button .wp-block-button__link,
.mp-product-card__button button,
.mp-products-grid .wp-block-button__link,
.mp-products-grid button {
  align-items: center !important;
  background: #fff !important;
  border: 1px solid rgba(188, 160, 144, .78) !important;
  border-radius: 0 !important;
  color: var(--mp-primary) !important;
  display: inline-flex !important;
  font-family: var(--mp-font-body) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  justify-content: center !important;
  min-height: 40px !important;
  min-width: 176px !important;
  padding: 0 22px !important;
  text-decoration: none !important;
  text-transform: none !important;
}

.mp-upf {
  margin: 0 !important;
}

.mp-upf-feature {
  margin: 0 auto !important;
  max-width: 1290px !important;
  padding-bottom: 68px !important;
  position: relative;
}

.mp-upf-feature.wp-block-cover {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  justify-content: flex-end;
}

.mp-upf-feature .wp-block-cover__inner-container {
  width: auto !important;
}

.mp-upf-feature > *,
.mp-upf-compare > *,
.mp-upf-explain > *,
.mp-care > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

.mp-upf-feature__media {
  display: block;
  margin: 0 !important;
  min-height: 625px;
  overflow: hidden;
  position: relative;
}

.mp-upf-feature__media img {
  display: block;
  height: 625px;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.mp-upf-feature__card {
  background: #fff;
  color: var(--mp-primary);
  max-width: 492px;
  padding: 44px 58px 50px;
  position: relative;
  z-index: 2;
}

.mp-upf-feature__card > * {
  margin-block-start: 0 !important;
}

.mp-upf-feature__card h2 {
  color: var(--mp-primary);
  font-family: var(--mp-font-body);
  font-size: clamp(38px, 4vw, 54px);
  font-weight: 400;
  letter-spacing: .03em;
  line-height: 1;
  margin: 0 0 12px;
}

.mp-upf-feature__lead {
  border-bottom: 1px solid rgba(188, 160, 144, .5);
  color: var(--mp-primary);
  font-size: clamp(22px, 2.4vw, 30px);
  letter-spacing: .08em;
  line-height: 1.3;
  margin: 0 0 20px;
  padding-bottom: 18px;
}

.mp-upf-feature__card p:not(.mp-upf-feature__lead) {
  color: #394858;
  font-size: 15px;
  line-height: 1.55;
  margin: 0 0 26px;
}

.mp-upf-feature__card a,
.mp-upf-compare__button,
.mp-upf-compare__button .wp-block-button__link,
.mp-hits__body a {
  color: var(--mp-primary);
  font-family: var(--mp-font-body);
  font-size: 12px;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
}

.mp-upf-compare {
  padding: 16px 24px 78px;
}

.mp-upf-compare__title {
  color: var(--mp-primary);
  font-family: var(--mp-font-body);
  font-size: clamp(28px, 3vw, 34px);
  font-weight: 400;
  letter-spacing: .04em;
  line-height: 1.2;
  margin: 0 0 36px;
  text-align: center;
}

.mp-upf-compare__title span {
  color: var(--mp-sand-dark);
  font-weight: 600;
}

.mp-upf-compare__grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 auto !important;
  max-width: 1263px;
}

.mp-upf-panel {
  background: #fff;
  border: 1px solid rgba(188, 160, 144, .35);
  color: var(--mp-primary);
  margin: 0 !important;
}

.mp-upf-panel--best {
  box-shadow: 0 28px 46px rgba(31, 55, 99, .12);
}

.mp-upf-panel--cream {
  background: #fff;
}

.mp-upf-panel h3 {
  background: #e8e5e3;
  color: var(--mp-primary);
  font-family: var(--mp-font-body);
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 400;
  letter-spacing: .08em;
  margin: 0;
  padding: 18px 36px;
  text-align: center;
}

.mp-upf-panel--best h3 {
  background: var(--mp-primary);
  color: #fff;
  font-weight: 600;
}

.mp-upf-panel ul,
.mp-upf-panel__list {
  list-style: none;
  margin: 0;
  padding: 0 58px 28px;
}

.mp-upf-panel li,
.mp-upf-panel__row {
  align-items: flex-start;
  border-bottom: 1px solid rgba(188, 160, 144, .35);
  display: grid;
  gap: 24px;
  grid-template-columns: 26px minmax(0, 1fr);
  margin: 0 !important;
  padding: 18px 0;
}

.mp-upf-panel li:last-child,
.mp-upf-panel__row:last-child {
  border-bottom: 0;
}

.mp-upf-panel li span,
.mp-upf-panel__row span {
  color: var(--mp-sand-dark);
  font-size: 24px;
  line-height: 1;
}

.mp-upf-panel__icon {
  display: block;
  height: 24px;
  object-fit: contain;
  width: 24px;
}

.mp-upf-panel li p,
.mp-upf-panel__row strong {
  color: var(--mp-primary);
  display: block;
  font-size: 17px;
  font-weight: 400;
  letter-spacing: .04em;
  line-height: 1.35;
  margin: 0;
}

.mp-upf-panel li small,
.mp-upf-panel__row small {
  display: block;
  font-size: 15px;
  grid-column: 2;
}

.mp-upf-compare__button,
.mp-upf-compare__button .wp-block-button__link {
  align-items: center;
  background: var(--mp-primary);
  border-radius: 0 !important;
  color: #fff !important;
  display: flex;
  height: 44px;
  justify-content: center;
  max-width: 244px;
  min-width: 244px;
  padding: 0 28px;
}

.mp-upf-compare__button {
  background: transparent !important;
  padding: 0 !important;
}

.mp-upf-compare > .wp-block-buttons {
  margin-top: 38px;
}

.mp-upf-explain {
  padding: 20px 24px 76px;
}

.mp-upf-explain__grid {
  align-items: center;
  gap: clamp(36px, 7vw, 92px);
  margin: 0 auto !important;
  max-width: 1263px;
}

.mp-upf-explain__grid .wp-block-media-text__content,
.mp-upf-benefits > .wp-block-column {
  margin: 0 !important;
  padding: 0 !important;
}

.mp-upf-explain__text h2 {
  color: var(--mp-primary);
  font-family: var(--mp-font-body);
  font-size: clamp(42px, 4.8vw, 58px);
  font-weight: 400;
  letter-spacing: .04em;
  line-height: 1.2;
  margin: 0 0 22px;
  text-transform: uppercase;
}

.mp-upf-explain__text h2 strong {
  font-weight: 700;
}

.mp-upf-explain__text p {
  color: #394858;
  font-size: 17px;
  letter-spacing: .04em;
  line-height: 1.35;
  margin: 0;
  max-width: 610px;
}

.mp-upf-explain__text p strong {
  color: var(--mp-primary);
  font-size: 24px;
}

.mp-upf-explain__image,
.mp-upf-explain__grid .wp-block-media-text__media {
  margin: 0;
}

.mp-upf-explain__image img,
.mp-upf-explain__grid .wp-block-media-text__media img {
  aspect-ratio: 465 / 342;
  display: block;
  object-fit: cover;
  width: 100%;
}

.mp-upf-benefits {
  display: grid;
  gap: 48px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 70px auto 0 !important;
  max-width: 1263px;
}

.mp-upf-benefits > .wp-block-column {
  border-right: 1px solid rgba(188, 160, 144, .7);
  display: grid;
  gap: 6px 18px;
  grid-template-columns: 28px minmax(0, 1fr);
  padding-right: 50px;
}

.mp-upf-benefits > .wp-block-column:last-child {
  border-right: 0;
}

.mp-upf-benefits figure {
  grid-row: span 2;
  margin: 0 !important;
}

.mp-upf-benefits img {
  height: 28px;
  object-fit: contain;
  width: 28px;
}

.mp-upf-benefits h3 {
  color: var(--mp-primary);
  font-family: var(--mp-font-body);
  font-size: 21px;
  font-weight: 400;
  letter-spacing: .06em;
  line-height: 1.2;
  margin: 0;
}

.mp-upf-benefits p {
  color: #394858;
  font-size: 14px;
  letter-spacing: .04em;
  line-height: 1.3;
  margin: 0;
}

.mp-upf-note {
  border-left: 2px solid var(--mp-sand-dark);
  color: var(--mp-primary) !important;
  font-size: 15px !important;
  margin-top: 18px !important;
  padding-left: 16px;
}

.mp-upf-benefits-section,
.mp-upf-faq,
.mp-upf-final-cta {
  padding: 70px 24px;
}

.mp-upf-benefits-section .mp-upf-benefits {
  margin-top: 0 !important;
}

.mp-upf-benefits-section .mp-upf-note {
  margin: 38px auto 0 !important;
  max-width: 1263px;
}

.mp-upf-product-cta {
  align-items: center;
  display: grid;
  gap: clamp(36px, 6vw, 78px);
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
  margin: 0 auto !important;
  max-width: 1263px;
  padding: 78px 24px;
}

.mp-upf-product-cta figure {
  margin: 0 !important;
}

.mp-upf-product-cta img {
  aspect-ratio: 760 / 520;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.mp-upf-product-cta__card {
  background: #fff;
  border: 1px solid rgba(188, 160, 144, .35);
  padding: clamp(34px, 4vw, 56px);
}

.mp-upf-product-cta__card h2,
.mp-upf-final-cta h2,
.mp-upf-faq__aside h2 {
  color: var(--mp-primary);
  font-family: var(--mp-font-body);
  font-size: clamp(34px, 4vw, 52px);
  font-weight: 400;
  letter-spacing: .04em;
  line-height: 1.15;
  margin: 0 0 20px;
}

.mp-upf-product-cta__card p,
.mp-upf-final-cta p {
  color: #394858;
  font-size: 17px;
  letter-spacing: .04em;
  line-height: 1.45;
  margin: 0 0 28px;
}

.mp-upf-product-cta__card a,
.mp-upf-final-cta__actions a {
  align-items: center;
  display: inline-flex;
  font-family: var(--mp-font-body);
  font-size: 12px;
  justify-content: center;
  letter-spacing: .1em;
  min-height: 44px;
  min-width: 190px;
  padding: 0 28px;
  text-decoration: none;
  text-transform: uppercase;
}

.mp-upf-product-cta__card a,
.mp-upf-final-cta__primary {
  background: var(--mp-primary);
  color: #fff;
}

.mp-upf-final-cta__secondary {
  background: #fff;
  border: 1px solid rgba(188, 160, 144, .7);
  color: var(--mp-primary);
}

.mp-upf-faq__inner {
  display: grid;
  gap: clamp(36px, 6vw, 78px);
  grid-template-columns: 340px minmax(0, 1fr);
  margin: 0 auto !important;
  max-width: 1263px;
}

.mp-upf-faq .mp-faq-list {
  margin: 0 !important;
}

.mp-upf-final-cta {
  background: #f7fbfd;
}

.mp-upf-final-cta__inner {
  margin: 0 auto !important;
  max-width: 920px;
  text-align: center;
}

.mp-upf-final-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
}

.mp-hits {
  background: #fff;
  margin: 0 !important;
}

.mp-hits__image {
  margin: 0 auto;
  max-width: 1290px;
  overflow: hidden;
}

.mp-hits__image img {
  aspect-ratio: 1290 / 676;
  display: block;
  height: auto;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.mp-hits__body {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding: 22px 24px 8px;
}

.mp-hits__body span {
  border-left: 2px solid var(--mp-primary);
  border-top: 2px solid var(--mp-primary);
  display: block;
  height: 28px;
  transform: rotate(45deg);
  width: 28px;
}

.mp-hits__body h2 {
  color: var(--mp-primary);
  font-family: var(--mp-font-body);
  font-size: clamp(28px, 3vw, 34px);
  font-weight: 400;
  letter-spacing: .03em;
  margin: 14px 0 18px;
}

.mp-hits__body a {
  align-items: center;
  background: var(--mp-primary);
  color: #fff !important;
  display: flex;
  height: 43px;
  justify-content: center;
  min-width: 284px;
}

.mp-cheaper {
  background: #fff;
  color: var(--mp-primary);
  margin: 0 !important;
}

.mp-cheaper__water {
  background: linear-gradient(180deg, rgba(146, 210, 225, .45), rgba(0, 113, 139, .95));
  height: 40px;
}

.mp-cheaper__water--middle {
  height: 38px;
}

.mp-cheaper__water--bottom {
  background: linear-gradient(180deg, #022238, #001c2b);
  height: 42px;
}

.mp-cheaper__stats,
.mp-cheaper__table-wrap,
.mp-delivery-home {
  margin: 0 auto;
  max-width: 1130px;
}

.mp-cheaper__stats {
  align-items: center;
  display: grid;
  gap: 40px;
  grid-template-columns: 1.7fr repeat(3, 1fr);
  padding: 58px 24px 54px;
}

.mp-cheaper__intro h2,
.mp-delivery-home__intro h2 {
  color: var(--mp-primary);
  font-family: var(--mp-font-body);
  font-size: clamp(28px, 3vw, 36px);
  font-weight: 400;
  line-height: 1.1;
  margin: 0 0 4px;
}

.mp-cheaper__intro p,
.mp-delivery-home__intro p {
  color: #394858;
  font-size: 14px;
  letter-spacing: .04em;
  margin: 0 0 14px;
}

.mp-cheaper__market-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.mp-cheaper__market-icons .wp-block-image {
  margin: 0 !important;
}

.mp-cheaper__market-icons img {
  border-radius: 6px;
  display: block;
}

.mp-cheaper__market-icons span {
  align-items: center;
  border-radius: 6px;
  color: #fff;
  display: inline-flex;
  font-size: 11px;
  font-weight: 700;
  height: 40px;
  justify-content: center;
  width: 40px;
}

.mp-cheaper__market-icons span:nth-child(1) { background: #1e8cff; }
.mp-cheaper__market-icons span:nth-child(2) { background: #005bff; }
.mp-cheaper__market-icons span:nth-child(3) { background: #111; font-size: 9px; }
.mp-cheaper__market-icons span:nth-child(4) { background: #c00085; }

.mp-cheaper__stat {
  text-align: center;
}

.mp-cheaper__stat img {
  height: 34px;
  margin-bottom: 12px;
  object-fit: contain;
  width: 34px;
}

.mp-cheaper__stat strong {
  color: var(--mp-primary);
  display: block;
  font-family: var(--mp-font-body);
  font-size: 22px;
  font-weight: 400;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.mp-cheaper__stat span {
  color: #394858;
  display: block;
  font-size: 13px;
  line-height: 1.35;
}

.mp-cheaper__table-wrap {
  padding: 36px 24px 38px;
}

.mp-cheaper__table {
  border: 0 !important;
  border-collapse: collapse;
  box-shadow: none !important;
  width: 100%;
}

.mp-cheaper__table th,
.mp-cheaper__table td {
  background: #fff !important;
  border-bottom: 1px solid rgba(188, 160, 144, .75) !important;
  color: #394858 !important;
  font-family: var(--mp-font-body);
  font-size: 15px;
  font-weight: 400 !important;
  padding: 13px 0 !important;
  text-align: center !important;
}

.mp-cheaper__table th:first-child,
.mp-cheaper__table td:first-child {
  text-align: left !important;
}

.mp-cheaper__table th:last-child {
  color: var(--mp-primary) !important;
  font-weight: 700 !important;
}

.mp-cheaper__table td:last-child {
  color: var(--mp-sand-dark) !important;
}

.mp-cheaper__note {
  color: #8d969e;
  font-size: 11px;
  letter-spacing: .04em;
  margin: 26px 0 0;
}

.mp-delivery-home {
  align-items: center;
  border-bottom: 1px solid rgba(188, 160, 144, .75);
  border-top: 1px solid rgba(188, 160, 144, .75);
  display: grid;
  gap: 46px;
  grid-template-columns: 300px minmax(0, 1fr);
  padding: 28px 24px;
}

.mp-delivery-home__steps {
  align-items: center;
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr 36px 1fr 36px 1fr 36px 1fr;
}

.mp-delivery-home__steps div {
  color: #394858;
  font-size: 14px;
  line-height: 1.25;
  text-align: left;
}

.mp-delivery-home__steps span {
  color: var(--mp-sand-dark);
  display: block;
  font-size: 24px;
  margin-bottom: 8px;
  text-align: center;
}

.mp-delivery-home__steps div:nth-child(even) span {
  color: var(--mp-primary);
  font-size: 28px;
}

.mp-delivery-home__steps p {
  margin: 0;
}

.mp-care {
  border-top: 1px solid rgba(188, 160, 144, .75) !important;
  margin: 74px auto 0 !important;
  padding: 72px 24px 78px !important;
}

.mp-care__inner {
  display: grid;
  gap: 58px;
  grid-template-columns: 330px minmax(0, 1fr);
  margin: 0 auto !important;
  max-width: 1263px;
}

.mp-care__inner > .wp-block-column,
.mp-care__level > .wp-block-column {
  margin: 0 !important;
}

.mp-care__eyebrow {
  color: var(--mp-sand-dark);
  font-size: 14px;
  letter-spacing: .28em;
  margin: 0 0 8px;
  text-transform: uppercase;
}

.mp-care__intro h2 {
  color: var(--mp-primary);
  font-family: var(--mp-font-body);
  font-size: clamp(46px, 5vw, 60px);
  font-weight: 400;
  letter-spacing: .04em;
  line-height: 1;
  margin: 0;
  text-transform: uppercase;
}

.mp-care__script {
  color: var(--mp-primary);
  font-family: var(--mp-font-script);
  font-size: clamp(24px, 2.6vw, 34px);
  line-height: 1;
  margin: -2px 0 20px;
}

.mp-care__actions {
  display: flex;
  gap: 10px;
  margin-top: 20px !important;
}

.mp-care__button .wp-block-button__link,
.mp-care__link .wp-block-button__link {
  align-items: center;
  border-radius: 0 !important;
  display: inline-flex;
  font-size: 14px !important;
  font-weight: 400 !important;
  height: 40px;
  justify-content: center;
  letter-spacing: .02em !important;
  padding: 0 24px !important;
  text-decoration: none;
  text-transform: none !important;
}

.mp-care__button .wp-block-button__link {
  background: var(--mp-primary);
  color: #fff;
}

.mp-care__link .wp-block-button__link {
  background: #fff;
  border: 1px solid rgba(188, 160, 144, .78);
  color: var(--mp-primary);
}

.mp-care__levels {
  border-top: 0 !important;
}

.mp-care__level {
  align-items: center;
  border-top: 1px solid rgba(188, 160, 144, .75);
  display: grid;
  gap: 28px;
  grid-template-columns: 80px 72px 160px minmax(0, 1fr);
  margin: 0 !important;
  padding: 24px 0;
}

.mp-care__level strong {
  color: var(--mp-primary);
  font-size: 24px;
  font-weight: 400;
}

.mp-care__level span {
  color: var(--mp-sand-dark);
  font-size: 28px;
  letter-spacing: -.08em;
}

.mp-care__level em {
  color: var(--mp-sand-dark);
  font-size: 24px;
  font-style: normal;
  letter-spacing: .06em;
}

.mp-care__level p {
  color: #394858;
  font-size: 14px;
  line-height: 1.25;
  margin: 0;
}

.mp-site-footer {
  background: var(--mp-primary);
  margin-top: 0 !important;
  padding: 64px 24px 92px !important;
}

.mp-site-footer__columns {
  display: grid;
  gap: clamp(48px, 8vw, 110px);
  grid-template-columns: 260px 140px 210px 160px;
  margin: 0 auto;
  max-width: 1180px;
}

.mp-site-footer__logo {
  margin: 0 0 16px;
}

.mp-site-footer__logo img {
  height: 72px;
  object-fit: contain;
  width: 136px;
}

.mp-site-footer,
.mp-site-footer a {
  color: #fff;
  text-decoration: none;
}

.mp-site-footer p,
.mp-site-footer__nav a {
  display: block;
  font-size: 12px;
  line-height: 1.35;
  margin: 0 0 7px;
}

.mp-site-footer__legal {
  color: rgba(255, 255, 255, .72) !important;
  font-size: 11px !important;
  margin-top: 12px !important;
}

.mp-site-footer h2 {
  color: #fff;
  font-family: var(--mp-font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.2;
  margin: 0 0 18px;
}

.mp-site-footer__social div {
  display: flex;
  gap: 8px;
}

.mp-site-footer__social a {
  align-items: center;
  background: #fff;
  border-radius: 3px;
  color: var(--mp-primary);
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  height: 22px;
  justify-content: center;
  text-transform: uppercase;
  width: 22px;
}

@media (max-width: 900px) {
  .mp-gender__grid,
  .mp-gender > .wp-block-columns,
  .mp-upf-compare__grid,
  .mp-upf-explain__grid,
  .mp-upf-product-cta,
  .mp-upf-faq__inner,
  .mp-cheaper__stats,
  .mp-delivery-home,
  .mp-care__inner,
  .mp-site-footer__columns {
    grid-template-columns: 1fr !important;
  }

  .mp-gender__button--girls,
  .mp-gender__button--boys {
    left: auto;
  }

  .mp-gender__button a {
    min-width: 190px;
  }

  .mp-product-card__meta {
    padding: 18px 16px 0;
  }

  .mp-upf-feature {
    padding: 0 0 42px;
  }

  .mp-upf-feature__media,
  .mp-upf-feature__media img {
    height: auto;
    min-height: 0;
  }

  .mp-upf-feature__media img {
    aspect-ratio: 1 / 1.05;
  }

  .mp-upf-feature__card {
    margin: -44px 18px 0;
    max-width: none;
    padding: 28px 26px;
    position: relative;
    right: auto;
    top: auto;
  }

  .mp-upf-panel ul {
    padding: 0 24px 20px;
  }

  .mp-upf-explain__text h2 {
    font-size: 34px;
  }

  .mp-upf-benefits {
    gap: 24px;
    grid-template-columns: 1fr;
  }

  .mp-upf-benefits > div,
  .mp-upf-benefits > .wp-block-column {
    border-bottom: 1px solid rgba(188, 160, 144, .45);
    border-right: 0;
    padding: 0 0 22px;
  }

  .mp-cheaper__stats,
  .mp-delivery-home {
    gap: 28px;
  }

  .mp-delivery-home__steps {
    grid-template-columns: 1fr;
  }

  .mp-delivery-home__intro {
    text-align: center;
  }

  .mp-delivery-home__steps div:nth-child(even) {
    display: none;
  }

  /* Fix delivery arrows duplication: hide inline arrow containers and clear existing pseudo-elements */
  .mp-delivery-home__steps p span,
  .mp-delivery-home__steps p strong,
  .mp-delivery-home__steps p em,
  .mp-delivery-home__steps p i {
    display: none !important;
  }

  /* Remove any existing pseudo content on step paragraphs by default */
  .mp-delivery-home__steps p::before,
  .mp-delivery-home__steps p::after {
    content: none !important;
    display: none !important;
  }

  /* Mobile: vertical steps with a single down arrow between stacked items */
  @media (max-width: 900px) {
    .mp-delivery-home__steps {
      display: block;
      grid-template-columns: 1fr;
    }

    .mp-delivery-home__steps p + p::before {
      content: "\2193";
      display: block;
      text-align: center;
      color: var(--mp-primary);
      font-size: 20px;
      margin-bottom: 8px;
    }
  }

  /* Desktop: horizontal steps with right arrows between columns */
  @media (min-width: 901px) {
    .mp-delivery-home__steps {
      display: grid !important;
      grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
      align-items: start;
      gap: 24px;
    }

    /* Show right arrow after each paragraph except the last one */
    .mp-delivery-home__steps p::after {
      content: "\2192";
      display: inline-block;
      margin: 0 12px;
      font-size: 20px;
      color: var(--mp-primary);
      vertical-align: middle;
    }

    .mp-delivery-home__steps p:last-child::after {
      content: none;
      display: none;
    }

    /* Ensure vertical arrows stay hidden on desktop */
    .mp-delivery-home__steps p + p::before {
      content: none !important;
      display: none !important;
    }
  }

  .mp-care__level {
    gap: 10px;
    grid-template-columns: 60px 64px 1fr;
  }

  .mp-care__level p {
    grid-column: 1 / -1;
  }
}

/* Editable Gutenberg blocks pass */
.mp-gender__button a {
  font-family: var(--mp-font-body) !important;
  font-size: clamp(30px, 3vw, 42px) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0;
}

.mp-hits__body {
  margin: 0 auto !important;
}

.mp-hits__arrow {
  border-left: 2px solid var(--mp-primary);
  border-top: 2px solid var(--mp-primary);
  display: block;
  height: 28px;
  margin: 0 auto !important;
  transform: rotate(45deg);
  width: 28px;
}

.mp-hits__body .wp-block-buttons {
  margin-top: 0 !important;
}

.mp-hits__button .wp-block-button__link {
  align-items: center;
  background: var(--mp-primary) !important;
  border-radius: 0 !important;
  color: #fff !important;
  display: inline-flex;
  font-family: var(--mp-font-body);
  font-size: 12px;
  height: 43px;
  justify-content: center;
  letter-spacing: .1em;
  min-width: 284px;
  padding: 0 28px;
  text-transform: uppercase;
}

.mp-cheaper__market-icons .wp-block-button__link {
  align-items: center;
  border-radius: 6px !important;
  color: #fff !important;
  display: inline-flex;
  font-size: 11px !important;
  font-weight: 700;
  height: 40px;
  justify-content: center;
  min-width: 40px;
  padding: 0 8px !important;
}

.mp-cheaper__market-icons .wp-block-button:nth-child(1) .wp-block-button__link { background: #1e8cff !important; }
.mp-cheaper__market-icons .wp-block-button:nth-child(2) .wp-block-button__link { background: #005bff !important; }
.mp-cheaper__market-icons .wp-block-button:nth-child(3) .wp-block-button__link { background: #111 !important; font-size: 9px !important; }
.mp-cheaper__market-icons .wp-block-button:nth-child(4) .wp-block-button__link { background: #c00085 !important; }

.mp-cheaper__stat .wp-block-image {
  margin: 0 auto 12px !important;
}

.mp-cheaper__stat h3 {
  color: var(--mp-primary);
  font-family: var(--mp-font-body);
  font-size: 22px;
  font-weight: 400;
  letter-spacing: .02em;
  line-height: 1.1;
  margin: 0 0 5px !important;
  text-transform: uppercase;
}

.mp-cheaper__stat p {
  color: #394858;
  font-size: 13px;
  line-height: 1.35;
  margin: 0 !important;
}

.mp-delivery-home__steps {
  align-items: center;
}

.mp-delivery-home__steps p {
  color: #394858;
  font-size: 14px;
  line-height: 1.25;
  margin: 0 !important;
  text-align: left;
}

.mp-delivery-home__steps p span {
  color: var(--mp-sand-dark);
  display: block;
  font-size: 24px;
  margin-bottom: 8px;
  text-align: center;
}

.mp-delivery-home__steps > p:nth-child(2),
.mp-delivery-home__steps > p:nth-child(4),
.mp-delivery-home__steps > p:nth-child(6) {
  align-items: center;
  display: flex;
  justify-content: center;
}

.mp-delivery-home__steps > p:nth-child(2) span,
.mp-delivery-home__steps > p:nth-child(4) span,
.mp-delivery-home__steps > p:nth-child(6) span {
  color: var(--mp-primary);
  font-size: 26px;
  margin: 0;
}

/* Main page Figma 1440px correction pass */
.mp-front-page {
  --mp-figma-width: 1440px;
}

.mp-hero .wp-block-cover__image-background {
  object-position: center center !important;
}

.mp-gender,
.mp-gender__grid,
.mp-gender > .wp-block-columns {
  background: #f7fbfd !important;
  gap: 8px !important;
}

.mp-gender__grid,
.mp-gender > .wp-block-columns {
  max-width: 1440px !important;
}

.mp-gender__cover,
.mp-gender .wp-block-cover {
  aspect-ratio: 713 / 411 !important;
}

.mp-gender__button--girls {
  left: auto;
  top: auto;
}

.mp-gender__button--boys {
  left: auto;
  top: auto;
}

.mp-gender__button a {
  background: rgba(255, 255, 255, .82) !important;
  border: 1px solid rgba(188, 160, 144, .78) !important;
  color: var(--mp-primary) !important;
  display: inline-flex !important;
  font-family: var(--mp-font-body) !important;
  font-size: clamp(28px, 2.7vw, 39px) !important;
  font-style: normal !important;
  gap: 18px !important;
  justify-content: center !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  min-height: 69px !important;
  min-width: 243px !important;
  padding: 0 26px !important;
  text-shadow: none !important;
}

.mp-new-products {
  max-width: 1290px !important;
  padding-bottom: 64px !important;
  padding-top: 50px !important;
}

.mp-section-head--row {
  margin-bottom: 34px !important;
}

.mp-front-title {
  color: #415563 !important;
  font-size: 32px !important;
}

.mp-front-link a {
  color: var(--mp-primary) !important;
  font-size: 14px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase;
}

.mp-products-grid,
.mp-products-grid--demo {
  gap: 10px !important;
}

.mp-product-card__image img,
.mp-products-grid .wc-block-components-product-image img {
  aspect-ratio: 421 / 568 !important;
  object-fit: cover !important;
  width: 100% !important;
}

.mp-product-card__meta {
  min-height: 93px;
  padding: 28px 51px 0 !important;
}

.mp-upf-feature {
  max-width: 1450px !important;
  padding: 0 0 76px !important;
}

.mp-upf-feature__media,
.mp-upf-feature__media img {
  height: 697px !important;
  min-height: 697px !important;
}

.mp-upf-feature__card {
  max-width: 510px !important;
  padding: 48px 66px 54px !important;
  right: 118px !important;
  top: 148px !important;
}

.mp-upf-feature__card h2 {
  font-size: 54px !important;
  margin-bottom: 12px !important;
}

.mp-upf-feature__lead {
  font-size: 28px !important;
  padding-bottom: 18px !important;
}

.mp-upf-compare,
.mp-upf-explain {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1263px !important;
}

.mp-upf-compare {
  padding: 22px 0 78px !important;
}

.mp-upf-compare__grid {
  gap: 13px !important;
}

.mp-upf-explain {
  padding: 20px 0 76px !important;
}

.mp-upf-explain__grid {
  gap: 82px !important;
  grid-template-columns: minmax(0, 1fr) 521px !important;
}

.mp-upf-explain__image img {
  aspect-ratio: 521 / 422 !important;
}

.mp-upf-benefits {
  gap: 58px !important;
  margin-top: 70px !important;
}

.mp-hits {
  max-width: 1441px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.mp-hits__image {
  max-width: 1441px !important;
}

.mp-hits__image img {
  aspect-ratio: 1440 / 741 !important;
  width: 100% !important;
}

.mp-hits__body {
  min-height: 166px !important;
  padding: 22px 24px 0 !important;
}

.mp-hits__arrow {
  color: transparent !important;
  font-size: 0 !important;
}

.mp-hits__body h2 {
  font-size: 34px !important;
  margin: 14px 0 18px !important;
}

.mp-cheaper {
  max-width: 1442px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.mp-cheaper__water {
  background-image: image-set(url("../images/water-texture.webp") type("image/webp"), url("../images/water-texture.png") type("image/png")) !important;
  background-position: center 0 !important;
  background-size: cover !important;
}

.mp-cheaper__water--top {
  height: 65px !important;
}

.mp-cheaper__water--middle {
  height: 47px !important;
  background-position: center 42% !important;
}

.mp-cheaper__water--bottom {
  height: 52px !important;
  background-position: center 82% !important;
}

.mp-cheaper__stats,
.mp-cheaper__table-wrap,
.mp-delivery-home {
  max-width: 1232px !important;
}

.mp-cheaper__stats {
  gap: 58px !important;
  grid-template-columns: 1.85fr repeat(3, 1fr) !important;
  min-height: 213px !important;
  padding: 44px 0 38px !important;
}

.mp-cheaper__stat .wp-block-image,
.mp-cheaper__stat img {
  height: 34px !important;
  width: 34px !important;
}

.mp-cheaper__table-wrap {
  padding: 38px 0 40px !important;
}

.mp-cheaper__table th,
.mp-cheaper__table td {
  padding: 14px 0 !important;
}

.mp-delivery-home {
  min-height: 178px !important;
  padding: 30px 0 !important;
}

.mp-care {
  max-width: 1263px !important;
}

@media (max-width: 900px) {
  .mp-hero {
    min-height: 560px !important;
  }

  .mp-upf-feature__media,
  .mp-upf-feature__media img {
    height: auto !important;
    min-height: 0 !important;
  }

  .mp-upf-feature__card {
    right: auto !important;
    top: auto !important;
  }

  .mp-upf-compare,
  .mp-upf-explain,
  .mp-cheaper,
  .mp-hits {
    max-width: 100% !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .mp-upf-explain__grid {
    grid-template-columns: 1fr !important;
  }

  .mp-cheaper__stats,
  .mp-cheaper__table-wrap,
  .mp-delivery-home {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

.mp-delivery-home__steps p:nth-child(even) span {
  color: var(--mp-primary);
  font-size: 28px;
}

.mp-care-page {
  background: #fff;
}

.mp-care-page__hero {
  background: #f7fbfd;
}

.mp-care-page .mp-care {
  margin-top: 0 !important;
}

.mp-care-page__details {
  background: #fff;
}

.mp-care-info-card {
  border: 1px solid rgba(188, 160, 144, .45);
  padding: 26px 24px;
}

.mp-care-info-card h3 {
  color: var(--mp-primary);
  font-family: var(--mp-font-body);
  font-size: 20px;
  font-weight: 400;
  margin: 0 0 10px !important;
}

.mp-care-info-card p {
  color: #394858;
  font-size: 14px;
  line-height: 1.5;
  margin: 0 !important;
}

.wp-site-blocks > .mp-site-footer,
.wp-site-blocks > footer.mp-site-footer {
  left: 50%;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  max-width: none !important;
  position: relative;
  right: 50%;
  width: 100vw !important;
}

.mp-site-footer .mp-site-footer__columns {
  align-items: flex-start !important;
  display: grid !important;
  gap: clamp(52px, 9vw, 126px) !important;
  grid-template-columns: 260px 140px 210px 160px !important;
  margin: 0 auto !important;
  max-width: 1180px !important;
  width: 100% !important;
}

.mp-site-footer .mp-site-footer__columns > .wp-block-column {
  flex-basis: auto !important;
  margin: 0 !important;
}

.mp-site-footer__logo {
  line-height: 0;
}

.mp-site-footer__social-links {
  gap: 8px !important;
  margin: 0 !important;
}

.mp-site-footer__social-links .wp-social-link {
  height: 22px !important;
  margin: 0 !important;
  width: 22px !important;
}

.mp-site-footer__social-links .wp-social-link a {
  align-items: center !important;
  display: inline-flex !important;
  height: 22px !important;
  justify-content: center !important;
  padding: 0 !important;
  width: 22px !important;
}

.mp-site-footer__social-links svg {
  height: 14px !important;
  width: 14px !important;
}

/* Homepage final Gutenberg sizing pass */
.mp-front-page > .mp-hero,
.mp-front-page > .mp-trust,
.mp-front-page > .mp-gender,
.mp-front-page > .mp-upf-feature,
.mp-front-page > .mp-hits,
.mp-front-page > .mp-cheaper {
  left: 50%;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  max-width: none !important;
  position: relative;
  right: 50%;
  width: 100vw !important;
}

.mp-front-page > .mp-gender {
  background: #f7fbfd !important;
}

.mp-front-page .mp-gender__grid,
.mp-front-page .mp-gender > .wp-block-columns {
  max-width: none !important;
  width: 100% !important;
}

.mp-front-page .mp-gender__cover,
.mp-front-page .mp-gender .wp-block-cover {
  aspect-ratio: 713 / 411 !important;
  min-height: clamp(320px, 28.55vw, 548px) !important;
}

.mp-front-page .mp-gender__cover img,
.mp-front-page .mp-gender .wp-block-cover img {
  height: 100% !important;
}

.mp-front-page .mp-upf-feature {
  min-height: clamp(560px, 48.4vw, 760px) !important;
  padding-bottom: 0 !important;
}

.mp-front-page .mp-upf-feature .wp-block-cover__image-background {
  object-position: center center !important;
}

.mp-front-page .mp-hits__image {
  max-width: none !important;
  width: 100% !important;
}

.mp-front-page .mp-hits__image img {
  aspect-ratio: 1440 / 741 !important;
  width: 100% !important;
}

.mp-front-page .mp-upf-compare {
  box-sizing: border-box;
  max-width: none !important;
  padding: 74px max(48px, calc((100vw - 1263px) / 2)) 86px !important;
  width: 100% !important;
}

.mp-front-page .mp-upf-compare__title {
  font-size: clamp(30px, 2.6vw, 42px) !important;
  font-weight: 500 !important;
  letter-spacing: .04em !important;
  margin: 0 0 6px !important;
  position: relative;
  z-index: 2;
}

.mp-front-page .mp-upf-compare__grid {
  gap: 14px !important;
  max-width: 1263px !important;
  width: 100% !important;
}

.mp-front-page .mp-upf-panel {
  min-height: 512px;
}

.mp-front-page .mp-upf-panel h3 {
  background: #e8e5e3 !important;
  color: var(--mp-primary) !important;
  font-size: clamp(25px, 2.15vw, 32px) !important;
  min-height: 76px;
  padding: 22px 42px !important;
}

.mp-front-page .mp-upf-panel--best h3 {
  background: var(--mp-primary) !important;
  color: #fff !important;
}

.mp-front-page .mp-upf-panel__list {
  padding: 42px 58px 34px !important;
}

.mp-front-page .mp-upf-panel__row {
  grid-template-columns: 28px minmax(0, 1fr) !important;
  min-height: 59px;
  padding: 17px 0 !important;
}

.mp-front-page .mp-upf-panel__row strong {
  font-size: clamp(16px, 1.25vw, 20px) !important;
}

.mp-front-page .mp-upf-panel__row small {
  font-size: clamp(13px, 1vw, 16px) !important;
  margin-top: 8px;
}

.mp-front-page .mp-upf-compare > .wp-block-buttons {
  margin-top: 38px !important;
}

.mp-front-page .mp-upf-compare__button .wp-block-button__link {
  min-width: 244px !important;
}

@media (max-width: 781px) {
  .mp-front-page > .mp-hero,
  .mp-front-page > .mp-trust,
  .mp-front-page > .mp-gender,
  .mp-front-page > .mp-upf-feature,
  .mp-front-page > .mp-hits,
  .mp-front-page > .mp-cheaper {
    left: auto;
    margin-left: 0 !important;
    margin-right: 0 !important;
    right: auto;
    width: 100% !important;
  }

  .mp-front-page .mp-upf-compare {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .mp-front-page .mp-upf-panel {
    min-height: 0;
  }
}

/* Final Figma alignment pass: header, homepage sections and footer */
.mp-site-header {
  background: #fff !important;
  border-bottom: 1px solid rgba(31, 55, 99, .14) !important;
  box-shadow: none !important;
  position: relative !important;
  top: auto !important;
  z-index: 20;
}

.mp-promo-bar {
  background: #b99d88 !important;
  color: #fff;
  margin: 0 !important;
  min-height: 29px;
}

.mp-promo-bar__inner {
  box-sizing: border-box;
  min-height: 29px;
  margin: 0 auto !important;
  max-width: none !important;
  padding: 0 28px;
  width: 100% !important;
}

.mp-promo-bar__social {
  align-items: center;
  display: flex;
  gap: 14px !important;
  margin: 0 !important;
  min-width: 105px;
  padding: 0 !important;
}

.mp-promo-bar__spacer {
  margin: 0 !important;
  min-width: 105px;
}

.mp-promo-bar__social a,
.mp-promo-bar__text a {
  color: #fff !important;
  font-size: 10px;
  letter-spacing: .09em;
  line-height: 1.05;
  text-decoration: none !important;
  text-transform: uppercase;
}

.mp-promo-bar__social .wp-social-link {
  background: transparent !important;
  color: #fff !important;
  height: 13px !important;
  margin: 0 !important;
  width: 13px !important;
}

.mp-promo-bar__social .wp-social-link a {
  align-items: center !important;
  color: #fff !important;
  display: inline-flex !important;
  height: 13px !important;
  justify-content: center !important;
  padding: 0 !important;
  width: 13px !important;
}

.mp-promo-bar__social .wp-social-link svg {
  height: 11px !important;
  width: 11px !important;
}

.mp-promo-bar__social .wp-block-social-link-label,
.mp-site-footer__social-links .wp-block-social-link-label,
.screen-reader-text {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  word-wrap: normal !important;
}

.mp-promo-bar__text {
  margin: 0 !important;
  position: relative;
}

.mp-promo-bar__text::after {
  background: rgba(255, 255, 255, .55);
  content: "";
  display: block;
  height: 1px;
  margin: 2px auto 0;
  width: 180px;
}

.mp-main-header {
  margin: 0 auto !important;
  max-width: none !important;
  padding: 8px 28px 7px !important;
  width: 100% !important;
}

.mp-main-header__inner,
.mp-main-header__left,
.mp-main-header__right,
.mp-header-icons {
  gap: 28px !important;
}

.mp-header-logo {
  line-height: 0;
  margin: 0 !important;
}

.mp-header-logo img {
  height: 37px !important;
  object-fit: contain !important;
  width: 70px !important;
}

.mp-catalog-toggle {
  margin: 0 !important;
}

.mp-catalog-toggle a {
  align-items: center;
  border: 1px solid var(--mp-primary);
  border-radius: 4px;
  color: var(--mp-primary) !important;
  display: inline-flex;
  font-size: 12px;
  font-weight: 500;
  gap: 10px;
  height: 28px;
  justify-content: center;
  letter-spacing: .04em;
  min-width: 106px;
  padding: 0 14px;
  text-decoration: none !important;
  text-transform: uppercase;
}

.mp-catalog-nav {
  margin: 0 !important;
}

.mp-catalog-nav .wp-block-navigation__container {
  gap: 0 !important;
}

.mp-catalog-nav .wp-block-navigation-submenu {
  align-items: center;
  border: 1px solid var(--mp-primary);
  border-radius: 4px;
  display: inline-flex;
  margin: 0 !important;
  overflow: hidden;
  position: relative;
}

.mp-catalog-nav .wp-block-navigation-submenu > .wp-block-navigation-item__content {
  align-items: center;
  border: none;
  border-radius: 0;
  color: var(--mp-primary) !important;
  display: inline-flex;
  font-size: 12px;
  font-weight: 500;
  height: 28px;
  justify-content: center;
  letter-spacing: .04em;
  min-width: 86px;
  padding: 0 8px 0 14px !important;
  text-decoration: none !important;
  text-transform: uppercase;
}

.mp-catalog-nav .wp-block-navigation__submenu-icon {
  align-items: center;
  border: none;
  border-left: 1px solid var(--mp-primary);
  border-radius: 0;
  color: var(--mp-primary) !important;
  display: inline-flex !important;
  height: 28px;
  justify-content: center;
  margin: 0 !important;
  padding: 0 10px 0 2px !important;
  width: 28px;
}

.mp-catalog-nav .wp-block-navigation__submenu-icon svg {
  height: 11px;
  width: 11px;
}

.mp-catalog-nav .wp-block-navigation__submenu-container {
  background: #fff !important;
  border: 1px solid rgba(185, 157, 136, .45) !important;
  border-radius: 4px !important;
  box-shadow: 0 14px 30px rgba(31, 55, 99, .12);
  color: var(--mp-primary) !important;
  min-width: 190px !important;
  padding: 8px 0 !important;
  top: calc(100% + 8px) !important;
}

.mp-catalog-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  color: var(--mp-primary) !important;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .04em;
  padding: 10px 16px !important;
  text-decoration: none !important;
  text-transform: uppercase;
}

.mp-catalog-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
  background: #f7f9fb;
}

.mp-header-nav a {
  color: var(--mp-primary) !important;
  text-decoration: none !important;
}

.mp-header-icons {
  gap: 22px !important;
}

.mp-header-icons .wp-block-navigation__container {
  gap: 22px !important;
}

.mp-header-icon {
  height: 28px;
  margin: 0 !important;
  position: relative;
  width: 28px;
}

.mp-header-icon a {
  display: block;
  height: 28px;
  overflow: hidden;
  padding: 0 !important;
  position: relative;
  text-indent: -999px;
  width: 28px;
}

.mp-header-icon .wp-block-navigation-item__label {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.mp-header-icon a::before,
.mp-header-icon a::after {
  box-sizing: border-box;
  content: "";
  display: block;
  position: absolute;
}

.mp-header-icon--search a::before {
  border: 1.5px solid #b76f4c;
  border-radius: 50%;
  height: 17px;
  left: 3px;
  top: 2px;
  width: 17px;
}

.mp-header-icon--search a::after {
  background: #b76f4c;
  height: 10px;
  left: 18px;
  top: 17px;
  transform: rotate(-45deg);
  width: 1.5px;
}

.mp-header-icon--account a::before {
  border: 1.5px solid #b76f4c;
  border-radius: 50%;
  height: 10px;
  left: 9px;
  top: 2px;
  width: 10px;
}

.mp-header-icon--account a::after {
  border: 1.5px solid #b76f4c;
  border-bottom: 0;
  border-radius: 14px 14px 0 0;
  height: 12px;
  left: 4px;
  top: 15px;
  width: 20px;
}

.mp-header-icon--heart a::before {
  color: #b76f4c;
  content: "\2661";
  font-family: Arial, sans-serif;
  font-size: 32px;
  line-height: 28px;
  position: absolute;
  top: -3px;
}

.mp-header-icon--heart a::after {
  display: none;
}

.mp-header-icon--heart a::before {
  content: "\2661" !important;
  text-indent: 0;
}

.mp-header-icon--cart a::before {
  border: 1.5px solid #b76f4c;
  height: 16px;
  left: 4px;
  top: 9px;
  width: 20px;
}

.mp-header-icon--cart a::after {
  border: 1.5px solid #b76f4c;
  border-bottom: 0;
  border-radius: 9px 9px 0 0;
  height: 9px;
  left: 9px;
  top: 2px;
  width: 10px;
}

.mp-front-page > .mp-hero {
  margin-top: 0 !important;
}

.mp-front-page .mp-hero__actions {
  gap: 6px !important;
  margin-top: 28px !important;
}

.mp-front-page .mp-hero__btn .wp-block-button__link {
  align-items: center !important;
  border-radius: 4px !important;
  box-sizing: border-box;
  display: inline-flex !important;
  font-family: var(--mp-font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  height: 38px !important;
  justify-content: center;
  letter-spacing: .08em !important;
  min-width: 210px !important;
  padding: 0 42px !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

.mp-front-page .mp-hero__btn--outline .wp-block-button__link {
  background: rgba(255, 255, 255, .86) !important;
  border: 1px solid var(--mp-primary) !important;
  color: var(--mp-primary) !important;
}

.mp-front-page .mp-hero__btn--primary .wp-block-button__link {
  background: var(--mp-primary) !important;
  border: 1px solid var(--mp-primary) !important;
  color: #fff !important;
}

.mp-front-page > .mp-new-products {
  box-sizing: border-box;
  max-width: 1290px !important;
  width: min(1290px, calc(100vw - 80px)) !important;
}

.mp-front-page .mp-new-products .wc-block-product-template,
.mp-front-page .mp-new-products ul.products {
  width: 100% !important;
}

.mp-front-page .mp-gender__grid,
.mp-front-page .mp-gender > .wp-block-columns {
  gap: 8px !important;
}

.mp-front-page .mp-gender__button {
  margin: 0;
  position: static;
  z-index: 4;
}

.mp-front-page .mp-gender__button--girls {
  left: auto;
  top: auto;
  transform: none;
}

.mp-front-page .mp-gender__button--boys {
  left: auto;
  top: auto;
  transform: none;
}

.mp-front-page .mp-gender__button a {
  align-items: center !important;
  background: rgba(255, 255, 255, .74) !important;
  border: 1px solid rgba(185, 157, 136, .74) !important;
  border-radius: 0 !important;
  box-sizing: border-box;
  color: var(--mp-primary) !important;
  display: inline-flex !important;
  font-family: var(--mp-font-body) !important;
  font-size: clamp(30px, 2.45vw, 42px) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  gap: 18px;
  justify-content: center;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  min-height: 69px !important;
  min-width: 243px !important;
  overflow: visible !important;
  padding: 8px 28px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.mp-front-page .mp-gender__button span {
  font-family: var(--mp-font-body) !important;
  font-size: 26px;
  line-height: 1;
}

.mp-front-page .mp-upf-compare {
  padding-top: 66px !important;
}

.mp-front-page .mp-upf-panel {
  border: 1px solid rgba(185, 157, 136, .38) !important;
  min-height: 440px !important;
}

.mp-front-page .mp-upf-panel > h3.wp-block-heading {
  align-items: center;
  background: #e8e5e3 !important;
  color: var(--mp-primary) !important;
  display: flex !important;
  justify-content: center;
  margin: 0 !important;
  min-height: 76px !important;
  padding: 18px 32px !important;
}

.mp-front-page .mp-upf-panel.mp-upf-panel--best > h3.wp-block-heading {
  background: var(--mp-primary) !important;
  color: #fff !important;
  font-weight: 600 !important;
}

.mp-front-page .mp-upf-panel__list {
  padding: 30px 58px 26px !important;
}

.mp-front-page .mp-upf-panel__row {
  min-height: 50px !important;
  padding: 14px 0 !important;
}

.mp-front-page .mp-upf-benefits figure,
.mp-front-page .mp-upf-benefits .wp-block-image {
  height: 42px !important;
  margin: 0 18px 0 0 !important;
  min-width: 42px;
  width: 42px !important;
}

.mp-front-page .mp-upf-benefits img {
  filter: sepia(1) saturate(2.2) brightness(.72) contrast(1.25) !important;
  height: 38px !important;
  opacity: 1 !important;
  width: 38px !important;
}

.mp-front-page .mp-hits__body {
  padding: 26px 20px 30px !important;
}

.mp-front-page .mp-hits__arrow {
  color: transparent !important;
  font-size: 0 !important;
  height: 18px;
  line-height: 0;
  margin: 0 auto 10px !important;
  position: relative;
  width: 36px;
}

.mp-front-page .mp-hits__arrow span {
  display: block;
  height: 18px;
  position: relative;
  width: 36px;
}

.mp-front-page .mp-hits__arrow::before {
  background: var(--mp-primary);
  content: "";
  display: block;
  height: 2px;
  left: 3px;
  position: absolute;
  top: 8px;
  transform: rotate(-38deg);
  transform-origin: right center;
  width: 18px;
}

.mp-front-page .mp-hits__arrow::after {
  background: var(--mp-primary);
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  right: 3px;
  top: 8px;
  transform: rotate(38deg);
  transform-origin: left center;
  width: 18px;
}

.mp-front-page > .mp-cheaper {
  background: image-set(url("../images/water-texture.webp") type("image/webp"), url("../images/water-texture.png") type("image/png")) center top / cover repeat-y !important;
  padding-bottom: 66px !important;
}

.mp-front-page .mp-cheaper__water {
  background: transparent !important;
}

.mp-front-page .mp-cheaper__stats,
.mp-front-page .mp-cheaper__table-wrap,
.mp-front-page .mp-delivery-home {
  background: #fff !important;
  box-sizing: border-box;
  max-width: 1290px !important;
  width: min(1290px, calc(100vw - 80px)) !important;
}

.mp-front-page .mp-cheaper__stats {
  padding: 62px 88px 58px !important;
}

.mp-front-page .mp-cheaper__stat img,
.mp-front-page .mp-delivery-home img {
  filter: sepia(1) saturate(1.65) brightness(.78) contrast(1.15) !important;
  opacity: 1 !important;
}

.mp-front-page .mp-cheaper__table td:last-child {
  color: transparent !important;
  font-size: 0 !important;
}

.mp-front-page .mp-cheaper__table tbody td:last-child::before {
  align-items: center;
  background: #b99d88;
  border-radius: 50%;
  color: #fff;
  content: "✓";
  display: inline-flex;
  font-size: 13px;
  height: 20px;
  justify-content: center;
  line-height: 1;
  width: 20px;
}

.mp-front-page .mp-cheaper__table th:nth-child(n+2),
.mp-front-page .mp-cheaper__table td:nth-child(n+2) {
  text-align: center !important;
}

.mp-front-page .mp-delivery-home {
  padding: 54px 88px 52px !important;
}

.mp-delivery-home__steps img.mp-delivery-home__icon {
  display: block !important;
  height: 28px !important;
  margin: 0 auto 10px !important;
  object-fit: contain;
  width: 28px !important;
}

.mp-care__button .wp-block-button__link,
.mp-care__link .wp-block-button__link {
  align-items: center !important;
  border-radius: 0 !important;
  display: inline-flex !important;
  height: 49px !important;
  justify-content: center;
  min-width: 150px !important;
  padding: 0 28px !important;
}

.mp-care__button .wp-block-button__link {
  background: var(--mp-primary) !important;
  border: 1px solid var(--mp-primary) !important;
  color: #fff !important;
  min-width: 176px !important;
}

.mp-care__link .wp-block-button__link {
  background: #fff !important;
  border: 1px solid rgba(185, 157, 136, .62) !important;
  color: var(--mp-primary) !important;
  min-width: 132px !important;
}

.wp-site-blocks > .mp-site-footer,
.wp-site-blocks > footer.mp-site-footer {
  left: auto !important;
  margin: 0 auto 0 !important;
  max-width: 1290px !important;
  padding: 58px 78px 86px !important;
  right: auto !important;
  width: min(1290px, calc(100vw - 80px)) !important;
}

.mp-site-footer .mp-site-footer__columns {
  gap: clamp(64px, 8vw, 118px) !important;
  grid-template-columns: 260px 130px 210px 150px !important;
  max-width: 980px !important;
}

@media (max-width: 900px) {
  .mp-main-header {
    padding: 8px 18px !important;
  }

  .mp-main-header__inner {
    align-items: flex-start !important;
    flex-direction: column;
    gap: 10px !important;
  }

  .mp-main-header__right {
    justify-content: space-between !important;
    width: 100%;
  }

  .mp-header-icons {
    gap: 14px !important;
  }

  .mp-front-page > .mp-new-products,
  .mp-front-page .mp-cheaper__stats,
  .mp-front-page .mp-cheaper__table-wrap,
  .mp-front-page .mp-delivery-home,
  .wp-site-blocks > .mp-site-footer,
  .wp-site-blocks > footer.mp-site-footer {
    width: calc(100% - 32px) !important;
  }

  .mp-front-page .mp-gender__button a {
    min-height: 56px !important;
    min-width: 190px !important;
  }

  .mp-front-page .mp-cheaper__stats,
  .mp-front-page .mp-delivery-home,
  .wp-site-blocks > .mp-site-footer,
  .wp-site-blocks > footer.mp-site-footer {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

/* Saved-template compatibility pass */
.main-header-section {
  background: #fff !important;
  border-bottom: 1px solid rgba(31, 55, 99, .14) !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding-top: 29px !important;
  position: relative !important;
}

.main-header-section::before {
  align-items: center;
  background: #b99d88;
  color: #fff;
  content: "Способы доставки и оплаты\A подробнее >";
  display: flex;
  font-size: 10px;
  height: 29px;
  justify-content: center;
  left: 0;
  letter-spacing: .09em;
  line-height: 1.05;
  position: absolute;
  right: 0;
  text-align: center;
  text-transform: uppercase;
  top: 0;
  white-space: pre;
}

.main-header-section .header-section {
  padding: 8px 28px 7px !important;
}

.main-header-section .header-inner-section {
  align-items: center !important;
  margin: 0 auto !important;
  max-width: 1290px !important;
}

.main-header-section .header-logo-box {
  align-items: center;
  display: flex !important;
  flex-basis: auto !important;
  gap: 38px;
}

.main-header-section .wp-block-site-title,
.main-header-section .header-logo-box .wp-block-heading,
.main-header-section .header-logo-box p {
  font-size: 0 !important;
  line-height: 0 !important;
  margin: 0 !important;
}

.main-header-section .wp-block-site-title a,
.main-header-section .header-logo-box a:first-child {
  background: url("../images/logo.png") center / contain no-repeat;
  display: inline-block;
  height: 45px;
  overflow: hidden;
  text-indent: -999px;
  width: 86px;
}

.main-header-section .header-logo-box::after {
  align-items: center;
  border: 1px solid var(--mp-primary);
  border-radius: 4px;
  color: var(--mp-primary);
  content: "Каталог  ☰";
  display: inline-flex;
  font-size: 12px;
  height: 28px;
  justify-content: center;
  letter-spacing: .04em;
  min-width: 106px;
  text-transform: uppercase;
}

.main-header-section .header-menu {
  flex: 1 1 auto !important;
}

.main-header-section .header-logo-box::after {
  content: none !important;
  display: none !important;
}

.main-header-section .wp-block-site-title a,
.main-header-section .header-logo-box a:first-child {
  background-image: url("../images/header-logo.png") !important;
}

.main-header-section .top-menus,
.main-header-section .wp-block-navigation {
  justify-content: flex-end !important;
}

.main-header-section .top-menus a,
.main-header-section .wp-block-navigation a {
  color: var(--mp-primary) !important;
  font-family: var(--mp-font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.main-header-section .header-btn-box {
  flex-basis: auto !important;
  max-width: 150px;
}

.main-header-section .header-woo-btns {
  gap: 22px !important;
}

.main-header-section .header-search,
.main-header-section .wc-block-mini-cart,
.main-header-section .wc-block-customer-account,
.main-header-section .header-cart,
.main-header-section .header-account {
  color: #b76f4c !important;
}

.mp-front-page .mp-hero__btn:not(.mp-hero__btn--outline):not(.is-style-outline) .wp-block-button__link,
.mp-front-page .mp-hero__btn--primary .wp-block-button__link,
.mp-front-page .mp-hero__btn:not(.is-style-outline) .wp-block-button__link {
  background: var(--mp-primary) !important;
  border: 1px solid var(--mp-primary) !important;
  color: #fff !important;
}

.mp-front-page .mp-hero__btn.is-style-outline .wp-block-button__link,
.mp-front-page .mp-hero__btn--outline .wp-block-button__link {
  background: rgba(255, 255, 255, .86) !important;
  border: 1px solid var(--mp-primary) !important;
  color: var(--mp-primary) !important;
}

.mp-front-page > .mp-new-products,
.mp-front-page .mp-new-products {
  left: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  position: relative !important;
  right: 50% !important;
  width: 100vw !important;
}

.mp-front-page .mp-new-products__inner {
  box-sizing: border-box;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1290px !important;
  width: min(1290px, calc(100vw - 80px)) !important;
}

.mp-front-page .mp-new-products .mp-products-grid,
.mp-front-page .mp-new-products .wp-block-woocommerce-product-collection,
.mp-front-page .mp-new-products .wc-block-product-template {
  max-width: 1290px !important;
  width: 100% !important;
}

.mp-front-page .mp-new-products .wc-block-product-template {
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.mp-front-page .mp-upf-feature {
  box-sizing: border-box;
  align-items: center !important;
  justify-content: center !important;
  min-height: clamp(500px, 34vw, 560px) !important;
  padding: 0 !important;
}

.mp-front-page .mp-upf-feature .wp-block-cover__inner-container {
  box-sizing: border-box;
  display: flex;
  justify-content: flex-end;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1290px !important;
  padding-left: 40px;
  padding-right: 40px;
  width: 100% !important;
}

.mp-front-page .mp-upf-feature__card,
.mp-front-page .mp-upf-feature .wp-block-cover__inner-container > .wp-block-group {
  color: var(--mp-primary) !important;
  max-width: 410px !important;
  padding: 40px 48px 36px !important;
  position: relative !important;
  right: auto !important;
  top: auto !important;
  width: 410px !important;
}

.mp-front-page .mp-upf-feature__card h2,
.mp-front-page .mp-upf-feature .wp-block-cover__inner-container h2 {
  color: var(--mp-primary) !important;
}

.mp-front-page .mp-upf-panel.mp-upf-panel--best > h3,
.mp-front-page .mp-upf-panel.mp-upf-panel--best > .wp-block-heading,
.mp-front-page .mp-upf-panel--best h3.wp-block-heading {
  background: var(--mp-primary) !important;
  color: #fff !important;
  min-height: 76px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.mp-front-page .mp-upf-panel__list {
  align-content: start !important;
  display: grid !important;
}

.mp-front-page .mp-hits {
  background: #fff !important;
}

.mp-front-page .mp-hits__image,
.mp-front-page .mp-hits__image img {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.mp-front-page .mp-hits:not(:has(.mp-hits__image))::before {
  aspect-ratio: 1440 / 741;
  background: image-set(url("../images/hits-banner.webp") type("image/webp"), url("../images/hits-banner.png") type("image/png")) center center / cover no-repeat;
  content: "";
  display: block;
  width: 100%;
}

.mp-front-page .mp-hits__body {
  min-height: 126px !important;
  padding: 28px 20px 30px !important;
}

.mp-front-page .mp-hits__body h2 {
  margin-top: 4px !important;
}

.mp-front-page .mp-hits__button .wp-block-button__link {
  color: #fff !important;
}

.mp-care .mp-care__button,
.mp-care .mp-care__link,
.mp-care .mp-care__button .wp-block-button__link,
.mp-care .mp-care__link .wp-block-button__link,
.mp-care .wp-block-button__link {
  border-radius: 0 !important;
}

.mp-care .mp-care__button .wp-block-button__link {
  background: var(--mp-primary) !important;
  color: #fff !important;
}

.mp-care .mp-care__link .wp-block-button__link {
  background: #fff !important;
  color: var(--mp-primary) !important;
}

.mp-site-footer,
.wp-site-blocks > .mp-site-footer,
.wp-site-blocks > footer.mp-site-footer {
  box-sizing: border-box !important;
  left: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  max-width: none !important;
  position: relative !important;
  right: 50% !important;
  width: 100vw !important;
}

.mp-site-footer .mp-site-footer__brand h2,
.mp-site-footer .mp-site-footer__brand > p:first-of-type::before {
  content: none !important;
  display: none !important;
}

/* ─── Финальная сверка таблицы «Дешевле на сайте» с макетом дизайнера ───
   Ранее в файле накопилось несколько конфликтующих !important-правил
   (белый фон + серый текст), которые не совпадали с макетом. Ниже —
   единственный источник истины для этой таблицы, подтверждённый по
   пикселям исходного PNG: тёмно-синяя шапка у Ozon/Wildberries,
   светло-серая шапка + тёмно-синий текст у колонки Mini Problems,
   белый фон тела таблицы, тёмно-синий текст везде. */
.mp-cheaper__table th,
.mp-cheaper__table td {
  background: var(--mp-primary) !important;
  color: #fff !important;
  font-family: var(--mp-font-body) !important;
  font-weight: 400 !important;
  text-align: center !important;
}

.mp-cheaper__table td {
  background: #fff !important;
  color: var(--mp-primary) !important;
}

.mp-cheaper__table th:first-child,
.mp-cheaper__table td:first-child {
  background: #fff !important;
  color: var(--mp-primary) !important;
  text-align: left !important;
}

.mp-cheaper__table th:last-child {
  background: #E8E6E5 !important;
  color: var(--mp-primary) !important;
  font-weight: 700 !important;
}

.mp-cheaper__table td:last-child {
  background: #fff !important;
  color: var(--mp-primary) !important;
  font-weight: 700 !important;
}

/* Keep the desktop comparison table fully inside its white panel. The first
   column used to consume about half of the table and squeezed the marketplace
   columns; explicit proportions leave room for every heading without changing
   the separately defined horizontal-scroll layout on mobile. */
@media (min-width: 782px) {
  .mp-front-page .mp-cheaper__table table {
    table-layout: fixed;
  }

  .mp-front-page .mp-cheaper__table th:first-child,
  .mp-front-page .mp-cheaper__table td:first-child {
    width: 42%;
  }

  .mp-front-page .mp-cheaper__table th:nth-child(2),
  .mp-front-page .mp-cheaper__table td:nth-child(2),
  .mp-front-page .mp-cheaper__table th:nth-child(3),
  .mp-front-page .mp-cheaper__table td:nth-child(3) {
    width: 14%;
  }

  .mp-front-page .mp-cheaper__table th:last-child,
  .mp-front-page .mp-cheaper__table td:last-child {
    width: 30%;
  }
}

/* Homepage pinpoint fixes: keep these blocks editable in Gutenberg. */
.mp-front-page .mp-gender__button {
  left: auto !important;
  margin: 0 !important;
  position: static !important;
  top: auto !important;
  transform: none !important;
  z-index: 4;
}

.mp-front-page .mp-gender__button--girls,
.mp-front-page .mp-gender__button--boys {
  left: auto !important;
  top: auto !important;
  transform: none !important;
}

.mp-front-page .mp-gender__cover,
.mp-front-page .mp-gender .wp-block-cover {
  align-items: center !important;
  display: flex !important;
}

.mp-front-page .mp-gender__cover .wp-block-cover__inner-container,
.mp-front-page .mp-gender .wp-block-cover .wp-block-cover__inner-container {
  height: auto !important;
  inset: auto !important;
  position: relative !important;
  width: 100% !important;
}

.mp-front-page .mp-upf-panel__icon {
  display: block;
  height: 24px;
  object-fit: contain;
  width: 24px;
}

.mp-front-page .mp-upf-panel__row > .mp-upf-panel__icon {
  align-self: center;
}

/* Gender buttons are native Gutenberg Button blocks; keep only visual styling here. */
.mp-front-page .mp-gender .wp-block-button.mp-gender__button,
.mp-front-page .mp-gender .wp-block-button.mp-gender__button--girls,
.mp-front-page .mp-gender .wp-block-button.mp-gender__button--boys {
  margin: 0 !important;
  position: static !important;
}

.mp-front-page .mp-gender .wp-block-button.mp-gender__button .wp-block-button__link,
.mp-front-page .mp-gender .wp-block-button.mp-gender__button .wp-element-button {
  align-items: center !important;
  background: rgba(255, 255, 255, .74) !important;
  border: 1px solid rgba(185, 157, 136, .74) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  color: var(--mp-primary) !important;
  display: inline-flex !important;
  font-family: var(--mp-font-body) !important;
  font-size: clamp(28px, 2.35vw, 39px) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  gap: 18px !important;
  justify-content: center !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  min-height: 69px !important;
  min-width: 243px !important;
  outline: none !important;
  padding: 8px 28px !important;
  text-decoration: none !important;
  text-shadow: none !important;
  white-space: nowrap !important;
}

.mp-front-page .mp-gender .wp-block-button.mp-gender__button .wp-block-button__link span,
.mp-front-page .mp-gender .wp-block-button.mp-gender__button .wp-element-button span {
  font-family: var(--mp-font-body) !important;
  font-size: 26px !important;
  line-height: 1 !important;
}

/* Gender native Gutenberg reset: this block must remain editable via Cover/Group/Buttons controls. */
.mp-front-page .mp-gender,
.mp-front-page .mp-gender__grid,
.mp-front-page .mp-gender > .wp-block-columns {
  gap: 8px !important;
}

/*
 * Mobile fix: "Девочкам / Мальчикам" buttons were dead-centered over the
 * photo (align-items:center + justify-content:center), landing right on
 * the child's face. Anchor them to the bottom of the image on phones
 * instead, with a soft gradient behind them so the text stays readable.
 */
@media (max-width: 900px) {
  .mp-front-page .mp-gender__cover,
  .mp-front-page .mp-gender .wp-block-cover {
    align-items: flex-end !important;
    padding-bottom: 28px !important;
  }

  .mp-front-page .mp-gender__cover::after,
  .mp-front-page .mp-gender .wp-block-cover::after {
    background: linear-gradient(to top, rgba(16, 26, 44, .55), rgba(16, 26, 44, 0) 60%);
    bottom: 0;
    content: "";
    height: 45%;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    z-index: 1;
  }

  .mp-front-page .mp-gender__button {
    position: relative;
    z-index: 2;
  }
}

/*
 * Mobile fix: hero banner was cropping most of the photo. The mobile
 * min-height values below were previously overridden by an unconditional
 * ".mp-hero { min-height: 602px !important; }" rule elsewhere in this file
 * (removed) that forced the same tall, near-square box on every screen
 * size regardless of the photo's landscape aspect ratio. Now that the
 * override is gone these apply again, but we also lower them a bit further
 * and re-center the crop so less of the image is cut off on phones.
 */
@media (max-width: 520px) {
  .mp-hero {
    min-height: min(70vw, 460px) !important;
  }

  .mp-hero .wp-block-cover__image-background {
    object-position: 58% center;
  }
}

.mp-front-page .mp-gender__button-area {
  box-sizing: border-box !important;
  margin: 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  position: static !important;
  transform: none !important;
  width: 100% !important;
  z-index: 4 !important;
}

.mp-front-page .mp-gender__button-area--girls {
  padding-left: 0 !important;
}

.mp-front-page .mp-gender__button-area--boys {
  padding-right: 0 !important;
}

.mp-front-page .mp-gender .wp-block-buttons.mp-gender__buttons {
  margin: 0 !important;
}

.mp-front-page .mp-gender .wp-block-button.mp-gender__button {
  left: auto !important;
  margin: 0 !important;
  position: static !important;
  top: auto !important;
  transform: none !important;
}

.mp-front-page .mp-gender .wp-block-button.mp-gender__button .wp-block-button__link,
.mp-front-page .mp-gender .wp-block-button.mp-gender__button a.wp-block-button__link,
.mp-front-page .mp-gender .wp-block-button.mp-gender__button .wp-element-button {
  align-items: center !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 1px solid rgba(185, 157, 136, .74) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  color: var(--mp-primary) !important;
  display: inline-flex !important;
  font-family: var(--mp-font-body) !important;
  font-size: clamp(28px, 2.35vw, 39px) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  gap: 18px !important;
  justify-content: center !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  min-height: 69px !important;
  min-width: 243px !important;
  outline: 0 !important;
  padding: 8px 28px !important;
  text-decoration: none !important;
  text-shadow: none !important;
  white-space: nowrap !important;
}

.mp-front-page .mp-hits__arrow {
  display: block !important;
  height: 22px !important;
  line-height: 0 !important;
  margin: 0 auto 10px !important;
  width: 42px !important;
}

.mp-front-page .mp-hits__arrow::before,
.mp-front-page .mp-hits__arrow::after,
.mp-front-page .mp-hits__arrow span {
  content: none !important;
  display: none !important;
}

.mp-front-page .mp-hits__arrow img {
  display: block;
  height: 22px !important;
  object-fit: contain;
  width: 42px !important;
}

/* Product/catalog hotfixes: keep layouts editable, fix broken Woo states. */
.single-product .mp-product-buy-note {
  display: none !important;
}

.single-product .mp-product-summary__content > .wp-block-post-title {
  color: #1f3d6b !important;
  font-size: clamp(32px, 3vw, 48px) !important;
  line-height: 1.12 !important;
  max-width: 760px;
}

.single-product .mp-product-summary__content > .wp-block-post-excerpt,
.single-product .mp-product-summary__content > .wp-block-post-excerpt p {
  max-width: 820px;
}

.single-product .mp-product-specs {
  background: #f7fbfd;
  border-radius: 8px;
  padding: 22px 24px;
}

.single-product .mp-product-specs__list {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.single-product .mp-product-specs__icon {
  background: transparent;
  border: 1px solid var(--mp-blue);
  box-shadow: none;
}

.single-product .mp-size-guide {
  margin: 6px 0 20px;
}

.single-product .mp-size-guide__trigger {
  border-bottom-color: var(--mp-blue);
  color: var(--mp-blue);
  font-size: 14px;
}

.single-product .mp-size-guide__trigger::before {
  background: var(--mp-blue);
}

.mp-marketplaces {
  margin: 18px 0 22px;
}

.mp-marketplaces__title {
  color: var(--mp-blue);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mp-marketplaces__links {
  gap: 10px;
}

/* Shape, size and brand colors for marketplace buttons are defined once,
   earlier in this file (.mp-marketplaces__link and .is-wb/.is-ozon/.is-detmir)
   — this duplicate block used to set a conflicting radius/size/Detmir color
   and has been removed instead of layering a third override on top. */

.mp-catalog-size-filter {
  margin-top: 24px;
}

.mp-catalog-gender-filter {
  margin-top: 24px;
}

.mp-catalog-gender-filter__list,
.mp-catalog-size-filter__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.mp-catalog-gender-filter__list a,
.mp-catalog-size-filter__list a {
  align-items: center;
  border: 1px solid var(--mp-line);
  color: var(--mp-blue);
  display: inline-flex;
  font-family: var(--mp-font-body);
  font-size: 13px;
  gap: 8px;
  min-height: 34px;
  padding: 0 11px;
  text-decoration: none;
}

.mp-catalog-gender-filter__list a span,
.mp-catalog-size-filter__list a span {
  border: 1px solid currentColor;
  height: 13px;
  width: 13px;
}

.mp-catalog-gender-filter__list a.is-active,
.mp-catalog-size-filter__list a.is-active {
  background: var(--mp-blue);
  border-color: var(--mp-blue);
  color: #fff;
}

.mp-catalog-layout__products .wc-block-components-product-image,
.mp-catalog-layout__products .wp-block-woocommerce-product-image {
  background: #f7fbfd;
}

.mp-catalog-layout__products .wc-block-components-product-image img,
.mp-catalog-layout__products .wp-block-woocommerce-product-image img,
.mp-catalog-layout__products ul.products li.product img {
  height: 100% !important;
}

.mp-catalog-layout__products .wp-block-button__link,
.mp-catalog-layout__products .wc-block-components-product-button__button,
.mp-catalog-layout__products .wp-block-read-more,
.mp-catalog-layout__products ul.products li.product .button {
  border-radius: 0 !important;
}

/* Product system pages: final storefront button/link normalization. */
.single-product .mp-product-card__title a,
.single-product .mp-product-recommendations .wp-block-post-title a,
.single-product .related.products .woocommerce-loop-product__title,
.single-product .related.products a,
.mp-catalog-layout__products .wp-block-post-title a,
.mp-catalog-layout__products .woocommerce-loop-product__title,
.mp-catalog-layout__products a.woocommerce-LoopProduct-link {
  color: var(--mp-blue, #213b67) !important;
  text-decoration: none !important;
}

.single-product .mp-product-card__title a:hover,
.single-product .mp-product-recommendations .wp-block-post-title a:hover,
.single-product .related.products a:hover,
.mp-catalog-layout__products .wp-block-post-title a:hover,
.mp-catalog-layout__products a.woocommerce-LoopProduct-link:hover {
  color: var(--mp-blue, #213b67) !important;
  text-decoration: none !important;
}

.single-product .mp-product-card__link,
.single-product .mp-product-card__button .wp-block-button__link,
.single-product .mp-product-recommendations .wp-block-button__link,
.single-product .mp-product-recommendations .wc-block-components-product-button__button,
.single-product .related.products .button,
.mp-catalog-layout__products .wp-block-button__link,
.mp-catalog-layout__products .wc-block-components-product-button__button,
.mp-catalog-layout__products .wp-block-read-more,
.mp-catalog-layout__products ul.products li.product .button {
  align-items: center !important;
  background: #fff !important;
  border: 1px solid var(--mp-sand, #c7ad9b) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--mp-blue, #213b67) !important;
  display: inline-flex !important;
  font-family: var(--mp-font-body, Jost, Arial, sans-serif) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  justify-content: center !important;
  letter-spacing: 0 !important;
  line-height: 1.1 !important;
  min-height: 42px !important;
  min-width: 170px !important;
  padding: 0 22px !important;
  text-decoration: none !important;
  text-transform: none !important;
}

.single-product .mp-product-card__link:hover,
.single-product .mp-product-card__button .wp-block-button__link:hover,
.single-product .mp-product-recommendations .wp-block-button__link:hover,
.single-product .mp-product-recommendations .wc-block-components-product-button__button:hover,
.single-product .related.products .button:hover,
.mp-catalog-layout__products .wp-block-button__link:hover,
.mp-catalog-layout__products .wc-block-components-product-button__button:hover,
.mp-catalog-layout__products .wp-block-read-more:hover,
.mp-catalog-layout__products ul.products li.product .button:hover {
  background: var(--mp-blue, #213b67) !important;
  border-color: var(--mp-blue, #213b67) !important;
  color: #fff !important;
}

/* NOTE: .mp-marketplaces__link intentionally excluded from the generic
   button reset above — see the dedicated is-wb/is-ozon/is-detmir rules,
   which keep each marketplace's brand color (item 13 of the brief). */

.mp-product-care__card summary::after {
  color: var(--mp-blue, #213b67) !important;
  content: "+" !important;
  font-family: Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: none !important;
}

.mp-product-care__card[open] summary::after {
  content: "-" !important;
}

/* Final product/system-page corrections: header icons, search panel, catalog buttons. */
.mp-header-nav .wp-block-navigation__container {
  column-gap: 44px !important;
}

.mp-header-icons,
.mp-header-icons .wp-block-navigation__container {
  align-items: center !important;
  display: flex !important;
  gap: 24px !important;
}

.mp-header-icons .wp-block-navigation-item,
.mp-header-icons .wp-block-navigation-item__content {
  align-items: center !important;
  display: inline-flex !important;
  flex: 0 0 28px !important;
  height: 28px !important;
  justify-content: center !important;
  min-width: 28px !important;
  overflow: visible !important;
  padding: 0 !important;
  position: relative !important;
  width: 28px !important;
}

.mp-header-icons .wp-block-navigation-item__label,
.mp-header-icons .wp-block-navigation-item__content > span,
.mp-header-icons .wp-block-navigation-item__content > .wp-block-navigation-item__label {
  display: none !important;
}

.mp-header-icons .wp-block-navigation-item__content {
  color: transparent !important;
  font-size: 0 !important;
  letter-spacing: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px !important;
  white-space: nowrap !important;
}

.mp-header-icons .wp-block-navigation-item__content::before,
.mp-header-icons .wp-block-navigation-item__content::after {
  text-indent: 0 !important;
}

.mp-search-panel {
  background: rgba(255, 255, 255, .98);
  border: 1px solid var(--mp-line, #d8c8bb);
  box-shadow: 0 22px 70px rgba(31, 55, 99, .16);
  left: 50%;
  max-width: min(620px, calc(100vw - 32px));
  opacity: 0;
  padding: 28px 30px 30px;
  pointer-events: none;
  position: fixed;
  top: 92px;
  transform: translate(-50%, -8px);
  transition: opacity .18s ease, transform .18s ease;
  width: 100%;
  z-index: 1200;
}

.mp-search-panel:target {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.mp-search-panel__close {
  align-items: center;
  color: var(--mp-blue, #213b67) !important;
  display: inline-flex;
  font-family: Arial, sans-serif;
  font-size: 24px;
  height: 30px;
  justify-content: center;
  line-height: 1;
  position: absolute;
  right: 12px;
  text-decoration: none !important;
  top: 8px;
  width: 30px;
}

.mp-search-panel .wp-block-search__inside-wrapper {
  border: 1px solid var(--mp-sand, #c7ad9b);
  display: flex;
  min-height: 48px;
}

.mp-search-panel .wp-block-search__input {
  border: 0 !important;
  color: var(--mp-blue, #213b67);
  font-family: var(--mp-font-body, Jost, Arial, sans-serif);
  font-size: 15px;
  padding: 0 16px;
}

.mp-search-panel .wp-block-search__button {
  background: var(--mp-blue, #213b67) !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #fff !important;
  font-family: var(--mp-font-body, Jost, Arial, sans-serif);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
  margin: 0 !important;
  min-width: 112px;
  text-transform: uppercase;
}

body.search .mp-post-card__button,
body.search .mp-post-card__button:visited,
body.search .wp-block-read-more,
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.mp-catalog-layout__products .wp-block-button__link,
.mp-catalog-layout__products .wc-block-components-product-button__button,
.mp-catalog-layout__products .wp-block-read-more,
.single-product .related.products .button,
.single-product .mp-product-recommendations .wp-block-button__link,
.single-product .mp-product-recommendations .wc-block-components-product-button__button {
  align-items: center !important;
  background: #fff !important;
  border: 1px solid var(--mp-sand, #c7ad9b) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--mp-blue, #213b67) !important;
  display: inline-flex !important;
  font-family: var(--mp-font-body, Jost, Arial, sans-serif) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  justify-content: center !important;
  letter-spacing: 0 !important;
  line-height: 1.1 !important;
  min-height: 42px !important;
  min-width: 170px !important;
  padding: 0 22px !important;
  text-decoration: none !important;
  text-transform: none !important;
}

body.search .mp-post-card__button:hover,
body.search .wp-block-read-more:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover,
.mp-catalog-layout__products .wp-block-button__link:hover,
.mp-catalog-layout__products .wc-block-components-product-button__button:hover,
.mp-catalog-layout__products .wp-block-read-more:hover,
.single-product .related.products .button:hover,
.single-product .mp-product-recommendations .wp-block-button__link:hover,
.single-product .mp-product-recommendations .wc-block-components-product-button__button:hover {
  background: var(--mp-blue, #213b67) !important;
  border-color: var(--mp-blue, #213b67) !important;
  color: #fff !important;
}

/* Marketplace buttons keep their brand color (is-wb/is-ozon/is-detmir on
   .mp-marketplaces__link, defined earlier in this file) — only the shared
   pill shape/size is enforced here, deliberately outside the generic
   outline-button reset above (see item 13 of the brief: brand colors must
   stay, sizing/alignment must match). */
body.single-product .mp-marketplaces .mp-marketplaces__links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

body.single-product .mp-marketplaces .mp-marketplaces__link {
  min-height: 46px !important;
  min-width: 170px !important;
}

.mp-editable-page > .wp-block-group:first-child,
.mp-editable-page .mp-page-hero,
.mp-editable-page .mp-faq-hero,
.mp-editable-page .mp-delivery-hero {
  box-sizing: border-box;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1440px !important;
  padding-left: clamp(24px, 5vw, 96px) !important;
  padding-right: clamp(24px, 5vw, 96px) !important;
  width: 100% !important;
}

.mp-editable-page .mp-page-title,
.mp-editable-page h1.mp-page-title {
  color: var(--mp-blue, #213b67) !important;
  font-size: clamp(48px, 7vw, 108px) !important;
  line-height: .98 !important;
  max-width: 1180px !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

@media (max-width: 900px) {
  .mp-header-nav .wp-block-navigation__container {
    column-gap: 22px !important;
  }

  .mp-search-panel {
    top: 72px;
  }

  .mp-editable-page .mp-page-title,
  .mp-editable-page h1.mp-page-title {
    font-size: clamp(40px, 13vw, 64px) !important;
  }
}

.single-product .mp-product-specs__icon {
  display: none !important;
}

.single-product .mp-product-specs__item {
  gap: 0 !important;
}

/* Editable service pages: make real page content use the same canvas as patterns. */
.mp-editable-page {
  box-sizing: border-box;
  margin-block-start: 0 !important;
  max-width: none !important;
  overflow-x: clip;
  width: 100% !important;
}

.mp-editable-page__content,
.mp-editable-page .entry-content {
  box-sizing: border-box;
  margin-block-start: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

.mp-editable-page__content > *,
.mp-editable-page .entry-content > * {
  margin-block-start: 0;
}

.mp-editable-page .mp-brand-page,
.mp-editable-page .mp-care-page,
.mp-editable-page .mp-delivery-page,
.mp-editable-page .mp-faq-page,
.mp-editable-page .mp-legal-page {
  box-sizing: border-box;
  max-width: none !important;
  width: 100% !important;
}

.mp-editable-page .mp-brand-hero,
.mp-editable-page .mp-care-page__hero,
.mp-editable-page .mp-delivery-hero,
.mp-editable-page .mp-faq-hero,
.mp-editable-page .mp-legal-page {
  box-sizing: border-box;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1440px !important;
  padding-left: clamp(24px, 6vw, 96px) !important;
  padding-right: clamp(24px, 6vw, 96px) !important;
  width: 100% !important;
}

.mp-editable-page .mp-brand-origin,
.mp-editable-page .mp-brand-values,
.mp-editable-page .mp-care-page__details,
.mp-editable-page .mp-delivery-page__body,
.mp-editable-page .mp-faq-page__body {
  box-sizing: border-box;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1180px !important;
  padding-left: clamp(20px, 4vw, 48px) !important;
  padding-right: clamp(20px, 4vw, 48px) !important;
  width: 100% !important;
}

.mp-editable-page .mp-page-title,
.mp-editable-page h1.mp-page-title {
  max-width: none !important;
  text-wrap: balance;
}

@media (max-width: 900px) {
  .mp-editable-page .mp-brand-hero,
  .mp-editable-page .mp-care-page__hero,
  .mp-editable-page .mp-delivery-hero,
  .mp-editable-page .mp-faq-hero,
  .mp-editable-page .mp-legal-page {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/*
 * Mobile fix: "Новинки" product grid.
 * .mp-front-page .mp-new-products .wc-block-product-template was hard-coded
 * to a 3-column grid with no media query, so on phones the cards were
 * squeezed down to almost nothing — titles wrapped one letter per line and
 * the "В корзину" button floated over the card. Same specificity + later in
 * the cascade so it wins over that rule on small screens.
 */
@media (max-width: 768px) {
  .mp-front-page .mp-new-products .wc-block-product-template {
    grid-template-columns: 1fr !important;
  }

  .mp-product-card__meta {
    min-height: 0 !important;
    padding: 16px 16px 0 !important;
  }
}

/*
 * Mobile fix: hero banner crop + button alignment.
 * The source photo (hero-banner.jpg) is a very wide 1440x600 (2.4:1) shot
 * with the girl model positioned in the right ~1/3 of the frame. On a
 * narrow/tall mobile box, object-fit: cover has to crop most of the width
 * away, and the previous object-position (58–62%) cut her out of frame
 * almost entirely. Shifting the crop further right brings her back into
 * view. Separately, .mp-hero__actions used the flex default
 * (align-items: stretch) in its mobile column layout, so both buttons
 * stretched to the full width of .mp-hero__content and centered their
 * label text — which reads as "shifted right" of the left-aligned title.
 * align-items: flex-start lets them size to their own content and sit at
 * the same left edge as the heading.
 */
@media (max-width: 781px) {
  .mp-hero .wp-block-cover__image-background {
    object-position: 88% center;
  }

  .mp-hero__actions {
    align-items: flex-start;
  }

  .mp-hero__btn,
  .mp-front-page .mp-hero__btn {
    flex: 0 0 auto;
    width: auto;
  }
}

@media (max-width: 520px) {
  .mp-hero {
    min-height: min(78vw, 480px) !important;
  }

  .mp-hero .wp-block-cover__image-background {
    object-position: 96% center;
  }
}

/*
 * Mobile fix: "Девочкам / Мальчикам" buttons.
 * Previously centered (then bottom-anchored) on both photos. Per request:
 * offset the girls' button toward the right side of its photo and the
 * boys' button toward the left side of its photo, instead of both sitting
 * dead-center.
 */
@media (max-width: 900px) {
  .mp-front-page .mp-gender__cover--girls {
    justify-content: flex-end !important;
    padding-right: 20px !important;
  }

  .mp-front-page .mp-gender__cover--boys {
    justify-content: flex-start !important;
    padding-left: 20px !important;
  }
}

/*
 * Mobile fix: "Дешевле на сайте" comparison table.
 * Four columns (label, Ozon, Wildberries, Mini Problems) with no min-width
 * and no scroll wrapper meant the last column's header ("Mini Problems")
 * got clipped at the edge of the screen on phones. Make the table
 * horizontally scrollable within its own wrapper (standard pattern for
 * data tables on mobile) and shrink the type a bit so more fits on screen
 * before a scroll is even needed.
 */
@media (max-width: 620px) {
  .mp-cheaper__table-wrap {
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .mp-cheaper__table {
    min-width: 460px;
  }

  .mp-cheaper__table th,
  .mp-cheaper__table td {
    font-size: 12px !important;
    padding: 10px 6px !important;
  }
}

/*
 * Mobile fix: Mini Care tier rows.
 * Markup is <strong>3%</strong><span>☆</span><em>MINI</em><p>description</p>
 * inside .mp-care__level. Rebuilding this as flex (instead of relying on a
 * fixed grid-template-columns count matching the exact number of inline
 * elements) is more robust: percent/stars/name naturally sit on one line
 * and the description paragraph wraps to its own full-width line below,
 * regardless of column-count mismatches elsewhere in the cascade.
 */
@media (max-width: 900px) {
  .mp-care__level {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    column-gap: 10px !important;
    row-gap: 4px !important;
  }

  .mp-care__level strong,
  .mp-care__level span,
  .mp-care__level em {
    flex: 0 0 auto;
  }

  .mp-care__level p {
    flex: 1 1 100%;
    width: 100%;
  }
}

/*
 * Mobile fix: footer columns.
 * ".mp-site-footer .mp-site-footer__columns" (a 2-class compound selector,
 * declared without any media query) has higher specificity than the plain
 * ".mp-site-footer__columns { grid-template-columns: 1fr !important }"
 * mobile rule earlier in this file, so it was winning on every screen
 * size — forcing a 4-column grid (260px+130px+210px+150px ≈ 750px+ wide)
 * onto phones. Only the brand + first nav column ended up visible; the
 * rest were pushed off-screen. Matching the same compound selector here,
 * later in the cascade, lets this one win on mobile instead.
 */
@media (max-width: 900px) {
  .mp-site-footer .mp-site-footer__columns {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
    max-width: 100% !important;
  }
}

/*
 * Same bug pattern as the footer above, found on two more sections while
 * auditing the rest of the site: a later, unconditional (no media query)
 * redeclaration of grid-template-columns with !important was beating the
 * earlier mobile "stack to 1fr" rule at equal specificity, just by being
 * later in the file.
 *
 * - .mp-upf-explain__grid (UPF 50+ page) forced a fixed 521px column on
 *   every screen size — guaranteed horizontal overflow on any phone.
 * - .mp-cheaper__stats ("дешевле на сайте" stats row, used on the front
 *   page and delivery/UPF pages) forced a 4-column row
 *   (1.85fr + 3×1fr) on mobile instead of stacking.
 */
@media (max-width: 900px) {
  .mp-upf-explain__grid {
    grid-template-columns: 1fr !important;
  }

  .mp-cheaper__stats {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }
}

/*
 * Same bug pattern again (fourth instance): ".mp-front-page
 * .mp-upf-feature__card" is a compound selector with !important and no
 * media query, so it out-specifies the plain ".mp-upf-feature__card
 * { max-width: none }" mobile rule earlier in the file and forces a fixed
 * width: 410px on every screen size — wider than most phones once you
 * add the section's own side padding.
 */
@media (max-width: 900px) {
  .mp-front-page .mp-upf-feature__card {
    width: 100% !important;
    max-width: none !important;
  }
}

/*
 * Fifth instance: the existing mobile rule for .mp-front-page
 * .mp-upf-panel set "min-height: 0" with no !important, so it lost to a
 * later, unconditional "min-height: 440px !important" declaration —
 * !important always wins over non-important regardless of specificity or
 * media query, keeping the comparison panel unnecessarily tall on phones.
 */
@media (max-width: 900px) {
  .mp-front-page .mp-upf-panel {
    min-height: 0 !important;
  }
}

/* Mini Problems v6: authoritative home hero button layout.
 * Keeps both CTAs level, equal-sized and immune to inherited block widths. */
.mp-front-page .mp-hero__actions {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
}

.mp-front-page .mp-hero__actions > .wp-block-button,
.mp-front-page .mp-hero__actions > .mp-hero__btn {
  flex: 0 0 auto !important;
  margin: 0 !important;
  width: auto !important;
}

.mp-front-page .mp-hero__actions .mp-hero__btn .wp-block-button__link {
  box-sizing: border-box !important;
  line-height: 1 !important;
  margin: 0 !important;
  min-width: 210px !important;
  white-space: nowrap !important;
  width: 210px !important;
}

@media (max-width: 781px) {
  .mp-front-page .mp-hero__actions {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

/* Mini Problems v6: stable three-card product row on desktop. */
@media (min-width: 769px) {
  .mp-front-page .mp-new-products .wc-block-product-template {
    align-items: stretch !important;
  }

  .mp-front-page .mp-new-products .wc-block-product-template > .wc-block-product {
    min-width: 0 !important;
    width: auto !important;
  }
}

/* ================================================================
 * MINI PROBLEMS v7 STABLE
 * Authoritative layout, spacing and responsive corrections.
 * Kept at the end of the cascade intentionally so legacy iterations
 * cannot override the stable rules below.
 * ================================================================ */

:root {
  --mp-space-xs: 8px;
  --mp-space-sm: 16px;
  --mp-space-md: 24px;
  --mp-space-lg: 40px;
  --mp-space-xl: 64px;
  --mp-space-2xl: 88px;
  --mp-page-gutter: clamp(16px, 4vw, 40px);
  --mp-content-width: 1290px;
}

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

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

img,
svg,
video,
iframe {
  max-width: 100%;
}

.wp-site-blocks {
  overflow: clip;
}

/* Consistent focus indication for keyboard users. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.wp-element-button:focus-visible {
  outline: 2px solid var(--mp-primary, #b76f4c) !important;
  outline-offset: 3px;
}

/* Legacy WooCommerce checkout used by the live order form. */
.woocommerce-checkout form.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout form.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout form.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout form.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout form.woocommerce-checkout .form-row select,
.woocommerce-checkout form.woocommerce-checkout .form-row textarea,
.woocommerce-checkout #customer_details .form-row input,
.woocommerce-checkout #customer_details .form-row select,
.woocommerce-checkout #customer_details .form-row textarea {
  box-sizing: border-box !important;
  min-height: 52px !important;
  padding: 14px 18px !important;
  border: 1px solid #b7c5d6 !important;
  border-radius: 26px !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(31, 61, 107, .04) !important;
  color: var(--mp-graphite, #182d4e) !important;
}

.woocommerce-checkout form.woocommerce-checkout .form-row textarea,
.woocommerce-checkout #customer_details .form-row textarea {
  min-height: 118px !important;
  border-radius: 18px !important;
}

.woocommerce-checkout form.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout form.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout form.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout #customer_details .form-row input:focus,
.woocommerce-checkout #customer_details .form-row select:focus,
.woocommerce-checkout #customer_details .form-row textarea:focus {
  border-color: var(--mp-primary, #1f3d6b) !important;
  box-shadow: 0 0 0 3px rgba(31, 61, 107, .12) !important;
  outline: 0 !important;
}

@media (max-width: 768px) {
  .woocommerce-checkout form.woocommerce-checkout .form-row input,
  .woocommerce-checkout form.woocommerce-checkout .form-row select,
  .woocommerce-checkout #customer_details .form-row input,
  .woocommerce-checkout #customer_details .form-row select {
    min-height: 50px !important;
    padding: 13px 16px !important;
    border-radius: 25px !important;
    font-size: 16px !important;
  }

  .woocommerce-checkout form.woocommerce-checkout .form-row textarea,
  .woocommerce-checkout #customer_details .form-row textarea {
    min-height: 108px !important;
    padding: 14px 16px !important;
    border-radius: 16px !important;
    font-size: 16px !important;
  }
}

/* Woo checkout renders its fields outside the page-shell wrapper on some
   routes, so target the actual checkout components directly. */
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-address-form input,
.wc-block-checkout .wc-block-components-combobox-control input,
.wc-block-checkout .wc-block-components-textarea textarea,
.wc-block-checkout select {
  box-sizing: border-box !important;
  min-height: 52px !important;
  padding: 14px 18px !important;
  border: 1px solid #b7c5d6 !important;
  border-radius: 26px !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(31, 61, 107, .04) !important;
  color: var(--mp-graphite, #182d4e) !important;
}

.wc-block-checkout .wc-block-components-textarea textarea {
  min-height: 118px !important;
  border-radius: 18px !important;
}

.wc-block-checkout .wc-block-components-text-input input:focus,
.wc-block-checkout .wc-block-components-address-form input:focus,
.wc-block-checkout .wc-block-components-combobox-control input:focus,
.wc-block-checkout .wc-block-components-textarea textarea:focus,
.wc-block-checkout select:focus {
  border-color: var(--mp-primary, #1f3d6b) !important;
  box-shadow: 0 0 0 3px rgba(31, 61, 107, .12) !important;
  outline: 0 !important;
}

@media (max-width: 768px) {
  .wc-block-checkout .wc-block-components-text-input input,
  .wc-block-checkout .wc-block-components-address-form input,
  .wc-block-checkout .wc-block-components-combobox-control input,
  .wc-block-checkout select {
    min-height: 50px !important;
    padding: 13px 16px !important;
    border-radius: 25px !important;
    font-size: 16px !important;
  }

  .wc-block-checkout .wc-block-components-textarea textarea {
    min-height: 108px !important;
    padding: 14px 16px !important;
    border-radius: 16px !important;
    font-size: 16px !important;
  }
}

/* Prevent the default Gutenberg block gap from creating accidental double
   spaces between template sections. Each section owns its own padding. */
.mp-front-page,
.mp-upf-page,
.mp-brand-page,
.mp-delivery-page,
.mp-faq-page,
.mp-care-page,
.mp-editable-page {
  margin-top: 0 !important;
}

.mp-front-page > *,
.mp-upf-page > *,
.mp-brand-page > *,
.mp-delivery-page > *,
.mp-faq-page > *,
.mp-care-page > * {
  margin-block-start: 0 !important;
}

/* Homepage rhythm. Hero and trust strip remain edge-to-edge; content sections
   receive predictable vertical breathing room. */
.mp-front-page > .mp-new-products,
.mp-front-page > .mp-upf-compare,
.mp-front-page > .mp-upf-explain,
.mp-front-page > .mp-upf-benefits,
.mp-front-page > .mp-care,
.mp-front-page > .faq-section {
  padding-top: clamp(48px, 6vw, 82px) !important;
  padding-bottom: clamp(48px, 6vw, 82px) !important;
}

.mp-front-page > .mp-gender,
.mp-front-page > .mp-upf-feature,
.mp-front-page > .mp-hits,
.mp-front-page > .mp-cheaper {
  margin-top: 0 !important;
}

.mp-front-title,
.mp-section-title,
.mp-page-title,
.mp-inner-title__heading {
  text-wrap: balance;
}

.mp-front-title,
.mp-section-title {
  margin-top: 0 !important;
  margin-bottom: clamp(24px, 3vw, 40px) !important;
}

/* Stable header. Desktop remains unchanged. On mobile we retain a compact
   logo bar instead of removing the entire top of the page. This avoids the
   hero looking abruptly cut off and preserves clear brand orientation while
   the fixed bottom navigation continues to handle actions. */
@media (max-width: 768px) {
  .mp-site-header {
    background: #fff !important;
    display: block !important;
    min-height: calc(58px + env(safe-area-inset-top, 0px));
    position: relative;
    z-index: 20;
  }

  .mp-site-header .mp-promo-bar,
  .mp-site-header .mp-catalog-nav,
  .mp-site-header .mp-main-header__right,
  .mp-site-header .mp-search-panel {
    display: none !important;
  }

  .mp-site-header .mp-main-header {
    border-bottom: 1px solid rgba(31, 55, 99, .10) !important;
    min-height: calc(58px + env(safe-area-inset-top, 0px));
    padding: env(safe-area-inset-top, 0px) 16px 0 !important;
  }

  .mp-site-header .mp-main-header__inner,
  .mp-site-header .mp-main-header__left {
    align-items: center !important;
    flex-direction: row !important;
    justify-content: center !important;
    min-height: 58px;
    width: 100% !important;
  }

  .mp-site-header .mp-header-logo,
  .mp-site-header .mp-header-logo img {
    height: 40px !important;
    margin: 0 !important;
    object-fit: contain !important;
    width: 78px !important;
  }
}

/* Hero: crop and content positioning are tuned per viewport instead of using
   one tall box for every phone. */
.mp-front-page > .mp-hero {
  min-height: clamp(500px, 41.67vw, 602px) !important;
}

.mp-front-page .mp-hero__content {
  padding-block: clamp(44px, 6vw, 76px);
}

.mp-front-page .mp-hero__actions {
  column-gap: 10px !important;
  row-gap: 10px !important;
}

@media (max-width: 900px) {
  .mp-front-page > .mp-hero {
    min-height: clamp(500px, 72vw, 610px) !important;
  }

  .mp-front-page .mp-hero__content {
    max-width: min(72%, 520px) !important;
    padding-block: 44px;
  }

  .mp-front-page .mp-hero .wp-block-cover__image-background {
    object-position: 82% center !important;
  }
}

@media (max-width: 600px) {
  .mp-front-page > .mp-hero {
    min-height: clamp(440px, 118vw, 560px) !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .mp-front-page .mp-hero .wp-block-cover__image-background {
    object-position: 84% center !important;
  }

  .mp-front-page .mp-hero::before {
    background: linear-gradient(90deg, rgba(247, 251, 253, .96) 0%, rgba(247, 251, 253, .82) 42%, rgba(247, 251, 253, .24) 72%, rgba(247, 251, 253, 0) 100%) !important;
  }

  .mp-front-page .mp-hero__content {
    max-width: 76% !important;
    padding-block: 36px 44px;
  }

  .mp-front-page .mp-hero__title {
    font-size: clamp(38px, 12vw, 54px) !important;
    line-height: .96 !important;
  }

  .mp-front-page .mp-hero__desc {
    font-size: clamp(16px, 4.6vw, 20px) !important;
  }

  .mp-front-page .mp-hero__script {
    font-size: clamp(25px, 8vw, 36px) !important;
  }

  .mp-front-page .mp-hero__actions .mp-hero__btn .wp-block-button__link {
    min-width: 184px !important;
    width: 184px !important;
  }
}

@media (max-width: 380px) {
  .mp-front-page .mp-hero__content {
    max-width: 82% !important;
  }

  .mp-front-page .mp-hero .wp-block-cover__image-background {
    object-position: 87% center !important;
  }
}

/* Trust strip: wrap cleanly instead of squeezing four columns. */
@media (max-width: 781px) {
  .mp-trust__row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .mp-trust__item {
    border-bottom: 1px solid #d8c5ba;
    border-right: 1px solid #d8c5ba;
    min-height: 72px;
    padding: 12px !important;
  }

  .mp-trust__item:nth-child(2n) {
    border-right: 0;
  }

  .mp-trust__item:nth-last-child(-n+2) {
    border-bottom: 0;
  }
}

/* Gender cards: avoid clipped CTAs and excessive image crop. */
@media (max-width: 781px) {
  .mp-front-page .mp-gender__grid,
  .mp-front-page .mp-gender > .wp-block-columns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .mp-front-page .mp-gender__cover,
  .mp-front-page .mp-gender .wp-block-cover {
    aspect-ratio: 16 / 10 !important;
    min-height: 0 !important;
  }

  .mp-front-page .mp-gender__button-area {
    align-items: flex-end !important;
    display: flex !important;
    height: 100% !important;
    padding: 0 18px 18px !important;
  }

  .mp-front-page .mp-gender__button a {
    font-size: clamp(25px, 8vw, 34px) !important;
    min-height: 54px !important;
    min-width: 0 !important;
    padding: 8px 20px !important;
  }
}

/* Product grids and cards. */
.mp-product-card,
.wc-block-product {
  min-width: 0;
}

.mp-product-card__title,
.wc-block-components-product-name {
  overflow-wrap: anywhere;
}

.mp-product-card__image img,
.wc-block-components-product-image img,
.woocommerce ul.products li.product img {
  display: block;
  height: auto;
  width: 100%;
}

@media (min-width: 769px) {
  .mp-front-page .mp-new-products .wc-block-product-template,
  .mp-front-page .mp-new-products ul.products {
    display: grid !important;
    gap: clamp(18px, 2.2vw, 30px) !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  .mp-front-page > .mp-new-products {
    width: calc(100% - 32px) !important;
  }

  .mp-front-page .mp-new-products .wc-block-product-template,
  .mp-front-page .mp-new-products ul.products {
    gap: 24px !important;
    grid-template-columns: 1fr !important;
  }
}

/* UPF page and comparison blocks. */
.mp-upf-page > .mp-upf-feature,
.mp-upf-page > .mp-upf-explain,
.mp-upf-page > .mp-upf-compare,
.mp-upf-page > .mp-upf-benefits,
.mp-upf-page > .mp-upf-product-cta,
.mp-upf-page > .mp-upf-faq,
.mp-upf-page > .mp-upf-final-cta {
  margin-top: 0 !important;
}

.mp-upf-page > .mp-upf-explain,
.mp-upf-page > .mp-upf-compare,
.mp-upf-page > .mp-upf-benefits,
.mp-upf-page > .mp-upf-product-cta,
.mp-upf-page > .mp-upf-faq,
.mp-upf-page > .mp-upf-final-cta {
  padding-top: clamp(48px, 6vw, 84px) !important;
  padding-bottom: clamp(48px, 6vw, 84px) !important;
}

@media (max-width: 900px) {
  .mp-upf-compare__grid,
  .mp-upf-explain__grid,
  .mp-upf-benefits,
  .mp-upf-final-cta .wp-block-columns {
    grid-template-columns: 1fr !important;
  }

  .mp-upf-panel,
  .mp-front-page .mp-upf-panel {
    min-height: 0 !important;
  }

  .mp-upf-panel__list,
  .mp-front-page .mp-upf-panel__list {
    padding: 22px 20px !important;
  }
}

/* Inner pages: shared horizontal gutters and readable line lengths. */
.mp-editable-page__content,
.mp-brand-page,
.mp-delivery-page,
.mp-faq-page,
.mp-care-page,
.mp-upf-page,
.mp-cart-page,
.mp-checkout-page,
.mp-account-page,
.mp-search-page,
.mp-journal-page,
.mp-single-post,
.mp-single-product-page {
  max-width: 100%;
}

@media (max-width: 781px) {
  .mp-brand-origin__grid,
  .mp-brand-values__grid,
  .mp-delivery-cards,
  .mp-payment-return__grid,
  .mp-faq-layout,
  .mp-info-split,
  .mp-product-summary {
    grid-template-columns: 1fr !important;
  }

  .mp-brand-page,
  .mp-delivery-page,
  .mp-faq-page,
  .mp-care-page,
  .mp-upf-page,
  .mp-editable-page__content,
  .mp-cart-page,
  .mp-checkout-page,
  .mp-account-page,
  .mp-search-page,
  .mp-journal-page,
  .mp-single-post,
  .mp-single-product-page {
    padding-left: var(--mp-page-gutter) !important;
    padding-right: var(--mp-page-gutter) !important;
  }

  .mp-brand-hero,
  .mp-care-page__hero,
  .mp-delivery-hero,
  .mp-faq-hero,
  .mp-inner-title {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }
}

/* Catalog and WooCommerce: prevent sidebar/product overflow and improve small
   screen controls. */
@media (max-width: 900px) {
  .mp-catalog-layout {
    display: block !important;
  }

  .mp-catalog-layout__sidebar {
    display: none !important;
  }

  .mp-catalog-layout__products,
  .woocommerce-page .site-main,
  .woocommerce .site-main {
    min-width: 0 !important;
    width: 100% !important;
  }

  .mp-catalog-toolbar {
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  .woocommerce .woocommerce-ordering,
  .woocommerce .woocommerce-result-count {
    float: none !important;
    margin: 0 !important;
    width: 100% !important;
  }

  .woocommerce .woocommerce-ordering select {
    max-width: 100%;
    width: 100%;
  }
}

@media (max-width: 520px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .wc-block-product-template {
    grid-template-columns: 1fr !important;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 4px;
    white-space: nowrap;
  }
}

/* Responsive tables globally. */
.wp-block-table,
.woocommerce table.shop_table,
.mp-cheaper__table-wrap,
.mp-compare-table {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Footer: stable stacking and spacing. */
@media (max-width: 900px) {
  .wp-site-blocks > .mp-site-footer,
  .wp-site-blocks > footer.mp-site-footer {
    padding: 44px 24px calc(96px + env(safe-area-inset-bottom, 0px)) !important;
    width: calc(100% - 32px) !important;
  }

  .mp-site-footer .mp-site-footer__columns {
    gap: 32px !important;
    grid-template-columns: 1fr !important;
  }
}

/* Motion accessibility. */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

/* Mobile-only fixes based on the original 1.0.50 theme. */
@media (max-width: 900px) {
  /* Keep the compact catalogue control available in the mobile header. */
  .mp-site-header .mp-catalog-nav {
    display: block !important;
  }

  .mp-site-header .mp-main-header__inner,
  .mp-site-header .mp-main-header__left {
    justify-content: space-between !important;
  }

  .mp-catalog-nav .wp-block-navigation-submenu {
    overflow: visible !important;
    position: relative !important;
  }

  .mp-catalog-nav .wp-block-navigation__submenu-container {
    display: none !important;
    left: auto !important;
    opacity: 0 !important;
    pointer-events: none !important;
    right: 0 !important;
    top: calc(100% + 8px) !important;
    visibility: hidden !important;
    z-index: 1000 !important;
  }

  .mp-catalog-nav .wp-block-navigation-submenu.is-mp-mobile-open > .wp-block-navigation__submenu-container {
    display: flex !important;
    height: auto !important;
    opacity: 1 !important;
    overflow: visible !important;
    pointer-events: auto !important;
    visibility: visible !important;
    width: 210px !important;
  }

  .mp-catalog-nav .wp-block-navigation__submenu-container a {
    pointer-events: auto !important;
    width: 100% !important;
  }

  /* Tag filter exists only on the mobile catalogue and tag archives. */
  .mp-mobile-gender-filter {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0 auto 18px;
    max-width: 100%;
    padding: 0 var(--mp-page-gutter, 16px);
  }

  .mp-mobile-gender-filter__link {
    align-items: center;
    background: #fff;
    border: 1px solid var(--mp-sand, #c7ad9b);
    color: var(--mp-blue, #213b67) !important;
    display: inline-flex;
    font-family: var(--mp-font-body, Jost, Arial, sans-serif);
    font-size: 13px;
    font-weight: 600;
    justify-content: center;
    min-height: 42px;
    min-width: 0;
    padding: 8px;
    text-align: center;
    text-decoration: none !important;
  }

  .mp-mobile-gender-filter__link.is-active {
    background: var(--mp-blue, #213b67);
    border-color: var(--mp-blue, #213b67);
    color: #fff !important;
  }
}

@media (min-width: 901px) {
  .mp-mobile-gender-filter {
    display: none !important;
  }
}

@media (max-width: 781px) {
  /* Single-product page: image first, information below, without narrow columns. */
  body.single-product .mp-single-product-page {
    overflow-x: hidden;
  }

  body.single-product .mp-product-summary.wp-block-columns {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 18px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }

  body.single-product .mp-product-summary > .wp-block-column,
  body.single-product .mp-product-summary__media,
  body.single-product .mp-product-summary__content,
  body.single-product .woocommerce.product > .wp-block-columns > .wp-block-column:first-child,
  body.single-product .woocommerce.product > .wp-block-columns > .wp-block-column:last-child,
  body.single-product .wc-block-store-notices + .wp-block-columns > .wp-block-column:first-child,
  body.single-product .wc-block-store-notices + .wp-block-columns > .wp-block-column:last-child {
    flex: 0 0 100% !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body.single-product .mp-product-summary__media .woocommerce-product-gallery,
  body.single-product .mp-product-summary__media .wp-block-woocommerce-product-image-gallery,
  body.single-product .mp-product-summary__media .woocommerce-product-gallery__wrapper,
  body.single-product .mp-product-summary__media .woocommerce-product-gallery__image,
  body.single-product .mp-product-summary__media .woocommerce-product-gallery__image a,
  body.single-product .mp-product-summary__media .woocommerce-product-gallery__image img {
    box-sizing: border-box !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body.single-product .mp-product-summary__content > .wp-block-post-title {
    font-size: clamp(28px, 9vw, 38px) !important;
    hyphens: none !important;
    line-height: 1.08 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    width: 100% !important;
  }

  /* Marketplace buttons: equal width and clean vertical alignment on phones. */
  body.single-product .mp-marketplaces,
  body.single-product .mp-marketplaces__links {
    box-sizing: border-box !important;
    width: 100% !important;
  }

  body.single-product .mp-marketplaces__links {
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.single-product .mp-marketplaces .mp-marketplaces__link,
  body.single-product .mp-marketplaces .mp-marketplaces__link.is-wb,
  body.single-product .mp-marketplaces .mp-marketplaces__link.is-ozon,
  body.single-product .mp-marketplaces .mp-marketplaces__link.is-detmir {
    box-sizing: border-box !important;
    min-width: 0 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    text-align: center !important;
    white-space: normal !important;
    width: 100% !important;
  }
}

/* Canopea-style overrides: unify header/search/page container widths and account forms */
/* Keep rules minimal and specific to avoid breaking other layouts */
.mp-site-header .mp-main-header__inner,
.mp-search-panel,
.wp-block-group.alignwide.mp-account-shell,
.wp-block-group.alignwide .mp-account-shell,
.wp-block-group.alignwide,
.page .wp-block-group.alignwide {
  max-width: 1290px !important;
  margin: 0 auto !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Restore vertical padding for the hero/inner-title so the first block keeps intended spacing */
.mp-inner-title {
  text-align: center !important;
  /* Restore original large vertical spacing for hero banners */
  padding: clamp(72px, 9vw, 138px) 16px clamp(34px, 5vw, 70px) !important;
}

/* Prevent account forms collapsing into very narrow columns */
.mp-account-shell .woocommerce form.login,
.mp-account-shell .woocommerce form.register,
.mp-account-shell .woocommerce-EditAccountForm,
.mp-account-shell .woocommerce-address-fields {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Front page buttons: keep gap and equal widths on mobile; lowered and closer to edges, slightly smaller */
.mp-front-page .wp-block-buttons {
  display: flex !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
  margin-top: 18px !important; /* push buttons lower */
  padding: 0 12px !important; /* closer to edges */
  justify-content: flex-start !important;
}
.mp-front-page .wp-block-buttons > .wp-block-button { margin: 0 !important; }
.mp-front-page .wp-block-button {
  flex: 0 0 auto !important;
  min-width: 180px !important;
}
.mp-front-page .wp-block-button__link {
  display: inline-block !important;
  width: auto !important;
  text-align: center !important;
  padding: 8px 16px !important; /* slightly smaller */
  font-size: 14px !important;
  border-radius: 10px !important;
}
/* ensure gap fallback for older browsers */
.mp-front-page .wp-block-button + .wp-block-button { margin-left: 12px !important; }

/* Stacked on very small screens */
@media (max-width: 420px) {
  .mp-front-page .wp-block-button {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
  .mp-front-page .wp-block-buttons {
    padding-left: 8px !important;
    padding-right: 8px !important;
    gap: 10px !important;
    margin-top: 12px !important;
  }
}

/* Desktop header alignment: keep items vertically centered and spaced */
@media (min-width: 901px) {
  .mp-site-header .mp-main-header__inner {
    align-items: center !important;
    justify-content: space-between !important;
  }
}

/* Mobile header padding standardization */
@media (max-width: 900px) {
  .mp-site-header .mp-main-header__inner {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* Mini Care: stack action buttons vertically and align to container edges on phones */
  .mp-care__actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    align-items: stretch !important;
    margin-top: 12px !important;
  }

  .mp-care__button .wp-block-button__link,
  .mp-care__link .wp-block-button__link {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    box-sizing: border-box !important;
  }

  /* Prevent small text lines from overflowing the viewport */
  .mp-care p,
  .mp-delivery-home__steps p,
  .mp-front-page p,
  .mp-inner-title__breadcrumbs,
  .mp-account-shell .woocommerce-MyAccount-navigation ul,
  .mp-account-shell .woocommerce-MyAccount-content {
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  /* Ensure content blocks have safe horizontal padding */
  .mp-care,
  .mp-delivery-home,
  .mp-front-page,
  .mp-inner-title,
  .mp-account-shell {
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }

  /* Gender cover adjustments: position buttons near the bottom to avoid overlapping product children */
  .mp-gender__cover {
    position: relative !important;
    overflow: hidden !important;
  }

  .mp-gender__button-area {
    position: absolute !important;
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    display: flex !important;
    justify-content: center !important;
    z-index: 2 !important;
    padding: 0 !important;
  }

  .mp-gender__buttons {
    width: 100% !important;
    display: flex !important;
    gap: 10px !important;
    justify-content: center !important;
  }

  .mp-gender__button .wp-block-button__link {
    min-width: 120px !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
    border-radius: 8px !important;
  }

  /* Small screens: stack gender buttons vertically */
  @media (max-width: 480px) {
    .mp-gender__buttons {
      flex-direction: column !important;
      gap: 8px !important;
    }

    .mp-gender__button .wp-block-button__link {
      width: 100% !important;
    }
  }
}

/* Account page: two-column layout for WooCommerce My Account on desktop */

/* Heading polish — make large headings slightly smaller and more consistent */
/* Global defaults for headings to avoid oversized blocks across templates */
.mp-inner-title__heading,
.mp-inner-title .wp-block-post-title,
.mp-inner-title .wp-block-query-title,
.mp-page-title,
.mp-section-title,
.wp-block-heading,
h1, h2, h3 {
  font-family: var(--mp-font-heading, Jost, Arial, sans-serif) !important;
  font-weight: 600 !important;
}

/* Default heading sizes (scaled smoothly) */
.mp-inner-title__heading,
.mp-inner-title .wp-block-post-title,
.mp-inner-title .wp-block-query-title,
.mp-page-title,
.mp-section-title,
.wp-block-heading {
  font-size: clamp(24px, 3.6vw, 36px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 16px !important;
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Hero / primary H1: slightly larger but bounded */
.mp-hero__title,
.mp-inner-title__heading.h1,
h1 {
  font-size: clamp(28px, 4.8vw, 40px) !important;
  line-height: 1.04 !important;
  margin-bottom: 18px !important;
}

/* H2 / section titles */
h2,
.mp-front-title {
  font-size: clamp(20px, 3.2vw, 30px) !important;
  line-height: 1.06 !important;
}

/* H3 */
h3,
.mp-section-subtitle {
  font-size: clamp(16px, 2.4vw, 22px) !important;
}

/* Tighter display on very large screens for hero headings */
@media (min-width: 1200px) {
  .mp-inner-title__heading,
  .mp-front-title,
  .mp-page-title {
    font-size: 40px !important;
    line-height: 1.06 !important;
  }
}

/* Slightly reduced size on medium screens */
@media (max-width: 900px) {
  .mp-inner-title__heading,
  .mp-front-title,
  .mp-page-title,
  .wp-block-heading {
    font-size: clamp(20px, 5vw, 28px) !important;
    margin-bottom: 12px !important;
  }
}

/* Desktop account layout: place navigation across the top as horizontal tabs */
@media (min-width: 901px) {
  .mp-account-shell {
    display: block !important;
    max-width: 980px !important;
    margin: 0 auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }

  /* Navigation becomes horizontal and placed above content */
  .mp-account-shell .woocommerce-MyAccount-navigation {
    display: flex !important;
    gap: 12px !important;
    justify-content: center !important;
    margin: 0 0 20px 0 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
  }

  .mp-account-shell .woocommerce-MyAccount-navigation ul {
    display: flex !important;
    gap: 8px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }

  .mp-account-shell .woocommerce-MyAccount-navigation li a {
    display: inline-block !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
    background: #fff !important;
    border: 1px solid var(--mp-line) !important;
    color: var(--mp-blue) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
  }

  .mp-account-shell .woocommerce-MyAccount-navigation li.is-active a,
  .mp-account-shell .woocommerce-MyAccount-navigation li a:hover {
    background: var(--mp-blue) !important;
    color: #fff !important;
    border-color: var(--mp-blue) !important;
  }

  .mp-account-shell .woocommerce-MyAccount-content {
    margin-top: 8px !important;
  }
}

@media (max-width: 900px) {
  /* Force hero and front-page action buttons to stack and be full-width on mobile/tablet */
  .mp-hero__actions,
  .mp-front-page .wp-block-buttons {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    align-items: stretch !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .mp-hero__btn,
  .mp-front-page .wp-block-button,
  .mp-front-page .wp-block-button__link {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  /* Product care: stack cards and make buttons full width */
  .mp-product-care__cards,
  .mp-product-care__cards .mp-product-care__card,
  .mp-care__cards,
  .mp-care__cards .mp-product-care__card {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
  }
  .mp-product-care__card summary,
  .mp-product-care__card p,
  .mp-product-care__card ul {
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }
  .mp-product-care__card .wp-block-button__link {
    width: 100% !important;
  }

  /* Ensure front-page columns stack so images and children don't overlap */
  .mp-front-page .wp-block-columns,
  .mp-front-page .wp-block-column {
    flex-direction: column !important;
    width: 100% !important;
  }

  /* Gender cover image positioning and button spacing to avoid overlap */
  .mp-gender__cover .wp-block-cover__image-background {
    object-position: center top !important;
    /* allow the image to scale naturally */
    height: auto !important;
  }
  .mp-gender__button-area { bottom: 12px !important; }
}

/* Fix delivery arrows duplication: hide various inline elements that may contain textual arrows */

/* Strong mobile override: stack hero/front buttons, product cards, mini-care and gender block to prevent overlap */
@media (max-width: 900px) {
  .mp-hero__actions,
  .mp-front-page .wp-block-buttons {
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
    align-items:stretch !important;
    padding-left:12px !important;
    padding-right:12px !important;
    box-sizing:border-box !important;
  }

  .mp-hero__btn,
  .mp-front-page .wp-block-button {
    width:100% !important; max-width:100% !important; min-width:0 !important; margin:0 !important;
  }

  .mp-hero__btn .wp-block-button__link,
  .mp-front-page .wp-block-button__link {
    display:block !important; width:100% !important; text-align:center !important; padding:12px 16px !important; font-size:15px !important;
  }

  .mp-products-grid, .mp-products {
    display:flex !important; flex-wrap:wrap !important; gap:18px !important; justify-content:center !important; padding-left:12px !important; padding-right:12px !important; box-sizing:border-box !important;
  }

  .mp-products-grid .mp-product-card,
  .mp-products .mp-product-card,
  .mp-products .wc-block-grid__product {
    width:100% !important; max-width:100% !important; padding:10px !important; box-sizing:border-box !important; background:transparent !important; border:none !important;
  }

  .mp-product-card__image img, .mp-products .wc-block-grid__product .wp-block-image img { width:100% !important; height:auto !important; object-fit:cover !important; display:block !important; }

  .mp-product-card__button .wp-block-button__link { width:100% !important; }

  .mp-care__actions, .mp-product-care__cards { display:flex !important; flex-direction:column !important; gap:12px !important; width:100% !important; }
  .mp-care__button .wp-block-button__link, .mp-care__link .wp-block-button__link, .mp-product-care__card .wp-block-button__link { width:100% !important; box-sizing:border-box !important; }

  .mp-gender__cover { position:relative !important; overflow:hidden !important; }
  .mp-gender__button-area { position:absolute !important; left:12px !important; right:12px !important; bottom:12px !important; display:flex !important; gap:10px !important; z-index:2 !important; padding:0 !important; box-sizing:border-box !important; }
  .mp-gender__button-area--girls { justify-content:flex-start !important; padding-left:18px !important; }
  .mp-gender__button-area--boys { justify-content:flex-end !important; padding-right:18px !important; }
  .mp-gender__buttons { display:flex !important; gap:10px !important; }
  .mp-gender__button .wp-block-button__link { padding:8px 12px !important; font-size:14px !important; border-radius:8px !important; min-width:110px !important; }

  @media (max-width:480px) {
    .mp-gender__button-area { left:8px !important; right:8px !important; bottom:10px !important; }
    .mp-gender__buttons { flex-direction:column !important; width:100% !important; }
    .mp-gender__button .wp-block-button__link { width:100% !important; }
    .mp-products-grid .mp-product-card, .mp-products .mp-product-card { width:100% !important; }
  }

  /* Prevent text overflow */
  .mp-care p, .mp-front-page p, .mp-product-card__body, .mp-product-card__title, .mp-inner-title { overflow-wrap:anywhere !important; word-break:break-word !important; }

  /* reduce hero padding on small screens to keep buttons visible */
  .mp-inner-title, .mp-hero__content { padding-left:12px !important; padding-right:12px !important; }
}

.mp-delivery-home__steps p span,
.mp-delivery-home__steps p strong,
.mp-delivery-home__steps p em,
.mp-delivery-home__steps p i {
  display: none !important;
}

/* Add single pseudo-arrow between steps when needed */
.mp-delivery-home__steps > p::before {
  content: "\2193";
  display: block;
  text-align: center;
  color: var(--mp-primary);
  font-size: 20px;
  margin-bottom: 8px;
}

/* Stack front page buttons and Mini Care actions on tablet+mobile screens */
@media (max-width: 900px) {
  .mp-front-page .wp-block-buttons {
    justify-content: center !important;
    gap: 12px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .mp-front-page .wp-block-button {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
  .mp-front-page .wp-block-button__link {
    width: 100% !important;
    text-align: center !important;
  }

  /* Mini Care: stack actions vertically on broader mobile breakpoint */
  .mp-care__actions {
    flex-direction: column !important;
    gap: 10px !important;
  }

  .mp-care__button .wp-block-button__link,
  .mp-care__link .wp-block-button__link {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Move gender filter lower so buttons don't overlap images */
  .mp-mobile-gender-filter {
    margin-top: 28px !important;
    gap: 10px !important;
  }

  /* Ensure front-page columns stack so images and children don't overlap */
  .mp-front-page .wp-block-columns,
  .mp-front-page .wp-block-column {
    flex-direction: column !important;
    width: 100% !important;
  }
}

/* Center "Новинки" section and product card content for a neater scroll experience */
.mp-products,
.archive .mp-products,
.wp-block-query .mp-products,
.mp-front-page .mp-products {
  text-align: center !important;
}

/* Product grid wrapper: center items and allow wrapping */
.mp-products-grid,
.mp-products {
  display: flex !important;
  gap: 20px !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  box-sizing: border-box !important;
}

/* Individual product card: fixed max width, centered content, gentle card styling */
.mp-products-grid .mp-product-card,
.mp-products .mp-product-card,
.mp-products .wc-block-grid__product {
  box-sizing: border-box !important;
  width: 320px !important;
  max-width: 100% !important;
  background: #fff !important;
  border-radius: 12px !important;
  border: 1px solid var(--mp-line, #eee) !important;
  padding: 12px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

/* Image/figure: force responsive image, keep aspect and cover */
.mp-product-card__figure,
.mp-product-card__image {
  width: 100% !important;
}
.mp-product-card__image img,
.mp-product-card__figure img,
.mp-products .wc-block-grid__product .wp-block-image img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 8px !important;
}

/* Product body: stack title, price, button neatly */
.mp-product-card__body {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  align-items: center !important;
  margin-top: 8px !important;
}

.mp-product-card__title {
  font-size: 15px !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

.mp-product-card__price {
  font-weight: 700 !important;
  color: var(--mp-blue, #213b67) !important;
}

/* Ensure Add to cart / action button sits below and is consistent */
.mp-product-card__button .wp-block-button__link,
.mp-products .wc-block-grid__product .wp-block-button__link {
  display: inline-block !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
  text-align: center !important;
}

/* Responsive: two columns on small tablets, full width on phones */
@media (max-width: 900px) {
  .mp-products-grid .mp-product-card,
  .mp-products .mp-product-card {
    width: calc(50% - 16px) !important;
  }
}

@media (max-width: 480px) {
  .mp-products-grid .mp-product-card,
  .mp-products .mp-product-card {
    width: 100% !important;
  }

  .mp-product-card__button .wp-block-button__link,
  .mp-products .wc-block-grid__product .wp-block-button__link {
    width: 100% !important;
  }
}

/* Keep titles and buttons centered for accessibility when scrolling */
.mp-products .mp-product-card .mp-product-card__title,
.mp-products .mp-product-card .wc-block-grid__product-title,
.mp-products .mp-product-card .price,
.mp-products .mp-product-card .wp-block-button {
  text-align: center !important;
}
    padding: 12px !important;
    box-shadow: none !important;
  }

  .mp-account-shell .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .mp-account-shell .woocommerce-MyAccount-navigation-link a {
    display: block !important;
    padding: 14px 12px !important;
    color: var(--mp-graphite) !important;
    font-weight: 600 !important;
  }

  /* Content card */
  .mp-account-shell .woocommerce-MyAccount-content {
    background: #fff !important;
    border: 1px solid var(--mp-line) !important;
    border-radius: 12px !important;
    padding: 20px !important;
  }
}

  /* Mini Care: stack action buttons vertically and align to container edges on phones */
  .mp-care__actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    align-items: stretch !important;
    margin-top: 12px !important;
  }

  .mp-care__button .wp-block-button__link,
  .mp-care__link .wp-block-button__link {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    box-sizing: border-box !important;
  }

  /* Prevent small text lines from overflowing the viewport */
  .mp-care p,
  .mp-delivery-home__steps p,
  .mp-front-page p,
  .mp-inner-title__breadcrumbs,
  .mp-account-shell .woocommerce-MyAccount-navigation ul,
  .mp-account-shell .woocommerce-MyAccount-content {
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  /* Ensure content blocks have safe horizontal padding */
  .mp-care,
  .mp-delivery-home,
  .mp-front-page,
  .mp-inner-title,
  .mp-account-shell {
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }
}

/* ==== variables.css ==== */
:root {
  --mp-page-width: 1320px;
  --mp-gutter: clamp(16px, 3vw, 40px);
  --mp-text: #171717;
  --mp-muted: #6f6f6f;
  --mp-line: #e9e7e2;
  --mp-surface: #ffffff;
  --mp-soft: #f6f4ef;
  --mp-accent: #d95745;
  --mp-radius-sm: 8px;
  --mp-radius-md: 14px;
  --mp-shadow-menu: 0 18px 50px rgba(20, 20, 20, .10);
  --mp-header-height: 78px;
}

/* ==== base.css ==== */
html { scroll-behavior: smooth; }
body { color: var(--mp-text); background: var(--mp-surface); }
body, button, input, select, textarea { -webkit-font-smoothing: antialiased; }
*, *::before, *::after { box-sizing: border-box; }
a { text-underline-offset: .18em; }
img { max-width: 100%; height: auto; }
.mp-shell { width: min(100% - (2 * var(--mp-gutter)), var(--mp-page-width)); margin-inline: auto; }

/* ==== header.css ==== */
.mp-site-header {
  position: relative;
  z-index: 1000;
  background: var(--mp-surface, #fff);
  color: var(--mp-text, #1d1d1b);
  border-bottom: 1px solid rgba(29,29,27,.12);
}
.mp-site-header a { color: inherit; text-decoration: none; }
.mp-promo-bar { background: var(--mp-text, #1d1d1b); color: #fff; }
.mp-promo-bar__inner {
  min-height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 20px;
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.mp-main-header {
  padding-inline: clamp(18px, 3vw, 48px);
}

/* position: sticky doesn't work here — .wp-site-blocks (WordPress core's
 * root-padding-aware-alignments wrapper) has overflow: clip, which breaks
 * the sticky containing-block chain. header.js switches this to fixed via
 * IntersectionObserver instead and inserts a matching-height spacer so the
 * page doesn't jump when the header leaves normal flow. */
.mp-main-header.is-stuck {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: var(--mp-surface, #fff);
  box-shadow: 0 6px 18px rgba(16, 24, 40, .08);
}
.mp-main-header__inner {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  min-height: 82px;
  gap: 34px;
  max-width: 1540px;
  margin-inline: auto;
}
.mp-header-logo { display: block; line-height: 0; }
.mp-header-logo img { display: block; width: auto; height: 46px; object-fit: contain; }
.mp-header-primary { justify-self: center; min-width: 0; }
.mp-header-primary__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 2vw, 34px);
  margin: 0;
  padding: 0;
  list-style: none;
}
.mp-header-primary__item > a {
  display: block;
  padding: 32px 0 30px;
  font-size: 11px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
  white-space: nowrap;
}
.mp-header-primary__item > a::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  margin-top: 7px;
  background: currentColor;
  transition: width .2s ease;
}
.mp-header-primary__item:hover > a::after,
.mp-header-primary__item:focus-within > a::after { width: 100%; }
.mp-header-secondary { display: flex; align-items: center; gap: 15px; }
.mp-header-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}
.mp-header-icon::before,
.mp-header-icon::after,
.mp-header-icon > span::before,
.mp-header-icon > span::after { content: ""; position: absolute; box-sizing: border-box; }
.mp-header-icon--search::before { width: 15px; height: 15px; border: 1px solid currentColor; border-radius: 50%; transform: translate(-2px,-2px); }
.mp-header-icon--search::after { width: 7px; height: 1px; background: currentColor; transform: translate(6px,6px) rotate(45deg); }
.mp-header-icon--account::before { width: 9px; height: 9px; border: 1px solid currentColor; border-radius: 50%; top: 2px; }
.mp-header-icon--account::after { width: 17px; height: 9px; border: 1px solid currentColor; border-bottom: 0; border-radius: 10px 10px 0 0; bottom: 2px; }
.mp-header-icon--cart::before { width: 19px; height: 13px; border: 1px solid currentColor; border-radius: 0 0 2px 2px; bottom: 2px; }
.mp-header-icon--cart::after { width: 9px; height: 5px; border: 1px solid currentColor; border-bottom: 0; border-radius: 7px 7px 0 0; top: 1px; }
.mp-header-cart-count {
  position: absolute;
  top: -5px;
  right: -7px;
  display: grid;
  place-items: center;
  min-width: 15px;
  height: 15px;
  padding: 0 3px;
  border-radius: 999px;
  background: var(--mp-accent, #e66571);
  color: #fff;
  font-size: 8px;
  line-height: 1;
}
.mp-header-cart-count.is-empty { display: none; }
.mp-has-mega { position: static; }
.mp-mega-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  width: min(100vw - 48px, 1280px);
  display: grid;
  grid-template-columns: minmax(0,1fr) 315px;
  gap: 48px;
  padding: 34px;
  background: #fff;
  border-top: 1px solid rgba(29,29,27,.12);
  box-shadow: 0 18px 45px rgba(0,0,0,.08);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, 8px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.mp-has-mega:hover .mp-mega-menu,
.mp-has-mega:focus-within .mp-mega-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}
.mp-mega-menu__links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 34px; }
.mp-mega-menu section { min-width: 0; }
.mp-mega-menu__title {
  display: inline-block;
  margin-bottom: 18px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.mp-mega-menu ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.mp-mega-menu li a { font-size: 13px; color: rgba(29,29,27,.66); }
.mp-mega-menu li a:hover { color: #1d1d1b; }
.mp-mega-menu__promo { display: grid; gap: 12px; align-content: start; text-align: center; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.mp-mega-menu__promo-image { display: block; overflow: hidden; aspect-ratio: 315/194; background: #f3f1ed; }
.mp-mega-menu__promo img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; transition: transform .35s ease; }
.mp-mega-menu__promo:hover img { transform: scale(1.035); }
.mp-search-panel,
.mp-mobile-drawer { position: fixed; inset: 0; z-index: 1300; pointer-events: none; visibility: hidden; }
.mp-search-panel.is-open,
.mp-mobile-drawer.is-open { pointer-events: auto; visibility: visible; }
.mp-search-panel__backdrop,
.mp-mobile-drawer__backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(0,0,0,.28); opacity: 0; transition: opacity .2s ease; }
.mp-search-panel.is-open .mp-search-panel__backdrop,
.mp-mobile-drawer.is-open .mp-mobile-drawer__backdrop { opacity: 1; }
.mp-search-panel__content {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: clamp(58px, 9vh, 96px) clamp(20px, 5vw, 76px) 48px;
  background: #fff;
  transform: translateY(-100%);
  transition: transform .24s ease;
}
.mp-search-panel.is-open .mp-search-panel__content { transform: translateY(0); }
.mp-search-panel__close { position: absolute; top: 21px; right: clamp(20px, 5vw, 76px); border: 0; background: transparent; font-size: 30px; font-weight: 200; cursor: pointer; }
.mp-search-panel__form { position: relative; display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: center; gap: 14px; max-width: 1180px; margin-inline: auto; border-bottom: 1px solid #1d1d1b; }
.mp-search-panel__form input[type="search"] { width: 100%; min-height: 66px; padding: 8px 0; border: 0; outline: 0; background: transparent; color: inherit; font: inherit; font-size: clamp(23px, 3vw, 40px); }
.mp-search-panel__icon { position: relative; width: 20px; height: 20px; border: 1px solid currentColor; border-radius: 50%; }
.mp-search-panel__icon::after { content: ""; position: absolute; width: 8px; height: 1px; right: -6px; bottom: -3px; background: currentColor; transform: rotate(45deg); }
.mp-mobile-toggle { display: none; width: 27px; height: 27px; padding: 3px 0; border: 0; background: transparent; }
.mp-mobile-toggle span { display: block; width: 23px; height: 1px; margin: 5px 0; background: currentColor; }
.mp-mobile-drawer__panel {
  position: absolute;
  inset: 0 auto 0 0;
  width: min(88vw, 390px);
  display: grid;
  grid-template-rows: auto minmax(0,1fr) auto;
  background: #fff;
  transform: translateX(-100%);
  transition: transform .24s ease;
}
.mp-mobile-drawer.is-open .mp-mobile-drawer__panel { transform: translateX(0); }
.mp-mobile-drawer__header { display: flex; align-items: center; justify-content: space-between; min-height: 64px; padding: 0 22px; border-bottom: 1px solid rgba(29,29,27,.12); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.mp-mobile-drawer__close { border: 0; background: transparent; font-size: 28px; font-weight: 200; cursor: pointer; }
.mp-mobile-drawer__nav { overflow-y: auto; overscroll-behavior: contain; }
.mp-mobile-drawer__nav > a,
.mp-mobile-drawer__nav summary { display: flex; align-items: center; justify-content: space-between; min-height: 56px; padding: 0 22px; border-bottom: 1px solid rgba(29,29,27,.12); font-size: 13px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; cursor: pointer; list-style: none; }
.mp-mobile-drawer__nav summary::-webkit-details-marker { display: none; }
.mp-mobile-drawer__nav summary::after { content: "+"; font-size: 18px; font-weight: 300; }
.mp-mobile-drawer__nav details[open] summary::after { content: "−"; }
.mp-mobile-drawer__submenu { display: grid; padding: 8px 22px 16px; border-bottom: 1px solid rgba(29,29,27,.12); }
.mp-mobile-drawer__submenu a { padding: 9px 0; font-size: 13px; color: rgba(29,29,27,.66); }
.mp-mobile-drawer__footer { padding: 20px 22px calc(20px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(29,29,27,.12); font-size: 13px; }
body.mp-overlay-open { overflow: hidden; }
@media (max-width: 1180px) {
  .mp-header-primary__list { gap: 18px; }
  .mp-header-primary__item > a { font-size: 10px; }
}
@media (max-width: 960px) {
  .mp-promo-bar__inner { min-height: 28px; font-size: 9px; }
  .mp-main-header { padding-inline: 16px; }
  .mp-main-header__inner { grid-template-columns: 28px minmax(0,1fr) auto; min-height: 64px; gap: 12px; }
  .mp-mobile-toggle { display: block; }
  .mp-header-primary { display: none; }
  .mp-header-logo { justify-self: center; }
  .mp-header-logo img { height: 38px; }
  .mp-header-secondary { gap: 12px; }
  .mp-header-icon--account { display: none; }
}
@media (max-width: 420px) {
  .mp-main-header__inner { min-height: 60px; }
  .mp-header-logo img { height: 34px; max-width: 126px; }
  .mp-header-secondary { gap: 8px; }
}
@media (max-height: 520px) and (orientation: landscape) and (max-width: 960px) {
  .mp-promo-bar { display: none; }
  .mp-main-header__inner { min-height: 52px; }
  .mp-header-logo img { height: 31px; }
  .mp-mobile-drawer__header { min-height: 52px; }
  .mp-mobile-drawer__nav > a,
  .mp-mobile-drawer__nav summary { min-height: 44px; }
}

/* ==== home.css ==== */
/* Mini Problems home page — redesigned component layer (1.4.0). */

/* The editable homepage lives in post_content. The Post Content block is only
   a template bridge; removing its box preserves the exact front-end geometry
   of the original front-page template. */
.mp-front-page-content {
  display: contents;
}

.mp-reference-page-content {
  display: contents;
}

/* Preserve the theme block gap that existed between the header and the
   reference-page wrapper before its content moved into post_content. */
.mp-reference-page-content > .mp-reference-page {
  margin-block-start: 32px !important;
}

/* Mini Care previously lived inside an editable-page wrapper whose responsive
   top padding was 28px on desktop and 18px on narrow screens. */
.mp-mini-care-page-content > .mp-reference-page,
.mp-about-page-content > .mp-reference-page {
  margin-block-start: 28px !important;
}

@media (max-width: 781px) {
  .mp-mini-care-page-content > .mp-reference-page,
  .mp-about-page-content > .mp-reference-page {
    margin-block-start: 18px !important;
  }
}

.mp-front-page {
  overflow: clip;
}

.mp-front-page > * {
  margin-block-start: 0;
}

/* Hero */
.mp-front-page .mp-hero {
  min-height: clamp(520px, 46vw, 690px) !important;
  background: #ece8e0;
}

.mp-front-page .mp-hero .wp-block-cover__image-background {
  object-position: center center;
}

.mp-front-page .mp-hero__content {
  width: min(520px, 44vw);
  padding: clamp(34px, 5vw, 72px);
  background: rgba(255, 255, 255, .88);
  backdrop-filter: blur(8px);
  border-radius: 2px;
}

.mp-front-page .mp-hero__title {
  margin: 0;
  font-size: clamp(36px, 4.4vw, 68px);
  line-height: .95;
  letter-spacing: -.045em;
}

.mp-front-page .mp-hero__desc {
  margin: 20px 0 0;
  font-size: clamp(17px, 1.6vw, 23px);
  line-height: 1.42;
}

.mp-front-page .mp-hero__script {
  margin: 16px 0 0;
  font-size: clamp(17px, 1.5vw, 22px);
}

.mp-front-page .mp-hero__actions {
  gap: 10px;
  margin-top: 28px;
}

.mp-front-page .mp-hero__btn .wp-block-button__link {
  min-height: 48px;
  padding: 13px 24px;
  border-radius: 0;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Trust strip */
.mp-front-page .mp-trust {
  padding: 22px var(--mp-gutter);
  border-bottom: 1px solid var(--mp-line);
  background: #fff;
}

.mp-front-page .mp-trust__row {
  width: min(100%, var(--mp-page-width));
  margin-inline: auto;
  gap: 0;
}

.mp-front-page .mp-trust__item {
  flex: 1 1 25%;
  min-width: 0;
  gap: 12px;
  padding: 6px 24px;
  border-right: 1px solid var(--mp-line);
}

.mp-front-page .mp-trust__item:last-child {
  border-right: 0;
}

.mp-front-page .mp-trust__title,
.mp-front-page .mp-trust__desc {
  margin: 0;
}

.mp-front-page .mp-trust__title {
  font-size: 13px;
  letter-spacing: .06em;
}

.mp-front-page .mp-trust__desc {
  color: var(--mp-muted);
  font-size: 12px;
}

/* Shared section heading */
.mp-front-page .mp-front-title {
  margin: 0;
  font-size: clamp(30px, 3vw, 46px);
  line-height: 1;
  letter-spacing: -.035em;
}

.mp-front-page .mp-front-link {
  margin: 0;
  font-size: 14px;
}

.mp-front-page .mp-front-link a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}

/* New products is intentionally placed directly after the trust strip. */
.mp-front-page .mp-new-products {
  padding: clamp(54px, 7vw, 100px) var(--mp-gutter);
  background: #fff;
}

.mp-front-page .mp-new-products__inner {
  width: min(100%, var(--mp-page-width));
}

.mp-front-page .mp-section-head--row {
  margin-bottom: clamp(24px, 3vw, 42px);
}

.mp-front-page .mp-new-products .mp-products-grid ul.wc-block-product-template,
.mp-front-page .mp-new-products .mp-products-grid .wc-block-product-template {
  gap: clamp(16px, 2vw, 30px) !important;
}

.mp-front-page .mp-new-products .mp-product-card {
  height: 100%;
}

.mp-front-page .mp-new-products .mp-product-card__image {
  overflow: hidden;
  aspect-ratio: 4 / 5;
  height: auto !important;
  background: var(--mp-soft);
}

.mp-front-page .mp-new-products .mp-product-card__image img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  transition: transform .35s ease;
}

@media (hover: hover) {
  .mp-front-page .mp-new-products .mp-product-card:hover .mp-product-card__image img {
    transform: scale(1.025);
  }
}

.mp-front-page .mp-new-products .mp-product-card__meta {
  align-items: flex-start;
  gap: 14px;
  padding-top: 14px;
}

.mp-front-page .mp-new-products .mp-product-card__button .wp-block-button__link,
.mp-front-page .mp-new-products .mp-product-card__button .wp-element-button {
  min-width: 44px;
  min-height: 44px;
  border-radius: 50%;
}

/* Gender navigation */
.mp-front-page .mp-gender {
  padding: 0;
}

.mp-front-page .mp-gender__grid {
  gap: 2px;
  margin: 0;
}

.mp-front-page .mp-gender__cover {
  min-height: clamp(430px, 48vw, 680px);
}

.mp-front-page .mp-gender__cover .wp-block-cover__image-background {
  transition: transform .5s ease;
}

@media (hover: hover) {
  .mp-front-page .mp-gender__cover:hover .wp-block-cover__image-background {
    transform: scale(1.02);
  }
}

.mp-front-page .mp-gender__button-area {
  height: 100%;
  align-items: flex-end;
  padding: 0 8% 8% !important;
}

.mp-front-page .mp-gender__button .wp-block-button__link {
  min-height: 48px;
  padding: 13px 22px;
  border-radius: 0;
  background: rgba(255,255,255,.92);
  color: var(--mp-text);
  font-size: 14px;
  font-weight: 700;
}

/* Editorial UPF sections */
.mp-front-page .mp-upf-feature {
  min-height: clamp(560px, 50vw, 720px) !important;
}

.mp-front-page .mp-upf-feature__card {
  width: min(480px, 42vw);
  margin-right: clamp(24px, 7vw, 110px);
  padding: clamp(28px, 4vw, 54px);
  background: rgba(255,255,255,.93);
}

.mp-front-page .mp-upf-feature__card h2 {
  margin-top: 0;
  font-size: clamp(34px, 3.6vw, 54px);
}

.mp-front-page .mp-upf-compare,
.mp-front-page .mp-upf-explain,
.mp-front-page .mp-hits,
.mp-front-page .mp-cheaper,
.mp-front-page .mp-delivery-home,
.mp-front-page .mp-care {
  scroll-margin-top: calc(var(--mp-header-height) + 20px);
}

/* Mobile */
@media (max-width: 781px) {
  .mp-front-page .mp-hero {
    display: flex;
    align-items: flex-end;
    min-height: clamp(520px, 135vw, 690px) !important;
    padding: 0 !important;
  }

  .mp-front-page .mp-hero .wp-block-cover__image-background {
    object-position: 58% center;
  }

  .mp-front-page .mp-hero__content {
    width: calc(100% - 24px);
    margin: 0 12px 12px;
    padding: 24px 20px;
    background: rgba(255,255,255,.94);
  }

  .mp-front-page .mp-hero__title {
    font-size: clamp(34px, 11vw, 52px);
  }

  .mp-front-page .mp-hero__desc br {
    display: none;
  }

  /* WordPress's content pipeline strips a literal space (and even a
   * literal nbsp) placed right before a <br> in saved block content, so a
   * real space character can't survive here to replace the hidden <br>.
   * A wrapping element isn't touched by that, so the gap is added in CSS
   * instead, scoped to this exact breakpoint where the <br> disappears. */
  .mp-front-page .mp-hero__desc-line2 {
    margin-left: 0.3em;
  }

  .mp-front-page .mp-hero__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }

  .mp-front-page .mp-hero__btn,
  .mp-front-page .mp-hero__btn .wp-block-button__link {
    width: 100%;
  }

  .mp-front-page .mp-trust {
    padding: 0;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .mp-front-page .mp-trust::-webkit-scrollbar {
    display: none;
  }

  .mp-front-page .mp-trust__row {
    justify-content: flex-start !important;
    width: max-content;
    min-width: 100%;
  }

  .mp-front-page .mp-trust__item {
    flex: 0 0 auto;
    min-width: 170px;
    padding: 18px 16px;
  }

  .mp-front-page .mp-new-products {
    padding: 44px 14px 54px;
  }

  .mp-front-page .mp-section-head--row {
    align-items: flex-end;
    gap: 16px;
    margin-bottom: 22px;
  }

  .mp-front-page .mp-front-title {
    font-size: 32px;
  }

  .mp-front-page .mp-front-link {
    white-space: nowrap;
    font-size: 12px;
  }

  .mp-front-page .mp-new-products .mp-products-grid ul.wc-block-product-template,
  .mp-front-page .mp-new-products .mp-products-grid .wc-block-product-template {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 10px !important;
  }

  .mp-front-page .mp-new-products .mp-product-card__meta {
    display: block;
    padding-top: 9px;
  }

  .mp-front-page .mp-new-products .mp-product-card__button {
    margin-top: 8px;
  }

  .mp-front-page .mp-new-products .mp-product-card__button .wp-block-button__link,
  .mp-front-page .mp-new-products .mp-product-card__button .wp-element-button {
    width: 100%;
    min-height: 40px;
    border-radius: 0;
  }

  .mp-front-page .mp-gender__grid {
    display: grid;
    grid-template-columns: 1fr;
  }

  .mp-front-page .mp-gender__cover {
    min-height: min(118vw, 560px);
  }

  .mp-front-page .mp-gender__button-area {
    padding: 0 18px 18px !important;
    justify-content: flex-start !important;
  }

  .mp-front-page .mp-upf-feature {
    align-items: flex-end;
    min-height: min(145vw, 680px) !important;
    padding: 0 !important;
  }

  .mp-front-page .mp-upf-feature .wp-block-cover__image-background {
    object-position: 58% center;
  }

  .mp-front-page .mp-upf-feature__card {
    width: calc(100% - 24px);
    margin: 0 12px 12px;
    padding: 24px 20px;
  }

  .mp-cheaper__market-icons {
    justify-content: center;
  }
}

@media (max-width: 430px) {
  .mp-front-page .mp-hero__actions {
    grid-template-columns: 1fr;
  }

  .mp-front-page .mp-new-products .mp-product-card__title {
    font-size: 13px !important;
    line-height: 1.3;
  }
}

/* Mini Problems 2.0.3 — targeted home-page rollback and mobile corrections. */

/* Restore the original brand hero instead of the Canopea-style card treatment. */
.mp-front-page .mp-hero {
  min-height: clamp(390px, 41.667vw, 600px) !important;
  padding-inline: clamp(32px, 6.2vw, 92px) !important;
  align-items: center !important;
}

.mp-front-page .mp-hero .wp-block-cover__image-background {
  object-position: center center !important;
}

.mp-front-page .mp-hero__content {
  width: 100% !important;
  max-width: 575px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  border-radius: 0 !important;
}

.mp-front-page .mp-hero__title {
  font-family: var(--mp-font-body) !important;
  font-size: clamp(48px, 5.1vw, 74px) !important;
  font-weight: 600 !important;
  line-height: .94 !important;
  letter-spacing: .035em !important;
  color: var(--mp-sand-dark) !important;
  text-transform: none !important;
}

.mp-front-page .mp-hero__desc {
  font-size: clamp(18px, 1.78vw, 25px) !important;
  line-height: 1.22 !important;
}

.mp-front-page .mp-hero__script {
  font-family: var(--mp-font-script) !important;
  font-size: clamp(26px, 3vw, 43px) !important;
  line-height: 1 !important;
}

/* Do not force the home products into two narrow columns on phones. */
@media (max-width: 781px) {
  .mp-front-page .mp-new-products .mp-products-grid ul.wc-block-product-template,
  .mp-front-page .mp-new-products .mp-products-grid .wc-block-product-template,
  .mp-front-page .mp-new-products ul.products {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px !important;
  }

  .mp-front-page .mp-new-products .mp-product-card,
  .mp-front-page .mp-new-products li.product {
    width: 100% !important;
    max-width: none !important;
  }

  .mp-front-page .mp-new-products .mp-product-card__meta {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 12px 2px 0 !important;
  }

  .mp-front-page .mp-new-products .mp-product-card__button {
    margin-top: 0 !important;
  }

  .mp-front-page .mp-new-products .mp-product-card__button .wp-block-button__link,
  .mp-front-page .mp-new-products .mp-product-card__button .wp-element-button {
    width: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    border-radius: 50% !important;
    padding: 0 !important;
  }

  /* Original mobile hero order: image first, then text and buttons. */
  .mp-front-page .mp-hero {
    display: grid !important;
    grid-template-rows: minmax(310px, 86vw) auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  .mp-front-page .mp-hero::before {
    content: none !important;
  }

  .mp-front-page .mp-hero .wp-block-cover__image-background {
    position: relative !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: 100% !important;
    object-position: center 28% !important;
  }

  .mp-front-page .mp-hero .wp-block-cover__background {
    display: none !important;
  }

  .mp-front-page .mp-hero .wp-block-cover__inner-container {
    grid-row: 2 !important;
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    background: #fff !important;
  }

  .mp-front-page .mp-hero__content {
    width: 100% !important;
    max-width: none !important;
    padding: 24px 18px 28px !important;
  }

  .mp-front-page .mp-hero__title {
    max-width: 100% !important;
    font-size: clamp(30px, 9.5vw, 42px) !important;
    line-height: .98 !important;
  }

  .mp-front-page .mp-hero__desc {
    max-width: 31rem !important;
    font-size: 17px !important;
  }

  .mp-front-page .mp-hero__script {
    max-width: 31rem !important;
    font-size: clamp(24px, 8vw, 34px) !important;
  }

  .mp-front-page .mp-hero__actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: min(100%, 430px) !important;
    margin-top: 20px !important;
  }

  .mp-front-page .mp-hero__btn,
  .mp-front-page .mp-hero__btn .wp-block-button__link {
    width: 100% !important;
    min-width: 0 !important;
  }

  /* Gender buttons: smaller and lower, away from faces. */
  .mp-front-page .mp-gender__cover {
    min-height: min(110vw, 500px) !important;
  }

  .mp-front-page .mp-gender__button-area {
    height: 100% !important;
    align-items: flex-end !important;
    justify-content: center !important;
    padding: 0 14px 14px !important;
  }

  .mp-front-page .mp-gender__button .wp-block-button__link,
  .mp-front-page .mp-gender__button a {
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 9px 18px !important;
    font-size: 18px !important;
    line-height: 1 !important;
  }

  /* UPF feature: keep the image visible and use a compact readable card. */
  .mp-front-page .mp-upf-feature {
    display: grid !important;
    grid-template-rows: minmax(360px, 104vw) auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: #f7f3ee !important;
  }

  .mp-front-page .mp-upf-feature .wp-block-cover__image-background {
    position: relative !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: 100% !important;
    object-position: 22% center !important;
  }

  .mp-front-page .mp-upf-feature .wp-block-cover__inner-container {
    grid-row: 2 !important;
    width: 100% !important;
    background: #f7f3ee !important;
  }

  .mp-front-page .mp-upf-feature__card {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 28px 22px 34px !important;
    background: #fff !important;
  }

  .mp-front-page .mp-upf-feature__card h2 {
    font-size: 34px !important;
    line-height: 1.05 !important;
  }

  .mp-front-page .mp-upf-feature__lead {
    font-size: 22px !important;
    line-height: 1.25 !important;
  }

  /* Make horizontal table scrolling discoverable. */
  .mp-front-page .mp-cheaper__table-wrap::before {
    content: "Листайте таблицу влево и вправо  ↔";
    display: block;
    margin: 0 0 10px;
    color: var(--mp-primary);
    font-size: 12px;
    letter-spacing: .06em;
    text-align: center;
    text-transform: uppercase;
  }

  .mp-front-page .mp-cheaper__table {
    overflow-x: auto !important;
    scrollbar-width: thin;
    scrollbar-color: var(--mp-primary) rgba(31, 61, 107, .12);
  }

  .mp-front-page .mp-cheaper__table table {
    min-width: 610px !important;
  }

  .mp-front-page .mp-cheaper__table th:first-child,
  .mp-front-page .mp-cheaper__table td:first-child {
    width: 160px !important;
    max-width: 160px !important;
    white-space: normal !important;
  }

  .mp-front-page .mp-cheaper__table th:last-child,
  .mp-front-page .mp-cheaper__table td:last-child {
    width: 130px !important;
    max-width: 130px !important;
    white-space: normal !important;
  }

  /* Delivery is vertical on mobile, so direction arrows must be vertical too. */
  .mp-front-page .mp-delivery-home__steps > p:nth-child(2),
  .mp-front-page .mp-delivery-home__steps > p:nth-child(4),
  .mp-front-page .mp-delivery-home__steps > p:nth-child(6) {
    display: flex !important;
    min-height: 28px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 2px 0 !important;
  }

  .mp-front-page .mp-delivery-home__steps > p:nth-child(2) span,
  .mp-front-page .mp-delivery-home__steps > p:nth-child(4) span,
  .mp-front-page .mp-delivery-home__steps > p:nth-child(6) span {
    display: inline-block !important;
    transform: rotate(90deg) !important;
    transform-origin: center !important;
  }

  /* Loyalty percentage, stars and tier name stay on one row. */
  .mp-front-page .mp-care__level {
    display: grid !important;
    grid-template-columns: auto auto 1fr !important;
    align-items: center !important;
    column-gap: 10px !important;
    row-gap: 10px !important;
  }

  .mp-front-page .mp-care__level > .wp-block-column:nth-child(1),
  .mp-front-page .mp-care__level > .wp-block-column:nth-child(2),
  .mp-front-page .mp-care__level > .wp-block-column:nth-child(3) {
    width: auto !important;
    flex-basis: auto !important;
    margin: 0 !important;
  }

  .mp-front-page .mp-care__level > .wp-block-column:nth-child(4) {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  .mp-front-page .mp-care__level p,
  .mp-front-page .mp-care__level strong,
  .mp-front-page .mp-care__level span,
  .mp-front-page .mp-care__level em {
    margin: 0 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 430px) {
  .mp-front-page .mp-hero__actions {
    grid-template-columns: 1fr 1fr !important;
  }

  .mp-front-page .mp-hero__btn .wp-block-button__link {
    padding-inline: 10px !important;
    font-size: 11px !important;
  }
}

/* Mini Problems 2.1.1 — mobile polish pass. */
@media (max-width: 781px) {
  /* Product cards: stable one-column flow, no squeezed circular CTA beside text. */
  .mp-front-page .mp-new-products .mp-product-card__meta {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 9px !important;
    align-items: start !important;
    padding: 12px 2px 4px !important;
  }

  .mp-front-page .mp-new-products .mp-product-card__meta > .wp-block-group {
    min-width: 0 !important;
    width: 100% !important;
    text-align: center !important;
  }

  .mp-front-page .mp-new-products .mp-product-card__title,
  .mp-front-page .mp-new-products .mp-product-card__price {
    text-align: center !important;
  }

  .mp-front-page .mp-new-products .mp-product-card__button {
    width: 100% !important;
    margin: 0 !important;
  }

  .mp-front-page .mp-new-products .mp-product-card__button .wp-block-button__link,
  .mp-front-page .mp-new-products .mp-product-card__button .wp-element-button {
    display: flex !important;
    width: min(100%, 230px) !important;
    min-width: 0 !important;
    min-height: 42px !important;
    margin-inline: auto !important;
    padding: 10px 18px !important;
    border: 1px solid rgba(31, 61, 107, .28) !important;
    border-radius: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
  }

  .mp-front-page .mp-new-products .wc-block-components-product-sale-badge,
  .mp-front-page .mp-new-products .wc-block-grid__product-onsale,
  .mp-front-page .mp-new-products .onsale {
    top: 12px !important;
    left: 12px !important;
    right: auto !important;
    margin: 0 !important;
  }

  /* Keep gender CTAs in the lower safe zone of each image. */
  .mp-front-page .mp-gender__cover .wp-block-cover__inner-container {
    display: flex !important;
    height: 100% !important;
    align-items: flex-end !important;
    justify-content: center !important;
  }

  .mp-front-page .mp-gender__button-area {
    width: 100% !important;
    padding: 0 14px 18px !important;
    align-items: flex-end !important;
    justify-content: center !important;
  }

  .mp-front-page .mp-gender__button .wp-block-button__link,
  .mp-front-page .mp-gender__button a {
    min-height: 40px !important;
    padding: 8px 16px !important;
    font-size: 17px !important;
    background: rgba(255, 255, 255, .84) !important;
  }

  /* One clear direction arrow between delivery steps. */
  .mp-front-page .mp-delivery-home__steps > p:nth-child(2) span,
  .mp-front-page .mp-delivery-home__steps > p:nth-child(4) span,
  .mp-front-page .mp-delivery-home__steps > p:nth-child(6) span {
    width: 18px !important;
    height: 18px !important;
    overflow: hidden !important;
    color: transparent !important;
    transform: none !important;
    position: relative !important;
  }

  .mp-front-page .mp-delivery-home__steps > p:nth-child(2) span::after,
  .mp-front-page .mp-delivery-home__steps > p:nth-child(4) span::after,
  .mp-front-page .mp-delivery-home__steps > p:nth-child(6) span::after {
    content: "↓";
    position: absolute;
    inset: 0;
    color: #c7a056;
    font-size: 20px;
    line-height: 18px;
    text-align: center;
  }

  /* Loyalty header line stays readable; description moves below it. */
  .mp-front-page .mp-care__level {
    grid-template-columns: auto auto minmax(0, 1fr) !important;
    column-gap: 8px !important;
  }

  .mp-front-page .mp-care__level > .wp-block-column:nth-child(3) {
    min-width: 0 !important;
  }

  .mp-front-page .mp-care__level > .wp-block-column:nth-child(3) p,
  .mp-front-page .mp-care__level > .wp-block-column:nth-child(3) em {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

/* ==== catalog.css ==== */
/**
 * Mini Problems catalogue — aligned to the supplied Canopea collection HTML.
 * The mapping is behavioural and visual; WooCommerce remains the data source.
 */

:root {
  --mp-catalog-columns-mobile: 2;
  --mp-catalog-columns-desktop: 3;
  --mp-catalog-image-ratio: 660 / 815;
  --mp-catalog-x-gap: clamp(10px, 1.7vw, 24px);
  --mp-catalog-y-gap: clamp(34px, 4vw, 58px);
  --mp-catalog-line: rgba(21, 32, 37, .18);
  --mp-catalog-ink: #19282e;
  --mp-catalog-muted: rgba(25, 40, 46, .62);
}

.post-type-archive-product #primary,
.tax-product_cat #primary,
.tax-product_tag #primary,
.woocommerce.search #primary {
  width: min(100% - 40px, 1440px);
  max-width: none;
  margin-inline: auto;
  padding-block: clamp(22px, 3vw, 46px) 76px;
}

.mp-catalog-heading {
  margin-bottom: clamp(22px, 3vw, 42px);
  text-align: center;
}

.mp-catalog-heading .woocommerce-breadcrumb,
.mp-catalog-heading .wc-block-breadcrumbs {
  margin: 0 0 12px;
  color: var(--mp-catalog-muted);
  font-size: 11px;
  letter-spacing: .04em;
}

.mp-catalog-heading h1,
.mp-catalog-heading .wp-block-query-title {
  margin: 0;
  color: var(--mp-catalog-ink);
  font-family: var(--mp-font-body);
  font-size: clamp(28px, 3.2vw, 48px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.02em;
}

.mp-catalog-heading .term-description {
  width: min(680px, 100%);
  margin: 15px auto 0;
  color: var(--mp-catalog-muted);
  font-size: 13px;
  line-height: 1.6;
}

/* Canopea: one two-part collection toolbar, visible on every viewport. */
.mp-collection-toolbar {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0 0 clamp(28px, 4vw, 52px);
  border-top: 1px solid var(--mp-catalog-line);
  border-bottom: 1px solid var(--mp-catalog-line);
}

.mp-collection-toolbar__button,
.mp-collection-toolbar__sort {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--mp-catalog-ink);
  font-family: var(--mp-font-body);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.mp-collection-toolbar__button {
  border-right: 1px solid var(--mp-catalog-line);
  cursor: pointer;
}

.mp-collection-toolbar__button:hover,
.mp-collection-toolbar__button:focus-visible,
.mp-collection-toolbar__sort:focus-within {
  background: rgba(25, 40, 46, .035);
}

.mp-collection-toolbar__sort-label {
  pointer-events: none;
}

.mp-collection-toolbar__sort::after {
  width: 7px;
  height: 7px;
  margin: -4px 0 0 10px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  content: "";
  pointer-events: none;
  transform: rotate(45deg);
}

.mp-collection-toolbar__sort select {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  opacity: 0;
}

.mp-catalog-native-toolbar {
  min-height: 0;
  margin: -34px 0 22px;
}

.mp-catalog-native-toolbar .wp-block-woocommerce-catalog-sorting,
.mp-catalog-native-toolbar .woocommerce-ordering {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.mp-catalog-native-toolbar .woocommerce-result-count,
.mp-catalog-native-toolbar .wc-block-components-product-results-count {
  margin: 0;
  color: var(--mp-catalog-muted);
  font-size: 11px;
}

/* Filter content is always a drawer, matching the reference filter control. */
.mp-catalog-layout__sidebar {
  position: fixed !important;
  top: 0;
  left: 0;
  z-index: 100002;
  width: min(92vw, 430px) !important;
  height: 100dvh;
  margin: 0 !important;
  overflow-y: auto;
  padding: 0 30px 40px;
  background: #fff;
  box-shadow: 16px 0 50px rgba(20, 32, 38, .14);
  transform: translateX(-105%);
  transition: transform .28s ease;
}

body.mp-catalog-drawer-open {
  overflow: hidden;
}

body.mp-catalog-drawer-open .mp-catalog-layout__sidebar {
  transform: translateX(0);
}

.mp-catalog-drawer__head {
  position: sticky;
  top: 0;
  z-index: 4;
  display: flex;
  min-height: 72px;
  align-items: center;
  justify-content: space-between;
  margin: 0 -30px 26px;
  padding: 0 30px;
  border-bottom: 1px solid var(--mp-catalog-line);
  background: #fff;
}

.mp-catalog-drawer__title {
  margin: 0;
  color: var(--mp-catalog-ink);
  font-size: 18px;
  font-weight: 400;
}

.mp-catalog-drawer__close {
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--mp-catalog-ink);
  font-size: 0;
  cursor: pointer;
}

.mp-catalog-drawer__close::before,
.mp-catalog-drawer__close::after {
  position: absolute;
  width: 18px;
  height: 1px;
  margin-left: -9px;
  background: currentColor;
  content: "";
}

.mp-catalog-drawer__close::before { transform: rotate(45deg); }
.mp-catalog-drawer__close::after { transform: rotate(-45deg); }

.mp-catalog-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100001;
  visibility: hidden;
  padding: 0;
  border: 0;
  background: rgba(16, 27, 32, .42);
  opacity: 0;
  transition: opacity .24s ease, visibility .24s ease;
}

body.mp-catalog-drawer-open .mp-catalog-backdrop {
  visibility: visible;
  opacity: 1;
}

.mp-catalog-filters {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.mp-catalog-filters__title { display: none; }

.mp-catalog-filters > .wp-block-woocommerce-filter-wrapper,
.mp-catalog-filters > .wp-block-group,
.mp-catalog-filters > .mp-catalog-gender-filter,
.mp-catalog-filters > .mp-catalog-size-filter {
  padding: 0 0 24px;
  border-bottom: 1px solid var(--mp-catalog-line);
}

.mp-catalog-filters > * + * { margin-top: 24px; }

.mp-catalog-filters h3,
.mp-catalog-filters__heading {
  margin: 0 0 15px;
  color: var(--mp-catalog-ink);
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mp-catalog-filters ul,
.mp-catalog-filters .wc-block-product-categories-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mp-catalog-filters li + li { margin-top: 10px; }

.mp-catalog-filters a {
  color: var(--mp-catalog-ink);
  font-size: 13px;
  line-height: 1.45;
  text-decoration: none;
}

.mp-catalog-gender-filter__list a,
.mp-catalog-size-filter__list a {
  display: flex;
  align-items: center;
  gap: 10px;
}

.mp-catalog-gender-filter__list a > span,
.mp-catalog-size-filter__list a > span {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  border: 1px solid rgba(25, 40, 46, .4);
  background: #fff;
}

.mp-catalog-gender-filter__list a.is-active > span,
.mp-catalog-size-filter__list a.is-active > span {
  border-color: var(--mp-catalog-ink);
  box-shadow: inset 0 0 0 3px #fff;
  background: var(--mp-catalog-ink);
}

.mp-catalog-layout__products { min-width: 0; }

.mp-catalog-layout__products .wc-block-product-template,
.mp-catalog-layout__products .wp-block-woocommerce-product-template,
.mp-catalog-layout__products ul.products,
.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products,
.woocommerce.search ul.products {
  display: grid !important;
  grid-template-columns: repeat(var(--mp-catalog-columns-desktop), minmax(0, 1fr)) !important;
  gap: var(--mp-catalog-y-gap) var(--mp-catalog-x-gap) !important;
  margin: 0 !important;
  padding: 0 !important;
}

.mp-catalog-layout__products .wc-block-product,
.mp-catalog-layout__products .wp-block-post,
.mp-catalog-layout__products ul.products li.product,
.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product,
.woocommerce.search ul.products li.product {
  position: relative;
  display: block !important;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: center;
}

/* Product figure / media. */
.mp-catalog-layout__products .wc-block-components-product-image,
.mp-catalog-layout__products .wp-block-woocommerce-product-image,
.mp-catalog-layout__products ul.products li.product a.woocommerce-LoopProduct-link {
  position: relative;
  display: block;
  margin: 0 0 14px !important;
  overflow: hidden;
  aspect-ratio: var(--mp-catalog-image-ratio);
  background: #f4f3f0;
}

.mp-catalog-layout__products .wc-block-components-product-image a,
.mp-catalog-layout__products .wp-block-woocommerce-product-image a {
  position: absolute;
  inset: 0;
  display: block;
}

.mp-catalog-layout__products .wc-block-components-product-image img,
.mp-catalog-layout__products .wp-block-woocommerce-product-image img,
.mp-catalog-layout__products ul.products li.product img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover;
}

.mp-catalog-primary-image,
.mp-catalog-secondary-image {
  position: absolute;
  inset: 0;
  transition: opacity .36s ease;
}

.mp-catalog-secondary-image { opacity: 0; }

@media (hover: hover) and (pointer: fine) {
  .mp-catalog-layout__products .wc-block-product:hover .mp-catalog-primary-image,
  .mp-catalog-layout__products .wp-block-post:hover .mp-catalog-primary-image { opacity: 0; }

  .mp-catalog-layout__products .wc-block-product:hover .mp-catalog-secondary-image,
  .mp-catalog-layout__products .wp-block-post:hover .mp-catalog-secondary-image { opacity: 1; }
}

/* Size selector: over the lower image edge, as in the supplied HTML. */
.mp-catalog-size-selector {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 5;
  display: flex;
  max-height: 52%;
  flex-wrap: wrap;
  align-content: flex-end;
  justify-content: center;
  gap: 6px;
  padding: 18px 12px 12px;
  background: linear-gradient(to top, rgba(255,255,255,.98) 0%, rgba(255,255,255,.9) 70%, rgba(255,255,255,0) 100%);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity .22s ease, transform .22s ease;
}

.mp-catalog-size-selector.is-open {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

@media (hover: hover) and (pointer: fine) {
  .mp-catalog-layout__products .wc-block-product:hover .mp-catalog-size-selector,
  .mp-catalog-layout__products .wp-block-post:hover .mp-catalog-size-selector {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }
}

/* Touch devices do not have a reliable hover state. Keep the size controls
   visible and interactive instead of leaving an invisible overlay above them. */
@media (hover: none), (pointer: coarse) {
  .mp-catalog-size-selector {
    position: static;
    max-height: none;
    margin-top: 10px;
    padding: 8px 4px 0;
    background: transparent;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }
}

.mp-catalog-size-form { margin: 0; }

.mp-catalog-size-button {
  display: inline-flex;
  box-sizing: border-box;
  width: 38px;
  min-width: 38px;
  height: 38px;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border: 1px solid rgba(25, 40, 46, .35);
  border-radius: 50%;
  background: #fff;
  color: var(--mp-catalog-ink);
  font: inherit;
  font-size: 10px;
  line-height: 1;
  cursor: pointer;
}

.mp-catalog-size-button:hover,
.mp-catalog-size-button:focus-visible {
  border-color: var(--mp-catalog-ink);
  background: var(--mp-catalog-ink);
  color: #fff;
}

.mp-catalog-size-button.is-disabled {
  background: #F2F2F2;
  color: #A6A6A6;
  border-color: #D9D9D9;
  cursor: not-allowed;
}

.mp-catalog-card__details {
  display: inline-block;
  margin: 10px 0 0;
  padding: 6px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(25, 40, 46, .3);
  color: var(--mp-catalog-ink);
  font-size: 11px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.mp-catalog-card__details:hover {
  border-color: var(--mp-catalog-ink);
}

/* Quick add is the small plus from the reference, not a full-width button. */
.mp-catalog-layout__products .wp-block-button,
.mp-catalog-layout__products .wc-block-components-product-button {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 7;
  width: 34px !important;
  height: 34px;
  margin: 0 !important;
}

.mp-catalog-layout__products .wp-block-button__link,
.mp-catalog-layout__products .wc-block-components-product-button__button,
.mp-catalog-layout__products ul.products li.product .button {
  position: relative;
  display: block !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  overflow: hidden;
  padding: 0 !important;
  border: 1px solid rgba(25, 40, 46, .3) !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.94) !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  box-shadow: none !important;
}

.mp-catalog-layout__products .wp-block-button__link::before,
.mp-catalog-layout__products .wp-block-button__link::after,
.mp-catalog-layout__products .wc-block-components-product-button__button::before,
.mp-catalog-layout__products .wc-block-components-product-button__button::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 1px;
  background: var(--mp-catalog-ink);
  content: "";
  transform: translate(-50%, -50%);
}

.mp-catalog-layout__products .wp-block-button__link::after,
.mp-catalog-layout__products .wc-block-components-product-button__button::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

/* Product information: centred, compact and unboxed. */
.mp-catalog-layout__products .wp-block-post-title,
.mp-catalog-layout__products .wp-block-post-title a,
.mp-catalog-layout__products .woocommerce-loop-product__title {
  min-height: 0;
  margin: 0 0 5px !important;
  padding: 0 !important;
  color: var(--mp-catalog-ink) !important;
  font-family: var(--mp-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  letter-spacing: .06em;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase;
}

.mp-catalog-layout__products .wc-block-components-product-price,
.mp-catalog-layout__products .wp-block-woocommerce-product-price,
.mp-catalog-layout__products .price {
  margin: 0 !important;
  color: var(--mp-catalog-ink) !important;
  font-family: var(--mp-font-body) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-align: center !important;
}

.mp-catalog-layout__products .wc-block-components-product-price del,
.mp-catalog-layout__products .price del {
  margin-left: 7px;
  color: var(--mp-catalog-muted) !important;
  opacity: 1;
}

.mp-catalog-layout__products .wc-block-components-product-price ins,
.mp-catalog-layout__products .price ins {
  color: #9f343c;
  text-decoration: none;
}

/* Colour bubbles from pa_color. */
.mp-catalog-swatches {
  display: flex;
  min-height: 18px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 9px;
}

.mp-catalog-swatch {
  display: block;
  width: 13px;
  height: 13px;
  overflow: hidden;
  border: 1px solid rgba(25, 40, 46, .22);
  border-radius: 50%;
  background: var(--mp-swatch, #ddd);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.6);
}

.mp-catalog-swatch img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mp-catalog-layout__products .wc-block-components-product-sale-badge,
.mp-catalog-layout__products .onsale {
  top: 10px !important;
  right: auto !important;
  left: 10px !important;
  min-width: 0;
  min-height: 0;
  padding: 6px 8px;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: var(--mp-catalog-ink);
  font-size: 9px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mp-catalog-layout__products .wp-block-query-pagination,
.mp-catalog-layout__products .wc-block-pagination {
  grid-column: 1 / -1;
  margin-top: 48px;
}

.mp-empty-state {
  padding: 42px 24px;
  border: 1px solid var(--mp-catalog-line);
  background: #fff;
  text-align: center;
}

@media (max-width: 999px) {
  .post-type-archive-product #primary,
  .tax-product_cat #primary,
  .tax-product_tag #primary,
  .woocommerce.search #primary {
    width: min(100% - 24px, 1440px);
  }

  .mp-catalog-layout__products .wc-block-product-template,
  .mp-catalog-layout__products .wp-block-woocommerce-product-template,
  .mp-catalog-layout__products ul.products,
  .post-type-archive-product ul.products,
  .tax-product_cat ul.products,
  .tax-product_tag ul.products,
  .woocommerce.search ul.products {
    grid-template-columns: repeat(var(--mp-catalog-columns-mobile), minmax(0, 1fr)) !important;
  }
}

@media (max-width: 699px) {
  .post-type-archive-product #primary,
  .tax-product_cat #primary,
  .tax-product_tag #primary,
  .woocommerce.search #primary {
    width: min(100% - 16px, 1440px);
    padding-top: 18px;
  }

  .mp-catalog-heading { margin-bottom: 20px; }
  .mp-catalog-heading .woocommerce-breadcrumb,
  .mp-catalog-heading .wc-block-breadcrumbs { display: none; }

  .mp-collection-toolbar { margin-bottom: 28px; }
  .mp-collection-toolbar__button,
  .mp-collection-toolbar__sort { min-height: 46px; font-size: 10px; }

  .mp-catalog-native-toolbar { margin: -18px 0 18px; }

  .mp-catalog-layout__products .wc-block-product-template,
  .mp-catalog-layout__products .wp-block-woocommerce-product-template,
  .mp-catalog-layout__products ul.products,
  .post-type-archive-product ul.products,
  .tax-product_cat ul.products,
  .tax-product_tag ul.products,
  .woocommerce.search ul.products {
    gap: 32px 8px !important;
  }

  .mp-catalog-layout__products .wc-block-components-product-image,
  .mp-catalog-layout__products .wp-block-woocommerce-product-image { margin-bottom: 10px !important; }

  .mp-catalog-layout__products .wp-block-post-title,
  .mp-catalog-layout__products .wp-block-post-title a,
  .mp-catalog-layout__products .woocommerce-loop-product__title {
    font-size: 11px !important;
  }

  .mp-catalog-layout__products .wc-block-components-product-price,
  .mp-catalog-layout__products .wp-block-woocommerce-product-price,
  .mp-catalog-layout__products .price { font-size: 10px !important; }

  .mp-catalog-layout__products .wp-block-button,
  .mp-catalog-layout__products .wc-block-components-product-button {
    right: 7px;
    width: 31px !important;
    height: 31px;
  }

  .mp-catalog-layout__products .wp-block-button__link,
  .mp-catalog-layout__products .wc-block-components-product-button__button {
    width: 31px !important;
    min-width: 31px !important;
    height: 31px !important;
    min-height: 31px !important;
  }

  .mp-catalog-size-selector {
    gap: 4px;
    padding: 20px 6px 7px;
  }

  .mp-catalog-size-button {
    min-width: 31px;
    min-height: 27px;
    padding: 4px 5px;
    font-size: 9px;
  }

  .mp-catalog-layout__sidebar {
    width: min(94vw, 400px) !important;
    padding-inline: 22px;
  }

  .mp-catalog-drawer__head {
    margin-inline: -22px;
    padding-inline: 22px;
  }
}

@media (orientation: landscape) and (max-height: 560px) and (max-width: 950px) {
  .mp-catalog-layout__sidebar { width: min(62vw, 460px) !important; }
  .mp-catalog-drawer__head { min-height: 58px; margin-bottom: 16px; }
  .mp-catalog-size-selector { max-height: 65%; }
}

@media (prefers-reduced-motion: reduce) {
  .mp-catalog-layout__sidebar,
  .mp-catalog-backdrop,
  .mp-catalog-primary-image,
  .mp-catalog-secondary-image,
  .mp-catalog-size-selector { transition: none !important; }
}

/* --------------------------------------------------------------------------
 * Canopea reference pass 2.0: mobile collection exact-density layer.
 * -------------------------------------------------------------------------- */
@media (max-width: 699px) {
  .post-type-archive-product #primary,
  .tax-product_cat #primary,
  .tax-product_tag #primary,
  .woocommerce.search #primary {
    width: 100%;
    padding-top: 18px;
    overflow: hidden;
  }

  .mp-catalog-heading {
    width: calc(100% - 40px);
    margin-inline: auto;
    margin-bottom: 24px;
  }

  .mp-catalog-heading h1,
  .mp-catalog-heading .wp-block-query-title {
    font-size: 24px;
    letter-spacing: .01em;
  }

  .mp-collection-toolbar {
    width: 100%;
    margin-bottom: 24px;
  }

  .mp-collection-toolbar__button,
  .mp-collection-toolbar__sort {
    min-height: 42px;
    font-size: 10px;
    letter-spacing: .13em;
  }

  .mp-catalog-native-toolbar {
    width: calc(100% - 40px);
    margin-inline: auto;
  }

  .mp-catalog-layout__products .wc-block-product-template,
  .mp-catalog-layout__products .wp-block-woocommerce-product-template,
  .mp-catalog-layout__products ul.products,
  .post-type-archive-product ul.products,
  .tax-product_cat ul.products,
  .tax-product_tag ul.products,
  .woocommerce.search ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 30px 1px !important;
    width: 100%;
    margin: 0 !important;
  }

  .mp-catalog-layout__products .wc-block-product,
  .mp-catalog-layout__products .product,
  .post-type-archive-product ul.products li.product,
  .tax-product_cat ul.products li.product,
  .tax-product_tag ul.products li.product,
  .woocommerce.search ul.products li.product {
    min-width: 0;
    padding: 0 0 4px !important;
  }

  .mp-catalog-layout__products .wc-block-components-product-image,
  .mp-catalog-layout__products .wp-block-woocommerce-product-image,
  .mp-catalog-layout__products li.product > a:first-child,
  .post-type-archive-product ul.products li.product > a:first-child {
    margin-bottom: 9px !important;
  }

  .mp-catalog-layout__products .wc-block-components-product-image img,
  .mp-catalog-layout__products .wp-block-woocommerce-product-image img,
  .mp-catalog-layout__products li.product img,
  .post-type-archive-product ul.products li.product img {
    width: 100% !important;
    aspect-ratio: 660 / 815 !important;
    object-fit: cover !important;
  }

  .mp-catalog-layout__products .wp-block-post-title,
  .mp-catalog-layout__products .wp-block-post-title a,
  .mp-catalog-layout__products .woocommerce-loop-product__title {
    margin-inline: 8px !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
    letter-spacing: .10em;
  }

  .mp-catalog-layout__products .wc-block-components-product-price,
  .mp-catalog-layout__products .wp-block-woocommerce-product-price,
  .mp-catalog-layout__products .price {
    margin-inline: 8px !important;
    font-size: 10px !important;
  }

  .mp-catalog-swatches {
    gap: 6px;
    margin-top: 7px;
  }

  .mp-catalog-swatch {
    width: 11px;
    height: 11px;
  }

  .mp-catalog-layout__products .wp-block-button,
  .mp-catalog-layout__products .wc-block-components-product-button {
    right: 8px;
    bottom: 8px;
    width: 30px !important;
    height: 30px;
  }

  .mp-catalog-layout__products .wp-block-button__link,
  .mp-catalog-layout__products .wc-block-components-product-button__button {
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
  }

  .mp-catalog-size-selector {
    padding: 18px 5px 6px;
    background: rgba(255, 255, 255, .94);
  }

  .mp-catalog-size-button {
    min-width: 29px;
    min-height: 25px;
    padding: 3px 4px;
    border: 0;
    background: transparent;
    font-size: 9px;
  }

  .mp-catalog-layout__products .wc-block-components-product-sale-badge,
  .mp-catalog-layout__products .onsale {
    top: 7px !important;
    left: 7px !important;
    padding: 5px 6px;
    font-size: 8px;
  }
}

/* 2.0.1: reliable mobile filter actions. */
.mp-catalog-drawer__actions {
  position: sticky;
  bottom: 0;
  z-index: 6;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  margin: 28px -30px -40px;
  padding: 14px 30px calc(14px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--mp-catalog-line);
  background: rgba(255, 255, 255, .98);
}

.mp-catalog-drawer__apply {
  min-height: 46px;
  padding: 10px 18px;
  border: 1px solid var(--mp-catalog-ink);
  border-radius: 0;
  background: var(--mp-catalog-ink);
  color: #fff;
  font: inherit;
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
}

.mp-catalog-drawer__reset {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 10px 4px;
  color: var(--mp-catalog-ink);
  font-size: 11px !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
/* Catalogue quick view. It reuses the server-rendered WooCommerce variations. */
body.mp-quick-view-open { overflow: hidden; }
.mp-quick-view[hidden] { display: none !important; }
.mp-quick-view { position: fixed; z-index: 100050; inset: 0; display: grid; place-items: center; padding: 24px; }
.mp-quick-view__backdrop { position: absolute; inset: 0; background: rgba(10, 23, 42, .62); }
.mp-quick-view__dialog { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr); width: min(920px, calc(100vw - 48px)); max-height: calc(100vh - 48px); overflow: auto; background: #fff; box-shadow: 0 24px 70px rgba(0, 0, 0, .2); }
.mp-quick-view__close { position: absolute; z-index: 2; top: 12px; right: 14px; width: 38px; height: 38px; padding: 0; border: 0; background: transparent; color: var(--mp-primary); font-size: 30px; line-height: 1; cursor: pointer; }
.mp-quick-view__media { min-height: 520px; background: #f5f5f3; }
.mp-quick-view__media img { display: block; width: 100%; height: 100%; min-height: 520px; object-fit: cover; }
.mp-quick-view__content { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; padding: 54px 44px 38px; text-align: center; }
.mp-quick-view__content h2 { margin: 0 0 14px; color: var(--mp-primary); font-size: clamp(22px, 2.2vw, 30px); line-height: 1.2; text-transform: uppercase; }
.mp-quick-view__price { margin-bottom: 28px; font-size: 18px; }
.mp-quick-view__label { margin: 0 0 12px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.mp-quick-view__sizes { width: 100%; }
.mp-quick-view__loading { margin: 0 0 20px; color: #6f7885; font-size: 13px; }
.mp-quick-view__attribute { display: grid; grid-template-columns: 110px minmax(0, 1fr); align-items: center; gap: 12px; margin-bottom: 12px; text-align: left; }
.mp-quick-view__attribute > span { color: var(--mp-primary); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.mp-quick-view__attribute select { width: 100%; min-height: 44px; padding: 8px 34px 8px 12px; border: 1px solid #c8d0dc; border-radius: 0; background-color: #fff; color: var(--mp-primary); }
.mp-quick-view__sizes .mp-catalog-size-selector { position: static !important; display: flex !important; flex-wrap: wrap; justify-content: center; gap: 9px; width: 100% !important; margin: 0 0 22px !important; padding: 0 !important; opacity: 1 !important; visibility: visible !important; transform: none !important; background: transparent !important; box-shadow: none !important; transition: none !important; max-height: none !important; pointer-events: auto !important; }
.mp-quick-view__sizes .mp-catalog-size-form { margin: 0 !important; }
.mp-quick-view__sizes .mp-catalog-size-button { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 6px 10px; border: 1px solid #c8d0dc; border-radius: 50%; background: #fff; color: var(--mp-primary); cursor: pointer; }
.mp-quick-view__sizes .mp-catalog-size-button.is-selected { border-color: var(--mp-primary); background: var(--mp-primary); color: #fff; }
.mp-quick-view__sizes .mp-catalog-size-button.is-disabled { background: #F2F2F2; color: #A6A6A6; border-color: #D9D9D9; cursor: not-allowed; }
.mp-quick-view__quantity { display: grid; grid-template-columns: 42px 58px 42px; align-items: center; margin: 0 auto 20px; border: 1px solid #d6dce4; }
.mp-quick-view__quantity button { height: 42px; padding: 0; border: 0; background: transparent; color: var(--mp-primary); font-size: 20px; cursor: pointer; }
.mp-quick-view__quantity output { font-size: 15px; }
.mp-quick-view__actions { display: flex; flex-direction: column; gap: 10px; width: 100%; }
.mp-quick-view__add,
.mp-quick-view__buy-now { width: 100%; min-height: 46px; border-radius: 0; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.mp-quick-view__add { border: 1px solid var(--mp-primary); background: #fff; color: var(--mp-primary); }
.mp-quick-view__buy-now { border: 1px solid var(--mp-primary); background: var(--mp-primary); color: #fff; }
.mp-quick-view__add:disabled,
.mp-quick-view__buy-now:disabled { cursor: not-allowed; opacity: .42; }
.mp-quick-view__details { margin-top: 18px; color: var(--mp-primary); font-size: 13px; text-underline-offset: 4px; }

@media (max-width: 781px) {
  .mp-quick-view { padding: 14px; }
  .mp-quick-view__dialog { grid-template-columns: 1fr; width: min(440px, calc(100vw - 28px)); max-height: calc(100dvh - 28px); }
  .mp-quick-view__media { min-height: 0; height: min(52vw, 310px); }
  .mp-quick-view__media img { min-height: 0; height: 100%; object-position: center 24%; }
  .mp-quick-view__content { padding: 28px 22px 26px; }
  .mp-quick-view__price { margin-bottom: 18px; }
  .mp-quick-view__attribute { grid-template-columns: 92px minmax(0, 1fr); }
}

/* ==== product.css ==== */
/* Single product page — component layer. */

body.single-product .mp-single-product-page {
	padding-top: clamp(18px, 3vw, 42px);
	padding-bottom: clamp(56px, 7vw, 112px);
}

body.single-product .mp-single-product-page > .woocommerce-breadcrumb,
body.single-product .mp-single-product-page > .wc-block-breadcrumbs {
	margin-bottom: 22px;
	font-size: 13px;
	color: #777;
}

body.single-product .mp-product-summary {
	gap: clamp(32px, 5vw, 80px);
	align-items: flex-start;
	margin-top: 0;
	margin-bottom: clamp(48px, 7vw, 96px);
}

body.single-product .mp-product-summary__media {
	min-width: 0;
	position: sticky;
	top: 108px;
}

body.single-product .mp-product-summary__content {
	min-width: 0;
	padding-top: 4px;
}

body.single-product .mp-product-summary__content h1 {
	margin: 0 0 14px;
	font-size: clamp(30px, 4vw, 50px);
	line-height: 1.04;
	letter-spacing: -0.035em;
	font-weight: 500;
}

body.single-product .mp-product-summary__content .wc-block-components-product-rating {
	margin: 0 0 18px;
}

body.single-product .mp-product-summary__content .wp-block-woocommerce-product-price,
body.single-product .mp-product-summary__content .wc-block-components-product-price {
	margin: 0 0 22px;
	font-size: clamp(22px, 2.5vw, 30px);
	font-weight: 600;
}

body.single-product .mp-product-summary__content .wp-block-post-excerpt {
	margin: 0 0 24px;
	font-size: 16px;
	line-height: 1.65;
	color: #555;
}

body.single-product .wc-block-add-to-cart-form,
body.single-product form.cart {
	margin: 26px 0 0;
}

body.single-product form.cart .variations {
	width: 100%;
	margin: 0 0 18px;
	border: 0;
}

body.single-product form.cart .variations tr {
	display: grid;
	gap: 8px;
	margin-bottom: 18px;
}

body.single-product form.cart .variations th,
body.single-product form.cart .variations td {
	display: block;
	padding: 0;
	text-align: left;
	border: 0;
}

body.single-product form.cart .variations label {
	font-size: 14px;
	font-weight: 600;
}

body.single-product form.cart select {
	width: 100%;
	min-height: 50px;
	padding: 0 44px 0 15px;
	border: 1px solid #d9d9d9;
	border-radius: 0;
	background-color: #fff;
	font: inherit;
}

body.single-product form.cart .reset_variations {
	display: inline-block;
	margin-top: 8px;
	font-size: 13px;
	color: #777;
}

body.single-product form.cart .woocommerce-variation-price {
	margin: 0 0 14px;
	font-size: 20px;
	font-weight: 600;
}

/* This product's price is already shown above the size selector, so
   WooCommerce leaves .woocommerce-variation-price/-description/-availability
   empty for every variation here - but an empty element still keeps its
   margin-bottom, leaving a blank ~14px gap before the quantity/cart row on
   every single product page regardless of screen size. */
body.single-product form.cart .woocommerce-variation-price:empty,
body.single-product form.cart .woocommerce-variation-description:empty,
body.single-product form.cart .woocommerce-variation-availability:empty {
	margin: 0;
}

/* WooCommerce core gives the wrapping .woocommerce-variation element its own
   ~32px margin-bottom regardless of whether the three fields above are
   empty. Every variation on this site leaves them empty (price is already
   shown above the size selector, and no per-variation description/
   availability text is used), so this wrapper never has visible content
   either - safe to zero out unconditionally rather than per-child. */
body.single-product form.cart .woocommerce-variation.single_variation {
	margin-bottom: 0;
}

body.single-product form.cart .quantity {
	margin-right: 10px;
}

body.single-product form.cart .qty {
	width: 72px;
	min-height: 52px;
	border: 1px solid #d9d9d9;
	border-radius: 0;
	text-align: center;
}

body.single-product form.cart .single_add_to_cart_button,
body.single-product .wc-block-add-to-cart-form .single_add_to_cart_button {
	min-height: 52px;
	padding: 0 28px;
	border: 1px solid #111;
	border-radius: 0;
	background: #111;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .02em;
	transition: background-color .2s ease, color .2s ease;
}

body.single-product form.cart .single_add_to_cart_button:hover,
body.single-product .wc-block-add-to-cart-form .single_add_to_cart_button:hover {
	background: #fff;
	color: #111;
}

/* Fix #3 (client spec): "Buy now" next to "Add to cart" - kept visually
   secondary (outline vs. filled) since Add to cart stays the primary
   action, matching the client's own ordering (cart, then buy now). */
body.single-product .woocommerce-variation-add-to-cart,
body.single-product .wc-block-add-to-cart-form form.cart {
	flex-wrap: wrap;
}

/* iteration-1.css loads after this file and sets
   body.single-product form.cart .single_add_to_cart_button { background:
   var(--mp-primary) !important; ... } - higher specificity than a bare
   .mp-buy-now-button class, so it would win regardless of !important here.
   Matching its own selector and adding the extra class is what actually
   wins the cascade. */
body.single-product form.cart .single_add_to_cart_button.mp-buy-now-button {
	background: #fff !important;
	border-color: var(--mp-primary, #1f3d6b) !important;
	color: var(--mp-primary, #1f3d6b) !important;
}

body.single-product form.cart .single_add_to_cart_button.mp-buy-now-button:hover {
	background: var(--mp-primary, #1f3d6b) !important;
	color: #fff !important;
}

body.single-product .woocommerce-product-gallery {
	width: 100% !important;
}

body.single-product .woocommerce-product-gallery__wrapper {
	margin: 0;
}

body.single-product .woocommerce-product-gallery__image a {
	display: block;
	background: #f5f5f3;
}

body.single-product .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

body.single-product .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 12px 0 0 !important;
	padding: 0;
	list-style: none;
}

body.single-product .flex-control-thumbs li {
	width: auto !important;
	float: none !important;
}

body.single-product .flex-control-thumbs img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	opacity: .58;
	cursor: pointer;
	transition: opacity .2s ease;
}

body.single-product .flex-control-thumbs img.flex-active,
body.single-product .flex-control-thumbs img:hover {
	opacity: 1;
}

.mp-product-specs {
	margin: 26px 0 22px;
	padding: 22px 0;
	border-top: 1px solid #e7e7e7;
	border-bottom: 1px solid #e7e7e7;
}

.mp-product-specs__title {
	margin: 0 0 15px;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .08em;
}

.mp-product-specs__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mp-product-specs__item {
	display: flex;
	gap: 10px;
	min-width: 0;
}

.mp-product-specs__icon {
	width: 6px;
	height: 6px;
	margin-top: 8px;
	border-radius: 50%;
	background: currentColor;
	flex: 0 0 auto;
}

.mp-product-specs__content {
	display: grid;
	gap: 2px;
}

.mp-product-specs__label {
	font-size: 12px;
	color: #777;
}

.mp-product-specs__value {
	font-size: 14px;
	line-height: 1.35;
}

.mp-product-key-details {
	margin: 0 0 22px;
}

.mp-product-key-details__list {
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
}

.mp-product-key-details__item {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding: 8px 0;
	border-top: 1px solid var(--mp-line, #e7e7e7);
}

.mp-product-key-details__item:first-child {
	border-top: none;
	padding-top: 0;
}

.mp-product-key-details__label {
	color: #667085;
	font-size: 13px;
}

.mp-product-key-details__value {
	color: var(--mp-graphite, #1d1d1d);
	font-size: 14px;
	font-weight: 600;
	text-align: right;
}



.mp-product-key-details__item {
	display: flex;
	gap: 10px;
	min-width: 0;
}

.mp-product-key-details__icon {
	width: 6px;
	height: 6px;
	margin-top: 8px;
	border-radius: 50%;
	background: currentColor;
	flex: 0 0 auto;
}

.mp-product-key-details__content {
	display: grid;
	gap: 2px;
}

.mp-product-key-details__label {
	font-size: 12px;
	color: #777;
}

.mp-product-key-details__value {
	font-size: 14px;
	line-height: 1.35;
}

.mp-size-guide {
	margin: -8px 0 18px;
}

.mp-size-guide__trigger {
	padding: 0;
	border: 0;
	border-bottom: 1px solid currentColor;
	background: transparent;
	font: inherit;
	font-size: 14px;
	cursor: pointer;
}

.mp-size-guide__dialog[hidden] {
	display: none;
}

.mp-size-guide__dialog {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: grid;
	place-items: center;
	padding: 20px;
}

.mp-size-guide__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .48);
}

.mp-size-guide__panel {
	position: relative;
	z-index: 1;
	width: min(760px, 100%);
	max-height: min(82vh, 760px);
	overflow: auto;
	padding: clamp(24px, 4vw, 42px);
	background: #fff;
	box-shadow: 0 24px 80px rgba(0, 0, 0, .2);
}

.mp-size-guide__head {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	align-items: flex-start;
	margin-bottom: 24px;
}

.mp-size-guide__title {
	margin: 0;
	font-size: clamp(24px, 4vw, 36px);
}

.mp-size-guide__model {
	margin: 8px 0 0;
	color: #666;
}

.mp-size-guide__close {
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid #ddd;
	background: #fff;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}

.mp-size-guide__table-wrap {
	overflow-x: auto;
}

.mp-size-guide__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.mp-size-guide__table th,
.mp-size-guide__table td {
	padding: 12px 10px;
	border-bottom: 1px solid #e5e5e5;
	text-align: left;
	white-space: nowrap;
}

.mp-size-guide__note,
.mp-size-guide__empty {
	margin: 20px 0 0;
	font-size: 13px;
	line-height: 1.5;
	color: #666;
}

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

/* .mp-marketplaces* used to be fully duplicated here (pre-redesign).
   It's now defined once in blocks.css; this file loads after blocks.css
   in the enqueue order, so any property redeclared here would silently
   win the cascade and undo the current design. Removed instead of
   trimmed to avoid leaving a third partial copy to keep in sync. */

/* Product-page marketplace CTAs use the approved illustrated buttons. */
body.single-product .mp-marketplaces__links > br {
	display: none;
}

body.single-product .mp-marketplaces .mp-marketplaces__link {
	display: block;
	min-height: 0;
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

body.single-product .mp-marketplaces .mp-marketplaces__link img {
	display: block;
	width: 100%;
	max-width: 190px;
	height: auto;
}

body.single-product .mp-marketplaces .mp-marketplaces__link:hover {
	background: transparent;
	filter: brightness(.98);
}

body.single-product .wp-block-woocommerce-product-meta {
	margin-top: 24px;
	padding-top: 18px;
	border-top: 1px solid #e7e7e7;
	font-size: 12px;
	color: #777;
}

body.single-product .wp-block-woocommerce-product-meta a {
	color: inherit;
}

body.single-product .wp-block-woocommerce-product-details {
	margin-top: 0;
	margin-bottom: clamp(56px, 7vw, 100px);
}

body.single-product .wp-block-woocommerce-product-details .wc-block-components-tabs__list {
	gap: 30px;
	border-bottom: 1px solid #ddd;
}

body.single-product .wp-block-woocommerce-product-details .wc-block-components-tabs__item {
	padding: 14px 0;
	font-size: 14px;
}

body.single-product .wp-block-woocommerce-product-details .wc-block-components-tab-panel__content {
	padding-top: 28px;
	font-size: 16px;
	line-height: 1.7;
}

.mp-product-care {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	gap: clamp(30px, 6vw, 90px);
	margin-top: clamp(56px, 7vw, 100px);
	margin-bottom: clamp(56px, 7vw, 100px);
	padding: clamp(32px, 6vw, 72px);
	background: #f3f1ea;
}

.mp-product-care__eyebrow {
	margin: 0 0 12px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .12em;
}

.mp-product-care__title {
	margin: 0 0 18px;
	font-size: clamp(28px, 4vw, 46px);
	line-height: 1.05;
	font-weight: 500;
}

.mp-product-care__text {
	margin: 0;
	line-height: 1.65;
	color: #555;
}

.mp-product-care__card {
	border-top: 1px solid #cfcac0;
}

.mp-product-care__card:last-child {
	border-bottom: 1px solid #cfcac0;
}

.mp-product-care__card summary {
	padding: 18px 30px 18px 0;
	font-weight: 600;
	cursor: pointer;
}

.mp-product-care__card p,
.mp-product-care__card ul {
	margin: 0;
	padding: 0 0 20px;
	line-height: 1.6;
}

.mp-product-care__card ul {
	padding-left: 20px;
}

.mp-product-recommendations {
	margin-top: clamp(48px, 7vw, 88px);
}

.mp-product-recommendations__title {
	margin: 0 0 26px !important;
	font-size: clamp(26px, 3.5vw, 40px);
	font-weight: 500;
}

.mp-product-cards,
body.single-product .mp-product-recommendations .wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(14px, 2vw, 28px);
}

body.single-product .mp-product-recommendations .wc-block-product-template > .wc-block-product {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

body.single-product .mp-product-recommendations .wc-block-components-product-image {
	position: relative !important;
	display: block !important;
	width: 100% !important;
}

body.single-product .mp-product-recommendations .wc-block-components-product-image > a {
	display: block !important;
	width: 100% !important;
}

/* Matches the "+" used by the mp-product-card recommendation sections
 * (Покупают вместе / Вы недавно смотрели) — see
 * mini_problems_related_products_quick_link() and
 * mini_problems_related_products_hide_button() in woocommerce-product.php,
 * which drop the native add-to-cart button here in favour of this link. */
body.single-product .mp-product-recommendations .wc-block-components-product-image .mp-product-card__quick-link {
	position: absolute !important;
	z-index: 3;
	right: 12px;
	bottom: 12px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 38px !important;
	height: 38px !important;
	padding: 0;
	border: 1px solid rgba(71, 96, 172, .18);
	border-radius: 50% !important;
	background: rgba(255,255,255,.95);
	color: #4760ac;
	text-decoration: none;
	box-shadow: 0 4px 16px rgba(31, 44, 84, .08);
	transition: transform .2s ease, background-color .2s ease, color .2s ease;
}

body.single-product .mp-product-recommendations .wc-block-components-product-image .mp-product-card__quick-link span {
	display: block;
	margin-top: -2px;
	font-size: 25px;
	line-height: 1;
	font-weight: 300;
}

@media (hover: hover) {
	body.single-product .mp-product-recommendations .wc-block-components-product-image .mp-product-card__quick-link:hover {
		transform: translateY(-2px);
		background: #4760ac;
		color: #fff;
	}
}

@media (max-width: 699px) {
	body.single-product .mp-product-recommendations .wc-block-components-product-image .mp-product-card__quick-link {
		right: 8px;
		bottom: 8px;
		width: 34px !important;
		height: 34px !important;
	}

	body.single-product .mp-product-recommendations .wc-block-components-product-image .mp-product-card__quick-link span {
		font-size: 22px;
	}
}

body.single-product .mp-product-recommendations .wc-block-components-product-image img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 4 / 5;
	object-fit: cover !important;
}

body.single-product .mp-product-recommendations .wp-block-post-title,
body.single-product .mp-product-recommendations .wp-block-post-title a {
	width: 100% !important;
	max-width: none !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
}

.mp-product-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.mp-product-card__image {
	display: block;
	background: #f5f5f3;
}

.mp-product-card__image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.mp-product-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding-top: 14px;
}

.mp-product-card__title {
	margin: 0 0 8px;
	font-size: 15px;
	line-height: 1.35;
	font-weight: 500;
}

.mp-product-card__title a,
.mp-product-card__link {
	color: inherit;
	text-decoration: none;
}

.mp-product-card__price {
	margin-bottom: 14px;
	font-size: 14px;
}

.mp-product-card__link {
	margin-top: auto;
	padding-bottom: 3px;
	border-bottom: 1px solid currentColor;
	align-self: flex-start;
	font-size: 13px;
}

.mp-product-recommendations__placeholder {
	padding: 20px;
	background: #f7f7f7;
	font-size: 14px;
	color: #666;
}

@media (max-width: 900px) {
	body.single-product .mp-product-summary {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}

	body.single-product .mp-product-summary__media {
		position: static;
	}

	.mp-product-care {
		grid-template-columns: 1fr;
	}

	.mp-product-cards,
	body.single-product .mp-product-recommendations .wc-block-product-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	body.single-product .mp-single-product-page {
		padding-top: 10px;
	}

	body.single-product .mp-product-summary {
		gap: 24px;
		margin-bottom: 48px;
	}

	body.single-product .flex-control-thumbs {
		grid-template-columns: repeat(5, 72px);
		overflow-x: auto;
		padding-bottom: 4px;
	}

	.mp-product-specs__list,
	.mp-product-key-details__list {
		grid-template-columns: 1fr;
	}

	body.single-product form.cart .quantity {
		margin-right: 6px;
	}

	body.single-product form.cart .single_add_to_cart_button {
		padding-inline: 18px;
	}

	.mp-marketplaces__links {
		grid-template-columns: 1fr;
	}

	.mp-marketplaces__link {
		min-height: 50px;
		font-size: 13px;
	}

	.mp-size-guide__dialog {
		padding: 0;
		align-items: end;
	}

	.mp-size-guide__panel {
		width: 100%;
		max-height: 88vh;
		padding: 24px 18px 30px;
	}

	.mp-product-care {
		margin-inline: calc(var(--wp--style--root--padding-left, 20px) * -1);
		padding: 34px 20px;
	}

	.mp-product-cards,
	body.single-product .mp-product-recommendations .wc-block-product-template {
		gap: 18px 10px;
	}
}

/* --------------------------------------------------------------------------
 * Canopea reference pass 2.0: desktop PDP + mobile PDP
 * Source mapping: .product, .product-gallery, .product-info, .variant-picker.
 * -------------------------------------------------------------------------- */

body.single-product .mp-single-product-page {
	width: 100%;
	max-width: none;
	padding-top: clamp(20px, 3vw, 48px);
}

body.single-product .mp-single-product-page > .woocommerce-breadcrumb,
body.single-product .mp-single-product-page > .wc-block-breadcrumbs,
body.single-product .mp-product-summary,
body.single-product .mp-single-product-page > .wp-block-woocommerce-product-details,
body.single-product .mp-single-product-page > .mp-product-care,
body.single-product .mp-single-product-page > .mp-product-bundle,
body.single-product .mp-single-product-page > .mp-product-sibling-prints,
body.single-product .mp-single-product-page > .mp-product-recommendations,
body.single-product .mp-single-product-page > .mp-recently-viewed {
	width: min(100% - 96px, 1260px);
	max-width: none;
	margin-inline: auto;
}

@media (min-width: 1000px) {
	body.single-product .mp-product-summary {
		display: grid !important;
		grid-template-columns: minmax(0, .65fr) minmax(320px, .35fr);
		gap: clamp(42px, 5vw, 76px);
		align-items: start;
	}

	body.single-product .mp-product-summary > .wp-block-column {
		width: auto !important;
		max-width: none !important;
		flex-basis: auto !important;
	}

	body.single-product .mp-product-summary__media {
		position: relative;
		top: auto;
	}

	body.single-product .mp-product-summary__content {
		position: sticky;
		top: 84px;
		padding-top: clamp(16px, 2vw, 34px);
		text-align: center;
	}

	body.single-product .woocommerce-product-gallery {
		display: grid;
		grid-template-columns: 58px minmax(0, 1fr);
		column-gap: 30px;
		align-items: start;
	}

	body.single-product .woocommerce-product-gallery .flex-viewport,
	body.single-product .woocommerce-product-gallery__wrapper {
		grid-column: 2;
		grid-row: 1;
		min-width: 0;
	}

	body.single-product .flex-control-thumbs {
		grid-column: 1;
		grid-row: 1;
		display: flex !important;
		max-height: calc(100vh - 110px);
		flex-direction: column;
		gap: 9px;
		margin: 0 !important;
		overflow-y: auto;
		scrollbar-width: thin;
	}

	body.single-product .flex-control-thumbs img {
		width: 56px;
		height: 69px;
		aspect-ratio: 660 / 815;
		object-fit: cover;
	}
}

body.single-product .woocommerce-product-gallery__image a {
	background: #f7f7f5;
}

body.single-product .woocommerce-product-gallery__image img {
	aspect-ratio: 660 / 815;
	object-fit: cover;
}

body.single-product .mp-product-summary__content h1 {
	margin-bottom: 6px !important;
	color: #1f3d6b !important;
	font-family: var(--mp-font-body) !important;
	font-size: clamp(23px, 2.3vw, 32px) !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
}

body.single-product .mp-product-summary__content .wp-block-woocommerce-product-price,
body.single-product .mp-product-summary__content .wc-block-components-product-price {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 10px;
	margin-bottom: 26px;
	color: #1f3d6b !important;
	font-size: 17px;
	font-weight: 500;
}

body.single-product .mp-product-summary__content .wp-block-post-excerpt {
	font-size: 14px;
	line-height: 1.65;
	text-align: left;
}

body.single-product form.cart .variations {
	margin-top: 18px;
}

body.single-product form.cart .variations tr {
	margin-bottom: 16px;
}

body.single-product form.cart .variations label {
	display: block;
	margin-bottom: 8px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .14em;
	text-align: left;
	text-transform: uppercase;
}

body.single-product form.cart select {
	min-height: 44px;
	border-color: rgba(25, 40, 46, .26);
	color: var(--mp-catalog-ink, #19282e);
	font-size: 12px;
	letter-spacing: .05em;
}

body.single-product form.cart .quantity {
	display: none;
}

body.single-product form.cart .single_add_to_cart_button,
body.single-product .wc-block-add-to-cart-form .single_add_to_cart_button {
	width: 100%;
	min-height: 49px;
	border-color: var(--mp-catalog-ink, #19282e);
	background: var(--mp-catalog-ink, #19282e);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .18em;
	text-transform: uppercase;
}

body.single-product .mp-product-specs,
body.single-product .mp-product-key-details {
	margin-top: 28px;
	text-align: left;
}

body.single-product .mp-size-guide {
	text-align: left;
}

body.single-product .wp-block-woocommerce-product-meta {
	font-size: 11px;
	text-align: left;
}

@media (max-width: 999px) {
	body.single-product .mp-single-product-page {
		padding-top: 0;
	}

	body.single-product .mp-single-product-page > .woocommerce-breadcrumb,
	body.single-product .mp-single-product-page > .wc-block-breadcrumbs {
		display: none;
	}

	body.single-product .mp-product-summary {
		display: block !important;
		width: 100%;
		margin-bottom: 48px;
	}

	body.single-product .mp-product-summary__media,
	body.single-product .mp-product-summary__content {
		width: 100%;
		max-width: none;
	}

	body.single-product .mp-product-summary__media {
		position: relative;
		top: auto;
	}

	body.single-product .woocommerce-product-gallery {
		margin: 0;
	}

	body.single-product .woocommerce-product-gallery .flex-viewport {
		overflow: visible !important;
	}

	body.single-product .woocommerce-product-gallery__wrapper {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	body.single-product .woocommerce-product-gallery__wrapper::-webkit-scrollbar {
		display: none;
	}

	body.single-product .woocommerce-product-gallery__image {
		width: calc(100vw - 40px) !important;
		min-width: calc(100vw - 40px);
		margin-inline: 20px 0;
		float: none !important;
		scroll-snap-align: center;
	}

	body.single-product .woocommerce-product-gallery__image:last-child {
		margin-right: 20px;
	}

	body.single-product .flex-control-thumbs {
		display: none !important;
	}

	body.single-product .flex-direction-nav {
		display: none !important;
	}

	body.single-product .mp-product-summary__content {
		width: min(100% - 40px, 680px);
		margin: 27px auto 0;
		padding: 0;
		text-align: center;
	}

	body.single-product .mp-product-summary__content h1 {
		font-size: 23px;
		letter-spacing: .16em;
	}

	body.single-product .mp-product-summary__content .wp-block-post-excerpt {
		font-size: 13px;
		text-align: left;
	}

	body.single-product .mp-product-specs__list,
	body.single-product .mp-product-key-details__list {
		grid-template-columns: 1fr 1fr;
		gap: 12px 18px;
	}

	body.single-product .mp-single-product-page > .wp-block-woocommerce-product-details,
	body.single-product .mp-single-product-page > .mp-product-care,
	body.single-product .mp-single-product-page > .mp-product-bundle,
	body.single-product .mp-single-product-page > .mp-product-sibling-prints,
	body.single-product .mp-single-product-page > .mp-product-recommendations,
	body.single-product .mp-single-product-page > .mp-recently-viewed {
		width: min(100% - 40px, 680px);
	}
}

@media (max-width: 699px) {
	body.single-product .woocommerce-product-gallery__image {
		width: calc(100vw - 40px) !important;
		min-width: calc(100vw - 40px);
	}

	body.single-product .mp-product-summary__content {
		width: calc(100% - 40px);
	}

	body.single-product .mp-product-specs__list {
		grid-template-columns: 1fr;
	}

	body.single-product form.cart .single_add_to_cart_button,
	body.single-product .wc-block-add-to-cart-form .single_add_to_cart_button {
		min-height: 52px;
	}

	/* Fix #3 (client spec): a full 4:5 hero photo plus generous desktop
	   spacing pushed name/price/size/CTA below the first screen on mobile,
	   requiring a scroll before any purchase action was visible. Shortening
	   the photo and tightening the gaps between name, price, the size row
	   and the cart controls brings all of it back onto the first screen
	   without touching the desktop layout (this block only applies at
	   max-width: 699px). */
	body.single-product .woocommerce-product-gallery__image img {
		aspect-ratio: 1 / 1;
	}

	body.single-product .mp-product-summary__content {
		margin-top: 16px !important;
	}

	body.single-product .mp-product-summary__content h1 {
		margin-bottom: 4px !important;
	}

	body.single-product .mp-product-summary__content .wp-block-woocommerce-product-price,
	body.single-product .mp-product-summary__content .wc-block-components-product-price {
		margin-bottom: 10px !important;
	}

	body.single-product form.cart {
		margin-top: 12px;
	}

	body.single-product form.cart .variations {
		margin-bottom: 10px;
	}

	body.single-product form.cart .variations tr {
		margin-bottom: 8px;
	}

	body.single-product .mp-size-pills {
		gap: 6px;
	}

	body.single-product .mp-size-pill {
		height: 36px;
		min-width: 36px;
	}

	body.single-product .woocommerce-variation-add-to-cart {
		gap: 8px;
	}
}

@media (orientation: landscape) and (max-height: 560px) and (max-width: 999px) {
	body.single-product .woocommerce-product-gallery__image {
		width: min(56vw, 460px) !important;
		min-width: min(56vw, 460px);
	}

	body.single-product .mp-product-summary__content {
		width: min(100% - 48px, 720px);
	}
}

/* Product recommendation cards - Canopea-inspired refinement (2.0.2) */
body.single-product .mp-product-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
}

body.single-product .mp-product-card__figure {
  position: relative;
  overflow: visible;
}

body.single-product .mp-product-card__image {
  display: block;
  overflow: hidden;
  aspect-ratio: 660 / 815;
  border-radius: 12px;
  background: #f5f5f3;
}

body.single-product .mp-product-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 660 / 815;
  object-fit: cover;
  transition: transform .35s ease;
}

body.single-product .mp-product-card__badge {
  position: absolute;
  z-index: 3;
  top: 10px;
  left: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 25px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #fff;
  color: #4760ac;
  font-size: 11px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: .04em;
}

body.single-product .mp-product-card__quick-link {
  position: absolute;
  z-index: 3;
  right: 12px;
  bottom: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(71, 96, 172, .18);
  border-radius: 50%;
  background: rgba(255,255,255,.95);
  color: #4760ac;
  text-decoration: none;
  box-shadow: 0 4px 16px rgba(31, 44, 84, .08);
  transition: transform .2s ease, background-color .2s ease, color .2s ease;
}

body.single-product .mp-product-card__quick-link span {
  display: block;
  margin-top: -2px;
  font-size: 25px;
  line-height: 1;
  font-weight: 300;
}

body.single-product .mp-product-card__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 13px 5px 0;
  text-align: center;
}

body.single-product .mp-product-card__title {
  margin: 0;
  max-width: 100%;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.single-product .mp-product-card__title a {
  color: #4760ac;
  text-decoration: none;
}

body.single-product .mp-product-card__price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap: 5px;
  margin: 5px 0 0;
  color: #4760ac;
  font-size: 13px;
  line-height: 1.3;
}

body.single-product .mp-product-card__price del {
  color: rgba(71, 96, 172, .55);
  font-size: .9em;
}

body.single-product .mp-product-card__price ins {
  color: #bc3b7c;
  text-decoration: none;
}

body.single-product .mp-product-card__link {
  display: none !important;
}

@media (hover: hover) {
  body.single-product .mp-product-card:hover .mp-product-card__image img {
    transform: scale(1.02);
  }

  body.single-product .mp-product-card__quick-link:hover {
    transform: translateY(-2px);
    background: #4760ac;
    color: #fff;
  }
}

@media (max-width: 699px) {
  body.single-product .mp-product-cards,
  body.single-product .mp-product-recommendations .wc-block-product-template {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px 12px !important;
  }

  body.single-product .mp-product-card__image {
    border-radius: 10px;
  }

  body.single-product .mp-product-card__badge {
    top: 7px;
    left: 7px;
    min-height: 22px;
    padding: 3px 7px;
    font-size: 10px;
  }

  body.single-product .mp-product-card__quick-link {
    right: 8px;
    bottom: 8px;
    width: 34px;
    height: 34px;
  }

  body.single-product .mp-product-card__quick-link span {
    font-size: 22px;
  }

  body.single-product .mp-product-card__body {
    padding-top: 10px;
  }

  body.single-product .mp-product-card__title {
    font-size: 11px;
    letter-spacing: .06em;
  }

  body.single-product .mp-product-card__price {
    margin-top: 4px;
    font-size: 11px;
  }

  /* "Похожие товары" uses WooCommerce's own block markup, not the
   * .mp-product-card layout above, so it missed this mobile pass — its
   * button kept a 170px min-width from the desktop button reset and
   * didn't shrink to the 2-column grid like every other recommendation
   * card here and on the catalog page. */
  body.single-product .mp-product-recommendations .wc-block-components-product-button__button {
    min-width: 0 !important;
    width: 100% !important;
    min-height: 38px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
  }

  body.single-product .mp-product-recommendations .wp-block-post-title,
  body.single-product .mp-product-recommendations .wp-block-post-title a {
    font-size: 11px !important;
  }

  body.single-product .mp-product-recommendations .wc-block-components-product-price,
  body.single-product .mp-product-recommendations .wp-block-woocommerce-product-price {
    font-size: 11px !important;
  }
}

.mp-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;
}

.mp-size-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.mp-size-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 6px;
	border: 1px solid #c7ccd1;
	border-radius: 999px;
	background: #fff;
	color: #1f3d6b;
	font-family: var(--mp-font-body);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: border-color .15s ease, background .15s ease, color .15s ease;
}

.mp-size-pill:hover:not(.is-disabled) {
	border-color: #1f3d6b;
}

.mp-size-pill.is-selected {
	background: #1f3d6b;
	border-color: #1f3d6b;
	color: #fff;
}

.mp-size-pill.is-disabled {
	position: relative;
	color: #A6A6A6;
	border-color: #D9D9D9;
	background: #F2F2F2;
	cursor: not-allowed;
}

@media (hover: hover) {
	.mp-size-pill.is-disabled:hover::after,
	.mp-size-pill.is-disabled:focus-visible::after {
		content: attr(title);
		position: absolute;
		bottom: calc(100% + 8px);
		left: 50%;
		transform: translateX(-50%);
		width: 160px;
		padding: 8px 10px;
		border-radius: 6px;
		background: #333333;
		color: #ffffff;
		font-size: 12px;
		line-height: 1.4;
		text-align: center;
		z-index: 20;
		pointer-events: none;
	}
}

/* ==== checkout.css ==== */
/**
 * Mini Problems — cart and checkout.
 * Styling only: WooCommerce Blocks keep ownership of cart, totals,
 * shipping, payment and validation logic.
 */

.mp-cart-page,
.mp-checkout-page {
  --mp-checkout-border: rgba(25, 25, 25, 0.14);
  --mp-checkout-muted: #6f6f6f;
  --mp-checkout-surface: #fff;
  --mp-checkout-soft: #f6f4ef;
  --mp-checkout-radius: 20px;
  padding-inline: clamp(16px, 4vw, 48px);
}

.mp-commerce-heading {
  width: min(100%, 1280px);
  margin: 0 auto clamp(24px, 4vw, 44px);
  font-size: clamp(32px, 5vw, 64px);
  line-height: .96;
  letter-spacing: -.035em;
  font-weight: 500;
}

.mp-cart-page .wc-block-cart,
.mp-checkout-page .wc-block-checkout {
  width: min(100%, 1280px);
  max-width: 1280px;
  margin-inline: auto;
}

.mp-checkout-page .wc-block-checkout {
  column-gap: clamp(24px, 4vw, 56px);
}

/* Cart layout */
.mp-cart-page .wc-block-cart__main {
  width: 56%;
  padding-right: clamp(28px, 3vw, 48px);
}

.mp-cart-page .wc-block-cart__sidebar {
  width: 44%;
  padding-left: 0;
}

.mp-cart-page .wc-block-cart__sidebar,
.mp-checkout-page .wc-block-checkout__sidebar {
  align-self: start;
  border: 1px solid var(--mp-checkout-border);
  border-radius: var(--mp-checkout-radius);
  background: var(--mp-checkout-surface);
  padding: clamp(18px, 2.4vw, 30px);
  position: sticky;
  top: 110px;
  box-sizing: border-box;
}

.mp-cart-page .wc-block-cart-items {
  border-collapse: separate;
  border-spacing: 0;
}

.mp-cart-page .wc-block-cart-items thead {
  color: var(--mp-checkout-muted);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mp-cart-page .wc-block-cart-items thead tr {
  display: flex;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--mp-checkout-border);
}

.mp-cart-page .wc-block-cart-items th {
  padding: 0;
  border-bottom: 0;
}

.mp-cart-page .wc-block-cart-items__row {
  display: flex;
  align-items: flex-start;
  padding-top: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--mp-checkout-border);
}

.mp-cart-page .wc-block-cart-items__row td {
  padding: 0;
  border-bottom: 0;
  vertical-align: top;
}

.mp-cart-page .wc-block-cart-items__header-image,
.mp-cart-page .wc-block-cart-item__image {
  flex-shrink: 0;
}

.mp-cart-page .wc-block-cart-items__header-product,
.mp-cart-page .wc-block-cart-item__product {
  flex: 0 1 380px;
  min-width: 0;
}

.mp-cart-page .wc-block-cart-items__header-total,
.mp-cart-page .wc-block-cart-item__total {
  flex: 0 0 auto;
  margin-left: 40px;
  padding-right: 0;
}

.mp-cart-page .wc-block-cart-item__image {
  width: clamp(104px, 13vw, 170px);
  padding-right: clamp(16px, 2vw, 28px);
}

.mp-cart-page .wc-block-cart-item__image img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 14px;
  background: var(--mp-checkout-soft);
}

.mp-cart-page .wc-block-components-product-name,
.mp-checkout-page .wc-block-components-product-name {
  color: inherit;
  font-size: clamp(16px, 1.4vw, 20px);
  font-weight: 500;
  line-height: 1.25;
  text-decoration: none;
}

.mp-cart-page .wc-block-components-product-metadata,
.mp-checkout-page .wc-block-components-product-metadata {
  color: var(--mp-checkout-muted);
  font-size: 13px;
  line-height: 1.45;
}

.mp-cart-page .wc-block-components-product-price,
.mp-checkout-page .wc-block-components-product-price {
  font-weight: 600;
}

.mp-cart-page .wc-block-components-quantity-selector {
  border: 1px solid var(--mp-checkout-border);
  border-radius: 999px;
  min-height: 44px;
  overflow: hidden;
}

.mp-cart-page .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
  min-width: 42px;
  font-weight: 500;
}

.mp-cart-page .wc-block-cart-item__remove-link {
  color: var(--mp-checkout-muted);
  font-size: 13px;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

/* Totals and coupon */
.mp-cart-page .wc-block-components-totals-wrapper,
.mp-checkout-page .wc-block-components-totals-wrapper {
  padding: 16px 0;
  border-top-color: var(--mp-checkout-border);
}

.mp-cart-page .wc-block-components-totals-item,
.mp-checkout-page .wc-block-components-totals-item {
  font-size: 15px;
}

.mp-cart-page .wc-block-components-totals-footer-item,
.mp-checkout-page .wc-block-components-totals-footer-item {
  font-size: 19px;
  font-weight: 600;
}

.mp-cart-page .wc-block-components-panel__button,
.mp-checkout-page .wc-block-components-panel__button {
  padding-block: 12px;
  font-weight: 500;
}

.mp-cart-page .wc-block-components-totals-coupon__form,
.mp-checkout-page .wc-block-components-totals-coupon__form {
  gap: 10px;
}

.mp-cart-page .wc-block-components-text-input input,
.mp-checkout-page .wc-block-components-text-input input,
.mp-checkout-page .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.mp-checkout-page .wc-block-components-address-form__address_2-toggle {
  border: 1px solid var(--mp-checkout-border);
  border-radius: 12px;
  min-height: 52px;
  box-shadow: none;
}

.mp-cart-page .wc-block-components-button,
.mp-checkout-page .wc-block-components-button,
.mp-cart-page .wp-element-button,
.mp-checkout-page .wp-element-button {
  min-height: 52px;
  border-radius: 999px;
  padding-inline: 24px;
  font-weight: 600;
  box-shadow: none;
}

.mp-cart-page .wc-block-cart__submit-button,
.mp-checkout-page .wc-block-components-checkout-place-order-button {
  width: 100%;
}

/* Checkout fields */
.mp-checkout-page .wc-block-checkout__main {
  padding-right: 0;
}

.mp-checkout-page .wc-block-components-checkout-step {
  margin: 0 0 18px;
  padding: clamp(18px, 2.5vw, 30px);
  border: 1px solid var(--mp-checkout-border);
  border-radius: var(--mp-checkout-radius);
  background: var(--mp-checkout-surface);
}

.mp-checkout-page .wc-block-components-checkout-step__heading {
  margin-bottom: 20px;
}

.mp-checkout-page .wc-block-components-checkout-step__title {
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.15;
  font-weight: 500;
}

.mp-checkout-page .wc-block-components-checkout-step__description {
  color: var(--mp-checkout-muted);
  font-size: 14px;
}

.mp-checkout-page .wc-block-components-form .wc-block-components-text-input,
.mp-checkout-page .wc-block-components-form .wc-block-components-combobox {
  margin-top: 10px;
}

.mp-checkout-page .wc-block-components-radio-control-accordion-option,
.mp-checkout-page .wc-block-components-radio-control__option {
  border-color: var(--mp-checkout-border);
}

.mp-checkout-page .wc-block-components-radio-control-accordion-option:first-child,
.mp-checkout-page .wc-block-components-radio-control__option:first-child {
  border-radius: 14px 14px 0 0;
}

.mp-checkout-page .wc-block-components-radio-control-accordion-option:last-child,
.mp-checkout-page .wc-block-components-radio-control__option:last-child {
  border-radius: 0 0 14px 14px;
}

.mp-checkout-page .wc-block-components-checkout-order-summary__title {
  font-size: 19px;
  font-weight: 600;
}

.mp-checkout-page .wc-block-components-order-summary-item__image img {
  border-radius: 10px;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.mp-checkout-page .wc-block-components-checkout-return-to-cart-button {
  color: inherit;
  font-weight: 500;
}

/* Notices and empty state */
.mp-cart-page .wc-block-components-notice-banner,
.mp-checkout-page .wc-block-components-notice-banner {
  border-radius: 14px;
  border-width: 1px;
}

.mp-cart-page .mp-empty-state {
  max-width: 720px;
  margin: clamp(30px, 8vw, 100px) auto;
  padding: clamp(28px, 6vw, 64px);
  border-radius: var(--mp-checkout-radius);
  background: var(--mp-checkout-soft);
}

.mp-cart-page .mp-empty-state h2 {
  font-size: clamp(28px, 4vw, 48px);
  margin-bottom: 12px;
}

@media (max-width: 900px) {
  .mp-cart-page .wc-block-cart,
  .mp-checkout-page .wc-block-checkout {
    display: block;
  }

  .mp-cart-page .wc-block-cart__main {
    width: 100%;
    padding-right: 0;
  }

  .mp-cart-page .wc-block-cart__sidebar,
  .mp-checkout-page .wc-block-checkout__sidebar {
    position: static;
    width: 100%;
    margin-top: 28px;
  }

  .mp-checkout-page .wc-block-checkout__main,
  .mp-checkout-page .wc-block-checkout__sidebar {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (max-width: 600px) {
  .mp-cart-page,
  .mp-checkout-page {
    padding-inline: 14px;
    padding-top: 28px !important;
    padding-bottom: 44px !important;
  }

  .mp-commerce-heading {
    margin-bottom: 22px;
  }

  .mp-cart-page .wc-block-cart-items thead {
    display: none;
  }

  .mp-cart-page .wc-block-cart-items__row {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    column-gap: 14px;
    padding: 18px 0;
    border-bottom: 1px solid var(--mp-checkout-border);
  }

  .mp-cart-page .wc-block-cart-items__row td {
    display: block;
    width: auto;
    padding: 0;
    border: 0;
  }

  .mp-cart-page .wc-block-cart-item__image {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 88px;
    padding: 0;
  }

  .mp-cart-page .wc-block-cart-item__product {
    grid-column: 2;
    min-width: 0;
  }

  .mp-cart-page .wc-block-cart-item__total {
    grid-column: 2;
    margin-top: 10px;
    margin-left: 0;
    padding-right: 0;
    text-align: left;
  }

  .mp-cart-page .wc-block-cart-item__total-price-and-sale-badge-wrapper {
    align-items: flex-start;
  }

  .mp-cart-page .wc-block-cart-item__image img {
    border-radius: 10px;
  }

  .mp-cart-page .wc-block-components-product-name {
    font-size: 15px;
  }

  .mp-cart-page .wc-block-cart-item__quantity {
    padding-top: 10px;
  }

  .mp-cart-page .wc-block-cart__sidebar,
  .mp-checkout-page .wc-block-checkout__sidebar,
  .mp-checkout-page .wc-block-components-checkout-step {
    border-radius: 16px;
    padding: 16px;
  }

  .mp-checkout-page .wc-block-components-checkout-step {
    margin-bottom: 12px;
  }

  .mp-checkout-page .wc-block-components-checkout-step__title {
    font-size: 20px;
  }

  .mp-cart-page .wc-block-components-button,
  .mp-checkout-page .wc-block-components-button,
  .mp-cart-page .wp-element-button,
  .mp-checkout-page .wp-element-button {
    width: 100%;
  }
}

/* Canopea-inspired commerce flow: clean lines, soft panels, restrained type. */
.mp-checkout-page {
  --mp-commerce-line: rgba(28, 28, 28, .14);
  --mp-commerce-soft: #f7f5f1;
  --mp-commerce-ink: #1d1d1d;
  padding-inline: clamp(16px, 3vw, 42px);
}
.mp-checkout-page .mp-commerce-heading {
  margin: 0 auto clamp(30px, 5vw, 58px);
  font-size: clamp(30px, 4vw, 52px);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -.03em;
  text-align: center;
}
.mp-checkout-page .wc-block-checkout {
  gap: clamp(24px, 4vw, 58px);
}
.mp-checkout-page .wc-block-components-checkout-step,
.mp-checkout-page .wc-block-checkout__sidebar,
.mp-checkout-page .wc-block-components-order-summary {
  border: 1px solid var(--mp-commerce-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: none;
}
.mp-checkout-page .wc-block-components-checkout-step {
  padding: clamp(20px, 3vw, 34px);
}
.mp-checkout-page .wc-block-components-checkout-step__title,
.mp-checkout-page .wc-block-components-order-summary__button-text {
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 500;
  letter-spacing: -.015em;
}
.mp-checkout-page input,
.mp-checkout-page select,
.mp-checkout-page textarea {
  min-height: 48px;
  border: 0 !important;
  border-bottom: 1px solid var(--mp-commerce-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.mp-checkout-page .wc-block-components-button,
.mp-checkout-page .wp-element-button {
  min-height: 50px;
  border-radius: 999px !important;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* The real post-payment page renders WooCommerce's block-based Order
 * Confirmation template (wc-block-order-confirmation-*), not the classic
 * .woocommerce-order-received markup the rules below target — those never
 * match on this page. Without this, the inline "Войдите сюда" link inherits
 * the site's big pill .button styling and breaks out of the paragraph,
 * overlapping the line above it on narrow viewports. */
.wc-block-order-confirmation-status-description a.button {
  display: inline;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--mp-blue, #1f3d6b);
  font: inherit;
  text-decoration: underline;
  text-transform: none;
  letter-spacing: normal;
}

/* Order received / thank-you / payment status */
.woocommerce-order-received .woocommerce,
.woocommerce-view-order .woocommerce,
.woocommerce-order-pay .woocommerce {
  width: min(1180px, calc(100% - 32px));
  margin: clamp(36px, 7vw, 90px) auto;
}
.woocommerce-thankyou-order-received,
.woocommerce-notice--success {
  margin: 0 auto 28px;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid rgba(28,28,28,.14);
  border-radius: 18px;
  background: var(--mp-commerce-soft, #f7f5f1);
  color: var(--mp-commerce-ink, #1d1d1d);
  font-size: clamp(22px, 3vw, 36px);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
}
.woocommerce-order-overview {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 1px;
  margin: 0 0 28px !important;
  padding: 1px !important;
  border: 0 !important;
  border-radius: 14px;
  overflow: hidden;
  background: rgba(28,28,28,.12);
}
.woocommerce-order-overview li {
  min-width: 0;
  margin: 0 !important;
  padding: 18px !important;
  border: 0 !important;
  background: #fff;
  font-size: 11px !important;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.woocommerce-order-overview li strong {
  display: block;
  margin-top: 7px;
  overflow-wrap: anywhere;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}
.woocommerce-order-details,
.woocommerce-customer-details {
  margin-top: 28px;
  padding: clamp(20px, 3vw, 34px);
  border: 1px solid rgba(28,28,28,.14);
  border-radius: 14px;
  background: #fff;
}
.woocommerce-order-details__title,
.woocommerce-column__title {
  margin-top: 0;
  font-size: clamp(21px, 2.5vw, 30px);
  font-weight: 500;
}
.woocommerce-order-details table,
.woocommerce-customer-details address {
  border-color: rgba(28,28,28,.12) !important;
  border-radius: 10px !important;
}
.woocommerce-order-details .woocommerce-table__product-name a {
  color: inherit;
  text-decoration: none;
}
.woocommerce-order-details .button,
.woocommerce-view-order .button,
.woocommerce-order-pay .button {
  border-radius: 999px !important;
}

@media (max-width: 760px) {
  .woocommerce-order-overview { grid-template-columns: 1fr 1fr; }
  .woocommerce-order-details,
  .woocommerce-customer-details { padding: 18px; }
}
@media (max-width: 460px) {
  .woocommerce-order-overview { grid-template-columns: 1fr; }
  .woocommerce-thankyou-order-received,
  .woocommerce-notice--success { text-align: left; }
}

/* Mini Problems 2.1.3 — cart and checkout viewport hardening. */
.mp-cart-page *,
.mp-checkout-page * {
  box-sizing: border-box;
}

.mp-cart-page .wc-block-cart,
.mp-checkout-page .wc-block-checkout,
.mp-cart-page .wc-block-cart__main,
.mp-cart-page .wc-block-cart__sidebar,
.mp-checkout-page .wc-block-checkout__main,
.mp-checkout-page .wc-block-checkout__sidebar {
  min-width: 0;
  max-width: 100%;
}

.mp-cart-page .wc-block-components-product-name,
.mp-checkout-page .wc-block-components-product-name,
.mp-cart-page .wc-block-components-product-metadata,
.mp-checkout-page .wc-block-components-product-metadata,
.mp-checkout-page .wc-block-components-checkout-step__title,
.mp-checkout-page .wc-block-components-checkout-step__description {
  overflow-wrap: anywhere;
}

@media (max-width: 780px) {
  .mp-checkout-page .wp-block-spacer,
  .mp-cart-page .wp-block-spacer {
    height: 20px !important;
  }

  .mp-cart-page .wc-block-cart__sidebar,
  .mp-checkout-page .wc-block-checkout__sidebar {
    padding: 18px 16px;
    border-radius: 14px;
  }

  .mp-checkout-page .wc-block-components-checkout-step {
    padding: 18px 16px;
    border-radius: 14px;
  }

  .mp-checkout-page .wc-block-components-address-form-wrapper,
  .mp-checkout-page .wc-block-components-form,
  .mp-checkout-page .wc-block-components-text-input,
  .mp-checkout-page .wc-block-components-combobox {
    min-width: 0;
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .mp-commerce-heading {
    font-size: clamp(30px, 10vw, 40px);
    line-height: 1.04;
    overflow-wrap: anywhere;
  }

  .mp-cart-page .wc-block-cart-item__image {
    width: 86px;
    padding-right: 12px;
  }

  .mp-cart-page .wc-block-cart-items__row td {
    padding-top: 18px;
    padding-bottom: 18px;
  }

  .mp-cart-page .wc-block-components-button,
  .mp-checkout-page .wc-block-components-button,
  .mp-cart-page .wp-element-button,
  .mp-checkout-page .wp-element-button {
    width: 100%;
    min-height: 48px;
    padding-inline: 16px;
    white-space: normal;
  }

  .mp-checkout-page .wc-block-components-order-summary-item {
    grid-template-columns: 64px minmax(0, 1fr) !important;
  }

  .mp-checkout-page .wc-block-components-order-summary-item__image {
    width: 64px;
  }
}

@media (orientation: landscape) and (max-height: 520px) and (max-width: 950px) {
  .mp-cart-page,
  .mp-checkout-page {
    padding-top: 20px !important;
    padding-bottom: 28px !important;
  }

  .mp-cart-page .wc-block-cart__sidebar,
  .mp-checkout-page .wc-block-checkout__sidebar {
    position: static !important;
  }

  .mp-commerce-heading {
    margin-bottom: 16px;
    font-size: clamp(28px, 9vh, 42px);
  }
}


/* ==========================================================================
 * Real post-payment "Спасибо за заказ" page — WooCommerce Blocks' Order
 * Confirmation template. Every direct child block here is `alignwide`
 * (wc-block-order-confirmation-*), so none of the classic
 * .woocommerce-order-received rules above ever match it — this page was
 * effectively unstyled and its content spanned the full viewport width.
 * ========================================================================== */

main.wp-block-group.is-layout-constrained > [class*="wc-block-order-confirmation"] {
  width: min(100% - 40px, 900px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.wc-block-order-confirmation-status {
  margin-top: clamp(24px, 4vw, 48px) !important;
  text-align: center;
}

.wc-block-order-confirmation-status-description {
  max-width: 640px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.wc-block-order-confirmation-summary {
  margin-top: clamp(24px, 3vw, 36px) !important;
}

.wc-block-order-confirmation-summary-list {
  flex-wrap: wrap;
  row-gap: 18px;
  padding: clamp(20px, 3vw, 32px);
  border: 1px solid rgba(28, 28, 28, .14);
  border-radius: 14px;
  background: var(--mp-commerce-soft, #f7f5f1);
}

.wc-block-order-confirmation-summary-list-item {
  min-width: 140px;
}

.wc-block-order-confirmation-summary-list-item__key {
  display: block;
  margin-bottom: 4px;
  color: rgba(28, 28, 28, .6);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.wc-block-order-confirmation-summary-list-item__value {
  font-weight: 600;
  overflow-wrap: anywhere;
}

.wc-block-order-confirmation-totals-wrapper {
  margin-top: clamp(24px, 3vw, 36px) !important;
}

.wc-block-order-confirmation-totals__table {
  border: 1px solid rgba(28, 28, 28, .14) !important;
  border-radius: 14px !important;
  overflow: hidden;
}

.wc-block-order-confirmation-address-wrapper {
  margin-top: clamp(24px, 3vw, 36px) !important;
  gap: 24px !important;
}

.wc-block-order-confirmation-shipping-address,
.wc-block-order-confirmation-billing-address {
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid rgba(28, 28, 28, .14);
  border-radius: 14px;
  background: #fff;
}

.wc-block-order-confirmation-additional-information {
  margin-top: clamp(24px, 3vw, 36px) !important;
}

.mp-thank-you-actions {
  margin-top: clamp(24px, 4vw, 40px);
  text-align: center;
}

.mp-thank-you-actions__buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 14px;
}

@media (max-width: 620px) {
  main.wp-block-group.is-layout-constrained > [class*="wc-block-order-confirmation"] {
    width: min(100% - 32px, 900px) !important;
  }

  .wc-block-order-confirmation-summary-list {
    flex-direction: column;
    gap: 14px;
  }

  .wc-block-order-confirmation-address-wrapper {
    flex-direction: column !important;
  }
}

/* The guest email-verification form's submit <input> sizes to its value
 * text with the browser's default white-space: pre, so it never wraps and
 * overflows the viewport on narrow screens instead of shrinking. */
.woocommerce-verify-email input[type="submit"] {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  white-space: normal;
}

.woocommerce-verify-email .form-row {
  max-width: 100%;
}

/* ==== components.css ==== */
/* Shared interface elements and WooCommerce states */
:where(.wp-site-blocks, .woocommerce) button,
:where(.wp-site-blocks, .woocommerce) input,
:where(.wp-site-blocks, .woocommerce) select,
:where(.wp-site-blocks, .woocommerce) textarea { font: inherit; }

:where(.woocommerce, .wp-site-blocks) .button,
:where(.woocommerce, .wp-site-blocks) button[type="submit"],
:where(.woocommerce, .wp-site-blocks) input[type="submit"],
.wp-block-button__link {
  min-height: 46px;
  border-radius: 999px;
  padding: 12px 24px;
  border: 1px solid var(--mp-text);
  background: var(--mp-text);
  color: #fff;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  transition: transform .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}
:where(.woocommerce, .wp-site-blocks) .button:hover,
:where(.woocommerce, .wp-site-blocks) button[type="submit"]:hover,
:where(.woocommerce, .wp-site-blocks) input[type="submit"]:hover,
.wp-block-button__link:hover { transform: translateY(-1px); }

:where(.woocommerce, .wp-site-blocks) input[type="text"],
:where(.woocommerce, .wp-site-blocks) input[type="email"],
:where(.woocommerce, .wp-site-blocks) input[type="tel"],
:where(.woocommerce, .wp-site-blocks) input[type="password"],
:where(.woocommerce, .wp-site-blocks) input[type="number"],
:where(.woocommerce, .wp-site-blocks) input[type="search"],
:where(.woocommerce, .wp-site-blocks) select,
:where(.woocommerce, .wp-site-blocks) textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid #d9d6d0;
  border-radius: 10px;
  padding: 11px 14px;
  background: #fff;
  color: var(--mp-text);
  outline: none;
}
:where(.woocommerce, .wp-site-blocks) textarea { min-height: 120px; resize: vertical; }
:where(.woocommerce, .wp-site-blocks) input:focus,
:where(.woocommerce, .wp-site-blocks) select:focus,
:where(.woocommerce, .wp-site-blocks) textarea:focus {
  border-color: var(--mp-text);
  box-shadow: 0 0 0 3px rgba(23,23,23,.08);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  margin: 0 0 24px;
  padding: 16px 18px 16px 48px;
  border: 1px solid var(--mp-line);
  border-radius: var(--mp-radius-md);
  background: var(--mp-soft);
  color: var(--mp-text);
  line-height: 1.5;
}
.woocommerce-error { border-color: #e8b7b0; background: #fff4f2; }
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { top: 16px; left: 18px; }

.woocommerce nav.woocommerce-pagination ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  border: 0;
}
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: grid;
  place-items: center;
  min-width: 42px;
  min-height: 42px;
  padding: 8px;
  border: 1px solid var(--mp-line);
  border-radius: 999px;
  background: #fff;
  color: var(--mp-text);
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  border-color: var(--mp-text);
  background: var(--mp-text);
  color: #fff;
}

.woocommerce .woocommerce-breadcrumb {
  margin: 0 0 24px;
  color: var(--mp-muted);
  font-size: 13px;
}
.woocommerce .woocommerce-breadcrumb a { color: inherit; }

@media (max-width: 680px) {
  :where(.woocommerce, .wp-site-blocks) .button,
  :where(.woocommerce, .wp-site-blocks) button[type="submit"],
  :where(.woocommerce, .wp-site-blocks) input[type="submit"] { min-height: 44px; }
  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error { padding: 14px 14px 14px 42px; font-size: 14px; }
  .woocommerce-message::before,
  .woocommerce-info::before,
  .woocommerce-error::before { top: 14px; left: 15px; }
}
/* Keep the MailPoet subscription popup reachable on short and mobile screens. */
body .mailpoet_form_popup.active {
	top: 50% !important;
	right: auto !important;
	bottom: auto !important;
	left: 50% !important;
	max-width: calc(100vw - 24px) !important;
	max-height: calc(100dvh - 24px) !important;
	overflow-y: auto !important;
	transform: translate(-50%, -50%) !important;
}

@media (max-width: 500px) {
	body #mp_form_popup1.mailpoet_form_popup.active {
		box-sizing: border-box !important;
		width: calc(100vw - 24px) !important;
		min-width: 0 !important;
		max-height: calc(100dvh - 96px) !important;
		padding: 20px 16px !important;
		border: 1px solid rgba(23, 52, 97, .12) !important;
		border-radius: 16px !important;
		background: #fff !important;
		box-shadow: 0 18px 55px rgba(23, 52, 97, .24) !important;
	}
	body #mp_form_popup1 > form.mailpoet_form_popup {
		width: 100% !important;
		background: transparent !important;
	}
	body #mp_form_popup1 fieldset {
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
	}
	body #mp_form_popup1 legend.mailpoet_checkbox_label,
	body #mp_form_popup1 label.mailpoet_checkbox_label {
		font-size: 14px !important;
		line-height: 1.35 !important;
	}
	body #mp_form_popup1 .mailpoet_form_paragraph.last {
		font-size: 12px !important;
		line-height: 1.45 !important;
	}
}

/* Mini Care status in the WooCommerce account dashboard. */
.mp-account-care {
	margin: 0 0 32px;
	padding: clamp(22px, 4vw, 36px);
	border-radius: 24px;
	background: #f7f1eb;
	color: #173461;
}
.mp-account-care__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}
.mp-account-care__eyebrow,
.mp-account-care__next { margin: 0; }
.mp-account-care h2 { margin: 4px 0 0; }
.mp-account-care__discount {
	font-size: clamp(36px, 7vw, 64px);
	line-height: 1;
}
.mp-account-care__progress {
	height: 12px;
	margin: 18px 0 10px;
	overflow: hidden;
	border-radius: 999px;
	background: #dfd5cc;
}
.mp-account-care__progress span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: #173461;
}
.mp-mini-care-total td { font-size: 13px; }

/* ==== pages.css ==== */
/* Service pages: account, legal content, generic pages, search and 404 */

.mp-account-page,
.mp-editable-page,
.mp-search-page,
.mp-404-page,
.main-page {
  padding-inline: var(--mp-page-gutter, clamp(16px, 4vw, 48px));
}

.mp-account-page,
.mp-editable-page,
.mp-search-page,
.mp-404-page {
  padding-block: clamp(32px, 6vw, 80px);
}

.mp-account-intro,
.mp-account-shell,
.mp-editable-page__content,
.mp-search-page > *,
.mp-not-found {
  width: min(100%, 1180px);
  margin-inline: auto;
}

.mp-account-intro {
  margin-bottom: clamp(24px, 4vw, 42px);
  text-align: center;
}

.mp-account-intro__title {
  margin: 0 0 12px;
  font-size: clamp(30px, 5vw, 54px);
  line-height: 1.04;
  letter-spacing: -.03em;
}

.mp-account-intro__text {
  max-width: 680px;
  margin: 0 auto;
  color: var(--mp-muted);
  font-size: clamp(15px, 2vw, 18px);
  line-height: 1.55;
}

/* WooCommerce account */
.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: minmax(210px, 260px) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
}

.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after { display: none; }

.woocommerce-MyAccount-navigation {
  padding: 10px;
  border: 1px solid var(--mp-line);
  border-radius: var(--mp-radius-lg);
  background: var(--mp-soft);
}

.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-MyAccount-navigation li + li { margin-top: 4px; }

.woocommerce-MyAccount-navigation a {
  display: block;
  padding: 12px 14px;
  border-radius: 12px;
  color: var(--mp-text);
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
}

.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation a:hover {
  background: #fff;
  box-shadow: 0 6px 22px rgba(23, 23, 23, .07);
}

.woocommerce-MyAccount-content {
  min-width: 0;
  padding: clamp(22px, 4vw, 40px);
  border: 1px solid var(--mp-line);
  border-radius: var(--mp-radius-lg);
  background: #fff;
}

.woocommerce-MyAccount-content > :first-child { margin-top: 0; }
.woocommerce-MyAccount-content > :last-child { margin-bottom: 0; }

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  margin-top: 0;
  letter-spacing: -.02em;
}

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-EditAccountForm,
.woocommerce-address-fields {
  padding: clamp(20px, 4vw, 34px);
  border: 1px solid var(--mp-line);
  border-radius: var(--mp-radius-lg);
  background: #fff;
}

.woocommerce-account .u-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.woocommerce-account .u-column1,
.woocommerce-account .u-column2 { width: auto; float: none; }

.woocommerce-account .form-row { margin-bottom: 16px; }
.woocommerce-account label { display: inline-block; margin-bottom: 7px; font-weight: 600; }

.woocommerce-account table.shop_table {
  overflow: hidden;
  border: 1px solid var(--mp-line);
  border-radius: var(--mp-radius-md);
}

.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td { padding: 14px 16px; }

.woocommerce-account .woocommerce-Address {
  width: calc(50% - 12px);
  padding: 20px;
  border: 1px solid var(--mp-line);
  border-radius: var(--mp-radius-md);
}

.woocommerce-account .woocommerce-Address-title h3 { margin: 0 0 12px; }

/* Legal and editorial pages */
.mp-legal-template .mp-editable-page__content,
.main-page {
  width: min(100%, 920px);
  margin-inline: auto;
}

.mp-editable-page__content > :first-child,
.main-page > :first-child { margin-top: 0; }

.mp-editable-page__content h1,
.mp-editable-page__content h2,
.mp-editable-page__content h3,
.main-page h1,
.main-page h2,
.main-page h3 {
  line-height: 1.15;
  letter-spacing: -.025em;
}

.mp-editable-page__content h2,
.main-page h2 { margin-top: clamp(32px, 6vw, 58px); }

.mp-editable-page__content p,
.mp-editable-page__content li,
.main-page p,
.main-page li {
  color: #3c3b38;
  line-height: 1.72;
}

.mp-editable-page__content a,
.main-page a {
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.mp-editable-page__content table,
.main-page table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
}

.mp-editable-page__content th,
.mp-editable-page__content td,
.main-page th,
.main-page td {
  padding: 12px 14px;
  border: 1px solid var(--mp-line);
  text-align: left;
  vertical-align: top;
}

/* Search page */
.mp-search-page__form {
  width: min(100%, 680px);
  margin: 0 auto clamp(30px, 5vw, 56px);
}

.mp-search-page__form .wp-block-search__inside-wrapper {
  padding: 5px;
  border: 1px solid var(--mp-line);
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 10px 32px rgba(23, 23, 23, .06);
}

.mp-search-page__form input {
  min-height: 46px;
  border: 0 !important;
  border-radius: 999px;
  box-shadow: none !important;
}

.mp-search-page__form button {
  min-height: 46px;
  margin-left: 6px;
  border-radius: 999px;
}

.mp-post-grid {
  gap: clamp(16px, 2.5vw, 30px);
}

.mp-post-card {
  overflow: hidden;
  border: 1px solid var(--mp-line);
  border-radius: var(--mp-radius-lg);
  background: #fff;
  transition: transform .2s ease, box-shadow .2s ease;
}

.mp-post-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 42px rgba(23, 23, 23, .09);
}

.mp-post-card__image img { width: 100%; object-fit: cover; }
.mp-post-card__body { padding: 16px 18px 20px; }
.mp-post-card__title { margin: 0 0 10px; line-height: 1.3; }
.mp-post-card__title a { color: inherit; text-decoration: none; }
.mp-post-card__button { display: inline-flex; margin-top: 12px; font-weight: 600; }

.mp-empty-state {
  padding: clamp(30px, 6vw, 64px) 20px;
  border: 1px dashed var(--mp-line);
  border-radius: var(--mp-radius-lg);
  background: var(--mp-soft);
}

/* 404 */
.mp-404-page {
  display: grid;
  min-height: min(720px, calc(100dvh - 180px));
  place-items: center;
}

.mp-not-found {
  padding: clamp(38px, 7vw, 84px) clamp(18px, 5vw, 56px);
  border: 1px solid var(--mp-line);
  border-radius: clamp(24px, 4vw, 40px);
  background: linear-gradient(145deg, #fff 0%, var(--mp-soft) 100%);
  text-align: center;
}

.mp-not-found__code {
  margin: 0;
  font-size: clamp(84px, 18vw, 190px);
  line-height: .85;
  letter-spacing: -.08em;
}

.mp-not-found__title {
  margin: clamp(18px, 4vw, 32px) 0 12px;
  font-size: clamp(28px, 5vw, 48px);
  letter-spacing: -.03em;
}

.mp-not-found__text {
  max-width: 620px;
  margin: 0 auto 26px;
  color: var(--mp-muted);
  line-height: 1.6;
}

.mp-not-found__search {
  width: min(100%, 620px);
  margin: 28px auto 0;
}

.mp-not-found__search .wp-block-search__inside-wrapper {
  padding: 5px;
  border: 1px solid var(--mp-line);
  border-radius: 999px;
  background: #fff;
}

.mp-not-found__search input { border: 0 !important; box-shadow: none !important; }
.mp-not-found__search button { border-radius: 999px; }

@media (max-width: 820px) {
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
  .woocommerce-MyAccount-navigation { overflow-x: auto; padding: 8px; }
  .woocommerce-MyAccount-navigation ul { display: flex; width: max-content; gap: 4px; }
  .woocommerce-MyAccount-navigation li + li { margin-top: 0; }
  .woocommerce-MyAccount-navigation a { white-space: nowrap; }
  .woocommerce-account .u-columns { grid-template-columns: 1fr; }
  .woocommerce-account .woocommerce-Address { width: 100%; float: none; }
  .woocommerce-account .woocommerce-Address + .woocommerce-Address { margin-top: 16px; }
  .mp-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 560px) {
  .mp-account-page,
  .mp-editable-page,
  .mp-search-page,
  .mp-404-page { padding-block: 28px 42px; }

  .woocommerce-MyAccount-content,
  .woocommerce-account .woocommerce-form-login,
  .woocommerce-account .woocommerce-form-register,
  .woocommerce-EditAccountForm,
  .woocommerce-address-fields { padding: 18px; border-radius: 18px; }

  .woocommerce-account table.shop_table,
  .woocommerce-account table.shop_table tbody,
  .woocommerce-account table.shop_table tr,
  .woocommerce-account table.shop_table td { display: block; width: 100%; }

  .woocommerce-account table.shop_table thead { display: none; }
  .woocommerce-account table.shop_table tr { padding: 14px; border-bottom: 1px solid var(--mp-line); }
  .woocommerce-account table.shop_table tr:last-child { border-bottom: 0; }
  .woocommerce-account table.shop_table td { padding: 6px 0; border: 0; text-align: left !important; }
  .woocommerce-account table.shop_table td::before { margin-right: 8px; font-weight: 700; }

  .mp-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px; }
  .mp-post-card__body { padding: 12px 12px 15px; }
  .mp-post-card__title { font-size: 15px !important; }
  .mp-post-card__button { font-size: 13px; }

  .mp-search-page__form .wp-block-search__inside-wrapper,
  .mp-not-found__search .wp-block-search__inside-wrapper { border-radius: 18px; }

  .mp-search-page__form button,
  .mp-not-found__search button { padding-inline: 16px; }

  .mp-not-found .wp-block-buttons { flex-direction: column; align-items: stretch; }
  .mp-not-found .wp-block-button,
  .mp-not-found .wp-block-button__link { width: 100%; }
}

@media (orientation: landscape) and (max-height: 520px) and (max-width: 950px) {
  .mp-account-page,
  .mp-editable-page,
  .mp-search-page,
  .mp-404-page { padding-block: 20px 28px; }

  .mp-404-page { min-height: auto; }
  .mp-not-found { padding-block: 24px; }
  .mp-not-found__code { font-size: clamp(70px, 18vh, 110px); }
  .mp-not-found__title { margin-top: 12px; }
  .mp-not-found__search { margin-top: 18px; }
}

/* Contacts page */
.mp-contacts-page {
  box-sizing: border-box;
  width: min(calc(100vw - 80px), 1180px) !important;
  max-width: none !important;
  margin-left: 50% !important;
  transform: translateX(-50%);
  padding: clamp(62px, 8vw, 104px) 24px clamp(72px, 9vw, 120px);
}

.mp-contacts-page-content {
  display: contents;
}

.mp-contacts-hero {
  margin-bottom: clamp(42px, 6vw, 68px) !important;
}

.mp-contacts-title {
  margin: 8px 0 18px !important;
  color: var(--mp-sand-dark) !important;
  font-family: var(--mp-font-script) !important;
  font-size: clamp(52px, 7vw, 84px) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.mp-contacts-lead {
  max-width: 620px;
  margin-inline: auto !important;
  color: #596775;
  font-size: 17px;
  line-height: 1.65;
}

.mp-contacts-grid {
  align-items: stretch !important;
  gap: 0 !important;
  border: 1px solid #e2e6e9;
  background: #fff;
}

.mp-contact-card {
  min-width: 0;
  padding: clamp(28px, 4vw, 44px) !important;
  border-right: 1px solid #e2e6e9;
}

.mp-contact-card:last-child {
  border-right: 0;
}

.mp-contact-card__label {
  margin: 0 0 16px !important;
  color: #b79a84 !important;
  font-size: 11px !important;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.mp-contact-card__title {
  margin: 0 0 18px !important;
  font-size: clamp(20px, 2vw, 27px) !important;
  line-height: 1.2 !important;
  overflow-wrap: anywhere;
}

.mp-contact-card__title a {
  color: var(--mp-primary, #213b67) !important;
  text-decoration: none !important;
}

.mp-contact-card > p:last-child {
  margin-bottom: 0 !important;
  color: #66727c;
  line-height: 1.6;
}

.mp-contact-address {
  padding: 26px clamp(28px, 4vw, 44px) !important;
  border: solid #e2e6e9;
  border-width: 0 1px 1px;
  background: #f7fafc;
}

.mp-contact-address__text {
  margin: 0 !important;
  color: var(--mp-primary, #213b67) !important;
  font-size: clamp(16px, 1.6vw, 20px) !important;
  line-height: 1.5 !important;
}

@media (max-width: 781px) {
  .mp-contacts-page {
    width: calc(100vw - 32px) !important;
    padding-inline: 0;
  }

  .mp-contacts-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .mp-contact-card {
    border-right: 0;
    border-bottom: 1px solid #e2e6e9;
  }

  .mp-contact-card:last-child {
    border-bottom: 0;
  }
}

/* Return policy: a single expressive page title, while the legal hierarchy
   below it keeps the neutral document typography. */
.mp-return-policy-template .mp-return-page-title {
  margin: 0 0 clamp(30px, 4vw, 46px) !important;
  color: var(--mp-sand-dark) !important;
  font-family: var(--mp-font-script) !important;
  font-size: clamp(48px, 6vw, 76px) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}

.mp-return-policy-template .mp-return-page-title strong {
  font: inherit;
}

.mp-care-rules-template .mp-care-rules-page-title {
  color: var(--mp-sand-dark) !important;
  font-family: var(--mp-font-body) !important;
  font-size: clamp(38px, 5vw, 64px) !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
  letter-spacing: 0 !important;
}

.mp-legal-template .mp-legal-page-title {
  margin: 0 0 clamp(20px, 3vw, 32px) !important;
  color: var(--mp-sand-dark) !important;
  font-family: var(--mp-font-script) !important;
  font-size: clamp(48px, 6vw, 76px) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}

.mp-legal-template .mp-policy-page-title {
  max-width: 1000px !important;
  margin-inline: auto !important;
  font-size: clamp(40px, 5vw, 62px) !important;
  line-height: 1.08 !important;
  text-wrap: balance;
}

.mp-legal-template .mp-consent-page-title {
  max-width: 920px !important;
  margin-inline: auto !important;
  font-size: clamp(42px, 5.4vw, 66px) !important;
  line-height: 1.06 !important;
  text-wrap: balance;
}

.mp-legal-template .mp-marketing-consent-title {
  max-width: 920px !important;
  margin-inline: auto !important;
  font-size: clamp(42px, 5.4vw, 66px) !important;
  line-height: 1.06 !important;
  text-wrap: balance;
}

@media (max-width: 600px) {
  .mp-return-policy-template .mp-return-page-title {
    margin-bottom: 28px !important;
    font-size: clamp(42px, 14vw, 58px) !important;
  }

  .mp-care-rules-template .mp-care-rules-page-title {
    font-size: clamp(34px, 10vw, 48px) !important;
  }

  .mp-legal-template .mp-legal-page-title {
    font-size: clamp(42px, 14vw, 58px) !important;
  }

  .mp-legal-template .mp-policy-page-title {
    font-size: clamp(34px, 11vw, 48px) !important;
  }

  .mp-legal-template .mp-consent-page-title {
    font-size: clamp(36px, 12vw, 50px) !important;
  }

  .mp-legal-template .mp-marketing-consent-title {
    font-size: clamp(36px, 12vw, 50px) !important;
  }
}

/* Canopea-inspired account and document pages */
.mp-account-intro {
  max-width: 820px;
  margin: 0 auto clamp(30px, 5vw, 58px);
  text-align: center;
}
.mp-account-intro__title {
  margin-bottom: 12px;
  font-size: clamp(30px, 4vw, 50px);
  font-weight: 500;
  letter-spacing: -.035em;
}
.mp-account-intro__text { color: var(--mp-muted); }
.woocommerce-account .woocommerce {
  gap: clamp(22px, 4vw, 48px);
}
.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-EditAccountForm,
.woocommerce-address-fields {
  border: 1px solid rgba(28,28,28,.14);
  border-radius: 14px;
  background: #fff;
  box-shadow: none;
}
.woocommerce-MyAccount-navigation { padding: 10px; }
.woocommerce-MyAccount-navigation a {
  border-radius: 999px;
  font-size: 13px;
  letter-spacing: .04em;
}
.woocommerce-MyAccount-navigation .is-active a,
.woocommerce-MyAccount-navigation a:hover { background: #f2efe9; }
.woocommerce-MyAccount-content { padding: clamp(20px, 3vw, 36px); }
.woocommerce-account input,
.woocommerce-account select,
.woocommerce-account textarea {
  border: 0 !important;
  border-bottom: 1px solid rgba(28,28,28,.18) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.woocommerce-account .button {
  border-radius: 999px !important;
  letter-spacing: .05em;
}

.mp-document-page {
  padding: clamp(62px, 8vw, 116px) 20px;
}
.mp-document-page .mp-page-title {
  margin: 8px auto 18px;
  max-width: 880px;
  font-size: clamp(32px, 5vw, 58px);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -.04em;
}
.mp-document-page .mp-page-lead {
  max-width: 720px;
  margin: 0 auto clamp(30px, 5vw, 56px);
  color: var(--mp-muted);
  font-size: clamp(16px, 2vw, 20px);
  line-height: 1.6;
}
.mp-document-card {
  padding: clamp(24px, 5vw, 58px);
  border: 1px solid rgba(28,28,28,.14);
  border-radius: 16px;
  background: #fff;
}
.mp-document-card h2 {
  margin: 2.2em 0 .7em;
  font-size: clamp(21px, 2.5vw, 29px);
  font-weight: 500;
  letter-spacing: -.02em;
}
.mp-document-card h2:first-child { margin-top: 0; }
.mp-document-card p,
.mp-document-card li { line-height: 1.75; }
@media (max-width: 560px) {
  .mp-document-page { padding: 42px 16px 64px; }
  .mp-document-card { padding: 20px 18px; border-radius: 12px; }
}

/* Mini Problems 2.1.1 — account layout hardening and responsive polish. */
.woocommerce-account .mp-account-page,
.woocommerce-account .mp-account-shell,
.woocommerce-account .mp-account-shell > .wp-block-post-content,
.woocommerce-account .mp-account-shell .woocommerce {
  width: 100% !important;
  max-width: none !important;
}

.woocommerce-account .mp-account-shell {
  width: min(100%, 1180px) !important;
  margin-inline: auto !important;
  padding: clamp(18px, 3vw, 34px) !important;
}

.woocommerce-account .mp-account-shell .woocommerce {
  display: grid !important;
  grid-template-columns: minmax(230px, 270px) minmax(0, 1fr) !important;
  gap: clamp(24px, 4vw, 52px) !important;
  align-items: start !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  padding: 8px !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  padding: 13px 15px !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
  padding: clamp(24px, 4vw, 44px) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.woocommerce-account .woocommerce-MyAccount-content p {
  max-width: 760px;
}

@media (max-width: 781px) {
  .woocommerce-account .mp-account-page {
    padding-inline: 14px !important;
    padding-block: 30px 84px !important;
  }

  .woocommerce-account .mp-account-intro {
    margin-bottom: 22px !important;
  }

  .woocommerce-account .mp-account-intro__title {
    font-size: clamp(28px, 9vw, 38px) !important;
  }

  .woocommerce-account .mp-account-shell {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  .woocommerce-account .mp-account-shell .woocommerce {
    display: block !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation {
    margin-bottom: 16px !important;
    overflow-x: auto !important;
    border-radius: 12px !important;
    scrollbar-width: none;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation::-webkit-scrollbar {
    display: none;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex !important;
    min-width: max-content !important;
    gap: 4px !important;
    border: 0 !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation li,
  .woocommerce-account .woocommerce-MyAccount-navigation li + li {
    margin: 0 !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation a {
    min-height: 42px !important;
    padding: 11px 14px !important;
    border: 0 !important;
    white-space: nowrap !important;
  }

  .woocommerce-account .woocommerce-MyAccount-content {
    padding: 20px 18px !important;
    border-radius: 12px !important;
  }

  .woocommerce-account table.shop_table {
    display: block !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
  }

  .woocommerce-account .woocommerce-Address {
    float: none !important;
    width: 100% !important;
    margin-bottom: 14px !important;
  }
}

/* Mini Problems 2.1.3 — responsive hardening for service and document pages. */
.mp-account-page,
.mp-editable-page,
.mp-search-page,
.mp-404-page,
.mp-document-page,
.main-page,
.woocommerce-order-received .site-main,
.woocommerce-view-order .site-main {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
}

.mp-editable-page__content,
.mp-document-card,
.main-page,
.woocommerce-MyAccount-content,
.woocommerce-order,
.woocommerce-order-details,
.woocommerce-customer-details {
  min-width: 0;
  max-width: 100%;
}

.mp-editable-page__content img,
.mp-document-card img,
.main-page img,
.woocommerce-account img,
.woocommerce-order img {
  max-width: 100%;
  height: auto;
}

.mp-editable-page__content iframe,
.mp-editable-page__content video,
.mp-editable-page__content embed,
.mp-document-card iframe,
.mp-document-card video,
.main-page iframe,
.main-page video {
  display: block;
  width: 100%;
  max-width: 100%;
}

.mp-editable-page__content pre,
.mp-document-card pre,
.main-page pre {
  max-width: 100%;
  overflow-x: auto;
  white-space: pre;
  -webkit-overflow-scrolling: touch;
}

.mp-editable-page__content table,
.mp-document-card table,
.main-page table,
.woocommerce-order-details table,
.woocommerce-customer-details table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.mp-editable-page__content table::before,
.mp-document-card table::before,
.main-page table::before {
  content: "Листайте таблицу в сторону →";
  display: none;
  padding: 0 0 10px;
  color: var(--mp-muted, #6f6f6f);
  font-size: 12px;
  letter-spacing: .04em;
}

.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content a.button,
.woocommerce-order .button,
.woocommerce-order a.button {
  max-width: 100%;
  white-space: normal;
  text-align: center;
}

.woocommerce-account .woocommerce-MyAccount-content address,
.woocommerce-order address {
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.woocommerce-order-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 28px !important;
  padding: 0 !important;
  list-style: none;
}

.woocommerce-order-overview li {
  min-width: 0;
  margin: 0 !important;
  padding: 16px !important;
  border: 1px solid var(--mp-line, rgba(28,28,28,.14));
  border-radius: 12px;
  overflow-wrap: anywhere;
}

.woocommerce-order-details,
.woocommerce-customer-details {
  margin-top: 24px;
  padding: clamp(18px, 3vw, 32px);
  border: 1px solid var(--mp-line, rgba(28,28,28,.14));
  border-radius: 14px;
  background: #fff;
}

@media (max-width: 980px) {
  .woocommerce-order-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mp-document-page,
  .mp-editable-page,
  .mp-search-page,
  .mp-404-page {
    padding-inline: clamp(16px, 4vw, 28px);
  }
}

@media (max-width: 680px) {
  .mp-document-page .mp-page-title,
  .mp-editable-page__content h1,
  .main-page h1 {
    font-size: clamp(28px, 9vw, 40px) !important;
    line-height: 1.08 !important;
    overflow-wrap: anywhere;
  }

  .mp-document-page .mp-page-lead {
    font-size: 16px;
    line-height: 1.55;
  }

  .mp-document-card h2,
  .mp-editable-page__content h2,
  .main-page h2 {
    font-size: clamp(21px, 6vw, 28px) !important;
  }

  .mp-editable-page__content table::before,
  .mp-document-card table::before,
  .main-page table::before {
    display: block;
  }

  .woocommerce-order-overview {
    grid-template-columns: 1fr;
  }

  .woocommerce-order-details,
  .woocommerce-customer-details {
    padding: 18px 16px;
    border-radius: 12px;
  }

  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions a {
    width: 100%;
  }

  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions a + a {
    margin-top: 8px;
  }

  .mp-search-page__form .wp-block-search__inside-wrapper,
  .mp-not-found__search .wp-block-search__inside-wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
    width: 100%;
  }

  .mp-search-page__form input,
  .mp-not-found__search input {
    min-width: 0;
    width: 100%;
  }
}

@media (max-width: 420px) {
  .mp-account-page,
  .mp-editable-page,
  .mp-search-page,
  .mp-404-page,
  .mp-document-page {
    padding-inline: 12px !important;
  }

  .mp-document-card,
  .woocommerce-MyAccount-content,
  .woocommerce-order-details,
  .woocommerce-customer-details {
    padding-inline: 14px !important;
  }

  .mp-post-grid {
    grid-template-columns: 1fr !important;
  }

  .mp-search-page__form .wp-block-search__inside-wrapper,
  .mp-not-found__search .wp-block-search__inside-wrapper {
    grid-template-columns: 1fr;
    border-radius: 14px;
  }

  .mp-search-page__form button,
  .mp-not-found__search button {
    width: 100%;
    margin-left: 0;
  }

  .mp-not-found__code {
    font-size: clamp(72px, 26vw, 108px);
  }
}

@media (orientation: landscape) and (max-height: 520px) and (max-width: 950px) {
  .woocommerce-account .mp-account-shell .woocommerce {
    display: grid !important;
    grid-template-columns: minmax(180px, 220px) minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation {
    max-height: calc(100dvh - 100px);
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: block !important;
    min-width: 0 !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation a {
    white-space: normal !important;
  }

  .mp-document-page {
    padding-block: 26px 34px;
  }

  .mp-document-card {
    padding: 20px;
  }
}
.mp-contact-form,
.mp-thank-you-page {
  width: min(760px, calc(100% - 32px));
  margin: clamp(38px, 7vw, 88px) auto;
  padding: clamp(24px, 5vw, 54px);
  border: 1px solid rgba(28,28,28,.12);
  border-radius: 20px;
  background: #fff;
  text-align: center;
}
.mp-contact-form form { margin-top: 28px; text-align: left; }
.mp-contact-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.mp-contact-form label { display: block; margin-bottom: 18px; font-weight: 600; }
.mp-contact-form input:not([type="checkbox"]),
.mp-contact-form textarea {
  box-sizing: border-box;
  width: 100%;
  margin-top: 7px;
  padding: 13px 15px;
  border: 1px solid rgba(28,28,28,.24);
  border-radius: 10px;
  background: #fff;
  font: inherit;
}
.mp-contact-form__consent { display: flex !important; gap: 10px; align-items: flex-start; font-size: 13px; font-weight: 400 !important; }
.mp-contact-form__consent input { margin-top: 3px; }
.mp-contact-form button,
.mp-thank-you-page .wp-element-button,
.mp-thank-you-actions .button { border-radius: 999px !important; }
.mp-contact-form button { min-height: 50px; padding: 0 28px; border: 0; background: #223e6d; color: #fff; font-weight: 700; cursor: pointer; }
.mp-contact-form__notice { padding: 12px 15px; border-radius: 8px; background: #fff0ed; color: #8b2418; }
.mp-contact-form__trap { position: absolute; left: -9999px; }
.mp-thank-you-page .wp-block-buttons { justify-content: center; margin-top: 28px; }
.mp-thank-you-actions { margin: 28px 0; text-align: center; }
.mp-thank-you-actions__buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 18px; }
.mp-thank-you-related { margin-top: clamp(36px, 6vw, 72px); }
.mp-thank-you-related > h2 { text-align: center; }
@media (max-width: 640px) {
  .mp-contact-form__grid { grid-template-columns: 1fr; gap: 0; }
  .mp-contact-form button { width: 100%; }
}

.mp-collections-page,
.mp-collection-single { padding: clamp(44px, 7vw, 96px) 20px; }
.mp-collections-page > h1,
.mp-collection-single > h1 { margin-top: 8px; text-align: center; }
.mp-collections-page__lead { max-width: 650px; margin: 0 auto clamp(30px, 5vw, 58px); }
.mp-collections-grid { gap: clamp(20px, 3vw, 38px); }
.mp-collection-card { height: 100%; }
.mp-collection-card .wp-block-post-featured-image { margin: 0 0 18px; overflow: hidden; border-radius: 16px; }
.mp-collection-card .wp-block-post-title { margin: 0 0 8px; }
.mp-collection-card .wp-block-post-title a { color: inherit; text-decoration: none; }
.mp-collection-card .wp-block-post-excerpt__more-link { font-weight: 700; }
.mp-collection-single .wp-block-post-featured-image { margin: clamp(24px, 4vw, 48px) auto; overflow: hidden; border-radius: 20px; }
.mp-collection-single > .wp-block-buttons { margin-top: 40px; }

/* ==== footer.css ==== */
/* Mini Problems footer */
.mp-site-footer {
  margin-block-start: clamp(56px, 7vw, 104px);
  background: #f2efe8;
  color: var(--mp-text);
  border-top: 1px solid rgba(23, 23, 23, .08);
}

.mp-site-footer__inner {
  width: min(100% - (2 * var(--mp-gutter)), var(--mp-page-width));
  margin-inline: auto;
  padding-block: clamp(40px, 5vw, 72px) 22px;
}

.mp-site-footer__columns {
  gap: clamp(28px, 4vw, 64px);
  margin: 0;
}

.mp-site-footer__logo { margin: 0 0 20px; }
.mp-site-footer__logo img { display: block; }
.mp-site-footer__intro {
  max-width: 340px;
  margin: 0 0 18px;
  color: #56534f;
  font-size: 15px;
  line-height: 1.65;
}
.mp-site-footer__contact { margin: 0; font-weight: 600; }
.mp-site-footer a { color: inherit; text-decoration: none; }
.mp-site-footer a:hover,
.mp-site-footer a:focus-visible { text-decoration: underline; }

.mp-site-footer h2 {
  margin: 4px 0 18px;
  font-size: clamp(16px, 1.3vw, 19px);
  line-height: 1.2;
  letter-spacing: -.01em;
}
.mp-site-footer__nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 11px;
}
.mp-site-footer__nav li { margin: 0; color: #56534f; font-size: 15px; }
.mp-site-footer__help p {
  margin: 0 0 20px;
  color: #56534f;
  font-size: 15px;
  line-height: 1.6;
}
.mp-site-footer__buttons { margin: 0; }
.mp-site-footer__buttons .wp-block-button__link {
  min-height: 44px;
  padding: 11px 22px;
  border: 1px solid #fff;
  border-radius: 999px;
  background: transparent;
  color: var(--mp-text);
  font-weight: 600;
}
.mp-site-footer__buttons .wp-block-button__link:hover {
  background: var(--mp-text);
  color: #fff;
  text-decoration: none;
}

.mp-site-footer__bottom {
  gap: 16px 28px;
  margin-top: clamp(34px, 4vw, 56px);
  padding-top: 20px;
  border-top: 1px solid rgba(23, 23, 23, .12);
  color: #6b6863;
  font-size: 13px;
}
.mp-site-footer__bottom p { margin: 0; }

.mp-site-footer__social-icons {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  width: min(100%, 230px);
  margin: 16px 0 0;
}
.mp-site-footer__social-icons a {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  column-gap: 10px;
  min-width: 44px;
  width: 100%;
  min-height: 44px;
  padding: 9px 24px;
  border: 1px solid rgba(247, 251, 253, .34);
  border-radius: 999px;
  color: #F7FBFD;
  font-size: 13px;
  line-height: 1;
  text-decoration: none;
  transition: background-color .2s ease, border-color .2s ease, opacity .2s ease;
  box-sizing: border-box;
}
.mp-site-footer__social-icons svg {
  display: block;
  justify-self: center;
  width: 23px;
  height: 23px;
  fill: currentColor;
  stroke: currentColor;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.mp-site-footer__social-icons a::after {
  justify-self: start;
  white-space: nowrap;
}
.mp-site-footer__social-icons a:nth-child(1)::after { content: 'Почта'; }
.mp-site-footer__social-icons a:nth-child(2)::after { content: 'ВКонтакте'; }
.mp-site-footer__social-icons a:nth-child(3)::after { content: 'Telegram'; }
.mp-site-footer__social-icons a:first-child svg { fill: none; }
.mp-site-footer__social-icons a:hover { border-color: #F7FBFD; background: rgba(247, 251, 253, .1); opacity: 1; }

@media (max-width: 900px) {
  .mp-site-footer__columns { flex-wrap: wrap !important; }
  .mp-site-footer__brand { flex-basis: 100% !important; }
  .mp-site-footer__nav,
  .mp-site-footer__help { flex-basis: calc(33.333% - 20px) !important; }
}

@media (max-width: 600px) {
  .mp-site-footer__social-icons {
    width: min(100%, 230px);
  }
}

@media (max-width: 680px) {
  .mp-site-footer { margin-block-start: 48px; }
  .mp-site-footer__inner { padding-block-start: 34px; }
  .mp-site-footer__columns { gap: 30px; }
  .mp-site-footer__nav,
  .mp-site-footer__help { flex-basis: 100% !important; }
  .mp-site-footer h2 { margin-bottom: 13px; }
  .mp-site-footer__bottom { align-items: flex-start; }
}

@media (orientation: landscape) and (max-height: 520px) and (max-width: 950px) {
  .mp-site-footer__inner { padding-block-start: 28px; }
  .mp-site-footer__columns { gap: 24px; }
  .mp-site-footer__brand { flex-basis: 36% !important; }
  .mp-site-footer__nav { flex-basis: calc(32% - 16px) !important; }
  .mp-site-footer__help { flex-basis: 100% !important; }
  .mp-site-footer__logo img { width: 122px !important; height: auto !important; }
}

/* ==== mobile.css ==== */
/* Cross-section responsive rules are added here only when a component cannot own them. */

/* The UPF explanation is a core Media & Text block. WordPress keeps that block
   in two columns until 600px, which leaves an unreadably narrow text column on
   tablets. Stack it at the theme's tablet breakpoint instead. */
@media (max-width: 900px) {
  .mp-front-page .mp-upf-explain__grid,
  .mp-upf-page .mp-upf-explain__grid {
    gap: 28px !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .mp-front-page .mp-upf-explain__grid > .wp-block-media-text__content,
  .mp-upf-page .mp-upf-explain__grid > .wp-block-media-text__content {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0;
  }

  .mp-front-page .mp-upf-explain__grid > .wp-block-media-text__media,
  .mp-upf-page .mp-upf-explain__grid > .wp-block-media-text__media {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-width: 0;
    width: 100%;
  }
}

/* ==== landscape.css ==== */
/* Mobile landscape safeguards */
@media (orientation: landscape) and (max-height: 520px) and (max-width: 950px) {
  html { scroll-padding-top: 64px; }
  body { min-width: 320px; }

  .mp-site-header,
  .mp-header { --mp-header-height: 62px; }

  .mp-mobile-menu,
  .mp-catalog-drawer,
  .mp-size-guide-modal,
  .woocommerce-store-notice {
    max-height: 100dvh;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .mp-mobile-menu__inner,
  .mp-catalog-drawer__inner,
  .mp-size-guide-modal__dialog { padding-bottom: max(18px, env(safe-area-inset-bottom)); }

  .mp-home-hero,
  .wp-block-cover.mp-home-hero { min-height: clamp(300px, 88dvh, 520px); }

  .single-product div.product,
  .woocommerce div.product { align-items: start; }

  .woocommerce div.product div.images,
  .woocommerce div.product div.summary { margin-bottom: 22px; }

  .woocommerce-cart-form,
  .cart_totals,
  .woocommerce-checkout-review-order { position: static !important; }

  .mp-catalog-toolbar { position: static; }
}

/* ==== polish.css ==== */
/* Mini Problems 2.1.4 — final alignment polish for page headers and catalog filters. */

/*
 * One header canvas for editable/service pages.
 * The actual page patterns use different hero classes, but their eyebrow,
 * title and lead must share the same centre line and readable measure.
 */
.mp-editable-page .mp-brand-hero,
.mp-editable-page .mp-care-page__hero,
.mp-editable-page .mp-delivery-hero,
.mp-editable-page .mp-faq-hero,
.mp-editable-page .mp-document-page,
.mp-editable-page .mp-legal-page,
.mp-account-intro,
.mp-search-page > .wp-block-group:first-child,
.mp-404-page > .wp-block-group:first-child {
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-inline: auto !important;
  padding-inline: clamp(20px, 5vw, 72px) !important;
  text-align: center;
  width: min(100%, 1440px) !important;
}

.mp-editable-page .mp-brand-hero > *,
.mp-editable-page .mp-care-page__hero > *,
.mp-editable-page .mp-delivery-hero > *,
.mp-editable-page .mp-faq-hero > *,
.mp-editable-page .mp-document-page > *,
.mp-editable-page .mp-legal-page > *,
.mp-account-intro > *,
.mp-search-page > .wp-block-group:first-child > *,
.mp-404-page > .wp-block-group:first-child > * {
  box-sizing: border-box;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 920px !important;
  text-align: center !important;
  width: 100%;
}

.mp-editable-page .mp-page-title,
.mp-editable-page h1.mp-page-title,
.mp-account-intro__title,
.mp-search-page h1,
.mp-404-page h1 {
  margin-block: 14px 18px !important;
  max-width: 980px !important;
  overflow-wrap: anywhere;
  text-align: center !important;
  text-wrap: balance;
}

.mp-editable-page .mp-page-lead,
.mp-account-intro__text,
.mp-search-page .mp-page-lead,
.mp-404-page .mp-page-lead {
  max-width: 760px !important;
  text-wrap: pretty;
}

/* Editable pages must respect the alignment selected in the block editor. */
.mp-account-intro__text,
.mp-search-page .mp-page-lead,
.mp-404-page .mp-page-lead {
  text-align: center !important;
}

.mp-editable-page .mp-section-eyebrow,
.mp-editable-page .mp-page-script {
  text-align: center !important;
}

/* The document patterns had no dedicated hero spacing. */
.mp-editable-page .mp-document-page {
  padding-block: clamp(54px, 8vw, 110px) !important;
}

/* Catalog drawer: "Girls / Boys" controls are equal, aligned buttons. */
.mp-catalog-gender-filter__list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px !important;
  width: 100%;
}

.mp-catalog-gender-filter__list li,
.mp-catalog-filters .mp-catalog-gender-filter__list li,
.mp-catalog-filters .mp-catalog-gender-filter__list li + li {
  margin: 0 !important;
  min-width: 0;
  width: 100%;
}

.mp-catalog-gender-filter__list a {
  box-sizing: border-box;
  justify-content: flex-start;
  min-height: 44px;
  padding: 0 12px !important;
  white-space: nowrap;
  width: 100%;
}

@media (max-width: 600px) {
  .mp-editable-page .mp-brand-hero,
  .mp-editable-page .mp-care-page__hero,
  .mp-editable-page .mp-delivery-hero,
  .mp-editable-page .mp-faq-hero,
  .mp-editable-page .mp-document-page,
  .mp-editable-page .mp-legal-page,
  .mp-account-intro,
  .mp-search-page > .wp-block-group:first-child,
  .mp-404-page > .wp-block-group:first-child {
    padding-inline: 18px !important;
  }

  .mp-editable-page .mp-page-title,
  .mp-editable-page h1.mp-page-title,
  .mp-account-intro__title,
  .mp-search-page h1,
  .mp-404-page h1 {
    font-size: clamp(34px, 11vw, 52px) !important;
    line-height: 1.04 !important;
  }

  .mp-catalog-gender-filter__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mp-catalog-gender-filter__list a {
    font-size: 12px;
    gap: 8px;
    padding-inline: 10px !important;
  }
}

@media (max-width: 340px) {
  .mp-catalog-gender-filter__list {
    grid-template-columns: 1fr;
  }
}

/* Fix #2 (client spec): the Complianz cookie banner covered most of the
   mobile viewport, hiding the product image/size picker/CTA behind it.
   Keeps Accept/Decline/Settings, only tightens spacing and repositions it
   above the sticky bottom nav and (on product/cart pages) the sticky
   add-to-cart bar - reusing the same --mp-mobile-nav-height /
   --mp-mobile-action-height variables and has-mobile-*-bar body classes
   those bars are themselves positioned from (see blocks.css), instead of a
   guessed pixel offset that would drift if those bars ever resize. */
@media (max-width: 700px) {
  #cmplz-cookiebanner-container .cmplz-cookiebanner {
    bottom: calc(var(--mp-mobile-nav-height) + env(safe-area-inset-bottom, 0px)) !important;
    top: auto !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: 62vh !important;
    overflow-y: auto !important;
    border-radius: 16px 16px 0 0 !important;
    padding: 14px 16px !important;
  }
  body.has-mobile-product-bar #cmplz-cookiebanner-container .cmplz-cookiebanner,
  body.has-mobile-cart-bar #cmplz-cookiebanner-container .cmplz-cookiebanner {
    bottom: calc(var(--mp-mobile-nav-height) + var(--mp-mobile-action-height) + env(safe-area-inset-bottom, 0px)) !important;
  }
  #cmplz-cookiebanner-container .cmplz-header {
    margin-bottom: 6px !important;
  }
  #cmplz-cookiebanner-container .cmplz-title {
    font-size: 15px !important;
  }
  #cmplz-cookiebanner-container .cmplz-message,
  #cmplz-cookiebanner-container .cmplz-message p {
    font-size: 12.5px !important;
    line-height: 1.35 !important;
    margin: 0 0 10px !important;
  }
  #cmplz-cookiebanner-container .cmplz-divider {
    margin: 8px 0 !important;
  }
  #cmplz-cookiebanner-container .cmplz-buttons {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin: 10px 0 !important;
  }
  #cmplz-cookiebanner-container .cmplz-buttons .cmplz-accept {
    grid-column: 1 / -1 !important;
  }
  #cmplz-cookiebanner-container .cmplz-btn {
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
  }
  #cmplz-cookiebanner-container .cmplz-documents.cmplz-links ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px 12px !important;
    margin: 0 !important;
  }
  #cmplz-cookiebanner-container .cmplz-documents.cmplz-links li {
    font-size: 10.5px !important;
    margin: 0 !important;
  }
}

/* ==== iteration-1.css ==== */
/* First client correction pass. Loaded last to replace conflicting legacy overrides. */

/* Reference-page restoration: editorial image-led layouts for UPF, Care and Brand. */
body.page-template-page-upf-50 .mp-upf-feature,
.mp-upf-page .mp-upf-feature { display: grid !important; grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr) !important; min-height: 520px !important; max-width: 1440px !important; margin: 0 auto !important; background: #f4f9fc !important; }
.mp-upf-page .mp-upf-feature__card { order: 1 !important; align-self: center !important; width: auto !important; max-width: 470px !important; margin: 0 auto !important; padding: 56px !important; background: transparent !important; box-shadow: none !important; }
.mp-upf-page .mp-upf-feature__card,
.mp-upf-page .mp-upf-feature__media { position:static !important; inset:auto !important; transform:none !important; box-sizing:border-box !important; }
.mp-upf-page .mp-upf-feature__media { order: 2 !important; width:100% !important; min-height:520px !important; }
.mp-upf-page .mp-upf-feature__media img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center !important; }
.mp-upf-page .mp-upf-feature__card h2 { margin: 0 0 16px !important; font-size: clamp(38px, 4.2vw, 62px) !important; line-height: 1 !important; color: var(--mp-primary) !important; }
.mp-upf-page .mp-upf-feature__lead { max-width: 13ch; font-size: clamp(22px, 2vw, 30px) !important; line-height: 1.25 !important; }
.mp-upf-page .mp-upf-explain,
.mp-upf-page .mp-upf-compare,
.mp-upf-page .mp-upf-benefits,
.mp-upf-page .mp-upf-product-cta,
.mp-upf-page .mp-upf-faq,
.mp-upf-page .mp-upf-final-cta { width: min(100% - 40px, 1180px) !important; margin-inline: auto !important; }
.mp-upf-page .mp-upf-product-cta { border: 0 !important; }

.mp-editable-page .mp-care-page__hero { position: relative !important; display: flex !important; align-items: center !important; justify-content: center !important; min-height: 500px !important; padding: 64px 55% 64px 7% !important; background-color: #f4f9fc !important; background-image: linear-gradient(90deg,#f4f9fc 0%,rgba(244,249,252,.96) 38%,rgba(244,249,252,.12) 64%),image-set(url('../images/upf-flatlay.webp') type('image/webp'), url('../images/upf-flatlay.png') type('image/png')) !important; background-repeat: no-repeat !important; background-position: center, right center !important; background-size: cover, 62% 100% !important; text-align: left !important; }
.mp-editable-page .mp-care-page__hero > * { width: 100% !important; max-width: 500px !important; margin-left: 0 !important; margin-right: auto !important; text-align: left !important; }
.mp-editable-page .mp-care-page__hero .mp-page-title { margin: 8px 0 16px !important; font-size: clamp(42px, 5vw, 68px) !important; line-height: 1 !important; }
.mp-editable-page .mp-care-page__hero .mp-page-script { margin: 0 0 18px !important; font-size: clamp(25px, 2.4vw, 38px) !important; }
.mp-editable-page .mp-care-page__hero .mp-page-lead { max-width: 30ch !important; margin: 0 !important; font-size: 18px !important; line-height: 1.55 !important; }
.mp-care-page .mp-care { width: min(100% - 40px, 1180px) !important; margin-inline: auto !important; }
.mp-care-page__details { padding-top: 58px !important; }
.mp-care-page__details > .wp-block-columns { gap: 0 !important; }
.mp-care-page__details .mp-care-info-card { border-width: 1px 1px 1px 0 !important; text-align: center !important; }
.mp-care-page__details .mp-care-info-card:first-child { border-left-width: 1px !important; }

.mp-editable-page .mp-brand-hero { position: relative !important; display: flex !important; align-items: center !important; justify-content: flex-start !important; min-height: 520px !important; padding: 42px 7% 350px !important; background-color: #eef7fb !important; background-image: linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.55) 25%,rgba(255,255,255,0) 52%),url('../images/about-family-temp.jpg') !important; background-position: center, center 66% !important; background-repeat: no-repeat !important; background-size: cover !important; }
.mp-editable-page .mp-brand-hero > * { max-width: 760px !important; }
.mp-editable-page .mp-brand-hero .mp-page-title { margin: 0 0 4px !important; font-size: clamp(36px, 4vw, 58px) !important; }
.mp-editable-page .mp-brand-hero .mp-page-script { order: 2; margin: 0 !important; font-size: clamp(22px, 2.2vw, 34px) !important; }
.mp-editable-page .mp-brand-hero .mp-page-lead { display: none !important; }
.mp-brand-origin__grid { display: grid !important; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important; align-items: center !important; }
.mp-brand-photo__image img { width: 100% !important; aspect-ratio: 4 / 5 !important; object-fit: cover !important; }
.mp-brand-philosophy { background: #eef7fb !important; }
.mp-brand-values__grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 0 !important; }
.mp-brand-value { padding: 30px !important; border-right: 1px solid #dfe5e8 !important; text-align: center !important; }
.mp-brand-value:last-child { border-right: 0 !important; }

@media (max-width: 781px) {
  .mp-upf-page .mp-upf-feature { grid-template-columns: 1fr !important; }
  .mp-upf-page .mp-upf-feature__media { order: 1 !important; min-height: 330px !important; }
  .mp-upf-page .mp-upf-feature__card { order: 2 !important; padding: 36px 24px !important; }
  .mp-editable-page .mp-care-page__hero { min-height: 620px !important; padding: 350px 24px 42px !important; background-image: linear-gradient(180deg,rgba(244,249,252,0) 30%,#f4f9fc 60%),image-set(url('../images/upf-flatlay.webp') type('image/webp'), url('../images/upf-flatlay.png') type('image/png')) !important; background-position: center, center top !important; background-size: cover, 100% 390px !important; text-align: center !important; }
  .mp-editable-page .mp-care-page__hero > * { margin-inline: auto !important; text-align: center !important; }
  .mp-editable-page .mp-brand-hero { min-height: 500px !important; padding: 34px 20px 330px !important; background-position: center, center bottom !important; }
  .mp-brand-origin__grid,
  .mp-brand-values__grid { grid-template-columns: 1fr !important; }
  .mp-brand-value { border-right: 0 !important; border-bottom: 1px solid #dfe5e8 !important; }
}

/* 3.0 — clean page rebuilds based on the supplied reference compositions. */
.mp-reference-page { padding:0 !important; }
.mp-ref { color:#173766; background:#fff; }
.mp-ref * { box-sizing:border-box; }
.mp-ref img { display:block; max-width:100%; }
.mp-ref-section { width:min(100% - 40px,1080px); margin:auto; padding:46px 0; text-align:center; }
.mp-ref-section > h2,.mp-ref-final h2 { margin:0 0 28px; font-size:clamp(23px,2.2vw,34px); line-height:1.25; }
.mp-ref-actions { display:flex; justify-content:center; gap:18px; }
.mp-ref-actions a { width:230px; padding:14px 20px; border:1px solid #173766; color:#173766; font-size:12px; font-weight:700; text-align:center; text-decoration:none; }
.mp-ref-actions a.primary { color:#fff; background:#173766; }
.mp-ref-final { padding:38px 20px 60px; text-align:center; }

.mp-ref-care__hero { position:relative; width:100%; min-height:500px; aspect-ratio:1896/829; overflow:hidden; background:#eef6fa; }
.mp-ref-care__hero > picture,
.mp-ref-care__hero > picture > img { position:absolute; inset:0; width:100%; height:100%; }
.mp-ref-care__hero > picture > img { object-fit:cover; object-position:center center; }
.mp-ref-care__hero::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(244,249,252,.97),rgba(244,249,252,.78) 34%,transparent 62%); }
.mp-ref-care__copy { position:relative; z-index:1; display:flex; min-height:100%; flex-direction:column; justify-content:center; width:min(100% - 40px,1120px); margin:auto; padding:58px 0; }
.mp-ref-care__copy h1 { margin:0 0 16px; font-size:clamp(48px,5vw,72px); line-height:1; }
.mp-ref-care__copy p { margin:0 0 30px; color:#273b55; font-size:clamp(21px,2vw,30px); line-height:1.35; }
.mp-ref-care__copy em { font-family:var(--mp-font-script,serif); font-size:clamp(25px,2.7vw,40px); font-weight:400; }
.mp-ref-tiers { display:grid; grid-template-columns:repeat(3,1fr); margin-bottom:clamp(52px,6vw,76px); border:1px solid #e6dfd7; }
.mp-ref-tiers article { min-height:330px; padding:38px 24px; border-right:1px solid #e6dfd7; }
.mp-ref-tiers article:last-child { border-right:0; }
.mp-ref-tiers article.is-active { background:#eaf3f8; }
.mp-ref-tiers b { display:block; margin-bottom:20px; color:#c3a06a; font-size:42px; font-weight:400; }
.mp-ref-tiers h3 { margin:0 0 4px; font-size:22px; }
.mp-ref-tiers strong { display:block; font-size:42px; line-height:1.1; }
.mp-ref-tiers p { margin:8px 0 24px; font-size:13px; }
.mp-ref-tiers small { display:block; padding-top:18px; border-top:1px solid #ddd6ce; line-height:1.5; }
.mp-ref-progress { display:grid; grid-template-columns:1fr 2fr 90px; gap:32px; align-items:center; margin:34px 0 52px; padding:28px 42px; border:1px solid #ddd6ce; text-align:left; }
.mp-ref-progress span,.mp-ref-progress small { display:block; }
.mp-ref-progress > div > strong { display:block; margin:5px 0; font-size:36px; }
.mp-ref-progress i { display:block; height:16px; margin:10px 0; overflow:hidden; background:#eee; border-radius:20px; }
.mp-ref-progress i b { display:block; height:100%; background:#173766; border-radius:20px; }
.mp-ref-progress__star { color:#c3a06a; font-size:62px; text-align:center; }
.mp-ref-tiers + h2 { margin:0 0 28px; }
.mp-ref-steps { display:grid; grid-template-columns:1fr 36px 1fr 36px 1fr; align-items:center; margin:12px 0 50px; }
.mp-ref-steps article { position:relative; padding:20px; }
.mp-ref-steps article > span { position:absolute; left:28px; top:36px; display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#e7d5c4; }
.mp-ref-steps article > b { display:block; font-size:58px; font-weight:400; }
.mp-ref-steps article > b { display:grid; place-items:center; width:58px; height:58px; margin-inline:auto; color:transparent; font-size:0; }
.mp-ref-steps article > b::before { content:''; display:block; width:52px; height:52px; background:#173766; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-position:center; mask-position:center; -webkit-mask-size:contain; mask-size:contain; }
.mp-ref-steps article:nth-of-type(1) > b::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='20' r='10' fill='none' stroke='black' stroke-width='3'/%3E%3Cpath d='M13 55c2-14 9-21 19-21s17 7 19 21' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3Ccircle cx='48' cy='45' r='9' fill='none' stroke='black' stroke-width='3'/%3E%3Cpath d='m44 45 3 3 6-7' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='20' r='10' fill='none' stroke='black' stroke-width='3'/%3E%3Cpath d='M13 55c2-14 9-21 19-21s17 7 19 21' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3Ccircle cx='48' cy='45' r='9' fill='none' stroke='black' stroke-width='3'/%3E%3Cpath d='m44 45 3 3 6-7' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.mp-ref-steps article:nth-of-type(2) > b::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M15 22h34l-3 32H18z' fill='none' stroke='black' stroke-width='3' stroke-linejoin='round'/%3E%3Cpath d='M23 24v-5c0-7 4-11 9-11s9 4 9 11v5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M15 22h34l-3 32H18z' fill='none' stroke='black' stroke-width='3' stroke-linejoin='round'/%3E%3Cpath d='M23 24v-5c0-7 4-11 9-11s9 4 9 11v5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E"); }
.mp-ref-steps article:nth-of-type(3) > b::before { content:'%'; display:grid; place-items:center; box-sizing:border-box; width:52px; height:52px; border:2px solid #173766; border-radius:50%; background:none; color:#173766; font-size:31px; line-height:1; -webkit-mask-image:none; mask-image:none; }
.mp-ref-steps article h3 { margin:10px 0 6px; font-size:15px; }
.mp-ref-steps article p { margin:0; font-size:12px; line-height:1.55; }
.mp-ref-steps > i { color:#d8d2ca; font-size:48px; font-style:normal; }
.mp-ref-faq { width:min(100%,880px); margin:0 auto 34px; }
.mp-ref-faq > small { display:block; text-align:center; }
.mp-ref-faq details { border-bottom:1px solid #ddd6ce; text-align:left; }
.mp-ref-faq summary { padding:15px 4px; cursor:pointer; }
.mp-ref-faq details p { margin:0 4px 16px; color:#66717a; }

.mp-ref-upf__hero { position:relative; min-height:500px; aspect-ratio:1896 / 829; overflow:hidden; }
.mp-ref-upf__hero > picture,
.mp-ref-upf__hero > picture > img { position:absolute; inset:0; width:100%; height:100%; }
.mp-ref-upf__hero > picture > img { object-fit:cover; object-position:center center; }
.mp-ref-upf__hero::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(244,249,252,.98),rgba(244,249,252,.86) 34%,transparent 65%); }
.mp-ref-upf__hero > div { position:relative; z-index:1; width:min(100% - 40px,1120px); margin:auto; padding-top:105px; }
.mp-ref-upf__hero h1 { margin:0 0 14px; font-size:clamp(52px,6vw,82px); }
.mp-ref-upf__hero p { margin:0 0 20px; font-size:clamp(25px,2.4vw,36px); line-height:1.35; }
.mp-ref-upf__hero em { font-family:var(--mp-font-script,serif); font-size:clamp(24px,2.4vw,36px); }
.mp-ref-upf__intro p { color:#65717b; line-height:1.7; }
.mp-ref-compare { display:grid; grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr); gap:18px; align-items:stretch; width:min(100% - 40px,940px); margin:0 auto 42px; }
.mp-ref-compare__card { display:grid; grid-template-columns:58px minmax(0,1fr); grid-template-rows:auto 1fr; column-gap:20px; padding:28px 30px; border:1px solid #d9e0e7; border-radius:18px; background:#fff; text-align:left; }
.mp-ref-compare__card.is-upf { border-color:#9fbed7; background:#f3f8fc; box-shadow:0 10px 30px rgba(24,58,100,.08); }
.mp-ref-compare__card > img { grid-row:1/3; width:54px; height:54px; padding:12px; border-radius:50%; background:#f3f5f7; color:#183a64; box-sizing:border-box; }
.mp-ref-compare__card.is-upf > img { background:#e7f0f7; color:#183a64; }
.mp-ref-compare__card h3 { margin:1px 0 12px; font-size:20px; text-align:left; }
.mp-ref-compare ul { margin:0; padding:0; list-style:none; }
.mp-ref-compare li { position:relative; margin:8px 0; padding-left:18px; color:#5f6f7f; font-size:13px; line-height:1.45; }
.mp-ref-compare li::before { position:absolute; left:0; content:'—'; color:#9aa6b0; }
.mp-ref-compare__card.is-upf li::before { content:'✓'; color:#183a64; font-weight:700; }
.mp-ref-compare__vs { align-self:center; display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:#183a64; color:#fff; font-size:12px; font-weight:700; letter-spacing:.08em; }
.mp-ref-upf__benefits { display:grid; grid-template-columns:repeat(3,1fr); width:min(100% - 40px,980px); margin:0 auto 50px; border-top:1px solid #ddd6ce; }
.mp-ref-upf__benefits article { padding:34px 28px; border-right:1px solid #ddd6ce; text-align:center; }
.mp-ref-upf__benefits article:last-child { border-right:0; }
.mp-ref-upf__benefits img { width:48px; height:48px; padding:10px; color:#183a64; box-sizing:border-box; }
.mp-ref-upf__benefits h3 { margin:12px 0; font-size:17px; }
.mp-ref-upf__benefits p { margin:0; color:#66717a; font-size:12px; line-height:1.55; }
.mp-ref-upf__flatlay { position:relative; width:min(100% - 40px,1120px); margin:0 auto 48px; }
.mp-ref-upf__flatlay > picture { display:block; width:100%; aspect-ratio:1896/829; }
.mp-ref-upf__flatlay > picture > img { width:100%; height:100%; object-fit:cover; object-position:center center; }
.mp-ref-upf__flatlay > div { position:absolute; right:48px; left:auto; top:50%; width:320px; padding:34px; background:#fff; transform:translateY(-50%); }
.mp-ref-upf__flatlay h2 { margin:0 0 18px; font-size:23px; line-height:1.22; text-wrap:balance; }
.mp-ref-upf__flatlay p { color:#66717a; font-size:13px; line-height:1.6; }
.mp-ref-upf__flatlay a { color:#173766; font-size:12px; text-decoration:none; }

.mp-ref-brand__hero { text-align:center; }
.mp-ref-brand__hero > div { padding:42px 20px 24px; }
.mp-ref-brand__hero h1 { margin:0; font-size:clamp(38px,4vw,58px); }
.mp-ref-brand__hero em { display:block; margin-top:4px; font-family:var(--mp-font-script,serif); font-size:clamp(24px,2.4vw,36px); }
.mp-ref-brand__hero > img { width:100%; height:430px; object-fit:cover; object-position:center 58%; }
.mp-ref-brand__story,.mp-ref-brand__safety { display:grid; grid-template-columns:1fr 1fr; width:min(100% - 40px,1040px); margin:42px auto 0; }
.mp-ref-brand__story img,.mp-ref-brand__safety img { width:100%; height:100%; min-height:430px; object-fit:cover; }
.mp-ref-brand__story > div,.mp-ref-brand__safety > div { display:flex; flex-direction:column; justify-content:center; padding:48px 54px; }
.mp-ref-brand__story h2,.mp-ref-brand__safety h2 { margin:0; font-size:clamp(25px,2.6vw,38px); line-height:1.25; }
.mp-ref-brand__story i,.mp-ref-brand__safety i { width:48px; margin:18px 0; border-top:2px solid #c6a36a; }
.mp-ref-brand__story p,.mp-ref-brand__safety p { margin:0 0 12px; color:#5f6a74; font-size:13px; line-height:1.65; }
.mp-ref-brand__quote { position:relative; margin-top:42px; padding:48px 90px; overflow:hidden; background:#eaf4fa; text-align:center; }
.mp-ref-brand__quote h2 { margin:0 0 16px; font-size:clamp(24px,2.5vw,36px); }
.mp-ref-brand__quote > b { position:absolute; top:0; color:#d6e8f3; font-size:150px; line-height:1; }
.mp-ref-brand__quote > b:first-child { left:6%; }.mp-ref-brand__quote > b:last-child { right:6%; }
.mp-ref-brand__safety { width:100%; margin:0; }
.mp-ref-brand__values { display:grid; grid-template-columns:repeat(4,1fr); width:min(100% - 40px,1120px); margin:auto; }
.mp-ref-brand__values article { padding:40px 25px; border-right:1px solid #ddd6ce; text-align:center; }
.mp-ref-brand__values article:last-child { border-right:0; }
.mp-ref-brand__values b { font-size:44px; font-weight:400; }.mp-ref-brand__values h3 { margin:12px 0 6px; }.mp-ref-brand__values p { margin:0; font-size:12px; line-height:1.55; }

@media(max-width:781px){
  .mp-ref-care__hero { display:flex; min-height:850px; aspect-ratio:auto; flex-direction:column; background:#eef6fa; }.mp-ref-care__hero > picture { position:absolute; height:560px; }.mp-ref-care__hero > picture > img { object-fit:cover; object-position:center center; }.mp-ref-care__hero::after { background:linear-gradient(180deg,transparent 34%,#eef6fa 66%); }.mp-ref-care__copy { justify-content:flex-end; min-height:850px; padding:590px 22px 38px; text-align:center; }
  .mp-ref-tiers,.mp-ref-upf__benefits,.mp-ref-brand__values { grid-template-columns:1fr; }.mp-ref-tiers article,.mp-ref-upf__benefits article,.mp-ref-brand__values article { border-right:0; border-bottom:1px solid #ddd6ce; }
  .mp-ref-progress { grid-template-columns:1fr; padding:24px; text-align:center; }.mp-ref-steps { grid-template-columns:1fr; }.mp-ref-steps > i { transform:rotate(90deg); }
  .mp-ref-upf__hero { min-height:850px; aspect-ratio:auto; }.mp-ref-upf__hero > picture { height:560px; }.mp-ref-upf__hero > picture > img { object-fit:cover; object-position:center center; }.mp-ref-upf__hero::after { background:linear-gradient(180deg,transparent 35%,#f4f9fc 66%); }.mp-ref-upf__hero > div { padding-top:590px; text-align:center; }
  .mp-ref-compare { grid-template-columns:1fr; gap:12px; width:min(100% - 32px,540px); }
  .mp-ref-compare__vs { position:relative; z-index:1; margin:-3px auto; }
  .mp-ref-compare__card { grid-template-columns:50px minmax(0,1fr); padding:24px 20px; column-gap:16px; }
  .mp-ref-compare__card > img { width:48px; height:48px; }
  .mp-ref-upf__flatlay > picture { aspect-ratio:1/1.33; }.mp-ref-upf__flatlay > picture > img { object-position:center center; }.mp-ref-upf__flatlay > div { position:relative; right:auto; left:auto; top:auto; width:auto; margin:-30px 18px 0; transform:none; }
  .mp-ref-brand__hero > img { height:330px; }.mp-ref-brand__story,.mp-ref-brand__safety { grid-template-columns:1fr; }.mp-ref-brand__story > div,.mp-ref-brand__safety > div { padding:34px 22px; }.mp-ref-brand__quote { padding:42px 24px; }
  .mp-ref-actions { flex-direction:column; align-items:center; }
}

/* Restored social icons; the existing beige promo strip remains untouched. */
.mp-promo-bar__inner { position: relative !important; }
.mp-promo-bar__social-icons { position: absolute !important; left: max(28px, calc((100vw - 1290px) / 2)) !important; top: 50% !important; z-index: 50 !important; display: inline-flex !important; align-items: center !important; gap: 13px !important; width: auto !important; height: 18px !important; margin: 0 !important; padding: 0 !important; visibility: visible !important; opacity: 1 !important; transform: translateY(-50%) !important; }
.mp-promo-bar__social-icons a { display: inline-flex !important; align-items: center; justify-content: center; width: 18px !important; height: 18px !important; padding: 0 !important; color: #fff !important; opacity: 1 !important; visibility: visible !important; }
.mp-promo-bar__social-icons a:hover { opacity: .72; }
.mp-promo-bar__social-icons svg { display: block !important; width: 16px !important; height: 16px !important; fill: currentColor; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; visibility: visible !important; }
.mp-promo-bar__social-icons a:first-child svg { fill: none; }
@media (max-width: 768px) { .mp-promo-bar__social-icons { display: none !important; } }

/* Desktop header search only; the mobile drawer/search behavior is unchanged. */
@media (min-width: 782px) {
  html body .mp-search-panel { position: fixed !important; inset: 0 !important; left: 0 !important; top: 0 !important; z-index: 10000 !important; width: 100vw !important; max-width: none !important; height: 100dvh !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; transform: none !important; transition: opacity .18s ease, visibility .18s ease !important; }
  html body .mp-search-panel.is-open { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: none !important; }
  .mp-search-panel__backdrop { position: absolute !important; inset: 0 !important; z-index: 1 !important; width: 100% !important; height: 100% !important; padding: 0 !important; border: 0 !important; background: rgba(20, 31, 48, .36) !important; }
  .mp-search-panel__content { position: absolute !important; z-index: 2 !important; top: clamp(82px, 12vh, 132px) !important; left: 50% !important; width: min(760px, calc(100vw - 64px)) !important; margin: 0 !important; padding: 34px !important; background: #fff !important; box-sizing: border-box !important; box-shadow: 0 22px 70px rgba(31, 55, 99, .18) !important; transform: translateX(-50%) !important; }
  .mp-search-panel__form { width: 100% !important; max-width: none !important; margin: 0 !important; }
  .mp-search-panel__form input[type="search"],
  .mp-search-panel__form input[type="search"]:hover,
  .mp-search-panel__form input[type="search"]:focus,
  .mp-search-panel__form input[type="search"]:focus-visible { border: 0 !important; border-radius: 0 !important; outline: 0 !important; box-shadow: none !important; background: transparent !important; -webkit-appearance: none !important; appearance: none !important; }
}

/* Hero restored from the 3.0 reference, with a useful mobile crop. */
.mp-front-page .mp-hero .wp-block-cover__image-background { object-position: center center !important; }
.mp-front-page .mp-hero__actions .wp-block-button__link { border-radius: 0 !important; }

/* Gender collection CTAs. */
@media (max-width: 781px) {
  .mp-front-page .mp-hero { grid-template-rows: minmax(250px, 72vw) auto !important; }
  .mp-front-page .mp-hero .wp-block-cover__image-background { object-position: right center !important; }
  .mp-front-page .mp-hero__actions { grid-template-columns: 1fr !important; width: min(calc(100% - 24px), 290px) !important; max-width: 290px !important; gap: 9px !important; margin-inline: auto !important; justify-self: center !important; }
  .mp-front-page .mp-hero__actions .mp-hero__btn { display: block !important; width: 100% !important; max-width: none !important; margin: 0 !important; }
  .mp-front-page .mp-hero__actions .mp-hero__btn .wp-block-button__link { display: flex !important; width: 100% !important; min-width: 100% !important; max-width: none !important; min-height: 42px !important; align-items: center !important; justify-content: center !important; padding-inline: 18px !important; font-size: 12px !important; box-sizing: border-box !important; }

  .mp-front-page .mp-gender__button-area { padding-bottom: 10px !important; }
  .mp-front-page .mp-gender__button-area--girls { justify-content: flex-end !important; padding-right: 2% !important; }
  .mp-front-page .mp-gender__button-area--boys { justify-content: flex-start !important; padding-left: 0 !important; }
  .mp-front-page .mp-gender__button .wp-block-button__link { min-width: 200px !important; min-height: 36px !important; padding: 6px 14px !important; border-radius: 0 !important; font-size: 15px !important; }
  .mp-front-page .mp-gender__button-area--girls .mp-gender__buttons { width: 200px !important; margin-left: auto !important; margin-right: 0 !important; }
  .mp-front-page .mp-gender__button-area--boys .mp-gender__buttons { width: 200px !important; margin-left: 0 !important; margin-right: auto !important; }
  .mp-front-page .mp-gender__button,
  .mp-front-page .mp-gender__button .wp-block-button__link { width: 200px !important; min-width: 200px !important; max-width: 200px !important; box-sizing: border-box !important; }
  html body .mp-front-page .mp-gender__button .wp-block-button__link { width: 200px !important; min-width: 200px !important; max-width: 200px !important; }
}

/* New products: no enclosing frame, larger imagery, aligned square buttons. */
.mp-front-page .mp-new-products__inner,
.mp-front-page .mp-new-products .mp-products-grid { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.mp-front-page .mp-new-products .wc-block-product-template,
.mp-front-page .mp-new-products .mp-product-card,
.mp-front-page .mp-new-products .wc-block-product { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.mp-front-page .mp-new-products__inner { max-width: 1380px !important; }
.mp-front-page .mp-new-products .mp-product-card__image img { width: 100% !important; }
.mp-front-page .mp-new-products .mp-product-card { display: grid !important; grid-template-rows: auto 1fr !important; }
.mp-front-page .mp-new-products .mp-product-card__meta { display: grid !important; grid-template-columns: minmax(0, 1fr) 176px !important; align-items: end !important; gap: 24px !important; width: 100% !important; box-sizing: border-box !important; }
.mp-front-page .mp-new-products .mp-product-card__meta > .wp-block-group { display: grid !important; grid-template-rows: minmax(62px, auto) auto !important; align-content: end !important; }
.mp-front-page .mp-new-products .mp-product-card__title { align-self: end !important; }
.mp-front-page .mp-new-products .mp-product-card__price { align-self: end !important; }
.mp-front-page .mp-new-products .mp-product-card__button { align-self: end !important; width: 176px !important; }
.mp-front-page .mp-new-products .mp-product-card__button .wp-element-button,
.mp-front-page .mp-new-products .mp-product-card__button .wp-block-button__link { border-radius: 0 !important; }
@media (min-width: 1101px) {
  .mp-front-page .mp-new-products .mp-product-card__meta { padding: 22px 0 0 !important; }
  .mp-front-page .mp-new-products .mp-product-card__meta > .wp-block-group { justify-self: start !important; text-align: left !important; }
  .mp-front-page .mp-new-products .mp-product-card__title,
  .mp-front-page .mp-new-products .mp-product-card__price { text-align: left !important; }
  .mp-front-page .mp-new-products .mp-product-card__button { justify-self: end !important; margin-left: auto !important; }
}
@media (min-width: 782px) and (max-width: 1100px) {
  .mp-front-page .mp-new-products .mp-product-card__meta { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 10px !important; padding: 18px 14px 0 !important; }
  .mp-front-page .mp-new-products .mp-product-card__meta > .wp-block-group { display: grid !important; grid-template-rows: auto auto !important; width: 100% !important; text-align: center !important; }
  .mp-front-page .mp-new-products .mp-product-card__title,
  .mp-front-page .mp-new-products .mp-product-card__price { width: 100% !important; text-align: center !important; }
  .mp-front-page .mp-new-products .mp-product-card__button,
  .mp-front-page .mp-new-products .mp-product-card__button .wp-block-button__link { width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; }
}
@media (max-width: 781px) {
  .mp-front-page .mp-new-products { left: 0 !important; right: auto !important; width: 100% !important; max-width: 100% !important; margin-inline: 0 !important; padding-inline: 18px !important; box-sizing: border-box !important; }
  .mp-front-page .mp-new-products__inner,
  .mp-front-page .mp-new-products .mp-section-head--row,
  .mp-front-page .mp-new-products .mp-products-grid { width: 100% !important; max-width: 100% !important; margin-inline: 0 !important; box-sizing: border-box !important; }
  .mp-front-page .mp-new-products .mp-section-head--row {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    text-align: center !important;
  }
  .mp-front-page .mp-new-products .mp-front-title,
  .mp-front-page .mp-new-products .mp-front-link { width: 100% !important; margin-inline: auto !important; text-align: center !important; }
  .mp-front-page .mp-new-products .mp-product-card__meta,
  .mp-front-page .mp-new-products .mp-product-card__title,
  .mp-front-page .mp-new-products .mp-product-card__price { text-align: center !important; }
  .mp-front-page .mp-new-products .mp-product-card { display: block !important; height: auto !important; min-height: 0 !important; }
  .mp-front-page .mp-new-products .mp-product-card__meta { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 10px !important; width: 100% !important; height: auto !important; min-height: 0 !important; margin-top: 0 !important; padding: 14px 10px 22px !important; box-sizing: border-box !important; }
  .mp-front-page .mp-new-products .mp-product-card__meta > .wp-block-group { display: block !important; width: 100% !important; height: auto !important; min-height: 0 !important; }
  .mp-front-page .mp-new-products .mp-product-card__title,
  .mp-front-page .mp-new-products .mp-product-card__price { display: block !important; width: 100% !important; height: auto !important; min-height: 0 !important; margin: 0 0 7px !important; }
  .mp-front-page .mp-new-products .mp-product-card__button { width: min(100%, 236px) !important; height: auto !important; min-height: 0 !important; margin-inline: auto !important; }
  .mp-front-page .mp-new-products .mp-product-card__button .wp-block-button__link { width: 100% !important; }
}

/* Square, centered CTAs. */
.mp-front-page .mp-upf-compare__button,
.mp-front-page .mp-upf-compare__button .wp-block-button__link { margin-inline: auto !important; border-radius: 0 !important; }
.mp-front-page .mp-upf-compare .wp-block-buttons { justify-content: center !important; }
.mp-front-page .mp-hits__button .wp-block-button__link { border-radius: 0 !important; }

/* Benefits typography and consistent mobile rhythm. */
.mp-front-page .mp-upf-benefits h3 { font-size: clamp(20px, 1.65vw, 27px) !important; line-height: 1.12 !important; }
@media (min-width: 782px) {
  .mp-front-page .mp-upf-benefits > .wp-block-column { display: grid !important; grid-template-columns: 32px minmax(0, 1fr) !important; grid-template-rows: 68px auto !important; column-gap: 14px !important; align-items: start !important; }
  .mp-front-page .mp-upf-benefits > .wp-block-column > figure { grid-column: 1 !important; grid-row: 1 !important; margin: 2px 0 0 !important; }
  .mp-front-page .mp-upf-benefits > .wp-block-column > h3 { grid-column: 2 !important; grid-row: 1 !important; margin: 0 !important; }
  .mp-front-page .mp-upf-benefits > .wp-block-column > p { grid-column: 2 !important; grid-row: 2 !important; margin: 0 !important; }
}
@media (max-width: 781px) {
  .mp-front-page .mp-upf-benefits > .wp-block-column { display: grid !important; grid-template-columns: 42px minmax(0, 1fr) !important; column-gap: 14px !important; align-items: start !important; }
  .mp-front-page .mp-upf-benefits figure { grid-row: 1 / span 2; margin: 0 !important; }
  .mp-front-page .mp-upf-benefits h3,
  .mp-front-page .mp-upf-benefits p { margin: 0 0 8px !important; padding: 0 !important; text-align: left !important; }
}

/* Marketplace statistics. */
.mp-front-page .mp-cheaper__stat h3,
.mp-front-page .mp-cheaper__stat strong { font-size: clamp(20px, 1.7vw, 24px) !important; line-height: 1.08 !important; overflow-wrap: normal !important; word-break: normal !important; }

/* Delivery arrows follow the actual layout direction. */
.mp-front-page .mp-delivery-home__steps > p::before { content: none !important; display: none !important; }
@media (min-width: 782px) {
  .mp-front-page .mp-delivery-home__steps > p:nth-child(2) span,
  .mp-front-page .mp-delivery-home__steps > p:nth-child(4) span,
  .mp-front-page .mp-delivery-home__steps > p:nth-child(6) span { display: inline-block !important; transform: none !important; color: var(--mp-primary) !important; }
}
/* Landscape phones and tablets need a denser horizontal delivery row. */
@media (min-width: 782px) and (max-width: 1100px) {
  .mp-front-page .mp-delivery-home { gap: 28px !important; padding: 38px 36px !important; }
  .mp-front-page .mp-delivery-home__intro { flex: 0 0 220px !important; max-width: 220px !important; }
  .mp-front-page .mp-delivery-home__steps { display: grid !important; grid-template-columns: minmax(95px, 1fr) 24px minmax(95px, 1fr) 24px minmax(95px, 1fr) 24px minmax(95px, 1fr) !important; gap: 6px !important; min-width: 0 !important; flex: 1 1 auto !important; }
  .mp-front-page .mp-delivery-home__steps > p { min-width: 0 !important; padding: 0 !important; font-size: 12px !important; line-height: 1.35 !important; overflow-wrap: normal !important; word-break: normal !important; hyphens: none !important; text-align: center !important; }
  .mp-front-page .mp-delivery-home__steps > p:nth-child(even) { width: 24px !important; }
}
/* Compact four-column footer only in landscape mobile/tablet view. */
@media (min-width: 901px) and (max-width: 1100px) {
  .wp-site-blocks > .mp-site-footer,
  .wp-site-blocks > footer.mp-site-footer { left: auto !important; right: auto !important; width: calc(100% - 32px) !important; max-width: none !important; margin-inline: auto !important; padding: 38px 32px 44px !important; box-sizing: border-box !important; overflow: hidden !important; }
  .mp-site-footer .mp-site-footer__columns { display: grid !important; grid-template-columns: 1.7fr repeat(3, minmax(0, 1fr)) !important; gap: 24px !important; width: 100% !important; max-width: none !important; }
  .mp-site-footer .mp-site-footer__columns > .wp-block-column { width: auto !important; min-width: 0 !important; max-width: none !important; flex-basis: auto !important; }
  .mp-site-footer h2 { font-size: 20px !important; line-height: 1.15 !important; overflow-wrap: normal !important; word-break: normal !important; }
  .mp-site-footer p,
  .mp-site-footer a { font-size: 11px !important; line-height: 1.45 !important; overflow-wrap: break-word !important; word-break: normal !important; }
  .mp-site-footer__logo img { width: 120px !important; height: auto !important; }
  .mp-site-footer__buttons .wp-block-button,
  .mp-site-footer__buttons .wp-block-button__link { width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; }
}
@media (max-width: 781px) {
  .mp-front-page .mp-delivery-home__steps > p:nth-child(2) span::after,
  .mp-front-page .mp-delivery-home__steps > p:nth-child(4) span::after,
  .mp-front-page .mp-delivery-home__steps > p:nth-child(6) span::after { content: "↓" !important; }
}

/* Loyalty block: equal button widths and safe wrapping. */
.mp-front-page .mp-care__actions { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
.mp-front-page .mp-care__actions .wp-block-button,
.mp-front-page .mp-care__actions .wp-block-button__link { width: 100% !important; border-radius: 0 !important; }
@media (max-width: 781px) {
  .mp-front-page .mp-care, .mp-front-page .mp-care * { min-width: 0; box-sizing: border-box; }
  .mp-front-page .mp-care__actions { grid-template-columns: 1fr !important; width: 100% !important; padding: 0 !important; }
  .mp-front-page .mp-care__actions > .wp-block-button,
  .mp-front-page .mp-care__actions > .wp-block-button.is-style-outline { display: block !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  .mp-front-page .mp-care__actions > .wp-block-button > .wp-block-button__link { display: flex !important; width: 100% !important; max-width: none !important; margin: 0 !important; align-items: center !important; justify-content: center !important; }
  .mp-front-page .mp-care__level p,
  .mp-front-page .mp-care__level strong,
  .mp-front-page .mp-care__level span,
  .mp-front-page .mp-care__level em { white-space: normal !important; overflow-wrap: anywhere !important; text-overflow: clip !important; overflow: visible !important; }
}

/* Internal page titles only. */
body:not(.home) main h1,
body:not(.home) .wp-block-query-title,
body:not(.home) .mp-page-title { font-size: clamp(30px, 4vw, 52px) !important; line-height: 1.08 !important; overflow-wrap: anywhere; }
.mp-global-breadcrumbs { width: min(100% - 40px, 1290px); margin: 18px auto 0; font-size: 12px; color: #777; }
.mp-global-breadcrumbs a { color: inherit; }

/* Internal page titles start close to the breadcrumbs instead of low in the viewport. */
main.mp-editable-page { padding-top: 28px !important; }
.mp-editable-page .mp-brand-hero,
.mp-editable-page .mp-care-page__hero,
.mp-editable-page .mp-delivery-hero,
.mp-editable-page .mp-faq-hero,
.mp-editable-page .mp-document-page,
.mp-editable-page .mp-legal-page { padding-top: 52px !important; padding-bottom: 48px !important; min-height: 0 !important; }
@media (max-width: 781px) {
  main.mp-editable-page { padding-top: 18px !important; }
  .mp-editable-page .mp-brand-hero,
  .mp-editable-page .mp-care-page__hero,
  .mp-editable-page .mp-delivery-hero,
  .mp-editable-page .mp-faq-hero,
  .mp-editable-page .mp-document-page,
  .mp-editable-page .mp-legal-page { padding-top: 36px !important; padding-bottom: 36px !important; }
}

/* Delivery page uses real grids; legacy flex rules made its columns drift. */
.mp-editable-page .mp-delivery-page .mp-info-split { display: grid !important; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) !important; align-items: center !important; gap: 32px !important; }
.mp-editable-page .mp-delivery-page .mp-info-split > * { width: 100% !important; min-width: 0 !important; margin: 0 !important; }
.mp-editable-page .mp-delivery-page .mp-delivery-cards { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; align-items: stretch !important; gap: 16px !important; }
.mp-editable-page .mp-delivery-page .mp-delivery-card { width: 100% !important; min-width: 0 !important; height: 100% !important; box-sizing: border-box !important; }
.mp-editable-page .mp-delivery-page .mp-process { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; align-items: stretch !important; gap: 18px !important; }
.mp-editable-page .mp-delivery-page .mp-payment-return__grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; align-items: stretch !important; gap: 32px !important; }
.mp-editable-page .mp-delivery-page .mp-payment-return__grid > * { width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; }
@media (max-width: 781px) {
  .mp-editable-page .mp-delivery-page .mp-info-split,
  .mp-editable-page .mp-delivery-page .mp-delivery-cards,
  .mp-editable-page .mp-delivery-page .mp-process,
  .mp-editable-page .mp-delivery-page .mp-payment-return__grid { grid-template-columns: 1fr !important; }
}

/* Compact NEW marker and progressive catalogue pagination. */
.mp-catalog-card__image, .wp-block-woocommerce-product-image { position: relative; }

/* Keep prices and actions on one baseline when a product name wraps. */
@media (min-width: 600px) {
  .mp-catalog-card__title {
    min-height: 3em !important;
  }
}
.mp-new-badge,
.mp-product-tag-badge { position: absolute; z-index: 4; top: 10px; left: 10px; display: inline-flex; align-items: center; min-height: 22px; padding: 3px 7px; background: var(--mp-primary, #1f3d6b); color: #fff; font-size: 10px; font-weight: 700; line-height: 1; letter-spacing: .08em; }
.mp-product-tag-badge--hit { background: #b79a84; }

/* Never render the legacy hard-coded NEW ribbon. Product-tag badges above are
 * the single source of truth for NEW and HIT. */
.mp-product-card__image::before,
.mp-products-grid .wc-block-components-product-image::before {
  content: none !important;
  display: none !important;
}

/* Keep the desktop comparison-table frame inset evenly inside its white panel.
   Core block styles already add 20px on the left of the figure, so mirror that
   space on the right without touching the mobile horizontal-scroll layout. */
@media (min-width: 782px) {
  .mp-front-page .mp-cheaper__table {
    box-sizing: border-box !important;
	width: min(calc(100% - 40px), 1080px) !important;
	margin-inline: auto !important;
  }
}

/* The marketplace comparison stays readable without oversized columns. */
.mp-front-page .mp-cheaper__table table {
  table-layout: fixed !important;
}
.mp-front-page .mp-cheaper__table th:first-child,
.mp-front-page .mp-cheaper__table td:first-child { width: 42% !important; }
.mp-front-page .mp-cheaper__table th:nth-child(2),
.mp-front-page .mp-cheaper__table td:nth-child(2),
.mp-front-page .mp-cheaper__table th:nth-child(3),
.mp-front-page .mp-cheaper__table td:nth-child(3) { width: 15% !important; }
.mp-front-page .mp-cheaper__table th:last-child,
.mp-front-page .mp-cheaper__table td:last-child { width: 28% !important; }

@media (max-width: 680px) {
  .mp-front-page .mp-cheaper__table-wrap::before { display: none !important; }
  .mp-front-page .mp-cheaper__table-wrap {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    overflow: visible !important;
  }
  .mp-front-page .mp-cheaper__table {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    overflow-x: visible !important;
  }
  .mp-front-page .mp-cheaper__table table {
    width: 100% !important;
    min-width: 0 !important;
  }
  .mp-front-page .mp-cheaper__table th,
  .mp-front-page .mp-cheaper__table td {
    padding: 10px 4px !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere;
  }
  .mp-front-page .mp-cheaper__table th:first-child,
  .mp-front-page .mp-cheaper__table td:first-child {
    width: 45% !important;
    max-width: none !important;
  }
  .mp-front-page .mp-cheaper__table th:nth-child(2),
  .mp-front-page .mp-cheaper__table td:nth-child(2),
  .mp-front-page .mp-cheaper__table th:nth-child(3),
  .mp-front-page .mp-cheaper__table td:nth-child(3) { width: 14% !important; }
  .mp-front-page .mp-cheaper__table th:last-child,
  .mp-front-page .mp-cheaper__table td:last-child {
    width: 27% !important;
    max-width: none !important;
  }
}
.mp-catalog-native-toolbar .wc-block-components-product-results-count,
.mp-catalog-native-toolbar .woocommerce-result-count { margin: 10px 0 6px !important; color: #8a8f94 !important; font-size: 12px !important; line-height: 1.3 !important; }
.mp-load-more-pagination .wp-block-query-pagination-next { display: inline-flex; min-width: 220px; min-height: 48px; align-items: center; justify-content: center; padding: 11px 24px; border: 1px solid var(--mp-primary, #1f3d6b); border-radius: 0; background: var(--mp-primary, #1f3d6b); color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.mp-load-more-pagination .wp-block-query-pagination-next.is-loading { opacity: .65; pointer-events: none; }

/* The custom gender links behave as checkboxes: keep the selected state visible. */
.mp-catalog-gender-filter__list a.is-active { background: #fff !important; color: var(--mp-primary, #1f3d6b) !important; }
.mp-catalog-gender-filter__list a.is-active span { position: relative; background: var(--mp-primary, #1f3d6b) !important; border-color: var(--mp-primary, #1f3d6b) !important; }
.mp-catalog-gender-filter__list a.is-active span::after { content: ""; position: absolute; left: 3px; top: 0; width: 4px; height: 8px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }

/* Gender filters are real deferred checkboxes: one click selects, Apply navigates. */
.mp-catalog-gender-filter__option {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--mp-line, #d9d9d9);
  color: var(--mp-primary, #1f3d6b);
  cursor: pointer;
  font-size: 13px;
  line-height: 1.45;
  user-select: none;
}

.mp-catalog-gender-filter__option input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.mp-catalog-gender-filter__box {
  position: relative;
  flex: 0 0 15px;
  width: 15px;
  height: 15px;
  border: 1px solid rgba(25, 40, 46, .4);
  background: #fff;
}

.mp-catalog-gender-filter__option.is-active .mp-catalog-gender-filter__box {
  border-color: var(--mp-primary, #1f3d6b);
  background: var(--mp-primary, #1f3d6b);
  box-shadow: inset 0 0 0 3px #fff;
}

.mp-catalog-gender-filter__option:focus-within {
  outline: 2px solid var(--mp-primary, #1f3d6b);
  outline-offset: 2px;
}

/* Restore the original mp200 side drawer on every breakpoint. */
body .mp-catalog-layout__sidebar.alignwide {
  position: fixed !important;
  inset: 0 auto 0 0 !important;
  z-index: 100002 !important;
  display: block !important;
  width: min(92vw, 430px) !important;
  max-width: 430px !important;
  height: 100dvh !important;
  margin: 0 !important;
  padding: 0 28px 30px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  background: #fff !important;
  box-sizing: border-box !important;
  transform: translateX(-105%) !important;
  transition: transform .28s ease !important;
}
body.mp-catalog-drawer-open .mp-catalog-layout__sidebar.alignwide { transform: translateX(0) !important; }
html body .mp-catalog-layout__sidebar.alignwide { left: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
body .mp-catalog-drawer__head { margin-inline: -28px !important; padding-inline: 28px !important; }
@media (max-width: 781px) {
  body .mp-catalog-layout__sidebar.alignwide { width: min(94vw, 400px) !important; max-width: 400px !important; padding-inline: 22px !important; }
  body.mp-catalog-drawer-open .mp-catalog-layout__sidebar.alignwide { transform: translateX(1px) !important; }
  body .mp-catalog-drawer__head { margin-inline: -22px !important; padding-inline: 22px !important; }
}

/* Canopea-inspired product sheet: calm two-column editorial layout. */
body.single-product .mp-product-summary { align-items: flex-start !important; gap: clamp(44px, 6vw, 88px) !important; }
body.single-product .mp-product-summary__media { flex-basis: min(58vw, 700px) !important; }
body.single-product .mp-product-summary__content { max-width: 500px; padding-top: 26px !important; text-align: left !important; }
body.single-product .mp-product-summary__content h1 { max-width: 24ch; margin: 0 0 10px !important; font-size: clamp(22px, 1.75vw, 28px) !important; line-height: 1.16 !important; letter-spacing: .035em !important; text-align: left !important; text-transform: uppercase; overflow-wrap: normal !important; word-break: normal !important; }
html body.single-product main.mp-single-product-page .mp-product-summary__content h1.wp-block-post-title { font-size: clamp(22px, 1.75vw, 28px) !important; }
body.single-product .mp-product-summary__content .wp-block-woocommerce-product-price,
body.single-product .mp-product-summary__content .wc-block-components-product-price { min-height: 0 !important; margin: 0 0 18px !important; padding: 0 !important; font-size: 18px !important; font-weight: 500 !important; text-align: left !important; }
body.single-product .mp-product-summary__content .yandex-pay-badges { min-height: 0 !important; margin: 0 0 14px !important; }
body.single-product .mp-product-summary__content .wp-block-post-excerpt { margin: 22px 0 0 !important; padding: 22px 0 !important; border-top: 1px solid #dfe3e6 !important; font-size: 13px !important; line-height: 1.65 !important; color: #66717f !important; text-align: left !important; }
body.single-product .mp-product-summary__content .wp-block-post-excerpt::before { content: "Описание"; display: block; margin-bottom: 14px; color: var(--mp-primary, #1f3d6b); font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
body.single-product .mp-product-summary__content .wp-block-add-to-cart-form { margin: 0 0 10px !important; }
body.single-product form.variations_form table.variations { margin: 0 0 16px !important; }
body.single-product form.variations_form table.variations tr { display: grid !important; grid-template-columns: 96px minmax(0, 1fr) !important; align-items: start !important; gap: 14px !important; padding: 8px 0 !important; border-top: 1px solid #e1e3e5 !important; }
body.single-product form.variations_form table.variations tr:last-child { border-bottom: 1px solid #e1e3e5 !important; }
body.single-product form.variations_form table.variations th,
body.single-product form.variations_form table.variations td { display: block !important; width: auto !important; padding: 0 !important; text-align: left !important; }
body.single-product form.variations_form label { font-size: 11px !important; font-weight: 500 !important; letter-spacing: .08em !important; text-transform: uppercase; }
body.single-product form.variations_form select { width: 100% !important; min-height: 40px !important; padding: 0 34px 0 12px !important; border: 1px solid #cfd3d7 !important; border-radius: 0 !important; background-color: #fff !important; font-size: 13px !important; }
body.single-product form.variations_form .reset_variations { display: inline-block !important; margin-top: 8px !important; font-size: 11px !important; color: #6f7780 !important; }
body.single-product form.cart .quantity { border-radius: 0 !important; }
body.single-product .mp-size-guide { margin: 12px 0 20px !important; }
body.single-product .mp-product-specs { margin: 0 0 8px !important; padding: 22px 0 !important; background: transparent !important; border: solid #dfe3e6 !important; border-width: 1px 0 !important; border-radius: 0 !important; }
body.single-product .mp-product-specs__title { margin: 0 0 20px !important; font-size: 15px !important; color: var(--mp-primary, #1f3d6b); letter-spacing: .08em !important; }
body.single-product .mp-product-specs__list { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 18px 24px !important; }
body.single-product .mp-product-specs__item { display: block !important; }
body.single-product .mp-product-specs__icon { display: none !important; }
body.single-product .mp-product-specs__label { margin-bottom: 6px !important; font-size: 10px !important; text-transform: uppercase; letter-spacing: .06em; }
body.single-product .mp-product-specs__value { font-size: 13px !important; line-height: 1.4 !important; }
body.single-product form.cart .single_add_to_cart_button { width: 100%; background: var(--mp-primary, #1f3d6b) !important; border-color: var(--mp-primary, #1f3d6b) !important; border-radius: 0 !important; text-transform: uppercase; }
body.single-product .single_variation_wrap .woocommerce-variation-add-to-cart { display: grid !important; grid-template-columns: 92px minmax(0, 1fr) !important; gap: 10px !important; align-items: stretch !important; }
body.single-product .single_variation_wrap .quantity { width: 92px !important; min-width: 92px !important; }
body.single-product .single_variation_wrap .single_add_to_cart_button { min-height: 48px !important; }
body.single-product .mp-marketplaces .mp-marketplaces__links > br { display: none !important; }

/* Marketplace actions form one deliberate row instead of a wrapped 2 + 1 layout. */
@media (min-width: 782px) {
  body.single-product .mp-marketplaces .mp-marketplaces__links {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  body.single-product .mp-marketplaces .mp-marketplaces__link {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-inline: 10px !important;
    font-size: 11px !important;
    white-space: nowrap;
  }
}
@media (max-width: 781px) {
  body.single-product .mp-product-summary__media { position: static !important; flex-basis: 100% !important; }
  body.single-product .mp-product-summary__content { max-width: none; padding-top: 10px !important; }
  body.single-product .mp-product-summary__content h1 { max-width: none; font-size: clamp(22px, 7vw, 29px) !important; letter-spacing: .035em !important; }
  body.single-product form.variations_form table.variations tr { grid-template-columns: 88px minmax(0, 1fr) !important; }
  body.single-product .mp-product-specs__list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* Phone/tablet landscape can be wider than the mobile breakpoint while still
   being very short. Preserve the same separation without forcing a tall hero. */
@media (orientation: landscape) and (max-height: 520px) and (max-width: 1024px) {
  body.woocommerce-account main.mp-account-page {
    height: auto !important;
    min-height: 100dvh !important;
    padding-top: 18px !important;
    padding-bottom: 48px !important;
    overflow: visible !important;
  }
  body.woocommerce-account main.mp-account-page > .mp-account-intro {
    margin: 0 auto 22px !important;
  }
  body.woocommerce-account main.mp-account-page > .mp-account-shell {
    padding-top: 26px !important;
  }
  body.woocommerce-account .mp-account-intro__title {
    margin-top: 0 !important;
  }
}

/* Product purchase column: one shared edge for title, price, options and
   secondary actions. WooCommerce's block stylesheet reserves a grid column
   for quantity even while that control is hidden, which shifted the button. */
body.single-product .mp-product-summary__content,
body.single-product .mp-product-summary__content > .wp-block-post-title,
body.single-product .mp-product-summary__content > .wp-block-woocommerce-product-price,
body.single-product .mp-product-summary__content > .wp-block-add-to-cart-form,
body.single-product .mp-product-summary__content > .yith-add-to-wishlist-button-block,
body.single-product .mp-product-summary__content > .mp-size-guide,
body.single-product .mp-product-summary__content > .yandex-pay-badges,
body.single-product .mp-product-summary__content > .wp-block-post-excerpt {
  box-sizing: border-box !important;
  max-width: none !important;
  width: 100% !important;
}

body.single-product .mp-product-summary__content > .wp-block-post-title,
body.single-product .mp-product-summary__content .wp-block-woocommerce-product-price,
body.single-product .mp-product-summary__content .wc-block-components-product-price {
  display: block !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
  width: 100% !important;
}

body.single-product .mp-product-summary__content .wp-block-add-to-cart-form,
body.single-product .mp-product-summary__content form.variations_form,
body.single-product .mp-product-summary__content form.variations_form table.variations,
body.single-product .mp-product-summary__content form.variations_form tbody {
  box-sizing: border-box !important;
  width: 100% !important;
}

body.single-product form.variations_form table.variations tr {
  box-sizing: border-box !important;
  width: 100% !important;
}

body.single-product form.variations_form .single_variation_wrap,
body.single-product form.variations_form .woocommerce-variation-add-to-cart {
  box-sizing: border-box !important;
  width: 100% !important;
}

body.single-product form.variations_form .woocommerce-variation-add-to-cart {
  align-items: stretch !important;
  display: flex !important;
  gap: 10px !important;
  grid-template-columns: none !important;
}

body.single-product form.variations_form .woocommerce-variation-add-to-cart .quantity {
  flex: 0 0 92px !important;
  margin: 0 !important;
}

body.single-product form.variations_form .woocommerce-variation-add-to-cart .quantity[style*="display: none"],
body.single-product form.variations_form .woocommerce-variation-add-to-cart-disabled .quantity {
  display: none !important;
}

body.single-product form.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button {
  flex: 1 1 auto !important;
  grid-column: auto !important;
  justify-self: stretch !important;
  margin: 0 !important;
  min-width: 0 !important;
  width: auto !important;
}

body.single-product .mp-product-summary__content > .yith-add-to-wishlist-button-block,
body.single-product .mp-product-summary__content > .mp-size-guide,
body.single-product .mp-product-summary__content > .yandex-pay-badges {
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}

@media (max-width: 781px) {
  body.single-product form.variations_form table.variations tr {
    grid-template-columns: 96px minmax(0, 1fr) !important;
  }
}

@media (max-width: 781px) {
  html body.wp-theme-mp204 main.mp-front-page .mp-gender__button a.wp-block-button__link {
    width: 200px !important;
    min-width: 0 !important;
    max-width: 200px !important;
    flex: 0 0 200px !important;
  }
}
/* Account page: neutralize legacy WooCommerce floats and oversized form rules. */
body.woocommerce-account .wp-block-breadcrumbs.mp-inner-title__breadcrumbs {
  display: none !important;
}

body.woocommerce-account .wp-block-post-title {
  margin: 0 !important;
  font-size: clamp(30px, 3.2vw, 44px) !important;
}

body.woocommerce-account main.main-page {
  width: min(100% - 40px, 1180px) !important;
  max-width: 1180px !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 42px 0 80px !important;
}

body.woocommerce-account main.main-page > .woocommerce {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
}

body.woocommerce-account .u-columns.col2-set {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(24px, 4vw, 54px) !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
}

body.woocommerce-account .u-column1,
body.woocommerce-account .u-column2 {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body.woocommerce-account .u-column1 > h2,
body.woocommerce-account .u-column2 > h2 {
  margin: 0 0 18px !important;
  color: #173766 !important;
  font-size: clamp(24px, 2.4vw, 34px) !important;
  text-align: left !important;
}

body.woocommerce-account form.woocommerce-form-login,
body.woocommerce-account form.woocommerce-form-register {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: clamp(24px, 3vw, 38px) !important;
  border: 1px solid #ded7cf !important;
  border-radius: 0 !important;
  background: #fff !important;
}

body.woocommerce-account form .form-row {
  float: none !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
}

body.woocommerce-account form label {
  display: block !important;
  margin: 0 0 8px !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

body.woocommerce-account form input.input-text {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 48px !important;
  padding: 10px 13px !important;
  border: 1px solid #cfc8c0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  font-size: 16px !important;
}

body.woocommerce-account form .password-input {
  display: block !important;
  width: 100% !important;
}

body.woocommerce-account form .woocommerce-button,
body.woocommerce-account form button.button {
  min-width: 150px !important;
  min-height: 46px !important;
  padding: 12px 24px !important;
  border-radius: 0 !important;
}

body.woocommerce-account .woocommerce-privacy-policy-text,
body.woocommerce-account form p {
  max-width: none !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 700px) {
  body.woocommerce-account main.main-page {
    width: min(100% - 28px, 1180px) !important;
    padding: 28px 0 72px !important;
  }
  body.woocommerce-account .u-columns.col2-set {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  body.woocommerce-account form.woocommerce-form-login,
  body.woocommerce-account form.woocommerce-form-register {
    padding: 22px 18px !important;
  }
}

/* 2.4 — full reference compositions for Mini Care and Brand. */
.mp-reference-page { padding: 0 !important; }
.mp-reference-page > .mp-care-page,
.mp-reference-page > .mp-brand-page { width: 100% !important; max-width: none !important; }

.mp-reference-page .mp-care-page__hero {
  box-sizing: border-box !important;
  width: min(100% - 40px, 1180px) !important;
  min-height: 520px !important;
  margin: 28px auto 48px !important;
  padding: 105px 58% 70px 70px !important;
  background: #f3f8fb image-set(url('../images/upf-flatlay.webp') type('image/webp'), url('../images/upf-flatlay.png') type('image/png')) center right/58% 100% no-repeat !important;
  text-align: left !important;
}
.mp-reference-page .mp-care-page__hero p,
.mp-reference-page .mp-care-page__hero h1 { text-align: left !important; }
.mp-reference-page .mp-care-page__hero .mp-page-title { margin: 20px 0 16px !important; font-size: clamp(48px,6vw,76px) !important; }
.mp-reference-page .mp-care-page__hero .mp-page-script { margin: 0 0 28px !important; font-size: clamp(25px,2.5vw,38px) !important; }
.mp-reference-page .mp-care-page__hero .mp-page-lead { max-width: 460px !important; margin: 0 !important; font-size: 17px !important; line-height: 1.65 !important; }
.mp-reference-page .mp-care { width: min(100% - 40px, 1080px) !important; margin: 0 auto !important; padding: 0 0 48px !important; }
.mp-reference-page .mp-care::before { content:'3 уровня заботы и преимуществ'; display:block; margin:0 0 28px; color:#173766; font-size:clamp(24px,2.6vw,36px); font-weight:700; text-align:center; }
.mp-reference-page .mp-care__inner { display:block !important; }
.mp-reference-page .mp-care__intro { display:none !important; }
.mp-reference-page .mp-care__levels { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; border:1px solid #e3dcd4 !important; }
.mp-reference-page .mp-care__level { display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; min-height:270px !important; padding:36px 28px !important; border:0 !important; border-right:1px solid #e3dcd4 !important; text-align:center !important; }
.mp-reference-page .mp-care__level:nth-child(2) { background:#edf4f8 !important; }
.mp-reference-page .mp-care__level:last-child { border-right:0 !important; }
.mp-reference-page .mp-care__level strong { order:3; margin:6px 0 !important; font-size:44px !important; line-height:1 !important; }
.mp-reference-page .mp-care__level span { order:1; margin-bottom:16px; color:#c6a36a; font-size:34px !important; }
.mp-reference-page .mp-care__level em { order:2; font-size:21px !important; font-style:normal !important; }
.mp-reference-page .mp-care__level p { order:4; max-width:230px !important; margin:16px auto 0 !important; font-size:13px !important; line-height:1.55 !important; }
.mp-reference-page .mp-care-page__details { width: min(100% - 40px, 1080px) !important; margin: 0 auto !important; padding: 46px 0 38px !important; }
.mp-reference-page .mp-care-page__details .wp-block-columns { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:0 !important; }
.mp-reference-page .mp-care-info-card { min-height:220px; padding:42px 34px !important; border:1px solid #e5ded6 !important; border-radius:0 !important; text-align:center !important; }
.mp-reference-page .mp-care-info-card:nth-child(2) { background:#edf4f8 !important; }
.mp-reference-page .mp-care-progress { box-sizing:border-box; display:grid; grid-template-columns:1fr 2fr 100px; gap:32px; align-items:center; width:min(100% - 40px,1080px); margin:0 auto 56px; padding:30px 42px; border:1px solid #ddd6ce; }
.mp-care-progress__level span,.mp-care-progress__level small,.mp-care-progress__bar span,.mp-care-progress__bar small { display:block; }
.mp-care-progress__level strong { display:block; margin:7px 0; color:#173766; font-size:34px; }
.mp-care-progress__bar div { height:16px; margin:10px 0; overflow:hidden; background:#eee; border-radius:20px; }
.mp-care-progress__bar i { display:block; height:100%; background:#203e70; border-radius:20px; }
.mp-care-progress__icon { color:#c6a36a; font-size:62px; text-align:center; }
.mp-reference-page .mp-care-faq { width:min(100% - 40px,900px); margin:0 auto; padding:22px 0 80px; }
.mp-care-faq h2 { margin-bottom:24px; text-align:center; }
.mp-care-faq details { border-bottom:1px solid #ded7cf; }
.mp-care-faq summary { padding:17px 4px; cursor:pointer; }
.mp-care-faq details p { margin:0 4px 18px; color:#66717a; }
.mp-care-final { display:flex; justify-content:center; gap:18px; margin-top:38px; }
.mp-care-final a { box-sizing:border-box; width:250px; padding:15px 20px; border:1px solid #173766; color:#173766; text-align:center; text-decoration:none; }
.mp-care-final a.is-primary { color:#fff; background:#173766; }

.mp-reference-page .mp-brand-hero { width:100% !important; min-height:580px !important; margin:0 !important; padding:48px 24px 390px !important; background-image:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.15) 40%,rgba(255,255,255,0)),url('../images/about-family-temp.jpg') !important; background-position:center,center 58% !important; background-size:cover !important; text-align:center !important; }
.mp-reference-page .mp-brand-hero h1 { font-size:clamp(42px,5vw,68px) !important; text-align:center !important; }
.mp-reference-page .mp-brand-hero .mp-page-script { text-align:center !important; }
.mp-reference-page .mp-brand-origin { width:min(100% - 40px,1120px) !important; padding:70px 0 !important; }
.mp-reference-page .mp-brand-origin__grid { align-items:center !important; }
.mp-reference-page .mp-brand-photo__image img { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center; }
.mp-reference-page .mp-brand-photo__caption { display:none !important; }
.mp-reference-page .mp-brand-story .mp-section-title { font-size:clamp(28px,3.2vw,44px) !important; }
.mp-reference-page .mp-brand-quote { margin:32px 0 !important; padding:28px 36px !important; border:0 !important; background:#edf5fa !important; text-align:center; }
.mp-reference-page .mp-brand-philosophy { width:100% !important; max-width:none !important; padding:62px max(24px,calc((100% - 940px)/2)) !important; background:#edf5fa !important; }
.mp-reference-page .mp-brand-values { width:100% !important; max-width:none !important; padding:64px max(24px,calc((100% - 1120px)/2)) 80px !important; background:#fff !important; }
.mp-reference-page .mp-brand-values__grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:0 !important; }
.mp-reference-page .mp-brand-value { padding:30px !important; border-right:1px solid #ded7cf; text-align:center; }
.mp-reference-page .mp-brand-value:last-child { border-right:0; }
.mp-reference-page .mp-brand-final { margin-top:52px !important; padding:44px 24px !important; background:#f3f8fb; }

/* UPF reference hero: one photographic banner with a readable text overlay. */
.mp-upf-page .mp-upf-feature { position:relative !important; display:block !important; min-height:560px !important; overflow:hidden !important; background:#eef7fb !important; }
.mp-upf-page .mp-upf-feature__media { position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; min-height:0 !important; }
.mp-upf-page .mp-upf-feature__media::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(245,250,252,.98) 0%,rgba(245,250,252,.92) 31%,rgba(245,250,252,.18) 58%,rgba(245,250,252,0) 72%); }
.mp-upf-page .mp-upf-feature__media img { object-position:center 48% !important; }
.mp-upf-page .mp-upf-feature__card { position:relative !important; z-index:2; display:flex; flex-direction:column; justify-content:center; min-height:560px !important; max-width:470px !important; margin:0 0 0 max(40px,calc((100% - 1160px)/2)) !important; padding:54px 24px !important; }
.mp-upf-page .mp-upf-feature__card h2 { font-size:clamp(46px,5vw,72px) !important; }
.mp-upf-page .mp-upf-feature__lead { max-width:14ch !important; font-size:clamp(24px,2.5vw,38px) !important; }

/* Center both logged-out account panels as a single composition. */
body.woocommerce-account .wp-block-post-title { padding-top:38px !important; }
body.woocommerce-account .mp-inner-title {
  box-sizing:border-box !important;
  min-height:0 !important;
  height:auto !important;
  padding:42px 20px 34px !important;
}
body.woocommerce-account .mp-inner-title .wp-block-post-title { padding:0 !important; }
body.woocommerce-account main.main-page { padding-top:22px !important; }
body.woocommerce-account .mp-account-shell .woocommerce:has(> .u-columns.col2-set) {
  display: block !important;
}
body.woocommerce-account .mp-account-shell .woocommerce:has(> .u-columns.col2-set) > .woocommerce-notices-wrapper:empty {
  display: none !important;
}
body.woocommerce-account .u-columns.col2-set { width:min(100%,980px) !important; margin-inline:auto !important; align-items:start !important; }
body.woocommerce-account .mp-account-intro { margin-bottom:46px !important; }
body.woocommerce-account .mp-account-shell { padding-top:38px !important; }
body.woocommerce-account .u-columns.col2-set > div { position:static !important; inset:auto !important; transform:none !important; }
body.woocommerce-account .u-columns.col2-set > .col-1 { grid-column:1 !important; grid-row:1 !important; }
body.woocommerce-account .u-columns.col2-set > .col-2 { grid-column:2 !important; grid-row:1 !important; }
body.woocommerce-account form.woocommerce-form-login,
body.woocommerce-account form.woocommerce-form-register { min-height:410px !important; }

/* Logged-out account: keep the form card clear of the intro copy. */
@media (min-width: 782px) {
  body.woocommerce-account main.mp-account-page > .mp-account-intro {
    margin: 0 auto 28px !important;
  }
  body.woocommerce-account main.mp-account-page > .mp-account-shell {
    padding-top: 32px !important;
  }
}

@media (max-width: 781px) {
  .mp-reference-page .mp-care-page__hero { display:flex !important; flex-direction:column; justify-content:flex-end; min-height:720px !important; padding:390px 24px 42px !important; background-position:center top !important; background-size:100% 350px !important; }
  .mp-reference-page .mp-care-page__hero p,.mp-reference-page .mp-care-page__hero h1 { text-align:center !important; }
  .mp-reference-page .mp-care-page__hero .mp-page-lead { margin-inline:auto !important; }
  .mp-reference-page .mp-care-page__details .wp-block-columns { grid-template-columns:1fr !important; }
  .mp-reference-page .mp-care__levels { grid-template-columns:1fr !important; }
  .mp-reference-page .mp-care__level { border-right:0 !important; border-bottom:1px solid #e3dcd4 !important; }
  .mp-reference-page .mp-care-progress { grid-template-columns:1fr; padding:28px 22px; text-align:center; }
  .mp-care-final { flex-direction:column; align-items:center; }
  .mp-reference-page .mp-brand-hero { min-height:500px !important; padding:34px 18px 350px !important; background-position:center,center bottom !important; }
  .mp-reference-page .mp-brand-origin__grid { display:block !important; }
  .mp-reference-page .mp-brand-story { padding-top:30px; }
  .mp-reference-page .mp-brand-values__grid { grid-template-columns:1fr !important; }
  .mp-reference-page .mp-brand-value { border-right:0; border-bottom:1px solid #ded7cf; }
  body.woocommerce-account .u-columns.col2-set > .col-1,
  body.woocommerce-account .u-columns.col2-set > .col-2 { grid-column:1 !important; grid-row:auto !important; }
  body.woocommerce-account .mp-account-intro { margin-bottom:30px !important; }
  body.woocommerce-account .mp-account-shell { padding-top:24px !important; }
  .mp-upf-page .mp-upf-feature { min-height:720px !important; }
  .mp-upf-page .mp-upf-feature__media { height:360px !important; }
  .mp-upf-page .mp-upf-feature__media::after { background:linear-gradient(180deg,rgba(245,250,252,0) 55%,#eef7fb 100%); }
  .mp-upf-page .mp-upf-feature__card { justify-content:flex-start; min-height:0 !important; max-width:none !important; margin:0 !important; padding:390px 24px 42px !important; text-align:center; }
  .mp-upf-page .mp-upf-feature__lead { margin-inline:auto !important; }
}

/* Desktop hero keeps the 12:5 ratio of hero-banner.jpg. This prevents the
   source image from being vertically cropped on wide screens while leaving
   tablet and mobile layouts unchanged. */
@media (min-width: 901px) {
  .mp-front-page > .mp-hero {
    height: clamp(500px, 41.667vw, 800px) !important;
    min-height: clamp(500px, 41.667vw, 800px) !important;
  }

  .mp-front-page .mp-hero .wp-block-cover__image-background {
    object-fit: cover !important;
    object-position: center center !important;
  }
}

/* Keep desktop footer headings readable without splitting words. */
@media (min-width: 901px) {
  .mp-site-footer .mp-site-footer__columns {
    grid-template-columns: minmax(240px, 1.5fr) minmax(180px, .9fr) minmax(190px, 1fr) minmax(180px, .9fr) !important;
    gap: clamp(48px, 5vw, 82px) !important;
    max-width: 1180px !important;
  }

  .mp-site-footer h2 {
    overflow-wrap: normal !important;
    word-break: keep-all !important;
    hyphens: none !important;
  }
}

/* Care instructions keep their editorial copy left-aligned. */
.mp-care-rules-template .mp-page-lead,
.mp-care-rules-template .mp-document-card,
.mp-care-rules-template .mp-document-card p,
.mp-care-rules-template .mp-document-card ul,
.mp-care-rules-template .mp-document-card li {
  text-align: left !important;
}
.mp-care-rules-template .mp-document-card ul {
  padding-left: 1.35em !important;
}

/* Legal documents need a readable measure on wide desktop screens. */
.mp-legal-template > .mp-editable-page__content,
.mp-return-policy-template > .mp-editable-page__content {
  box-sizing: border-box !important;
  width: min(100% - 48px, 1120px) !important;
  max-width: 1120px !important;
  margin-inline: auto !important;
}

body .mp-return-policy-template .mp-return-page-title,
body .mp-legal-template .mp-legal-page-title {
  max-width: 1000px !important;
  margin-inline: auto !important;
  font-family: var(--mp-font-body, "Jost", sans-serif) !important;
  font-size: clamp(36px, 3.8vw, 50px) !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
  letter-spacing: -.025em !important;
  text-align: center !important;
  text-wrap: balance;
}

@media (max-width: 680px) {
  .mp-legal-template > .mp-editable-page__content,
  .mp-return-policy-template > .mp-editable-page__content {
    width: min(100% - 28px, 1120px) !important;
  }
  body .mp-return-policy-template .mp-return-page-title,
  body .mp-legal-template .mp-legal-page-title {
    font-size: clamp(30px, 9vw, 42px) !important;
    line-height: 1.14 !important;
  }
}

