/* =============================================
   Layout: cards-row
   Scoped: .turidesk-departures--cards-row
   Mobile first — stacked card → desktop row
   ============================================= */

/* --- Layout container --- */
.turidesk-departures--cards-row {
    --_border: #eaedf0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 480px;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .turidesk-departures--cards-row {
        max-width: 1140px;
    }
}

/* --- Card: grid 2 cols mobile --- */
.turidesk-departures--cards-row .turidesk-departures__card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    overflow: hidden;
}

.turidesk-departures--cards-row .turidesk-departures__card--sold-out {
    opacity: 0.7;
}

/* --- Dates: full width row --- */
.turidesk-departures--cards-row .turidesk-departures__dates {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 16px 20px 12px;
    border-bottom: 1px solid var(--_border);
}

/* --- Date column: stacked day+month / year --- */
.turidesk-departures--cards-row .turidesk-departures__date-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    min-width: 80px;
}

.turidesk-departures--cards-row .turidesk-departures__date-day {
    font-size: 0.9375rem;
    font-weight: 500;
    white-space: nowrap;
}

.turidesk-departures--cards-row .turidesk-departures__date-year {
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1;
}

/* --- Connector: FA icon --- */
.turidesk-departures--cards-row .turidesk-departures__connector {
    font-size: 1.125rem;
    color: var(--turidesk-primary);
    flex-shrink: 0;
}

/* --- Info: price + spots stacked --- */
.turidesk-departures--cards-row .turidesk-departures__info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 12px 10px;
}

/* --- Price --- */
.turidesk-departures--cards-row .turidesk-departures__price {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 4px;
    flex-wrap: wrap;
}

.turidesk-departures--cards-row .turidesk-departures__price-currency {
    font-size: 0.8125rem;
    font-weight: 600;
}

.turidesk-departures--cards-row .turidesk-departures__price-amount {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.2;
}

.turidesk-departures--cards-row .turidesk-departures__price-label {
    font-size: 0.75rem;
    font-weight: 400;
}

.turidesk-departures--cards-row .turidesk-departures__price-original {
    display: none;
    font-size: 0.75rem;
    font-weight: 500;
    text-decoration: line-through;
    order: -1;
    flex: 0 0 100%;
}

/* --- Spots --- */
.turidesk-departures--cards-row .turidesk-departures__spots {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.8125rem;
    font-weight: 500;
}

.turidesk-departures--cards-row .turidesk-departures__spot-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}

.turidesk-departures--cards-row .turidesk-departures__spot-dot--available {
    background: var(--turidesk-success);
}

.turidesk-departures--cards-row .turidesk-departures__spot-dot--limited {
    background: var(--turidesk-warning);
}

.turidesk-departures--cards-row .turidesk-departures__spot-dot--sold-out {
    background: var(--turidesk-muted);
}

/* --- Actions --- */
.turidesk-departures--cards-row .turidesk-departures__actions {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 10px;
}

.turidesk-departures--cards-row .turidesk-departures__btn-book {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-width: 130px;
    padding: 8px 10px;
    font-size: 0.8125rem;
    font-weight: 700;
    white-space: nowrap;
}

.turidesk-departures--cards-row .turidesk-departures__btn-book i {
    font-size: 0.75rem;
    transition: transform 0.2s ease;
}

.turidesk-departures--cards-row .turidesk-departures__btn-book:hover i {
    transform: translateX(3px);
}

/* =============================================
   DESKTOP — >=768px: horizontal 3-col row
   ============================================= */
@media (min-width: 768px) {
    .turidesk-departures--cards-row {
        gap: 14px;
    }

    .turidesk-departures--cards-row .turidesk-departures__card {
        grid-template-columns: 38% 1fr auto;
        transition: box-shadow 0.2s ease;
    }

    .turidesk-departures--cards-row .turidesk-departures__card:hover {
        box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
    }

    .turidesk-departures--cards-row .turidesk-departures__card--sold-out:hover {
        box-shadow: none;
    }

    /* Dates: col 1, left-aligned */
    .turidesk-departures--cards-row .turidesk-departures__dates {
        grid-column: 1;
        justify-content: flex-start;
        gap: 16px;
        padding: 20px 24px;
        border-bottom: none;
    }

    .turidesk-departures--cards-row .turidesk-departures__date-day {
        font-size: 1rem;
    }

    .turidesk-departures--cards-row .turidesk-departures__connector {
        font-size: 1.25rem;
    }

    /* Info: col 2, centered */
    .turidesk-departures--cards-row .turidesk-departures__info {
        padding: 20px 24px;
        gap: 4px;
    }

    .turidesk-departures--cards-row .turidesk-departures__price-amount {
        font-size: 1.5rem;
    }

    .turidesk-departures--cards-row .turidesk-departures__price-original {
        display: block;
        text-align: center;
    }

    /* Actions: col 3 */
    .turidesk-departures--cards-row .turidesk-departures__actions {
        padding: 20px 24px;
    }

    .turidesk-departures--cards-row .turidesk-departures__btn-book {
        min-width: 165px;
        padding: 10px 18px;
        font-size: 1rem;
    }
}