/* Circular launch carousel; product-card markup and styles are shared with the catalogue. */
.launch-collection-head { align-items: center; flex-wrap: wrap; }
.launch-carousel-controls { display: flex; gap: 9px; margin-left: auto; }
.launch-carousel-controls button {
  display: grid; place-items: center; width: 46px; height: 46px; flex: 0 0 46px;
  border: 1px solid #a9b9ac; background: transparent; color: var(--pine);
  border-radius: 50%; font-size: 25px; line-height: 1; cursor: pointer;
  transition: background .2s, color .2s, border-color .2s, transform .2s;
}
.launch-carousel-controls button:hover:not(:disabled) { background: var(--pine); color: #fff; border-color: var(--pine); transform: translateY(-1px); }
.launch-carousel-controls button:disabled { opacity: .32; cursor: default; }
.launch-carousel-controls button:focus-visible, .launch-grid:focus-visible { outline: 3px solid var(--sage); outline-offset: 3px; }
.launch-grid {
  display: flex; gap: 16px; overflow: hidden; overflow: clip;
  touch-action: pan-y; user-select: none; cursor: grab;
  transform: translate3d(0,0,0); transition: transform .42s cubic-bezier(.22,.72,.22,1);
  will-change: transform;
}
.launch-grid:active { cursor: grabbing; }
.launch-grid .product-card { flex: 0 0 calc((100% - 4 * 16px) / 5); min-width: 0; }
.launch-grid .card-info { display: grid; grid-template-columns: minmax(0,1fr); gap: 7px; min-width: 0; }
.launch-grid .card-info h3 { font-size: clamp(20px,1.6vw,25px); line-height: 1.02; overflow-wrap: anywhere; }
.launch-grid .card-info>span { white-space: normal; padding-top: 0; }
@media (min-width: 1051px) and (max-width: 1250px) {
  .launch-grid .product-card { flex-basis: calc((100% - 3 * 16px) / 4); }
}
@media (max-width: 1050px) {
  .launch-grid .product-card { flex-basis: calc((100% - 2 * 16px) / 3); }
}
@media (max-width: 720px) {
  .launch-collection-head { align-items: center; gap: 15px; }
  .launch-collection-head h2 { width: 100%; }
  .launch-carousel-controls { order: 2; margin-left: 0; }
  .launch-collection-head>a { margin-left: auto; }
  .launch-grid { gap: 12px; touch-action: pan-y; }
  .launch-grid .product-card { flex-basis: min(78vw, 330px); }
  .launch-grid .card-info h3 { font-size: clamp(20px,6vw,24px); }
}
@media (prefers-reduced-motion: reduce) {
  .launch-carousel-controls button { transition: none; }
  .launch-grid { transition: none; }
}
