/* Three distinct, finite catalogue previews. Full catalogues keep infinite scrolling. */
.home-collections { margin-top: 54px; scroll-margin-top: 24px; }
.home-collection { margin-top: 54px; scroll-margin-top: 24px; }
.collection-heading { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-bottom: 26px; }
.collection-label { color: #91739f; font: 11px/1.5 var(--sans); letter-spacing: .055em; margin: 0 0 10px; }
.collection-label > span { color: #b19abd; margin-inline: 5px; }
.collection-heading h2 { color: #51365f; font: 400 38px/1.12 Georgia,serif; letter-spacing: -.85px; margin: 0; }
.collection-intro { color: #877491; font: 14px/1.65 var(--sans); margin: 12px 0 0; max-width: 590px; }
.collection-all { display: inline-flex; align-items: center; justify-content: space-between; gap: 26px; min-height: 46px; flex-shrink: 0; color: #78578b; font-size: 13px; border: 1px solid #dacde3; border-radius: 30px; padding: 10px 18px; }
.collection-all > span { font-size: 21px; }
.collection-all:hover { background: #ffffffa6; border-color: #b79dc7; }
.collection-grid { display: grid; min-width: 0; }
.collection-card { min-width: 0; }
.collection-card > a { display: flex; flex-direction: column; height: 100%; color: inherit; }
.collection-card > a:focus-visible { outline: 2px solid #866198; outline-offset: 5px; border-radius: 17px; }
.collection-card h3 { font-size: 19px; font-weight: 500; line-height: 1.35; letter-spacing: -.3px; color: #554160; margin: 0; overflow-wrap: anywhere; }
.collection-image { position: relative; overflow: hidden; }
.collection-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.collection-card:hover .collection-image img { transform: scale(1.025); }
.collection-copy { display: flex; flex-direction: column; flex: 1; }
.collection-copy > .card-description { display: block; font-size: 13px; line-height: 1.65; margin-top: 12px; color: #8c7c97; }
.collection-card-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 22px; color: #856693; font-size: 12px; line-height: 1.5; }
.collection-card-bottom > span:last-child { font-size: 19px; }
/* Tests: soft lavender, generous image covers, a clear invitation to compare. */
.collection-tests { margin-top: 0; padding: 32px; background: #eee7f4; border-radius: 26px; border: 1px solid #e6ddee; }
.collection-tests .collection-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.collection-tests .collection-card { border-radius: 18px; background: #fff; overflow: hidden; }
.collection-tests .collection-image { height: 182px; background: #dfd0e8; }
.collection-image-note { position: absolute; bottom: 13px; left: 14px; padding: 6px 10px; border-radius: 20px; background: #fffdf2eb; color: #795c83; font-size: 10px; }
.collection-tests .collection-copy { padding: 20px 22px; }
.collection-tests .collection-card-bottom { color: #765187; }
/* Toys: quieter catalogue shelf with clear silhouettes and three short details. */
.collection-toys .collection-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; }
.collection-toys .collection-image { height: 194px; border-radius: 20px; background: #f0edf4; }
.collection-toys .collection-image img { object-fit: contain; padding: 22px; mix-blend-mode: multiply; }
.collection-toys .collection-card:nth-child(2n) .collection-image { background: #f3efe9; }
.collection-toys .collection-copy { padding: 19px 4px 0; }
.collection-toys h3 { font-size: 17px; }
.collection-toys .toy-highlights { margin: 13px 0 0; padding-left: 16px; font-size: 12px; line-height: 1.65; color: #897793; }
.collection-toys .toy-highlights li { margin: 0 0 6px; }
.collection-toys .toy-highlights li::marker { color: #b097c1; }
.collection-toys .collection-card-bottom { margin-top: auto; padding: 16px 0 0; }
/* Positions: a compact two-column editorial list, with smaller illustrations. */
.collection-positions { background: #f2efe9; padding: 32px; border: 1px solid #eae4db; border-radius: 26px; }
.collection-positions .collection-grid { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 28px; row-gap: 0; }
.collection-positions .collection-card { padding: 20px 0; border-top: 1px solid #e0d8d7; }
.collection-positions .collection-card > a { flex-direction: row; gap: 21px; }
.collection-positions .collection-image { width: 133px; height: 157px; border-radius: 16px; flex-shrink: 0; background: #e9e2ed; }
.collection-positions .collection-image img { object-fit: cover; }
.collection-positions .collection-copy { padding: 2px 0; min-width: 0; }
.collection-format { color: #9b8a9c; font-size: 10px; line-height: 1.5; margin-bottom: 8px; }
.collection-positions h3 { font-size: 17px; }
.collection-positions .card-description { font-size: 12px; line-height: 1.6; margin-top: 9px; }
.collection-positions .collection-card-bottom { padding-top: 12px; font-size: 11px; }
@media(max-width:1000px) {
  .collection-tests,.collection-positions { padding: 25px; }
  .collection-tests .collection-grid { gap: 15px; }
  .collection-tests .collection-copy { padding: 17px; }
  .collection-tests .collection-image { height: 160px; }
  .collection-card h3 { font-size: 17px; }
  .collection-toys .collection-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 22px; }
  .collection-toys .collection-image { height: 205px; }
  .collection-positions .collection-grid { column-gap: 23px; }
  .collection-positions .collection-image { width: 104px; height: 130px; }
  .collection-positions .collection-card > a { gap: 15px; }
  .collection-positions h3 { font-size: 16px; }
}
@media(max-width:650px) {
  .home-collections { margin-top: 35px; }
  .home-collection { margin-top: 35px; }
  .collection-tests { margin-top: 0; }
  .collection-heading { align-items: flex-start; flex-direction: column; gap: 14px; margin-bottom: 20px; }
  .collection-heading h2 { font-size: 31px; }
  .collection-label { font-size: 10px; margin-bottom: 9px; }
  .collection-intro { font-size: 13px; margin-top: 10px; }
  .collection-all { min-height: 44px; font-size: 12px; padding: 8px 15px; gap: 23px; }
  .collection-tests,.collection-positions { padding: 23px 18px 20px; border-radius: 22px; }
  .collection-tests .collection-grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 88%; gap: 13px; overflow-x: auto; scroll-snap-type: x proximity; padding: 3px 3px 12px; margin: -3px; scrollbar-width: thin; scroll-padding: 3px; }
  .collection-tests .collection-card { scroll-snap-align: start; }
  .collection-tests .collection-image { height: 163px; }
  .collection-tests .collection-copy { padding: 18px; }
  .collection-tests .collection-card h3 { font-size: 18px; }
  .collection-toys .collection-grid { gap: 24px 15px; }
  .collection-toys .collection-image { height: 160px; border-radius: 17px; }
  .collection-toys .collection-image img { padding: 16px; }
  .collection-toys .collection-copy { padding: 15px 0 0; }
  .collection-toys h3 { font-size: 16px; }
  .collection-toys .toy-highlights { padding-left: 13px; font-size: 12px; line-height: 1.55; }
  .collection-toys .collection-card-bottom { font-size: 10px; gap: 8px; }
  .collection-positions .collection-grid { grid-template-columns: 1fr; }
  .collection-positions .collection-card { padding: 17px 0; }
  .collection-positions .collection-card:last-child { padding-bottom: 2px; }
  .collection-positions .collection-image { width: 100px; height: 125px; }
  .collection-positions .collection-card > a { gap: 16px; }
  .collection-positions h3 { font-size: 16px; }
  .collection-positions .card-description { font-size: 12px; }
  .collection-positions .collection-card-bottom { padding-top: 10px; }
}
@media(max-width:360px) {
  .collection-heading h2 { font-size: 28px; }
  .collection-toys .collection-image { height: 140px; }
  .collection-toys h3 { font-size: 15px; }
  .collection-positions .collection-card > a { gap: 12px; }
  .collection-positions .collection-image { width: 82px; height: 112px; }
  .collection-positions h3 { font-size: 15px; }
}
@media(prefers-reduced-motion:reduce) { .collection-image img { transition: none; } }
