.search input,
.order-search input {
  color: var(--black);
  font: inherit;
}

.search input::placeholder,
.order-search input::placeholder {
  color: var(--black);
  opacity: .68;
}

.search > span,
.order-search > span {
  color: var(--black);
  opacity: .9;
}

.hero-art {
  --ball-start-x: 43%;
  --ball-start-y: 38%;
  --ball-end-x: 69%;
  --ball-end-y: 55%;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.category-card > i {
  translate: 0 5px;
  transition: translate 1.05s cubic-bezier(.16,1,.3,1);
}

.category-card.motion-visible > i {
  translate: 0 0;
}

.product-card,
.float-card {
  opacity: 0;
  translate: 0 5px;
  transition: opacity .85s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms),
              translate 1s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),
              transform .3s ease;
}

.product-card.is-visible,
.float-card.is-visible {
  opacity: 1;
  translate: 0 0;
}

.product-grid {
  transition: opacity .34s ease, transform .42s cubic-bezier(.16,1,.3,1);
}

.product-grid.is-switching {
  opacity: 0;
  transform: translateY(2px);
}

.section-reveal > :not(.product-grid):not(.floating-products) {
  opacity: 0;
  translate: 0 7px;
  transition: opacity 1s cubic-bezier(.2,.65,.3,1),
              translate 1.15s cubic-bezier(.16,1,.3,1);
}

.section-reveal > :nth-child(2) {
  transition-delay: 70ms;
}

.section-reveal > :nth-child(3) {
  transition-delay: 120ms;
}

.section-reveal > :nth-child(n+4) {
  transition-delay: 150ms;
}

.section-reveal.section-visible > :not(.product-grid):not(.floating-products) {
  opacity: 1;
  translate: 0 0;
}

.hero-art:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 4px;
}

.hero-art .ball {
  left: var(--ball-start-x);
  top: var(--ball-start-y);
  z-index: 4;
  will-change: left, top, transform;
}

.hero-art.is-playing .ball {
  animation: hero-ball-rally 1.65s cubic-bezier(.45,.02,.22,1) both;
}

.hero-art.is-playing .r1 {
  animation: hero-racket-left 1.65s ease-out both;
}

.hero-art.is-playing .r2 {
  animation: hero-racket-right 1.65s ease-out both;
}

@keyframes hero-ball-rally {
  0% { left: var(--ball-start-x); top: var(--ball-start-y); transform: scale(1); }
  7% { transform: scale(.82,1.16); }
  28% { left: 55%; top: 20%; transform: scale(1) rotate(100deg); }
  50% { left: var(--ball-end-x); top: var(--ball-end-y); transform: scale(1) rotate(220deg); }
  57% { transform: scale(.82,1.16) rotate(240deg); }
  77% { left: 56%; top: 27%; transform: scale(1) rotate(330deg); }
  100% { left: var(--ball-start-x); top: var(--ball-start-y); transform: scale(1) rotate(440deg); }
}

@keyframes hero-racket-left {
  0%,100% { transform: rotate(-18deg); }
  5% { transform: rotate(-24deg); }
  12% { transform: rotate(-14deg); }
  19% { transform: rotate(-18deg); }
}

@keyframes hero-racket-right {
  0%,43%,68%,100% { transform: rotate(18deg); }
  51% { transform: rotate(25deg); }
  59% { transform: rotate(13deg); }
}

.floating-products .float-card {
  width: 260px;
  height: 360px;
}

.float-card:nth-child(2) {
  top: 55%;
}

.float-card:nth-child(4) {
  right: 6%;
  top: 4%;
  bottom: auto;
  rotate: -3deg;
  z-index: 2;
}

@media (max-width: 900px) {
  .floating-products .float-card {
    width: 210px;
    height: 305px;
  }

  .float-card:nth-child(2) {
    top: 52%;
  }

  .float-card:nth-child(4) {
    right: 3%;
    top: 4%;
  }
}

