/* =============================================================
   Block: Quote Wall  (testimonials as a card grid)
   Prefix: blk-quote-wall
   ============================================================= */

.blk-quote-wall {
    --qw-pad-y: clamp(4rem, 8vw, 6.5rem);
    --qw-pad-x: clamp(1.25rem, 5vw, 3.5rem);
    background-color: var(--sd-color-background-alt, #f3f5ef);
    padding: var(--qw-pad-y) var(--qw-pad-x);
}

.blk-quote-wall__container {
    max-width: 1180px;
    margin-inline: auto;
}

.blk-quote-wall__head {
    text-align: center;
    max-width: 44rem;
    margin: 0 auto clamp(2rem, 4vw, 3.25rem);
}

.blk-quote-wall__overline {
    display: inline-block;
    font-family: var(--sd-font-family-primary, 'Outfit', sans-serif);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--sd-color-cta, #5f7d3a);
    margin-bottom: 0.85rem;
}

.blk-quote-wall__heading {
    font-family: var(--sd-font-family-heading, 'Outfit', sans-serif);
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -0.022em;
    color: var(--sd-color-primary-dark, #2a3324);
    margin: 0;
}

.blk-quote-wall__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: clamp(1.25rem, 2.4vw, 1.75rem);
    align-items: start;
}

/* A lone quote shouldn't stretch full width */
.blk-quote-wall__grid[data-count='1'] {
    max-width: 640px;
    margin-inline: auto;
    grid-template-columns: 1fr;
}

.blk-quote-wall__card {
    position: relative;
    background: var(--sd-color-white, #fff);
    border: 1px solid rgba(42, 54, 36, 0.08);
    border-radius: var(--sd-radius-xl, 0.5rem);
    padding: clamp(1.6rem, 3vw, 2.25rem);
    margin: 0;
    box-shadow: 0 10px 30px rgba(42, 54, 36, 0.06);
}

.blk-quote-wall__mark {
    display: block;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 3rem;
    line-height: 0.6;
    color: var(--sd-color-cta, #5f7d3a);
    opacity: 0.35;
    margin-bottom: 0.4rem;
}

.blk-quote-wall__quote {
    margin: 0 0 1.35rem;
    font-family: var(--sd-font-family-primary, 'Outfit', sans-serif);
    font-size: clamp(0.97rem, 1.1vw, 1.05rem);
    line-height: 1.65;
    color: var(--sd-color-primary-dark, #2a3324);
}

.blk-quote-wall__cite {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    border-top: 1px solid rgba(42, 54, 36, 0.1);
    padding-top: 1rem;
}

.blk-quote-wall__name {
    font-family: var(--sd-font-family-primary, 'Outfit', sans-serif);
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--sd-color-primary-dark, #2a3324);
}

.blk-quote-wall__role {
    font-size: 0.83rem;
    color: var(--sd-color-gray-600, #6b6b6b);
}

@media (max-width: 600px) {
    .blk-quote-wall__grid { grid-template-columns: 1fr; }
}
