/*
 * HoneyWay — Review Cards
 * Include in assets/css/components.css or as a standalone import.
 *
 * Outputs clean, brand-matched review cards.
 * Layout columns are controlled by .hw-reviews--cols-1 through --cols-4.
 */

/* ── Grid wrapper ─────────────────────────────────────────────────────────── */
.hw-reviews {
    display: grid;
    gap: 20px;
    grid-template-columns: 1fr;
}

.hw-reviews--cols-1 { grid-template-columns: 1fr; }
.hw-reviews--cols-2 { grid-template-columns: repeat(2, 1fr); }
.hw-reviews--cols-3 { grid-template-columns: repeat(3, 1fr); }
.hw-reviews--cols-4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 1024px) {
    .hw-reviews--cols-4 { grid-template-columns: repeat(2, 1fr); }
    .hw-reviews--cols-3 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
    .hw-reviews--cols-2,
    .hw-reviews--cols-3,
    .hw-reviews--cols-4 { grid-template-columns: 1fr; }
}

/* List style: stacked full-width */
.hw-reviews--list { grid-template-columns: 1fr; gap: 16px; }

/* Single style: centred, max-width constrained */
.hw-reviews--single {
    grid-template-columns: minmax(0, 640px);
    justify-content: center;
}

/* ── Card ─────────────────────────────────────────────────────────────────── */
.hw-review-card {
    background: #faf6ee;
    border: 1px solid #e8e2d4;
    border-radius: 14px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    transition: box-shadow 0.15s, transform 0.15s;
}

.hw-review-card:hover {
    box-shadow: 0 6px 28px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

/* List variant: horizontal-ish, lighter */
.hw-reviews--list .hw-review-card {
    background: #fff;
    border-left: 3px solid #d4a04a;
    border-radius: 0 10px 10px 0;
    padding: 20px 24px;
    flex-direction: row;
    align-items: flex-start;
    gap: 24px;
}

.hw-reviews--list .hw-review-footer {
    flex-shrink: 0;
    min-width: 160px;
    border-top: none;
    padding-top: 0;
    margin-top: 0;
}

/* ── Stars ────────────────────────────────────────────────────────────────── */
.hw-review-stars {
    color: #d4a04a;
    font-size: 1rem;
    letter-spacing: 2px;
    line-height: 1;
}

/* ── Headline ─────────────────────────────────────────────────────────────── */
.hw-review-headline {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1rem;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0;
    line-height: 1.3;
}

/* ── Body ─────────────────────────────────────────────────────────────────── */
.hw-review-body {
    margin: 0;
    padding: 0;
    border: none;
    flex: 1;
}

.hw-review-body p {
    font-size: 0.9rem;
    line-height: 1.7;
    color: #3a3a3a;
    font-style: italic;
    margin: 0;
    text-align: justify;
}

/* ── Footer ───────────────────────────────────────────────────────────────── */
.hw-review-footer {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    border-top: 1px solid #e8e2d4;
    padding-top: 14px;
    margin-top: auto;
}

.hw-review-author {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-style: normal;
}

.hw-review-author strong {
    font-size: 0.85rem;
    font-weight: 700;
    color: #1a1a1a;
}

.hw-review-location {
    font-size: 0.75rem;
    color: #8b6420;
    font-weight: 500;
}

.hw-review-date {
    font-size: 0.72rem;
    color: #aaa;
    white-space: nowrap;
    flex-shrink: 0;
}
