/*
 * hsd-recensioni.css — HectorSolisDigital
 * Ticket infinito recensioni
 * Caricare nel <head> tramite header.php
 */

/* ============================================================
   SEZIONE
   ============================================================ */

.hsd-rec-section {
    padding: 80px 0;
    background: var(--hsd-white);
    overflow: hidden;
}

.hsd-rec-header {
    text-align: center;
    margin-bottom: 48px;
    padding: 0 20px;
}

.hsd-rec-eyebrow {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--hsd-blue);
    margin-bottom: 0.4rem;
}

.hsd-rec-title {
    font-family: var(--hsd-font);
    font-size: clamp(1.4rem, 2.5vw, 1.9rem);
    font-weight: 700;
    color: var(--hsd-text);
    margin: 0;
}


/* ============================================================
   TRACK WRAPPER — maschere ai lati
   ============================================================ */

.hsd-rec-track-wrap {
    overflow: hidden;
    mask-image: linear-gradient(
        to right,
        transparent 0%,
        black 8%,
        black 92%,
        transparent 100%
    );
    -webkit-mask-image: linear-gradient(
        to right,
        transparent 0%,
        black 8%,
        black 92%,
        transparent 100%
    );
}

.hsd-rec-track-wrap:hover .hsd-rec-track {
    animation-play-state: paused;
}


/* ============================================================
   TRACK ANIMATO
   ============================================================ */

.hsd-rec-track {
    display: flex;
    width: max-content;
    animation: hsdRecScroll 40s linear infinite;
    align-items: stretch;   /* tutte le card stessa altezza */
    gap: 24px;
    padding: 12px 24px;
}

@keyframes hsdRecScroll {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}


/* ============================================================
   CARD — altezza uniforme con flexbox
   ============================================================ */

.hsd-rec-card {
    width: 300px;
    flex-shrink: 0;
    background: var(--hsd-white);
    border: 1px solid rgba(31, 95, 175, 0.1);
    border-radius: 16px;
    padding: 1.75rem 1.5rem;
    box-shadow: 0 4px 24px rgba(31, 95, 175, 0.07);

    /* Flexbox verticale per distribuire spazio uniformemente */
    display: flex;
    flex-direction: column;
    gap: 0;
}


/* ============================================================
   STELLE
   ============================================================ */

.hsd-rec-stars {
    display: flex;
    gap: 3px;
    margin-bottom: 1rem;
}

.hsd-rec-stars i {
    font-size: 0.9rem;
    color: #F59E0B;
}


/* ============================================================
   TESTO — flex:1 per occupare spazio disponibile
   ============================================================ */

.hsd-rec-testo {
    font-size: 0.88rem;
    color: var(--hsd-text);
    line-height: 1.75;
    margin: 0;
    flex: 1;                /* ← questa è la chiave dell'altezza uniforme */

    /* Clamp a 6 righe massimo per sicurezza */
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


/* ============================================================
   AUTORE
   ============================================================ */

.hsd-rec-autore {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(31, 95, 175, 0.07);
}

.hsd-rec-nome {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--hsd-text);
}

.hsd-rec-data {
    font-size: 0.75rem;
    color: var(--hsd-text-muted);
    letter-spacing: 0.5px;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 767px) {

    .hsd-rec-section {
        padding: 56px 0;
    }

    .hsd-rec-card {
        width: 260px;
        padding: 1.5rem 1.25rem;
    }

    .hsd-rec-track {
        gap: 16px;
        animation-duration: 32s;
    }

    /* Maschera ridotta su mobile */
    .hsd-rec-track-wrap {
        mask-image: linear-gradient(
            to right,
            transparent 0%,
            black 5%,
            black 95%,
            transparent 100%
        );
        -webkit-mask-image: linear-gradient(
            to right,
            transparent 0%,
            black 5%,
            black 95%,
            transparent 100%
        );
    }
}
