/* ==========================================================
   ELENCO COLLEZIONI (retail, pubblico, grossisti)
   ========================================================== */

.cl-page {
    padding-top: clamp(0.5rem, 2vw, 1rem);
}

.cl-head {
    padding-bottom: clamp(1.5rem, 4vw, 2.5rem);
}

/* Colonne in base al numero di collezioni (classe messa dal template) */
.cl-grid {
    display: grid;
    gap: clamp(1rem, 2.5vw, 1.75rem);
}

.cl-grid--1 { grid-template-columns: minmax(0, 1fr); }
.cl-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cl-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.cl-card {
    display: flex;
    flex-direction: column;
    background: var(--surface);
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 1px 0 var(--line);
    color: var(--ink);
    text-decoration: none;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.cl-card:hover {
    color: var(--ink);
    box-shadow: var(--shadow-soft);
    transform: translateY(-2px);
}

.cl-card__media {
    aspect-ratio: 4 / 3;
}

.cl-grid--3 .cl-card__media { aspect-ratio: 4 / 5; }

.cl-card__media .r-media__img {
    transition: transform 0.6s ease;
}

.cl-card:hover .cl-card__media .r-media__img {
    transform: scale(1.04);
}

.cl-card__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.6rem;
    padding: clamp(1.25rem, 2.5vw, 1.75rem);
    flex: 1;
}

.cl-card__name {
    font-size: clamp(1.6rem, 2.8vw, 2.1rem);
    font-weight: 400;
    line-height: 1.1;
}

.cl-card__desc {
    color: var(--moss);
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cl-card__go {
    margin-top: auto;
    padding-top: 0.5rem;
}

.cl-card:hover .cl-card__go .r-icon { transform: translateX(3px); }

/* Una sola collezione: card orizzontale, immagine grande a sinistra */
.cl-grid--1 .cl-card {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
}

.cl-grid--1 .cl-card__media { aspect-ratio: 16 / 10; }
.cl-grid--1 .cl-card__body { justify-content: center; padding: clamp(1.5rem, 4vw, 3rem); }
.cl-grid--1 .cl-card__go { margin-top: 0.5rem; }

/* Nessuna collezione */
.cl-empty {
    background: var(--surface);
    border-radius: var(--radius-lg);
    box-shadow: 0 1px 0 var(--line);
    padding: clamp(2.5rem, 6vw, 4rem) 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    text-align: center;
    color: var(--moss);
}

.cl-empty img { opacity: 0.5; }

@media (max-width: 1000px) {
    .cl-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cl-grid--3 .cl-card__media { aspect-ratio: 4 / 3; }
}

@media (max-width: 700px) {
    .cl-grid--2,
    .cl-grid--3 { grid-template-columns: minmax(0, 1fr); }
    .cl-grid--1 .cl-card { display: flex; }
    .cl-card__media,
    .cl-grid--1 .cl-card__media,
    .cl-grid--3 .cl-card__media { aspect-ratio: 16 / 10; }
}

@media (prefers-reduced-motion: reduce) {
    .cl-card,
    .cl-card:hover { transform: none; }
    .cl-card:hover .cl-card__media .r-media__img { transform: none; }
}