@media (max-width: 520px) {
  .hero-art {
    --ball-start-x: 40%;
    --ball-start-y: 34%;
    --ball-end-x: 71%;
    --ball-end-y: 55%;
  }

  .search input,
  .order-search input {
    font-size: 14px;
  }

  .floating-products .float-card {
    width: 185px;
    height: 280px;
  }

  .float-card:nth-child(2) {
    top: 50%;
  }

  .float-card:nth-child(4) {
    right: 1%;
    top: 4%;
    bottom: auto;
    rotate: -3deg;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-art.is-playing .ball,
  .hero-art.is-playing .r1,
  .hero-art.is-playing .r2 {
    animation: none;
  }

  .category-card > i,
  .product-card,
  .float-card,
  .product-grid,
  .section-reveal > :not(.product-grid):not(.floating-products) {
    opacity: 1;
    translate: none;
    transform: none;
    transition: none;
  }
}

/* Финальная унификация каталога */
body {
  font-size: 16px;
}

.topbar nav,
.ig-mini,
.order-header nav,
.filter,
.search input,
.order-search input {
  font-size: 14px;
}

.eyebrow,
.section-head > p,
.section-head > div > p,
.poster-copy > p,
.about > p,
.order-meta small,
.order-photo span,
.order-dialog-photo span {
  font-size: 12px;
}

.category-card > span,
.price,
.order-meta > b,
.order-dialog-info > b {
  font-size: 14px;
}

.product-card strong,
.order-meta strong {
  font-size: 16px;
}

.product-visual.photo,
.order-photo,
.order-dialog-photo {
  background: var(--black);
}

.product-card .product-visual.photo img,
.float-card .product-visual.photo img,
.order-photo img,
.order-dialog-photo img {
  object-fit: contain !important;
}

.stock-badge,
.detail-stock {
  display: inline-flex;
  align-items: center;
  width: max-content;
  border-radius: 999px;
  background: var(--wine);
  color: var(--cream);
  text-transform: uppercase;
  letter-spacing: .09em;
  font-size: 11px;
  line-height: 1;
  padding: 8px 11px;
}

.stock-badge {
  position: absolute;
  top: 11px;
  left: 11px;
  z-index: 3;
}

.detail-stock {
  margin-top: 14px;
}

.catalog-empty {
  max-width: 760px;
  margin: 54px auto 0;
  padding: 46px 26px;
  border: 1px solid color-mix(in srgb, var(--black) 18%, transparent);
  border-radius: 24px;
  text-align: center;
}

.catalog-empty[hidden] {
  display: none;
}

.catalog-empty h3 {
  margin: 0 0 12px;
  font-size: clamp(26px, 4vw, 42px);
  letter-spacing: -.04em;
}

.catalog-empty p {
  margin: 0 auto 24px;
  max-width: 530px;
  line-height: 1.65;
  color: color-mix(in srgb, var(--ink) 70%, transparent);
}

.catalog-empty .button {
  min-width: 210px;
}

.dialog-actions {
  display: grid;
  gap: 10px;
  margin-top: 25px;
}

.dialog-actions .button,
.dialog-actions .order-button {
  margin-top: 0;
}

.copy-link {
  border: 1px solid color-mix(in srgb, var(--black) 28%, transparent);
  border-radius: 16px;
  background: transparent;
  color: var(--ink);
  padding: 16px 20px;
  font: 600 14px/1.2 Manrope, Arial, sans-serif;
  cursor: pointer;
}

@media (max-width: 540px) {
  .product-card strong,
  .order-meta strong {
    font-size: 14px;
  }

  .stock-badge,
  .order-photo span,
  .order-dialog-photo span {
    font-size: 10px;
    padding: 7px 9px;
  }

  .catalog-empty {
    margin-top: 34px;
    padding: 36px 18px;
  }
}

/* Навигация при прокрутке */
.topbar,
.order-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  transition: height .45s cubic-bezier(.16,1,.3,1),
              background-color .45s ease,
              box-shadow .45s ease,
              backdrop-filter .45s ease;
}

.topbar.is-scrolled,
.order-header.is-scrolled {
  height: 66px;
  background: color-mix(in srgb, var(--black) 91%, transparent);
  box-shadow: 0 12px 35px color-mix(in srgb, var(--black) 22%, transparent);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.topbar.is-scrolled .brand img,
.order-header.is-scrolled .order-logo img {
  transform: scale(.9);
  transform-origin: left center;
}

.topbar .brand img,
.order-logo img {
  transition: transform .45s cubic-bezier(.16,1,.3,1);
}

/* Полезные характеристики в карточках */
.racket-profile {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 0 0 14px;
}

.racket-profile span {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 5px 8px;
  border: 1px solid color-mix(in srgb, var(--ink) 16%, transparent);
  border-radius: 999px;
  color: color-mix(in srgb, var(--ink) 72%, transparent);
  font-size: 10px;
  line-height: 1.15;
}

.dialog-info > .racket-profile {
  margin: -2px 0 8px;
}

.photo-dots {
  position: absolute;
  left: 50%;
  bottom: 10px;
  z-index: 3;
  display: flex;
  gap: 4px;
  translate: -50% 0;
  padding: 6px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--black) 72%, transparent);
}

.photo-dots i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--cream);
  opacity: .45;
  transition: opacity .25s ease, transform .25s ease;
}

.photo-dots i.active {
  opacity: 1;
  transform: scale(1.18);
}

.card-gallery-track {
  display: flex;
  width: 100%;
  height: 100%;
  transition: transform .48s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
}

.product-card [data-card-gallery] {
  touch-action: pan-y;
}

