/* Purchase-flow overrides kept separate from the generated main stylesheet. */
/* Calm text-safe hero: generated photo is decorative, all copy remains HTML. */
.purchase-page .promo { background-color:#fff8f0; background-image:linear-gradient(90deg,rgba(255,248,240,.96) 0%,rgba(255,248,240,.94) 64%,rgba(255,248,240,0) 76%),url('/img/promo-ivory-20260907.webp'); background-position:right center; background-size:cover; background-repeat:no-repeat; color:#302820; }
.purchase-page .promo__title,
.purchase-page .promo__title-main,
.purchase-page .promo__title-sub,
.purchase-page .promo__subtitle,
.purchase-page .promo__benefit-text,
.purchase-page .promo__benefit-title { text-shadow:none; }
.purchase-page .promo__title-main { color:#b6370b; }
.purchase-page .promo__title-sub,
.purchase-page .promo__subtitle,
.purchase-page .promo__benefit-title { color:#302820; }
.purchase-page .promo__benefit-text { color:#51463b; }
.purchase-page .promo__benefit-icon img { filter:none; }
@media (min-width:1200px) {
  .purchase-page .promo__title,
  .purchase-page .promo__subtitle,
  .purchase-page .promo__wrapper { max-width:64%; }
  .purchase-page .promo__title-sub { font-size:34px; line-height:1.2; }
  .purchase-page .promo__subtitle { font-size:22px; line-height:1.4; }
}
@media (max-width:1199px) {
  .purchase-page .promo { background-image:linear-gradient(rgba(255,248,240,.94),rgba(255,248,240,.94)),url('/img/promo-ivory-20260907.webp'); }
}
@media (max-width:767px) {
  /* No photographic detail beneath small mobile copy; no image download. */
  .purchase-page .promo { background:linear-gradient(135deg,#fffaf4,#f5e6d5); }
}
.promo__actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:20px; }
.promo__order-link { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 24px; border:2px solid #c8410f; border-radius:9px; background:#c8410f; color:#fff; font-size:15px; font-weight:700; line-height:1.35; text-align:center; text-decoration:none; box-sizing:border-box; }
.promo__order-link:hover { background:#a83309; border-color:#a83309; }
.promo__order-link:focus-visible, .promo__actions .promo__button:focus-visible { outline:3px solid #172b40; outline-offset:3px; }
.promo__actions .promo__button--secondary { margin:0; min-height:48px; padding:12px 18px; border:1px solid #a83309; background:#fff8f2; color:#922d08; box-shadow:none; text-transform:none; font-size:14px; line-height:1.35; }
#catalog-section, #shop-categories { scroll-margin-top:90px; }
@media (max-width:767px) {
  .purchase-page .promo { padding:18px 14px; }
  .purchase-page .promo .container { padding:0; }
  .purchase-page .promo__title { margin:0; font-size:28px; line-height:1.15; }
  .purchase-page .promo__title-main { font-size:28px; line-height:1.15; }
  .purchase-page .promo__title-sub { font-size:19px; line-height:1.25; margin-top:5px; }
  .purchase-page .promo__subtitle { margin-top:10px; font-size:14px; line-height:1.45; }
  .purchase-page .promo__actions { margin-top:14px; gap:8px; }
  .purchase-page .promo__order-link { flex:1 1 190px; min-height:46px; padding:10px 12px; font-size:14px; }
  .purchase-page .promo__actions .promo__button--secondary { flex:1 1 105px; min-height:44px; padding:10px; font-size:13px; }
  .purchase-page .promo__wrapper { margin-top:16px; }
  .purchase-page .promo__benefit { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 10px; }
  .purchase-page .promo__benefit-item { display:flex; align-items:flex-start; gap:7px; margin:0; width:auto; }
  .purchase-page .promo__benefit-icon, .purchase-page .promo__benefit-icon img { width:24px; height:24px; min-width:24px; margin:0; }
  .purchase-page .promo__benefit-text, .purchase-page .promo__benefit-title { font-size:11px; line-height:1.4; margin:0; }
  .purchase-page--catalog .menu { padding:12px 0 8px; margin:0; }
  .purchase-page--catalog .menu > .container > .menu__title { display:none; }
  .purchase-page--catalog .menu__list { display:flex; flex-wrap:nowrap; justify-content:flex-start; gap:8px; overflow-x:auto; padding:2px 1px 8px; margin:0; }
  .purchase-page--catalog .menu__card { flex:0 0 auto; width:auto; min-width:0; min-height:44px; padding:0 12px; margin:0; display:flex; align-items:center; }
  .purchase-page--catalog .menu__card_image-wrapper { display:none; }
  .purchase-page--catalog .menu__card_content { padding:0; }
  .purchase-page--catalog .menu__card_title { margin:0; font-size:13px; line-height:1.25; white-space:nowrap; }
  .purchase-page--catalog .breadcrumbs { margin:0; padding:6px 0; }
  .purchase-page--catalog .catalog { padding-top:10px; }
  .purchase-page--catalog .catalog .menu__title { margin:0 0 16px; padding:0; line-height:1.3; }
  .purchase-page--catalog .catalog .menu__title_our { font-size:22px; }
  .purchase-page--catalog .catalog .menu__title_menu { font-size:16px; }
  .purchase-page--catalog .product__card_image-wrapper { padding-top:0; height:155px; }
  .purchase-page--catalog .product__card_content { padding:12px; }
  .purchase-page--catalog .product__card_title { margin-bottom:7px; }
  .purchase-page--catalog .product__card_description { min-height:0; margin-bottom:12px; }
  .purchase-page--catalog .product__sizes { margin-bottom:24px; }
  .purchase-page--catalog .product__size_btn { min-width:44px; min-height:44px; }
}

/* Contacts: use available width instead of centering two fixed-width columns. */
.purchase-page .contacts__content { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); justify-content:stretch; gap:48px; padding:40px; }
.purchase-page .contacts__info { min-width:0; padding:6px 0; }
.purchase-page .contacts__form-card { min-width:0; width:100%; margin:0; }
.purchase-page .contacts__subtitle { max-width:52ch; }
@media (max-width:1100px) and (min-width:901px) {
  .purchase-page .contacts__content { padding:32px; gap:32px; }
}
@media (max-width:900px) {
  .purchase-page .contacts__content { grid-template-columns:minmax(0,1fr); padding:24px; gap:24px; }
  .purchase-page .contacts__info { padding:0; }
}
@media (max-width:480px) {
  .purchase-page .contacts__content { padding:20px 16px; }
  .purchase-page .contacts__form-card { padding:24px 18px; }
}

/* Clearer card typography and a distinct floating cart surface. */
.purchase-page .product__card_title { font-weight:700; text-shadow:none; }
.purchase-page .cat-feature__title { font-weight:700; text-shadow:none; }
.purchase-page .cat-feature__badge,
.purchase-page .cat-feature__btn,
.purchase-page .cat-feature__meta b { font-weight:600; text-shadow:none; }
.purchase-page .floating-cart {
  background:#fff0df;
  border:2px solid #c8410f;
  padding:12px 18px;
  min-height:48px;
  cursor:pointer;
  font-family:inherit;
  box-shadow:0 5px 18px rgba(70,40,20,.20);
}
.purchase-page .floating-cart:hover { background:#ffe4c7; border-color:#a83309; }
.purchase-page .floating-cart:focus-visible { outline:3px solid #68402a; outline-offset:3px; }
.purchase-page .floating-cart__price { color:#542710; font-weight:600; white-space:nowrap; }
.purchase-page .floating-cart__wrap svg { fill:#a83309; }

/* Responsive navigation and promo: 2026-10-31. */
@media (768px <= width < 1024px) {
  .navigation .navigation-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: none; grid-auto-rows: auto; gap: 8px 12px; align-items: stretch; justify-items: stretch; }
  .navigation .navigation-item { min-width: 0; }
  .navigation .navigation-link { justify-content: center; width: 100%; min-height: 44px; padding: 6px 8px; }
  .navigation .navigation-item:last-child:nth-child(3n + 1) { grid-column: 1 / -1; justify-self: center; }
  .navigation .navigation-text { white-space: normal; }
}
@media (width < 1024px) {
  .purchase-page .promo__wrapper { width: 100%; max-width: none; margin: 20px 0 0; }
  .purchase-page .promo__benefit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; gap: 18px 24px; }
  .purchase-page .promo__benefit-item { display: flex; align-items: flex-start; min-width: 0; width: auto; gap: 12px; }
  .purchase-page .promo__benefit-icon { flex: 0 0 36px; width: 36px; min-width: 36px; height: 36px; margin: 0; }
  .purchase-page .promo__benefit-icon img { width: 100%; min-width: 0; height: 100%; }
  .purchase-page .promo__benefit-text { min-width: 0; margin: 0; font-size: 14px; line-height: 1.4; }
  .purchase-page .promo__benefit-title { margin: 0 0 2px; font-size: 14px; line-height: 1.35; }
}
@media (width < 768px) {
  .navigation .navigation-list { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: none; gap: 0; align-items: stretch; }
  .navigation .navigation-item { width: 100%; min-width: 0; }
  .navigation .navigation-link { min-height: 48px; justify-content: flex-start; }
  .navigation .navigation-text { white-space: normal; }
  .purchase-page .promo__actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; align-items: stretch; }
  .purchase-page .promo__actions .promo__order-link,
  .purchase-page .promo__actions .promo__button--secondary { width: 100%; min-width: 0; min-height: 46px; margin: 0; padding: 11px 14px; font-size: 14px; line-height: 1.35; }
  .purchase-page .promo__wrapper { margin-top: 20px; }
  .purchase-page .promo__benefit { gap: 16px 20px; }
  .purchase-page .promo__benefit-icon { flex-basis: 32px; width: 32px; min-width: 32px; height: 32px; }
  .purchase-page .promo__benefit-text, .purchase-page .promo__benefit-title { font-size: 13px; }
}
@media (width < 480px) {
  .purchase-page .promo__benefit { grid-template-columns: minmax(0, 1fr); gap: 14px; }
}
