/* ============================================================
   DMM — Testimonials
   ============================================================ */
.dmm-testimonials {
    margin: 1.5em 0;
}

.dmm-testimonials img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* --- Shared card --- */
.dmm-testi-card {
    box-sizing: border-box;
}

.dmm-testi-inner {
    background: #fff;
    border: 1px solid #e7e9ec;
    border-radius: 12px;
    padding: 22px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.dmm-testi-header {
    display: flex;
    align-items: center;
    gap: 12px;
}

.dmm-testi-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.dmm-testi-avatar-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #6a8cff 0%, #4285F4 100%);
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
}

.dmm-testi-meta {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
    flex: 1;
    min-width: 0;
}

.dmm-testi-name {
    font-weight: 600;
    font-size: 0.98rem;
    color: #1a1a1a;
}

.dmm-testi-role {
    font-size: 0.8rem;
    color: #707883;
}

.dmm-google-g {
    flex-shrink: 0;
    display: inline-flex;
    line-height: 0;
}

.dmm-testi-rating {
    display: flex;
    align-items: center;
    gap: 10px;
}

.dmm-stars {
    display: inline-flex;
    gap: 1px;
    font-size: 1rem;
    line-height: 1;
}

.dmm-star {
    color: #dcdfe3;
}

.dmm-star.on {
    color: #fbbc04;
}

.dmm-testi-date {
    font-size: 0.78rem;
    color: #9aa1a9;
}

.dmm-testi-text {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.6;
    color: #3c434a;
}

/* --- Carousel nav buttons (Google & Spotlight) --- */
.dmm-testimonials .dmm-slide-prev,
.dmm-testimonials .dmm-slide-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    border: none;
    font-size: 2rem;
    line-height: 1;
    padding: 0.3em 0.5em;
    cursor: pointer;
    border-radius: 4px;
    z-index: 2;
    transition: background 0.2s;
}

.dmm-testimonials .dmm-slide-prev:hover,
.dmm-testimonials .dmm-slide-next:hover {
    background: rgba(0, 0, 0, 0.8);
}

.dmm-testimonials .dmm-slide-prev {
    left: 0;
}

.dmm-testimonials .dmm-slide-next {
    right: 0;
}

/* --- Carousel shell (Google & Spotlight) --- */
.dmm-testi-google,
.dmm-testi-spotlight {
    position: relative;
    overflow: hidden;
    padding: 4px 0;
}

.dmm-testi-track {
    display: flex;
}

.dmm-testi-google .dmm-testi-card,
.dmm-testi-spotlight .dmm-testi-card {
    flex: 0 0 100%;
    padding: 0 8px;
}

/* Google per-view widths */
.dmm-testi-google[data-per-view="2"] .dmm-testi-card { flex-basis: 50%; }
.dmm-testi-google[data-per-view="3"] .dmm-testi-card { flex-basis: 33.333%; }
.dmm-testi-google[data-per-view="4"] .dmm-testi-card { flex-basis: 25%; }

/* --- Grid --- */
.dmm-testi-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, 1fr);
}

.dmm-testi-grid[data-per-view="1"] { grid-template-columns: 1fr; }
.dmm-testi-grid[data-per-view="2"] { grid-template-columns: repeat(2, 1fr); }
.dmm-testi-grid[data-per-view="3"] { grid-template-columns: repeat(3, 1fr); }
.dmm-testi-grid[data-per-view="4"] { grid-template-columns: repeat(4, 1fr); }

/* --- Masonry --- */
.dmm-testi-masonry {
    column-count: 3;
    column-gap: 16px;
}

.dmm-testi-masonry[data-per-view="1"] { column-count: 1; }
.dmm-testi-masonry[data-per-view="2"] { column-count: 2; }
.dmm-testi-masonry[data-per-view="3"] { column-count: 3; }
.dmm-testi-masonry[data-per-view="4"] { column-count: 4; }

.dmm-testi-masonry .dmm-testi-card {
    break-inside: avoid;
    margin-bottom: 16px;
}

/* --- Spotlight --- */
.dmm-testi-spotlight {
    text-align: center;
    padding: 10px 60px;
}

.dmm-testi-spotlight .dmm-testi-track {
    display: block;
    position: relative;
}

.dmm-testi-spotlight .dmm-testi-card {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    transition: opacity 0.5s ease;
    padding: 0;
}

.dmm-testi-spotlight .dmm-testi-card.active {
    position: relative;
    opacity: 1;
}

.dmm-testi-spotlight .dmm-testi-inner {
    border: none;
    box-shadow: none;
    background: transparent;
    align-items: center;
    gap: 16px;
    padding: 10px;
}

.dmm-testi-spotlight .dmm-testi-header {
    flex-direction: column;
    text-align: center;
    gap: 8px;
}

.dmm-testi-spotlight .dmm-testi-avatar {
    width: 72px;
    height: 72px;
}

.dmm-testi-spotlight .dmm-testi-meta {
    align-items: center;
}

.dmm-testi-spotlight .dmm-testi-text {
    font-size: 1.25rem;
    line-height: 1.6;
    font-style: italic;
    color: #2a2f36;
    max-width: 760px;
    position: relative;
}

.dmm-testi-spotlight .dmm-testi-text::before {
    content: "\201C";
    font-family: Georgia, serif;
    font-size: 2.4em;
    line-height: 0;
    vertical-align: -0.35em;
    color: #cfd6dd;
    margin-right: 0.08em;
}

/* === Responsive === */
@media (max-width: 768px) {
    .dmm-testi-grid,
    .dmm-testi-grid[data-per-view="2"],
    .dmm-testi-grid[data-per-view="3"],
    .dmm-testi-grid[data-per-view="4"] {
        grid-template-columns: 1fr;
    }

    .dmm-testi-masonry,
    .dmm-testi-masonry[data-per-view="2"],
    .dmm-testi-masonry[data-per-view="3"],
    .dmm-testi-masonry[data-per-view="4"] {
        column-count: 1;
    }

    .dmm-testi-google[data-per-view="3"] .dmm-testi-card,
    .dmm-testi-google[data-per-view="4"] .dmm-testi-card {
        flex-basis: 50%;
    }

    .dmm-testi-spotlight {
        padding: 10px 44px;
    }

    .dmm-testi-spotlight .dmm-testi-text {
        font-size: 1.05rem;
    }
}