.product-card { position: relative; }
.favorite-button { position:absolute;right:20px;top:20px;z-index:4;width:34px;height:34px;border:0;border-radius:50%;background:color-mix(in srgb,var(--black) 68%,transparent);color:var(--cream);font-size:21px;line-height:1;cursor:pointer;backdrop-filter:blur(8px) }
.favorite-button.active { background:var(--wine); }
.racket-filters { max-width:1312px;margin:-15px auto 28px;display:grid;gap:10px }
.racket-filters[hidden] { display:none }
.racket-filters>div { display:flex;align-items:center;gap:7px;flex-wrap:wrap }
.racket-filters span { width:58px;font-size:12px;opacity:.62 }
.racket-filters button { border:1px solid color-mix(in srgb,var(--black) 22%,transparent);background:transparent;border-radius:100px;padding:8px 12px;font:inherit;font-size:12px;cursor:pointer }
.racket-filters button.active { background:var(--wine);border-color:var(--wine);color:var(--cream) }
.store-note { margin:7px 0 4px!important;font-size:12px;line-height:1.45!important;color:color-mix(in srgb,var(--ink) 66%,transparent)!important }
.contact-actions { display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:18px }
.contact-choice,.share-link,.copy-link { border:1px solid color-mix(in srgb,var(--black) 22%,transparent);background:transparent;border-radius:12px;padding:12px 10px;font:inherit;font-size:12px;text-align:center;cursor:pointer }
.contact-choice:first-child { background:var(--black);color:var(--cream);border-color:var(--black) }
.dialog-actions { display:flex;gap:8px;margin-top:8px }
.dialog-actions>* { flex:1 }
.quick-contact { position:fixed;left:50%;bottom:14px;translate:-50% 0;z-index:25;display:flex;align-items:center;gap:4px;padding:6px;border-radius:16px;background:color-mix(in srgb,var(--black) 93%,transparent);color:var(--cream);box-shadow:0 14px 45px #0005;backdrop-filter:blur(16px) }
.quick-contact span { padding:0 12px;font-size:12px;opacity:.72 }
.quick-contact a { padding:11px 13px;border-radius:11px;background:color-mix(in srgb,var(--cream) 10%,transparent);font-size:12px;white-space:nowrap }
.back-to-top { position:fixed;right:18px;bottom:18px;z-index:24;width:44px;height:44px;border:0;border-radius:50%;background:var(--wine);color:var(--cream);font-size:20px;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s }
.back-to-top.visible { opacity:1;pointer-events:auto;transform:none }

.product-card .card-gallery-track > img {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
}

.stock-badge,
.detail-stock {
  font-size: 9px;
  padding: 6px 8px;
  opacity: .88;
}

.inquiry-note {
  margin: 15px 0 0;
  color: color-mix(in srgb, var(--ink) 62%, transparent) !important;
  font-size: 12px;
  line-height: 1.5 !important;
}

.order-meta em,
.delivery-note {
  display: block;
  color: color-mix(in srgb, var(--black) 62%, transparent);
  font-size: 11px;
  font-style: normal;
  line-height: 1.35;
}

.order-meta em {
  min-height: 30px;
  margin: -7px 0 12px;
}

.delivery-note {
  margin: 0 0 7px;
}

/* Практический блок перед контактами */
.customer-care {
  background: var(--cream);
}

.customer-care .section-head h2 {
  max-width: 900px;
}

.care-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.care-grid article {
  min-height: 290px;
  padding: 30px;
  border-radius: 24px;
  background: var(--blue);
}

.care-grid article:nth-child(2) {
  background: var(--wine);
  color: var(--cream);
}

.care-grid article:nth-child(3) {
  border: 1px solid color-mix(in srgb, var(--black) 14%, transparent);
  background: var(--cream);
}

.care-grid article > span {
  font-size: 12px;
  opacity: .55;
}

.care-grid h3 {
  margin: 75px 0 14px;
  font-size: clamp(22px, 2.2vw, 32px);
  letter-spacing: -.04em;
}

.care-grid p {
  margin: 0;
  max-width: 390px;
  line-height: 1.65;
  opacity: .72;
}

.care-links,
.footer-contacts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

.care-links {
  margin-top: 22px;
}

.care-links a {
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
  font-size: 13px;
}

footer .footer-contacts {
  flex-direction: column;
  gap: 8px;
}

footer .footer-contacts a {
  width: max-content;
}

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

  .care-grid article {
    min-height: 240px;
  }

  .care-grid h3 {
    margin-top: 55px;
  }
}

@media (max-width: 540px) {
  .topbar.is-scrolled,
  .order-header.is-scrolled {
    height: 62px;
  }

  .racket-profile {
    gap: 4px;
  }

  .racket-profile span {
    min-height: 22px;
    padding: 4px 6px;
    font-size: 9px;
  }

  .product-card .meta .racket-profile span:nth-child(2) {
    display: none;
  }

  .care-grid article {
    min-height: 220px;
    padding: 24px;
    border-radius: 20px;
  }

  .care-grid h3 {
    margin-top: 45px;
  }
  .quick-contact { left:12px;right:12px;translate:0;justify-content:space-between }
  .quick-contact span { display:none }
  .quick-contact a { flex:1;text-align:center;padding:11px 7px }
  .back-to-top { bottom:76px }
  .contact-actions { grid-template-columns:1fr }
  .racket-filters>div { align-items:flex-start }
  .racket-filters span { width:100%;margin-top:5px }
}
