/* Woody&Wood · Figma fidelity layer b (owned by one agent; loaded after style.css) */

/* ==========================================================================
   SHOP / CATALOG · карточки (общие для 1280 и 1920) — Figma «магазин» 2790:1177
   Область: .post-type-archive-product, .tax-product_cat
   ========================================================================== */
@media (min-width: 861px) {
  body.post-type-archive-product main.ww-main .ww-shop-design__section .ww-product-card,
  body.tax-product_cat main.ww-main .ww-product-card { position: relative; }
  body.post-type-archive-product main.ww-main .ww-shop-design__section .ww-product-card__visual,
  body.tax-product_cat main.ww-main .ww-product-card__visual { height: auto; position: relative; }
  body.post-type-archive-product main.ww-main .ww-product-card .ww-product-image,
  body.tax-product_cat main.ww-main .ww-product-card .ww-product-image { display: block; aspect-ratio: auto; height: auto; }
  body.post-type-archive-product main.ww-main .ww-product-card .ww-product-title,
  body.tax-product_cat main.ww-main .ww-product-card .ww-product-title {
    font: 400 16px/19px var(--ww-font-sans); margin: 0; color: #000;
  }
  body.post-type-archive-product main.ww-main .ww-product-card .ww-product-meta,
  body.tax-product_cat main.ww-main .ww-product-card .ww-product-meta { display: block; padding: 20px 0 0; }
  body.post-type-archive-product main.ww-main .ww-product-card .ww-product-price,
  body.tax-product_cat main.ww-main .ww-product-card .ww-product-price {
    display: block; margin: 9px 0 0; font: 400 14px/17px var(--ww-font-sans); color: #737373;
  }
  /* бейдж «Нет в наличии» -> текст «Распродано» из макета */
  body.post-type-archive-product main.ww-main .ww-product-card .ww-product-badge,
  body.tax-product_cat main.ww-main .ww-product-card .ww-product-badge {
    position: absolute; left: 13px; top: 20px; z-index: 3; padding: 0; background: none; color: #fff;
    font-size: 0; line-height: 0; letter-spacing: 0; text-transform: none;
  }
  body.post-type-archive-product main.ww-main .ww-product-card .ww-product-badge::before,
  body.tax-product_cat main.ww-main .ww-product-card .ww-product-badge::before {
    content: 'Распродано'; font: 300 16px/19px var(--ww-font-sans); color: #fff; display: block;
  }
  body.post-type-archive-product main.ww-main .ww-product-card .ww-product-badge--sale::before,
  body.tax-product_cat main.ww-main .ww-product-card .ww-product-badge--sale::before { content: 'Скидка'; }
  body.post-type-archive-product main.ww-main .ww-product-card.is-sold-out .ww-product-image img:first-child,
  body.tax-product_cat main.ww-main .ww-product-card.is-sold-out .ww-product-image img:first-child { opacity: 1; filter: grayscale(1) brightness(.7); }
}

@media (min-width: 861px) and (max-width: 1599px) {
  body.post-type-archive-product main.ww-main .ww-shop-design__hero { margin-bottom: 0; }
  body.post-type-archive-product main.ww-main .ww-shop-design__section { padding-block: 130px 0; }
  body.post-type-archive-product main.ww-main .ww-shop-design__section .ww-home-product-section__head { margin-bottom: 59px; }
  body.post-type-archive-product main.ww-main .ww-shop-design__section .ww-product-grid { row-gap: 70px; }
  body.post-type-archive-product main.ww-main .ww-shop-design__section .ww-product-image img:first-child { width: 334px; height: 390px; object-fit: cover; display: block; }
  /* Категории (/product-category/*): тот же формат карточек, что в секции «Новинки»
     (2790:1177 — фото 334×390, пропорция .856). Живой отдавал 345×412. */
  body.tax-product_cat main.ww-main .ww-product-card .ww-product-image img:first-child { width: 100%; height: auto; aspect-ratio: 334/390; object-fit: cover; display: block; }
  body.post-type-archive-product main.ww-main .ww-product-card .ww-wishlist-link--overlay {
    position: absolute; right: 5px; top: 9px; width: 40px; height: 40px; z-index: 4; display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 40px; line-height: 40px; letter-spacing: 0; font-weight: 400;
  }
  body.post-type-archive-product main.ww-main .ww-product-card .ww-wishlist-link--overlay span[aria-hidden] { font-size: 40px; line-height: 40px; }
  body.post-type-archive-product main.ww-main .ww-product-card .ww-product-actions {
    position: absolute; right: 0; bottom: auto; top: 350px; width: 50px; height: 40px; margin: 0; z-index: 4;
  }
  body.post-type-archive-product main.ww-main .ww-product-card .ww-product-actions a.button { width: 50px; height: 40px; min-height: 0; padding: 0; background-color: #000; border-radius: 0; }
}

/* ==========================================================================
   CART · /cart/ — Figma «карзина экран 1» 2792:1145 (1280), «Корзина 1 экран» 2127:774 (1920),
   «корзина» 2632:815 (402). Лево: шаги + товары; право: «Корзина», итоги, промокод, кнопка.
   Порядок в .cart_totals в DOM другой — раскладываем flex-order + display:contents.
   ========================================================================== */
body.woocommerce-cart main.ww-main {
  --cp-pl: 57px; --cp-lw: 690px; --cp-rw: 344px; --cp-gap: 118px; --cp-top: 29px;
  --cp-back-ml: 0px; --cp-steps-mt: 72px; --cp-items-mt: 95px;
  --cp-circle: 26px; --cp-step-fs: 13px; --cp-step-lh: 16px;
  --cp-img-w: 125px; --cp-img-h: 129px; --cp-name-ml: 32px; --cp-name-fs: 16px; --cp-name-lh: 19px; --cp-name-w: 320px;
  --cp-price-fs: 20px; --cp-price-lh: 24px; --cp-price-mt: 11px;
  --cp-row-pb: 39px; --cp-row-bw: 2px; --cp-row-gap: 26px;
  --cp-qty-w: 79px; --cp-qty-h: 32px; --cp-qty-mt: 30px; --cp-qty-fs: 24px;
}
@media (min-width: 861px) {
  body.woocommerce-cart main.ww-main { background: #fff; }
  body.woocommerce-cart main.ww-main > .ww-commerce-route--cart,
  body.woocommerce-cart main.ww-main .ww-commerce-route--cart .ww-route-prose {
    width: 100%; max-width: none; margin: 0; padding-inline: 0; padding-bottom: 0;
  }
  body.woocommerce-cart main.ww-main > .ww-commerce-route--cart { padding-top: var(--cp-top); padding-bottom: 80px; }
  body.woocommerce-cart main.ww-main .ww-route-prose > .woocommerce {
    display: grid; grid-template-columns: var(--cp-lw) var(--cp-rw); column-gap: var(--cp-gap);
    justify-content: start; padding-left: var(--cp-pl); align-items: start; width: 100%; max-width: none; margin: 0; row-gap: 0; grid-template-rows: auto auto auto 1fr;
  }
  body.woocommerce-cart main.ww-main .ww-commerce-progress { grid-column: 1; grid-row: 1; display: block; margin: 0; padding: 0; width: auto; }
  body.woocommerce-cart main.ww-main .woocommerce-notices-wrapper { grid-column: 1; grid-row: 2; }
  body.woocommerce-cart main.ww-main .woocommerce-cart-form { grid-column: 1; grid-row: 3; width: auto; margin: var(--cp-items-mt) 0 0; padding: 0; }
  body.woocommerce-cart main.ww-main .cart-collaterals { grid-column: 2; grid-row: 1 / span 4; width: auto; margin: var(--cp-col-mt, 44px) 0 0; padding: 0; float: none; }
  body.woocommerce-cart main.ww-main .cart-collaterals .cart_totals { float: none; width: auto; max-width: none; margin: 0; padding: 0; }
}

@media (min-width: 1200px) {
  body.woocommerce-cart main.ww-main .ww-route-prose > .woocommerce {
    grid-template-columns: minmax(0, min(var(--cp-lw), calc(100% - var(--cp-rw) - var(--cp-gap)))) var(--cp-rw);
  }
}

/* --- «Вернуться к покупкам» + шаги --- */
body.woocommerce-cart main.ww-main .ww-commerce-progress__back {
  display: flex; width: max-content; align-items: center; gap: 0; position: relative; margin-left: var(--cp-back-ml);
  font: 400 16px/19px var(--ww-font-sans); color: #000; text-decoration: none; min-height: 0; height: 19px; padding: 0;
}
body.woocommerce-cart main.ww-main .ww-commerce-progress__back .ww-return-back__icon { font-size: 0; width: 0; height: 0; overflow: visible; }
body.woocommerce-cart main.ww-main .ww-commerce-progress__back .ww-return-back__icon::before {
  content: ''; position: absolute; left: -29px; top: 0; width: 15px; height: 15px;
  background:
    linear-gradient(#000, #000) 0 0 / 15px 2px no-repeat,
    linear-gradient(#000, #000) 0 9px / 6px 2px no-repeat;
}
body.woocommerce-cart main.ww-main .ww-commerce-progress ol {
  display: flex; align-items: center; list-style: none; margin: var(--cp-steps-mt) 0 0; padding: 0; gap: 0; width: auto; min-height: 0; justify-content: flex-start;
}
body.woocommerce-cart main.ww-main .ww-commerce-progress li {
  display: flex; align-items: center; gap: 12px; min-height: 0; margin: 0; padding: 0; position: relative; flex: 0 0 auto;
  font: 400 var(--cp-step-fs)/var(--cp-step-lh) var(--ww-font-sans); color: #000;
}
body.woocommerce-cart main.ww-main .ww-commerce-progress li::before, body.woocommerce-cart main.ww-main .ww-commerce-progress li::after { content: none; }
body.woocommerce-cart main.ww-main .ww-commerce-progress li > span {
  width: var(--cp-circle); height: var(--cp-circle); border-radius: 50%; border: 1px solid #000; background: #fff; color: #000;
  display: inline-flex; align-items: center; justify-content: center; font: 400 16px/1 var(--ww-font-sans); flex: 0 0 auto;
}
body.woocommerce-cart main.ww-main .ww-commerce-progress li.is-active > span { background: #f3dbc1; border-color: #f3dbc1; font-weight: 500; font-size: 14px; }
body.woocommerce-cart main.ww-main .ww-commerce-progress li > strong { font: 400 var(--cp-step-fs)/var(--cp-step-lh) var(--ww-font-sans); color: #000; }
body.woocommerce-cart main.ww-main .ww-commerce-progress li.is-active > strong { font-weight: 700; }
body.woocommerce-cart main.ww-main .ww-commerce-progress li + li { margin-left: calc(33px + 30px); }
body.woocommerce-cart main.ww-main .ww-commerce-progress li + li::before {
  content: ''; position: absolute; left: -54px; top: 50%; width: 33px; height: 14px; margin-top: -7px; border: 0;
  background:
    linear-gradient(#000, #000) 0 50% / 100% 1px no-repeat,
    linear-gradient(#000, #000) 100% 50% / 1px 1px no-repeat;
  clip-path: none;
}
body.woocommerce-cart main.ww-main .ww-commerce-progress li + li::after {
  content: ''; position: absolute; left: -26px; top: 50%; width: 8px; height: 8px; margin-top: -4px;
  border-top: 1px solid #000; border-right: 1px solid #000; transform: rotate(45deg); background: none;
}
body.woocommerce-cart main.ww-main .ww-commerce-progress li:nth-child(2) > strong { display: block; width: 114px; padding-right: 36px; box-sizing: border-box; }

/* --- товары --- */
body.woocommerce-cart main.ww-main .woocommerce-cart-form .shop_table.cart,
body.woocommerce-cart main.ww-main .woocommerce-cart-form .shop_table.cart tbody { display: block; width: 100%; border: 0; background: none; margin: 0; padding: 0; }
body.woocommerce-cart main.ww-main .woocommerce-cart-form .shop_table.cart thead { display: none; }
body.woocommerce-cart main.ww-main .woocommerce-cart-form tr.cart_item {
  display: grid; position: relative; width: 100%; margin: 0 0 var(--cp-row-gap); padding: 0 0 var(--cp-row-pb);
  grid-template-columns: var(--cp-img-w) minmax(0, 1fr) auto; grid-template-rows: auto auto 1fr; column-gap: 0;
  border: 0; border-bottom: var(--cp-row-bw) solid #dcdcdc; background: none; min-height: 0;
}
body.woocommerce-cart main.ww-main .woocommerce-cart-form tr.cart_item > td { display: block; padding: 0; border: 0; background: none; min-width: 0; text-align: left; }
body.woocommerce-cart main.ww-main .woocommerce-cart-form tr.cart_item > td::before { content: none; }
body.woocommerce-cart main.ww-main .cart_item td.product-thumbnail { grid-column: 1; grid-row: 1 / span 3; width: var(--cp-img-w); }
body.woocommerce-cart main.ww-main .cart_item td.product-thumbnail a { display: block; }
body.woocommerce-cart main.ww-main .cart_item td.product-thumbnail img { width: var(--cp-img-w); height: var(--cp-img-h); max-width: none; object-fit: cover; display: block; border-radius: 0; }
body.woocommerce-cart main.ww-main .cart_item td.product-name { grid-column: 2; grid-row: 1 / span 3; margin-left: var(--cp-name-ml); max-width: var(--cp-name-w); }
body.woocommerce-cart main.ww-main .cart_item td.product-name a {
  display: block; font: 300 var(--cp-name-fs)/var(--cp-name-lh) var(--ww-font-sans); color: #000; text-decoration: none; text-transform: none;
}
body.woocommerce-cart main.ww-main .cart_item td.product-price { display: none !important; }
body.woocommerce-cart main.ww-main .cart_item td.product-subtotal {
  grid-column: 3; grid-row: 1; text-align: right; margin-top: var(--cp-price-mt);
  font: 500 var(--cp-price-fs)/var(--cp-price-lh) var(--ww-font-sans); color: #000; white-space: nowrap;
}
body.woocommerce-cart main.ww-main .cart_item td.product-subtotal * { font: inherit; color: inherit; }
body.woocommerce-cart main.ww-main .cart_item td.product-quantity { grid-column: 3; grid-row: 2; margin-top: var(--cp-qty-mt); justify-self: end; }
body.woocommerce-cart main.ww-main .cart_item td.product-quantity .quantity { display: flex; align-items: stretch; width: var(--cp-qty-w); height: var(--cp-qty-h); background: #000; margin: 0; padding: 0; border: 0; }
body.woocommerce-cart main.ww-main .cart_item .quantity .ww-quantity-button,
body.woocommerce-cart main.ww-main .cart_item .quantity input.qty {
  background: #000; color: #fff; border: 0; border-radius: 0; height: 100%; min-height: 0; padding: 0; margin: 0;
  font: 300 var(--cp-qty-fs)/var(--cp-qty-h) var(--ww-font-sans); letter-spacing: -.025em; text-align: center; box-shadow: none; appearance: textfield; -moz-appearance: textfield;
}
body.woocommerce-cart main.ww-main .cart_item .quantity .ww-quantity-button { flex: 0 0 24px; width: 24px; cursor: pointer; }
body.woocommerce-cart main.ww-main .cart_item .quantity input.qty { flex: 1 1 auto; width: 31px; min-width: 0; }
body.woocommerce-cart main.ww-main .cart_item .quantity input.qty::-webkit-outer-spin-button,
body.woocommerce-cart main.ww-main .cart_item .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body.woocommerce-cart main.ww-main .cart_item td.product-remove { position: absolute; left: 0; bottom: 6px; width: auto; height: auto; }
body.woocommerce-cart main.ww-main .cart_item td.product-remove a.remove { position: static; display: inline-flex; width: 24px; height: 24px; align-items: center; justify-content: center; background: none; color: #000; font-size: 20px; line-height: 1; border: 0; }
body.woocommerce-cart main.ww-main .woocommerce-cart-form td.actions { display: block; padding: 0; border: 0; background: none; }
body.woocommerce-cart main.ww-main .woocommerce-cart-form tr:not(.cart_item) { display: block; border: 0; }
body.woocommerce-cart main.ww-main .woocommerce-cart-form td.actions button[name="update_cart"] {
  height: 40px; min-height: 0; padding: 0 20px; margin: 0; background: #f2f2f7; color: #737373; border: 0; border-radius: 0; font: 400 14px/17px var(--ww-font-sans); text-transform: none; letter-spacing: 0;
}

/* --- итоги справа --- */
body.woocommerce-cart main.ww-main .cart_totals { display: flex; flex-direction: column; align-items: stretch; background: none; border: 0; box-shadow: none; }
body.woocommerce-cart main.ww-main .cart_totals > h2 {
  order: 1; margin: 0; padding: 0 12px 16px; font: 400 24px/31px var(--ww-font-accent) !important; letter-spacing: 0; text-transform: none; color: #000; border-bottom: 1px solid #dcdcdc;
}
body.woocommerce-cart main.ww-main .cart_totals .ww-cart-promo { display: contents; }
body.woocommerce-cart main.ww-main .cart_totals .ww-cart-promo > p {
  order: 2; margin: 11px 12px 0; max-width: 308px; font: 400 14px/17px var(--ww-font-sans) !important; color: #000;
}
body.woocommerce-cart main.ww-main .cart_totals table.shop_table,
body.woocommerce-cart main.ww-main .cart_totals table.shop_table tbody { display: contents; }
body.woocommerce-cart main.ww-main .cart_totals table.shop_table tr { display: flex; justify-content: space-between; align-items: flex-start; border: 0; background: none; width: auto; }
body.woocommerce-cart main.ww-main .cart_totals table.shop_table th,
body.woocommerce-cart main.ww-main .cart_totals table.shop_table td { display: block; border: 0; padding: 0; background: none; text-align: left; width: auto; }
body.woocommerce-cart main.ww-main .cart_totals table.shop_table th::before, body.woocommerce-cart main.ww-main .cart_totals table.shop_table td::before { content: none; }
body.woocommerce-cart main.ww-main .cart_totals tr.cart-subtotal { order: 3; padding: 38px 28px 17px 12px; border-bottom: 1px solid #dcdcdc; }
body.woocommerce-cart main.ww-main .cart_totals tr.shipping { order: 3; padding: 12px 28px 17px 12px; border-bottom: 1px solid #dcdcdc; }
body.woocommerce-cart main.ww-main .cart_totals tr.cart-subtotal th, body.woocommerce-cart main.ww-main .cart_totals tr.shipping th { font: 400 15px/18px var(--ww-font-sans) !important; color: #000; text-transform: none; letter-spacing: 0; }
body.woocommerce-cart main.ww-main .cart_totals tr.cart-subtotal td, body.woocommerce-cart main.ww-main .cart_totals tr.shipping td { position: relative; top: 6px; font: 700 14px/17px var(--ww-font-sans) !important; color: #000; text-align: right; }
body.woocommerce-cart main.ww-main .cart_totals tr.cart-subtotal td *, body.woocommerce-cart main.ww-main .cart_totals tr.shipping td * { font: inherit !important; color: inherit; }
body.woocommerce-cart main.ww-main .cart_totals .ww-cart-promo__form { order: 4; display: grid; grid-template-columns: 100%; gap: 0; margin: 24px 0 0; padding: 0; }
body.woocommerce-cart main.ww-main .cart_totals .ww-cart-promo__form input[type=text] {
  height: 46px; padding: 0 16px; border: 0; border-radius: 0; background: #f2f2f7; color: #000; font: 300 15px/18px var(--ww-font-sans) !important; text-transform: uppercase; box-shadow: none; margin: 0; width: 100%;
}
body.woocommerce-cart main.ww-main .cart_totals .ww-cart-promo__form input[type=text]::placeholder { color: #737373; opacity: 1; }
body.woocommerce-cart main.ww-main .cart_totals .ww-cart-promo__form button {
  height: 48px; min-height: 0; padding: 0; border: 0; border-radius: 0; background: #b9b9b9; color: #484848; font: 500 16px/19px var(--ww-font-sans) !important; text-transform: none; letter-spacing: 0; margin: 0; width: 100%;
}
body.woocommerce-cart main.ww-main .cart_totals tr.order-total { order: 5; margin: 44px 0 0; padding: 0 1px 0 0; align-items: baseline; }
body.woocommerce-cart main.ww-main .cart_totals tr.order-total th { font: 400 20px/24px var(--ww-font-sans) !important; color: #000; text-transform: none; letter-spacing: 0; }
body.woocommerce-cart main.ww-main .cart_totals tr.order-total td, body.woocommerce-cart main.ww-main .cart_totals tr.order-total td * { font: 700 20px/24px var(--ww-font-sans) !important; color: #000; }
body.woocommerce-cart main.ww-main .cart_totals .wc-proceed-to-checkout { order: 6; margin: 15px 0 0; padding: 0; }
body.woocommerce-cart main.ww-main .cart_totals .wc-proceed-to-checkout .checkout-button {
  display: flex; align-items: center; justify-content: center; width: 100%; height: 57px; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: #000; color: #fff; font: 500 15px/18px var(--ww-font-sans) !important; text-transform: none; letter-spacing: 0;
}

/* --- 1920 --- */
@media (min-width: 1600px) {
  body.woocommerce-cart main.ww-main {
    --cp-pl: 160px; --cp-lw: 958px; --cp-rw: 477px; --cp-gap: 165px; --cp-top: 87px;
    --cp-back-ml: 56px; --cp-steps-mt: 53px; --cp-items-mt: 116px;
    --cp-circle: 35px; --cp-step-fs: 16px; --cp-step-lh: 19px;
    --cp-img-w: 174px; --cp-img-h: 164px; --cp-name-ml: 45px; --cp-name-fs: 20px; --cp-name-lh: 24px; --cp-name-w: 444px;
    --cp-price-fs: 30px; --cp-price-lh: 36px; --cp-price-mt: 13px;
    --cp-row-pb: 49px; --cp-row-bw: 3px; --cp-row-gap: 34px;
    --cp-qty-w: 110px; --cp-qty-h: 40px; --cp-qty-mt: 33px; --cp-qty-fs: 36px;
  }
  body.woocommerce-cart main.ww-main .ww-commerce-progress__back .ww-return-back__icon::before { left: -48px; width: 22px; height: 21px; background: linear-gradient(#000,#000) 0 0 / 22px 2px no-repeat, linear-gradient(#000,#000) 0 13px / 9px 2px no-repeat; }
  body.woocommerce-cart main.ww-main .ww-commerce-progress li { gap: 17px; }
  body.woocommerce-cart main.ww-main .ww-commerce-progress li > span { font-size: 16px; }
  body.woocommerce-cart main.ww-main .ww-commerce-progress li:nth-child(2) > strong { width: auto; padding-right: 0; }
  body.woocommerce-cart main.ww-main .ww-commerce-progress li + li { margin-left: calc(46px + 53px); }
  body.woocommerce-cart main.ww-main .ww-commerce-progress li + li::before { left: -76px; width: 46px; height: 18px; margin-top: -9px; }
  body.woocommerce-cart main.ww-main .ww-commerce-progress li + li::after { left: -36px; }
  body.woocommerce-cart main.ww-main .cart_item td.product-quantity .quantity { padding-right: 0; }
  body.woocommerce-cart main.ww-main .cart_item .quantity .ww-quantity-button { flex-basis: 34px; width: 34px; }
  body.woocommerce-cart main.ww-main .cart_totals > h2 { font-size: 32px; line-height: 41px; padding: 0 16px 19px; }
  body.woocommerce-cart main.ww-main .cart_totals .ww-cart-promo > p { margin: 16px 16px 0; max-width: 429px; font-size: 22px; line-height: 27px; }
  body.woocommerce-cart main.ww-main .cart_totals tr.cart-subtotal { padding: 32px 39px 22px 16px; }
  body.woocommerce-cart main.ww-main .cart_totals tr.shipping { padding: 14px 39px 22px 16px; }
  body.woocommerce-cart main.ww-main .cart_totals tr.cart-subtotal th, body.woocommerce-cart main.ww-main .cart_totals tr.shipping th { font-size: 22px; line-height: 27px; }
  body.woocommerce-cart main.ww-main .cart_totals tr.cart-subtotal td, body.woocommerce-cart main.ww-main .cart_totals tr.shipping td { font-size: 20px; line-height: 24px; }
  body.woocommerce-cart main.ww-main .cart_totals .ww-cart-promo__form { margin-top: 30px; }
  body.woocommerce-cart main.ww-main .cart_totals .ww-cart-promo__form input[type=text] { height: 58px; padding: 0 22px; font-size: 20px; line-height: 24px; }
  body.woocommerce-cart main.ww-main .cart_totals .ww-cart-promo__form button { height: 62px; font-size: 20px; line-height:24px; }
  body.woocommerce-cart main.ww-main .cart_totals tr.order-total { margin-top: 57px; padding: 0 1px 0 0; }
  body.woocommerce-cart main.ww-main .cart_totals tr.order-total th { font-size: 22px; line-height: 27px; }
  body.woocommerce-cart main.ww-main .cart_totals .wc-proceed-to-checkout { margin-top: 26px; }
  body.woocommerce-cart main.ww-main .cart_totals .wc-proceed-to-checkout .checkout-button { height: 74px; font-size: 20px; line-height: 24px; }
}

/* Between the 1280 and 1920 reference widths, scale the 1920 cart columns into
   the same 160px side margins instead of letting its fixed tracks escape. */
@media (min-width: 1600px) and (max-width: 1919.98px) {
  body.woocommerce-cart main.ww-main {
    --cp-lw: calc((100vw - 320px) * .59875);
    --cp-rw: calc((100vw - 320px) * .298125);
    --cp-gap: calc((100vw - 320px) * .103125);
  }
}

/* --- Корзина с товаром 1280 (2792:1145): правая колонка на 22px ниже эталона,
   количество на 20px ниже, шаги на 11px левее, а route растягивал фантомный
   min-height 65.8125rem (1053px) из style.css:5724 — кадр 1154, футер y769. --- */
@media (min-width: 861px) and (max-width: 1599px) {
  body.woocommerce-cart main.ww-main > .ww-commerce-route--cart { height: auto !important; min-height: 0 !important; }
  body.woocommerce-cart main.ww-main {
    --cp-col-mt: 22px;   /* 44 → правая колонка: h2 «Корзина» y169 (эталон) */
    --cp-qty-mt: 10px;   /* 30 → счётчик y407 */
  }
  /* шаги: круг «1» на x68 (эталон), сейчас x57 */
  body.woocommerce-cart main.ww-main .ww-commerce-progress ol { margin-left: 11px !important; }
  /* промокод: между полем и кнопкой 15px (в спеке кнопка y484) */
  body.woocommerce-cart main.ww-main .cart_totals .ww-cart-promo__form button { margin-top: 15px !important; }
  /* итог и кнопка: y561 и y622 (эталон) при поднятой колонке */
  body.woocommerce-cart main.ww-main .cart_totals tr.order-total { margin-top: 29px !important; }
  body.woocommerce-cart main.ww-main .cart_totals .wc-proceed-to-checkout { margin-top: 37px !important; }
}

/* ==========================================================================
   SHOP · MOBILE 402 hero (Figma «магазин» 2528:825): dark, zoomed-out banner 598 tall, caption at the bottom
   ========================================================================== */
@media (max-width: 768.98px) {
  body.post-type-archive-product .ww-shop-design__hero { height: 598px !important; min-height: 0 !important; position: relative; overflow: hidden; background: #1b130c; }
  body.post-type-archive-product .ww-shop-design__hero .ww-storefront-banner__media { position: absolute !important; inset: 0 !important; height: 598px !important; }
  body.post-type-archive-product .ww-shop-design__hero .ww-storefront-banner__media img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover !important; object-position: 50% 40% !important; transform: none; filter: brightness(.6); }
  body.post-type-archive-product .ww-shop-design__hero .ww-storefront-banner__media::after { background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.85) 100%) !important; opacity: 1 !important; }
}

/* --- Состояния компонентов Figma (Button linkout Default→Hover, чекбокс Rectangle 87/137) --- */
html body .ww-button, html body button.button, html body a.button, html body .woocommerce button.button, html body .woocommerce a.button {
  transition: background-color .3s ease-in-out, color .3s ease-in-out, border-color .3s ease-in-out !important;
}
@media (hover: hover) {
  html body .ww-button:hover, html body button.button:hover, html body a.button:hover,
  html body .woocommerce button.button:hover, html body .woocommerce a.button:hover {
    background-color: #fff !important; color: #000 !important; box-shadow: inset 0 0 0 1px #000;
  }
}
html body input[type="checkbox"]:not(.screen-reader-text) {
  -webkit-appearance: none; appearance: none; flex: none;
  width: 20px; height: 20px; margin: 0 8px 0 0; vertical-align: middle; cursor: pointer;
  background: #d9d9d9; border: 0; border-radius: 0; position: relative;
  transition: background-color .3s ease-out;
}
html body input[type="checkbox"]:not(.screen-reader-text):checked { background: #b8663d; }
html body input[type="checkbox"]:not(.screen-reader-text):checked::after {
  content: ""; position: absolute; left: 50%; top: 45%; width: 9px; height: 5px;
  border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: translate(-50%, -50%) rotate(-45deg);
}
html body input[type="checkbox"]:focus-visible { outline: 2px solid #b8663d; outline-offset: 2px; }

/* --- Бургер (Group 402): 3 линии → крестик, smart animate .3s --- */
html body .ww-menu-toggle { position: relative; }
html body .ww-menu-toggle > span[aria-hidden="true"] { height: 2px !important; transition: transform .3s ease-in-out, opacity .3s ease-in-out !important; }
html body .ww-menu-toggle > span[aria-hidden="true"]:first-child { transform: translateY(-7px); }
html body .ww-menu-toggle > span[aria-hidden="true"]:nth-child(2) { transform: translateY(7px); }
html body .ww-menu-toggle::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 1.25rem; height: 2px; margin: -1px 0 0 -0.625rem;
  background: currentColor; transition: opacity .3s ease-in-out;
}
html body.ww-menu-open .ww-menu-toggle::after, html.ww-menu-open .ww-menu-toggle::after { opacity: 0; }
html.ww-menu-open .ww-menu-toggle > span[aria-hidden="true"]:first-child { transform: rotate(45deg); }
html.ww-menu-open .ww-menu-toggle > span[aria-hidden="true"]:nth-child(2) { transform: rotate(-45deg); }

/* --- Сортировка (Group 396): текст «Сортировка ▾» без рамки --- */
html body .woocommerce-ordering select[name="orderby"] {
  -webkit-appearance: none; appearance: none; border: 0 !important; border-radius: 0; box-shadow: none !important;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='5' viewBox='0 0 9 5'%3E%3Cpath d='M.3.3l4.2 4.2L8.7.3' fill='none' stroke='%23000' stroke-width='.72'/%3E%3C/svg%3E") no-repeat right 2px center / 9px 5px !important;
  padding: 0 18px 0 0 !important; font: 300 18px/22px var(--ww-font-sans, Inter), sans-serif; color: #000; cursor: pointer;
}
html body .woocommerce-ordering select[name="orderby"]:focus-visible { outline: 1px solid #000; outline-offset: 4px; }

/* --- Ссылки и иконки шапки: плавное наведение как в прототипе (.3s ease-out) --- */
html body .ww-site-header a, html body .ww-site-footer a, html body .ww-header-actions a { transition: opacity .3s ease-out, color .3s ease-out; }
@media (hover: hover) {
  html body .ww-site-footer a:hover, html body .ww-header-actions a:hover { opacity: .6; }
}
/* Карточки товаров: мягкий подъём картинки (gentle ≈ .9s) */
html body ul.products li.product img, html body .ww-product-card img { transition: transform .9s cubic-bezier(.22,1,.36,1); }
@media (hover: hover) {
  html body ul.products li.product:hover img, html body .ww-product-card:hover img { transform: scale(1.04); }
}

/* --- Корзина 1920 (Корзина 1 экран 2127:774): колонка итогов 477px, Inter 22/20 --- */
@media (min-width: 1600px) {
  html body.woocommerce-cart.woocommerce-cart main .cart_totals > h2 { font-family: var(--ww-font-accent), 'Lumberjack', serif !important; font-size: 32px !important; line-height: 41px !important; }
  html body.woocommerce-cart.woocommerce-cart main .ww-cart-promo > p, html body.woocommerce-cart.woocommerce-cart main .ww-cart-promo p:not(.ww-cart-promo__form) { font-size: 22px !important; line-height: 26.6px !important; font-weight: 400 !important; }
  html body.woocommerce-cart.woocommerce-cart main .cart_totals th { font-size: 22px !important; line-height: 26.6px !important; font-weight: 400 !important; }
  html body.woocommerce-cart.woocommerce-cart main .cart_totals td, html body.woocommerce-cart.woocommerce-cart main .cart_totals td .amount, html body.woocommerce-cart.woocommerce-cart main .cart_totals td bdi { font-size: 20px !important; line-height: 24.2px !important; font-weight: 700 !important; }
  html body.woocommerce-cart.woocommerce-cart main .cart_totals .order-total th { font-size: 22px !important; }
  html body.woocommerce-cart.woocommerce-cart main .ww-cart-promo__form input[name="coupon_code"] { font-size: 20px !important; font-weight: 300 !important; text-transform: uppercase; background: rgba(242,242,247,.75) !important; border: 0 !important; }
  html body.woocommerce-cart.woocommerce-cart main .ww-cart-promo__form button[name="apply_coupon"] { font-size: 20px !important; font-weight: 500 !important; color: #484848 !important; background: #b9b9b9 !important; border: 0 !important; }
  html body.woocommerce-cart.woocommerce-cart main .wc-proceed-to-checkout a.checkout-button { height: 74px !important; font-size: 20px !important; font-weight: 500 !important; display: flex !important; align-items: center; justify-content: center; }
}

/* Корзина: 1920 и 402 — Inter 22 (подписи) / 20 bold (суммы); 1280 остаётся 15/14 */
@media (min-width: 1600px), (max-width: 768px) {
  html body.woocommerce-cart main.ww-main .cart_totals tr.cart-subtotal th,
  html body.woocommerce-cart main.ww-main .cart_totals tr.shipping th,
  html body.woocommerce-cart main.ww-main .cart_totals tr.order-total th { font: 400 22px/26.6px var(--ww-font-sans) !important; }
  html body.woocommerce-cart main.ww-main .cart_totals tr.cart-subtotal td,
  html body.woocommerce-cart main.ww-main .cart_totals tr.shipping td,
  html body.woocommerce-cart main.ww-main .cart_totals tr.order-total td { font: 700 20px/24.2px var(--ww-font-sans) !important; }
  html body.woocommerce-cart main.ww-main .cart_totals .ww-cart-promo__form input[type=text] { height: 58px; font: 300 20px/24px var(--ww-font-sans) !important; }
  html body.woocommerce-cart main.ww-main .cart_totals .ww-cart-promo__form input[type=text]::placeholder { font: inherit; }
  html body.woocommerce-cart main.ww-main .cart_totals .ww-cart-promo__form button { height: 62px; font: 500 20px/24.2px var(--ww-font-sans) !important; }
  html body.woocommerce-cart main.ww-main .cart_totals .wc-proceed-to-checkout a.checkout-button { min-height: 74px; font: 500 20px/24.2px var(--ww-font-sans) !important; }
}

/* --- Корзина 402 (2632:815): шаги, строка товара, промокод --- */
@media (max-width: 768px) {
  html body main.ww-main .ww-commerce-progress ol { position: relative !important; display: block !important; height: 40px !important; margin: 32px 0 0 !important; padding: 0 !important; width: 100% !important; overflow: visible; }
  html body main.ww-main .ww-commerce-progress ol > li { position: absolute !important; top: 0; display: flex !important; align-items: flex-start; gap: 0; margin: 0 !important; padding: 0 !important; }
  html body main.ww-main .ww-commerce-progress ol > li:nth-child(1) { left: 6px; }
  html body main.ww-main .ww-commerce-progress ol > li:nth-child(2) { left: 121px; }
  html body main.ww-main .ww-commerce-progress ol > li:nth-child(3) { left: 279px; }
  html body main.ww-main .ww-commerce-progress ol > li > span { flex: none; width: 18px !important; height: 18px !important; font: 500 13px/18px var(--ww-font-sans) !important; margin: 0 6px 0 0 !important; }
  html body main.ww-main .ww-commerce-progress ol > li > strong { font: 400 12px/14.5px var(--ww-font-sans) !important; margin: 0 !important; white-space: normal !important; }
  html body main.ww-main .ww-commerce-progress ol > li.is-active > strong { font-weight: 700 !important; }
  html body main.ww-main .ww-commerce-progress ol > li:nth-child(2) > strong { width: 104px; margin-top: -3px !important; }
  html body main.ww-main .ww-commerce-progress ol > li:nth-child(3) > strong { width: 70px; margin-top: -3px !important; }
  html body main.ww-main .ww-commerce-progress ol > li::after, html body main.ww-main .ww-commerce-progress ol > li::before { display: none !important; }
  html body main.ww-main .ww-commerce-progress ol::before, html body main.ww-main .ww-commerce-progress ol::after {
    content: "" !important; position: absolute; top: 4px; width: 25px; height: 9px; display: block !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='9' viewBox='0 0 25 9'%3E%3Cpath d='M0 4.5h24M20 .5l4 4-4 4' fill='none' stroke='%23000'/%3E%3C/svg%3E") no-repeat center / contain;
  }
  html body main.ww-main .ww-commerce-progress ol::before { left: 90px; }
  html body main.ww-main .ww-commerce-progress ol::after { left: 239px; }

  html body.woocommerce-cart main.ww-main tr.cart_item { display: block !important; position: relative !important; height: 210px !important; padding: 0 !important; border: 0 !important; border-bottom: .8px solid #b9b9b9 !important; margin: 0 0 0 !important; }
  html body.woocommerce-cart main.ww-main tr.cart_item > td { position: absolute !important; padding: 0 !important; margin: 0 !important; border: 0 !important; width: auto !important; display: block !important; text-align: left !important; }
  html body.woocommerce-cart main.ww-main tr.cart_item > td::before { content: none !important; display: none !important; }
  html body.woocommerce-cart main.ww-main tr.cart_item > td.product-price { display: none !important; }
  html body.woocommerce-cart main.ww-main tr.cart_item > td.product-thumbnail { left: 5px; top: 35px; width: 105px !important; height: 100px; }
  html body.woocommerce-cart main.ww-main tr.cart_item > td.product-thumbnail img { width: 105px !important; height: 100px !important; object-fit: cover; max-width: none !important; }
  html body.woocommerce-cart main.ww-main tr.cart_item > td.product-name { left: 118px; top: 35px; width: 172px !important; }
  html body.woocommerce-cart main.ww-main tr.cart_item > td.product-name, html body.woocommerce-cart main.ww-main tr.cart_item > td.product-name a { font: 300 13px/15.7px var(--ww-font-sans) !important; color: #000 !important; text-decoration: none; }
  html body.woocommerce-cart main.ww-main tr.cart_item > td.product-subtotal { right: 0; left: auto; top: 49px; }
  html body.woocommerce-cart main.ww-main tr.cart_item > td.product-subtotal, html body.woocommerce-cart main.ww-main tr.cart_item > td.product-subtotal * { font: 500 16px/19.4px var(--ww-font-sans) !important; }
  html body.woocommerce-cart main.ww-main tr.cart_item > td.product-quantity { right: 0; left: auto; top: 98px; }
  html body.woocommerce-cart main.ww-main tr.cart_item > td.product-remove { left: 5px !important; right: auto !important; top: 145px !important; }
  html body.woocommerce-cart main.ww-main tr.cart_item > td.product-remove a.remove { font-size: 18px !important; color: #737373 !important; }

  html body.woocommerce-cart main.ww-main .cart_totals .ww-cart-promo > p:first-child, html body.woocommerce-cart main.ww-main .ww-cart-promo > p:not(.ww-cart-promo__form) { font: 400 22px/26.6px var(--ww-font-sans) !important; }
  html body.woocommerce-cart main.ww-main .cart_totals .ww-cart-promo__form input[type=text] { height: 65px !important; border: 0 !important; background: rgba(242,242,247,.75) !important; }
  html body.woocommerce-cart main.ww-main .cart_totals .ww-cart-promo__form button { height: 69px !important; border: 0 !important; }
  html body.woocommerce-cart main.ww-main .cart_totals .wc-proceed-to-checkout a.checkout-button { min-height: 70px; }
}

/* --- Оформление (Корзина 2 экран 2127:856 / 402 2677:2108): колонка как в корзине --- */
html body.woocommerce-checkout .ww-checkout-right #order_review_heading { font-family: var(--ww-font-accent), 'Lumberjack', serif !important; font-weight: 400 !important; }
html body.woocommerce-checkout .ww-checkout-right table.woocommerce-checkout-review-order-table thead { display: none !important; }
html body.woocommerce-checkout .ww-checkout-right table.woocommerce-checkout-review-order-table th,
html body.woocommerce-checkout .ww-checkout-right table.woocommerce-checkout-review-order-table td { color: #000 !important; border: 0 !important; background: none !important; }
html body.woocommerce-checkout .ww-checkout-right tr.cart-subtotal th { font-size: 0 !important; }
html body.woocommerce-checkout .ww-checkout-right tr.cart-subtotal th::before { content: "Товары:"; }
html body.woocommerce-checkout .ww-checkout-right tr.order-total th { font-size: 0 !important; }
html body.woocommerce-checkout .ww-checkout-right tr.order-total th::before { content: "Итог:"; }
html body.woocommerce-checkout .ww-checkout-right .ww-checkout-promo { display: grid !important; grid-template-columns: 100% !important; gap: 0 !important; }
html body.woocommerce-checkout .ww-checkout-right .ww-checkout-promo__input { width: 100% !important; border: 0 !important; border-radius: 0 !important; background: rgba(242,242,247,.75) !important; text-transform: uppercase; padding: 0 16px !important; box-shadow: none !important; }
html body.woocommerce-checkout .ww-checkout-right .ww-checkout-promo__input::placeholder { color: #737373; opacity: 1; }
html body.woocommerce-checkout .ww-checkout-right .ww-checkout-promo__button { width: 100% !important; border: 0 !important; border-radius: 0 !important; background: #b9b9b9 !important; color: #484848 !important; }
html body.woocommerce-checkout .ww-checkout-right #place_order { width: 100% !important; background: #000 !important; color: #fff !important; border: 0 !important; border-radius: 0 !important; }
@media (min-width: 1600px), (max-width: 768px) {
  html body.woocommerce-checkout .ww-checkout-right #order_review_heading { font-size: 32px !important; line-height: 41px !important; }
  html body.woocommerce-checkout .ww-checkout-right .ww-checkout-promo-description { font: 400 22px/26.6px var(--ww-font-sans) !important; color: #000 !important; }
  html body.woocommerce-checkout .ww-checkout-right tr.cart-subtotal th::before, html body.woocommerce-checkout .ww-checkout-right tr.shipping th, html body.woocommerce-checkout .ww-checkout-right tr.order-total th::before { font: 400 22px/26.6px var(--ww-font-sans) !important; }
  html body.woocommerce-checkout .ww-checkout-right tr.cart-subtotal td, html body.woocommerce-checkout .ww-checkout-right tr.shipping td, html body.woocommerce-checkout .ww-checkout-right tr.order-total td,
  html body.woocommerce-checkout .ww-checkout-right tfoot td * { font: 700 20px/24.2px var(--ww-font-sans) !important; }
  html body.woocommerce-checkout .ww-checkout-right .ww-checkout-promo__input { height: 58px !important; font: 300 20px/24px var(--ww-font-sans) !important; }
  html body.woocommerce-checkout .ww-checkout-right .ww-checkout-promo__button { height: 62px !important; font: 500 20px/24px var(--ww-font-sans) !important; }
  html body.woocommerce-checkout .ww-checkout-right #place_order { height: 74px !important; min-height: 0 !important; font: 500 20px/24px var(--ww-font-sans) !important; }
}
@media (min-width: 1600px) {
  /* h3 «1. Получатель» внутри #customer_details — нужен ID-селектор, иначе
     style.css:13926 (1,1,2 + !important) перебивает. Эталон 2127:856: Bold 22/26.6. */
  html body.woocommerce-checkout main.ww-main .ww-checkout-left h2,
  html body.woocommerce-checkout main.ww-main .ww-checkout-left h3,
  html body.woocommerce-checkout main.ww-main #customer_details h3 { font: 700 22px/26.6px var(--ww-font-sans) !important; text-transform: none !important; letter-spacing: 0 !important; }
  /* Шаги 2127:856: 16/19.4, активный Bold, цифры 16/19.4 */
  html body.woocommerce-checkout main.ww-main .ww-commerce-progress li { font: 400 16px/19.4px var(--ww-font-sans) !important; }
  html body.woocommerce-checkout main.ww-main .ww-commerce-progress li.is-active strong { font: 700 16px/19.4px var(--ww-font-sans) !important; }
  html body.woocommerce-checkout main.ww-main .ww-commerce-progress li > span { font: 400 16px/19.4px var(--ww-font-sans) !important; }
}
@media (min-width: 861px) and (max-width: 1599px) {
  html body.woocommerce-checkout .ww-checkout-right tr.cart-subtotal th::before, html body.woocommerce-checkout .ww-checkout-right tr.shipping th { font: 400 15px/18px var(--ww-font-sans) !important; }
  html body.woocommerce-checkout .ww-checkout-right tr.order-total th::before { font: 400 20px/24px var(--ww-font-sans) !important; }
}
html body.woocommerce-checkout .ww-checkout-right table.woocommerce-checkout-review-order-table th,
html body.woocommerce-checkout .ww-checkout-right table.woocommerce-checkout-review-order-table th::before { text-transform: none !important; letter-spacing: 0 !important; }
html body.woocommerce-checkout .ww-checkout-right table.woocommerce-checkout-review-order-table tr.cart_item { display: none !important; }

/* --- Магазин 1920 (2079:840): название 22/#222, цена 30/#737373, звезда 38px, без разделителей --- */
@media (min-width: 1600px) {
  html body main.ww-main .ww-product-card .ww-product-title, html body main.ww-main .ww-product-card .ww-product-title a { font: 400 22px/26.6px var(--ww-font-sans) !important; color: #222 !important; }
  html body main.ww-main .ww-product-card .ww-product-price, html body main.ww-main .ww-product-card .ww-product-price * { font: 400 30px/36.3px var(--ww-font-sans) !important; color: #737373 !important; }
  html body main.ww-main details.ww-catalog-controls, html body main.ww-main section.ww-shop-design__section { border-top: 0 !important; border-bottom: 0 !important; }
}
html body main.ww-main .ww-product-card .ww-wishlist-link--overlay { width: auto !important; height: auto !important; }
html body main.ww-main .ww-product-card .ww-wishlist-link--overlay > span[aria-hidden] {
  display: block; width: 38px; height: 38px; font-size: 0 !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 38'%3E%3Cpath d='M19 2.5l4.9 10.6 11.6 1.3-8.6 7.9 2.4 11.4L19 27.9 8.7 33.7l2.4-11.4-8.6-7.9 11.6-1.3z' fill='none' stroke='%23fff' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
  transition: transform .3s ease-out;
}
html body main.ww-main .ww-product-card .ww-wishlist-link--overlay[aria-pressed="true"] > span[aria-hidden] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 38'%3E%3Cpath d='M19 2.5l4.9 10.6 11.6 1.3-8.6 7.9 2.4 11.4L19 27.9 8.7 33.7l2.4-11.4-8.6-7.9 11.6-1.3z' fill='%23fff' stroke='%23fff' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
}
@media (hover: hover) { html body main.ww-main .ww-product-card .ww-wishlist-link--overlay:hover > span[aria-hidden] { transform: scale(1.1); } }
@media (max-width: 1599px) { html body main.ww-main .ww-product-card .ww-wishlist-link--overlay > span[aria-hidden] { width: 26px; height: 26px; } }
@media (max-width: 768px) { html body main.ww-main .ww-product-card .ww-wishlist-link--overlay > span[aria-hidden] { width: 20px; height: 20px; } }
@media (min-width: 1600px) {
  /* 2079:840: баннер 1919×721. style.css ставит height:35.52vw + max-height:682px —
     max-height побеждает height, поэтому снимаем его. */
  html body.post-type-archive-product main.ww-main .ww-storefront-banner, html body.tax-product_cat main.ww-main .ww-storefront-banner { height: 721px !important; max-height: none !important; min-height: 0 !important; }
  html body.post-type-archive-product main.ww-main .ww-storefront-banner img, html body.tax-product_cat main.ww-main .ww-storefront-banner img { height: 100% !important; object-fit: cover; }
  html body main.ww-main details.ww-catalog-controls:not([open]) { margin: 0 !important; }
  html body main.ww-main section.ww-home-product-section--new.ww-shop-design__section { padding-top: 62px !important; }
}
@media (min-width: 1600px) {
  html body main.ww-main section.ww-shop-design__section { padding-bottom: 55px !important; }
  html body main.ww-main section.ww-shop-design__section:not(.ww-home-product-section--new) { padding-top: 62px !important; }
  html body main.ww-main section.ww-home-product-section--category .ww-product-card__visual { height: 600px !important; }
  html body main.ww-main section.ww-home-product-section--category .ww-product-card__visual img:not(.ww-product-image__hover) { width: 100% !important; height: 600px !important; object-fit: cover; }
}
@media (min-width: 1600px) { html body main.ww-main section.ww-home-product-section--category .ww-product-meta { margin-top: 50px !important; } }

/* --- Карточка товара (Ключницы 1920 2079:1086 / 1280 2790:1720) --- */
html body.single-product main.ww-main section.related.products > h2 {
  font-family: var(--ww-font-accent), 'Lumberjack', serif !important; font-weight: 400 !important; text-transform: none !important;
  letter-spacing: 0 !important; text-align: center;
}
@media (min-width: 861px) { html body.single-product main.ww-main section.related.products > h2 { font-size: 40px !important; line-height: 51.2px !important; } }
@media (max-width: 768px) { html body.single-product main.ww-main section.related.products > h2 { font-size: 24px !important; line-height: 31px !important; } }
@media (min-width: 1600px) {
  html body.single-product .ww-product-detail__purchase-panel .product_title { font: 400 40px/51.2px var(--ww-font-accent), 'Lumberjack', serif !important; text-transform: none !important; }
  /* 2079:1086: галерея и панель на y206 — shell отдаёт 80px, в кадре 66 */
  html body.single-product .ww-product-detail-shell { padding-top: 66px !important; }
  html body.single-product .ww-product-detail__purchase-panel p.price, html body.single-product .ww-product-detail__purchase-panel p.price * { font: 300 20px/24.2px var(--ww-font-sans) !important; color: #000 !important; }
  html body.single-product .ww-product-detail__purchase-panel .ww-product-delivery { font: 300 16px/19.4px var(--ww-font-sans) !important; max-width: 312px; border: 0 !important; }
  html body.single-product .ww-product-detail__purchase-panel form.cart .quantity { display: flex !important; align-items: center; gap: 0 !important; }
  html body.single-product .ww-product-detail__purchase-panel .ww-quantity-label { font: 400 20px/24.2px var(--ww-font-sans) !important; margin-right: 70px !important; }
  html body.single-product .ww-product-detail__purchase-panel .quantity .ww-quantity-button,
  html body.single-product .ww-product-detail__purchase-panel .quantity input.qty {
    height: 40px !important; min-height: 0 !important; width: 30px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
    background: #000 !important; color: #fff !important; font: 300 36px/40px var(--ww-font-sans) !important; text-align: center; -moz-appearance: textfield;
  }
  html body.single-product .ww-product-detail__purchase-panel .quantity .ww-quantity-button--minus { padding-left: 8px !important; width: 40px !important; }
  html body.single-product .ww-product-detail__purchase-panel .quantity .ww-quantity-button--plus { padding-right: 8px !important; width: 40px !important; }
  html body.single-product .ww-product-detail__purchase-panel .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; }
  html body.single-product .ww-product-detail__purchase-panel .single_add_to_cart_button { width: 425px !important; height: 58px !important; font: 400 24px/33.6px var(--ww-font-sans) !important; letter-spacing: -.6px !important; }
  html body.single-product .ww-product-detail__tab-title { display: none !important; }
  html body.single-product .woocommerce-Tabs-panel, html body.single-product .ww-product-detail__tab-panel { border: 0 !important; font: 300 16px/19.4px var(--ww-font-sans) !important; color: rgba(0,0,0,.7) !important; }
  html body.single-product main.ww-main section.related .ww-product-card .ww-product-title, html body.single-product main.ww-main section.related .ww-product-card .ww-product-title a { font: 400 22px/26.6px var(--ww-font-sans) !important; color: #222 !important; }
  html body.single-product main.ww-main section.related .ww-product-card .ww-product-price, html body.single-product main.ww-main section.related .ww-product-card .ww-product-price * { font: 400 22px/26.6px var(--ww-font-sans) !important; color: #737373 !important; }
  /* Спек 2079:1086: «Вам также может понравиться» на y1221. Итог после
     деплоя-2: −60 дал перелёт (y1175), и shell −14 дал ещё −14. Нужно −14 суммарно. */
  html body.single-product main.ww-main section.related.products { margin-top: -14px !important; }
}
@media (min-width: 861px) {
  html body.single-product .ww-product-detail__purchase-panel .woocommerce-product-details__short-description { border: 0 !important; padding: 0 !important; margin-top: 60px !important; }
  html body.single-product .ww-product-detail__purchase-panel .woocommerce-product-details__short-description::before,
  html body.single-product .ww-product-detail__purchase-panel .woocommerce-product-details__short-description::after { content: none !important; display: none !important; }
  html body.single-product .ww-product-detail__purchase-panel .woocommerce-product-details__short-description,
  html body.single-product .ww-product-detail__purchase-panel .woocommerce-product-details__short-description p { font: 300 16px/19.4px var(--ww-font-sans) !important; color: rgba(0,0,0,.7) !important; }
}

/* Карточка товара 1280 (2790:1720): Lumberjack 36, цена 16 light, «− 1 +» чёрным блоком 32px, кнопка 20px */
@media (min-width: 861px) and (max-width: 1599px) {
  html body.single-product .ww-product-detail__purchase-panel .product_title { font: 400 36px/46.1px var(--ww-font-accent), 'Lumberjack', serif !important; text-transform: none !important; }
  html body.single-product .ww-product-detail__purchase-panel p.price, html body.single-product .ww-product-detail__purchase-panel p.price * { font: 300 16px/19.4px var(--ww-font-sans) !important; color: #000 !important; }
  html body.single-product .ww-product-detail__purchase-panel .ww-product-delivery { font: 300 12px/14.5px var(--ww-font-sans) !important; max-width: 241px; border: 0 !important; padding: 0 !important; margin: 30px 0 0 !important; }
  html body.single-product .ww-product-detail__purchase-panel form.cart { margin-top: 40px !important; border: 0 !important; padding: 0 !important; }
  html body.single-product .ww-product-detail__purchase-panel form.cart .quantity { display: flex !important; align-items: center; gap: 0 !important; margin: 0 !important; }
  html body.single-product .ww-product-detail__purchase-panel .ww-quantity-label { font: 400 15px/18.2px var(--ww-font-sans) !important; margin-right: 55px !important; }
  html body.single-product .ww-product-detail__purchase-panel .quantity .ww-quantity-button,
  html body.single-product .ww-product-detail__purchase-panel .quantity input.qty {
    height: 30px !important; min-height: 0 !important; width: 26px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
    background: #000 !important; color: #fff !important; font: 300 32px/30px var(--ww-font-sans) !important; text-align: center; -moz-appearance: textfield;
  }
  html body.single-product .ww-product-detail__purchase-panel .quantity .ww-quantity-button--minus { width: 32px !important; padding-left: 6px !important; }
  html body.single-product .ww-product-detail__purchase-panel .quantity .ww-quantity-button--plus { width: 32px !important; padding-right: 6px !important; }
  html body.single-product .ww-product-detail__purchase-panel .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; }
  html body.single-product .ww-product-detail__purchase-panel .single_add_to_cart_button { width: 330px !important; height: 47px !important; margin-top: 25px !important; font: 400 20px/28px var(--ww-font-sans) !important; letter-spacing: -.5px !important; }
  html body.single-product .ww-product-detail__purchase-panel .woocommerce-product-details__short-description { margin-top: 50px !important; }
}
@media (min-width: 861px) {
  html body.single-product .woocommerce-product-gallery, html body.single-product .woocommerce-product-gallery__wrapper,
  html body.single-product .woocommerce-product-gallery__image, html body.single-product .woocommerce-product-gallery .flex-viewport { background: transparent !important; }
}

/* --- Оформление 402 (2677:2108): поля на всю ширину (x21, 349px), подписи 16px, доставка 2 колонки --- */
@media (max-width: 768px) {
  html body.woocommerce-checkout main.ww-main article.ww-commerce-route { padding-left: 5px !important; padding-right: 5px !important; }
  html body.woocommerce-checkout main.ww-main form.checkout.woocommerce-checkout { padding-left: 0 !important; padding-right: 0 !important; }
  html body.woocommerce-checkout main.ww-main .woocommerce-billing-fields label, html body.woocommerce-checkout main.ww-main .woocommerce-shipping-fields label,
  html body.woocommerce-checkout main.ww-main .woocommerce-additional-fields label { font: 400 16px/19.4px var(--ww-font-sans) !important; }
  html body.woocommerce-checkout main.ww-main .woocommerce-billing-fields input.input-text { height: 38px !important; }
  html body.woocommerce-checkout main.ww-main ul.ww-delivery-options { grid-template-columns: 1fr 1fr !important; gap: 12px !important; width: 100% !important; }
  html body.woocommerce-checkout main.ww-main ul.ww-delivery-options .ww-delivery-option__name { font: 400 16px/19.4px var(--ww-font-sans) !important; }
  html body.woocommerce-checkout main.ww-main ul.ww-delivery-options li { font-size: 16px !important; }
}
@media (max-width: 768px) { html body.woocommerce-checkout main.ww-main ul.ww-delivery-options { padding: 0 !important; margin-left: 0 !important; margin-right: 0 !important; } }

/* --- Карточка товара 402 (2628:763) --- */
@media (max-width: 768px) {
  html body.single-product header.ww-site-header .ww-header-back { display: none !important; }
  html body.single-product header.ww-site-header .ww-menu-toggle { display: inline-flex !important; }
  html body.single-product main.ww-main section.related.products > h2 { font-size: 0 !important; text-align: left; }
  html body.single-product main.ww-main section.related.products > h2::before {
    content: "Рекомендации от нас"; font: 400 24px/28.8px var(--ww-font-display, 'BERNIER'), sans-serif; text-transform: uppercase;
  }
  html body.single-product .ww-product-detail__purchase-panel .product_title { font: 400 40px/51.2px var(--ww-font-accent), 'Lumberjack', serif !important; text-transform: none !important; }
  html body.single-product .ww-product-detail__purchase-panel p.price, html body.single-product .ww-product-detail__purchase-panel p.price * { font: 300 20px/24.2px var(--ww-font-sans) !important; color: #000 !important; }
  html body.single-product .ww-product-detail__purchase-panel .ww-product-delivery { font: 300 16px/19.4px var(--ww-font-sans) !important; max-width: 312px; }
  html body.single-product .ww-product-detail__purchase-panel form.cart .quantity { display: flex !important; align-items: center; justify-content: flex-start; gap: 0 !important; }
  html body.single-product .ww-product-detail__purchase-panel .ww-quantity-label { font: 400 20px/24.2px var(--ww-font-sans) !important; margin-right: auto !important; }
  html body.single-product .ww-product-detail__purchase-panel .quantity .ww-quantity-button,
  html body.single-product .ww-product-detail__purchase-panel .quantity input.qty {
    height: 40px !important; min-height: 0 !important; width: 30px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
    background: #000 !important; color: #fff !important; font: 300 36px/40px var(--ww-font-sans) !important; text-align: center; -moz-appearance: textfield;
  }
  html body.single-product .ww-product-detail__purchase-panel .quantity .ww-quantity-button--minus { width: 40px !important; padding-left: 10px !important; }
  html body.single-product .ww-product-detail__purchase-panel .quantity .ww-quantity-button--plus { width: 40px !important; padding-right: 10px !important; }
  html body.single-product .ww-product-detail__purchase-panel .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; }
  html body.single-product .ww-product-detail__purchase-panel .single_add_to_cart_button { font: 400 20px/28px var(--ww-font-sans) !important; letter-spacing: -.5px !important; }
}

/* Иконка «Вернуться» (Group 400 Default): две линии 22px и 11px вместо «×» */
html body .ww-return-back__icon {
  display: inline-block !important; width: 22px !important; height: 9px !important; font-size: 0 !important; line-height: 0 !important;
  border-top: 1.5px solid currentColor; position: relative; vertical-align: middle; margin-right: 12px; background: none !important;
}
html body .ww-return-back__icon::after { content: ""; position: absolute; left: 0; bottom: 0; width: 11px; border-top: 1.5px solid currentColor; }
@media (max-width: 768px) { html body .ww-return-back__icon { width: 15px !important; height: 7px !important; } html body .ww-return-back__icon::after { width: 8px; } }
html body main.ww-main .ww-empty-state .ww-lede { color: #000 !important; }
@media (min-width: 1600px) { html body main.ww-main section.ww-empty-state { min-height: 0 !important; padding-bottom: 130px !important; } }
@media (max-width: 768px) {
  html body main.ww-main section.ww-empty-state { min-height: 726px !important; box-sizing: border-box; }
  html body main.ww-main section.ww-empty-state--wishlist .ww-empty-state__dog { width: 214px !important; height: auto !important; margin-top: 40px !important; }
}

/* --- 404 1920 (2422:695): заголовок Inter 40 обычным регистром, кнопка 321×86 / 24px, без «Вернуться» --- */
@media (min-width: 1600px) {
  html body main.ww-main .ww-empty-state--not-found .ww-empty-state__back { display: none !important; }
  html body main.ww-main .ww-empty-state--not-found h1.ww-section-title {
    font: 400 40px/52px var(--ww-font-sans), Inter, sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; white-space: nowrap;
  }
  html body main.ww-main .ww-empty-state--not-found .ww-button {
    width: 321px !important; height: 86px !important; min-height: 0 !important; padding: 0 !important;
    font: 400 24px/29px var(--ww-font-sans) !important; background: #222 !important; color: #fff !important;
    display: inline-flex !important; align-items: center; justify-content: center; white-space: nowrap;
  }
  html body main.ww-main .ww-empty-state--not-found .ww-empty-state__dog { width: 697px !important; height: auto !important; }
}
/* 404 на 1280: отдельного кадра в Figma нет, интерполируем между 1920 (40/52)
   и 402 (32/38.4). Живой отдавал 30px с line-height 27.6 — меньше кегля,
   глифы BERNIER обрезались. */
@media (min-width: 861px) and (max-width: 1599px) {
  html body main.ww-main .ww-empty-state--not-found h1.ww-section-title { line-height: 36px !important; }
}

/* --- 24. 404 на 1280 — кадр существует: «2022» (2790:1538), 1280×1166.
   Двухколоночный: собака 487×487 слева (x163 y207), справа колонка с «404»
   BERNIER 128/153.6 (x849 y228), «Ой! Кажется, мы потерялись...» Inter 24/29
   (x755 y371), кнопка «Вернуться на главную» 16/19.4 (x840 y467), футер y785.
   Живой отдавал центрированную композицию: код 220px, заголовок BERNIER 30. --- */
@media (min-width: 861px) and (max-width: 1599px) {
  html body.ww-route-404 main.ww-main { position: relative !important; }
  html body main.ww-main .ww-empty-state--not-found {
    width: calc(100% - 160px) !important; max-width: none !important;
    margin-inline: auto !important;
    grid-template-columns: 487px minmax(0, 1fr) !important;
    column-gap: 199px !important;   /* собака x163, «404» x849 */
    padding-left: 83px !important;
    align-items: start !important; justify-items: start !important;
    padding-bottom: 170px !important;  /* футер кадра y785 */
  }
  html body main.ww-main .ww-empty-state--not-found .ww-empty-state__dog {
    width: 487px !important; max-width: none !important;
    height: 487px !important; transform: none !important;   /* сброс translateX(-6.75rem) */
    margin-top: 89px !important; object-fit: contain !important;
  }
  html body main.ww-main .ww-empty-state--not-found .ww-empty-state__copy { margin-top: 110px !important; }
  html body main.ww-main .ww-empty-state--not-found .ww-not-found-code {
    font: 400 128px/153.6px 'BERNIER', 'WW Display', Impact, sans-serif !important;
    color: #000 !important; margin: 0 !important;
  }
  html body main.ww-main .ww-empty-state--not-found h1.ww-section-title {
    font: 400 24px/29px var(--ww-font-sans), Inter, sans-serif !important;
    text-transform: none !important; letter-spacing: 0 !important; white-space: normal !important;
    margin: 15px 0 0 !important;
  }
  html body main.ww-main .ww-empty-state--not-found .ww-empty-state__copy {
    display: grid !important; justify-items: start !important; text-align: left !important;
    transform: none !important;
  }
  html body main.ww-main .ww-empty-state--not-found .ww-button {
    width: auto !important; height: 44px !important; min-height: 0 !important; padding: 0 26px !important;
    font: 400 16px/19.4px var(--ww-font-sans) !important; background: #000 !important; color: #fff !important;
    display: inline-flex !important; align-items: center; justify-content: center; white-space: nowrap;
    margin-top: 67px !important;
  }
}

@media (min-width: 1600px) {
  html body main.ww-main .ww-empty-state--not-found .ww-not-found-code { margin-bottom: 0 !important; }
  html body main.ww-main .ww-empty-state--not-found h1.ww-section-title { margin-top: 15px !important; }
  html body main.ww-main .ww-empty-state--not-found .ww-empty-state__copy { transform: translateX(-80px); }
}

/* --- Пустая корзина (1920 2470:923 / 402 2628:895) --- */
@media (min-width: 1600px) { html body main.ww-main section.ww-empty-state--cart { margin-top: -85px !important; } }
@media (max-width: 768px) {
  html body main.ww-main section.ww-empty-state--cart { margin-top: -55px !important; }
  html body main.ww-main section.ww-empty-state--cart h2.ww-section-title { font-size: 32px !important; line-height: 38.4px !important; max-width: 256px; margin-left: auto !important; margin-right: auto !important; }
}
@media (max-width: 768px) {
  html body main.ww-main section.ww-empty-state.ww-empty-state--cart { min-height: 657px !important; }
  html body main.ww-main section.ww-empty-state.ww-empty-state--cart h2.ww-section-title.ww-section-title { font-size: 32px !important; line-height: 38.4px !important; max-width: 256px !important; margin-left: auto !important; margin-right: auto !important; }
}
@media (min-width: 1600px) {
  html body main.ww-main section.ww-empty-state.ww-empty-state--cart { margin-top: -50px !important; }
  /* 2470:923: «В корзине пока пусто» на y828 (живой y845 → mt 40−16=24),
     низ компенсируем pb секции, чтобы футер остался на y1196. */
  html body main.ww-main section.ww-empty-state.ww-empty-state--cart h2.ww-section-title { margin-top: 24px !important; }
  html body main.ww-main section.ww-empty-state--cart { padding-bottom: 146px !important; }
  html body main.ww-main section.ww-empty-state.ww-empty-state--cart .ww-lede { margin-top: 45px !important; }
}

/* --- Вход 1920 (2127:1046) --- */
@media (min-width: 1600px) {
  html body main.ww-main .ww-auth-grid::before, html body main.ww-main .ww-auth-grid::after { display: none !important; }
  html body main.ww-main .ww-auth-panel { border: 0 !important; box-shadow: none !important; }
  html body main.ww-main .ww-auth-panel--login > h1 { text-align: center !important; }
  html body main.ww-main .ww-auth-panel--login input.input-text { background: #f7f7f7 !important; border: 1px solid #d9d9d9 !important; height: 84px !important; font-size: 20px !important; }
  html body main.ww-main .ww-auth-panel--login label { font: 400 20px/24px var(--ww-font-sans) !important; padding-left: 30px; }
  html body main.ww-main .ww-auth-panel--login .woocommerce-form-login__submit { font: 400 24px/29px var(--ww-font-sans) !important; height: 80px !important; }
  html body main.ww-main .ww-auth-panel--login .ww-auth-guest { display: block; text-align: center !important; }
  html body main.ww-main .ww-auth-panel--login .ww-auth-social { justify-content: center !important; }
}
@media (min-width: 1600px) { html body main.ww-main #customer_login.ww-auth-grid::after { content: none !important; display: none !important; background: transparent !important; } }

/* --- Главная «Товары» (Component 7): лента 1118px, карточки 315×784, шаг 6, стрелка 50px --- */
@media (min-width: 1600px) {
  html body.home main .ww-figma-showcase { position: relative; }
  html body.home main .ww-figma-showcase__intro p { font: 300 24px/29px var(--ww-font-sans) !important; max-width: 309px; }
  html body.home main .ww-figma-showcase__rail {
    display: flex !important; gap: 6px !important; width: 58.23vw !important; overflow-x: auto; scroll-snap-type: x mandatory;
    scrollbar-width: none; grid-template-columns: none !important;
  }
  html body.home main .ww-figma-showcase__rail::-webkit-scrollbar { display: none; }
  html body.home main .ww-figma-showcase__rail > a { flex: 0 0 16.41vw !important; width: 16.41vw !important; height: 40.83vw !important; scroll-snap-align: start; }
  html body.home main .ww-figma-showcase__rail > a img { width: 100% !important; height: 100% !important; object-fit: cover; transition: transform .9s cubic-bezier(.22,1,.36,1); }
  html body.home main .ww-showcase-arrow {
    position: absolute; left: 79.27vw; right: auto; top: 50%; width: 50px; height: 50px; margin-top: -25px; border: 0; border-radius: 50%; cursor: pointer;
    background: rgba(255,255,255,.85) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='11' viewBox='0 0 6 11'%3E%3Cpath d='M.5.5l5 5-5 5' fill='none' stroke='%23000'/%3E%3C/svg%3E") no-repeat center / 6px 11px;
    transition: background-color .3s ease-out, transform .3s ease-out;
  }
  html body.home main .ww-showcase-arrow:hover { background-color: #fff; transform: scale(1.08); }
}
@media (max-width: 1599px) { html body.home main .ww-showcase-arrow { display: none; } }
@media (min-width: 861px) and (max-width: 1599px) {
  html body main.ww-main details.ww-catalog-controls:not([open]) { border: 0 !important; margin: 0 !important; }
  html body.post-type-archive-product main.ww-main section.ww-home-product-section--new .ww-product-card:nth-of-type(n+4),
  html body.post-type-archive-product main.ww-main section.ww-home-product-section--new li:nth-of-type(n+4) { display: none !important; }
}

/* --- Магазин 402 (2528:825) --- */
@media (max-width: 768px) {
  html body main.ww-main .ww-storefront-banner img { object-position: 62% 55% !important; }
  html body main.ww-main details.ww-catalog-controls { display: none !important; }
  html body.post-type-archive-product main.ww-main section.ww-home-product-section--new .ww-product-card:nth-of-type(n+3),
  html body.post-type-archive-product main.ww-main section.ww-home-product-section--new li:nth-of-type(n+3) { display: none !important; }
  html body main.ww-main section.ww-shop-design__section { border-top: 0 !important; border-bottom: 0 !important; }
}

/* --- О компании 402 (2652:973): текст манифеста Inter 24/29 по центру
   (в спеке один блок «OUR STORY…» 310×865), фото 183×155 в 2 колонки
   (x15/x206, ряды y1097/1293/1488/1684, шаг ~41). --- */
@media (max-width: 768px) {
  html body main.ww-main .ww-about-manifesto h1, html body main.ww-main .ww-about-manifesto h2,
  html body main.ww-main .ww-about-manifesto p {
    font: 400 24px/29px var(--ww-font-sans) !important;
  }
  html body main.ww-main .ww-about-craft-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 8px !important; row-gap: 41px !important;
  }
  html body main.ww-main .ww-about-craft-grid img {
    width: 100% !important; height: auto !important; max-width: none !important;
    aspect-ratio: 183 / 155 !important; object-fit: cover;
  }
  html body main.ww-main .ww-about-craft-grid {
    position: relative !important;
    left: calc((100% - 100vw) / 2 + 15px) !important;
    width: calc(100vw - 30px) !important;
    max-width: calc(100vw - 30px) !important;
    row-gap: 42px !important;
  }
  /* В мобильном кадре Figma подписи под фотографиями отсутствуют; alt-текст
     изображений остаётся доступным, а подписи не добавляют высоту карточкам. */
  html body main.ww-main .ww-about-craft-grid figcaption {
    display: none !important;
  }
  html body main.ww-main article.ww-about-page > .ww-about-back {
    display: flex !important; align-items: center !important; gap: 15px !important;
    width: max-content !important; height: 19.4px !important;
    margin: 12px 0 0 calc(6.7164vw - var(--ww-gutter)) !important;
    color: #000 !important; font: 400 16px/19.4px var(--ww-font-sans) !important;
    text-decoration: none !important;
  }
  html body main.ww-main article.ww-about-page .ww-about-back__icon {
    display: block !important; flex: 0 0 15px !important;
    width: 15px !important; height: 15px !important;
  }
  html body main.ww-main article.ww-about-page > .ww-about-manifesto {
    width: 77.1144vw !important; max-width: 77.1144vw !important;
    margin-top: 41px !important; margin-inline: auto !important;
  }
}

/* --- «Лучший товар» (1280 2790:1177 BG #F2DBC2 701px, 4 карточки; 402 607px, 2 карточки; на 1920 в макете нет) --- */
html body main.ww-main section.ww-shop-design__best { background: #f2dbc2 !important; }
@media (min-width: 1600px) { html body main.ww-main section.ww-shop-design__best { display: none !important; } }
@media (min-width: 861px) and (max-width: 1599px) {
  html body main.ww-main section.ww-shop-design__best .ww-product-grid { grid-template-columns: repeat(4, 1fr) !important; gap: 1.5vw !important; }
}
@media (max-width: 768px) {
  html body main.ww-main section.ww-shop-design__best .ww-product-grid { position: relative; display: flex !important; overflow-x: auto; gap: 12px !important; scroll-snap-type: x mandatory; scrollbar-width: none; }
  html body main.ww-main section.ww-shop-design__best .ww-product-card { flex: 0 0 72% !important; scroll-snap-align: center; }
}
@media (min-width: 769px) {
  html body main.ww-main section.ww-shop-design__best--mobile { display: none !important; }
  html body main.ww-main section.ww-home-product-section--category .ww-shop-design__category-grid > *:nth-child(n+4) { display: none !important; }
}
@media (max-width: 768px) {
  html body main.ww-main section.ww-shop-design__best--desktop { display: none !important; }
  html body main.ww-main section.ww-home-product-section--category .ww-shop-design__category-grid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 768px) {
  html body main.ww-main section.ww-home-product-section--category .ww-shop-design__category-grid > .ww-product-card { grid-column: auto !important; justify-self: stretch !important; }
  html body main.ww-main section.ww-shop-design__best--mobile { background: transparent !important; }
  html body main.ww-main section.ww-shop-design__best--mobile .ww-product-grid { background: #f2dbc2; margin: 0 -16px !important; padding: 40px 16px !important; }
}
@media (max-width: 768px) {
  html body main.ww-main section.ww-home-product-section--category .ww-shop-design__category-grid > .ww-product-card:last-child { width: auto !important; max-width: none !important; margin: 0 !important; }
  html body main.ww-main section.ww-shop-design__best--mobile .ww-product-grid { margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; padding-left: 16px !important; padding-right: 16px !important; }
}

/* --- Оформление 1280 (2792:1146): левая 690px от x68, правая 344px от x864 --- */
@media (min-width: 861px) and (max-width: 1599px) {
  html body.woocommerce-checkout main.ww-main form.checkout.woocommerce-checkout {
    grid-template-columns: 53.9vw 26.9vw !important; column-gap: 8.28vw !important; margin-left: -3.05vw !important; width: auto !important;
  }
  html body.woocommerce-checkout main.ww-main .woocommerce-billing-fields__field-wrapper { display: flex !important; flex-wrap: wrap; gap: 0 2.7% !important; }
  html body.woocommerce-checkout main.ww-main .woocommerce-billing-fields__field-wrapper > .form-row { width: 48.6% !important; float: none !important; margin-right: 0 !important; }
  html body.woocommerce-checkout main.ww-main .woocommerce-billing-fields__field-wrapper > .form-row input.input-text { width: 100% !important; }
  html body.woocommerce-checkout main.ww-main ul.ww-delivery-options { grid-template-columns: 1fr 1fr !important; width: 100% !important; gap: 1.1vw !important; padding: 0 !important; }
  html body.woocommerce-checkout .ww-checkout-right #order_review_heading { font-size: 24px !important; line-height: 30.7px !important; }
  html body.woocommerce-checkout .ww-checkout-right .ww-checkout-promo-description { font: 400 13px/16px var(--ww-font-sans) !important; color: #000 !important; }
  html body.woocommerce-checkout .ww-checkout-right tfoot td, html body.woocommerce-checkout .ww-checkout-right tfoot td * { font: 700 14px/17px var(--ww-font-sans) !important; }
  html body.woocommerce-checkout .ww-checkout-right tr.order-total td, html body.woocommerce-checkout .ww-checkout-right tr.order-total td * { font-size: 20px !important; line-height: 24px !important; }
  html body.woocommerce-checkout .ww-checkout-right .ww-checkout-promo__input { height: 46px !important; font: 300 15px/18px var(--ww-font-sans) !important; }
  html body.woocommerce-checkout .ww-checkout-right .ww-checkout-promo__button { height: 48px !important; font: 500 16px/19px var(--ww-font-sans) !important; }
  html body.woocommerce-checkout .ww-checkout-right #place_order { height: 56px !important; font: 500 15px/18px var(--ww-font-sans) !important; }
}
@media (min-width: 861px) and (max-width: 1599px) {
  /* h3 «1. Получатель» сидит внутри #customer_details — style.css:13926 даёт ему
     (1,1,2) с !important, поэтому селектор обязан включать #customer_details. */
  html body.woocommerce-checkout main.ww-main .ww-checkout-left h2,
  html body.woocommerce-checkout main.ww-main .ww-checkout-left h3,
  html body.woocommerce-checkout main.ww-main #customer_details h3 { font: 700 20px/24.2px var(--ww-font-sans) !important; text-transform: none !important; letter-spacing: 0 !important; }
  html body.woocommerce-checkout main.ww-main .ww-checkout-left label { font: 400 15px/18.2px var(--ww-font-sans) !important; }
  /* Шаги: «Корзина»/«Оплата заказа» 15/18.2, активный Bold 16/19.4, цифры 14/16.9 */
  html body.woocommerce-checkout main.ww-main .ww-commerce-progress li { font: 400 15px/18.2px var(--ww-font-sans) !important; }
  html body.woocommerce-checkout main.ww-main .ww-commerce-progress li.is-active strong { font: 700 16px/19.4px var(--ww-font-sans) !important; }
  html body.woocommerce-checkout main.ww-main .ww-commerce-progress li > span { font: 400 14px/16.9px var(--ww-font-sans) !important; }
  /* promoDesc по спеке 14/16.9 (было 13/16) */
  html body.woocommerce-checkout .ww-checkout-right .ww-checkout-promo-description { font: 400 14px/16.9px var(--ww-font-sans) !important; color: #000 !important; }
  /* кнопка: height 56 побеждается min-height:76 из #payment #place_order — снимаем */
  html body.woocommerce-checkout .ww-checkout-right #place_order { height: 56px !important; min-height: 0 !important; font: 500 15px/18px var(--ww-font-sans) !important; }
}

/* --- Контакты 1280 (2831:2168) --- */
@media (min-width: 861px) and (max-width: 1599px) {
  html body main.ww-main article.ww-contact-page { margin-top: -90px !important; min-height: 0 !important; padding-bottom: 40px !important; }
  html body main.ww-main .ww-contact-legal h2 + h2 { margin-top: 5.3vw !important; }
  html body main.ww-main article.ww-contact-page .ww-contact-head { margin-top: 5vw !important; }
}
@media (min-width: 1600px) { html body main.ww-main .ww-contact-legal h2 + h2 { margin-top: 48px !important; } }
@media (min-width: 1600px) {
  /* 2422:1285: колонки «Почта:/Телефон:/Реквизиты:» на y636 (живой grid mt 96 → y557) */
  html body main.ww-main article.ww-contact-page .ww-contact-grid { margin-top: 175px !important; }
}
html body .ww-commerce-progress__back::before, html body .ww-commerce-progress__back::after { content: none !important; display: none !important; }
html body.woocommerce-cart main.ww-main .cart_totals .ww-cart-promo__form input[type=text] { background: rgba(242,242,247,.75) !important; border: 0 !important; }
html body .ww-return-back__icon::before { content: none !important; display: none !important; }

/* --- Профиль 1920 (2252:1241 / заказы 2252:1157) --- */
@media (min-width: 1600px) {
  html body.logged-in main.ww-main .ww-account-profile__card { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; max-width: none !important; box-sizing: border-box; padding-left: 32px !important; padding-right: 32px !important; }
  html body.logged-in main.ww-main .woocommerce-MyAccount-navigation ul { gap: 94px !important; }
  html body.logged-in main.ww-main .ww-account-avatar { transform: translateX(-33px); }
  html body.logged-in main.ww-main .ww-account-back { margin-top: 18px !important; }
}
html body .ww-account-back .dashicons { font-size: 0 !important; width: 22px !important; height: 9px !important; border-top: 1.5px solid currentColor; position: relative; display: inline-block !important; vertical-align: middle; }
html body .ww-account-back .dashicons::before { content: "" !important; position: absolute; left: 0; bottom: 0; width: 11px; border-top: 1.5px solid currentColor; }
html body.logged-in main.ww-main .ww-account-profile__card { height: auto !important; min-height: 307px; overflow: visible; }
html body.logged-in main.ww-main .woocommerce-MyAccount-navigation li.is-active > a { text-decoration: underline !important; text-underline-offset: 4px; text-decoration-thickness: 1px; }

/* --- Заказы 1920 (2252:1157): карточка 1600 от x160, без внутренних линий --- */
@media (min-width: 769px) {
  html body.logged-in main.ww-main .ww-order-card { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; max-width: none !important; box-sizing: border-box; }
  html body.logged-in main.ww-main .ww-order-card__head, html body.logged-in main.ww-main .ww-order-card__body { border: 0 !important; }
  html body.logged-in main.ww-main .ww-order-card__head p { border: 0 !important; padding-right: 0 !important; }
  html body.logged-in main.ww-main .ww-order-card__head p::before, html body.logged-in main.ww-main .ww-order-card__head p::after,
  html body.logged-in main.ww-main .ww-order-card__head::after, html body.logged-in main.ww-main .ww-order-card__body::before { content: none !important; display: none !important; }
}
@media (min-width: 769px) and (max-width: 1599px) { html body.home main .ww-figma-about { background: #fff !important; } }

/* --- Главная 1280: промо 1280×774, картинка смещена (x-584 из 1936), заголовок Inter 500 32 x92 y158, без кнопки --- */
@media (min-width: 861px) and (max-width: 1599px) {
  html body.home main section.ww-figma-promo { height: 60.47vw !important; min-height: 0 !important; max-height: none !important; }
  html body.home main section.ww-figma-promo { overflow: hidden !important; }
  html body.home main section.ww-figma-promo > img { position: absolute !important; inset: 0 auto auto -45.625vw !important; height: 100% !important; width: 151.25vw !important; max-width: none !important; object-fit: fill !important; }
  html body.home main section.ww-figma-promo .ww-figma-promo__cta { display: none !important; }
  html body.home main section.ww-figma-promo .ww-figma-promo__copy { left: 7.19vw !important; top: 12.34vw !important; bottom: auto !important; max-width: 29.5vw !important; transform: translateY(-9.4vw) !important; }
  html body.home main section.ww-figma-promo h2 { font: 500 32px/38.7px var(--ww-font-sans) !important; text-transform: uppercase; }
}

/* ==========================================================================
   ФИНАЛЬНЫЙ ПРОХОД 1280 — сверка спеков Figma с живым DOM (06.10.2026)
   Все правила — только диапазон 861–1599px, чтобы не трогать 1920 и мобильный.
   ========================================================================== */

/* --- 1. «Вернуться»: единая геометрия на всех страницах.
   Figma (все кадры 1280): иконка Group 400 x28 y125 15×15, текст x57 y125 Inter 16/19.4.
   Живой сайт расходился: cart x57, wishlist x271, contacts x40, checkout x157. --- */
@media (min-width: 861px) and (max-width: 1599px) {
  /* containing block для линка — только на страницах, где он абсолютный (main во всю ширину,
     поэтому left:28px = левый край кадра, как в Figma).
     Контакты сюда НЕ входят: там линк остаётся в потоке (см. блок 3), иначе уезжает вертикаль. */
  html body.woocommerce-cart main.ww-main,
  html body.woocommerce-checkout main.ww-main,
  html body.ww-route-wishlist main.ww-main,
  html body.ww-route-my-wishlist main.ww-main { position: relative; }
  /* секции-сетки центрируются: снимаем с них relative, чтобы линк цеплялся к main
     (absolute-детей внутри нет — проверено на проде: собачка осталась на x164) */
  html body main.ww-main .ww-empty-state--wishlist,
  html body main.ww-main .ww-empty-state--cart { position: static !important; }
  html body main.ww-main .ww-empty-state__back,
  html body main.ww-main .ww-commerce-progress__back,
  html body.woocommerce-cart main.ww-main .ww-commerce-progress__back,
  html body.woocommerce-checkout main.ww-main .ww-commerce-progress__back,
  html body main.ww-main .ww-empty-state--wishlist .ww-empty-state__back,
  html body main.ww-main .ww-empty-state--cart .ww-empty-state__back {
    position: absolute !important;
    left: 2.1875vw !important;   /* 28px при 1280 */
    top: 0.547vw !important;     /* 7px от верха main = y125 на странице */
    margin: 0 !important;
    gap: 0 !important;
    font: 400 16px/19px var(--ww-font-sans) !important;
    color: #000 !important;
    height: auto !important; min-height: 0 !important;
    padding: 0 !important;
    z-index: 6;
  }
  html body main.ww-main .ww-empty-state__back > span:not(.ww-return-back__icon),
  html body main.ww-main .ww-commerce-progress__back > span:not(.ww-return-back__icon) { font: inherit !important; }
  /* иконка одинаковая везде: 15×15, 2px линии, отступ до текста 14px (57-28-15) */
  html body main.ww-main .ww-return-back__icon,
  html body main.ww-main .ww-commerce-progress__back .ww-return-back__icon {
    width: 15px !important; height: 9px !important; margin-right: 14px !important;
    border-top-width: 2px !important; vertical-align: baseline; position: relative;
  }
  html body main.ww-main .ww-return-back__icon::after { width: 6px !important; border-top-width: 2px !important; }
  html body main.ww-main .ww-commerce-progress__back .ww-return-back__icon::before {
    left: 0 !important; top: 0 !important; margin: 0;
    width: 15px !important; height: 9px !important;
    background: linear-gradient(#000, #000) 0 0 / 15px 2px no-repeat,
                linear-gradient(#000, #000) 0 7px / 6px 2px no-repeat !important;
  }
  html body main.ww-main .ww-commerce-progress__back .ww-return-back__icon { overflow: visible; }
}

/* --- 2. «Лучший товар» 1280 (2790:1177): полоса 1280×701 y1772 fill=#F3DBC1;
   заголовок y1811 (39 от верха, 58 высота); карточки 263×307 от x26 y1948, шаг 320-324;
   title y2270 (15 под картинкой), «1000 руб» y2314; низ полосы 2473 (144 под прайсом). --- */
@media (min-width: 861px) and (max-width: 1599px) {
  html body main.ww-main section.ww-shop-design__best {
    background: #f3dbc1 !important;
    height: auto !important; min-height: 0 !important;
    padding-top: 3.05vw !important;      /* 39px */
    padding-bottom: 12.34vw !important;  /* 158px — полоса 700px при эталоне 701 */
  }
  html body main.ww-main section.ww-shop-design__best .ww-home-product-section__head { margin-bottom: 6.17vw !important; } /* 79px */
  /* сетка full-bleed: карточки от x26 до x1253, зазор 57px */
  html body main.ww-main section.ww-shop-design__best .ww-product-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    column-gap: 4.45vw !important; row-gap: 0 !important;
    width: auto !important; max-width: none !important;
    margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important;
    padding-left: 2.03vw !important; padding-right: 2.03vw !important;
    box-sizing: border-box;
  }
  html body main.ww-main section.ww-shop-design__best .ww-product-card { width: auto !important; max-width: none !important; }
  /* пропорция карточки из макета: изображение 263×307 (а не 390) */
  html body main.ww-main section.ww-shop-design__best .ww-product-card__visual,
  html body main.ww-main section.ww-shop-design__best .ww-product-image { height: auto !important; }
  html body main.ww-main section.ww-shop-design__best .ww-product-image img,
  html body main.ww-main section.ww-shop-design__best .ww-product-image > img:first-child {
    width: 100% !important; height: auto !important; max-width: none !important;
    aspect-ratio: 263 / 307; object-fit: cover;
  }
  html body main.ww-main section.ww-shop-design__best .ww-product-meta { padding: 15px 0 0 !important; } /* Figma: картинка низ 2255 → title 2270 */
  html body main.ww-main section.ww-shop-design__best .ww-product-title { font: 400 16px/19px var(--ww-font-sans) !important; }
  html body main.ww-main section.ww-shop-design__best .ww-product-price { font: 400 14px/17px var(--ww-font-sans) !important; color: rgba(0,0,0,.5) !important; margin-top: 7px !important; }
}

/* --- 3. Контакты 1280 (2831:2168): Figma — иконка Group 400 x28 y125, текст x57 y125 (gap 14),
   «ТЕЛЕФОН:» x397 и «РЕКВИЗИТЫ:» x768 — BERNIER 40/48 y407-410, «Почта:» — Lumberjack 24 x40.
   Линк здесь остаётся В ПОТОКЕ (абсолют ломает вертикаль — статья сдвинута на -90px),
   поэтому только сдвиг влево на 12px (контейнер даёт padding-left 40, нужно 28). --- */
@media (min-width: 861px) and (max-width: 1599px) {
  html body main.ww-main .ww-contact-back {
    margin-left: -12px !important; gap: 0 !important;
    font: 400 16px/19px var(--ww-font-sans) !important; color: #000 !important;
    min-height: 0 !important; height: auto !important; padding: 0 !important;
  }
  html body main.ww-main .ww-contact-back > span:not(.ww-return-back__icon) { font: inherit !important; }
  html body main.ww-main .ww-contact-back .ww-return-back__icon {
    width: 15px !important; height: 9px !important; margin-right: 14px !important;
    border-top-width: 2px !important; vertical-align: baseline;
  }
  html body main.ww-main .ww-contact-back .ww-return-back__icon::after { width: 6px !important; border-top-width: 2px !important; }
  html body main.ww-main .ww-contact-grid > section:nth-child(2) h2,
  html body main.ww-main .ww-contact-grid > section:nth-child(3) h2 {
    font: 400 40px/48px BERNIER, serif !important;
    margin: 0 !important;
  }
  /* колонки по Figma: x40 → x397 → x768 (при 1280 это 357 / 371 / 479).
     Заданы во fr, а не в px: при 861–1200px фиксированные 1207px не влезли бы и дали
     горизонтальный скролл. При 1280 пропорция даёт те же 357/371/479. */
  html body main.ww-main .ww-contact-grid {
    grid-template-columns: 357fr 371fr 479fr !important;
    column-gap: 0 !important;
    margin-top: 5.59vw !important;
  }
}

/* --- 5. Главная 1280: промо-блок. Figma: заголовок x92 y1202, т.е. 158px от верха полосы
   (полоса 1044..1819). В CSS стоял `top: 12.34vw` (=158px, верно), но поверх него
   `transform: translateY(-9.4vw)` тянул блок вверх на 120px → живой отдавал y1082.
   Проверено на проде: после снятия transform заголовок ровно x92 y1202 ✓ --- */
/* --- 7. Пустое избранное 1280 (2790:1515) — проверено на проде.
   Отличается от пустой корзины: картинка 474×459 (не 441), заголовок 40px (не 48).
   Опоры Figma → стало: dog x164 y198 474px ✓, title x670 y284 40px ✓, lede y464 ✓,
   back x28/x57 y125 ✓. --- */
@media (min-width: 861px) and (max-width: 1599px) {
  html body main.ww-main .ww-empty-state--wishlist {
    position: static !important;
    padding-top: 80px !important;
    padding-bottom: 0 !important;
  }
  html body main.ww-main .ww-empty-state--wishlist .ww-empty-state__dog {
    width: 474px !important; max-width: 474px !important; height: auto !important;
  }
  html body main.ww-main .ww-empty-state--wishlist .ww-section-title {
    font-size: 40px !important; line-height: 48px !important;
  }
  html body main.ww-main .ww-empty-state--wishlist .ww-lede { margin-top: 84px !important; }
}

/* --- 6. Пустая корзина 1280 (2790:1296) — проверено на проде.
   В Figma пустая корзина и пустое избранное РАЗНЫЕ: у корзины картинка 441×441 и заголовок
   48px, у избранного 474×459 и 40px. В style.css:14085 они объединены общим правилом
   (474px/40px), поэтому корзину разводим отдельно.
   Опоры Figma → стало: dog x151 y197 441px ✓, title y310 ✓, lede y488 ✓, back x28/x57 y125 ✓. --- */
@media (min-width: 861px) and (max-width: 1599px) {
  html body main.ww-main .ww-empty-state--cart {
    position: static !important;
    padding-top: 50px !important;
    grid-template-columns: 441px 440px !important;
    column-gap: 83px !important;
  }
  html body main.ww-main .ww-empty-state--cart .ww-empty-state__back {
    position: absolute !important; left: 2.1875vw !important; top: 0.547vw !important;
    margin: 0 !important; gap: 0 !important;
    font: 400 16px/19px var(--ww-font-sans) !important; color: #000 !important;
    height: auto !important; min-height: 0 !important; padding: 0 !important; z-index: 6;
  }
  html body main.ww-main .ww-empty-state--cart .ww-empty-state__back > span:not(.ww-return-back__icon) { font: inherit !important; }
  html body main.ww-main .ww-empty-state--cart .ww-return-back__icon {
    width: 15px !important; height: 9px !important; margin-right: 14px !important;
    border-top-width: 2px !important; vertical-align: baseline; position: relative;
  }
  html body main.ww-main .ww-empty-state--cart .ww-return-back__icon::after { width: 6px !important; border-top-width: 2px !important; }
  html body main.ww-main .ww-empty-state--cart .ww-empty-state__dog { width: 441px !important; max-width: 441px !important; height: auto !important; }
  html body main.ww-main .ww-empty-state--cart .ww-section-title {
    font-size: 48px !important; line-height: 57.6px !important;
    align-self: start !important; margin: 113px 0 0 !important; max-width: 440px !important;
  }
  html body main.ww-main .ww-empty-state--cart .ww-lede { margin-top: 120px !important; max-width: 440px !important; }
}

/* --- 5. ГЛАВНАЯ 1280 (2790:1561) — проверено на проде 06.10.2026, все опоры сходятся.
   Figma: промо-заголовок x92 y1202; витрина x167 y2046 945×717 (карточки 240, шаг 282);
   медиа «О компании» y3828 1280×753; полоса «Новинок» начинается ровно y4581;
   process-фото y6406 1282×802; отзывы y7364; полоса подписки y8338. Итог замеров:
   промо 1202 ✓, рейл 2045 ✓, «Товары» 2990 ✓, «О компании» 3651, «Новинки» 4652,
   «Партнёры» 5555, process y6406 802 ✓, «Отзывы» 7372, подписка 8341. --- */
@media (min-width: 861px) and (max-width: 1599px) {
  /* в CSS стоял top:12.34vw (158px — верно), но поверх него transform:translateY(-9.4vw)
     тянул блок вверх на 120px → живой отдавал y1082 вместо 1202 */
  html body.home main section.ww-figma-promo .ww-figma-promo__copy { transform: none !important; }
  /* витрина: карточки были 233 с шагом 237, в макете 240 с шагом 282 */
  html body.home main .ww-figma-showcase__rail > a { flex: 0 0 18.75vw !important; width: 18.75vw !important; }
  html body.home main .ww-figma-showcase__rail { gap: 3.28vw !important; }
  html body.home main .ww-figma-showcase__intro { margin-top: 7.97vw !important; }
  /* медиа «О компании» заканчивается ровно там, где начинается полоса «Новинок» (y4581) */
  html body.home main section.ww-figma-about { padding-bottom: 0 !important; }
  /* process: фото в макете 1282×802, живой отдавал 430 (держал max-height:430px).
     padding-top вместо margin-top — margin схлопывался и не двигал поток */
  html body.home main section.ww-figma-process { padding-top: 69px !important; height: auto !important; min-height: 0 !important; }
  html body.home main section.ww-figma-process img {
    height: 62.66vw !important; max-height: none !important; min-height: 0 !important;
  }
}

/* --- 4. Карточка товара 1280 (2790:1720). Всё проверено на проде 06.10.2026.
   Контент должен начинаться на y229: причина сдвига — style.css:262
   `.ww-product-detail-shell { padding-block: clamp(2rem,5vw,5rem) }` = 64px при 1280
   поверх `main { padding-top: 90px }` → 118+90+64 = 272. padding-top 21px даёт 229.
   Итог замеров (Figma → стало): галерея y229 ✓, заголовок x657 y229, цена y289 (эт.294),
   доставка x657 y339 (эт.343), «Количество» y420 (эт.423), кнопка x657 y482 330×47 ✓,
   H2 рекомендаций y1023 ✓, фото рекомендаций y1151 263×307 ✓. --- */
@media (min-width: 861px) and (max-width: 1599px) {
  html body.single-product .ww-product-detail-shell { padding-top: 21px !important; }
  /* кнопка: Figma 329×47, живой отдавал 330×60 (min-height:60px) */
  html body.single-product .ww-product-detail__purchase-panel .single_add_to_cart_button {
    height: 47px !important; min-height: 0 !important; padding: 0 !important;
    margin-top: 30px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
  }
  /* блок «Вам также может понравиться»: Figma H2 y1023 (ниже галереи 907 + 116) */
  html body.single-product .ww-product-detail__below-summary { margin-top: 2.0625vw !important; }
  /* рекомендации: Figma — 4 карточки 263×307, фото y1151 */
  html body.single-product section.related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    column-gap: 4.63vw !important; row-gap: 0 !important;
    margin-top: 77px !important;   /* 45px нужного сдвига + 32px схлопнутый отступ H2 */
  }
  html body.single-product section.related.products ul.products > li:nth-child(n+5) { display: none !important; }
  html body.single-product section.related.products .ww-product-image img {
    width: 100% !important; height: auto !important; max-width: none !important;
    aspect-ratio: 263 / 307; object-fit: cover;
  }
}

/* --- 8. «О компании» 1280 (2831:2077). Контентный отступ Figma: статья x71,
   текст x77/1132px, галерея x71/1138px. Манифест 190/718px, заголовок команды
   977px, фото 369×372 с шагом рядов 471px, футер y2681. --- */
@media (min-width: 861px) and (max-width: 1599px) {
  html body main.ww-main article.ww-about-page {
    width: min(100% - 160px, 70rem) !important;
    margin-inline: auto !important;
  }
}
@media (min-width: 1200px) and (max-width: 1279px) {
  html body main.ww-main article.ww-about-page {
    width: calc(122.5vw - 430px) !important;
    padding-top: calc(612.6px - 44.05vw) !important;
    padding-bottom: calc(2678px - 193.75vw) !important;
  }
  html body main.ww-main .ww-about-manifesto {
    --ww-about-shift: clamp(0px, calc(7.5vw - 90px), 6px);
    width: calc(100% - var(--ww-about-shift)) !important;
    max-width: 1132px !important;
    min-height: calc(174px + 42.5vw) !important;
    margin-left: var(--ww-about-shift) !important;
    margin-right: 0 !important;
  }
  html body main.ww-main .ww-about-craft-title { margin: 69px 0 calc(809px - 62.5vw) !important; }
  html body main.ww-main .ww-about-craft-grid {
    width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: calc(87.5px - 5.625vw) !important;
    row-gap: calc(813px - 58.75vw) !important;
    margin-top: 0 !important;
  }
  html body main.ww-main .ww-about-craft-grid img {
    width: 100% !important; height: calc(48.75vw - 252px) !important; max-width: none !important;
    aspect-ratio: auto !important; object-fit: cover !important;
  }
  html body main.ww-main .ww-about-craft-grid figcaption {
    padding-top: calc(8.75vw - 93px) !important;
    font: 300 16px/19.4px var(--ww-font-sans) !important;
    text-transform: none !important;
  }
}
@media (min-width: 1280px) and (max-width: 1599px) {
  html body main.ww-main article.ww-about-page {
    width: min(calc(100% - 142px), calc(61vw + 357.2px)) !important;
    padding-top: calc(7.8125vw - 51.24px) !important;
    padding-bottom: calc(32.1875vw - 214px) !important;
  }
  html body main.ww-main .ww-about-manifesto {
    width: min(calc(24.375vw + 820px), 1288px) !important;
    max-width: 1288px !important;
    min-height: calc(854px - 10.625vw) !important;
    margin-inline: auto !important;
    transform: translateX(calc(9px - 0.46875vw)) !important;
  }
  html body main.ww-main .ww-about-craft-title {
    margin: calc(115px - 3.59375vw) 0 calc(-31px + 3.125vw) !important;
  }
  html body main.ww-main .ww-about-craft-grid {
    width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: calc(0.703125vw + 6.5px) !important;
    row-gap: calc(7.34375vw - 33px) !important;
    margin-top: 0 !important;
  }
  html body main.ww-main .ww-about-craft-grid img {
    width: 100% !important; height: calc(23.125vw + 76px) !important;
    max-width: none !important; aspect-ratio: auto !important; object-fit: cover !important;
  }
  html body main.ww-main .ww-about-craft-grid figcaption {
    padding-top: calc(33px - 1.09375vw) !important;
    font: 300 16px/19.4px var(--ww-font-sans) !important;
    text-transform: none !important;
  }
}

/* --- 9. Вход / личный кабинет 1280 (2831:2643). Тот же боковой отступ: контейнер
   1120 вместо 1067 (левый столбец 79..532, правый центр 982). Плюс вертикальный
   ритм: живой отдавал input 80px и подписи в 40px строку, из-за чего весь блок
   уезжал вниз на 67px у h1 и на 221px у «Продолжить без регистрации».
   Проверено внедрением на проде (Figma → стало): h1 y171 ✓, подпись y234 h20 ✓,
   input1 x80 y264 448×62 (эт. 79/265 453×62), input2 y360 (эт. 357), кнопка
   x80 y448 170×58 ✓, соц. иконки y533 56×46 (эт. 530), h2 y219 ✓,
   «Создать аккаунт» 224×58 y332 (эт. 330), подпись соцсетей y419 (эт. 417). --- */
/* ВАЖНО: `:not(.woocommerce-lost-password)` — иначе эти правила (специфичность
   равна правилам блока 10, который идёт в файле позже) наезжали на страницу
   восстановления пароля. */
@media (min-width: 861px) and (max-width: 1599px) {
  html body:not(.woocommerce-lost-password) main.ww-main article.ww-auth-route {
    width: min(100% - 160px, 70rem) !important;
    margin-inline: auto !important;
    padding-top: 29px !important;
    padding-bottom: 124px !important;   /* футер кадра y769 = низ колонки 645 + 124 */
  }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel > h1,
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel > h2 { font-size: 32px !important; line-height: 41px !important; }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel--join { padding-top: 48px !important; }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel--join > h1,
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel--join > h2 { margin-bottom: 10px !important; }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel--join > p { margin-bottom: 0 !important; }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel--login > h1 {
    margin-bottom: 22px !important;
    /* в кадре «Войти» стоит по центру левой колонки (x271), а не по левому краю */
    text-align: center !important;
  }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-form .form-row label { line-height: 20px !important; margin-bottom: 10px !important; }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-form input.input-text { height: 62px !important; }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-form .form-row + .form-row { margin-top: 4px !important; }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-form__actions { margin-top: 26px !important; }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-form__actions .button {
    min-width: 0 !important; width: 170px !important; height: 58px !important; min-height: 0 !important;
  }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-create {
    min-width: 0 !important; width: 224px !important; height: 58px !important;
    min-height: 0 !important; margin-top: 0 !important;
  }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-form .ww-auth-social { margin-top: 27px !important; }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-social button { width: 56px !important; height: 46px !important; min-height: 0 !important; }
  /* в кадре ссылка стоит по центру левого столбца (195..430), не по левому краю */
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-form > .ww-auth-guest {
    display: block !important; text-align: center !important;
    font-size: 15px !important; margin-top: 16px !important;   /* глифы на y598 (эталон) */
  }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel--join .ww-auth-social-label {
    font-size: 16px !important; margin-top: 29px !important;
  }
}

/* --- 10. Восстановление пароля 1280 (2831:2642). В кадре это компактная
   центрированная карточка: заголовок Lumberjack 24/30.7 (было 32/40), подписи
   и поля 16px (было 20), поле 322×37 (было 640×58), кнопка 256×44 (было 320×70),
   футер на y769 и высота кадра 1154 (живой отдавал 1830).
   Распирало из-за `style.css:4843`: `.woocommerce-lost-password .ww-auth-route
   { height: 81.4375rem }` + `> .woocommerce { height: 100% }` — отсюда min-height
   1303 и пустой низ, поэтому height/min-height сняты на обоих уровнях.
   Проверено внедрением (Figma → стало): заголовок y225 ✓, подпись y277 ✓,
   «Телефон или e-mail» y323 ✓, поле y344 322×37 (эт. 343) ✓, кнопка «Далее»
   y421 256×44 (эт. 420) ✓, «Авторизоваться» y431 (эт. 432) ✓, «Или войти…»
   y524 (эт. 523) ✓, соц. иконки y548 (эт. 547) ✓, «Продолжить без регистрации»
   y588 ✓, футер y770 (эт. 769) ✓, высота документа 1155 (кадр 1154) ✓.
   Оговорка: кадр внутренне противоречив по горизонтали — заголовок и ряд кнопок
   центрированы на x686, а поле/подпись на x592 (разница 94px). Карточка
   отцентрована по странице (640), это единственная непротиворечивая трактовка. --- */
/* ВАЖНО: только `body.woocommerce-lost-password`. Без этого префикса правила
   `article.ww-auth-route` перебивали блок 9 на странице входа (специфичность
   равна, а блок 10 идёт в файле позже): живой отдавал padding 23/162 вместо
   29/124 — заголовок уезжал на −6, футер на +32. Проверено после выката. --- */
@media (min-width: 769px) and (max-width: 1599px) {
  html body.woocommerce-lost-password main.ww-main article.ww-auth-route {
    height: auto !important; min-height: 0 !important;
    padding: 23px 0 162px !important;  /* футер кадра y769 */
  }
  html body.woocommerce-lost-password main.ww-main article.ww-auth-route > .woocommerce { height: auto !important; min-height: 0 !important; }
  html body.woocommerce-lost-password main.ww-main section.ww-lost-password {
    width: 535px !important; margin-inline: auto !important; padding-top: 60px !important;
  }
  html body.woocommerce-lost-password main.ww-main section.ww-lost-password > h1 {
    font-size: 24px !important; line-height: 30.7px !important;
    margin: 0 !important; text-align: center !important;
  }
  html body.woocommerce-lost-password main.ww-main .ww-lost-password__lead {
    font-size: 16px !important; line-height: 19.4px !important;
    text-align: center !important; margin: 21px 0 0 !important;
  }
  html body.woocommerce-lost-password main.ww-main .woocommerce-ResetPassword { margin: 27px 0 0 !important; }
  html body.woocommerce-lost-password main.ww-main .woocommerce-ResetPassword .form-row { margin: 0 !important; padding: 0 !important; }
  html body.woocommerce-lost-password main.ww-main .woocommerce-ResetPassword label {
    display: block !important; font-size: 16px !important; line-height: 19.4px !important;
    margin: 0 0 1px 12px !important;
  }
  html body.woocommerce-lost-password main.ww-main .woocommerce-ResetPassword input.input-text {
    box-sizing: border-box !important;
    width: 322px !important; height: 37px !important; min-height: 0 !important;
    padding: 0 12px !important; margin-left: 12px !important; font-size: 15px !important;
  }
  html body.woocommerce-lost-password main.ww-main .ww-lost-password__actions {
    display: flex !important; align-items: center !important; justify-content: space-between !important;
    height: 44px !important; margin: 40px 0 0 !important;
  }
  html body.woocommerce-lost-password main.ww-main .ww-lost-password__actions button,
  html body.woocommerce-lost-password main.ww-main .ww-lost-password__actions .button {
    width: 256px !important; min-width: 0 !important; height: 44px !important; min-height: 0 !important;
    font-size: 15px !important;
  }
  html body.woocommerce-lost-password main.ww-main .ww-lost-password__actions a { font-size: 15px !important; }
  html body.woocommerce-lost-password main.ww-main .ww-lost-password__social-label {
    font-size: 16px !important; line-height: 19.4px !important;
    text-align: center !important; margin: 59px 0 0 !important;
  }
  html body.woocommerce-lost-password main.ww-main section.ww-lost-password > .ww-auth-social {
    justify-content: center !important; margin-top: 5px !important;
  }
  html body.woocommerce-lost-password main.ww-main section.ww-lost-password > .ww-auth-social button {
    width: 38px !important; height: 38px !important; min-height: 0 !important;
  }
  html body.woocommerce-lost-password main.ww-main .ww-lost-password__guest {
    display: block !important; font-size: 16px !important; line-height: 19.4px !important;
    text-align: center !important; margin: 3px 0 0 !important;
  }
}

/* ==========================================================================
   ФИНАЛЬНЫЙ ПРОХОД 1920 — сверка спеков Figma с живым DOM (06.10.2026)
   Все правила — только min-width: 1600px. Каждый блок с уникальным префиксом
   (body-класс страницы), чтобы не ловить конфликты равной специфичности,
   как было с блоками 9/10 на 1280.
   ========================================================================== */

/* --- 11. Главная 1920 (2079:600). В кадре заголовки секций BERNIER 40/48:
   «О компании» x872 y2741 177×48, «Новинки» x900 y3430 126×48,
   «Партнеры» x885 y4378 145×48 (на 1280 те же заголовки 48px, здесь 40). --- */
@media (min-width: 1600px) {
  html body.home main .ww-figma-about h2,
  html body.home main .ww-figma-new h2,
  html body.home main .ww-figma-partners h2,
  html body.home main .ww-figma-review h2 {
    font: 400 40px/48px 'BERNIER', 'WW Display', Impact, sans-serif !important;
    letter-spacing: 0.01em !important;
  }
  /* Заголовки секций магазина НЕ трогаем: по спеке 2127:643 «Раздел 3» —
     Lumberjack 40/51.2, это уже делает style.css (.ww-home-product-section__head). */
}

/* --- 12. О компании 1920 (2215:804). Кадр 1920×3745: манифест Inter 24/29
   по центру (x316 y240 1288×702), фото 520×520 в 3 колонки x160/700/1240
   (ряды y994/1653/2312), подписи Inter-Light 16/19.4, футер y3369.
   Живой отдаёт манифест 16/24 — по спеке 24/29. --- */
@media (min-width: 1600px) {
  html body main.ww-main article.ww-about-page {
    padding-top: calc(0.9375vw + 58.75px) !important;
    padding-bottom: calc(18.75vw + 1px) !important;
  }
  html body main.ww-main .ww-about-manifesto {
    width: min(calc(24.375vw + 820px), 1288px) !important;
    max-width: 1288px !important;
    min-height: calc(854px - 10.625vw) !important;
    margin-inline: auto !important;
    transform: translateX(calc(9px - 0.46875vw)) !important;
  }
  html body main.ww-main .ww-about-craft-title {
    margin: calc(115px - 3.59375vw) 0 calc(-31px + 3.125vw) !important;
  }
  html body main.ww-main .ww-about-craft-grid { margin-top: 0 !important; }
  html body main.ww-main .ww-about-manifesto p {
    font: 400 24px/29px var(--ww-font-sans) !important;
    max-width: 1288px !important;
  }
  html body main.ww-main .ww-about-craft-grid figcaption {
    font: 300 16px/19.4px var(--ww-font-sans) !important; color: #000 !important;
    padding-top: calc(33px - 1.09375vw) !important;
    text-transform: none !important;
  }
}
/* Для ширин между макетом 1280 и 1920 не растягиваем изображения поверх
   колонок: галерея масштабируется вместе с контейнером. */
@media (min-width: 1600px) and (max-width: 1919px) {
  html body main.ww-main article.ww-about-page {
    width: 83.3333vw !important;
    padding-top: calc(0.9375vw + 58.75px) !important;
    padding-bottom: calc(18.75vw + 1px) !important;
  }
  html body main.ww-main .ww-about-manifesto {
    width: min(calc(24.375vw + 820px), 1288px) !important;
    min-height: calc(854px - 10.625vw) !important;
    transform: translateX(calc(9px - 0.46875vw)) !important;
  }
  html body main.ww-main .ww-about-craft-title {
    margin: calc(115px - 3.59375vw) 0 calc(-31px + 3.125vw) !important;
  }
  html body main.ww-main .ww-about-craft-grid {
    width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: calc(0.703125vw + 6.5px) !important;
    row-gap: calc(7.34375vw - 33px) !important;
  }
  html body main.ww-main .ww-about-craft-grid img {
    width: 100% !important; height: calc(23.125vw + 76px) !important;
    max-width: none !important; aspect-ratio: auto !important; object-fit: cover !important;
  }
  html body main.ww-main .ww-about-craft-grid figcaption {
    padding-top: calc(33px - 1.09375vw) !important;
    font: 300 16px/19.4px var(--ww-font-sans) !important;
    text-transform: none !important;
  }
}
@media (min-width: 1920px) {
  html body main.ww-main .ww-about-craft-grid img {
    width: 520px !important; height: 520px !important; max-width: none !important;
    aspect-ratio: auto !important; object-fit: cover !important;
  }
}

/* --- 13. Контакты 1920 (2422:1285). Кадр 1920×1572: back-link иконка x169
   текст x216 y227; «Контакты…» Lumberjack 24/30.7 x169 y355; lead такой же;
   колонки: «Почта:» x169 y636 Lumberjack 24/30.7, «Телефон:» x642 y636
   BERNIER 40/48, «Реквизиты:» x1134 y632 BERNIER 40/48; футер y1196.
   Живой отдаёт h1 BERNIER 40px и lead Inter 32px — по спеке оба 24. --- */
@media (min-width: 1600px) {
  html body main.ww-main article.ww-contact-page .ww-contact-head h1 {
    font: 400 24px/30.7px var(--ww-font-accent), 'Lumberjack', serif !important;
    text-transform: none !important;
  }
  html body main.ww-main article.ww-contact-page .ww-contact-head p {
    font: 400 24px/30.7px var(--ww-font-accent), 'Lumberjack', serif !important;
    max-width: 1600px !important;
  }
  html body main.ww-main .ww-contact-legal h2,
  html body main.ww-main .ww-contact-legal h3,
  html body main.ww-main .ww-contact-grid h2 {
    font: 400 40px/48px 'BERNIER', 'WW Display', Impact, sans-serif !important;
    letter-spacing: 0.01em !important;
  }
  /* «Почта:» в спеке — Lumberjack 24, а не BERNIER 40: это первый столбец */
  html body main.ww-main .ww-contact-legal > div:first-child h2,
  html body main.ww-main .ww-contact-legal > section:first-child h2,
  html body main.ww-main .ww-contact-grid > section:first-child h2 {
    font: 400 24px/30.7px var(--ww-font-accent), 'Lumberjack', serif !important;
  }
}

/* --- 14. Пустая корзина 1920 (2470:923). Кадр 1920×1572: собака 523×523
   x699 y320, «В корзине пока пусто» BERNIER 64/76.8 x537 y828 (одна строка),
   lead Inter 26/31.5 x420 y944, футер y1196.
   Живой отдаёт собаку 288px (min(78vw,18rem)) и h2 из clamp. --- */
@media (min-width: 1600px) {
  html body main.ww-main section.ww-empty-state--cart .ww-empty-state__dog {
    width: 523px !important; max-width: none !important;
    height: 523px !important; object-fit: contain;   /* в кадре 523×523, живой отдаёт 523×541 */
  }
  html body main.ww-main section.ww-empty-state--cart h2.ww-section-title {
    font: 400 64px/76.8px 'BERNIER', 'WW Display', Impact, sans-serif !important;
    letter-spacing: 0.01em !important; max-width: none !important; white-space: nowrap !important;
  }
  html body main.ww-main section.ww-empty-state--cart .ww-lede,
  html body main.ww-main section.ww-empty-state--wishlist .ww-lede {
    font: 400 26px/31.5px var(--ww-font-sans) !important;
  }
}

/* --- 15. Избранное пустое 1920 (2470:1260). Кадр 1920×1572: собака 405×392
   x757 y287, «Здесь сохраним ваши любимые товары» BERNIER 40/48 x537 y720,
   lead Inter 26/31.5 x422 y800. Живой отдаёт собаку 320px (min(78vw,20rem)). --- */
@media (min-width: 1600px) {
  html body main.ww-main section.ww-empty-state--wishlist .ww-empty-state__dog {
    width: 405px !important; max-width: none !important;
  }
  /* В живом DOM заголовок избранного — h1 (у корзины h2), поэтому оба тега */
  html body main.ww-main section.ww-empty-state--wishlist h1.ww-section-title,
  html body main.ww-main section.ww-empty-state--wishlist h2.ww-section-title {
    font: 400 40px/48px 'BERNIER', 'WW Display', Impact, sans-serif !important;
    letter-spacing: 0.01em !important; max-width: none !important; white-space: nowrap !important;
  }
}

/* --- 16. Восстановление пароля 1920 (2422:566). Кадр 1920×1892: «Востановление»
   LumberjackRough 36/46.1 y198 по центру; lead Inter 24/29 y280; подпись
   «Телефон или e-mail» 22/26.6 y352; поле 636×58 y384; «Далее» 319×70 y505
   (текст 20/24.2) + «Авторизоваться» y524; «Или войти с помощью:» 22/26.6 y667;
   соц-иконки y709 (64×52 и 53×52); «Продолжить без регистрации» 22/26.6 y769;
   футер y1516. Тот же конфликт, что чинили на 1280: префикс только
   `body.woocommerce-lost-password`, чтобы не перебить блок входа. --- */
@media (min-width: 1600px) {
  html body.woocommerce-lost-password main.ww-main article.ww-auth-route {
    height: auto !important; min-height: 0 !important;
    padding: 58px 0 711px !important;   /* h1 на y198, футер кадра y1516 (док 1892) */
  }
  html body.woocommerce-lost-password main.ww-main article.ww-auth-route > .woocommerce { height: auto !important; min-height: 0 !important; }
  html body.woocommerce-lost-password main.ww-main section.ww-lost-password {
    width: 664px !important; margin-inline: auto !important; padding-top: 0 !important;
  }
  html body.woocommerce-lost-password main.ww-main section.ww-lost-password > h1 {
    font-size: 36px !important; line-height: 46.1px !important;
    margin: 0 !important; text-align: center !important;
  }
  html body.woocommerce-lost-password main.ww-main .ww-lost-password__lead {
    font-size: 24px !important; line-height: 29px !important;
    text-align: center !important; margin: 36px 0 0 !important;
  }
  html body.woocommerce-lost-password main.ww-main .woocommerce-ResetPassword { margin: 43px 0 0 !important; }
  html body.woocommerce-lost-password main.ww-main .woocommerce-ResetPassword .form-row { margin: 0 !important; padding: 0 !important; }
  html body.woocommerce-lost-password main.ww-main .woocommerce-ResetPassword label {
    display: block !important; font-size: 22px !important; line-height: 26.6px !important;
    margin: 0 !important;
  }
  html body.woocommerce-lost-password main.ww-main .woocommerce-ResetPassword input.input-text {
    box-sizing: border-box !important;
    width: 636px !important; height: 58px !important; min-height: 0 !important;
    padding: 0 16px !important; margin: 5px 0 0 !important; font-size: 22px !important;
    background: rgba(217,217,217,.24) !important; border: 1px solid #b9b9b9 !important;
  }
  html body.woocommerce-lost-password main.ww-main .ww-lost-password__actions {
    display: flex !important; align-items: center !important; justify-content: space-between !important;
    height: 70px !important; margin: 63px 0 0 !important;
  }
  html body.woocommerce-lost-password main.ww-main .ww-lost-password__actions button,
  html body.woocommerce-lost-password main.ww-main .ww-lost-password__actions .button {
    width: 319px !important; min-width: 0 !important; height: 70px !important; min-height: 0 !important;
    font-size: 20px !important; line-height: 24.2px !important;
  }
  html body.woocommerce-lost-password main.ww-main .ww-lost-password__actions a {
    font-size: 20px !important; line-height: 24.2px !important;
  }
  html body.woocommerce-lost-password main.ww-main .ww-lost-password__social-label {
    font-size: 22px !important; line-height: 26.6px !important;
    text-align: center !important; margin: 92px 0 0 !important;
  }
  html body.woocommerce-lost-password main.ww-main section.ww-lost-password > .ww-auth-social {
    justify-content: center !important; margin-top: 23px !important;
  }
  html body.woocommerce-lost-password main.ww-main section.ww-lost-password > .ww-auth-social button {
    width: 64px !important; height: 52px !important; min-height: 0 !important;
  }
  html body.woocommerce-lost-password main.ww-main .ww-lost-password__guest {
    display: block !important; font-size: 22px !important; line-height: 26.6px !important;
    text-align: center !important; margin: 8px 0 0 !important;
  }
}

/* --- 17. Вход 1920 (2252:1071) — уточнение блока «Вход 1920» выше по файлу.
   Спек: подписи 22/26.6 (было 20/24), поля 637×85 (было 84), текст в поле 22px,
   кнопка «Войти» 239×80 (24/29), соц-иконки 78×63 и 63×63, гость 22/26.6,
   «Создать аккаунт» 316×80 (24/29). Футер кадра y1132. --- */
@media (min-width: 1600px) {
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel--login label {
    font: 400 22px/26.6px var(--ww-font-sans) !important; padding-left: 30px;
  }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel--login input.input-text {
    height: 85px !important; font: 300 22px/26.6px var(--ww-font-sans) !important;
  }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel--login .woocommerce-form-login__submit {
    flex: 0 0 239px !important;   /* 288 в живом: flex растягивал width, в спеке 239 */
    width: 239px !important; height: 80px !important; font: 400 24px/29px var(--ww-font-sans) !important;
  }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel--login .ww-auth-social button {
    height: 63px !important; min-height: 0 !important;
  }
  /* 2252:1071: иконки 78×63 и 63×63 (живые обе 78) */
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel .ww-auth-social button:first-child { width: 78px !important; }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel .ww-auth-social button:nth-child(2) { width: 63px !important; }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel--login .ww-auth-guest {
    font-size: 22px !important; line-height: 26.6px !important;
  }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel--join .ww-auth-social-label {
    font-size: 22px !important; line-height: 26.6px !important;
  }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-create {
    width: 316px !important; height: 80px !important; min-height: 0 !important;
    font: 400 24px/29px var(--ww-font-sans) !important;
  }
}

/* ==========================================================================
   ФИНАЛЬНЫЙ ПРОХОД 402 — остаточные расхождения (06.10.2026)
   Большая часть 402 уже покрыта style.css (типографика главной, пустые
   состояния, lost-password, шаги корзины). Здесь только то, что расходится
   со спеками 2652:912 / 2628:895 / 2628:3627 / 2528:825 / 2692:5671.
   ========================================================================== */

/* --- 18. Контакты 402 (2652:912): «Контакты…» и lead — Lumberjack 24/30.7
   (живой отдаёт BERNIER 36), «Почта:» Lumberjack 24/30.7, «телефон:» и
   «Реквизиты:» BERNIER 20/24. Back-link на y125 (header 101 + 24). --- */
@media (max-width: 768px) {
  html body main.ww-main article.ww-contact-page { padding-top: 24px !important; }
  html body main.ww-main .ww-contact-page .ww-contact-back { margin: 0 !important; top: 0 !important; min-height: 0 !important; }
  html body main.ww-main .ww-contact-page .ww-contact-back span { font: 400 16px/19.4px var(--ww-font-sans) !important; }
  html body main.ww-main article.ww-contact-page .ww-contact-head { margin-top: 60px !important; }
  html body main.ww-main article.ww-contact-page .ww-contact-head h1,
  html body main.ww-main article.ww-contact-page .ww-contact-head p {
    font: 400 24px/30.7px var(--ww-font-accent), 'Lumberjack', serif !important;
    text-transform: none !important;
  }
  html body main.ww-main .ww-contact-grid > section:first-child h2 {
    font: 400 24px/30.7px var(--ww-font-accent), 'Lumberjack', serif !important;
  }
  html body main.ww-main .ww-contact-grid > section h2 {
    font: 400 20px/24px 'BERNIER', 'WW Display', Impact, sans-serif !important;
  }
}

/* --- 19. Пустые состояния 402: собаки по спекам — корзина 286×286 (2628:895),
   404 — 292×292 (2628:3627); избранное 232×225 уже есть в style.css. --- */
@media (max-width: 768px) {
  html body main.ww-main section.ww-empty-state--cart .ww-empty-state__dog { width: 286px !important; max-width: 100% !important; }
  html body main.ww-main section.ww-empty-state--not-found .ww-empty-state__dog { width: 292px !important; max-width: 100% !important; }
}

/* --- 20. Карточки товаров 402 (2528:825 / 2528:718): цена 10/12.1
   rgba(0,0,0,.5), «Все товары» 12/16.8 (бейдж уже 10/12.1 в style.css). --- */
@media (max-width: 768px) {
  html body main.ww-main .ww-product-price,
  html body main.ww-main .ww-product-price * { font: 400 10px/12.1px var(--ww-font-sans) !important; color: rgba(0,0,0,.5) !important; }
  html body.home main .ww-figma-new > .ww-container > a.ww-button { font: 400 12px/16.8px var(--ww-font-sans) !important; }
}

/* --- 21. Вход 402 (2692:5671): подписи 14/16.9, поля 269×39, кнопка «Войти»
   и «Забыли пароль?» в один ряд (оба внутри .ww-auth-form__actions),
   «Или войти с помощью:» 14/16.9. Заголовок 20/25.6 уже даёт style.css. --- */
@media (max-width: 768px) {
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel--login label {
    font: 400 14px/16.9px var(--ww-font-sans) !important; padding-left: 0 !important;
  }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel--login input.input-text {
    width: 269px !important; max-width: 100% !important; height: 39px !important; min-height: 0 !important;
    font: 300 14px/16.9px var(--ww-font-sans) !important; padding: 0 12px !important;
  }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel--login .ww-auth-form__actions {
    flex-direction: row !important; align-items: center !important; justify-content: space-between !important;
  }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel--login .woocommerce-form-login__submit {
    width: auto !important; height: 39px !important; min-height: 0 !important; padding: 0 24px !important;
    font: 400 14px/16.9px var(--ww-font-sans) !important;
  }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel--login .ww-auth-forgot {
    font: 400 14px/16.9px var(--ww-font-sans) !important;
  }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel--login .ww-auth-social-label--login {
    font: 400 14px/16.9px var(--ww-font-sans) !important;
  }
}

/* --- 22. Восстановление 402 (2698:6080): уточнение полей.
   Спек: поле 270×58 от x67, «Далее» 129×36. Живой после деплоя-2 отдавал
   230×58 и 119×36 (стили style.css поджимали). --- */
@media (max-width: 768px) {
  html body.woocommerce-lost-password main.ww-main .ww-lost-password form input.input-text {
    width: 270px !important; max-width: 100% !important;
  }
  html body.woocommerce-lost-password main.ww-main .ww-lost-password .ww-lost-password__actions button.button {
    width: 129px !important;
  }
  /* form имеет padding ~20px из style.css, сжимающий поле 270→230. Сбрасываем боковые. */
  html body.woocommerce-lost-password main.ww-main .ww-lost-password form.lost_reset_password {
    padding-left: 0 !important; padding-right: 0 !important;
  }
}

/* --- 23. Мобильное меню 402 (2528:1015): пункты Inter-Light 24/29.
   Меню открывается классом html.ww-menu-open; живые пункты 14/17. --- */
@media (max-width: 768px) {
  html.ww-menu-open .ww-site-header .ww-nav a {
    font: 300 24px/29px var(--ww-font-sans) !important;
  }
  /* Спек 2528:1015: пункты 43px с шагом 52 от y190. Живой отдавал 52px (min-height
     3.25rem) и старт y179. Выравниваем высоту и первый пункт. */
  html.ww-menu-open .ww-site-header .ww-nav.is-open {
    padding-top: 189px !important;
  }
  html.ww-menu-open .ww-site-header .ww-nav__menu--mobile > li {
    margin-bottom: 9px !important;
  }
  html.ww-menu-open .ww-site-header .ww-nav__menu--mobile > li > a {
    min-height: 43px !important;
  }
}

/* --- 25. Топбар внутренних страниц + отзывы главной (проверено на проде 07.10).
   1) Навигация на внутренних страницах в figma-a.css задана `font: 400 1.133vw/1.2`
      (на 1280 это 14.5px) — на главной и в UI Kit 1920 навигация 18px. Возвращаем 18px.
   2) Отзывы главной: автор в живом был прижат к заголовку (y7556) и фото на x769,
      тогда как в эталоне 2790:1561 автор y7688 (+132px), фото x813 (+44px). --- */
@media (min-width: 861px) and (max-width: 1599px) {
  html body:not(.home) header.ww-site-header.ww-site-header .ww-nav__menu > li > a {
    font: 400 18px/22px Inter, sans-serif !important;
  }
  body.home main.ww-main .ww-figma-review__card .ww-figma-review__author {
    margin-top: 132px !important;
  }
  body.home main.ww-main .ww-figma-review__card img {
    margin-right: -44px !important;
  }
}

/* 07.10.2026: исправления поведения и геометрии по выгрузке Figma.
   Поиск на внутренних страницах был невидимым даже после открытия. */
@media (min-width: 861px) {
  html body:not(.home) header.ww-site-header.ww-site-header .ww-header-search input {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
  }
}
@media (max-width: 860px) {
  html body:not(.home) header.ww-site-header .ww-header-actions > form.ww-header-search {
    display: block !important;
  }
  html body header.ww-site-header .ww-header-actions > form.ww-header-search input {
    display: none !important;
  }
  html body header.ww-site-header .ww-header-actions > form.ww-header-search.is-open input {
    display: block !important;
    position: fixed !important;
    top: var(--ww-header-bottom, 101px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: none !important;
    height: 56px !important;
    margin: 0 !important;
    padding: 0 24px !important;
    border: 1px solid #222 !important;
    background: #fff !important;
    color: #222 !important;
    font: 400 16px/24px var(--ww-font-sans) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    z-index: 60;
  }
}
/* Сохраняем позиции 402 и удерживаем действия в экране 360–390. */
@media (max-width: 768px) {
  html body:not(.home) header.ww-site-header .ww-wishlist-action {
    left: auto !important; right: 93px !important;
  }
  html body:not(.home) header.ww-site-header .ww-header-actions > form.ww-header-search {
    left: auto !important; right: 62px !important;
  }
  html body:not(.home) header.ww-site-header .ww-cart-link {
    left: auto !important; right: 27px !important;
  }
  html body:not(.home) header.ww-site-header .ww-brand {
    height: 34px !important;
  }
  html body:not(.home) header.ww-site-header .ww-menu-toggle {
    width: 28px !important; height: 32px !important; min-height: 0 !important;
    top: 54px !important;
  }
}
.ww-header-share { display: none; }
/* Карточка 2628:763: шапка 69px; меню x25, логотип x68/y19 141×34,
   избранное x305/y19, share x352/y22; фото x10/y69 382×539. */
@media (max-width: 768px) {
  html body.single-product header.ww-site-header.ww-site-header,
  html body.single-product header.ww-site-header.ww-site-header .ww-header-inner {
    height: 69px !important; min-height: 0 !important;
  }
  html body.single-product header.ww-site-header.ww-site-header .ww-header-actions > form.ww-header-search,
  html body.single-product header.ww-site-header.ww-site-header .ww-cart-link {
    display: none !important;
  }
  html body.single-product header.ww-site-header.ww-site-header .ww-header-back { display: none !important; }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-brand {
    display: block !important; position: absolute !important; left: 68px !important; top: 19px !important;
    width: 141px !important; height: 34px !important; margin: 0 !important; transform: none !important;
  }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-brand__image {
    display: block !important; width: 100% !important; height: 100% !important;
    max-width: none !important; object-fit: contain !important;
  }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-menu-toggle {
    display: inline-flex !important; position: absolute !important; left: 19px !important; top: 10px !important;
    width: 36px !important; height: 44px !important; min-height: 0 !important; margin: 0 !important;
    padding: 0 !important; border: 0 !important; background: transparent !important; color: #000 !important; z-index: 70 !important;
  }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-menu-toggle > span[aria-hidden="true"] {
    position: absolute !important; left: 6px !important; width: 20px !important; height: 2px !important;
    margin: 0 !important; background: currentColor !important; box-shadow: none !important; transform: none !important;
  }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-menu-toggle > span[aria-hidden="true"]:first-child { top: 12px !important; }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-menu-toggle > span[aria-hidden="true"]:nth-child(2) { top: 26px !important; }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-menu-toggle::after {
    left: 6px !important; top: 19px !important; width: 20px !important; height: 2px !important;
    margin: 0 !important; background: currentColor !important;
  }
  html.ww-menu-open body.single-product[class] header.ww-site-header.ww-site-header .ww-menu-toggle > span[aria-hidden="true"]:first-child {
    top: 19px !important; box-shadow: none !important; transform: rotate(45deg) !important;
  }
  html.ww-menu-open body.single-product[class] header.ww-site-header.ww-site-header .ww-menu-toggle > span[aria-hidden="true"]:nth-child(2) {
    top: 19px !important; transform: rotate(-45deg) !important;
  }
  html.ww-menu-open body.single-product[class] header.ww-site-header.ww-site-header .ww-menu-toggle::after { opacity: 0 !important; }
  html body.single-product header.ww-site-header.ww-site-header .ww-wishlist-action {
    top: 19px !important; right: 63px !important; left: auto !important; width: 34px !important; height: 34px !important;
  }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-wishlist-action .dashicons {
    width: 34px !important; height: 34px !important; font-size: 34px !important; line-height: 34px !important;
  }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-header-share {
    display: grid !important; place-items: center;
    position: absolute !important; top: 14px !important; right: 14px !important;
    width: 44px !important; height: 44px !important; min-height: 0 !important; padding: 0 !important;
    border: 0 !important; background: transparent !important; color: #222 !important; cursor: pointer;
  }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-header-share img {
    width: 29px !important; height: 27px !important; filter: invert(1) !important;
  }
  html body.single-product main.ww-main { padding-top: 69px !important; }
  html body.single-product .ww-product-detail-shell { padding-top: 0 !important; }
  html body.single-product .ww-figma-product-gallery { margin-inline: 0 !important; gap: 0 !important; }
  html body.single-product .ww-figma-product-gallery__thumbs { height: 130px !important; padding-bottom: 0 !important; }
  html body.single-product .ww-figma-product-gallery__thumb { border: 0 !important; }
  html body.single-product .ww-figma-product-gallery__thumb[aria-pressed="true"] { outline: 1px solid #222; outline-offset: -1px; }
  html body.single-product .ww-product-detail .summary .product_title { margin-top: 24px !important; }
  html body.single-product .ww-product-detail .summary .woocommerce-product-details__short-description {
    padding: 0 !important; border: 0 !important;
    font: 300 16px/19.4px var(--ww-font-sans) !important; color: rgba(0,0,0,.7) !important;
  }
  html body.single-product .ww-product-detail .summary .woocommerce-product-details__short-description::before {
    display: block !important; content: 'Описание';
    font: 400 24px/28.8px var(--ww-font-display, 'BERNIER'), sans-serif;
    color: #222; margin-bottom: 18px;
  }
  html body.single-product main.ww-main section.related.products ul.products {
    width: calc(100% - 28px) !important; margin-inline: 28px 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 10px !important;
  }
  html body.single-product main.ww-main section.related.products .ww-product-card__visual,
  html body.single-product main.ww-main section.related.products .ww-product-image {
    width: 100% !important; height: auto !important; aspect-ratio: 167 / 195;
  }
  html body.single-product main.ww-main section.related.products .ww-product-image img {
    width: 100% !important; height: 100% !important; object-fit: cover;
  }
  html body.single-product main.ww-main section.related.products .ww-product-title,
  html body.single-product main.ww-main section.related.products .ww-product-title a {
    font: 400 13px/15.7px var(--ww-font-sans) !important;
  }
}

/* Планшеты: фиксированные размеры кадра 1280 не помещались на 861–1199. */
@media (min-width: 769px) and (max-width: 1199px) {
  html body footer.ww-site-footer .ww-footer-main {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    column-gap: 24px !important; padding-inline: 40px !important;
  }
  html body footer.ww-site-footer .ww-footer-column a,
  html body footer.ww-site-footer .ww-footer-kicker { overflow-wrap: anywhere; white-space: normal !important; }
  html body.home main.ww-main .ww-figma-new .ww-product-grid,
  html body main.ww-main .ww-home-product-section--new .ww-product-grid {
    width: 100% !important; max-width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important; margin-inline: 0 !important;
  }
  html body.home main.ww-main .ww-figma-new .ww-product-card,
  html body main.ww-main .ww-home-product-section--new .ww-product-card {
    width: 100% !important; min-width: 0 !important; max-width: 100% !important;
  }
  html body.home main.ww-main .ww-figma-new .ww-product-card__visual,
  html body.home main.ww-main .ww-figma-new .ww-product-image,
  html body main.ww-main .ww-home-product-section--new .ww-product-card__visual,
  html body main.ww-main .ww-home-product-section--new .ww-product-image {
    width: 100% !important; height: auto !important; aspect-ratio: 334 / 390;
  }
  html body.home main.ww-main .ww-figma-new .ww-product-image img,
  html body main.ww-main .ww-home-product-section--new .ww-product-image img { width: 100% !important; height: 100% !important; object-fit: cover; }
  html body.home main.ww-main .ww-figma-partners__logos {
    width: 100% !important; margin-inline: 0 !important; transform: none !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 40px 24px !important;
  }
  html body.home main.ww-main .ww-figma-partners__logos img { max-width: 100% !important; }
  html body.single-product .ww-product-detail-shell { width: 100% !important; margin-inline: 0 !important; padding-inline: 24px !important; }
  html body.single-product .ww-product-detail { padding-inline: 0 !important; }
  html body.single-product .ww-product-detail__layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; gap: 24px !important; }
  html body.single-product .ww-product-detail .ww-figma-product-gallery__stage { height: auto !important; aspect-ratio: 614 / 499 !important; }
  html body.single-product .ww-product-detail .ww-figma-product-gallery__stage img { width: 100% !important; height: 100% !important; }
  html body.single-product .ww-product-detail .ww-figma-product-gallery__thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 12px !important; }
  html body.single-product .ww-product-detail .ww-figma-product-gallery__thumb,
  html body.single-product .ww-product-detail .ww-figma-product-gallery__thumb img { width: 100% !important; height: auto !important; aspect-ratio: 142 / 160; }
  html body.single-product .ww-product-detail__purchase-panel .single_add_to_cart_button { max-width: 100% !important; }
  html body.single-product section.related.products ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  html body.woocommerce-cart main.ww-main .ww-route-prose > .woocommerce {
    grid-template-columns: minmax(0, 1fr) !important; padding-inline: 40px !important;
  }
  html body.woocommerce-cart main.ww-main .cart-collaterals { grid-column: 1 !important; grid-row: auto !important; margin-top: 48px !important; }
  html body.woocommerce-cart main.ww-main .ww-empty-state--cart,
  html body main.ww-main .ww-empty-state--wishlist {
    width: 100% !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap: 24px !important; padding-inline: 0 !important;
  }
  html body.woocommerce-cart main.ww-main .ww-empty-state--cart .ww-empty-state__dog,
  html body main.ww-main .ww-empty-state--wishlist .ww-empty-state__dog { width: 100% !important; max-width: 474px !important; }
  html body main.ww-main .ww-empty-state--cart .ww-section-title,
  html body main.ww-main .ww-empty-state--cart .ww-lede,
  html body main.ww-main .ww-empty-state--wishlist .ww-section-title,
  html body main.ww-main .ww-empty-state--wishlist .ww-lede { max-width: 100% !important; }
  html body main.ww-main .ww-empty-state--not-found {
    width: calc(100% - 80px) !important; padding-left: 0 !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; column-gap: 32px !important;
  }
  html body main.ww-main .ww-empty-state--not-found .ww-empty-state__dog { width: 100% !important; height: auto !important; }
}
/* Мобильный футер в Figma 330px, живой сжимался до 271. */
@media (max-width: 768px) {
  html body footer.ww-site-footer .ww-footer-main { min-height: 330px !important; }
}

/* Пустые мобильные состояния: убираем унаследованные высоты текстовых
   контейнеров и отступ футера, сохраняем реальные изображения без растяжения. */
@media (max-width: 768px) {
  html body main.ww-main section.ww-empty-state--wishlist,
  html body main.ww-main section.ww-empty-state--cart {
    display: flex !important; flex-direction: column; align-items: center;
    position: relative !important; width: 100% !important; margin: 0 !important;
    padding: 123px 0 70px !important; min-height: 726px !important; height: auto !important;
  }
  html body main.ww-main section.ww-empty-state--cart { padding-top: 103px !important; }
  html body.woocommerce-cart main.ww-main > article.ww-commerce-route:has(.ww-empty-state--cart) {
    padding: 0 !important; width: 100% !important; margin: 0 !important;
  }
  html body main.ww-main section.ww-empty-state--wishlist .ww-empty-state__back,
  html body main.ww-main section.ww-empty-state--cart .ww-empty-state__back {
    position: absolute !important; left: 28px !important; top: 24px !important;
    margin: 0 !important; width: auto !important; gap: 14px !important;
  }
  html body main.ww-main section.ww-empty-state--wishlist .ww-empty-state__dog {
    width: 232px !important; height: 225px !important; margin: 0 !important; object-fit: contain;
  }
  html body main.ww-main section.ww-empty-state--cart .ww-empty-state__dog {
    width: 286px !important; height: 286px !important; margin: 0 !important; object-fit: contain;
  }
  html body main.ww-main section.ww-empty-state--wishlist h1.ww-section-title,
  html body main.ww-main section.ww-empty-state--cart h2.ww-section-title {
    width: min(283px, calc(100% - 56px)) !important; height: auto !important;
    min-height: 0 !important; margin: 20px 0 0 !important; font: 400 32px/38.4px 'BERNIER', sans-serif !important;
  }
  html body main.ww-main section.ww-empty-state--cart h2.ww-section-title {
    width: 256px !important; max-width: calc(100% - 56px) !important; margin-top: 7px !important;
  }
  html body main.ww-main section.ww-empty-state .ww-lede {
    width: min(346px, calc(100% - 56px)) !important; height: auto !important; min-height: 0 !important;
    margin: 18px auto 0 !important; font: 400 16px/19.4px var(--ww-font-sans) !important;
  }
  html body main.ww-main section.ww-empty-state--not-found .ww-empty-state__dog {
    height: 292px !important; object-fit: contain;
  }
  html body main.ww-main section.ww-empty-state--not-found .ww-not-found-code { margin-top: -15px !important; }
  html body main.ww-main section.ww-empty-state--not-found { min-height: 957px !important; }
  html body:has(main .ww-empty-state) footer.ww-site-footer { margin-top: 0 !important; }
}

/* 402px empty wishlist: the Figma illustration starts at y=224, followed by
   the heading at y=469 and copy at y=564. Keep the 330px footer at y=827. */
@media (max-width: 768px) {
  html body.ww-wishlist-empty main.ww-main section.ww-empty-state--wishlist .ww-empty-state__dog {
    margin-top: 123px !important;
  }
}

/* Общая шапка: все страницы и состояния прокрутки используют один layout.
   Старые absolute/top/translate правила ставили элементы на разные линии. */
html body[class] header.ww-site-header.ww-site-header {
  position: fixed !important; inset: 0 0 auto !important; width: 100% !important;
  height: var(--ww-header-height) !important; min-height: 0 !important;
  padding: 0 !important; margin: 0 !important; z-index: 50;
}
html body[class] header.ww-site-header.ww-site-header > .ww-header-inner {
  position: relative !important; display: grid !important;
  height: 100% !important; min-height: 0 !important;
  margin-inline: auto !important; padding: 0 !important; align-items: center !important;
}
html body[class] header.ww-site-header.ww-site-header .ww-brand,
html body[class] header.ww-site-header.ww-site-header .ww-nav,
html body[class] header.ww-site-header.ww-site-header .ww-header-actions {
  transform: none !important; margin: 0 !important; align-self: center !important;
}
html body[class] header.ww-site-header.ww-site-header .ww-brand {
  position: static !important; width: 230px !important; height: 52px !important;
}
html body[class] header.ww-site-header.ww-site-header .ww-brand__image {
  display: block !important; width: 100% !important; height: 100% !important; max-height: none !important; object-fit: contain;
}
html body[class] header.ww-site-header.ww-site-header .ww-header-actions {
  position: static !important; display: flex !important; width: auto !important;
  gap: 14px !important; justify-content: flex-end !important;
}
html body[class] header.ww-site-header.ww-site-header .ww-header-actions > a,
html body[class] header.ww-site-header.ww-site-header .ww-header-actions > form.ww-header-search {
  position: relative !important; inset: auto !important; margin: 0 !important; padding: 0 !important;
  transform: none !important; flex: none !important; min-width: 0 !important; min-height: 0 !important;
}
html body[class] header.ww-site-header.ww-site-header .ww-header-actions > a {
  display: grid !important; place-items: center; width: 32px !important; height: 44px !important;
}
html body[class] header.ww-site-header.ww-site-header .ww-account-link img,
html body[class] header.ww-site-header.ww-site-header .ww-cart-link img {
  width: 24px !important; height: 24px !important; max-width: 24px !important; max-height: 24px !important;
}
html body[class] header.ww-site-header.ww-site-header .ww-wishlist-action .dashicons {
  width: 25px !important; height: 25px !important; font-size: 25px !important;
}
html body[class] header.ww-site-header.ww-site-header .ww-cart-count {
  position: absolute !important; top: 1px !important; right: -3px !important; left: auto !important;
}
@media (min-width: 1200px) {
  :root { --ww-header-height: clamp(118px, 7.292vw, 140px); }
  html body[class] header.ww-site-header.ww-site-header > .ww-header-inner {
    width: calc(100% - clamp(80px, 12.5vw, 320px)) !important; max-width: 1600px !important;
    grid-template-columns: 230px minmax(0, 1fr) auto !important; column-gap: 28px !important;
  }
  html body[class] header.ww-site-header.ww-site-header .ww-nav {
    position: static !important; display: block !important; width: auto !important;
    height: auto !important; padding: 0 !important; background: transparent !important;
  }
  html body[class] header.ww-site-header.ww-site-header .ww-nav__menu:not(.ww-nav__menu--mobile) {
    position: static !important; display: flex !important; width: auto !important; height: auto !important;
    align-items: center; justify-content: center; gap: clamp(24px, 2.5vw, 48px) !important;
    margin: 0 !important; padding: 0 !important;
  }
  html body[class] header.ww-site-header.ww-site-header .ww-nav__menu > li {
    position: relative !important; inset: auto !important; width: auto !important; height: auto !important;
    margin: 0 !important; padding: 0 !important;
  }
  html body[class] header.ww-site-header.ww-site-header .ww-nav__menu > li > a {
    display: flex !important; align-items: center; width: auto !important; height: 44px !important;
    padding: 0 !important; font: 400 18px/22px var(--ww-font-sans) !important; white-space: nowrap;
  }
  html body[class] header.ww-site-header.ww-site-header .ww-nav__item--shop { display: flex !important; align-items: center; gap: 6px; }
  html body[class] header.ww-site-header.ww-site-header .ww-nav__toggle {
    position: static !important; width: 14px !important; height: 20px !important;
    min-height: 0 !important; margin: 0 !important; padding: 0 !important;
    border: 0 !important; background: currentColor !important;
    mask: var(--wa-ico-chev) center/9px 5px no-repeat;
    -webkit-mask: var(--wa-ico-chev) center/9px 5px no-repeat;
  }
  html body[class] header.ww-site-header.ww-site-header .ww-header-actions > form.ww-header-search {
    display: grid !important; grid-template-columns: minmax(0, 1fr) 32px !important;
    width: clamp(140px, 13.125vw, 252px) !important; height: 36px !important;
    min-width: 0 !important; max-width: none !important;
    border: 0 !important; border-bottom: 1px solid currentColor !important; border-radius: 0 !important;
  }
  html body[class] header.ww-site-header.ww-site-header .ww-header-search input {
    display: block !important; position: static !important; width: 100% !important; min-width: 0 !important;
    height: 35px !important; padding: 0 4px !important; margin: 0 !important;
    border: 0 !important; background: transparent !important; box-shadow: none !important;
    color: inherit !important; font: 300 14px/22px var(--ww-font-sans) !important;
    opacity: 1 !important; transform: none !important; pointer-events: auto !important;
  }
  html body[class] header.ww-site-header.ww-site-header .ww-header-search button {
    position: static !important; display: grid !important; place-items: center;
    width: 32px !important; height: 35px !important; min-height: 0 !important; max-height: none !important;
    padding: 0 !important; border: 0 !important; color: inherit !important;
    background: currentColor !important; mask: var(--wa-ico-search) center/20px 20px no-repeat;
    -webkit-mask: var(--wa-ico-search) center/20px 20px no-repeat;
  }
  html body[class] header.ww-site-header.ww-site-header .ww-menu-toggle,
  html body[class] header.ww-site-header.ww-site-header .ww-nav__menu--mobile { display: none !important; }
}
@media (max-width: 1199px) {
  :root { --ww-header-height: 80px; }
  html body[class] header.ww-site-header.ww-site-header { background: #fff !important; color: #222 !important; }
  html body[class] header.ww-site-header.ww-site-header > .ww-header-inner {
    width: calc(100% - 40px) !important; max-width: none !important;
    grid-template-columns: 36px minmax(0, 1fr) auto !important; column-gap: 12px !important;
  }
  html body[class] header.ww-site-header.ww-site-header .ww-brand { width: 141px !important; height: 34px !important; }
  html body[class] header.ww-site-header.ww-site-header .ww-brand__image,
  html body[class] header.ww-site-header.ww-site-header .ww-cart-link img { filter: none !important; }
  html body[class] header.ww-site-header.ww-site-header .ww-menu-toggle {
    display: inline-flex !important; align-items: center; justify-content: center;
    position: relative !important; inset: auto !important; width: 36px !important; height: 44px !important;
    min-height: 0 !important; margin: 0 !important; padding: 0 !important; z-index: 70; color: #222 !important;
  }
  html body[class] header.ww-site-header.ww-site-header .ww-header-actions { gap: 6px !important; color: #222 !important; }
  html body[class] header.ww-site-header.ww-site-header .ww-account-link { display: none !important; }
  html body[class] header.ww-site-header.ww-site-header .ww-header-actions > form.ww-header-search {
    display: grid !important; width: 32px !important; height: 44px !important; min-width: 0 !important;
    border: 0 !important; color: #222 !important; background: transparent !important;
  }
  html body[class] header.ww-site-header.ww-site-header .ww-header-search input { display: none !important; }
  html body[class] header.ww-site-header.ww-site-header .ww-header-search button {
    position: static !important; display: grid !important; place-items: center;
    width: 32px !important; height: 44px !important; min-height: 0 !important; max-height: none !important;
    padding: 0 !important; border: 0 !important; background: currentColor !important; color: #222 !important;
    mask: var(--wa-ico-search) center/20px 20px no-repeat;
    -webkit-mask: var(--wa-ico-search) center/20px 20px no-repeat;
  }
  html body[class] header.ww-site-header.ww-site-header .ww-header-actions > form.ww-header-search.is-open input {
    display: block !important; position: fixed !important; top: var(--ww-header-height) !important;
    left: 0 !important; right: 0 !important; width: 100vw !important; height: 56px !important;
    padding: 0 24px !important; margin: 0 !important; border: 1px solid #222 !important;
    background: #fff !important; color: #222 !important; box-shadow: none !important;
    opacity: 1 !important; pointer-events: auto !important; transform: none !important;
    font: 400 16px/24px var(--ww-font-sans) !important;
  }
  html body[class] header.ww-site-header.ww-site-header .ww-nav {
    display: none !important; position: fixed !important; inset: 0 !important;
    width: 100vw !important; height: 100dvh !important; margin: 0 !important;
    padding: 189px 35px 40px !important; background: #fff !important;
    overflow-y: auto; color: #222 !important; z-index: 60;
  }
  html.ww-menu-open body[class] header.ww-site-header.ww-site-header .ww-nav.is-open { display: block !important; }
  html body[class] header.ww-site-header.ww-site-header .ww-nav__menu:not(.ww-nav__menu--mobile) { display: none !important; }
  html body[class] header.ww-site-header.ww-site-header .ww-nav__menu--mobile { display: block !important; width: auto !important; padding: 0 !important; margin: 0 !important; }
  html body[class] header.ww-site-header.ww-site-header .ww-nav__menu--mobile > li {
    position: static !important; width: auto !important; height: auto !important; margin: 0 0 9px !important;
  }
  html body[class] header.ww-site-header.ww-site-header .ww-nav__menu--mobile > li > a {
    width: auto !important; min-height: 43px !important; padding: 0 !important;
    font: 300 24px/29px var(--ww-font-sans) !important;
  }
  html body[class] header.ww-site-header.ww-site-header .ww-header-search--mobile { display: none !important; }
}
/* The navigation switches to its desktop layout at 1200px. Keep the shared
   header and page start continuous through the transition to the 1280px Figma
   frame instead of jumping from the 80px tablet bar straight to 118px. */
@media (min-width: 1200px) and (max-width: 1279px) {
  :root { --ww-header-height: clamp(80px, calc(47.5vw - 490px), 118px); }
}
@media (max-width: 768px) {
  :root { --ww-header-height: 75px; }
}
/* Дополнительная настройка действий в мобильной шапке товара 2628:763. */
@media (max-width: 768px) {
  html body.single-product[class] header.ww-site-header.ww-site-header { height: 69px !important; }
  html body.single-product[class] header.ww-site-header.ww-site-header > .ww-header-inner { display: block !important; width: 100% !important; }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-header-actions > form.ww-header-search,
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-cart-link { display: none !important; }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-wishlist-action {
    position: absolute !important; right: 63px !important; left: auto !important; top: 19px !important;
    width: 34px !important; height: 34px !important;
  }
}

/* Промежуточные ширины: центрированная строка партнёров и карточки без фиксированных 334px. */
@media (min-width: 769px) and (max-width: 1199px) {
  html body.home main.ww-main .ww-figma-partners .ww-figma-partners__logos {
    left: 0 !important; display: grid !important; padding-inline: 0 !important;
  }
  html body main.ww-main section.ww-shop-design__best > .ww-container { width: 100% !important; max-width: 100% !important; padding-inline: 24px !important; }
  html body main.ww-main section.ww-shop-design__best .ww-product-grid {
    width: 100% !important; max-width: 100% !important; margin-inline: 0 !important;
    padding-inline: 0 !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 20px !important;
  }
  html body main.ww-main section.ww-shop-design__best .ww-product-card,
  html body main.ww-main section.ww-shop-design__best .ww-product-card__visual,
  html body main.ww-main section.ww-shop-design__best .ww-product-image,
  html body main.ww-main section.ww-shop-design__best .ww-product-meta {
    width: 100% !important; min-width: 0 !important; max-width: 100% !important;
  }
  html body main.ww-main section.ww-shop-design__best .ww-product-card__visual,
  html body main.ww-main section.ww-shop-design__best .ww-product-image { height: auto !important; aspect-ratio: 263 / 307; }
}
html body[class] header.ww-site-header.ww-site-header .ww-header-share { display: none !important; }
@media (max-width: 1199px) {
  html body[class] header.ww-site-header.ww-site-header .ww-header-actions > a.ww-account-link { display: none !important; }
}
@media (max-width: 768px) {
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-header-actions > a.ww-cart-link { display: none !important; }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-header-share { display: grid !important; }
}
html body[class] header.ww-site-header.ww-site-header { display: block !important; }
@media (min-width: 769px) and (max-width: 1199px) {
  html body main.ww-main section.ww-home-product-section--category .ww-product-grid,
  html body main.ww-main section.ww-shop-design__recommendations .ww-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 40px 24px !important;
    justify-content: stretch !important;
  }
  html body main.ww-main section.ww-home-product-section--category .ww-product-grid > .ww-product-card,
  html body main.ww-main section.ww-shop-design__recommendations .ww-product-grid > .ww-product-card {
    width: 100% !important; min-width: 0 !important; max-width: 100% !important; justify-self: stretch !important;
  }
  html body main.ww-main section.ww-home-product-section--category .ww-product-card__visual,
  html body main.ww-main section.ww-home-product-section--category .ww-product-image,
  html body main.ww-main section.ww-shop-design__recommendations .ww-product-card__visual,
  html body main.ww-main section.ww-shop-design__recommendations .ww-product-image {
    width: 100% !important; height: auto !important; aspect-ratio: 334 / 390;
  }
  html body main.ww-main section.ww-home-product-section--category .ww-product-image img,
  html body main.ww-main section.ww-shop-design__recommendations .ww-product-image img { width: 100% !important; height: 100% !important; object-fit: cover; }
}
html body[class] header.ww-site-header.ww-site-header { background: #fff !important; color: #222 !important; }
@media (min-width: 1200px) {
  html body[class] header.ww-site-header.ww-site-header .ww-nav__menu:not(.ww-nav__menu--mobile) { justify-content: center !important; }
  html body[class] header.ww-site-header.ww-site-header .ww-header-actions > form.ww-header-search { opacity: 1 !important; }
}
/* Количество пересчитывается автоматически; без JS остаётся штатная кнопка. */
html.ww-cart-auto body.woocommerce-cart .woocommerce-cart-form td.actions { display: none !important; }
@media (max-width: 768px) {
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-header-share img { filter: invert(1) !important; }
}
html body[class] header.ww-site-header.ww-site-header .ww-wishlist-action.is-saved { color: #ba8b5e !important; }
/* После входа старое правило обнуляло отступ и прятало навигацию кабинета под шапкой. */
html body.logged-in.woocommerce-account main.ww-main { padding-top: var(--ww-header-height) !important; }
/* iPhone Safari: поля меньше 16px вызывали увеличение страницы при фокусе. */
@media (max-width: 768px) {
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel--login input.input-text {
    font-size: 16px !important; line-height: 20px !important;
    height: 44px !important;
  }
  html body:not(.woocommerce-lost-password) main.ww-main .ww-auth-panel--login .woocommerce-form-login__submit {
    height: 44px !important;
  }
}

/* Requested logo alignment: anchor to the left edge of its grid column. */
@media (max-width: 1199px) {
  html body[class] header.ww-site-header.ww-site-header .ww-brand {
    justify-self: start !important;
    margin-left: 0 !important;
  }
}
/* Keep focused editable fields at Safari's no-autozoom threshold. */
@media (max-width: 768px) {
  html body[class] main.ww-main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
  html body[class] main.ww-main textarea,
  html body[class] main.ww-main select {
    font-size: 16px !important;
  }
}

/* Figma account forms explicitly use LumberjackRough, not the Regular cut. */
html body[class] main.ww-main :is(
  #ww-auth-login-title, #ww-auth-join-title, #ww-auth-register-title,
  #ww-lost-password-title, #ww-password-reset-done-title, #ww-register-done-title,
  #ww-otp-title,
  #ww-reset-password-title, #ww-lost-password-confirmation-title
) { font-family: 'Lumberjack Rough', 'Lumberjack', serif !important; font-weight: 400 !important; }

/* Responsive follow-up: retain the shared header clearance at every width. */
html body.home[class] main.ww-main,
html body.post-type-archive-product[class] main.ww-main {
  padding-top: var(--ww-header-height) !important;
}
html body.home[class] main.ww-main > section.ww-figma-hero {
  margin-top: 0 !important; top: auto !important; transform: none !important;
}
html body.post-type-archive-product[class] main.ww-main > section.ww-shop-design__hero {
  margin-top: 0 !important; top: auto !important;
}
html body[class] header.ww-site-header.ww-site-header .ww-brand {
  min-height: 0 !important;
}
@media (max-width: 350px) {
  html body[class] header.ww-site-header.ww-site-header > .ww-header-inner {
    width: calc(100% - 24px) !important; column-gap: 8px !important;
  }
  html body[class] header.ww-site-header.ww-site-header .ww-brand {
    width: 120px !important;
  }
}
/* Keep iPad and landscape form focus from triggering Safari's text zoom. */
@media (max-width: 1199px) and (pointer: coarse) {
  html body[class] main.ww-main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
  html body[class] main.ww-main textarea,
  html body[class] main.ww-main select,
  html body[class] footer.ww-site-footer input[type="email"] {
    font-size: 16px !important;
  }
  html body.single-product[class] main.ww-main .ww-product-detail__purchase-panel .quantity .ww-quantity-button {
    width: 44px !important; height: 44px !important; min-height: 44px !important;
    padding: 0 !important; line-height: 44px !important;
  }
  html body.single-product[class] main.ww-main .ww-product-detail__purchase-panel .quantity input.qty {
    width: 36px !important; height: 44px !important; min-height: 44px !important;
    padding: 0 !important; line-height: 44px !important;
  }
}
@media (max-width: 401px) {
  html body.single-product[class] main.ww-main .ww-figma-product-gallery__stage {
    height: calc((100vw - 20px) * 531 / 382) !important; min-height: 0 !important;
  }
  html body.single-product[class] main.ww-main .ww-figma-product-gallery__stage img {
    width: 100% !important; height: 100% !important;
  }
  html body.single-product[class] main.ww-main .ww-figma-product-gallery__thumbs {
    height: calc((100vw - 20px) * 130 / 382) !important;
    gap: 12px !important; scroll-snap-type: x proximity;
  }
  html body.single-product[class] main.ww-main .ww-figma-product-gallery__thumb,
  html body.single-product[class] main.ww-main .ww-figma-product-gallery__thumb img {
    width: calc((100vw - 20px) * 97 / 382) !important;
    height: calc((100vw - 20px) * 130 / 382) !important;
    min-width: 0 !important; scroll-snap-align: start;
  }
}
@media (max-width: 350px) {
  html body.single-product[class] main.ww-main .ww-product-detail__purchase-panel .product_title {
    font-size: 32px !important; line-height: 41px !important;
  }
}
/* The entire navigation fits in a short landscape viewport. */
@media (min-width: 480px) and (max-width: 1199px) and (max-height: 500px) {
  html body[class] header.ww-site-header.ww-site-header .ww-nav {
    padding: 80px 24px 20px !important;
  }
  html body[class] header.ww-site-header.ww-site-header .ww-nav__menu--mobile {
    display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 20px;
  }
  html body[class] header.ww-site-header.ww-site-header .ww-nav__menu--mobile > li {
    margin: 0 !important;
  }
  html body[class] header.ww-site-header.ww-site-header .ww-nav__menu--mobile > li > a {
    display: flex !important; align-items: center; min-height: 44px !important;
    font-size: 20px !important; line-height: 24px !important;
  }
  html body.home[class] main.ww-main > section.ww-figma-hero,
  html body.home[class] main.ww-main .ww-figma-hero__workshop {
    height: max(260px, calc(100svh - var(--ww-header-height))) !important;
    min-height: 0 !important;
  }
  html body.home[class] main.ww-main .ww-figma-hero__copy {
    bottom: 30px !important;
  }
  html body.post-type-archive-product[class] main.ww-main .ww-shop-design__hero,
  html body.post-type-archive-product[class] main.ww-main .ww-shop-design__hero .ww-storefront-banner__media {
    height: max(260px, calc(100svh - var(--ww-header-height))) !important;
    min-height: 0 !important;
  }
  html body.post-type-archive-product[class] main.ww-main .ww-shop-design__hero .ww-storefront-banner__copy {
    bottom: 24px !important;
  }
}
@media (max-width: 401px) {
  html body.single-product[class] main.ww-main .ww-figma-product-gallery__thumb {
    flex: 0 0 calc((100vw - 20px) * 97 / 382) !important;
  }
}
@media (max-width: 1199px) and (pointer: coarse) {
  html body[class] footer.ww-site-footer .ww-newsletter-form input[type="email"],
  html body[class] footer.ww-site-footer .ww-newsletter-form > button.ww-button {
    height: 44px !important; min-height: 44px !important;
  }
}
/* Narrow phones keep real footer labels legible instead of splitting every word. */
@media (max-width: 350px) {
  html body[class] footer.ww-site-footer .ww-footer-main {
    width: 100% !important; display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 20px !important; padding: 36px 20px !important;
    height: auto !important; min-height: 0 !important;
  }
  html body[class] footer.ww-site-footer .ww-footer-column {
    width: auto !important; min-width: 0 !important;
  }
  html body[class] footer.ww-site-footer .ww-footer-kicker {
    font-size: 14px !important; line-height: 20px !important; margin-bottom: 16px !important;
  }
  html body[class] footer.ww-site-footer .ww-footer-column a {
    font-size: 12px !important; line-height: 18px !important;
    min-height: 28px !important; margin-bottom: 6px !important;
    overflow-wrap: normal; word-break: normal;
  }
  html body[class] footer.ww-site-footer .ww-footer-newsletter {
    height: auto !important; min-height: 0 !important; padding-bottom: 36px !important;
  }
  html body[class] footer.ww-site-footer .ww-newsletter-form {
    width: calc(100% - 40px) !important; max-width: none !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }
  html body[class] footer.ww-site-footer .ww-newsletter-form > p:has(input[type="email"]) {
    grid-column: 1 !important; grid-row: 5 !important;
  }
  html body[class] footer.ww-site-footer .ww-newsletter-form > button.ww-button {
    grid-column: 1 !important; grid-row: 6 !important; width: 100% !important;
    margin: 12px 0 0 !important; font-size: 14px !important;
  }
  html body[class] footer.ww-site-footer .ww-newsletter-form__consent {
    grid-row: 7 !important; margin-top: 16px !important;
  }
}
/* All routes reserve the actual fixed header height, including tablet widths. */
html body[class] main.ww-main { padding-top: var(--ww-header-height) !important; }
html body[class] main.ww-main > article.ww-contact-page { margin-top: 0 !important; }
@media (max-width: 768px) {
  body.single-product { --ww-header-height: 69px; }
}
/* Keep functional filters available on the flat category/filtered catalogue. */
html body[class] main.ww-main .ww-catalog-page > details.ww-catalog-controls {
  display: block !important; width: 100% !important;
  margin: 24px 0 !important; border: 1px solid var(--ww-color-line) !important;
}
html body[class] main.ww-main .ww-catalog-page > details.ww-catalog-controls > summary {
  display: flex !important; align-items: center; justify-content: space-between;
  min-height: 44px !important; padding: 10px 14px !important;
  font: 400 16px/22px var(--ww-font-sans) !important; cursor: pointer;
}
html body[class] main.ww-main .ww-catalog-controls__actions > a {
  display: inline-flex; align-items: center; min-height: 44px;
}
@media (max-width: 768px) {
  html body[class] main.ww-main .ww-catalog-controls__form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important; padding: 16px !important;
  }
  html body[class] main.ww-main .ww-catalog-controls__form .ww-catalog-field--price {
    grid-column: auto !important; min-width: 0;
  }
  html body[class] main.ww-main .ww-catalog-controls__form .ww-catalog-field:has(select[name="product_cat"]),
  html body[class] main.ww-main .ww-catalog-field--ordering,
  html body[class] main.ww-main .ww-catalog-stock,
  html body[class] main.ww-main .ww-catalog-controls__actions { grid-column: 1 / -1 !important; }
}
/* Error lists must wrap vertically; five validation messages cannot share one row. */
html body[class] main.ww-main .woocommerce-error {
  display: block !important; position: relative; width: 100%; max-width: 100%;
  box-sizing: border-box; padding: 16px 16px 16px 44px !important;
  white-space: normal !important; list-style: none;
}
html body[class] main.ww-main .woocommerce-error li {
  display: block !important; width: auto !important; min-width: 0;
  margin: 6px 0 !important; white-space: normal !important; overflow-wrap: anywhere;
}
html body[class] main.ww-main .woocommerce-error::before {
  position: absolute; top: 18px; left: 16px;
}
@media (pointer: coarse) {
  html body[class] .ww-cart-drawer__close { width: 44px !important; height: 44px !important; min-height: 44px !important; }
  html body[class] .ww-cart-drawer__actions > a {
    min-height: 44px !important; font-size: 14px !important;
  }
}
@media (max-width: 768px) {
  html body[class]:is(.woocommerce-cart, .woocommerce-checkout) main.ww-main div.ww-commerce-progress > ol {
    display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important; width: 100% !important; max-width: 100% !important;
  }
  html body[class]:is(.woocommerce-cart, .woocommerce-checkout) main.ww-main div.ww-commerce-progress > ol > li {
    position: relative !important; display: flex !important; flex-direction: column !important;
    align-items: center !important; gap: 8px !important;
    min-width: 0 !important; width: auto !important; margin: 0 !important; padding: 0 !important;
    left: auto !important; right: auto !important; top: auto !important; transform: none !important;
  }
  html body[class]:is(.woocommerce-cart, .woocommerce-checkout) main.ww-main div.ww-commerce-progress > ol > li > span {
    width: 24px !important; height: 24px !important; min-width: 24px !important;
    font: 400 14px/24px var(--ww-font-sans) !important;
  }
  html body[class]:is(.woocommerce-cart, .woocommerce-checkout) main.ww-main div.ww-commerce-progress > ol > li > strong,
  html body[class]:is(.woocommerce-cart, .woocommerce-checkout) main.ww-main div.ww-commerce-progress > ol > li.is-active > strong {
    display: block !important; width: auto !important; min-width: 0 !important;
    max-width: 100% !important; padding: 0 !important; white-space: normal !important;
    font-size: 12px !important; line-height: 16px !important; text-align: center !important;
  }
  html body[class]:is(.woocommerce-cart, .woocommerce-checkout) main.ww-main div.ww-commerce-progress > ol > li::before { display: none !important; }
  html body[class]:is(.woocommerce-cart, .woocommerce-checkout) main.ww-main div.ww-commerce-progress > ol > li:not(:last-child)::after {
    content: '' !important; display: block !important; position: absolute !important;
    left: calc(50% + 20px) !important; top: 12px !important; right: auto !important;
    width: calc(100% - 40px) !important; height: 1px !important; min-width: 0 !important;
    margin: 0 !important; border: 0 !important; background: #222 !important; transform: none !important;
  }
}
html { scroll-padding-top: calc(var(--ww-header-height, 80px) + 16px); }
/* WooCommerce floats ordering forms; an expanded details panel must own its height. */
html body[class] main.ww-main .ww-catalog-page .ww-catalog-controls__form {
  float: none !important; position: static !important;
  width: 100% !important; max-width: 100% !important; margin: 0 !important;
  box-sizing: border-box; padding: 16px !important;
}
@media (pointer: coarse) and (max-height: 500px) {
  html body[class] .ww-cart-drawer__inner {
    gap: 16px !important; padding: 16px !important;
  }
  html body[class] .ww-cart-drawer__inner > * { flex-shrink: 0; }
  html body[class] .ww-cart-drawer__head { padding-bottom: 12px !important; }
  html body[class] .ww-cart-drawer__head h2 { font-size: 24px !important; line-height: 29px !important; }
  html body[class] .ww-cart-drawer__item {
    grid-template-columns: 64px minmax(0, 1fr) !important; gap: 12px !important;
  }
  html body[class] .ww-cart-drawer__subtotal { padding-top: 12px !important; }
}

@media (max-width: 768px) {
  html body[class]:is(.woocommerce-cart, .woocommerce-checkout) main.ww-main .ww-commerce-progress > ol { height: auto !important; min-height: 56px; }
  html body[class]:is(.woocommerce-cart, .woocommerce-checkout) main.ww-main .ww-commerce-progress > ol::before,
  html body[class]:is(.woocommerce-cart, .woocommerce-checkout) main.ww-main .ww-commerce-progress > ol::after { display: none !important; }
}

/* The shared white header must not inherit the old home overlay's white assets. */
html body[class] header.ww-site-header.ww-site-header .ww-brand img.ww-brand__image {
  content: normal !important; filter: none !important;
}
html body[class] header.ww-site-header.ww-site-header .ww-nav a,
html body[class] header.ww-site-header.ww-site-header .ww-nav__toggle,
html body[class] header.ww-site-header.ww-site-header .ww-nav__toggle .dashicons,
html body[class] header.ww-site-header.ww-site-header .ww-header-actions,
html body[class] header.ww-site-header.ww-site-header .ww-header-actions a,
html body[class] header.ww-site-header.ww-site-header .ww-header-actions button,
html body[class] header.ww-site-header.ww-site-header .ww-header-search input {
  color: #222 !important;
}
html body[class] header.ww-site-header.ww-site-header .ww-header-actions img,
html body[class] header.ww-site-header.ww-site-header .ww-header-actions svg {
  filter: none !important;
}
html body[class] header.ww-site-header.ww-site-header .ww-header-search input::placeholder {
  color: #595959 !important; opacity: 1;
}
html body[class] header.ww-site-header.ww-site-header .ww-header-search {
  border-color: #222 !important;
}
html body[class] header.ww-site-header.ww-site-header .ww-wishlist-action.is-saved { color: #ba8b5e !important; }
@media (max-width: 768px) {
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-header-share img { filter: invert(1) !important; }
}
@media (min-width: 1200px) {
  html body[class] header.ww-site-header.ww-site-header .ww-nav__menu > li { transform: none !important; }
}
@media (min-width: 1200px) {
  html body[class] header.ww-site-header.ww-site-header .ww-nav__menu > li:nth-child(n) {
    left: auto !important; right: auto !important; width: auto !important; transform: none !important;
  }
}

/* Exact Figma image slots: stretch the source into its exported rectangle,
   then clip that rectangle at the section, instead of applying a second cover crop. */
html body.home[class] main.ww-main .ww-figma-about__media > img { object-fit: fill !important; }
@media (max-width: 768px) {
  html body.home[class] main.ww-main .ww-figma-hero__workshop { overflow: hidden; }
  html body.home[class] main.ww-main .ww-figma-hero__workshop > img {
    position: absolute !important; left: -98.7562vw !important; top: 0 !important;
    width: 348.5075vw !important; max-width: none !important; height: 100% !important;
    object-fit: fill !important;
  }
  html body.home[class] main.ww-main .ww-figma-promo > img {
    position: absolute !important; left: -59.204vw !important; top: 0 !important;
    width: 185.572vw !important; max-width: none !important; height: 100% !important;
    object-fit: fill !important;
  }
  html body.home[class] main.ww-main .ww-figma-process { position: relative; overflow: hidden; }
  html body.home[class] main.ww-main .ww-figma-process > img {
    position: relative !important; left: -3.234vw !important;
    width: 112.438vw !important; max-width: none !important; height: 430px !important;
    min-height: 0 !important; object-fit: fill !important;
  }
  html body.post-type-archive-product[class] main.ww-main > .ww-shop-design__hero {
    margin-top: 32px !important;
  }
  html body.post-type-archive-product[class] main.ww-main .ww-shop-design__hero .ww-storefront-banner__media img {
    object-fit: fill !important; filter: none !important;
  }
  html body.post-type-archive-product[class] main.ww-main .ww-shop-design__hero .ww-storefront-banner__copy {
    position: absolute !important; left: 5.224vw !important; right: auto !important;
    top: 496px !important; bottom: auto !important; width: 89.8vw !important;
    margin: 0 !important; padding: 0 !important; transform: none !important;
  }
}
@media (min-width: 769px) and (max-width: 1599px) {
  html body.home[class] main.ww-main .ww-figma-hero__workshop { overflow: hidden; }
  html body.home[class] main.ww-main .ww-figma-hero__workshop > img {
    position: absolute !important; left: -15.3125vw !important; top: 0 !important;
    width: 128.4375vw !important; max-width: none !important; height: 100% !important;
    object-fit: fill !important;
  }
  html body.post-type-archive-product[class] main.ww-main > .ww-shop-design__hero { margin-top: 58px !important; }
  html body.post-type-archive-product[class] main.ww-main .ww-shop-design__hero .ww-storefront-banner__media img {
    position: absolute !important; left: -38.828125vw !important; top: 0 !important;
    width: 149.921875vw !important; max-width: none !important; height: 100% !important;
    object-fit: fill !important;
  }
  html body.post-type-archive-product[class] main.ww-main .ww-shop-design__hero .ww-storefront-banner__copy {
    position: absolute !important; left: 11.015625vw !important; right: auto !important;
    top: 245px !important; bottom: auto !important; width: 29.453125vw !important;
    max-width: none !important; margin: 0 !important; padding: 0 !important; transform: none !important;
  }
}
@media (min-width: 1600px) {
  html body.home[class] main.ww-main .ww-figma-hero__workshop { overflow: hidden; }
  html body.home[class] main.ww-main .ww-figma-hero__workshop > img {
    position: absolute !important; left: -1.614583vw !important; top: 0 !important;
    width: 102.760417vw !important; max-width: none !important; height: 100% !important;
    object-fit: fill !important;
  }
  html body.home[class] main.ww-main .ww-figma-process > img { object-fit: fill !important; }
  html body.post-type-archive-product[class] main.ww-main .ww-shop-design__hero .ww-storefront-banner__media img { object-fit: fill !important; }
}
/* Retain the compact landscape adaptation while using the correct source image. */
@media (min-width: 480px) and (max-width: 1199px) and (max-height: 500px) {
  html body.post-type-archive-product[class] main.ww-main > .ww-shop-design__hero { margin-top: 0 !important; }
  html body.post-type-archive-product[class] main.ww-main .ww-shop-design__hero .ww-storefront-banner__copy {
    top: auto !important; bottom: 24px !important;
  }
}
/* A banner caption is positioned against the full banner, not its inset container. */
html body.post-type-archive-product[class] main.ww-main section.ww-shop-design__hero .ww-storefront-banner__inner {
  position: absolute !important; inset: 0 !important; width: 100% !important;
  max-width: none !important; height: 100% !important; margin: 0 !important; padding: 0 !important;
}
@media (max-width: 768px) {
  html body.post-type-archive-product[class] main.ww-main > section.ww-shop-design__hero.ww-storefront-banner { margin-top: 32px !important; }
}
@media (min-width: 1200px) and (max-width: 1599px) {
  html body.woocommerce-cart main.ww-main .ww-empty-state--cart .ww-empty-state__back {
    top: 125px !important;
  }
  html body.post-type-archive-product[class] main.ww-main > section.ww-shop-design__hero.ww-storefront-banner { margin-top: 58px !important; }
}
@media (min-width: 769px) and (max-width: 1199px) {
  html body.post-type-archive-product[class] main.ww-main section.ww-shop-design__hero .ww-storefront-banner__copy {
    left: 5vw !important; top: auto !important; bottom: 24px !important; width: 55vw !important;
  }
  html body.post-type-archive-product[class] main.ww-main section.ww-shop-design__hero .ww-storefront-banner__title {
    font-size: 24px !important; line-height: 29px !important;
  }
}

@media (min-width: 480px) and (max-width: 1199px) and (max-height: 500px) {
  html body.post-type-archive-product[class] main.ww-main > section.ww-shop-design__hero.ww-storefront-banner { margin-top: 0 !important; }
  html body.post-type-archive-product[class] main.ww-main section.ww-shop-design__hero .ww-storefront-banner__copy {
    left: 5vw !important; top: auto !important; bottom: 24px !important; width: 60vw !important;
  }
  html body.post-type-archive-product[class] main.ww-main section.ww-shop-design__hero .ww-storefront-banner__title {
    font-size: 20px !important; line-height: 24px !important;
  }
}

/* Строка соцсетей есть только в desktop-кадре главной 1920 (2079:600). */
html body.home footer.ww-site-footer .ww-home-social-follow { display: none !important; }
@media (min-width: 1600px) {
  html body.home footer.ww-site-footer .ww-footer-newsletter {
    box-sizing: border-box !important;
    height: 24.166667vw !important;
    min-height: 24.166667vw !important;
    margin-top: -2px !important;
    background-color: #fff !important;
    background-image: linear-gradient(rgba(34, 34, 34, .5), rgba(34, 34, 34, .5)), url('../images/figma/newsletter-wood.webp') !important;
    background-size: calc(100% + 1.979167vw) 24.270833vw, 156.25vw 24.166667vw !important;
    background-position: -.989583vw 2px, -10.46875vw 0 !important;
    background-repeat: no-repeat, no-repeat !important;
  }
  html body.home footer.ww-site-footer .ww-footer-newsletter .ww-newsletter-form {
    padding-top: calc(8.02vw + 2px) !important;
  }
  html body.home footer.ww-site-footer .ww-footer-newsletter .ww-newsletter-form__mark {
    top: calc(5.78vw + 2px) !important;
  }
  html body.home footer.ww-site-footer .ww-newsletter-form h2,
  html body.home footer.ww-site-footer .ww-newsletter-form__lead {
    transform: translateX(-28px) !important;
  }
  html body.home footer.ww-site-footer .ww-newsletter-form__body {
    margin-top: calc(.94vw - 4px) !important;
    text-align: left !important;
    color: rgba(255, 255, 255, .92) !important;
  }
  html body.home footer.ww-site-footer .ww-newsletter-form > p:has(input[type="email"]),
  html body.home footer.ww-site-footer .ww-newsletter-form > .ww-button {
    margin-top: calc(2.34vw + 4.5px) !important;
    transform: translateX(-2px) !important;
  }
  html body.home footer.ww-site-footer .ww-newsletter-form__consent {
    position: absolute !important;
    top: 320px !important;
    left: calc(50% - 241px) !important;
    width: 485px !important;
    height: 37px !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, .82) !important;
  }
  html body.home footer.ww-site-footer .ww-newsletter-form__consent label {
    position: relative !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 485px !important;
    height: 37px !important;
    margin: 0 !important;
    text-align: center !important;
    font-size: 13px !important;
    line-height: 15.7px !important;
  }
  html body.home footer.ww-site-footer .ww-newsletter-form__consent input[type="checkbox"] {
    position: absolute !important;
    top: 0 !important;
    left: 20px !important;
    box-sizing: border-box !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
  }
  html body.home footer.ww-site-footer .ww-home-social-follow {
    display: block !important;
    position: absolute !important;
    z-index: 1 !important;
    left: 43.0208333333vw !important;
    top: calc(20.1041666667vw + 2px) !important;
    width: max-content !important;
    margin: 0 !important;
    /* The frame paints this #000 on the dark wood, where it cannot be read. */
    color: #fff !important;
    font: 400 32px/41px 'Lumberjack', 'Lumberjack Rough', sans-serif !important;
  }
  html body.home footer.ww-site-footer .ww-newsletter-form__body {
    text-align: center !important;
  }
  html body.home footer.ww-site-footer .ww-footer-main {
    box-sizing: border-box !important;
    height: 300px !important;
    min-height: 300px !important;
    margin: 0 !important;
    padding: 43px 0 0 calc(50% - 669px) !important;
    grid-template-columns: repeat(4, 270px) !important;
  }
  html body.home footer.ww-site-footer .ww-footer-kicker { margin-bottom: 15px !important; }
}
@media (min-width: 769px) and (max-width: 1599px) {
  /* The 1280 frame uses FILL for the square studio source; the other two use STRETCH. */
  html body.home[class] main.ww-main .ww-figma-about__media > img { object-fit: cover !important; }
}
@media (min-width: 1600px) {
  html body.home[class] main.ww-main .ww-figma-promo > img { object-fit: fill !important; }
  html body.post-type-archive-product[class] main.ww-main section.ww-shop-design__hero .ww-storefront-banner__copy {
    position: absolute !important; left: 27.1875vw !important; top: 165px !important;
    right: auto !important; bottom: auto !important; width: 24.270833vw !important;
    max-width: none !important; margin: 0 !important; padding: 0 !important; transform: none !important;
  }
}
@media (max-width: 768px) and (orientation: portrait) {
  html body.home[class] main.ww-main > .ww-figma-hero,
  html body.home[class] main.ww-main .ww-figma-hero__workshop {
    height: calc(100vw * 698 / 402) !important; min-height: 0 !important;
  }
  html body.home[class] main.ww-main .ww-figma-hero__copy {
    left: 5.721393vw !important; top: calc(100vw * 601 / 402) !important;
    bottom: auto !important; width: 56.467662vw !important;
    /* style.css caps the copy at 11.75rem, which breaks the frame's two lines into three or four. */
    max-width: none !important;
  }
  html body.home[class] main.ww-main .ww-figma-hero__copy > span:first-child {
    width: 30px !important; height: 3px !important; margin: 0 0 13px !important;
  }
  html body.home[class] main.ww-main .ww-figma-hero h1 {
    width: 100% !important; max-width: none !important; margin: 0 !important;
    /* Scale below the 402px frame so narrower phones keep the same two lines. */
    font-size: min(14px, 100vw * 14 / 402) !important; line-height: min(16.9px, 100vw * 16.9 / 402) !important;
  }
}

/* Mobile Figma header contract: internal screens use a 101px bar, the home
   uses 75px and product detail keeps its dedicated 69px controls. */
@media (max-width: 768px) {
  :root { --ww-header-height: 75px; }
  html body:not(.home):not(.single-product)[class] { --ww-header-height: 101px; }
  html body.single-product[class] { --ww-header-height: 69px; }

  html body:not(.home):not(.single-product)[class] header.ww-site-header.ww-site-header {
    position: fixed !important;
    inset: 0 0 auto !important;
    width: 100% !important;
    height: 101px !important;
    min-height: 0 !important;
    border: 0 !important;
    background: rgba(255, 255, 255, .7) !important;
    color: #000 !important;
  }
  html body:not(.home):not(.single-product)[class] header.ww-site-header.ww-site-header > .ww-header-inner {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 101px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body:not(.home):not(.single-product)[class] header.ww-site-header.ww-site-header .ww-menu-toggle {
    position: absolute !important;
    inset: 60px auto auto 24px !important;
    display: block !important;
    width: 23px !important;
    height: 20px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #000 !important;
  }
  html body:not(.home):not(.single-product)[class] header.ww-site-header.ww-site-header .ww-menu-toggle > span[aria-hidden="true"] {
    position: absolute !important;
    left: 0 !important;
    width: 23px !important;
    height: 2px !important;
    background: currentColor !important;
    transform: none !important;
    transition: transform 180ms ease, top 180ms ease !important;
  }
  html body:not(.home):not(.single-product)[class] header.ww-site-header.ww-site-header .ww-menu-toggle > span[aria-hidden="true"]:first-child {
    top: 4px !important;
    box-shadow: 0 6px 0 currentColor !important;
  }
  html body:not(.home):not(.single-product)[class] header.ww-site-header.ww-site-header .ww-menu-toggle > span[aria-hidden="true"]:nth-child(2) {
    top: 17px !important;
  }
  html.ww-menu-open body:not(.home):not(.single-product)[class] header.ww-site-header.ww-site-header .ww-menu-toggle > span[aria-hidden="true"]:first-child {
    top: 9px !important;
    box-shadow: none !important;
    transform: rotate(45deg) !important;
  }
  html.ww-menu-open body:not(.home):not(.single-product)[class] header.ww-site-header.ww-site-header .ww-menu-toggle > span[aria-hidden="true"]:nth-child(2) {
    top: 9px !important;
    transform: rotate(-45deg) !important;
  }
  html.ww-menu-open body:not(.home):not(.single-product)[class] header.ww-site-header.ww-site-header .ww-menu-toggle {
    /* Match the menu-sheet control at x338/y41 in the 402px Figma frame.
       The regular internal-page burger is deliberately left aligned. */
    inset: 41px 28px auto auto !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 20px !important;
    background: url("../icons/arrow-back-menu.svg") no-repeat center / 36px 20px !important;
    z-index: 60 !important;
  }
  /* In the open sheet the source frame places the back arrow at the top right
     on every compact page, including home. The home header normally uses a
     362px inset container, which pinned the arrow back to the left; expand the
     open-state container so right:28px resolves against the full 402px frame. */
  html.ww-menu-open body:not(.single-product)[class] header.ww-site-header.ww-site-header > .ww-header-inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html.ww-menu-open body:not(.single-product)[class] header.ww-site-header.ww-site-header .ww-menu-toggle {
    position: absolute !important;
    inset: 41px 28px auto auto !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 20px !important;
    min-height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: url("../icons/arrow-back-menu.svg") no-repeat center / 36px 20px !important;
    z-index: 60 !important;
  }
  html.ww-menu-open body:not(.single-product)[class] header.ww-site-header.ww-site-header .ww-menu-toggle > span[aria-hidden="true"] {
    display: none !important;
  }
  html body:not(.home):not(.single-product)[class] header.ww-site-header.ww-site-header .ww-brand {
    position: absolute !important;
    inset: 54px auto auto 64px !important;
    width: clamp(122px, 35.075vw, 141px) !important;
    height: 34px !important;
    margin: 0 !important;
    transform: none !important;
  }
  html body:not(.home):not(.single-product)[class] header.ww-site-header.ww-site-header .ww-brand__image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: contain !important;
  }
  html body:not(.home):not(.single-product)[class] header.ww-site-header.ww-site-header .ww-header-actions {
    display: contents !important;
  }
  html body:not(.home):not(.single-product)[class] header.ww-site-header.ww-site-header .ww-wishlist-action {
    position: absolute !important;
    inset: 58px 93px auto auto !important;
    display: grid !important;
    place-items: center !important;
    width: 25px !important;
    height: 25px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body:not(.home):not(.single-product)[class] header.ww-site-header.ww-site-header .ww-wishlist-action .dashicons {
    width: 25px !important;
    height: 25px !important;
  }
  html body:not(.home):not(.single-product)[class] header.ww-site-header.ww-site-header .ww-header-search:not(.ww-header-search--mobile) {
    position: absolute !important;
    inset: 61px 62px auto auto !important;
    display: grid !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  html body:not(.home):not(.single-product)[class] header.ww-site-header.ww-site-header .ww-header-search input {
    display: none !important;
  }
  html body:not(.home):not(.single-product)[class] header.ww-site-header.ww-site-header .ww-header-search button {
    position: static !important;
    display: grid !important;
    width: 20px !important;
    height: 20px !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    -webkit-mask: none !important;
    mask: none !important;
  }
  html body:not(.home):not(.single-product)[class] header.ww-site-header.ww-site-header .ww-header-search button .dashicons {
    width: 14px !important;
    height: 14px !important;
    background: currentColor !important;
    -webkit-mask-size: 14px 14px !important;
    mask-size: 14px 14px !important;
  }
  html body:not(.home):not(.single-product)[class] header.ww-site-header.ww-site-header .ww-account-link {
    display: none !important;
  }
  html body:not(.home):not(.single-product)[class] header.ww-site-header.ww-site-header .ww-cart-link {
    position: absolute !important;
    inset: 61px 27px auto auto !important;
    display: grid !important;
    place-items: center !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body:not(.home):not(.single-product)[class] header.ww-site-header.ww-site-header .ww-cart-link img {
    width: 14px !important;
    height: 14px !important;
    max-width: 14px !important;
    max-height: 14px !important;
  }

  /* These account frames already place their content against the 75px page
     start; the 101px bar sits in the existing blank top area. */
  html body.woocommerce-account:not(.logged-in)[class] main.ww-main,
  html body.woocommerce-lost-password[class] main.ww-main {
    padding-top: 75px !important;
  }
}

/* Contacts mobile source frame 2652:912: back link y=125 and content starts
   x=22; keep the return glyph as its SVG and avoid the legacy text X overlay. */
@media (max-width: 768px) {
  /* Fixed internal header is 101px; with 20px article padding, the back link
     needs a 4px visual offset to stay on the Figma y=125 line. */
  html body.ww-route-contacts[class] main.ww-main article.ww-contact-page {
    box-sizing: border-box !important;
    width: min(336px, calc(100vw - 44px)) !important;
    max-width: none !important;
    margin: 0 0 0 22px !important;
    padding-top: 24px !important;
  }
  html body.ww-route-contacts[class] main.ww-main .ww-contact-page .ww-contact-back {
    gap: 0 !important;
    margin: 0 !important;
    padding-left: 6px !important;
    color: #000 !important;
  }
  html body.ww-route-contacts.ww-route-contacts[class] main.ww-main article.ww-contact-page .ww-contact-back .ww-return-back__icon {
    flex: 0 0 15px !important;
    width: 15px !important;
    height: 15px !important;
    margin: 0 14px 0 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
    line-height: 0 !important;
  }
}
/* 1920 home composition follows source section anchors, plus the requested solid header. */
@media (min-width: 1600px) {
  html body.home[class] main.ww-main .ww-figma-showcase.ww-container {
    display: grid !important; grid-template-columns: 321px minmax(0, 1fr) !important;
    column-gap: 161px !important; align-items: start !important;
    width: 83.333333vw !important; max-width: none !important;
    height: 784px !important; margin: 127px auto 0 !important; padding: 0 !important;
  }
  html body.home[class] main.ww-main .ww-figma-showcase__intro {
    margin: 0 !important; padding: 50px 0 0 !important; width: 321px !important;
    min-height: 0 !important; display: block !important;
  }
  html body.home[class] main.ww-main .ww-figma-showcase__intro h2 {
    margin: 0 !important; height: 107px !important; min-height: 0 !important;
    font-size: 40px !important; line-height: 48px !important;
  }
  html body.home[class] main.ww-main .ww-figma-showcase__intro p { margin-top: 83px !important; }
  html body.home[class] main.ww-main .ww-figma-about { margin-top: 145px !important; padding: 0 !important; }
  html body.home[class] main.ww-main .ww-figma-about h2 {
    margin: 0 !important; height: 48px !important; min-height: 0 !important;
    font-size: 40px !important; line-height: 48px !important;
  }
  html body.home[class] main.ww-main .ww-figma-about__media {
    margin-top: 53px !important; padding: 35px 0 53px !important;
    height: 547px !important; box-sizing: border-box;
  }
  html body.home[class] main.ww-main .ww-figma-about__media > img {
    width: 83.59375vw !important; margin-left: 8.020833vw !important;
    height: 459px !important; max-height: none !important;
  }
  html body.home[class] main.ww-main .ww-figma-new {
    margin: 0 !important; padding: 41px 0 0 !important; min-height: 830px !important;
    height: auto !important; box-sizing: border-box;
  }
  html body.home[class] main.ww-main .ww-figma-new h2 {
    margin: 0 0 40px !important; font-size: 40px !important; line-height: 48px !important;
  }
  html body.home[class] main.ww-main .ww-figma-partners {
    margin: 0 auto !important; padding: 159px 0 0 !important;
    height: 615px !important; box-sizing: border-box;
  }
  html body.home[class] main.ww-main .ww-figma-partners h2 {
    margin: 0 !important; font-size: 40px !important; line-height: 48px !important;
  }
  html body.home[class] main.ww-main .ww-figma-partners__logos { margin-top: 135px !important; }
  html body.home[class] main.ww-main .ww-figma-process { margin: 0 !important; padding: 0 !important; height: 430px !important; }
  html body.home[class] main.ww-main .ww-figma-review { margin-top: 108px !important; padding-top: 0 !important; }
}
@media (min-width: 1600px) {
  html body.home[class] main.ww-main .ww-figma-about > .ww-container {
    margin: 0 auto !important; padding: 0 !important; height: 48px !important; min-height: 0 !important;
  }
}
/* 1280 product frame: gallery y229, 614×499 image, thumbnails y747. */
@media (min-width: 1200px) and (max-width: 1599px) {
  html body.single-product[class] main.ww-main .ww-product-detail-shell { padding-top: 111px !important; }
  html body.single-product[class] main.ww-main .ww-figma-product-gallery {
    gap: 19px !important;
  }
  html body.single-product[class] main.ww-main .ww-figma-product-gallery__stage {
    width: 47.96875vw !important; height: auto !important; min-height: 0 !important;
    aspect-ratio: 614 / 499 !important; padding: 0 !important;
  }
  html body.single-product[class] main.ww-main .ww-figma-product-gallery__stage img {
    width: 100% !important; height: 100% !important;
  }
  html body.single-product[class] main.ww-main .ww-figma-product-gallery__thumbs {
    width: 47.96875vw !important; margin-top: 0 !important; padding-top: 0 !important;
  }
  html body.single-product[class] main.ww-main section.related.products { margin-top: 90px !important; padding-top: 0 !important; }
}
@media (min-width: 1200px) and (max-width: 1599px) {
  html body.single-product[class] main.ww-main .ww-figma-product-gallery__stage,
  html body.single-product[class] main.ww-main .ww-figma-product-gallery__thumbs { box-sizing: border-box; border: 0 !important; }
}
@media (min-width: 1600px) {
  html body.single-product[class] main.ww-main .ww-figma-product-gallery { gap: 24px !important; }
  html body.single-product[class] main.ww-main .ww-figma-product-gallery__stage {
    width: calc(100% - 2px) !important; height: auto !important; min-height: 0 !important;
    aspect-ratio: 798 / 649 !important; padding: 0 !important; border: 0 !important; box-sizing: border-box;
  }
  html body.single-product[class] main.ww-main .ww-figma-product-gallery__stage img { width: 100% !important; height: 100% !important; }
  html body.single-product[class] main.ww-main .ww-figma-product-gallery__thumbs {
    height: 209px !important; margin-top: 0 !important; padding: 0 !important;
  }
  html body.single-product[class] main.ww-main .ww-figma-product-gallery__thumb,
  html body.single-product[class] main.ww-main .ww-figma-product-gallery__thumb img { height: 209px !important; }
  html body.single-product[class] main.ww-main section.related.products { margin-top: 5px !important; }
}
@media (max-width: 768px) {
  html body.single-product[class] main.ww-main .ww-figma-product-gallery__stage { padding: 0 !important; box-sizing: border-box; }
}
@media (min-width: 1200px) and (max-width: 1599px) {
  html body.home[class] main.ww-main .ww-figma-about__media { padding: 0 !important; margin-top: 8px !important; }
}

/* HOME · MOBILE 402 (Figma 2528:718): the process banner begins at y=3757. */
@media (min-width: 390px) and (max-width: 767px) and (orientation: portrait) {
  html body.home[class] main.ww-main .ww-figma-process {
    margin-top: 30px !important;
    min-height: 0 !important;
  }
}

@media (min-width: 1600px) {
  html body.home[class] main.ww-main .ww-figma-promo { margin-top: 101px !important; }
}

/* Portrait slots in the 402 frame: promo y814 / h298, studio h818. */
@media (max-width: 768px) and (orientation: portrait) {
  html body.home[class] main.ww-main > .ww-figma-promo {
    margin-top: calc(100vw * 41 / 402) !important; height: calc(100vw * 298 / 402) !important;
  }
  html body.home[class] main.ww-main .ww-figma-promo > img { height: calc(100vw * 298 / 402) !important; }
  html body.home[class] main.ww-main .ww-figma-about__media,
  html body.home[class] main.ww-main .ww-figma-about__media > img { height: calc(100vw * 818 / 402) !important; }
  html body.post-type-archive-product[class] main.ww-main > section.ww-shop-design__hero.ww-storefront-banner,
  html body.post-type-archive-product[class] main.ww-main .ww-shop-design__hero .ww-storefront-banner__media,
  html body.post-type-archive-product[class] main.ww-main .ww-shop-design__hero .ww-storefront-banner__media img { height: 599px !important; }
}

/* Filled wishlist frames 2650:866 / 2792:1147 / 2470:1382. */
html body.ww-wishlist-filled[class] main.ww-main .ww-route-shell--wishlist { position: relative !important; }
html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-title {
  margin: 0 !important; width: 156px !important; font: 700 16px/19.363636px var(--ww-font-sans) !important;
}
html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-back {
  position: absolute !important; margin: 0 !important; min-height: 44px !important;
}
@media (max-width: 768px) {
  html body.ww-wishlist-filled[class] main.ww-main .ww-route-shell--wishlist {
    width: calc(100% - 58px) !important; max-width: none !important; margin-left: 28px !important; margin-right: 30px !important; min-height: 752px !important; padding: 106px 0 40px !important;
  }
  html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-back { left: 0 !important; top: 37.5px !important; }
  html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-grid {
    margin-top: 20.636364px !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 27.897728px 10px !important;
  }
  html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-grid .ww-product-image { height: auto !important; aspect-ratio: 167 / 195 !important; }
}
@media (min-width: 1200px) and (max-width: 1599px) {
  html body.ww-wishlist-filled[class] main.ww-main .ww-route-shell--wishlist {
    width: calc(100% - 53px) !important; max-width: none !important; margin-left: 27px !important; margin-right: 26px !important;
    min-height: 679px !important; padding: 110px 0 80px !important;
  }
  html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-title { margin-left: 8px !important; }
  html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-back { left: 1px !important; top: -5.5px !important; }
  html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-grid {
    margin-top: 30.636364px !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; column-gap: 4.557292vw !important;
  }
  html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-grid .ww-product-image { height: auto !important; aspect-ratio: 263 / 307 !important; }
}
@media (min-width: 1600px) {
  html body.ww-wishlist-filled[class] main.ww-main .ww-route-shell--wishlist { min-height: 1398px !important; padding: 172px 0 80px !important; }
  html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-back { left: 9px !important; top: 74.5px !important; }
  html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-grid {
    margin-top: 24.636364px !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; column-gap: 20px !important;
  }
  html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-grid .ww-product-image { height: 450px !important; aspect-ratio: auto !important; }
}

@media (max-width: 768px) {
  html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-grid .ww-product-meta { padding-top: 19px !important; }
  html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-grid .ww-product-title,
  html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-grid .ww-product-title a { min-height: 49px !important; font: 400 13px/15.732954px var(--ww-font-sans) !important; }
  html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-grid .ww-product-price,
  html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-grid .ww-product-price * { margin-top: 0 !important; font: 400 10px/12.102272px var(--ww-font-sans) !important; }
}
@media (min-width: 1200px) and (max-width: 1599px) {
  html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-grid .ww-product-meta { padding-top: 15px !important; }
  html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-grid .ww-product-title,
  html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-grid .ww-product-title a { min-height: 37px !important; font: 400 16px/19.363636px var(--ww-font-sans) !important; }
  html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-grid .ww-product-price,
  html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-grid .ww-product-price * { margin-top: 7px !important; font: 400 14px/16.943182px var(--ww-font-sans) !important; }
}

/* Group 400: preserve the exported geometry AND its line transforms. */
html body[class] main.ww-main .ww-return-back__icon {
  width: 22px !important; height: 21px !important; border: 0 !important;
  background: url('../icons/return-22.svg') no-repeat center / contain !important;
}
html body[class] main.ww-main .ww-return-back__icon::before,
html body[class] main.ww-main .ww-return-back__icon::after { content: none !important; display: none !important; }
@media (max-width: 1599px) {
  html body[class] main.ww-main .ww-return-back__icon {
    width: 15px !important; height: 15px !important;
    background-image: url('../icons/return-15.svg') !important;
  }
}
@media (max-width: 768px) {
  html body[class] main.ww-main .ww-empty-state__back { gap: 14px !important; }
  html body[class] main.ww-main .ww-empty-state__back .ww-return-back__icon { margin-right: 0 !important; }
  html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-back { gap: 14px !important; }
  html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-back .ww-return-back__icon { margin-right: 0 !important; }
}
html body[class] main.ww-main .ww-empty-state__back.ww-empty-state__back { align-items: flex-start !important; }
html body[class] main.ww-main .ww-contact-page .ww-contact-back { align-items: flex-start !important; }
html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-back { gap: 14px !important; align-items: flex-start !important; }
html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-back .ww-return-back__icon { margin-right: 0 !important; }
@media (min-width: 1600px) {
  html body.ww-wishlist-filled[class] main.ww-main .ww-wishlist-back { gap: 25px !important; }
}

/* Ordinary account dashboard, source frames 2831:2833 and 2252:1241.
   Keep the two profile cards at their Figma heights; dashboard offers follow them. */
@media (min-width: 1200px) and (max-width: 1599px) {
  html body.logged-in.woocommerce-account:not(.ww-registration-done-route)[class] main.ww-main > .ww-auth-route {
    width: calc(100% - 83px) !important; max-width: none !important;
    margin-left: 32px !important; margin-right: 51px !important; padding-left: 0 !important; padding-right: 0 !important;
  }
  html body.logged-in.woocommerce-account[class] main.ww-main .woocommerce-MyAccount-content:has(> .ww-account-profile) { margin-top: 17px !important; }
  html body.logged-in.woocommerce-account[class] main.ww-main .ww-account-profile__card {
    min-height: 192px !important; padding: 30px 23px 20px !important;
  }
  html body.logged-in.woocommerce-account[class] main.ww-main .ww-account-profile__card + .ww-account-profile__card { margin-top: 18px !important; }
  html body.logged-in.woocommerce-account[class] main.ww-main .ww-account-profile #ww-account-name,
  html body.logged-in.woocommerce-account[class] main.ww-main .ww-account-profile #ww-account-address-title { font: 500 20px/25px var(--ww-font-sans) !important; }
  html body.logged-in.woocommerce-account[class] main.ww-main .ww-account-profile__edit { width: 30px !important; height: 23px !important; }
  html body.logged-in.woocommerce-account[class] main.ww-main .ww-account-profile__edit img { width: 30px !important; height: 23px !important; }
  html body.logged-in.woocommerce-account[class] main.ww-main .ww-account-profile__details { margin-top: 21px !important; gap: 16px !important; }
  html body.logged-in.woocommerce-account[class] main.ww-main .ww-account-profile__details dt,
  html body.logged-in.woocommerce-account[class] main.ww-main .ww-account-profile__details dd { font: 400 16px/19.363636px var(--ww-font-sans) !important; }
  html body.logged-in.woocommerce-account[class] main.ww-main .ww-account-profile__address {
    width: calc(100% - 21px) !important; min-height: 63px !important; margin-top: 35px !important; font: 400 16px/19.363636px var(--ww-font-sans) !important;
  }
}
@media (min-width: 1600px) {
  html body.logged-in.woocommerce-account[class] main.ww-main .woocommerce-MyAccount-content:has(> .ww-account-profile) { margin-top: 32px !important; }
  html body.logged-in.woocommerce-account[class] main.ww-main .ww-account-profile__card { left: 3px; min-height: 308px !important; }
}

/* 2692:5671: portrait login heading y186 and first field y245 at 402px. */
@media (max-width: 768px) and (orientation: portrait) {
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main #customer_login.ww-auth-grid { row-gap: calc(100vw * 19.4 / 402) !important; }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login { padding-top: calc(100vw * 111 / 402) !important; }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login > form.ww-auth-form { margin-top: calc(100vw * -46 / 402) !important; }
}

/* Keep registration fields usable on narrow iPhone screens. */
@media (max-width:768px) {
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]) {
    min-height:44px!important;
    font-size:16px!important;
  }
}

/* The fixed header adds padding to main; absolute back links need that offset. */
@media (min-width:861px) and (max-width:1599px) {
  html body:is(.woocommerce-cart,.woocommerce-checkout)[class] main.ww-main .ww-commerce-progress__back {
    top:calc(var(--ww-header-height) + 0.547vw)!important;
    gap:0!important;
  }
}
@media (min-width:861px) and (max-width:1599px) {
  html body.woocommerce-cart[class] main.ww-main { --cp-items-mt:92px; }
}
@media (min-width:1600px) {
  html body.woocommerce-cart[class] main.ww-main { --cp-items-mt:130px; --cp-col-mt:14px; }
}
@media (min-width:861px) and (max-width:1599px) {
  html body.woocommerce-checkout[class] main.ww-main .ww-commerce-progress__back {
    left:calc(100vw * 78 / 1280)!important;
    top:calc(var(--ww-header-height) + 100vw * 55 / 1280)!important;
  }
}
/* Portrait cart: source back link y113 and first image y244 at 402px.
   Rows have 35px of empty space before their visible cells. */
@media (max-width:768px) and (orientation:portrait) {
  html body.woocommerce-cart[class] main.ww-main .ww-commerce-progress {
    padding-top:calc(100vw * 33 / 402)!important;
    margin-bottom:0!important;
  }
  html body.woocommerce-cart[class] main.ww-main .woocommerce-cart-form {
    margin-top:calc(100vw * -6 / 402)!important;
  }
  html body.woocommerce-cart[class] main.ww-main .ww-commerce-progress__back { gap:14px!important; }
}

/* Recovery frame 2831:2642: content is centred at x685, not x640. */
@media (min-width:861px) and (max-width:1599px) {
  html body.woocommerce-lost-password[class] main.ww-main section.ww-lost-password:not(.ww-reset-password) {
    position:relative; left:46.5px; padding-top:84px!important;
  }
}
@media (min-width:1600px) {
  html body.woocommerce-lost-password[class] main.ww-main section.ww-lost-password:not(.ww-reset-password) form label,
  html body.woocommerce-lost-password[class] main.ww-main section.ww-lost-password:not(.ww-reset-password) form input.input-text {
    margin-left:14px!important;
  }
}
@media (max-width:768px) and (orientation:portrait) {
  html body.woocommerce-lost-password[class] main.ww-main section.ww-lost-password:not(.ww-reset-password) { padding-top:112px!important; }
  html body.woocommerce-lost-password[class] main.ww-main section.ww-lost-password:not(.ww-reset-password) .ww-lost-password__lead { margin-bottom:0!important; }
  html body.woocommerce-lost-password[class] main.ww-main section.ww-lost-password:not(.ww-reset-password) form.lost_reset_password { margin-top:14px!important; padding-top:0!important; padding-bottom:0!important; }
  html body.woocommerce-lost-password[class] main.ww-main section.ww-lost-password:not(.ww-reset-password) form label { margin-bottom:21px!important; }
  html body.woocommerce-lost-password[class] main.ww-main section.ww-lost-password:not(.ww-reset-password) form input.input-text { height:58px!important; }
  html body.woocommerce-lost-password[class] main.ww-main .ww-lost-password__actions { height:44px!important; }
  html body.woocommerce-lost-password[class] main.ww-main .ww-lost-password__actions button { min-height:44px!important; }
  html body.woocommerce-lost-password[class] main.ww-main .ww-lost-password__social-label { margin-top:41px!important; }
  html body.woocommerce-lost-password[class] main.ww-main .ww-lost-password__guest { display:block!important; width:185px!important; max-width:100%; margin:27px auto 0!important; }
}
/* Completion headings use source typography without inherited horizontal scaling. */
html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done h1 { transform:none!important; }
@media (max-width:768px) and (orientation:portrait) {
  html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done { padding-top:194px!important; }
  html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done h1 { display:block!important; width:265px; max-width:100%; margin:0 auto!important; font-size:20px!important; line-height:28.5px!important; min-height:57px; }
  html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done__actions { flex-direction:column-reverse!important; gap:35px!important; margin-top:35px!important; }
  html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done__back,
  html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done__cart { font-size:14px!important; line-height:20px!important; min-height:44px!important; }
  html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done__cart { width:247px!important; min-width:0!important; height:62px!important; min-height:62px!important; padding:0!important; max-width:100%; }
}
@media (min-width:861px) and (max-width:1599px) {
  html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done { padding-top:156px!important; }
  html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done h1 { font-size:24px!important; line-height:57px!important; }
  html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done__back,
  html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done__cart { font-size:14px!important; }
}
@media (min-width:1600px) {
  html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done { padding-top:112px!important; }
}
/* Login and its registration invitation share the source baseline y171/y219. */
@media (min-width:861px) and (max-width:1599px) {
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main #customer_login.ww-auth-grid { padding-top:24px!important; }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login > h1 { padding-left:14px!important; }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form .form-row + .form-row { margin-top:1px!important; }
}
/* Checkout recipient slots, frames 2677:2108 / 2792:1146 / 2127:856. */
@media (max-width:768px) and (orientation:portrait) {
  html body.woocommerce-checkout[class] main.ww-main form.checkout.woocommerce-checkout { margin-top:12.25px!important; }
  html body.woocommerce-checkout[class] main.ww-main #customer_details .woocommerce-billing-fields > h3 { margin-top:0!important; margin-bottom:17px!important; line-height:40px!important; }
  html body.woocommerce-checkout[class] main.ww-main .woocommerce-billing-fields .form-row { margin-bottom:22px!important; }
  html body.woocommerce-checkout[class] main.ww-main .woocommerce-billing-fields .form-row label { line-height:18px!important; margin-bottom:8px!important; }
  html body.woocommerce-checkout[class] main.ww-main form.checkout .form-row input.input-text { min-height:44px!important; }
}
@media (min-width:861px) and (max-width:1599px) {
  html body.woocommerce-checkout[class] main.ww-main form.checkout.woocommerce-checkout { margin-top:67px!important; }
  html body.woocommerce-checkout[class] main.ww-main #customer_details .woocommerce-billing-fields > h3 { margin-top:0!important; margin-bottom:21px!important; line-height:36px!important; }
  html body.woocommerce-checkout[class] main.ww-main .woocommerce-billing-fields .form-row label { line-height:17px!important; margin-bottom:0!important; }
  html body.woocommerce-checkout[class] main.ww-main .woocommerce-billing-fields .form-row input.input-text { height:59px!important; }
  html body.woocommerce-checkout[class] main.ww-main .woocommerce-billing-fields .form-row { margin-bottom:20px!important; }
}
@media (min-width:1600px) {
  html body.woocommerce-checkout[class] main.ww-main #customer_details .woocommerce-billing-fields > h3 { margin-top:0!important; margin-bottom:23.421875px!important; line-height:40px!important; }
  html body.woocommerce-checkout[class] main.ww-main .woocommerce-billing-fields .form-row label { font-size:16px!important; line-height:20px!important; margin-bottom:0!important; }
  html body.woocommerce-checkout[class] main.ww-main .woocommerce-billing-fields .form-row input.input-text { height:68px!important; }
  html body.woocommerce-checkout[class] main.ww-main .woocommerce-billing-fields .form-row { margin-bottom:23px!important; }
}
/* Registration keeps separate email/phone fields required by the current email flow. */
@media (max-width:768px) and (orientation:portrait) {
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register { padding-top:113px!important; }
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register > h1 { font-size:20px!important; line-height:26px!important; }
}
@media (min-width:861px) and (max-width:1599px) {
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register { padding-top:20px!important; }
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register > h1 { font-size:32px!important; line-height:41px!important; }
}
@media (min-width:1600px) {
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register { padding-top:1px!important; }
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register > h1 { font-size:36px!important; line-height:46.08px!important; }
}
@media (max-width:768px) and (orientation:portrait) {
  html body.woocommerce-checkout[class] main.ww-main .ww-commerce-progress { margin-bottom:0!important; }
}
@media (min-width:861px) and (max-width:1599px) {
  html body.woocommerce-checkout[class] main.ww-main .ww-commerce-progress { margin-bottom:0!important; }
  html body.woocommerce-checkout[class] main.ww-main .woocommerce-billing-fields__field-wrapper { display:grid!important; grid-template-columns:minmax(0,341fr) minmax(0,327fr); gap:0 21px!important; margin-left:1.359375px; }
  html body.woocommerce-checkout[class] main.ww-main .woocommerce-billing-fields__field-wrapper > .form-row { width:auto!important; padding:0!important; }
  html body.woocommerce-checkout[class] main.ww-main .woocommerce-billing-fields label { margin-left:3px; }
}
@media (min-width:1600px) {
  html body.woocommerce-checkout[class] main.ww-main .woocommerce-billing-fields__field-wrapper { display:grid!important; grid-template-columns:minmax(0,477fr) minmax(0,457fr); gap:0 29px!important; width:calc(100% + 3px); }
  html body.woocommerce-checkout[class] main.ww-main .woocommerce-billing-fields__field-wrapper > .form-row { width:auto!important; float:none!important; padding:0!important; }
  html body.woocommerce-checkout[class] main.ww-main .woocommerce-billing-fields label { margin-left:5px; }
}
html body.woocommerce-checkout[class] main.ww-main .woocommerce-billing-fields label .required { font-size:inherit!important; line-height:inherit!important; }
@media (max-width:768px) and (orientation:portrait) {
  html body.woocommerce-checkout[class] main.ww-main .woocommerce-billing-fields__field-wrapper { width:min(100%,calc(100vw * 349 / 402)); margin-left:calc(100vw * .921875 / 402); }
  html body.woocommerce-checkout[class] main.ww-main #billing_first_name_field label { margin-left:2px; }
}
@media (min-width:861px) {
  html body.woocommerce-checkout[class] main.ww-main .woocommerce-billing-fields__field-wrapper > .form-row { margin-right:0!important; }
}
@media (max-width:768px) and (orientation:portrait) {
  html body.woocommerce-checkout[class] main.ww-main #customer_details .woocommerce-billing-fields > h3 { margin-left:.921875px!important; }
  html body.woocommerce-checkout[class] main.ww-main .woocommerce-billing-fields .form-row:not(#billing_first_name_field) { margin-bottom:24px!important; }
}
@media (min-width:861px) and (max-width:1599px) {
  html body.woocommerce-checkout[class] main.ww-main .woocommerce-billing-fields__field-wrapper { width:calc(100% - .90625px); }
  html body.woocommerce-checkout[class] main.ww-main #customer_details .woocommerce-billing-fields > h3 { margin-left:4.359375px!important; }
  html body.woocommerce-checkout[class] main.ww-main #billing_last_name_field label,
  html body.woocommerce-checkout[class] main.ww-main #billing_email_field label { margin-left:4px; }
}
@media (min-width:1600px) {
  html body.woocommerce-checkout[class] main.ww-main #customer_details .woocommerce-billing-fields > h3 { margin-left:5px!important; }
}
html body:not(.logged-in)[class] main.ww-main .ww-auth-register { margin-top:0!important; }
@media (max-width:768px) and (orientation:portrait) {
  html body.woocommerce-checkout[class] main.ww-main .woocommerce-billing-fields .form-row:not(#billing_first_name_field) { margin-bottom:22px!important; }
  html body.woocommerce-checkout[class] main.ww-main .woocommerce-billing-fields .form-row:not(#billing_first_name_field) label { line-height:20px!important; }
}
@media (min-width:861px) and (max-width:1599px) {
  html body.woocommerce-checkout[class] main.ww-main #billing_phone_field label,
  html body.woocommerce-checkout[class] main.ww-main #billing_email_field label { line-height:18px!important; }
}
@media (max-width:768px) and (orientation:portrait) {
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register > h1 { width:250px; max-width:100%; margin-inline:auto!important; }
}
@media (min-width:861px) and (max-width:1599px) {
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register { width:535px; max-width:100%; position:relative; left:-33px; }
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register > h1 { width:476px; max-width:100%; margin-inline:auto!important; }
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register form.ww-auth-form { width:511px!important; max-width:100%; margin-inline:auto!important; }
}
@media (min-width:1600px) {
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register { width:664px; max-width:100%; }
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register > h1 { width:593px; max-width:100%; margin-inline:auto!important; }
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register form.ww-auth-form { width:636px!important; max-width:100%; margin-inline:auto!important; }
}
@media (max-width:768px) and (orientation:portrait) {
  html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done h1 { position:relative; left:1.515625px; }
  html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done__actions { position:relative; left:1.515625px; }
  html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done__back { font-size:13px!important; }
}
@media (min-width:861px) and (max-width:1599px) {
  html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done h1 { display:block!important; width:593px; max-width:100%; margin-inline:auto!important; position:relative; left:-16.5px; }
}
@media (min-width:1600px) {
  html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done h1 { display:block!important; width:593px; max-width:100%; margin-inline:auto!important; position:relative; left:14.5px; line-height:57px!important; }
}
@media (min-width:1600px) {
  html body:not(.logged-in)[class] main.ww-main article.ww-auth-route:has(.ww-auth-register) { padding-top:58px!important; }
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register { padding-top:0!important; }
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register > h1 { position:relative; left:-1.5px; }
}

/* Registration confirmation follows the compact Figma success composition. */
html body.ww-registration-done-route[class] main.ww-main .ww-register-done h1 { transform:none!important; font-weight:400!important; margin:0 auto 35px!important; }
@media (max-width:768px) and (orientation:portrait) {
  html body.ww-registration-done-route[class] main.ww-main .ww-register-done { padding-top:117.640625px!important; }
  html body.ww-registration-done-route[class] main.ww-main .ww-register-done h1 { width:265px; max-width:100%; font-size:20px!important; line-height:28.5px!important; min-height:57px; position:relative; left:1.515625px; }
  html body.ww-registration-done-route[class] main.ww-main .ww-register-done__cart { width:247px!important; min-width:0!important; height:62px!important; min-height:62px!important; padding:0!important; position:relative; left:1.515625px; font-size:14px!important; }
  html body.ww-registration-done-route[class] main.ww-main .ww-register-done__back { font-size:13px!important; min-height:44px; }
}
@media (min-width:861px) and (max-width:1599px) {
  html body.ww-registration-done-route[class] main.ww-main .ww-register-done { padding-top:126px!important; }
  html body.ww-registration-done-route[class] main.ww-main .ww-register-done h1 { width:593px; max-width:100%; font-size:24px!important; line-height:57px!important; position:relative; left:-16.5px; }
}
@media (min-width:1600px) {
  html body.ww-registration-done-route[class] main.ww-main .ww-register-done { padding-top:99px!important; }
  html body.ww-registration-done-route[class] main.ww-main .ww-register-done h1 { width:593px; max-width:100%; font-size:36px!important; line-height:57px!important; position:relative; left:14.5px; }
}
/* Size only the verified one-use confirmation route so its footer lands at
   the Figma frame edge in normal document flow. Keep inner success spacing. */
@media (max-width:768px) and (orientation:portrait) {
  html body.ww-registration-done-route[class] main.ww-main { box-sizing:border-box; height:auto!important; min-height:0!important; padding-top:75px!important; }
  html body.ww-registration-done-route[class] main.ww-main article.ww-auth-route { box-sizing:border-box; height:auto!important; min-height:752px!important; }
  html body.ww-registration-done-route[class] main.ww-main article.ww-auth-route > .woocommerce,
  html body.ww-registration-done-route[class] main.ww-main .woocommerce-MyAccount-content { box-sizing:border-box; height:auto!important; min-height:0!important; }
}
@media (min-width:769px) and (max-width:860px) {
  html body.ww-registration-done-route[class] main.ww-main { box-sizing:border-box; height:auto!important; min-height:0!important; padding-top:var(--ww-header-height, 80px)!important; }
  html body.ww-registration-done-route[class] main.ww-main article.ww-auth-route { box-sizing:border-box; height:auto!important; min-height:calc(1305.967742px - 62.3655914vw - var(--ww-header-height, 80px))!important; }
  html body.ww-registration-done-route[class] main.ww-main article.ww-auth-route > .woocommerce,
  html body.ww-registration-done-route[class] main.ww-main .woocommerce-MyAccount-content { box-sizing:border-box; height:auto!important; min-height:0!important; }
}
@media (min-width:861px) and (max-width:1599px) {
  html body.ww-registration-done-route[class] main.ww-main { box-sizing:border-box; height:auto!important; min-height:0!important; padding-top:118px!important; }
  html body.ww-registration-done-route[class] main.ww-main article.ww-auth-route { box-sizing:border-box; height:auto!important; min-height:651px!important; }
  html body.ww-registration-done-route[class] main.ww-main article.ww-auth-route > .woocommerce,
  html body.ww-registration-done-route[class] main.ww-main .woocommerce-MyAccount-content { box-sizing:border-box; height:auto!important; min-height:0!important; }
}
@media (min-width:1600px) {
  html body.ww-registration-done-route[class] main.ww-main { box-sizing:border-box; height:auto!important; min-height:0!important; padding-top:140px!important; }
  html body.ww-registration-done-route[class] main.ww-main article.ww-auth-route { box-sizing:border-box; height:auto!important; min-height:583px!important; }
  html body.ww-registration-done-route[class] main.ww-main article.ww-auth-route > .woocommerce,
  html body.ww-registration-done-route[class] main.ww-main .woocommerce-MyAccount-content { box-sizing:border-box; height:auto!important; min-height:0!important; }
}

/* Compact basket quantities remain usable on touch screens. */
html body[class] .ww-cart-drawer__item-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; }
html body[class] .ww-cart-drawer__quantity { display:inline-flex; align-items:center; gap:0; background:#000; }
html body[class] .ww-cart-drawer__quantity button { width:44px; height:44px; min-width:44px; padding:0; border:0; border-radius:0; color:#fff; background:#000; font:400 24px/44px var(--ww-font-sans); cursor:pointer; }
html body[class] .ww-cart-drawer__quantity button:disabled { color:#999; cursor:default; }
html body[class] .ww-cart-drawer__quantity button:focus-visible { outline:2px solid #b8663d; outline-offset:-3px; }
html body[class] .ww-cart-drawer__quantity .ww-cart-drawer__item-quantity { min-width:28px; color:#fff; text-align:center; font:400 16px/44px var(--ww-font-sans); }
html body[class] .ww-cart-drawer__status { margin:0; min-height:20px; font:400 13px/20px var(--ww-font-sans); }
html body[class] .ww-cart-drawer[aria-busy=true] .ww-cart-drawer__quantity { opacity:.65; }
@media (max-width:768px) and (orientation:portrait) {
  html body[class] .ww-cart-drawer__inner { width:100%; min-height:100dvh; padding:20px 16px max(20px,env(safe-area-inset-bottom)); }
  html body[class] .ww-cart-drawer__item { grid-template-columns:105px minmax(0,1fr); gap:8px; }
  html body[class] .ww-cart-drawer__thumb { width:105px; height:97px; aspect-ratio:auto; }
  html body[class] .ww-cart-drawer__item-copy { min-width:0; font-size:13px; line-height:16px; }
  html body[class] .ww-cart-drawer__subtotal { font-size:22px; line-height:29px; }
  html body[class] .ww-cart-drawer__subtotal strong { font-size:24px; font-weight:400; }
  html body[class] .ww-cart-drawer__actions { flex-direction:column; align-items:center; }
  html body[class] .ww-cart-drawer__actions > a { width:100%; min-height:44px; justify-content:center; }
}
/* Order details must remain clickable when a tablet cannot fit three columns. */
@media (min-width:769px) and (max-width:1199px) {
  html body.logged-in[class] main.ww-main .ww-order-card__body {
    grid-template-columns:minmax(0,210px) minmax(0,1fr)!important;
    grid-template-areas:'media summary' 'actions actions';
    gap:20px!important; min-height:0!important;
  }
  html body.logged-in[class] main.ww-main .ww-order-card__media { grid-area:media; flex-wrap:wrap; }
  html body.logged-in[class] main.ww-main .ww-order-card__media a { width:90px; height:100px; flex-shrink:0; }
  html body.logged-in[class] main.ww-main .ww-order-card__summary { grid-area:summary; min-width:0; }
  html body.logged-in[class] main.ww-main .ww-order-card__actions { grid-area:actions; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); }
  html body.logged-in[class] main.ww-main .ww-order-card__actions > p { grid-column:1/-1; }
}
html body.logged-in[class] main.ww-main .ww-order-card__summary summary { min-height:44px; font-weight:400; }
html body.logged-in[class] main.ww-main .ww-order-card__additional-items { margin:12px 0!important; }
html body[class] .ww-cart-drawer__return { display:none; }
@media (max-width:768px) and (orientation:portrait) {
  html body[class] .ww-cart-drawer { top:var(--ww-header-height); }
  html body[class] .ww-cart-drawer__inner { min-height:calc(100dvh - var(--ww-header-height)); max-height:calc(100dvh - var(--ww-header-height)); padding-top:37.5px; padding-inline:23px; gap:24px; }
  html body[class] .ww-cart-drawer__head { border:0; padding:0; }
  html body[class] .ww-cart-drawer__head h2, html body[class] .ww-cart-drawer__close-mark { display:none; }
  html body[class] .ww-cart-drawer__head .ww-cart-drawer__close { width:auto!important; border:0; font:400 16px/19px var(--ww-font-sans); }
  html body[class] .ww-cart-drawer__return { display:flex; align-items:center; gap:14px; }
  html body[class] .ww-cart-drawer__return img { width:15px; height:15px; }
  html body[class] .ww-cart-drawer__items { margin-top:70.5px; }
}
@media (max-width:768px) and (orientation:portrait) and (max-height:700px) {
  html body[class] .ww-cart-drawer__inner { padding-top:16px; }
  html body[class] .ww-cart-drawer__items { margin-top:0; }
}
/* Filled order frames 2831:2641 and 2252:1157 use separate image and action slots. */
@media (min-width:1200px) {
  html body.logged-in[class] main.ww-main .ww-order-card { position:relative; }
  html body.logged-in[class] main.ww-main .ww-order-card__head { position:relative; }
  html body.logged-in[class] main.ww-main .ww-order-card__head p { position:absolute; margin:0; text-align:right; }
  html body.logged-in[class] main.ww-main .ww-order-card__media { align-items:flex-start; }
  html body.logged-in[class] main.ww-main .ww-order-card__media a { flex-shrink:0; }
  html body.logged-in[class] main.ww-main .ww-order-card__summary { align-self:start; min-width:0; }
  html body.logged-in[class] main.ww-main .ww-order-card__summary ul { margin:0!important; }
  html body.logged-in[class] main.ww-main .ww-order-card__summary summary { min-height:20px; font-weight:400; }
  html body.logged-in[class] main.ww-main .ww-order-card__actions { position:absolute; align-content:start; }
  html body.logged-in[class] main.ww-main .ww-order-card__actions .button { padding:0; }
}
@media (min-width:1200px) and (max-width:1599px) {
  html body.logged-in[class] main.ww-main .ww-account-orders { width:calc(100% + 19px); max-width:calc(100vw - 64px); margin-top:-41px; gap:27px; }
  html body.logged-in[class] main.ww-main .ww-order-card { min-height:207px; }
  html body.logged-in[class] main.ww-main .ww-order-card__head { height:60px; min-height:60px; padding:20px 10px 0; align-items:start; }
  html body.logged-in[class] main.ww-main .ww-order-card__status { min-height:24px; padding:3px 6px; font-size:15px; line-height:18px; }
  html body.logged-in[class] main.ww-main .ww-order-card__head p { top:17px; right:75px; width:205px; font-size:15px; line-height:17.5px; }
  html body.logged-in[class] main.ww-main .ww-order-card__body { grid-template-columns:327px minmax(0,1fr) 229px; gap:28px; min-height:145px; padding:11px 58px 14px 10px; }
  html body.logged-in[class] main.ww-main .ww-order-card__media { gap:10px; }
  html body.logged-in[class] main.ww-main .ww-order-card__media a { width:111px; height:120px; }
  html body.logged-in[class] main.ww-main .ww-order-card__summary ul { font-size:15px; line-height:18px; }
  html body.logged-in[class] main.ww-main .ww-order-card__summary ul > li { min-height:44px; }
  html body.logged-in[class] main.ww-main .ww-order-card__summary summary { margin-top:4px; font-size:16px; line-height:20px; }
  html body.logged-in[class] main.ww-main .ww-order-card__actions { top:90px; right:58px; width:229px; gap:20px; }
  html body.logged-in[class] main.ww-main .ww-order-card__actions p { font-size:16px; line-height:20px; }
  html body.logged-in[class] main.ww-main .ww-order-card__actions .button { min-height:37px; height:37px; font-size:16px; line-height:20px; }
  html body.logged-in[class] main.ww-main .ww-order-card--completed .ww-order-card__actions { top:63px; }
  html body.logged-in[class] main.ww-main .ww-order-card--completed .ww-order-card__actions > p { margin-bottom:-4px; }
}
@media (min-width:1600px) {
  html body.logged-in[class] main.ww-main .ww-account-orders { margin-top:2px; gap:34px; }
  html body.logged-in[class] main.ww-main .ww-order-card { min-height:308px; }
  html body.logged-in[class] main.ww-main .ww-order-card__head { height:90px; min-height:90px; padding:31px 13px 0; align-items:start; }
  html body.logged-in[class] main.ww-main .ww-order-card__status { min-height:35px; padding:5.5px 9px; font-size:20px; line-height:24px; }
  html body.logged-in[class] main.ww-main .ww-order-card__head p { top:26px; right:98px; width:269px; font-size:20px; line-height:26px; }
  html body.logged-in[class] main.ww-main .ww-order-card__body { grid-template-columns:440px minmax(0,1fr) 302px; gap:28px; min-height:216px; padding:17px 77px 21px 13px; }
  html body.logged-in[class] main.ww-main .ww-order-card__media { gap:13px; }
  html body.logged-in[class] main.ww-main .ww-order-card__media a { width:147px; height:178px; }
  html body.logged-in[class] main.ww-main .ww-order-card__more { margin-left:39px; font-size:40px; line-height:45px; }
  html body.logged-in[class] main.ww-main .ww-order-card__summary ul { font-size:20px; line-height:24px; }
  html body.logged-in[class] main.ww-main .ww-order-card__summary ul > li { min-height:65px; }
  html body.logged-in[class] main.ww-main .ww-order-card__summary summary { min-height:30px; margin-top:5px; font-size:19px; line-height:30px; }
  html body.logged-in[class] main.ww-main .ww-order-card__actions { top:131px; right:78px; width:302px; gap:34px; }
  html body.logged-in[class] main.ww-main .ww-order-card__actions p { font-size:22px; line-height:27px; }
  html body.logged-in[class] main.ww-main .ww-order-card__actions .button { min-height:55px; height:55px; font-size:22px; line-height:27px; }
  html body.logged-in[class] main.ww-main .ww-order-card--completed .ww-order-card__actions { top:94px; gap:22px; }
  html body.logged-in[class] main.ww-main .ww-order-card--completed .ww-order-card__actions > a + a { margin-top:8px; }
}
@media (max-width:768px) and (orientation:portrait) {
  html body.logged-in[class] main.ww-main .ww-account-orders { width:93.035vw; margin-left:-.52vw; margin-top:13.125px; gap:41px; }
  html body.logged-in[class] main.ww-main .ww-order-card__head { min-height:103px; }
  html body.logged-in[class] main.ww-main .ww-order-card__head p { border:0; font-size:12px; line-height:18px; }
  html body.logged-in[class] main.ww-main .ww-order-card__media a { width:79px; height:80px; }
  html body.logged-in[class] main.ww-main .ww-order-card__summary ul { font-size:13px; line-height:16px; }
}
/* Payment/cancellation extensions may add actions beyond the two Figma buttons. */
@media (min-width:1200px) {
  html body.logged-in[class] main.ww-main .ww-order-card:not(.ww-order-card--processing):not(.ww-order-card--completed) .ww-order-card__actions,
  html body.logged-in[class] main.ww-main .ww-order-card:has(.ww-order-card__actions > a:nth-of-type(3)) .ww-order-card__actions { position:static; width:100%; gap:16px; }
}
@media (max-width:768px) and (orientation:portrait) {
  html body.logged-in[class] main.ww-main article.ww-auth-route:has(.ww-account-orders) { width:92vw; max-width:none; margin-inline:auto; }
  html body.logged-in[class] main.ww-main .ww-order-card__body { grid-template-columns:auto minmax(0,1fr)!important; grid-template-areas:'media summary' 'actions actions'; min-height:0!important; gap:20px 16px; }
  html body.logged-in[class] main.ww-main .ww-order-card__media { grid-area:media; flex-wrap:wrap; }
  html body.logged-in[class] main.ww-main .ww-order-card__summary { grid-area:summary; min-width:0; }
  html body.logged-in[class] main.ww-main .ww-order-card__actions { grid-area:actions; position:static; width:100%; }
}
@media (min-width:1200px) and (max-width:1599px) {
  html body.logged-in[class] main.ww-main .ww-order-card__media a + a { width:112px; }
  html body.logged-in[class] main.ww-main .ww-order-card__actions { top:89px; }
  html body.logged-in[class] main.ww-main .ww-order-card--completed .ww-order-card__actions { top:62px; }
}
@media (min-width:1600px) {
  html body.logged-in[class] main.ww-main .ww-account-orders { margin-top:0; padding-top:2px; }
  html body.logged-in[class] main.ww-main .ww-order-card__actions { top:130px; right:77px; }
  html body.logged-in[class] main.ww-main .ww-order-card--completed .ww-order-card__actions { top:93px; }
}
html body.logged-in[class] main.ww-main .ww-order-card__actions .button { font-weight:400!important; }
/* Flat catalog 2127:643: heading y200, leading photos y299 / 600 high.
   Filters stay available beside the heading and expand in normal page flow. */
html body[class] main.ww-main .ww-catalog-controls__description { padding:0 16px; }
@media (min-width:1600px) {
  html body[class] main.ww-main .ww-catalog-page { position:relative; padding-top:60px; }
  html body[class] main.ww-main .ww-catalog-page__header { gap:0; }
  html body[class] main.ww-main .ww-catalog-page__header .ww-kicker { display:none; }
  html body[class] main.ww-main .ww-catalog-page__header h1 { font-size:40px; line-height:51.2px; }
  html body[class] main.ww-main .ww-catalog-page > .ww-catalog-controls:not([open]) { position:absolute!important; right:0; top:60px; width:240px; margin:0!important; }
  html body[class] main.ww-main .ww-catalog-page > .ww-catalog-controls[open] { position:static!important; width:100%; margin-top:24px!important; }
  html body[class] main.ww-main .ww-catalog-page__toolbar { position:absolute; top:60px; left:0; width:300px; min-height:44px; margin:0; border:0; }
  html body[class] main.ww-main .ww-catalog-page .ww-catalog-grid { margin-top:47.8px; gap:70px 20px; }
  html body[class] main.ww-main .ww-catalog-grid .ww-product-card__visual,
  html body[class] main.ww-main .ww-catalog-grid .ww-product-image { width:100%!important; height:450px!important; aspect-ratio:auto!important; }
  html body[class] main.ww-main .ww-catalog-grid > .ww-product-card:nth-child(-n+3) .ww-product-card__visual,
  html body[class] main.ww-main .ww-catalog-grid > .ww-product-card:nth-child(-n+3) .ww-product-image { height:600px!important; }
  html body[class] main.ww-main .ww-catalog-grid .ww-product-image > img { width:100%; height:100%; object-fit:cover; }
  html body[class] main.ww-main .ww-catalog-grid .ww-product-meta { padding-top:18px!important; gap:0; }
  html body[class] main.ww-main .ww-catalog-grid > .ww-product-card:nth-child(-n+3) .ww-product-meta { max-width:385px; padding-top:47px!important; }
  html body[class] main.ww-main .ww-catalog-grid .ww-product-title { min-height:54px; font-size:22px; line-height:27px; }
  html body[class] main.ww-main .ww-catalog-grid .ww-product-price { margin-top:15px!important; font-size:30px; line-height:36px; }
}
html body[class] .ww-cart-drawer__actions .ww-text-link { font:400 14px/20px var(--ww-font-sans); text-transform:none; letter-spacing:0; }
html body[class] .ww-cart-drawer.ww-pointer-interaction :focus-visible { outline:none; }

/* Login · source frames 2831:2643 (1280) and 2692:5671 (402). This final
   account-only pass corrects the delayed form cascade; mobile controls keep a
   16px input font so iOS Safari does not zoom when a field receives focus. */
@media (min-width: 861px) and (max-width: 1599px) {
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main article.ww-auth-route:has(#customer_login.ww-auth-grid) {
    padding-bottom: 133px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main #customer_login.ww-auth-grid::after {
    left: 50.625% !important;
    top: 30px !important;
    bottom: 52px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form {
    position: relative !important;
    left: -1px !important;
    width: calc(100% + 5px) !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form .form-row label {
    font: 400 20px/24.2px var(--ww-font-sans) !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form .form-row:first-of-type label {
    margin-bottom: 7px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form .form-row + .form-row {
    margin-top: 4px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form .form-row + .form-row label {
    margin-bottom: 2px !important;
    padding-left: 21px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form input.input-text {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 62px !important;
    padding: 0 34px !important;
    border: 1px solid rgba(185, 185, 185, .75) !important;
    background: rgba(217, 217, 217, .24) !important;
    font: 300 22px/26.6px var(--ww-font-sans) !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form input#password {
    height: 61px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form input#username::placeholder {
    color: #4b2b1e !important;
    opacity: 1;
    font: 300 22px/26.6px var(--ww-font-sans) !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form input#password::placeholder {
    color: #856550 !important;
    opacity: 1;
    font: 300 22px/26.6px var(--ww-font-sans) !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .show-password-input {
    right: 25.5px !important;
    background: url('../icons/eye.svg') center / 31px 30px no-repeat !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .show-password-input::before,
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .show-password-input::after {
    display: none !important;
    content: none !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel .ww-auth-social button:disabled {
    opacity: 1 !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form__actions {
    margin-top: 27px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .woocommerce-form-login__submit {
    width: 170px !important;
    min-width: 0 !important;
    height: 58px !important;
    min-height: 0 !important;
    font: 400 20px/24.2px var(--ww-font-sans) !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-forgot {
    box-sizing: border-box;
    width: 132px !important;
    min-height: 44px !important;
    font: 400 16px/19.4px var(--ww-font-sans) !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-social {
    display: flex !important;
    justify-content: flex-start !important;
    width: 100% !important;
    gap: 0 !important;
    margin-top: 27px !important;
    padding-left: 159px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-social button {
    width: 56px !important;
    height: 46px !important;
    min-height: 0 !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-social button:nth-child(2) {
    width: 45px !important;
    margin-left: -1px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-guest {
    display: block !important;
    text-align: center !important;
    font: 400 15px/18.2px var(--ww-font-sans) !important;
    margin-top: 16px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--join > * {
    position: relative;
    left: 6px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--join > h2 {
    margin-bottom: 10px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--join > p:not(.ww-auth-social-label) {
    width: 324px !important;
    max-width: none !important;
    margin: 0 0 12px !important;
    font: 400 20px/24.2px var(--ww-font-sans) !important;
    text-align: center !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--join .ww-auth-create {
    width: 224px !important;
    min-width: 0 !important;
    height: 58px !important;
    min-height: 0 !important;
    margin-top: 0 !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--join .ww-auth-social-label {
    margin-top: 29px !important;
    font: 400 16px/19.4px var(--ww-font-sans) !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--join .ww-auth-social {
    margin-top: 24px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--join .ww-auth-social button:first-child {
    display: none !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--join .ww-auth-social button:nth-child(2) {
    width: 56px !important;
    height: 46px !important;
  }
}

@media (max-width: 768px) and (orientation: portrait) {
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main article.ww-auth-route {
    padding-bottom: 35px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main #customer_login.ww-auth-grid {
    row-gap: 50px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main #customer_login.ww-auth-grid::after {
    content: none !important;
    display: none !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form .form-row:first-of-type label {
    position: relative;
    top: -1px;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form .form-row:first-of-type input {
    height: 38px !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    padding: 0 18px !important;
    border: 1px solid rgba(185, 185, 185, .75) !important;
    background: rgba(217, 217, 217, .24) !important;
    font: 300 16px/20px var(--ww-font-sans) !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form .form-row:nth-of-type(2) {
    margin-top: 2px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form .form-row:nth-of-type(2) label {
    margin-bottom: 0 !important;
    padding-left: 16px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form .form-row:nth-of-type(2) input {
    height: 39px !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    padding: 0 18px !important;
    border: 1px solid rgba(185, 185, 185, .75) !important;
    background: rgba(217, 217, 217, .24) !important;
    font: 300 16px/20px var(--ww-font-sans) !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form input.input-text::placeholder {
    opacity: 1;
    font: 300 14px/16.9px var(--ww-font-sans) !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form input#username::placeholder {
    color: #4b2b1e !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form input#password::placeholder {
    color: #856550 !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .show-password-input {
    background: url('../icons/eye.svg') calc(50% - 1.5px) center / 17px 18px no-repeat !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .show-password-input::before,
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .show-password-input::after {
    display: none !important;
    content: none !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel .ww-auth-social button:disabled {
    opacity: 1 !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form__actions {
    width: 269px !important;
    max-width: 100%;
    height: 36px !important;
    margin: 17px auto 0 !important;
    gap: 0 !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .woocommerce-form-login__submit {
    width: 98px !important;
    min-width: 0 !important;
    height: 36px !important;
    min-height: 0 !important;
    padding: 0 !important;
    font: 400 14px/16.9px var(--ww-font-sans) !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-forgot {
    height: 36px !important;
    min-height: 0 !important;
    margin-right: 14px !important;
    font: 400 14px/16.9px var(--ww-font-sans) !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-social-label--login {
    position: relative;
    left: calc(-100vw * 12 / 402) !important;
    width: 269px !important;
    margin: 35px auto 0 !important;
    text-align: center !important;
    font: 400 14px/16.9px var(--ww-font-sans) !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-social {
    position: relative;
    left: calc(-100vw * 12 / 402) !important;
    width: 269px !important;
    height: 26px !important;
    margin: 17px auto 0 !important;
    gap: 0 !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-social button {
    height: 26px !important;
    min-height: 0 !important;
    padding: 0 !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-social button:first-child {
    width: 33px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-social button:nth-child(2) {
    width: 26px !important;
    margin-left: -2px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--join {
    border: 0 !important;
    padding-top: 1px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--join > h2 {
    position: relative;
    left: calc(-100vw * 12 / 402) !important;
    width: 169px !important;
    height: 39px !important;
    margin: 0 0 12.8px !important;
    font-size: 20px !important;
    line-height: 25.6px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--join > p:not(.ww-auth-social-label) {
    position: relative;
    left: calc(-100vw * 12 / 402) !important;
    width: 214px !important;
    max-width: none !important;
    margin: 0 0 23px !important;
    text-align: center !important;
    font: 400 14px/16.9px var(--ww-font-sans) !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--join .ww-auth-create {
    position: relative;
    left: calc(-100vw * 12 / 402) !important;
    width: 153px !important;
    min-width: 0 !important;
    height: 47px !important;
    min-height: 0 !important;
    padding: 0 !important;
    font: 400 14px/16.9px var(--ww-font-sans) !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--join .ww-auth-guest--mobile {
    position: relative;
    left: calc(-100vw * 12 / 402) !important;
    display: flex !important;
    box-sizing: border-box !important;
    width: 185px !important;
    height: 48px !important;
    min-height: 0 !important;
    margin: 28px 0 0 !important;
    padding: 4px 0 0 !important;
    align-items: flex-start !important;
    justify-content: center !important;
    text-align: center !important;
    font: 400 13px/15.7px var(--ww-font-sans) !important;
  }
}

/* Registration · mobile frame 2671:1344. Preserve the separate e-mail field
   required by the real registration flow while matching the Figma column,
   label rhythm, field heights, and light field treatment. */
@media (max-width: 768px) and (orientation: portrait) {
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register > h1 {
    margin-bottom: 10.8px !important;
  }
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register form.woocommerce-form-register.ww-auth-form {
    box-sizing: border-box !important;
    width: 269px !important;
    max-width: calc(100% - 32px) !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register form.ww-auth-form > .form-row:not(.ww-auth-register__terms) {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register form.ww-auth-form > .form-row:not(.ww-auth-register__terms) + .form-row:not(.ww-auth-register__terms) {
    margin-top: 9px !important;
  }
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register form.ww-auth-form .form-row label:not(.woocommerce-form__label-for-checkbox) {
    display: block !important;
    margin: 0 0 7px !important;
    color: #000 !important;
    font: 400 14px/16.9px var(--ww-font-sans) !important;
  }
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register form.ww-auth-form input.input-text {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 5px !important;
    border: 1px solid rgba(185, 185, 185, .75) !important;
    border-radius: 0 !important;
    background: rgba(217, 217, 217, .24) !important;
    color: #222 !important;
    font: 400 16px/20px var(--ww-font-sans) !important;
  }
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register #reg_first_name { height: 50px !important; }
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register #reg_phone { height: 52px !important; }
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register #reg_email { height: 50px !important; }
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register #reg_password { height: 51px !important; }
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register #reg_first_name::placeholder,
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register #reg_phone::placeholder {
    color: #856550 !important;
    opacity: 1 !important;
    font: 300 13px/15.7px var(--ww-font-sans) !important;
  }
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register #reg_password::placeholder {
    color: #856550 !important;
    opacity: 1 !important;
    font: 300 14px/16.9px var(--ww-font-sans) !important;
  }
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register .ww-auth-password-hint {
    margin-top: 4px !important;
    color: #000 !important;
    font: 400 14px/17px var(--ww-font-sans) !important;
  }
  html body:not(.logged-in)[class] main.ww-main .ww-auth-register__terms .woocommerce-form__label-for-checkbox {
    align-items: center !important;
    color: #000 !important;
    font: 400 14px/16.9px var(--ww-font-sans) !important;
  }
}

/*
 * Desktop home follows the exported 1280/1920 frames: the first image reaches
 * the top edge, the transparent header sits over it, and its logo/nav/actions
 * use the lower alignment shown in those frames. The shared !important header
 * rules above remain in force for mobile and every non-home route.
 */
@media (min-width: 861px) {
  html body.home[class] header.ww-site-header.ww-site-header {
    position: absolute !important;
    inset: 0 0 auto !important;
    width: 100% !important;
    height: var(--ww-header-height) !important;
    background: transparent !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html body.home[class] header.ww-site-header.ww-site-header .ww-brand {
    width: clamp(155px, 12vw, 230px) !important;
    height: clamp(36px, 2.708333vw, 52px) !important;
    transform: translate(-4px, calc(4.140625vw - 34.5px)) !important;
  }

  html body.home[class] header.ww-site-header.ww-site-header .ww-brand img.ww-brand__image {
    content: url("../brand/woody-wood-logo-white.svg") !important;
    filter: none !important;
  }

  html body.home[class] header.ww-site-header.ww-site-header .ww-nav {
    transform: translate(calc(7.8125vw - 188px), calc(3.28125vw - 22px)) !important;
  }

  html body.home[class] header.ww-site-header.ww-site-header .ww-nav__menu {
    transform: translateX(calc(-6.46875vw - 71.9px)) !important;
  }

  html body.home[class] header.ww-site-header.ww-site-header .ww-nav__menu > li.ww-nav__item--shop {
    position: relative !important;
    left: calc(43.33px - 2.7604vw) !important;
  }

  html body.home[class] header.ww-site-header.ww-site-header .ww-header-actions {
    position: absolute !important;
    top: 0 !important;
    left: calc(49.0625vw + 21px) !important;
    display: block !important;
    width: calc(21.25vw + 7px) !important;
    height: 0 !important;
    transform: none !important;
  }

  html body.home[class] header.ww-site-header.ww-site-header .ww-header-actions > form.ww-header-search:not(.ww-header-search--mobile) {
    position: absolute !important;
    top: calc(5.625vw - 8px) !important;
    left: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
    width: calc(12.8125vw + 6px) !important;
    height: calc(.9375vw + 12px) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .85) !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html body.home[class] header.ww-site-header.ww-site-header .ww-header-actions > form.ww-header-search:not(.ww-header-search--mobile) input {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    box-sizing: border-box !important;
    width: calc(11.25vw + 5px) !important;
    height: calc(.78125vw + 13px) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
    font: 400 14px/1 var(--ww-font-sans) !important;
  }

  html body.home[class] header.ww-site-header.ww-site-header .ww-header-actions > form.ww-header-search:not(.ww-header-search--mobile) input::placeholder {
    color: transparent !important;
    opacity: 0 !important;
  }

  html body.home[class] header.ww-site-header.ww-site-header .ww-header-actions > form.ww-header-search:not(.ww-header-search--mobile) button {
    position: absolute !important;
    top: 0 !important;
    left: calc(11.25vw + 5px) !important;
    display: grid !important;
    place-items: start !important;
    box-sizing: border-box !important;
    width: calc(1.5625vw + 1px) !important;
    height: calc(.9375vw + 11px) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html body.home[class] header.ww-site-header.ww-site-header .ww-header-actions > form.ww-header-search:not(.ww-header-search--mobile) button .dashicons {
    width: clamp(18px, 1.145833vw, 22px) !important;
    height: clamp(17px, 1.0625vw, 20.4px) !important;
    font-size: clamp(18px, 1.145833vw, 22px) !important;
    line-height: 1 !important;
    transform: translate(0, calc(.3125vw - 4px)) !important;
  }

  html body.home[class] header.ww-site-header.ww-site-header .ww-header-actions > .ww-cart-link,
  html body.home[class] header.ww-site-header.ww-site-header .ww-header-actions > .ww-account-link,
  html body.home[class] header.ww-site-header.ww-site-header .ww-header-actions > .ww-wishlist-action {
    position: absolute !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html body.home[class] header.ww-site-header.ww-site-header .ww-header-actions > .ww-cart-link {
    top: calc(5.46875vw - 5px) !important;
    left: calc(14.6875vw - 4px) !important;
    width: clamp(16px, 1.041667vw, 20px) !important;
    height: clamp(17px, 1.041667vw, 20px) !important;
  }

  html body.home[class] header.ww-site-header.ww-site-header .ww-header-actions > .ww-account-link {
    top: calc(5.46875vw - 5px) !important;
    left: calc(17.5vw - 3px) !important;
    width: clamp(17px, 1.145833vw, 22px) !important;
    height: clamp(17px, 1.041667vw, 20px) !important;
  }

  html body.home[class] header.ww-site-header.ww-site-header .ww-header-actions > .ww-wishlist-action {
    top: calc(5.3125vw - 4px) !important;
    left: 20.3125vw !important;
    width: calc(.9375vw + 7px) !important;
    height: calc(.625vw + 13px) !important;
  }

  html body.home[class] header.ww-site-header.ww-site-header .ww-header-actions > .ww-cart-link img {
    width: clamp(16px, 1.041667vw, 20px) !important;
    height: clamp(17px, 1.041667vw, 20px) !important;
    object-fit: contain !important;
  }

  html body.home[class] header.ww-site-header.ww-site-header .ww-header-actions > .ww-account-link img {
    width: clamp(17px, 1.145833vw, 22px) !important;
    height: clamp(17px, 1.041667vw, 20px) !important;
    object-fit: contain !important;
  }

  html body.home[class] header.ww-site-header.ww-site-header .ww-header-actions > .ww-wishlist-action .dashicons {
    width: calc(.9375vw + 7px) !important;
    height: calc(.625vw + 13px) !important;
    font-size: calc(.9375vw + 7px) !important;
    line-height: 1 !important;
  }

  html body.home[class] header.ww-site-header.ww-site-header .ww-nav a,
  html body.home[class] header.ww-site-header.ww-site-header .ww-header-actions,
  html body.home[class] header.ww-site-header.ww-site-header .ww-header-actions a,
  html body.home[class] header.ww-site-header.ww-site-header .ww-header-actions button,
  html body.home[class] header.ww-site-header.ww-site-header .ww-header-actions .dashicons,
  html body.home[class] header.ww-site-header.ww-site-header .ww-header-search input {
    color: #fff !important;
  }

  html body.home[class] header.ww-site-header.ww-site-header .ww-header-actions img,
  html body.home[class] header.ww-site-header.ww-site-header .ww-header-actions svg {
    filter: brightness(0) invert(1) !important;
  }

  html body.home[class] header.ww-site-header.ww-site-header .ww-header-search {
    border-color: rgba(255, 255, 255, .85) !important;
  }

  html body.home[class] main.ww-main {
    padding-top: 0 !important;
  }

  html body.home[class] main.ww-main > .ww-figma-hero {
    margin-top: 0 !important;
  }

  html body.home[class] main.ww-main .ww-figma-hero::before {
    content: none;
  }
}

@media (min-width: 1200px) {
  html body.home[class] {
    --ww-header-height: clamp(119px, 7.292vw, 140px);
  }
}
@media (min-width: 1200px) and (max-width: 1279px) {
  html body.home[class] {
    --ww-header-height: clamp(80px, calc(48.75vw - 505px), 119px);
  }
}

@media (min-width: 1600px) {
  html body.home[class] main.ww-main .ww-figma-hero::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    z-index: 2;
    width: 83.125%;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .52) 25%, rgba(0, 0, 0, 0) 57%);
  }
}

/* Empty wishlist: source vector and frame coordinates 2628:1131, 2790:1515,
   and 2470:1260. The older raster had extra transparent padding. */
@media (min-width: 861px) and (max-width: 1599px) {
  html body.ww-wishlist-empty[class] main.ww-main .ww-empty-state__back {
    left: 28px !important; top: 125px !important;
  }
  html body.ww-wishlist-empty[class] main.ww-main .ww-empty-state__dog {
    width: 474px !important; height: 459px !important; max-width: none !important;
    transform: translateX(5.5px) !important;
  }
  html body.ww-wishlist-empty[class] main.ww-main .ww-empty-state__back > span:not(.ww-return-back__icon) {
    width: 181px !important; flex: 0 0 181px !important;
  }
  html body.ww-wishlist-empty[class] main.ww-main .ww-empty-state--wishlist h1.ww-section-title {
    position: relative !important; left: -3px !important; height: 134px !important;
  }
  html body.ww-wishlist-empty[class] main.ww-main .ww-empty-state--wishlist .ww-lede {
    position: relative !important; left: 8.5px !important; height: 113px !important;
    margin-top: 46px !important;
  }
  html body.ww-wishlist-empty[class] footer.ww-site-footer {
    width: calc(100% - 4px) !important; margin: 68px auto 0 !important;
  }
}
@media (min-width: 1600px) {
  html body.ww-wishlist-empty[class] main.ww-main .ww-empty-state__back {
    left: 9px !important; top: 87px !important; gap: 25px !important;
    min-height: 0 !important; align-items: flex-start !important;
  }
  html body.ww-wishlist-empty[class] main.ww-main .ww-empty-state__back .ww-return-back__icon {
    margin-right: 0 !important;
  }
  html body.ww-wishlist-empty[class] main.ww-main .ww-empty-state__dog {
    width: 405px !important; height: 392px !important; max-width: none !important;
    transform: translate(-50%, 70px) !important;
  }
  html body.ww-wishlist-empty[class] main.ww-main .ww-empty-state--wishlist h1.ww-section-title {
    width: 847px !important; max-width: 847px !important; margin-left: auto !important;
    margin-right: auto !important; height: 128px !important; text-align: center !important;
  }
  html body.ww-wishlist-empty[class] main.ww-main .ww-empty-state--wishlist .ww-lede {
    width: 1080px !important; max-width: 1080px !important; margin-left: auto !important;
    margin-right: auto !important; height: 119px !important; transform: translate(2px, 6px) !important;
  }
  html body.ww-wishlist-empty[class] footer.ww-site-footer { margin-top: 146px !important; }
}

/* The compact navigation also covers tablet widths through 1199px. Keep its
   open-state back control on the right there, where the 402px-only mobile
   overrides do not apply. */
@media (min-width: 769px) and (max-width: 1199px) {
  html.ww-menu-open body:not(.single-product)[class] header.ww-site-header.ww-site-header > .ww-header-inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html.ww-menu-open body:not(.single-product)[class] header.ww-site-header.ww-site-header .ww-menu-toggle {
    position: absolute !important;
    inset: 41px 28px auto auto !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 20px !important;
    min-height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: url("../icons/arrow-back-menu.svg") no-repeat center / 36px 20px !important;
    z-index: 60 !important;
  }
  html.ww-menu-open body:not(.single-product)[class] header.ww-site-header.ww-site-header .ww-menu-toggle > span[aria-hidden="true"] {
    display: none !important;
  }

  /* Desktop homepage positioning also applies from 861px upward. It moves the
     nav, list, and first three links to match the closed desktop header; clear
     those offsets while the compact full-screen sheet is open. */
  html.ww-menu-open body.home[class] header.ww-site-header.ww-site-header .ww-nav,
  html.ww-menu-open body.home[class] header.ww-site-header.ww-site-header .ww-nav__menu--mobile,
  html.ww-menu-open body.home[class] header.ww-site-header.ww-site-header .ww-nav__menu--mobile > li {
    transform: none !important;
    translate: none !important;
    transition: none !important;
  }
  html.ww-menu-open body.home[class] header.ww-site-header.ww-site-header .ww-nav__menu--mobile > li {
    left: auto !important;
  }
}

/* Карточка товара 402: отзывы стоят между описанием и рекомендациями по кадру 2628:763. */
@media (max-width: 768px) {
  html body.single-product main.ww-main .ww-product-detail__below-summary { margin-top: 42px !important; }
  html body.single-product main.ww-main .ww-product-detail__below-summary > .ww-product-detail__tabs {
    order: 1 !important; margin-top: 0 !important;
  }
  html body.single-product main.ww-main .ww-product-detail__below-summary > .related,
  html body.single-product main.ww-main .ww-product-detail__below-summary > .upsells {
    order: 2 !important; margin-top: 40px !important;
  }
  /* Figma stepper ends at x394 while the content column ends at x392. */
  html body.single-product main.ww-main .ww-product-detail__purchase-panel form.cart .quantity {
    width: calc(100% + 2px) !important;
  }
  /* 2628:763: CTA 378×39 at x12. Reset Woo's 56px minimum and padding. */
  html body.single-product main.ww-main .ww-product-detail__purchase-panel form.cart .single_add_to_cart_button {
    box-sizing: border-box !important; width: calc(100% - 4px) !important; height: 39px !important;
    min-height: 0 !important; margin-inline: 2px !important; padding: 0 !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    border: 0 !important; border-radius: 0 !important; background: #000 !important; color: #fff !important;
    font: 400 20px/28px var(--ww-font-sans) !important; letter-spacing: -.5px !important;
  }
}

/* Карточка товара: финальная геометрия кадров 2790:1720 и 2079:1086. */
@media (min-width: 1600px) {
  html body.single-product .ww-product-detail__purchase-panel p.price { margin: 46.8px 0 0 !important; }
  html body.single-product .ww-product-detail__purchase-panel .ww-product-delivery {
    box-sizing: border-box !important; position: relative; max-width: 312px !important;
    margin: 23px 0 0 !important; padding: 46px 0 56px !important;
  }
  html body.single-product .ww-product-detail__purchase-panel .ww-product-delivery::before,
  html body.single-product .ww-product-detail__purchase-panel .ww-product-delivery::after {
    content: "" !important; position: absolute; left: 0; width: 456px; border-top: .5px solid #b9b9b9; pointer-events: none;
  }
  html body.single-product .ww-product-detail__purchase-panel .ww-product-delivery::before { top: 0; }
  html body.single-product .ww-product-detail__purchase-panel .ww-product-delivery::after { bottom: 0; }
  html body.single-product .ww-product-detail__purchase-panel form.cart { margin: 0 !important; padding: 27px 0 28px !important; border: 0 !important; }
  html body.single-product .ww-product-detail__purchase-panel form.cart .quantity {
    height: 40px !important; min-height: 0 !important; margin: 0 !important;
  }
  html body.single-product .ww-product-detail__purchase-panel .ww-quantity-label { margin-right: 57.5px !important; }
  html body.single-product .ww-product-detail__purchase-panel .single_add_to_cart_button {
    box-sizing: border-box !important; width: 426px !important; height: 60px !important;
    min-height: 0 !important; margin-top: 44px !important;
  }

  html body.single-product main.ww-main section.related.products > h2 { margin-bottom: 30.8px !important; }
  html body.single-product main.ww-main section.related.products ul.products {
    width: 100% !important; max-width: 100% !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important; column-gap: 20px !important; row-gap: 0 !important;
  }
  html body.single-product main.ww-main section.related.products .ww-product-card__visual,
  html body.single-product main.ww-main section.related.products .ww-product-image {
    width: 100% !important; height: auto !important; aspect-ratio: 304 / 300 !important;
  }
  html body.single-product main.ww-main section.related.products .ww-product-image img {
    width: 100% !important; height: 100% !important; aspect-ratio: auto !important; object-fit: cover;
  }
  html body.single-product main.ww-main section.related.products .ww-product-meta { padding-top: 8.5px !important; }
  html body.single-product main.ww-main section.related.products .ww-product-title {
    box-sizing: border-box !important; height: 54px !important; min-height: 54px !important; padding: 7.5px 0 !important;
  }
  html body.single-product main.ww-main section.related.products .ww-product-price { margin-top: 22.5px !important; }
}

@media (min-width: 1200px) and (max-width: 1599px) {
  html body.single-product .ww-product-detail__purchase-panel p.price { margin: 19px 0 0 !important; }
  html body.single-product .ww-product-detail__purchase-panel .ww-product-delivery { position: relative; }
  html body.single-product .ww-product-detail__purchase-panel .ww-product-delivery::before,
  html body.single-product .ww-product-detail__purchase-panel .ww-product-delivery::after {
    content: "" !important; position: absolute; left: 0; width: 351px; border-top: .5px solid #b9b9b9; pointer-events: none;
  }
  html body.single-product .ww-product-detail__purchase-panel .ww-product-delivery::before { top: -12.5px; }
  html body.single-product .ww-product-detail__purchase-panel .ww-product-delivery::after { bottom: -23.5px; }
  html body.single-product .ww-product-detail__purchase-panel form.cart { margin-top: 37.5px !important; border: 0 !important; }
  html body.single-product .ww-product-detail__purchase-panel .ww-quantity-label { margin-right: 46.4px !important; }
  html body.single-product .ww-product-detail__purchase-panel .quantity .ww-quantity-button,
  html body.single-product .ww-product-detail__purchase-panel .quantity input.qty {
    box-sizing: border-box !important; height: 35px !important; min-height: 0 !important; transform: translateY(2.5px);
  }
  html body.single-product .ww-product-detail__purchase-panel .quantity .ww-quantity-button--minus { width: 32px !important; }
  html body.single-product .ww-product-detail__purchase-panel .quantity input.qty { width: 36px !important; }
  html body.single-product .ww-product-detail__purchase-panel .quantity .ww-quantity-button--plus { width: 32px !important; }
  html body.single-product .ww-product-detail__purchase-panel .single_add_to_cart_button {
    box-sizing: border-box !important; width: 329px !important; height: 47px !important; margin-top: 28px !important;
  }
  html body.single-product .ww-product-detail__purchase-panel .woocommerce-product-details__short-description { margin-top: 67px !important; }

  html body.single-product main.ww-main section.related.products ul.products {
    width: calc(100% - 2px) !important; margin-left: 2px !important; margin-right: 0 !important;
    grid-template-columns: repeat(4, 263px) !important; column-gap: 0 !important; row-gap: 0 !important; justify-content: space-between !important;
  }
  html body.single-product main.ww-main section.related.products .ww-product-card__visual,
  html body.single-product main.ww-main section.related.products .ww-product-image {
    width: 263px !important; height: auto !important; aspect-ratio: 263 / 307 !important;
  }
  html body.single-product main.ww-main section.related.products .ww-product-image img {
    width: 100% !important; height: 100% !important; aspect-ratio: auto !important; object-fit: cover;
  }
  html body.single-product main.ww-main section.related.products .ww-product-meta { padding-top: 15px !important; }
  html body.single-product main.ww-main section.related.products .ww-product-title {
    box-sizing: border-box !important; height: 38.8px !important; min-height: 38.8px !important; padding: 0 !important;
    font: 400 16px/19.4px var(--ww-font-sans) !important;
  }
  html body.single-product main.ww-main section.related.products .ww-product-title a { font: inherit !important; }
  html body.single-product main.ww-main section.related.products .ww-product-price {
    margin-top: 5px !important; color: rgba(0,0,0,.5) !important; font: 400 14px/16.9px var(--ww-font-sans) !important;
  }
}

/* Главная 1280: восстановить белый промежуток и высоту футера из кадра Figma. */
@media (min-width: 1200px) and (max-width: 1599px) {
  html body.home footer.ww-site-footer {
    margin-top: -.546875vw !important;
    background-color: #fff !important;
  }
  html body.home footer.ww-site-footer .ww-footer-newsletter {
    background-color: #fff !important;
    background-image: linear-gradient(rgba(34, 34, 34, .5), rgba(34, 34, 34, .5)), url('../images/figma/newsletter-wood.webp') !important;
    background-size: 99.84375vw 54.140625vw, 99.84375vw 54.140625vw !important;
    background-position: 0 0, .15625vw 0 !important;
    background-repeat: no-repeat, no-repeat !important;
  }
  html body.home footer.ww-site-footer .ww-footer-newsletter .ww-newsletter-form {
    box-sizing: border-box !important;
    position: relative !important;
    left: .1171875vw !important;
    width: 58.515625vw !important;
    grid-template-columns: 41.25vw 17.265625vw !important;
  }
  html body.home footer.ww-site-footer .ww-newsletter-form h2,
  html body.home footer.ww-site-footer .ww-newsletter-form__lead {
    position: relative !important;
    left: .046875vw !important;
  }
  html body.home footer.ww-site-footer .ww-newsletter-form__consent {
    box-sizing: border-box !important;
    width: 27.5vw !important;
    min-height: 4.0625vw !important;
    justify-self: center !important;
    transform: translateX(.0390625vw) !important;
  }
  html body.home footer.ww-site-footer .ww-newsletter-form__consent label {
    display: grid !important;
    box-sizing: border-box !important;
    width: 27.5vw !important;
    grid-template-columns: 1.796875vw 25.390625vw !important;
    column-gap: .3125vw !important;
    align-items: start !important;
    text-align: center !important;
  }
  html body.home footer.ww-site-footer .ww-newsletter-form__consent input[type="checkbox"] {
    box-sizing: border-box !important;
    width: 1.796875vw !important;
    height: 1.71875vw !important;
    margin: .3125vw 0 0 !important;
  }
  html body.home footer.ww-site-footer .ww-footer-main {
    box-sizing: border-box !important;
    width: calc(100% - .3125vw) !important;
    max-width: none !important;
    margin: 3.359375vw .15625vw 0 !important;
    grid-template-columns: 16.640625vw 24.609375vw 16.5625vw 35.546875vw !important;
    min-height: 30.078125vw !important;
    padding: 5.78125vw 0 8.125vw 6.328125vw !important;
    background: #000 !important;
  }
}

/* Главная 402: Figma 2528:718 — исходное фото 586×466 со смещением x=-107 и слой #222222@50%. */
@media (max-width: 768.98px) {
  html body.home footer.ww-site-footer .ww-footer-newsletter {
    background-color: #fff !important;
    background-image: linear-gradient(rgba(34, 34, 34, .5), rgba(34, 34, 34, .5)), url('../images/figma/newsletter-wood.webp') !important;
    background-size: 100% 466px, 145.771145vw 466px !important;
    background-position: 0 0, -26.616915vw 0 !important;
    background-repeat: no-repeat, no-repeat !important;
  }
}

/* Главная 402: совместить карточку отзыва и содержимое подписки с кадром 2528:718. */
@media (min-width: 390px) and (max-width: 430px) {
  html body.home main.ww-main .ww-figma-review > h2 { margin-bottom: 42px !important; }
  html body.home main.ww-main .ww-figma-review .ww-figma-review__card {
    row-gap: 24px !important;
    padding-top: 0 !important;
  }
  html body.home main.ww-main .ww-figma-review__card .ww-figma-review__author {
    position: relative;
    top: 6px;
    left: 2px;
    box-sizing: border-box;
    width: 135px;
    height: 18px;
    font-size: 15px;
    line-height: 18px;
  }
  html body.home main.ww-main .ww-figma-review__card > p:not(.ww-figma-review__author) {
    position: relative;
    top: -21px;
    left: -1px;
    box-sizing: border-box;
    width: 203px;
    height: 75px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    font-size: 12px;
    line-height: 15px;
  }

  html body.home footer.ww-site-footer .ww-footer-newsletter .ww-newsletter-form {
    position: relative !important;
    top: 7.5px !important;
    grid-template-columns: 236px 99px !important;
  }
  html body.home footer.ww-site-footer .ww-newsletter-form__body {
    box-sizing: border-box !important;
    width: 351px !important;
    max-width: none !important;
    margin: 6.2rem 0 0 -17.16px !important;
    line-height: 19.4px !important;
  }
  html body.home footer.ww-site-footer .ww-newsletter-form > p:has(input[type="email"]),
  html body.home footer.ww-site-footer .ww-newsletter-form > .ww-button {
    top: 17px !important;
  }
  html body.home footer.ww-site-footer .ww-newsletter-form > .ww-button {
    justify-self: start !important;
    width: 99px !important;
    min-width: 99px !important;
    max-width: 99px !important;
  }
  html body.home footer.ww-site-footer .ww-newsletter-form__consent {
    top: 9.5px !important;
  }
  html body.home footer.ww-site-footer .ww-newsletter-form__consent label {
    position: relative !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 215px !important;
    height: 36px !important;
    margin: 0 0 0 90.84px !important;
    text-align: left !important;
  }
  html body.home footer.ww-site-footer .ww-newsletter-form__consent input[type="checkbox"] {
    position: absolute !important;
    top: 3px !important;
    left: -24px !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
  }
}

html body.home footer.ww-site-footer .ww-newsletter-form input[type="email"]::placeholder {
  color: transparent !important;
}

html body.ww-route-404 .ww-empty-state__art-source { display: contents !important; }

/* 404 phone frame 2628:3627: restore the Figma positions after the shared
   empty-state flow styles pushed the illustration and copy progressively down. */
@media (min-width: 390px) and (max-width: 430px) {
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found {
    position: relative !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    height: 957px !important;
    min-height: 957px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found > .ww-empty-state__back {
    position: absolute !important;
    top: 24px !important;
    left: 28px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 7px !important;
    width: 210px !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 19.4px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font: 400 16px/19.4px var(--ww-font-sans) !important;
  }
  html body.ww-route-404 .ww-empty-state__back-icon {
    display: block !important;
    flex: 0 0 22px !important;
    width: 22px !important;
    height: 15px !important;
    border: 0 !important;
    background:
      linear-gradient(#000, #000) 0 0 / 22px 2px no-repeat,
      linear-gradient(#000, #000) 0 9px / 9px 2px no-repeat !important;
  }
  html body.ww-route-404 .ww-empty-state__back > span:not(.ww-empty-state__back-icon) {
    display: block !important;
    width: 181px !important;
    font: 400 16px/19.4px var(--ww-font-sans) !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found .ww-empty-state__dog {
    display: block !important;
    position: absolute !important;
    top: 80px !important;
    left: 57px !important;
    width: 292px !important;
    height: 292px !important;
    max-width: none !important;
    margin: 0 !important;
  }
  html body.ww-route-404 .ww-empty-state--not-found > .ww-empty-state__copy {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found .ww-empty-state__copy > p.ww-not-found-code {
    position: absolute !important;
    top: 357px !important;
    left: 50% !important;
    width: 179px !important;
    height: 177px !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    font: 400 128px/153.6px 'BERNIER', Impact, 'Arial Narrow', sans-serif !important;
    letter-spacing: 0 !important;
  }
  html body.ww-route-404 .ww-empty-state--not-found .ww-section-title {
    position: absolute !important;
    top: 510px !important;
    left: 50% !important;
    width: 252px !important;
    max-width: none !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    font: 400 32px/38.4px 'BERNIER', Impact, 'Arial Narrow', sans-serif !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }
  html body.ww-route-404 .ww-empty-state--not-found .ww-button {
    position: absolute !important;
    top: 613px !important;
    left: 50% !important;
    display: flex !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    width: 212px !important;
    height: 60px !important;
    min-height: 60px !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #222 !important;
    color: #fff !important;
    font: 400 16px/19.4px var(--ww-font-sans) !important;
    text-transform: none !important;
  }
}

/* 404 desktop frame 2790:1538 at 1280px: keep the header, then position every
   content item on the frame coordinates and end the page at the Figma footer. */
@media (min-width: 1120px) and (max-width: 1599px) {
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found {
    position: relative !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 1120px !important;
    max-width: none !important;
    height: 667px !important;
    min-height: 667px !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
  html body.ww-route-404 main.ww-main {
    height: auto !important;
    min-height: 0 !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found > .ww-empty-state__back {
    position: absolute !important;
    top: 7px !important;
    left: calc(588px - 50vw) !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 7px !important;
    width: 210px !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 19.4px !important;
    margin: 0 !important;
    padding: 0 !important;
    font: 400 16px/19.4px var(--ww-font-sans) !important;
  }
  html body.ww-route-404 .ww-empty-state__back-icon {
    display: block !important;
    flex: 0 0 22px !important;
    width: 22px !important;
    height: 15px !important;
    border: 0 !important;
    background:
      linear-gradient(#000, #000) 0 0 / 22px 2px no-repeat,
      linear-gradient(#000, #000) 0 9px / 9px 2px no-repeat !important;
  }
  html body.ww-route-404 .ww-empty-state__back > span:not(.ww-empty-state__back-icon) {
    display: block !important;
    width: 181px !important;
    font: 400 16px/19.4px var(--ww-font-sans) !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found img.ww-empty-state__dog {
    position: absolute !important;
    top: 89px !important;
    left: 83px !important;
    width: 487px !important;
    height: 487px !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found > .ww-empty-state__copy {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    text-align: left !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found .ww-not-found-code {
    position: absolute !important;
    top: 110px !important;
    left: 769px !important;
    width: 177px !important;
    height: 128px !important;
    margin: 0 !important;
    font: 400 128px/153.6px 'BERNIER', Impact, 'Arial Narrow', sans-serif !important;
    letter-spacing: 0 !important;
    color: #000 !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found .ww-section-title {
    position: absolute !important;
    top: 253px !important;
    left: 675px !important;
    width: 364px !important;
    max-width: none !important;
    margin: 0 !important;
    font: 400 24px/29.05px var(--ww-font-sans), Inter, sans-serif !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-transform: none !important;
    white-space: nowrap !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found .ww-button {
    position: absolute !important;
    top: 329px !important;
    left: 740px !important;
    display: flex !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    width: 234px !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #222 !important;
    color: #fff !important;
    font: 400 16px/19.4px var(--ww-font-sans) !important;
    text-transform: none !important;
    white-space: nowrap !important;
  }
}

/* 404 desktop frame 2422:695 at 1920px: the header's 140px reserved band stays
   above the artwork; the main frame and footer match the 1508px Figma page. */
@media (min-width: 1600px) {
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found {
    position: relative !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 1316px !important;
    max-width: none !important;
    height: 992px !important;
    min-height: 992px !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found .ww-empty-state__back { display: none !important; }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found img.ww-empty-state__dog {
    position: absolute !important;
    top: 126px !important;
    left: -82px !important;
    width: 697px !important;
    height: 697px !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found > .ww-empty-state__copy {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    text-align: left !important;
    transform: none !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found .ww-not-found-code {
    position: absolute !important;
    top: 109px !important;
    left: 816px !important;
    width: 363px !important;
    height: 255px !important;
    margin: 0 !important;
    font: 400 250px/300px 'BERNIER', Impact, 'Arial Narrow', sans-serif !important;
    letter-spacing: 0 !important;
    color: #000 !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found .ww-section-title {
    position: absolute !important;
    top: 383px !important;
    left: 684px !important;
    width: 627px !important;
    max-width: none !important;
    margin: 0 !important;
    font: 400 40px/48.41px var(--ww-font-sans), Inter, sans-serif !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-transform: none !important;
    white-space: nowrap !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found .ww-button {
    position: absolute !important;
    top: 474px !important;
    left: 821px !important;
    display: flex !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    width: 321px !important;
    height: 86px !important;
    min-height: 86px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #222 !important;
    color: #fff !important;
    font: 400 24px/29px var(--ww-font-sans) !important;
    text-transform: none !important;
    white-space: nowrap !important;
  }
}


/* 404 responsive interpolation between the 1280 and 1920 Figma frames. */
@media (min-width: 1120px) and (max-width: 1919px) {
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found {
    width: clamp(1120px, calc(30.625vw + 728px), 1316px) !important;
    height: clamp(667px, calc(50.78125vw + 17px), 992px) !important;
    min-height: clamp(667px, calc(50.78125vw + 17px), 992px) !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found img.ww-empty-state__dog {
    top: calc(5.78125vw + 15px) !important;
    left: calc(413px - 25.78125vw) !important;
    width: clamp(487px, calc(32.8125vw + 67px), 697px) !important;
    height: clamp(487px, calc(32.8125vw + 67px), 697px) !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found .ww-not-found-code {
    top: clamp(109px, calc(112px - .15625vw), 110px) !important;
    left: calc(7.34375vw + 675px) !important;
    width: clamp(177px, calc(29.0625vw - 195px), 363px) !important;
    height: clamp(128px, calc(19.84375vw - 126px), 255px) !important;
    font-size: clamp(128px, calc(19.0625vw - 116px), 250px) !important;
    line-height: clamp(153.6px, calc(22.875vw - 139.2px), 300px) !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found .ww-section-title {
    top: clamp(253px, calc(20.3125vw - 7px), 383px) !important;
    left: clamp(675px, calc(1.40625vw + 657px), 684px) !important;
    width: clamp(364px, calc(41.09375vw - 162px), 627px) !important;
    font-size: clamp(24px, calc(2.5vw - 8px), 40px) !important;
    line-height: clamp(29.05px, calc(3.025vw - 9.67px), 48.41px) !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found .ww-button {
    top: clamp(329px, calc(22.65625vw + 39px), 474px) !important;
    left: clamp(740px, calc(12.65625vw + 578px), 821px) !important;
    width: clamp(234px, calc(13.59375vw + 60px), 321px) !important;
    height: clamp(60px, calc(4.0625vw + 8px), 86px) !important;
    min-height: clamp(60px, calc(4.0625vw + 8px), 86px) !important;
    font-size: clamp(16px, 1.25vw, 24px) !important;
    line-height: clamp(19.4px, calc(1.40625vw + 1.4px), 29px) !important;
  }
}

/* The 1280px Figma 404 frame includes the storefront header; only the 1920 frame hides it. */
@media (min-width: 1120px) and (max-width: 1599px) {
  html body.ww-route-404 header.ww-site-header { visibility: visible !important; }
}

@media (min-width: 1120px) and (max-width: 1599px) {
  html body.ww-route-404 header.ww-site-header .ww-menu-toggle,
  html body.ww-route-404 header.ww-site-header .ww-nav {
    display: none !important;
  }
}

@media (min-width: 1120px) and (max-width: 1599px) {
  html body.ww-route-404 header.ww-site-header button.ww-menu-toggle.ww-menu-toggle,
  html body.ww-route-404 header.ww-site-header nav#ww-primary-nav.ww-nav {
    display: none !important;
  }
}

/* 404 1280 header: logo and four outlined controls only, matching frame 2790:1538. */
@media (min-width: 1120px) and (max-width: 1599px) {
  html body.ww-route-404 header.ww-site-header .ww-header-inner { position: relative !important; }
  html body.ww-route-404 header.ww-site-header .ww-header-actions {
    position: absolute !important;
    inset: 0 auto auto 0 !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 118px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body.ww-route-404 header.ww-site-header .ww-header-actions > form.ww-header-search:not(.ww-header-search--mobile) {
    position: absolute !important;
    top: 36px !important;
    left: 703px !important;
    display: grid !important;
    box-sizing: border-box !important;
    width: 236px !important;
    height: 37px !important;
    grid-template-columns: minmax(0, 1fr) 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #000 !important;
    color: #000 !important;
  }
  html body.ww-route-404 header.ww-site-header .ww-header-search input::placeholder {
    color: transparent !important;
  }
  html body.ww-route-404 header.ww-site-header .ww-header-actions > form.ww-header-search:not(.ww-header-search--mobile) button {
    display: grid !important;
    width: 38px !important;
    height: 36px !important;
    place-items: center !important;
  }
  html body.ww-route-404 header.ww-site-header .ww-header-search .dashicons-search {
    width: 22px !important;
    height: 22px !important;
    font-size: 22px !important;
    line-height: 22px !important;
  }
  html body.ww-route-404 header.ww-site-header .ww-header-actions > .ww-cart-link {
    position: absolute !important;
    top: 34px !important;
    left: 977px !important;
    display: grid !important;
    box-sizing: border-box !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body.ww-route-404 header.ww-site-header .ww-header-actions > .ww-account-link {
    position: absolute !important;
    top: 34px !important;
    left: 1035px !important;
    display: grid !important;
    box-sizing: border-box !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }
  html body.ww-route-404 header.ww-site-header .ww-header-actions > .ww-wishlist-action {
    position: absolute !important;
    top: 34px !important;
    left: 1097px !important;
    display: grid !important;
    box-sizing: border-box !important;
    width: 31px !important;
    min-width: 31px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body.ww-route-404 header.ww-site-header .ww-header-actions > .ww-cart-link img {
    display: block !important;
    width: 28px !important;
    height: 28px !important;
    filter: none !important;
  }
  html body.ww-route-404 header.ww-site-header .ww-header-actions > .ww-account-link img {
    display: block !important;
    width: 34px !important;
    height: 29px !important;
    filter: none !important;
  }
  html body.ww-route-404 header.ww-site-header .ww-header-actions > .ww-wishlist-action img {
    display: block !important;
    width: 31px !important;
    height: 27px !important;
    filter: none !important;
  }
}

@media (min-width: 1120px) and (max-width: 1599px) {
  html body.ww-route-404 header.ww-site-header.ww-site-header .ww-header-inner {
    position: relative !important;
  }
  html body.ww-route-404 header.ww-site-header.ww-site-header .ww-header-inner .ww-header-actions {
    position: absolute !important;
    inset: 0 auto auto 0 !important;
    display: block !important;
    width: 100% !important;
    height: 118px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body.ww-route-404 header.ww-site-header.ww-site-header .ww-header-inner .ww-header-actions > a.ww-cart-link {
    position: absolute !important;
    top: 34px !important;
    left: 977px !important;
    display: grid !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body.ww-route-404 header.ww-site-header.ww-site-header .ww-header-inner .ww-header-actions > a.ww-account-link {
    position: absolute !important;
    top: 34px !important;
    left: 1035px !important;
    display: grid !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }
  html body.ww-route-404 header.ww-site-header.ww-site-header .ww-header-inner .ww-header-actions > a.ww-wishlist-action {
    position: absolute !important;
    top: 34px !important;
    left: 1097px !important;
    display: grid !important;
    width: 31px !important;
    min-width: 31px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body.ww-route-404 header.ww-site-header.ww-site-header .ww-header-inner .ww-header-actions img {
    object-fit: contain !important;
  }
  html body.ww-route-404 header.ww-site-header.ww-site-header .ww-header-inner .ww-header-actions > a.ww-cart-link img {
    width: 28px !important;
    height: 28px !important;
  }
  html body.ww-route-404 header.ww-site-header.ww-site-header .ww-header-inner .ww-header-actions > a.ww-account-link img {
    width: 34px !important;
    height: 29px !important;
  }
  html body.ww-route-404 header.ww-site-header.ww-site-header .ww-header-inner .ww-header-actions > a.ww-wishlist-action img {
    width: 31px !important;
    height: 27px !important;
  }
  html body.ww-route-404 header.ww-site-header.ww-site-header input#ww-desktop-search::placeholder {
    color: transparent !important;
  }
}

@media (min-width: 1120px) and (max-width: 1599px) {
  html body.ww-route-404 header.ww-site-header.ww-site-header .ww-header-inner .ww-header-actions > a.ww-cart-link img,
  html body.ww-route-404 header.ww-site-header.ww-site-header .ww-header-inner .ww-header-actions > a.ww-account-link img,
  html body.ww-route-404 header.ww-site-header.ww-site-header .ww-header-inner .ww-header-actions > a.ww-wishlist-action img {
    max-width: none !important;
    max-height: none !important;
  }
}

/* 404 tablet interpolation 861px→1120px: prevent the two-column layout jumping at the desktop frame. */
@media (min-width: 861px) and (max-width: 1119px) {
  html body.ww-route-404 main.ww-main { height: auto !important; min-height: 0 !important; }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found {
    position: relative !important;
    display: block !important;
    box-sizing: border-box !important;
    width: calc(130.888vw - 345.94px) !important;
    max-width: none !important;
    height: calc(1069.56px - 35.9073vw) !important;
    min-height: calc(1069.56px - 35.9073vw) !important;
    margin: 0 !important;
    margin-left: calc(173px - 15.444vw) !important;
    margin-right: 0 !important;
    padding: 0 !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found > .ww-empty-state__back {
    position: absolute !important;
    top: 7px !important;
    left: calc(15.444vw - 145px) !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 7px !important;
    width: 210px !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 19.4px !important;
    margin: 0 !important;
    padding: 0 !important;
    font: 400 16px/19.4px var(--ww-font-sans) !important;
  }
  html body.ww-route-404 .ww-empty-state__back-icon {
    display: block !important;
    flex: 0 0 22px !important;
    width: 22px !important;
    height: 15px !important;
    border: 0 !important;
    background:
      linear-gradient(#000, #000) 0 0 / 22px 2px no-repeat,
      linear-gradient(#000, #000) 0 9px / 9px 2px no-repeat !important;
  }
  html body.ww-route-404 .ww-empty-state__back > span:not(.ww-empty-state__back-icon) {
    display: block !important;
    width: 181px !important;
    font: 400 16px/19.4px var(--ww-font-sans) !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found img.ww-empty-state__dog {
    position: absolute !important;
    top: calc(119.57px - 3.5521vw) !important;
    left: calc(48.0309vw - 413.55px) !important;
    width: calc(43.4363vw + 0.375px) !important;
    height: calc(43.4363vw + 0.375px) !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
    object-fit: contain !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found > .ww-empty-state__copy {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found .ww-not-found-code {
    position: absolute !important;
    top: 110px !important;
    left: calc(135.444vw - 759.68px) !important;
    width: calc(2.20077vw + 152.35px) !important;
    height: calc(238.71px - 9.88417vw) !important;
    margin: 0 !important;
    font: 400 128px/153.6px 'BERNIER', Impact, 'Arial Narrow', sans-serif !important;
    letter-spacing: 0 !important;
    color: #000 !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found .ww-section-title {
    position: absolute !important;
    top: calc(363.7px - 9.88417vw) !important;
    left: calc(103.668vw - 485.9px) !important;
    width: calc(70.386vw - 424.3px) !important;
    max-width: none !important;
    margin: 0 !important;
    font: 400 24px/29.05px var(--ww-font-sans), Inter, sans-serif !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-transform: none !important;
    white-space: normal !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found .ww-button {
    position: absolute !important;
    top: calc(777px - 40vw) !important;
    left: calc(128.764vw - 702.1px) !important;
    display: flex !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    width: calc(1.66vw + 215.4px) !important;
    height: calc(6.178vw - 9.2px) !important;
    min-height: calc(6.178vw - 9.2px) !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #222 !important;
    color: #fff !important;
    font: 400 16px/19.4px var(--ww-font-sans) !important;
    text-transform: none !important;
    white-space: nowrap !important;
  }
}

html body.ww-route-404 main.ww-main section.ww-empty-state--not-found .ww-not-found-code,
html body.ww-route-404 main.ww-main section.ww-empty-state--not-found .ww-section-title {
  color: #000 !important;
}

/* Recovery screen desktop pass, checked against Figma 2831:2642 (1280) and
   2422:566 (1920). Both frames omit the fixed site header but reserve its
   top band, so keep its layout slot and hide it visually. */
@media (min-width: 861px) {
  html body.woocommerce-lost-password.ww-route-my-account .ww-site-header {
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

@media (min-width: 769px) and (max-width: 1599px) {
  html body.woocommerce-lost-password.ww-route-my-account main.ww-main article.ww-auth-route {
    padding-bottom: 160.703125px !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main section.ww-lost-password > h1 {
    color: #222 !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .ww-lost-password__lead {
    color: #000 !important;
    font-weight: 400 !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .woocommerce-ResetPassword label {
    margin: 0 0 1px 12px !important;
    color: #000 !important;
    font: 400 16px/19.4px var(--ww-font-sans) !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .woocommerce-ResetPassword input.input-text {
    box-sizing: border-box !important;
    width: 322px !important;
    height: 37px !important;
    min-height: 0 !important;
    margin-left: 12px !important;
    padding: 0 12px !important;
    border: 1px solid rgba(185, 185, 185, .7) !important;
    background: #f8f8f8 !important;
    color: #856550 !important;
    font: 300 15px/18.2px var(--ww-font-sans) !important;
    position: relative;
    top: -.5px;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .woocommerce-ResetPassword input.input-text::placeholder {
    color: #856550 !important;
    opacity: 1 !important;
    font: 300 15px/18.2px var(--ww-font-sans) !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .ww-lost-password__actions {
    display: grid !important;
    grid-template-columns: 258px 258px !important;
    gap: 19px !important;
    align-items: center !important;
    height: 44px !important;
    margin: 40px 0 0 !important;
    position: relative;
    top: -.5px;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .ww-lost-password__actions button,
  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .ww-lost-password__actions .button {
    width: 256px !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 0 !important;
    margin-left: 2px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #000 !important;
    color: #fff !important;
    font: 300 15px/18.2px var(--ww-font-sans) !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .ww-lost-password__actions a {
    width: 258px !important;
    margin: 0 !important;
    color: #000 !important;
    font: 300 15px/18.2px var(--ww-font-sans) !important;
    text-align: center !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .ww-lost-password__social-label {
    width: 199px !important;
    margin: 59px 0 0 157px !important;
    color: #000 !important;
    font: 400 16px/19.4px var(--ww-font-sans) !important;
    text-align: left !important;
    white-space: nowrap !important;
    position: relative;
    top: -.5px;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main section.ww-lost-password > .ww-auth-social {
    display: flex !important;
    justify-content: flex-start !important;
    gap: 68px !important;
    width: 151px !important;
    height: 38px !important;
    margin: 5px 0 0 189px !important;
    position: relative;
    top: -.9px;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main section.ww-lost-password > .ww-auth-social button {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    width: 37px !important;
    height: 38px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    opacity: 1 !important;
    filter: none !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main section.ww-lost-password > .ww-auth-social button:nth-child(2) {
    width: 46px !important;
    height: 37px !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main section.ww-lost-password > .ww-auth-social img {
    display: block !important;
    width: 37px !important;
    height: 37px !important;
    max-width: none !important;
    object-fit: contain !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .ww-lost-password__guest {
    display: block !important;
    width: 261px !important;
    margin: 3px 0 0 126px !important;
    color: #000 !important;
    font: 400 16px/19.4px var(--ww-font-sans) !important;
    text-align: left !important;
    position: relative;
    top: -.9px;
  }
}

@media (min-width: 1600px) {
  html body.woocommerce-lost-password.ww-route-my-account main.ww-main article.ww-auth-route {
    padding-bottom: 649.4px !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main section.ww-lost-password > h1 {
    color: #222 !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .ww-lost-password__lead {
    color: #000 !important;
    font-weight: 400 !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .woocommerce-ResetPassword label {
    color: #000 !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .woocommerce-ResetPassword input.input-text {
    border-color: rgba(185, 185, 185, .7) !important;
    background: #f8f8f8 !important;
    color: #856550 !important;
    position: relative;
    top: .3px;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .woocommerce-ResetPassword input.input-text::placeholder {
    color: #856550 !important;
    opacity: 1 !important;
    font-weight: 300 !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .ww-lost-password__actions {
    display: grid !important;
    grid-template-columns: 321px 321px !important;
    gap: 24px !important;
    width: 666px !important;
    height: 70px !important;
    margin: 63px 0 0 -1px !important;
    position: relative;
    top: .3px;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .ww-lost-password__actions button,
  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .ww-lost-password__actions .button {
    width: 319px !important;
    height: 70px !important;
    min-height: 0 !important;
    margin-left: 2px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    font: 300 20px/24.2px var(--ww-font-sans) !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .ww-lost-password__actions a {
    width: 321px !important;
    margin: 0 !important;
    color: #000 !important;
    font: 300 20px/24.2px var(--ww-font-sans) !important;
    text-align: center !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .ww-lost-password__social-label {
    width: 247px !important;
    margin: 92px 0 0 195px !important;
    color: #000 !important;
    font: 400 22px/26.6px var(--ww-font-sans) !important;
    text-align: left !important;
    white-space: nowrap !important;
    position: relative;
    top: .3px;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main section.ww-lost-password > .ww-auth-social {
    display: flex !important;
    justify-content: flex-start !important;
    gap: 78px !important;
    width: 195px !important;
    height: 52px !important;
    margin: 15.7px 0 0 231px !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main section.ww-lost-password > .ww-auth-social button {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    width: 53px !important;
    height: 52px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    opacity: 1 !important;
    filter: none !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main section.ww-lost-password > .ww-auth-social button:nth-child(2) {
    width: 64px !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main section.ww-lost-password > .ww-auth-social img {
    display: block !important;
    width: 46px !important;
    height: 46px !important;
    max-width: none !important;
    object-fit: contain !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .ww-lost-password__guest {
    display: block !important;
    width: 325px !important;
    margin: 8px 0 0 156px !important;
    color: #000 !important;
    font: 400 22px/26.6px var(--ww-font-sans) !important;
    text-align: left !important;
  }
}

.ww-lost-password__guest-break {
  display: none;
}

/* 402 px recovery frame (2698:6080). The page content ends at y827, where
   the 330 px footer fills the frame to y1157. */
@media (max-width: 768px) {
  html body.woocommerce-lost-password.ww-route-my-account main.ww-main section.ww-lost-password {
    padding-bottom: 208.6px !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main section.ww-lost-password > h1 {
    color: #222 !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .ww-lost-password__lead {
    color: #000 !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .woocommerce-ResetPassword label {
    position: relative;
    left: 1px;
    color: #000 !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .woocommerce-ResetPassword input.input-text {
    position: relative;
    left: 1px;
    width: 270px !important;
    height: 58px !important;
    min-height: 0 !important;
    padding: 0 10px !important;
    border: 1px solid rgba(185, 185, 185, .7) !important;
    background: #f8f8f8 !important;
    color: #856550 !important;
    font: 300 13px/15.7px var(--ww-font-sans) !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .woocommerce-ResetPassword input.input-text::placeholder {
    color: #856550 !important;
    opacity: 1 !important;
    font: 300 13px/15.7px var(--ww-font-sans) !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .ww-lost-password__actions {
    display: grid !important;
    grid-template-columns: 130px 130px !important;
    gap: 9px !important;
    align-items: center !important;
    width: 269px !important;
    height: 36px !important;
    margin: 35px 0 0 2px !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .ww-lost-password__actions button,
  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .ww-lost-password__actions .button {
    width: 129px !important;
    min-width: 0 !important;
    height: 36px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #000 !important;
    color: #fff !important;
    font: 300 13px/15.7px var(--ww-font-sans) !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .ww-lost-password__actions a {
    width: 130px !important;
    margin: 0 !important;
    color: #000 !important;
    font: 300 13px/15.7px var(--ww-font-sans) !important;
    text-align: center !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .ww-lost-password__social-label {
    margin-top: 49px !important;
    color: #000 !important;
    font: 400 14px/16.9px var(--ww-font-sans) !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main section.ww-lost-password > .ww-auth-social {
    display: block !important;
    position: relative !important;
    width: 57px !important;
    height: 26px !important;
    margin: 17px 0 0 107px !important;
    padding: 0 !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main section.ww-lost-password > .ww-auth-social button {
    display: flex !important;
    position: absolute !important;
    top: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    height: 26px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    opacity: 1 !important;
    filter: none !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main section.ww-lost-password > .ww-auth-social button:first-child {
    left: 31px !important;
    width: 26px !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main section.ww-lost-password > .ww-auth-social button:nth-child(2) {
    left: 0 !important;
    width: 33px !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main section.ww-lost-password > .ww-auth-social img {
    display: block !important;
    width: 26px !important;
    height: 26px !important;
    max-width: none !important;
    object-fit: contain !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main .ww-lost-password__guest {
    display: block !important;
    position: relative;
    left: .5px;
    width: 185px !important;
    max-width: none !important;
    margin: 20px auto 0 !important;
    color: #000 !important;
    font: 400 13px/15.7px var(--ww-font-sans) !important;
    text-align: center !important;
    white-space: normal !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account .ww-lost-password__guest-break {
    display: inline;
  }

  html body.woocommerce-lost-password.ww-route-my-account .ww-site-footer .ww-footer-main {
    position: relative !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 330px !important;
    min-height: 330px !important;
    padding: 0 !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account .ww-site-footer .ww-footer-main > nav {
    position: absolute !important;
    top: 64px !important;
    margin: 0 !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account .ww-site-footer .ww-footer-column--shop {
    left: 6.4677vw !important;
    width: 16.6667vw !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account .ww-site-footer .ww-footer-column--about {
    left: 23.1343vw !important;
    width: 24.8756vw !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account .ww-site-footer .ww-footer-column--reviews {
    left: 48.01vw !important;
    width: 16.9154vw !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account .ww-site-footer .ww-footer-column--contacts {
    left: 64.9254vw !important;
    width: 28.8557vw !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account .ww-site-footer .ww-footer-kicker {
    margin-bottom: 39px !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account .ww-site-footer .ww-footer-main nav a {
    margin-bottom: 19px !important;
  }
}

/* Clear the legacy 1303px auth minimum in the tablet band; it left an empty
   ~550px strip before the footer at 768–860px. */
@media (min-width: 768px) and (max-width: 860px) {
  html body.woocommerce-lost-password.ww-route-my-account main.ww-main article.ww-auth-route {
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 160px !important;
  }

  html body.woocommerce-lost-password.ww-route-my-account main.ww-main article.ww-auth-route > .woocommerce {
    height: auto !important;
    min-height: 0 !important;
  }
}

@media (min-width: 769px) and (max-width: 860px) {
  html body.woocommerce-lost-password.ww-route-my-account main.ww-main section.ww-lost-password {
    position: relative !important;
    left: clamp(0px, calc(50.54vw - 388.7px), 46.5px) !important;
    padding-top: 84px !important;
  }
}

/* Password reset confirmation frame 2422:663 (1920×1099). */
html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done h1 {
  color: #222 !important;
}

html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done__back {
  color: #000 !important;
}

html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done__cart {
  color: #fff !important;
  background-color: #000 !important;
}

@media (min-width: 1600px) {
  html body.ww-password-reset-done-route[class] header.ww-site-header {
    display: none !important;
  }

  html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done h1 {
    margin-bottom: 35px !important;
    height: 57px !important;
    line-height: 46.1px !important;
  }

  html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done__actions {
    width: 797px !important;
    margin-left: calc(50% - 318px) !important;
  }

  html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done__back {
    position: relative;
    top: 15.6px;
    width: 242px !important;
    font-weight: 400 !important;
    line-height: 26.6px !important;
    text-align: left !important;
  }

  html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done__cart {
    width: 364px !important;
    min-width: 364px !important;
    padding: 12px 47px 12px 45px !important;
    gap: 22px !important;
    white-space: nowrap !important;
    line-height: 26.6px !important;
  }

  html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done__arrow {
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 18px !important;
    position: relative;
    top: 0;
    filter: brightness(0) invert(1) !important;
  }
  html body.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done__arrow > img {
    display: block !important;
    width: 46px !important;
    height: 18px !important;
    max-width: none !important;
    object-fit: fill !important;
  }
}

/* Between phone and the 1280 frame, keep the empty wishlist inside its grid.
   The desktop 474px dog and 8.5px copy offset overflowed the narrower tracks. */
@media (min-width: 861px) and (max-width: 1199px) {
  html body.ww-wishlist-empty[class] main.ww-main .ww-empty-state__dog {
    width: 100% !important;
    max-width: 474px !important;
    height: auto !important;
    transform: none !important;
  }
  html body.ww-wishlist-empty[class] main.ww-main .ww-empty-state--wishlist .ww-lede {
    left: 0 !important;
  }
}

/* Contacts frame 2422:1285 (1920×1572). Scale the desktop composition from
   1600 to 1920px so the source frame stays exact without overflowing at 1600. */
@media (min-width: 1600px) {
  html body.ww-route-contacts[class] header.ww-site-header .ww-brand {
    transform: translateY(clamp(0px, calc(13.75vw - 220px), 44px)) !important;
  }

  html body.ww-route-contacts.ww-route-contacts[class] header.ww-site-header.ww-site-header .ww-brand img.ww-brand__image {
    filter: brightness(0) !important;
  }

  html body.ww-route-contacts[class] header.ww-site-header .ww-nav__menu:not(.ww-nav__menu--mobile) > li.ww-nav__item--shop {
    position: relative !important;
    left: clamp(0px, calc(21.35625vw - 341.7px), 68.34px) !important;
    top: clamp(0px, calc(12.8125vw - 205px), 41px) !important;
    transform: none !important;
  }

  html body.ww-route-contacts[class] header.ww-site-header .ww-nav__menu:not(.ww-nav__menu--mobile) > li:nth-child(2) {
    position: relative !important;
    transform: translate(clamp(0px, calc(24.375vw - 390px), 78px), clamp(0px, calc(12.5vw - 200px), 40px)) !important;
  }

  html body.ww-route-contacts[class] header.ww-site-header .ww-nav__menu:not(.ww-nav__menu--mobile) > li:nth-child(2) > a {
    width: clamp(86.67px, 5.416667vw, 104px) !important;
    max-width: clamp(86.67px, 5.416667vw, 104px) !important;
    flex: 0 0 clamp(86.67px, 5.416667vw, 104px) !important;
    position: relative !important;
    top: clamp(0px, calc(3.125vw - 50px), 10px) !important;
    white-space: normal !important;
    line-height: 21.1px !important;
  }

  html body.ww-route-contacts[class] header.ww-site-header .ww-nav__menu:not(.ww-nav__menu--mobile) > li:nth-child(3) {
    position: relative !important;
    transform: translate(clamp(0px, calc(24.53125vw - 392.5px), 78.5px), clamp(0px, calc(12.5vw - 200px), 40px)) !important;
  }

  html body.ww-route-contacts.ww-route-contacts[class] header.ww-site-header.ww-site-header .ww-header-actions > form.ww-header-search:not(.ww-header-search--mobile) {
    display: grid !important;
    position: relative !important;
    left: clamp(-87px, calc(435px - 27.1875vw), 0px) !important;
    top: clamp(0px, calc(10.9375vw - 175px), 35px) !important;
    transform: none !important;
  }

  html body.ww-route-contacts.ww-route-contacts[class] header.ww-site-header.ww-site-header .ww-header-actions > form.ww-header-search:not(.ww-header-search--mobile) input {
    width: clamp(210px, 13.125vw, 252px) !important;
    position: relative !important;
    left: clamp(0px, calc(5vw - 80px), 16px) !important;
  }

  html body.ww-route-contacts.ww-route-contacts[class] header.ww-site-header.ww-site-header .ww-header-actions > form.ww-header-search:not(.ww-header-search--mobile) input::placeholder {
    color: transparent !important;
    opacity: 0 !important;
  }

  html body.ww-route-contacts.ww-route-contacts[class] header.ww-site-header.ww-site-header .ww-header-actions > form.ww-header-search:not(.ww-header-search--mobile) button {
    position: relative !important;
    left: clamp(-6px, calc(30px - 1.875vw), 0px) !important;
    top: clamp(-7px, calc(35px - 2.1875vw), 0px) !important;
    transform: none !important;
    background-color: #000 !important;
    -webkit-mask-size: 26px 23px !important;
    mask-size: 26px 23px !important;
    -webkit-mask-position: 4px 6px !important;
    mask-position: 4px 6px !important;
  }

  html body.ww-route-contacts.ww-route-contacts[class] header.ww-site-header.ww-site-header .ww-header-actions > .ww-cart-link {
    position: relative !important;
    left: clamp(-75px, calc(375px - 23.4375vw), 0px) !important;
    top: clamp(0px, calc(13.4375vw - 215px), 43px) !important;
    transform: none !important;
  }

  html body.ww-route-contacts.ww-route-contacts[class] header.ww-site-header.ww-site-header .ww-header-actions > .ww-cart-link::before {
    left: -1px !important;
    top: -5px !important;
    right: auto !important;
    bottom: auto !important;
    width: 22px !important;
    height: 28px !important;
    background-color: #000 !important;
    -webkit-mask-size: 100% 100% !important;
    mask-size: 100% 100% !important;
  }

  html body.ww-route-contacts.ww-route-contacts[class] header.ww-site-header.ww-site-header .ww-header-actions > .ww-account-link {
    position: relative !important;
    left: clamp(-66px, calc(330px - 20.625vw), 0px) !important;
    top: clamp(0px, calc(13.4375vw - 215px), 43px) !important;
    transform: none !important;
  }

  html body.ww-route-contacts.ww-route-contacts[class] header.ww-site-header.ww-site-header .ww-header-actions > .ww-account-link::before {
    left: -2px !important;
    top: -1px !important;
    right: auto !important;
    bottom: auto !important;
    width: 26px !important;
    height: 22px !important;
    background-color: #000 !important;
    -webkit-mask-size: 100% 100% !important;
    mask-size: 100% 100% !important;
  }

  html body.ww-route-contacts.ww-route-contacts[class] header.ww-site-header.ww-site-header .ww-header-actions > .ww-wishlist-action {
    position: relative !important;
    left: clamp(-55px, calc(275px - 17.1875vw), 0px) !important;
    top: clamp(0px, calc(12.8125vw - 205px), 41px) !important;
    transform: none !important;
  }

  html body.ww-route-contacts.ww-route-contacts[class] header.ww-site-header.ww-site-header .ww-header-actions > .ww-wishlist-action::before {
    left: -4px !important;
    top: -3px !important;
    right: auto !important;
    bottom: auto !important;
    width: 33px !important;
    height: 30px !important;
    -webkit-mask-size: 100% 100% !important;
    mask-size: 100% 100% !important;
  }

  html body.ww-route-contacts[class] article.ww-contact-page {
    padding-bottom: clamp(164px, calc(45px + 7.03125vw), 180.4px) !important;
  }

  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-back {
    position: relative !important;
    left: clamp(7.5px, 0.46875vw, 9px) !important;
    top: clamp(14px, calc(9px + 0.3125vw), 15px) !important;
    gap: 13px !important;
    min-height: 44px !important;
    align-items: flex-start !important;
    color: #737373 !important;
  }
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-back--home { display: inline-flex !important; }
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-back--shop { display: none !important; }

  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-back .ww-return-back__icon {
    position: relative !important;
    display: block !important;
    width: 22px !important;
    height: 21px !important;
    margin-right: 12px !important;
    border: 0 !important;
    background: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
  }

  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-back .ww-return-back__icon::before {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 22px !important;
    height: 2px !important;
    background: #000 !important;
  }

  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-back .ww-return-back__icon::after {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 13px !important;
    width: 9px !important;
    height: 2px !important;
    border: 0 !important;
    background: #000 !important;
  }

  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-back > span:not(.ww-return-back__icon) {
    width: 175px !important;
    flex: 0 0 175px !important;
    line-height: 19.4px !important;
  }

  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-head {
    position: relative !important;
    left: clamp(7.5px, 0.46875vw, 9px) !important;
    top: clamp(-9px, calc(45px - 2.8125vw), 0px) !important;
  }

  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-head p {
    position: relative !important;
    top: clamp(-5.3px, calc(26.5px - 1.65625vw), 0px) !important;
  }

  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-grid {
    position: relative !important;
    left: clamp(7.5px, 0.46875vw, 9px) !important;
    grid-template-columns: clamp(390px, 24.375vw, 468px) clamp(410px, 25.625vw, 492px) clamp(533.33px, 33.333333vw, 640px) !important;
    column-gap: 0 !important;
  }

  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-grid > section {
    min-height: 379.2px !important;
    padding-top: 0 !important;
  }

  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-grid > section:first-child {
    width: clamp(390px, 24.375vw, 468px) !important;
  }

  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-grid > section:nth-child(2) {
    position: relative !important;
    left: clamp(4.17px, 0.2604167vw, 5px) !important;
    width: clamp(390px, 24.375vw, 468px) !important;
  }

  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-grid > section:nth-child(3) {
    position: relative !important;
    left: clamp(4.17px, 0.2604167vw, 5px) !important;
    top: -4px !important;
    width: clamp(529.17px, 33.072917vw, 635px) !important;
  }
}

/* Contacts frame 2831:2168 (1280×1165), with continuous scaling to the
   1600px desktop transition. The 402 frame's exported content overlaps, so
   the live mobile flow stays stacked and readable. */
@media (min-width: 1200px) and (max-width: 1599px) {
  html body.ww-route-contacts[class] header.ww-site-header .ww-nav { display: none !important; }

  html body.ww-route-contacts[class] header.ww-site-header .ww-brand {
    position: absolute !important;
    left: calc(215px - 13.4375vw) !important;
    top: calc(43px - 0.625vw) !important;
    width: calc(225px + 0.3125vw) !important;
    height: clamp(48px, calc(32px + 1.25vw), 52px) !important;
    transform: none !important;
  }

  html body.ww-route-contacts[class] header.ww-site-header .ww-brand__image {
    width: calc(225px + 0.3125vw) !important;
    height: clamp(48px, calc(32px + 1.25vw), 52px) !important;
    max-width: none !important;
    filter: none !important;
  }

  html body.ww-route-contacts[class] header.ww-site-header .ww-menu-toggle {
    display: block !important;
    position: absolute !important;
    left: -4.140625vw !important;
    top: 44px !important;
    width: 50px !important;
    height: 29px !important;
    min-width: 50px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    z-index: 70 !important;
  }

  html body.ww-route-contacts[class] header.ww-site-header .ww-menu-toggle > span[aria-hidden="true"] {
    position: absolute !important;
    left: 0 !important;
    width: 50px !important;
    height: 2px !important;
    background: #000 !important;
    transform: none !important;
  }
  html body.ww-route-contacts[class] header.ww-site-header .ww-menu-toggle > span[aria-hidden="true"]:first-child { top: 0 !important; }
  html body.ww-route-contacts[class] header.ww-site-header .ww-menu-toggle > span[aria-hidden="true"]:nth-child(2) { top: 14px !important; }
  html body.ww-route-contacts[class] header.ww-site-header .ww-menu-toggle::after {
    content: '' !important; display: block !important; position: absolute !important;
    left: 0 !important; top: 29px !important; width: 50px !important; height: 2px !important;
    background: #000 !important; opacity: 1 !important;
  }

  html body.ww-route-contacts[class] header.ww-site-header .ww-header-actions {
    display: block !important; position: fixed !important; left: 0 !important; top: 0 !important;
    width: 100vw !important; height: 118px !important; z-index: 2 !important;
  }
  html body.ww-route-contacts[class] header.ww-site-header .ww-header-actions > form.ww-header-search:not(.ww-header-search--mobile) {
    display: grid !important; position: absolute !important;
    left: calc(115.3125vw - 693px) !important; top: calc(36px + 0.3125vw) !important;
    width: clamp(210px, calc(340px - 8.125vw), 236px) !important;
    height: calc(26px + 0.625vw) !important; grid-template-columns: minmax(0, 1fr) 29px !important;
    border: 0 !important; border-bottom: 1px solid #000 !important; border-radius: 0 !important;
  }
  html body.ww-route-contacts[class] header.ww-site-header .ww-header-search input {
    display: block !important; width: 100% !important; height: calc(25px + 0.625vw) !important;
    padding: 0 4px !important;
  }
  html body.ww-route-contacts[class] header.ww-site-header .ww-header-search input::placeholder {
    color: transparent !important; opacity: 0 !important;
  }
  html body.ww-route-contacts[class] header.ww-site-header .ww-header-actions > form.ww-header-search:not(.ww-header-search--mobile) button {
    display: grid !important; position: absolute !important; right: calc(48px - 2.8125vw) !important;
    top: 0 !important; width: 29px !important; height: 28px !important; min-height: 0 !important;
    padding: 0 !important; background-color: #000 !important;
    -webkit-mask-size: 29px 28px !important; mask-size: 29px 28px !important;
  }
  html body.ww-route-contacts[class] header.ww-site-header .ww-header-actions > .ww-cart-link {
    display: grid !important; position: absolute !important;
    left: calc(99.6875vw - 219px) !important; top: calc(67px - 1.875vw) !important;
    width: clamp(27px, calc(7px + 1.5625vw), 32px) !important;
    height: clamp(27px, calc(-41px + 5.3125vw), 44px) !important;
  }
  html body.ww-route-contacts.ww-route-contacts[class] header.ww-site-header.ww-site-header .ww-header-actions > .ww-cart-link img {
    width: 27px !important;
    height: 26px !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: fill !important;
    transform: scale(1.2, 1.08) !important;
    filter: brightness(0) !important;
  }
  html body.ww-route-contacts[class] header.ww-site-header .ww-header-actions > .ww-account-link {
    display: grid !important; position: absolute !important;
    left: calc(96.25vw - 118px) !important; top: calc(67px - 1.875vw) !important;
    width: calc(42px - 0.625vw) !important;
    height: clamp(27px, calc(-41px + 5.3125vw), 44px) !important;
  }
  html body.ww-route-contacts[class] header.ww-site-header .ww-account-link img {
    width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important;
  }
  html body.ww-route-contacts[class] header.ww-site-header .ww-header-actions > .ww-wishlist-action {
    display: grid !important; position: absolute !important;
    left: calc(91.25vw + 8px) !important; top: calc(67px - 1.875vw) !important;
    width: calc(37px - 0.3125vw) !important; height: clamp(30px, calc(-26px + 4.375vw), 44px) !important;
  }
  html body.ww-route-contacts[class] header.ww-site-header .ww-wishlist-action img {
    width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important;
  }

  html body.ww-route-contacts[class] main.ww-main { min-height: 0 !important; }
  html body.ww-route-contacts[class] article.ww-contact-page {
    padding-bottom: clamp(40px, calc(38.75vw - 456px), 164px) !important;
    margin-bottom: clamp(-18px, calc(5.625vw - 90px), 0px) !important;
  }
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-back--home { display: none !important; }
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-back--shop { display: inline-flex !important; }
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-back {
    position: relative !important; top: clamp(-67px, calc(20.9375vw - 335px), 0px) !important;
    margin-top: -169px !important; color: #000 !important;
  }
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-head {
    position: relative !important; top: clamp(-81px, calc(25.3125vw - 405px), 0px) !important;
    margin-top: clamp(64px, calc(124px - 3.75vw), 76px) !important;
  }
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-grid {
    position: relative !important;
    left: clamp(0px, calc(2.34375vw - 30px), 7.5px) !important;
    top: clamp(-11.8px, calc(3.6875vw - 59px), 0px) !important;
    grid-template-columns: clamp(353px, calc(11.5625vw + 205px), 390px)
      clamp(371px, calc(12.1875vw + 215px), 410px)
      clamp(479px, calc(16.979167vw + 261.67px), 533.33px) !important;
    column-gap: 0 !important;
    margin-top: clamp(3.55px, calc(53.578125vw - 682.25px), 175px) !important;
  }
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-grid > section {
    min-height: clamp(336px, calc(13.5vw + 163.2px), 379.2px) !important;
    padding-top: 0 !important;
  }
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-grid > section:first-child,
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-grid > section:nth-child(2) {
    width: clamp(353px, calc(11.5625vw + 205px), 390px) !important;
  }
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-grid > section:nth-child(2),
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-grid > section:nth-child(3) {
    position: relative !important; left: clamp(4px, 0.2604167vw, 5px) !important;
  }
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-grid > section:nth-child(3) {
    top: calc(1px - 0.3125vw) !important;
    width: clamp(479px, calc(16.979167vw + 261.67px), 533.33px) !important;
  }
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-legal h2 + h2 { margin-top: 48px !important; }

  html.ww-menu-open body.ww-route-contacts[class] header.ww-site-header .ww-nav.is-open {
    display: block !important; position: fixed !important; inset: 0 !important;
    width: 100vw !important; height: 100vh !important; margin: 0 !important;
    padding: 189px 35px 40px !important; overflow-y: auto !important;
    background: #fff !important; color: #222 !important; z-index: 60 !important;
  }
  html body.ww-route-contacts[class] header.ww-site-header .ww-nav__menu--mobile { display: block !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
  html body.ww-route-contacts[class] header.ww-site-header .ww-nav__menu--mobile > li { position: static !important; width: auto !important; height: auto !important; margin: 0 0 9px !important; }
  html body.ww-route-contacts[class] header.ww-site-header .ww-nav__menu--mobile > li > a { display: block !important; width: auto !important; min-height: 43px !important; padding: 0 !important; font: 300 24px/29px var(--ww-font-sans) !important; }
}

@media (max-width: 1199px) {
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-back--home { display: none !important; }
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-back--shop { display: inline-flex !important; }
}

@media (min-width: 1200px) and (max-width: 1279px) {
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-grid {
    grid-template-columns: calc(30.75vw - 40.6px) calc(32.75vw - 48.2px) calc(41.25vw - 49px) !important;
  }
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-grid > section:first-child,
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-grid > section:nth-child(2) {
    width: calc(30.75vw - 40.6px) !important;
  }
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-grid > section:nth-child(3) {
    width: calc(41.25vw - 49px) !important;
  }
}

@media (min-width: 1280px) and (max-width: 1599px) {
  html body.ww-route-contacts[class] article.ww-contact-page {
    box-sizing: border-box !important;
    width: clamp(1280px, calc(16.666667vw + 1066.67px), 1333.33px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: clamp(0px, calc(200px - 12.5vw), 40px) !important;
    padding-right: clamp(0px, calc(200px - 12.5vw), 40px) !important;
  }
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-back {
    left: clamp(0px, calc(2.34375vw - 30px), 7.5px) !important;
    margin-left: clamp(-12px, calc(3.75vw - 60px), 0px) !important;
    margin-top: clamp(-169px, calc(25.3125vw - 493px), -88px) !important;
  }
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-head,
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-grid {
    left: clamp(0px, calc(2.34375vw - 30px), 7.5px) !important;
  }
}

@media (min-width: 1200px) and (max-width: 1599px) {
  html body.ww-route-contacts[class] header.ww-site-header .ww-menu-toggle > span[aria-hidden="true"] {
    transform-origin: center !important;
    transition: transform .3s ease-in-out, opacity .3s ease-in-out !important;
  }
  html.ww-menu-open body.ww-route-contacts[class] header.ww-site-header .ww-menu-toggle > span[aria-hidden="true"]:first-child {
    transform: translateY(7px) rotate(45deg) !important;
  }
  html.ww-menu-open body.ww-route-contacts[class] header.ww-site-header .ww-menu-toggle > span[aria-hidden="true"]:nth-child(2) {
    transform: translateY(-7px) rotate(-45deg) !important;
  }
  html.ww-menu-open body.ww-route-contacts[class] header.ww-site-header .ww-menu-toggle::after {
    opacity: 0 !important;
  }
}

@media (max-width: 768px) {
  html body:not(.home):not(.single-product).ww-route-contacts[class] header.ww-site-header.ww-site-header .ww-brand {
    inset: 54px auto auto 67px !important;
  }
  html body.ww-route-contacts.ww-route-contacts[class] header.ww-site-header.ww-site-header.ww-site-header .ww-header-actions > form.ww-header-search:not(.ww-header-search--mobile) {
    display: grid !important;
    position: absolute !important;
    left: auto !important;
    right: 12.94vw !important;
    top: 51px !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    grid-template-columns: 1fr !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  html body.ww-route-contacts.ww-route-contacts[class] header.ww-site-header.ww-site-header.ww-site-header .ww-header-actions > form.ww-header-search:not(.ww-header-search--mobile):not(.is-open) input {
    display: none !important;
  }
  html body.ww-route-contacts.ww-route-contacts[class] header.ww-site-header.ww-site-header.ww-site-header .ww-header-actions > form.ww-header-search:not(.ww-header-search--mobile) button {
    display: grid !important;
    position: static !important;
    place-items: center !important;
    width: 40px !important;
    min-height: 0 !important;
    height: 40px !important;
    padding: 0 !important;
    border: 0 !important;
    background-color: #000 !important;
    -webkit-mask: var(--wa-ico-search) center / 14px 14px no-repeat !important;
    mask: var(--wa-ico-search) center / 14px 14px no-repeat !important;
  }
  html body.ww-route-contacts.ww-route-contacts[class] header.ww-site-header.ww-site-header.ww-site-header .ww-header-actions > a.ww-account-link {
    display: none !important;
  }
  html body.ww-route-contacts.ww-route-contacts[class] header.ww-site-header.ww-site-header.ww-site-header .ww-header-actions > .ww-cart-link {
    position: absolute !important;
    right: 6.7164vw !important;
    left: auto !important;
    top: 61px !important;
    width: 20px !important;
    height: 20px !important;
  }
  html body.ww-route-contacts.ww-route-contacts[class] header.ww-site-header.ww-site-header.ww-site-header .ww-header-actions > .ww-cart-link img {
    width: 14px !important;
    height: 14px !important;
    max-width: 14px !important;
    max-height: 14px !important;
    object-fit: contain !important;
  }
  html body.ww-route-contacts[class] main.ww-main article.ww-contact-page {
    padding-top: 20px !important;
  }
  html body.ww-route-contacts[class] main.ww-main .ww-contact-page .ww-contact-back {
    position: relative !important;
    top: 4px !important;
  }
}

@media (min-width: 1200px) and (max-width: 1599px) {
  html body.ww-route-contacts.ww-route-contacts[class] header.ww-site-header.ww-site-header .ww-account-link img {
    width: calc(42px - 0.625vw) !important;
    height: 27px !important;
    min-height: 0 !important;
    max-height: 27px !important;
  }
}

@media (min-width: 1600px) {
  html body.ww-password-reset-done-route.ww-password-reset-done-route[class] main.ww-main section.ww-password-reset-done h1#ww-password-reset-done-title {
    color: #222 !important;
  }
  html body.ww-password-reset-done-route.ww-password-reset-done-route[class] main.ww-main section.ww-password-reset-done a.ww-password-reset-done__back {
    color: #000 !important;
  }
}

/* Archived contact exports show two horizontal strokes for Group 400 at
   1280/mobile. The shared return-15.svg is an X, so keep this route on strokes. */
@media (max-width: 1599px) {
  html body.ww-route-contacts.ww-route-contacts[class] main.ww-main article.ww-contact-page .ww-contact-back .ww-return-back__icon {
    display: block !important;
    position: relative !important;
    flex: 0 0 15px !important;
    width: 15px !important;
    height: 15px !important;
    margin-right: 14px !important;
    border: 0 !important;
    background: none !important;
    overflow: visible !important;
    font-size: 0 !important;
    line-height: 0 !important;
  }
  html body.ww-route-contacts.ww-route-contacts[class] main.ww-main article.ww-contact-page .ww-contact-back .ww-return-back__icon::before,
  html body.ww-route-contacts.ww-route-contacts[class] main.ww-main article.ww-contact-page .ww-contact-back .ww-return-back__icon::after {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    height: 2px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #000 !important;
    transform: none !important;
  }
  html body.ww-route-contacts.ww-route-contacts[class] main.ww-main article.ww-contact-page .ww-contact-back .ww-return-back__icon::before {
    top: -2px !important;
    width: 21.2132px !important;
  }
  html body.ww-route-contacts.ww-route-contacts[class] main.ww-main article.ww-contact-page .ww-contact-back .ww-return-back__icon::after {
    left: -0.7px !important;
    top: 7.3px !important;
    width: 8.88715px !important;
  }
}

@media (min-width: 1600px) {
  html body.ww-password-reset-done-route.ww-password-reset-done-route[class] main.ww-main .ww-password-reset-done__arrow {
    transform: none !important;
  }
}

@media (min-width: 1600px) {
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-back--home { display: inline-flex !important; }
  html body.ww-route-contacts[class] article.ww-contact-page .ww-contact-back--shop { display: none !important; }
}

/* Figma 402px home frame `2528:718`: darken only the left 370px of the hero;
   the old broad overlay made the image too dark and the current transparent
   desktop header treatment has no equivalent at phone widths. */
@media (max-width: 768px) {
  html body.home[class] main.ww-main .ww-figma-hero {
    position: relative !important;
  }
  html body.home[class] main.ww-main .ww-figma-hero::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 auto 0 -1px !important;
    z-index: 2 !important;
    width: min(370px, 92.0398vw) !important;
    height: 100% !important;
    pointer-events: none !important;
    background: linear-gradient(90deg, rgba(0, 0, 0, .32) 0%, rgba(0, 0, 0, .25) 25%, rgba(0, 0, 0, 0) 57%) !important;
  }
  html body.home[class] main.ww-main .ww-figma-hero__copy {
    z-index: 3 !important;
  }
}

/* Mobile commerce progress — measured from raw Figma frame 2632:815 (402px).
   The later shared mobile grid rules otherwise center the steps and replace
   Figma's two arrow vectors with connector lines. Scale this one row from 402px
   so the third label stays inside 320px viewports. */
@media (max-width: 430px) and (orientation: portrait) {
  html body.woocommerce-cart[class] main.ww-main div.ww-commerce-progress > ol,
  html body.woocommerce-checkout[class] main.ww-main div.ww-commerce-progress > ol {
    position: relative !important;
    left: -16px !important;
    display: block !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 10vw !important;
    min-height: 0 !important;
    margin: 7.9602vw 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  html body.woocommerce-checkout[class] main.ww-main article.ww-commerce-route div.ww-commerce-progress > ol {
    left: -21px !important;
  }
  html body.woocommerce-cart[class] main.ww-main div.ww-commerce-progress > ol > li,
  html body.woocommerce-checkout[class] main.ww-main div.ww-commerce-progress > ol > li {
    position: absolute !important;
    top: 0 !important;
    display: block !important;
    flex: none !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    left: 0 !important;
    right: auto !important;
    transform: none !important;
    text-align: left !important;
  }
  html body.woocommerce-cart[class] main.ww-main div.ww-commerce-progress > ol > li:nth-child(1),
  html body.woocommerce-checkout[class] main.ww-main div.ww-commerce-progress > ol > li:nth-child(1) { left: 5.4726vw !important; }
  html body.woocommerce-cart[class] main.ww-main div.ww-commerce-progress > ol > li:nth-child(2),
  html body.woocommerce-checkout[class] main.ww-main div.ww-commerce-progress > ol > li:nth-child(2) { left: 34.0796vw !important; }
  html body.woocommerce-cart[class] main.ww-main div.ww-commerce-progress > ol > li:nth-child(3),
  html body.woocommerce-checkout[class] main.ww-main div.ww-commerce-progress > ol > li:nth-child(3) { left: 73.3831vw !important; }
  html body.woocommerce-cart[class] main.ww-main div.ww-commerce-progress > ol > li > span,
  html body.woocommerce-checkout[class] main.ww-main div.ww-commerce-progress > ol > li > span {
    position: absolute !important;
    top: .7463vw !important;
    left: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: max(16px, 4.4776vw) !important;
    min-width: max(16px, 4.4776vw) !important;
    height: max(16px, 4.4776vw) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #000 !important;
    border-radius: 50% !important;
    font: 500 max(10px, 3.2338vw)/1 var(--ww-font-sans) !important;
    color: #000 !important;
    background: #fff !important;
  }
  html body.woocommerce-cart[class] main.ww-main div.ww-commerce-progress > ol > li.is-active > span,
  html body.woocommerce-checkout[class] main.ww-main div.ww-commerce-progress > ol > li.is-active > span {
    background: #f3dbc1 !important;
    border-color: #f3dbc1 !important;
  }
  html body.woocommerce-cart[class] main.ww-main div.ww-commerce-progress > ol > li > strong,
  html body.woocommerce-checkout[class] main.ww-main div.ww-commerce-progress > ol > li > strong {
    position: absolute !important;
    top: 0 !important;
    display: block !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font: 400 max(10px, 2.9851vw)/max(12.07px, 3.607vw) var(--ww-font-sans) !important;
    text-align: left !important;
    white-space: normal !important;
  }
  html body.woocommerce-cart[class] main.ww-main div.ww-commerce-progress > ol > li.is-active > strong,
  html body.woocommerce-checkout[class] main.ww-main div.ww-commerce-progress > ol > li.is-active > strong { font-weight: 700 !important; }
  html body.woocommerce-cart[class] main.ww-main div.ww-commerce-progress > ol > li:nth-child(1) > strong,
  html body.woocommerce-checkout[class] main.ww-main div.ww-commerce-progress > ol > li:nth-child(1) > strong {
    left: 4.9751vw !important;
    width: 13.9303vw !important;
  }
  html body.woocommerce-cart[class] main.ww-main div.ww-commerce-progress > ol > li:nth-child(1).is-active > strong,
  html body.woocommerce-checkout[class] main.ww-main div.ww-commerce-progress > ol > li:nth-child(1).is-active > strong {
    position: absolute !important;
    left: 4.9751vw !important;
    display: block !important;
    width: 13.9303vw !important;
    min-width: 13.9303vw !important;
    max-width: none !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  html body.woocommerce-cart[class] main.ww-main div.ww-commerce-progress > ol > li:nth-child(2) > strong,
  html body.woocommerce-checkout[class] main.ww-main div.ww-commerce-progress > ol > li:nth-child(2) > strong {
    left: 5.9701vw !important;
    width: 25.8706vw !important;
  }
  html body.woocommerce-cart[class] main.ww-main div.ww-commerce-progress > ol > li:nth-child(3) > span,
  html body.woocommerce-checkout[class] main.ww-main div.ww-commerce-progress > ol > li:nth-child(3) > span {
    width: max(16px, 4.7264vw) !important;
    min-width: max(16px, 4.7264vw) !important;
  }
  html body.woocommerce-cart[class] main.ww-main div.ww-commerce-progress > ol > li:nth-child(3) > strong,
  html body.woocommerce-checkout[class] main.ww-main div.ww-commerce-progress > ol > li:nth-child(3) > strong {
    left: 7.4627vw !important;
    width: 17.4129vw !important;
  }
  html body.woocommerce-cart[class] main.ww-main div.ww-commerce-progress > ol > li::before,
  html body.woocommerce-cart[class] main.ww-main div.ww-commerce-progress > ol > li::after,
  html body.woocommerce-checkout[class] main.ww-main div.ww-commerce-progress > ol > li::before,
  html body.woocommerce-checkout[class] main.ww-main div.ww-commerce-progress > ol > li::after { display: none !important; }
  html body.woocommerce-cart[class] main.ww-main div.ww-commerce-progress > ol::before,
  html body.woocommerce-cart[class] main.ww-main div.ww-commerce-progress > ol::after,
  html body.woocommerce-checkout[class] main.ww-main div.ww-commerce-progress > ol::before,
  html body.woocommerce-checkout[class] main.ww-main div.ww-commerce-progress > ol::after {
    content: '' !important;
    position: absolute !important;
    top: 2.4876vw !important;
    display: block !important;
    height: 1.9901vw !important;
    margin: 0 !important;
    border: 0 !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 100% 100% !important;
    transform: none !important;
  }
  html body.woocommerce-cart[class] main.ww-main div.ww-commerce-progress > ol::before,
  html body.woocommerce-checkout[class] main.ww-main div.ww-commerce-progress > ol::before {
    left: 24.3781vw !important;
    width: 5.9701vw !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='8' viewBox='0 0 24 8'%3E%3Cpath d='M0 .5h23M19 .5l4 3.5-4 3.5' fill='none' stroke='%23000'/%3E%3C/svg%3E") !important;
  }
  html body.woocommerce-cart[class] main.ww-main div.ww-commerce-progress > ol::after,
  html body.woocommerce-checkout[class] main.ww-main div.ww-commerce-progress > ol::after {
    left: 63.4328vw !important;
    width: 6.2189vw !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='8' viewBox='0 0 25 8'%3E%3Cpath d='M0 .5h24M20 .5l4 3.5-4 3.5' fill='none' stroke='%23000'/%3E%3C/svg%3E") !important;
  }
}

/* Runtime notices add content above the Figma order list; keep cards below it. */
html body.logged-in[class] main.ww-main .woocommerce-MyAccount-content > :is(.woocommerce-info, .woocommerce-error, .woocommerce-message, .woocommerce-notices-wrapper:not(:empty)) ~ .ww-account-orders {
  margin-top: 0;
}

/* Scoped raw Figma affine image window for the guarded cat-wall-key-holder reference image. */
html body.single-product main.ww-main .ww-figma-product-gallery.is-reference-image .ww-figma-product-gallery__stage {
  position: relative !important;
  overflow: hidden !important;
}
html body.single-product main.ww-main .ww-figma-product-gallery.is-reference-image .ww-figma-product-gallery__stage img {
  position: absolute !important;
  width: 141.01780985% !important;
  height: 173.56257187% !important;
  left: -23.81981582% !important;
  top: -33.60588799% !important;
  max-width: none !important;
  object-fit: fill !important;
}
@media (max-width: 768px) {
  html body.single-product main.ww-main .ww-figma-product-gallery.is-reference-image .ww-figma-product-gallery__stage img {
    width: 116.42831104% !important;
    height: 100% !important;
    left: -7.98255017% !important;
    top: 0 !important;
  }
}

/* Preserve the 404 header action spacing while its fixed 1280px coordinates
   meet the viewport edges at the ends of the tablet-to-desktop interval. */
@media (min-width: 1120px) and (max-width: 1151px) {
  html body.ww-route-404 header.ww-site-header.ww-site-header .ww-header-inner .ww-header-actions > a.ww-cart-link {
    left: calc(977px - max(0px, calc(1151px - 100vw))) !important;
  }
  html body.ww-route-404 header.ww-site-header.ww-site-header .ww-header-inner .ww-header-actions > a.ww-account-link {
    left: calc(1035px - max(0px, calc(1151px - 100vw))) !important;
  }
  html body.ww-route-404 header.ww-site-header.ww-site-header .ww-header-inner .ww-header-actions > a.ww-wishlist-action {
    left: calc(1097px - max(0px, calc(1151px - 100vw))) !important;
  }
}
@media (min-width: 1151px) and (max-width: 1200px) {
  html body.ww-route-404 header.ww-site-header.ww-site-header .ww-header-inner .ww-header-actions > a.ww-cart-link {
    left: calc(977px + 102.083333vw - 1174.98px) !important;
  }
  html body.ww-route-404 header.ww-site-header.ww-site-header .ww-header-inner .ww-header-actions > a.ww-account-link {
    left: calc(1035px + 102.083333vw - 1174.98px) !important;
  }
  html body.ww-route-404 header.ww-site-header.ww-site-header .ww-header-inner .ww-header-actions > a.ww-wishlist-action {
    left: calc(1097px + 102.083333vw - 1174.98px) !important;
  }
}
@media (min-width: 1200px) and (max-width: 1206px) {
  html body.ww-route-404 header.ww-site-header.ww-site-header .ww-header-inner .ww-header-actions > a.ww-cart-link {
    left: calc(977px - max(0px, calc(1206px - 100vw))) !important;
  }
  html body.ww-route-404 header.ww-site-header.ww-site-header .ww-header-inner .ww-header-actions > a.ww-account-link {
    left: calc(1035px - max(0px, calc(1206px - 100vw))) !important;
  }
  html body.ww-route-404 header.ww-site-header.ww-site-header .ww-header-inner .ww-header-actions > a.ww-wishlist-action {
    left: calc(1097px - max(0px, calc(1206px - 100vw))) !important;
  }
}

/* Catalog frame corrections from the archived 402 / 1280 / 1920 Figma pages.
   Keep product content live, and fit the amount and rhythm to each artboard. */
html body.post-type-archive-product main.ww-main section.ww-shop-design__best {
  background: #f3dbc1 !important;
}

@media (min-width: 1600px) {
  html body.post-type-archive-product main.ww-main .ww-home-product-section--new .ww-product-grid > .ww-product-card:nth-child(n+5),
  html body.post-type-archive-product main.ww-main .ww-shop-design__category-grid > .ww-product-card:nth-child(n+4),
  html body.post-type-archive-product main.ww-main .ww-shop-design__recommendations .ww-product-grid > .ww-product-card:nth-child(n+5) {
    display: none !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__recommendations {
    box-sizing: border-box !important;
    height: 824.1px !important;
    min-height: 824.1px !important;
    padding-top: 73.1px !important;
    padding-bottom: 0 !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__recommendations .ww-home-product-section__head {
    margin-bottom: 53px !important;
  }

  html body.post-type-archive-product footer.ww-site-footer .ww-footer-newsletter {
    display: block !important;
    height: 397px !important;
    min-height: 397px !important;
  }

  html body.post-type-archive-product footer.ww-site-footer .ww-footer-main {
    height: 297px !important;
    min-height: 297px !important;
    margin-top: 0 !important;
    box-sizing: border-box !important;
  }
}

@media (min-width: 1200px) and (max-width: 1599px) {
  html body.post-type-archive-product main.ww-main .ww-home-product-section--new .ww-product-grid > .ww-product-card:nth-child(n+4),
  html body.post-type-archive-product main.ww-main .ww-shop-design__category-grid > .ww-product-card:nth-child(n+7),
  html body.post-type-archive-product main.ww-main .ww-shop-design__recommendations .ww-product-grid > .ww-product-card:nth-child(n+9) {
    display: none !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__best--desktop {
    margin-top: 13.515625vw !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--family {
    margin-top: 4.453125vw !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--family,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--pets {
    min-height: 102.890625vw !important;
    box-sizing: border-box !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__recommendations {
    margin-top: 6.40625vw !important;
    min-height: 107.265625vw !important;
    box-sizing: border-box !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__recommendations .ww-home-product-section__head {
    margin-bottom: 9.53125vw !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__recommendations .ww-product-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    column-gap: 4.45vw !important;
    row-gap: 7.1vw !important;
    width: auto !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 2.03vw !important;
    padding-right: 2.03vw !important;
    box-sizing: border-box !important;
  }

  html body.post-type-archive-product[class] main.ww-main section.ww-home-product-section--category .ww-shop-design__category-grid > .ww-product-card:nth-child(n+4) {
    display: block !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__recommendations .ww-product-image img:first-child {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 263 / 307 !important;
    object-fit: cover !important;
  }

  html body.post-type-archive-product footer.ww-site-footer .ww-footer-newsletter {
    height: 54.140625vw !important;
    min-height: 54.140625vw !important;
  }

  html body.post-type-archive-product footer.ww-site-footer .ww-footer-main {
    height: 30.078125vw !important;
    min-height: 30.078125vw !important;
    margin-top: 2.65625vw !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 768.98px) {
  html body.post-type-archive-product[class] main.ww-main > section.ww-shop-design__hero.ww-storefront-banner {
    margin-top: 1.492537vw !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-home-product-section--new {
    padding: 20.646766vw 0 11.940299vw !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-home-product-section--new .ww-home-product-section__head {
    margin-bottom: 6.218905vw !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-home-product-section--new .ww-product-grid > .ww-product-card:nth-child(n+3),
  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--family .ww-product-grid > .ww-product-card:nth-child(n+3),
  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--pets .ww-product-grid > .ww-product-card:nth-child(n+5),
  html body.post-type-archive-product main.ww-main section.ww-shop-design__recommendations .ww-product-grid > .ww-product-card:nth-child(n+5),
  html body.post-type-archive-product main.ww-main section.ww-shop-design__best--mobile .ww-product-grid > .ww-product-card:nth-child(n+3) {
    display: none !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-home-product-section--new > .ww-container,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--family > .ww-container,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--pets > .ww-container,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__recommendations > .ww-container {
    width: 85.572139vw !important;
    max-width: none !important;
    margin-left: 7.462687vw !important;
    margin-right: auto !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--family > .ww-container {
    margin-left: 8.706468vw !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-home-product-section--new .ww-product-grid,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--family .ww-product-grid,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--pets .ww-product-grid,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__recommendations .ww-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 2.487562vw !important;
    row-gap: 15.671642vw !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-home-product-section--new .ww-product-card,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--family .ww-product-card,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--pets .ww-product-card,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__recommendations .ww-product-card {
    min-height: 65.970149vw !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-home-product-section--new .ww-product-card__visual,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--family .ww-product-card__visual,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--pets .ww-product-card__visual,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__recommendations .ww-product-card__visual,
  html body.post-type-archive-product main.ww-main section.ww-home-product-section--new .ww-product-image,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--family .ww-product-image,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--pets .ww-product-image,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__recommendations .ww-product-image {
    display: block !important;
    height: 48.507463vw !important;
    min-height: 48.507463vw !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-home-product-section--new .ww-product-image img:first-child,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--family .ww-product-image img:first-child,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--pets .ww-product-image img:first-child,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__recommendations .ww-product-image img:first-child {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-home-product-section--new .ww-product-title,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--family .ww-product-title,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--pets .ww-product-title,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__recommendations .ww-product-title {
    margin-top: 0 !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-home-product-section--new .ww-product-meta,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--family .ww-product-meta,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--pets .ww-product-meta,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__recommendations .ww-product-meta {
    padding: 4.726368vw 0 0 !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-home-product-section--new .ww-product-title,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--family .ww-product-title,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--pets .ww-product-title,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__recommendations .ww-product-title {
    font: 400 13px/15.7px var(--ww-font-sans) !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-home-product-section--new .ww-product-price,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--family .ww-product-price,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--pets .ww-product-price,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__recommendations .ww-product-price {
    font: 400 10px/12.1px var(--ww-font-sans) !important;
    color: #737373 !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--family {
    padding: 7.213930vw 0 3.731343vw !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--family .ww-home-product-section__head {
    margin-bottom: 6.218905vw !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__best--mobile {
    padding: 11.940299vw 0 0 !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__best--mobile .ww-home-product-section__head {
    margin-bottom: 8.208955vw !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__best--mobile .ww-product-grid {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: flex-start !important;
    gap: 7.213930vw !important;
    height: 150.995025vw !important;
    min-height: 150.995025vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 8.457711vw 0 0 !important;
    overflow: hidden !important;
    background: #f3dbc1 !important;
    box-sizing: border-box !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__best--mobile .ww-product-card:nth-child(1) {
    flex: 0 0 27.611940vw !important;
    width: 27.611940vw !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__best--mobile .ww-product-card:nth-child(2) {
    flex: 0 0 68.905473vw !important;
    width: 68.905473vw !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__best--mobile .ww-product-card__visual,
  html body.post-type-archive-product main.ww-main section.ww-shop-design__best--mobile .ww-product-image {
    height: 95.771144vw !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__best--mobile .ww-product-image img:first-child {
    width: 100% !important;
    height: 95.771144vw !important;
    max-width: none !important;
    object-fit: cover !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__best--mobile .ww-product-meta {
    padding: 2.985075vw 0 0 !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--pets {
    padding: 16.666667vw 0 11.940299vw !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__category--pets .ww-home-product-section__head {
    margin-bottom: 7.462687vw !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__recommendations {
    padding: 11.940299vw 0 9.203980vw !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__recommendations .ww-home-product-section__head {
    margin-bottom: 7.960199vw !important;
  }

  html body.post-type-archive-product main.ww-main section.ww-shop-design__recommendations .ww-product-grid {
    row-gap: 14.676617vw !important;
  }

  html body.post-type-archive-product main.ww-main a.ww-shop-design__category-link,
  html body.post-type-archive-product footer.ww-site-footer {
    display: none !important;
  }
}

/* Match the 1920px catalog newsletter copy, form, and consent positions. */
@media (min-width: 1600px) {
  html body.post-type-archive-product footer.ww-site-footer .ww-newsletter-form__mark {
    top: 81px !important;
    left: calc(50% - 10.5px) !important;
  }

  html body.post-type-archive-product footer.ww-site-footer .ww-newsletter-form h2 {
    position: relative !important;
    width: 538px !important;
    height: 24.2px !important;
    color: transparent !important;
    font-size: 0 !important;
    transform: translate(-36px, -30px) !important;
  }

  html body.post-type-archive-product footer.ww-site-footer .ww-newsletter-form h2::after {
    content: attr(data-ww-newsletter-title) !important;
    position: absolute !important;
    inset: 0 auto auto 0 !important;
    color: #fff !important;
    font: 500 20px/24.2px var(--ww-font-sans) !important;
    white-space: nowrap !important;
  }

  html body.post-type-archive-product footer.ww-site-footer .ww-newsletter-form__lead {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
  }

  html body.post-type-archive-product footer.ww-site-footer .ww-newsletter-form__body {
    position: relative !important;
    top: -34px !important;
    left: -10px !important;
  }

  html body.post-type-archive-product footer.ww-site-footer .ww-newsletter-form > p:has(input[type="email"]),
  html body.post-type-archive-product footer.ww-site-footer .ww-newsletter-form > button.ww-button {
    position: relative !important;
    top: -30px !important;
    left: -10px !important;
  }

  html body.post-type-archive-product footer.ww-site-footer .ww-newsletter-form > button.ww-button {
    font: 400 12px/14.5px var(--ww-font-sans) !important;
  }

  html body.post-type-archive-product footer.ww-site-footer .ww-newsletter-form__consent {
    position: absolute !important;
    top: 289px !important;
    left: 162.7px !important;
    width: 485px !important;
    height: 37px !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, .82) !important;
  }

  html body.post-type-archive-product footer.ww-site-footer .ww-newsletter-form__consent label {
    position: relative !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 485px !important;
    height: 37px !important;
    margin: 0 !important;
    text-align: center !important;
    font-size: 13px !important;
    line-height: 15.7px !important;
  }

  html body.post-type-archive-product footer.ww-site-footer .ww-newsletter-form__consent input[type="checkbox"] {
    position: absolute !important;
    top: 0 !important;
    left: 30px !important;
    box-sizing: border-box !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
  }
}

/* Product detail 1280 frame (2790:1720) uses the compact hamburger header,
   while the 1920 frame (2079:1086) uses the full desktop navigation. The owner
   asked to keep the wordmark left of its Figma x=123 position, so it stays at
   the shared x=80 column beside the 50px menu control. */
@media (min-width: 1200px) and (max-width: 1599px) {
  html body.single-product[class] header.ww-site-header.ww-site-header > .ww-header-inner {
    width: calc(100% - 98px) !important;
    max-width: none !important;
    margin-left: 27px !important;
    margin-right: auto !important;
    grid-template-columns: 53px 229px minmax(0, 1fr) 426px !important;
    column-gap: 0 !important;
  }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-menu-toggle {
    grid-column: 1 !important;
    display: inline-flex !important;
    position: relative !important;
    inset: auto !important;
    width: 50px !important;
    height: 29px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #000 !important;
    z-index: 70 !important;
  }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-menu-toggle > span[aria-hidden="true"] {
    position: absolute !important;
    left: 0 !important;
    width: 50px !important;
    height: 2px !important;
    margin: 0 !important;
    background: currentColor !important;
    box-shadow: none !important;
    transform: none !important;
  }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-menu-toggle > span[aria-hidden="true"]:first-child { top: 0 !important; }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-menu-toggle > span[aria-hidden="true"]:nth-child(2) { top: 14px !important; }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-menu-toggle::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 28px !important;
    width: 50px !important;
    height: 2px !important;
    background: currentColor !important;
  }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-brand {
    grid-column: 2 !important;
    width: 229px !important;
    height: 48px !important;
  }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-nav {
    display: none !important;
  }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-header-actions {
    grid-column: 4 !important;
    width: 426px !important;
    gap: 0 !important;
    justify-content: space-between !important;
  }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-header-actions > form.ww-header-search {
    order: 1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 56px !important;
    width: 236px !important;
    height: 35px !important;
  }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-header-search input::placeholder {
    color: transparent !important;
    opacity: 0 !important;
  }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-header-search button {
    width: 56px !important;
    height: 35px !important;
    background: currentColor !important;
    mask: var(--wa-ico-search) center / 29px 28px no-repeat !important;
    -webkit-mask: var(--wa-ico-search) center / 29px 28px no-repeat !important;
  }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-cart-link { order: 2 !important; width: 34px !important; }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-cart-link img {
    width: 27px !important; height: 26px !important; max-width: 27px !important; max-height: 26px !important;
  }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-account-link { order: 3 !important; width: 34px !important; }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-account-link img {
    width: 34px !important; height: 27px !important; max-width: 34px !important; max-height: 27px !important;
  }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-wishlist-action { order: 4 !important; width: 33px !important; }
  html body.single-product[class] header.ww-site-header.ww-site-header .ww-wishlist-action img {
    width: 33px !important; height: 30px !important; max-width: 33px !important; max-height: 30px !important;
  }
  html.ww-menu-open body.single-product[class] header.ww-site-header.ww-site-header .ww-nav.is-open {
    display: block !important;
    position: fixed !important;
    inset: var(--ww-header-height) 0 0 !important;
    width: 100vw !important;
    height: calc(100dvh - var(--ww-header-height)) !important;
    margin: 0 !important;
    padding: 35px 27px 40px !important;
    overflow-y: auto !important;
    background: #fff !important;
    color: #000 !important;
    z-index: 60 !important;
  }
  html.ww-menu-open body.single-product[class] header.ww-site-header.ww-site-header .ww-nav__menu:not(.ww-nav__menu--mobile) {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 9px !important;
  }
  html.ww-menu-open body.single-product[class] header.ww-site-header.ww-site-header .ww-nav__menu:not(.ww-nav__menu--mobile) > li > a {
    min-height: 43px !important;
    font: 300 24px/29px var(--ww-font-sans) !important;
  }
  html.ww-menu-open body.single-product[class] header.ww-site-header.ww-site-header .ww-nav__menu--mobile,
  html.ww-menu-open body.single-product[class] header.ww-site-header.ww-site-header .ww-header-search--mobile {
    display: none !important;
  }
  html.ww-menu-open body.single-product[class] header.ww-site-header.ww-site-header .ww-header-actions > form.ww-header-search {
    visibility: hidden !important;
    pointer-events: none !important;
  }
  html.ww-menu-open body.single-product[class] header.ww-site-header.ww-site-header .ww-brand,
  html.ww-menu-open body.single-product[class] header.ww-site-header.ww-site-header .ww-header-actions > a,
  html.ww-menu-open body.single-product[class] header.ww-site-header.ww-site-header .ww-header-actions > .ww-header-share {
    visibility: hidden !important;
    pointer-events: none !important;
  }
  html.ww-menu-open body.single-product[class] header.ww-site-header.ww-site-header .ww-menu-toggle > span[aria-hidden="true"]:first-child {
    top: 14px !important; transform: rotate(45deg) !important;
  }
  html.ww-menu-open body.single-product[class] header.ww-site-header.ww-site-header .ww-menu-toggle > span[aria-hidden="true"]:nth-child(2) {
    top: 14px !important; transform: rotate(-45deg) !important;
  }
  html.ww-menu-open body.single-product[class] header.ww-site-header.ww-site-header .ww-menu-toggle::after { opacity: 0 !important; }
}

/* Figma 404 frames use the vector-only dog asset at these widths. Restore the
   two separate question marks from the composed Figma illustration. */
html body.ww-route-404 main.ww-main section.ww-empty-state--not-found {
  /* The section is the coordinate frame for all three archived Figma layouts. */
  position: relative !important;
}

html body.ww-route-404 main.ww-main section.ww-empty-state--not-found > .ww-not-found-question {
  position: absolute !important;
  z-index: 2 !important;
  display: block !important;
  box-sizing: border-box !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #000 !important;
  font-family: 'BERNIER', 'WW Display', Impact, 'Arial Narrow', sans-serif !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  pointer-events: none !important;
}

/* 402 frame: 2628:3627. The section begins below the 101px mobile header. */
@media (min-width: 390px) and (max-width: 430px) {
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found > .ww-not-found-question--one {
    top: 62px !important; left: 70px !important; width: 125px !important; height: 127px !important;
    font-size: 64px !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found > .ww-not-found-question--two {
    top: 83px !important; left: 43px !important; width: 131px !important; height: 129px !important;
    font-size: 64px !important;
  }
}

/* Tablet bridge follows the interpolated 404 artwork box (861–1119px). */
@media (min-width: 861px) and (max-width: 1119px) {
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found > .ww-not-found-question--one {
    top: calc(119.528px - 8.458vw) !important;
    left: calc(48.0309vw - 414.53px) !important;
    width: calc(18.56vw + 0.16px) !important;
    height: calc(18.91vw + 0.163px) !important;
    font-size: calc(11.416vw + 0.098px) !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found > .ww-not-found-question--two {
    top: calc(119.565px - 4.177vw) !important;
    left: calc(43.393vw - 413.59px) !important;
    width: calc(19.44vw + 0.168px) !important;
    height: calc(19.18vw + 0.166px) !important;
    font-size: calc(11.416vw + 0.098px) !important;
  }
}

/* 1280 frame: 2790:1538. Coordinates are relative to the content section. */
@media (min-width: 1120px) and (max-width: 1599px) {
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found > .ww-not-found-question--one {
    top: 34px !important; left: 82px !important; width: 208px !important; height: 212px !important;
    font-size: 128px !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found > .ww-not-found-question--two {
    top: 82px !important; left: 31px !important; width: 218px !important; height: 215px !important;
    font-size: 128px !important;
  }
}

/* 1920 frame: 2422:695. The art container begins at x302/y140. */
@media (min-width: 1600px) {
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found > .ww-not-found-question--one {
    top: 83px !important; left: -50px !important; width: 297px !important; height: 304px !important;
    font-size: 150px !important;
  }
  html body.ww-route-404 main.ww-main section.ww-empty-state--not-found > .ww-not-found-question--two {
    top: 132px !important; left: -115px !important; width: 312px !important; height: 307px !important;
    font-size: 150px !important;
  }
}

/* QUICK CART · Figma prototype 2043:324 (1920) and frame 2630:806 (402). */
html body[class] .ww-cart-drawer__status:empty { display: none !important; }
html body[class] .ww-cart-drawer__head h2 {
  font: 400 22px/27px var(--ww-font-sans) !important;
  letter-spacing: 0 !important;
}
html body[class] .ww-cart-drawer__link--checkout { display: none !important; }
html body[class] .ww-cart-drawer__link--cart { display: flex !important; }

@media (min-width: 1600px) {
  html body[class] .ww-cart-drawer { background: rgba(0, 0, 0, .75) !important; }
  html body[class] .ww-cart-drawer__inner {
    box-sizing: border-box;
    width: 35vw !important;
    max-width: 675px !important;
    height: 100dvh;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    padding: 64px 45px 65px 48px !important;
    gap: 0 !important;
    overflow-y: auto;
    background: #fff !important;
    box-shadow: none !important;
  }
  html body[class] .ww-cart-drawer__head {
    flex: 0 0 auto;
    padding: 0 0 49px !important;
    border-bottom: .8px solid #b9b9b9 !important;
  }
  html body[class] .ww-cart-drawer__close {
    width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    border: 0 !important;
    border-radius: 50%;
    font: 400 22px/24px var(--ww-font-sans) !important;
  }
  html body[class] .ww-cart-drawer__close-mark { display: block !important; }
  html body[class] .ww-cart-drawer__items {
    flex: 0 0 auto;
    margin: 26px 0 0 !important;
    gap: 32px !important;
  }
  html body[class] .ww-cart-drawer__item {
    grid-template-columns: 115px minmax(0, 1fr) !important;
    gap: 20px !important;
    align-items: start !important;
  }
  html body[class] .ww-cart-drawer__thumb {
    width: 115px !important;
    height: 115px !important;
    aspect-ratio: auto !important;
    border: 0 !important;
    background: transparent !important;
  }
  html body[class] .ww-cart-drawer__item-copy {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto 36px;
    align-items: start;
    column-gap: 16px;
    row-gap: 33px;
    min-width: 0;
    margin-top: 12px;
    font-size: 22px;
    line-height: 27px;
  }
  html body[class] .ww-cart-drawer__item-copy > a {
    grid-column: 1;
    grid-row: 1;
    display: block;
    min-height: 0;
    color: #000;
    font: 300 22px/27px var(--ww-font-sans) !important;
  }
  html body[class] .ww-cart-drawer__item-meta { display: contents !important; }
  html body[class] .ww-cart-drawer__quantity {
    grid-column: 1;
    grid-row: 2;
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) 34px;
    width: 115px !important;
    height: 36px !important;
    box-sizing: border-box;
    border: .8px solid #b9b9b9;
    background: #fff !important;
  }
  html body[class] .ww-cart-drawer__quantity button {
    width: 100% !important;
    height: 34px !important;
    min-width: 0 !important;
    min-height: 34px !important;
    padding: 0 !important;
    color: #000 !important;
    background: transparent !important;
    font: 300 22px/34px var(--ww-font-sans) !important;
  }
  html body[class] .ww-cart-drawer__quantity .ww-cart-drawer__item-quantity {
    min-width: 0 !important;
    color: #000 !important;
    font: 300 18px/34px var(--ww-font-sans) !important;
  }
  html body[class] .ww-cart-drawer__item-price {
    grid-column: 2;
    grid-row: 1;
    color: #000 !important;
    font: 300 18px/22px var(--ww-font-sans) !important;
    white-space: nowrap;
  }
  html body[class] .ww-cart-drawer__subtotal {
    flex: 0 0 auto;
    margin-top: auto !important;
    padding-top: 24px !important;
    border-top: .8px solid #b9b9b9 !important;
    color: #000 !important;
    font: 400 22px/27px var(--ww-font-sans) !important;
  }
  html body[class] .ww-cart-drawer__subtotal strong {
    color: #000 !important;
    font: 400 18px/22px var(--ww-font-sans) !important;
  }
  html body[class] .ww-cart-drawer__actions {
    flex: 0 0 auto;
    margin-top: 42px !important;
  }
  html body[class] .ww-cart-drawer__actions > a.ww-cart-drawer__link {
    width: calc(100% + 3px) !important;
    height: 70px !important;
    min-height: 70px !important;
    margin-left: -3px !important;
    padding: 0 14px !important;
    justify-content: center;
    color: #fff !important;
    background: #000 !important;
    font: 300 20px/24px var(--ww-font-sans) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }
}

@media (max-width: 768px) and (orientation: portrait) {
  html body[class] .ww-cart-drawer { background: transparent !important; }
  html body[class] .ww-cart-drawer__inner { padding-top: 24px !important; padding-inline: 23px 16px !important; padding-bottom: 25px !important; }
  html body[class] .ww-cart-drawer__head { padding-top: 0 !important; }
  html body[class] .ww-cart-drawer__items { margin-top: 83px !important; }
  html body[class] .ww-cart-drawer__item { grid-template-columns: 106px minmax(0, 1fr) !important; gap: 5px !important; }
  html body[class] .ww-cart-drawer__thumb { width: 106px !important; height: 97px !important; }
  html body[class] .ww-cart-drawer__item-copy {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 80px;
    align-items: center;
    column-gap: 21px;
    min-width: 0;
    transform: translateY(-6px);
  }
  html body[class] .ww-cart-drawer__item-copy > a {
    grid-column: 1;
    max-width: 151px;
    min-height: 0;
    color: #000;
    font: 300 13px/15.7px var(--ww-font-sans) !important;
  }
  html body[class] .ww-cart-drawer__item-meta { display: contents !important; }
  html body[class] .ww-cart-drawer__item-price { display: none !important; }
  html body[class] .ww-cart-drawer__quantity {
    grid-column: 2;
    grid-row: 1;
    position: relative;
    display: grid !important;
    grid-template-columns: 26px 28px 26px;
    width: 80px !important;
    height: 44px !important;
    background: transparent !important;
  }
  html body[class] .ww-cart-drawer__quantity::before {
    content: '';
    position: absolute;
    inset: 9.5px 0 5.5px;
    background: #000;
  }
  html body[class] .ww-cart-drawer__quantity button {
    position: relative;
    z-index: 1;
    width: 100% !important;
    height: 44px !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 0 !important;
    color: #fff !important;
    background: transparent !important;
    font: 300 24px/44px var(--ww-font-sans) !important;
  }
  html body[class] .ww-cart-drawer__quantity .ww-cart-drawer__item-quantity {
    position: relative;
    z-index: 1;
    min-width: 0 !important;
    color: #fff !important;
    font: 300 20px/44px var(--ww-font-sans) !important;
  }
  html body[class] .ww-cart-drawer__subtotal {
    width: calc(100% + 12px) !important;
    margin-left: -7px !important;
    padding: 20px 4px 0 9px !important;
    border-top: .8px solid #b9b9b9 !important;
    color: #000 !important;
    font: 400 22px/27px var(--ww-font-sans) !important;
  }
  html body[class] .ww-cart-drawer__subtotal strong {
    color: #000 !important;
    font: 400 24px/29px var(--ww-font-sans) !important;
  }
  html body[class] .ww-cart-drawer__actions { margin-top: 13px !important; }
  html body[class] .ww-cart-drawer__actions > a.ww-cart-drawer__link {
    width: min(306px, calc(100vw - 32px)) !important;
    height: 51px !important;
    min-height: 51px !important;
    padding: 0 14px !important;
    justify-content: center;
    color: #fff !important;
    background: #000 !important;
    font: 300 24px/34px var(--ww-font-sans) !important;
    letter-spacing: -.025em !important;
    text-transform: none !important;
  }
  html body[class] .ww-cart-drawer__link--cart { display: none !important; }
  html body[class] .ww-cart-drawer__link--checkout { display: flex !important; }
}

/* Empty cart geometry and desktop account entry from the current Figma frames. */
@media (min-width: 1600px) {
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main > article.ww-auth-route {
    padding-bottom: 300px !important;
  }
  html body.woocommerce-cart main.ww-main > article.ww-commerce-route:has(.ww-empty-state--cart) {
    height: 66rem !important;
    min-height: 66rem !important;
  }
  html body.woocommerce-cart main.ww-main section.ww-empty-state.ww-empty-state--cart .ww-empty-state__back {
    top: 50px !important;
    left: 8px !important;
    gap: 14px !important;
    height: 21px !important;
    min-height: 21px !important;
    padding: 0 !important;
  }
  html body.woocommerce-cart main.ww-main section.ww-empty-state.ww-empty-state--cart .ww-empty-state__dog {
    width: 523px !important;
    max-width: none !important;
    height: 523px !important;
    top: 143px !important;
    left: 50% !important;
  }
  html body.woocommerce-cart main.ww-main section.ww-empty-state.ww-empty-state--cart h2.ww-section-title {
    width: 847px !important;
    max-width: 847px !important;
    margin: 23px auto 0 !important;
  }
  html body.woocommerce-cart main.ww-main section.ww-empty-state.ww-empty-state--cart .ww-lede {
    width: 1080px !important;
    max-width: 1080px !important;
    margin: 51px auto 0 !important;
  }
}

@media (min-width: 1200px) and (max-width: 1599px) {
  html body.woocommerce-cart main.ww-main .ww-empty-state--cart .ww-empty-state__dog {
    width: 441px !important;
    max-width: 441px !important;
    height: 441px !important;
    object-fit: cover !important;
  }
  html body.woocommerce-cart main.ww-main .ww-empty-state--cart .ww-section-title {
    width: 302px !important;
    max-width: 302px !important;
    justify-self: start !important;
  }
  html body.woocommerce-cart main.ww-main .ww-empty-state--cart .ww-lede {
    width: 326px !important;
    max-width: 326px !important;
    justify-self: start !important;
    margin-left: 13px !important;
    margin-top: 63px !important;
  }
}

@media (max-width: 768px) {
  html body.woocommerce-cart main.ww-main > article.ww-commerce-route:has(section.ww-empty-state.ww-empty-state--cart) {
    height: auto !important;
    min-height: 726px !important;
  }
  html body.woocommerce-cart main.ww-main section.ww-empty-state.ww-empty-state--cart {
    height: 726px !important;
    min-height: 726px !important;
  }
}

@media (min-width: 1600px) {
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form {
    width: 637px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form .form-row:first-of-type label {
    margin-bottom: 8.4px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form .form-row + .form-row {
    margin-top: 5px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form .form-row + .form-row label {
    margin-bottom: 9.4px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form input.input-text {
    width: 637px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-form__actions {
    margin-top: 37px !important;
  }
  html body.woocommerce-account #customer_login.ww-auth-grid .ww-auth-panel--login .woocommerce-form-login__submit {
    width: 239px !important;
    min-width: 239px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-forgot {
    width: 177px !important;
    transform: translateY(3px);
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-social {
    margin-top: 37px !important;
    transform: translateX(-24.5px);
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-social button:nth-child(2) {
    margin-left: -13px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--login .ww-auth-guest {
    min-height: 0 !important;
    margin-top: 0 !important;
    font: 400 22px/26.6px var(--ww-font-sans) !important;
    transform: translateX(8px);
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--join {
    padding-top: 83px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--join > h2 {
    position: relative;
    top: 1px;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--join > p:not(.ww-auth-social-label) {
    justify-self: start !important;
    width: 565px !important;
    max-width: 565px !important;
    margin: 0 0 0 3px !important;
    font: 400 22px/26.6px var(--ww-font-sans) !important;
    text-align: left !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--join .ww-auth-create {
    width: 316px !important;
    min-width: 316px !important;
    height: 80px !important;
    min-height: 80px !important;
    margin-top: 16px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--join .ww-auth-social-label {
    width: 247px !important;
    max-width: 247px !important;
    margin: 40px 0 0 !important;
    font: 400 22px/26.6px var(--ww-font-sans) !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--join .ww-auth-social {
    gap: 24px !important;
    margin-top: 7px !important;
    transform: translateX(3.5px);
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--join .ww-auth-social button:first-child {
    width: 78px !important;
    height: 63px !important;
    min-height: 63px !important;
  }
  html body:not(.logged-in):not(.woocommerce-lost-password)[class] main.ww-main .ww-auth-panel--join .ww-auth-social button:nth-child(2) {
    width: 63px !important;
    height: 63px !important;
    min-height: 63px !important;
  }
}

/* Figma order cards use a single black left chevron while collapsed. */
html body.logged-in[class] main.ww-main .ww-order-card__summary summary img {
  width: 14px !important;
  height: 8px !important;
  object-fit: contain;
  transform: rotate(90deg);
  transition: transform 180ms ease;
}
html body.logged-in[class] main.ww-main .ww-order-card__summary details[open] summary img {
  transform: rotate(0deg);
}

/* Catalogue drop-down: the panel sits 8px below the «Магазин» link, and the
   pointer lost :hover while crossing that gap, so the menu shut before any item
   could be reached. An invisible bridge over the gap keeps the hover alive. */
@media (min-width: 53.8125rem) {
  html body header.ww-site-header .ww-nav__submenu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 100%;
    height: 24px;
  }
  /* After a second click on the caret the panel stays folded under the pointer
     until it leaves (interactions.js toggles .is-dismissed). */
  html body header.ww-site-header .ww-nav__item--shop.is-dismissed:not(.is-open) .ww-nav__submenu {
    opacity: 0;
    pointer-events: none;
    transform: translateY(-0.375rem);
  }
}

/* Home desktop search: the button kept the generic 20px search mask while its
   inner glyph carries its own mask at a smaller, shifted box. The two masks
   intersected and left only scraps of the loupe. Let the glyph alone draw it. */
@media (min-width: 1200px) {
  html body.home[class] header.ww-site-header.ww-site-header .ww-header-actions > form.ww-header-search:not(.ww-header-search--mobile) button {
    background: transparent !important;
    -webkit-mask: none !important;
    mask: none !important;
  }
  html body.home[class] header.ww-site-header.ww-site-header .ww-header-actions > form.ww-header-search:not(.ww-header-search--mobile) button .dashicons {
    width: 100% !important;
    height: 100% !important;
    background: currentColor !important;
  }
}

/* Checkout steps: Figma 2792:1146 / 2127:856 join the steps with the same thin
   arrow as the cart, not with a bare rule. Keep the 47px track, draw the head. */
@media (min-width: 48rem) {
  html body.woocommerce-checkout main.ww-main .ww-commerce-progress li:not(:last-child)::after {
    flex: 0 0 47px !important;
    width: 47px !important;
    height: 10px !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='47' height='10' viewBox='0 0 47 10'%3E%3Cpath d='M0 5h46M41.5 0.5 46 5l-4.5 4.5' fill='none' stroke='%230b0b0a' stroke-width='1'/%3E%3C/svg%3E") center / 47px 10px no-repeat !important;
  }
}

/* Checkout payment: Figma 2792:1146 / 2127:856 show the gateways as 172×107
   tiles with a radio mark, the chosen one filled #e4e4e4 — not a sand slab with
   a speech-bubble note. */
html body.woocommerce-checkout main.ww-main #payment {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
html body.woocommerce-checkout main.ww-main #payment ul.payment_methods {
  display: flex !important;
  flex-wrap: wrap;
  gap: 9px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  list-style: none;
}
html body.woocommerce-checkout main.ww-main #payment ul.payment_methods > li.wc_payment_method {
  position: relative;
  display: block !important;
  width: min(172px, 100%) !important;
  min-height: 107px;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #d9d9d9 !important;
  background: transparent !important;
  box-sizing: border-box;
}
/* A gateway that renders card fields or an iframe needs the full row. */
html body.woocommerce-checkout main.ww-main #payment ul.payment_methods > li.wc_payment_method:has(> .payment_box :is(input, select, iframe, fieldset)) {
  width: 100% !important;
}
/* The native radio stays focusable for keyboards but is drawn by label::before. */
html body.woocommerce-checkout main.ww-main #payment ul.payment_methods > li.wc_payment_method > input.input-radio {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  opacity: 0 !important;
  pointer-events: none;
}
html body.woocommerce-checkout main.ww-main #payment ul.payment_methods > li.wc_payment_method:has(> input:checked) {
  border-color: #e4e4e4 !important;
  background: #e4e4e4 !important;
}
html body.woocommerce-checkout main.ww-main #payment ul.payment_methods > li.wc_payment_method > label {
  display: block !important;
  min-height: 105px;
  margin: 0 !important;
  padding: 10px 10px 10px 40px !important;
  font: 400 15px/18.2px var(--ww-font-sans) !important;
  color: #000 !important;
  cursor: pointer;
  box-sizing: border-box;
}
html body.woocommerce-checkout main.ww-main #payment ul.payment_methods > li.wc_payment_method > label::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 12px;
  width: 16px;
  height: 16px;
  border: 1px solid #222;
  border-radius: 50%;
  background: #fff;
  box-sizing: border-box;
}
html body.woocommerce-checkout main.ww-main #payment ul.payment_methods > li.wc_payment_method > input:checked + label::before {
  border-color: #222;
  background: radial-gradient(circle, #222 0 4px, #fff 4.5px);
}
html body.woocommerce-checkout main.ww-main #payment ul.payment_methods > li.wc_payment_method > input:focus-visible + label {
  outline: 2px solid #222;
  outline-offset: 2px;
}
/* Cash on delivery has no fields, only a note the tile already implies. Other
   gateways may carry card fields, so their box stays, as plain copy. */
html body.woocommerce-checkout main.ww-main #payment div.payment_box.payment_method_cod {
  display: none !important;
}
html body.woocommerce-checkout main.ww-main #payment div.payment_box {
  margin: 0 !important;
  padding: 0 10px 10px !important;
  background: transparent !important;
  font: 400 12px/16px var(--ww-font-sans) !important;
  color: #222 !important;
}
html body.woocommerce-checkout main.ww-main #payment div.payment_box::before {
  content: none !important;
}
html body.woocommerce-checkout main.ww-main #payment .ww-place-order-meta,
html body.woocommerce-checkout main.ww-main #payment .form-row.place-order {
  margin: 16px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
html body.woocommerce-checkout main.ww-main #payment .woocommerce-privacy-policy-text p {
  margin: 0 !important;
  font: 400 12px/16px var(--ww-font-sans) !important;
  color: #6b6b6b !important;
}

/* Tablet burger, 769–1199: the open sheet rendered as a blank white page. On
   home its links inherited the transparent header's white, and the sheet
   (z 60) sat over the close toggle (also z 60), so the back arrow vanished. */
@media (max-width: 1199px) {
  html.ww-menu-open body[class] header.ww-site-header.ww-site-header .ww-nav.is-open,
  html.ww-menu-open body[class] header.ww-site-header.ww-site-header .ww-nav.is-open a {
    color: #222 !important;
  }
  /* `:not(.ww-no-menu)` matches every page; it only lifts specificity over the
     open-menu toggle rule above (z-index: 60 !important). Do not remove. */
  html.ww-menu-open body:not(.ww-no-menu)[class] header.ww-site-header.ww-site-header .ww-menu-toggle {
    z-index: 80 !important;
    color: #222 !important;
  }
}

/* Contacts desktop — updated live frame (node 26:2098, seen in the client's
   30 Oct screencast). Replaces the archived 2422:1285/2831:2168 typography:
   BERNIER title and column heads, Inter lead and rows, one sentence per lead
   line, a single-line «Вернуться на главную» with a cross glyph, and no
   wrapped «О компании» in the header. Sizes measured at 1920 and scaled down. */
@media (min-width: 861px) {
  html body.ww-route-contacts[class] main.ww-main .ww-contact-page .ww-contact-back {
    white-space: nowrap !important;
    color: #6b6b6b !important;
    font: 400 16px/19px var(--ww-font-sans) !important;
  }
  html body.ww-route-contacts[class] main.ww-main .ww-contact-page .ww-contact-back > span:not(.ww-return-back__icon) {
    font: inherit !important;
  }
  html body.ww-route-contacts.ww-route-contacts[class] main.ww-main article.ww-contact-page .ww-contact-back .ww-return-back__icon {
    flex: 0 0 15px !important;
    width: 15px !important;
    height: 15px !important;
    margin: 2px 14px 0 0 !important;
    border: 0 !important;
    color: #000 !important;
    background:
      linear-gradient(45deg, transparent calc(50% - 1px), currentColor calc(50% - 1px), currentColor calc(50% + 1px), transparent calc(50% + 1px)),
      linear-gradient(-45deg, transparent calc(50% - 1px), currentColor calc(50% - 1px), currentColor calc(50% + 1px), transparent calc(50% + 1px)) !important;
  }
  html body.ww-route-contacts.ww-route-contacts[class] main.ww-main article.ww-contact-page .ww-contact-back .ww-return-back__icon::before,
  html body.ww-route-contacts.ww-route-contacts[class] main.ww-main article.ww-contact-page .ww-contact-back .ww-return-back__icon::after {
    content: none !important;
  }
  html body.ww-route-contacts[class] main.ww-main article.ww-contact-page .ww-contact-head h1 {
    margin: 0 !important;
    font: 400 clamp(40px, 2.708333vw, 52px)/1.2 'BERNIER', 'WW Display', Impact, sans-serif !important;
    letter-spacing: 0.01em !important;
    text-transform: uppercase !important;
  }
  html body.ww-route-contacts[class] main.ww-main article.ww-contact-page .ww-contact-head p {
    max-width: none !important;
    margin: clamp(24px, 1.875vw, 36px) 0 0 !important;
    font: 400 clamp(22px, 1.666667vw, 32px)/1.19 var(--ww-font-sans) !important;
    text-transform: none !important;
  }
  html body.ww-route-contacts[class] main.ww-main .ww-contact-head__line {
    display: block;
  }
  html body.ww-route-contacts[class] main.ww-main article.ww-contact-page .ww-contact-grid {
    margin-top: clamp(56px, 5.416667vw, 104px) !important;
  }
  html body.ww-route-contacts[class] main.ww-main .ww-contact-grid > section > h2:first-child {
    margin: 0 !important;
    font: 400 40px/48px 'BERNIER', 'WW Display', Impact, sans-serif !important;
    letter-spacing: 0.01em !important;
    text-transform: uppercase !important;
  }
  /* Rows under each head: mail subjects and the legal lines share one rhythm. */
  html body.ww-route-contacts[class] main.ww-main .ww-contact-grid > section > p:not(.ww-contact-grid__value),
  html body.ww-route-contacts[class] main.ww-main .ww-contact-grid > section.ww-contact-legal > h2 ~ h2 {
    margin: clamp(16px, 1.770833vw, 34px) 0 0 !important;
    font: 400 clamp(20px, 1.458333vw, 28px)/1.2 var(--ww-font-sans) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #000 !important;
  }
  html body.ww-route-contacts[class] main.ww-main .ww-contact-grid > section > h2:first-child + p:not(.ww-contact-grid__value),
  html body.ww-route-contacts[class] main.ww-main .ww-contact-grid > section.ww-contact-legal > h2:first-child + h2 {
    margin-top: clamp(20px, 1.927083vw, 37px) !important;
  }
  html body.ww-route-contacts[class] main.ww-main .ww-contact-grid > section > p a,
  html body.ww-route-contacts[class] main.ww-main .ww-contact-grid > section > p span {
    color: inherit !important;
    font: inherit !important;
  }
  html body.ww-route-contacts[class] header.ww-site-header .ww-nav__menu:not(.ww-nav__menu--mobile) > li:nth-child(2) > a {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    top: 0 !important;
    white-space: nowrap !important;
  }
}

/* Product quantity: the archived frame sets the count at the 36px of the
   −/+ glyphs, so the «1» towered over them and sat below their centre line.
   Keep the phone proportion (count noticeably smaller, centred in the bar). */
@media (min-width: 861px) {
  html body.single-product[class] main.ww-main form.cart .quantity input.qty {
    font-size: clamp(18px, 1.041667vw, 20px) !important;
    font-weight: 400 !important;
    line-height: normal !important;
    padding: 0 !important;
    text-align: center !important;
    align-self: center !important;
  }
}

/* Content photos must crop, not stretch. The older "exact Figma slot" rules
   stretched each source into its frame rectangle with object-fit: fill, which
   distorts the photo whenever the box ratio drifts from the export (most widths).
   Doubled classes outrank those rules at every breakpoint; earlier
   object-position crops still apply. */
html body[class][class] main.ww-main.ww-main .ww-figma-hero__workshop > img,
html body[class][class] main.ww-main.ww-main .ww-figma-promo > img,
html body[class][class] main.ww-main.ww-main .ww-figma-about__media > img,
html body[class][class] main.ww-main.ww-main .ww-figma-process > img,
html body[class][class] main.ww-main.ww-main .ww-storefront-banner__media img {
  object-fit: cover !important;
}

/* Shop four-up rows (Новинки, Товарные рекомендации) left the photo height to each
   upload's own ratio, so neighbouring cards stepped up and down. Pin one ratio;
   rows that already set an explicit height are unaffected. */
@media (min-width: 1600px) {
  html body.post-type-archive-product[class] main.ww-main .ww-shop-design__section .ww-product-card__visual .ww-product-image img,
  html body.post-type-archive-product[class] main.ww-main .ww-shop-design__recommendations .ww-product-card__visual .ww-product-image img {
    aspect-ratio: 382 / 456 !important;
    object-fit: cover !important;
  }
}

/* Home reviews at 1920: the 108px gap moved from padding-top to margin-top above,
   but the absolute title kept top:108px and dropped to the middle of the text.
   In the frame it sits level with the photo top, above the author name. */
@media (min-width: 1600px) {
  html body.home[class] main.ww-main .ww-figma-review > h2 { top: 0 !important; }
  /* Wider than the frame, keep the block on the same centred column as the process
     banner above it instead of stretching the photo to the far edge. */
  html body.home[class] main.ww-main .ww-figma-review {
    max-width: 1920px !important; margin-left: auto !important; margin-right: auto !important;
  }
}

/* Product thumbs: buttons kept a fixed width wider than their grid column, so they
   overlapped each other and the last one ran past the main photo. Fit the row to the
   photo width; mobile keeps its scrolling strip. */
@media (min-width: 861px) {
  html body.single-product[class] main.ww-main .ww-figma-product-gallery__thumbs {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  html body.single-product[class] main.ww-main .ww-figma-product-gallery__thumbs .ww-figma-product-gallery__thumb {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}

/* Home 402 (2528:718): the review text box holds eight lines beside the photo, not five,
   and in the newsletter both header lines are full white 15px while the body is 75% white. */
@media (max-width: 768px) {
  html body.home[class] main.ww-main .ww-figma-review__card > p:not(.ww-figma-review__author) {
    height: auto !important;
    max-height: 120px !important;
    -webkit-line-clamp: 8 !important;
  }
  html body.home[class] footer.ww-site-footer .ww-newsletter-form__lead {
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 300 !important;
  }
  html body.home[class] footer.ww-site-footer .ww-newsletter-form__body {
    color: rgba(255, 255, 255, .75) !important;
  }
}
/* At the 402 frame the card rows are tuned to the photo height: keep them fixed so the
   taller text neither squeezes the author row nor grows the section. */
@media (min-width: 390px) and (max-width: 430px) {
  html body.home[class] main.ww-main .ww-figma-review .ww-figma-review__card {
    grid-template-rows: 39.5px 96.5px !important;
  }
  html body.home[class] main.ww-main .ww-figma-review__card > p:not(.ww-figma-review__author) {
    align-self: start !important;
  }
}

/* Home on phones (2528:718, live frame): the hero rule is the brand beige and the title
   breaks after "сувениры"; the consent line is 82% white. */
@media (max-width: 768px) and (orientation: portrait) {
  html body.home[class][class] main.ww-main.ww-main .ww-figma-hero__copy > span:first-child {
    background: #f3dbc1 !important;
  }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-hero h1 {
    max-width: min(196px, calc(100vw * 196 / 402)) !important;
  }
  html body.home[class] footer.ww-site-footer .ww-newsletter-form__consent label {
    color: rgba(255, 255, 255, .82) !important;
  }
}
/* 402 frame geometry, measured from the frame: promo title, the four-up rail clipped to
   the 335px box with the last tile fading out, the intro block, the "Новинки" cards
   (167×195 photos, 50×40 cart button), the partner logos and the footer columns. */
@media (min-width: 390px) and (max-width: 430px) {
  html body.home[class][class] main.ww-main.ww-main .ww-figma-promo h2 {
    width: 145px !important;
    transform: translate(-2px, -1px) !important;
  }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-showcase__rail {
    box-sizing: border-box !important;
    width: 335px !important;
    height: 195px !important;
    margin-left: -1px !important;
    padding-inline: 0 !important;
    gap: 15px !important;
  }
  @supports (animation-timeline: scroll()) {
    html body.home[class][class] main.ww-main.ww-main .ww-figma-showcase__rail {
      -webkit-mask-image: linear-gradient(90deg, #000 290px, rgba(0, 0, 0, var(--ww-rail-fade)) 300px);
      mask-image: linear-gradient(90deg, #000 290px, rgba(0, 0, 0, var(--ww-rail-fade)) 300px);
      animation: ww-rail-unfade linear both;
      animation-timeline: scroll(self inline);
    }
  }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-showcase__rail > a {
    flex: 0 0 85px !important;
    width: 85px !important;
    height: 195px !important;
  }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-showcase__intro {
    min-height: 179px !important;
  }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-showcase__intro h2 {
    margin-top: 46px !important;
  }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-showcase__intro p {
    width: 301px !important;
    max-width: 301px !important;
    margin: 10px auto 0 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
  }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-about img {
    margin-top: 25px !important;
  }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-new {
    padding-bottom: 35px !important;
  }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-new h2 {
    margin-top: 26px !important;
  }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-new .ww-product-grid {
    width: min(345px, 100%) !important;
    margin-left: max(0px, calc((100% - 347px) / 2)) !important;
    margin-right: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 11px !important;
    row-gap: 62px !important;
  }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-new .ww-product-card,
  html body.home[class][class] main.ww-main.ww-main .ww-figma-new .ww-product-card__visual,
  html body.home[class][class] main.ww-main.ww-main .ww-figma-new .ww-product-image {
    width: 100% !important;
    min-width: 0 !important;
  }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-new .ww-product-card__visual,
  html body.home[class][class] main.ww-main.ww-main .ww-figma-new .ww-product-image {
    height: 195px !important;
  }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-new .ww-product-actions .button {
    width: 50px !important;
    height: 40px !important;
  }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-new .ww-product-actions {
    width: 50px !important;
    height: 40px !important;
  }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-new .ww-product-actions .button::after {
    inset: 13px auto auto 19px !important;
    width: 12px !important;
    height: 14px !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
  }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-new .ww-wishlist-link--overlay {
    top: 4px !important;
    right: 3px !important;
  }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-new > .ww-container > .ww-button {
    margin-top: 40px !important;
  }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-partners {
    padding-top: 76px !important;
  }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-partners .ww-figma-partners__logos:has(> :nth-child(5)):not(:has(> :nth-child(6))) {
    position: relative !important;
    display: block !important;
    height: 297px !important;
    padding: 0 !important;
  }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-partners__logos:has(> :nth-child(5)):not(:has(> :nth-child(6))) > * {
    position: absolute !important;
    margin: 0 !important;
  }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-partners__logos:has(> :nth-child(5)):not(:has(> :nth-child(6))) > :nth-child(1) { left: 24px !important; top: 16px !important; }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-partners__logos:has(> :nth-child(5)):not(:has(> :nth-child(6))) > :nth-child(2) { left: 23px !important; top: 100px !important; }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-partners__logos:has(> :nth-child(5)):not(:has(> :nth-child(6))) > :nth-child(3) { left: 24px !important; top: 213px !important; }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-partners__logos:has(> :nth-child(5)):not(:has(> :nth-child(6))) > :nth-child(4) { left: 205px !important; top: 0 !important; }
  html body.home[class][class] main.ww-main.ww-main .ww-figma-partners__logos:has(> :nth-child(5)):not(:has(> :nth-child(6))) > :nth-child(5) { left: 200px !important; top: 93px !important; }
  html body.home[class] footer.ww-site-footer .ww-footer-main {
    grid-template-columns: 67px 100px 68px minmax(0, 1fr) !important;
    column-gap: 0 !important;
    padding-left: 25px !important;
  }
  html body.home[class] footer.ww-site-footer .ww-footer-main nav a {
    margin-bottom: 19px !important;
  }
}
/* The fading last tile only hints at more products: the fade clears as the rail scrolls. */
@property --ww-rail-fade {
  syntax: '<number>';
  inherits: false;
  initial-value: .3;
}
@keyframes ww-rail-unfade {
  to { --ww-rail-fade: 1; }
}
