/* Yellow Leaf Catalog: neutral styles; inherits colours and fonts from the theme. */
.ylm-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); margin-block: 1.5rem; }
.ylm-grid--news { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.ylm-card { display: flex; flex-direction: column; gap: .35rem; text-decoration: none; color: inherit; }
.ylm-card__img { width: 100%; aspect-ratio: 1; height: auto; object-fit: cover; border-radius: 6px; display: block; background: color-mix(in srgb, currentColor 8%, transparent); transition: transform .2s ease; }
.ylm-grid--news .ylm-card__img { aspect-ratio: 16 / 9; }
.ylm-card:hover .ylm-card__img, .ylm-card:focus-visible .ylm-card__img { transform: scale(1.02); }
.ylm-card__title { font-weight: 600; line-height: 1.3; }
.ylm-card__sub { font-size: .875em; opacity: .7; }
.ylm-links { display: flex; flex-wrap: wrap; gap: .5rem; }
.ylm-facts { display: grid; grid-template-columns: max-content 1fr; gap: .25rem 1rem; margin-block: 1rem 1.5rem; }
.ylm-facts dt { font-weight: 600; }
.ylm-facts dd { margin: 0; }

/* Carousel: placeholder design, to be refined together. */
.ylm-carousel { position: relative; }
.ylm-carousel__track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(220px, 24%); gap: 1.25rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-block: .5rem; }
.ylm-carousel__track::-webkit-scrollbar { display: none; }
.ylm-carousel__slide { scroll-snap-align: start; }
.ylm-carousel__nav { position: absolute; top: 40%; z-index: 2; width: 2.5rem; height: 2.5rem; border-radius: 50%; border: 0; cursor: pointer; font-size: 1.5rem; line-height: 1; background: rgba(0,0,0,.6); color: #fff; }
.ylm-carousel__nav--prev { left: -.75rem; }
.ylm-carousel__nav--next { right: -.75rem; }
@media (max-width: 600px) { .ylm-carousel__track { grid-auto-columns: 70%; } .ylm-carousel__nav { display: none; } }
.ylm-embed { margin-block: 1.5rem; }
.ylm-embed iframe { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; }
.ylm-embed iframe[src*="spotify"] { aspect-ratio: auto; height: 352px; }
