/* ========== BASE CONTAINER (Testimonial Marquee) ========== */
.dpm-testimonial-marquee.dpm-marquee-container {
    max-height: none;
    overflow: hidden;
    position: relative;
    width: 100%;
    --edge-shadow-color: rgba(0,0,0,1);
    --edge-shadow-blur: 80px;
    --edge-shadow-spread: 60px;
    --animation-duration: 10s;
}

/* ========== EDGE SHADOWS (Horizontal - Left/Right) ========== */
.dpm-testimonial-marquee.dpm-marquee-container::before,
.dpm-testimonial-marquee.dpm-marquee-container::after {
    content: "";
    position: absolute;
    top: 0;
    width: 0;
    height: 100%;
    z-index: 2;
    pointer-events: none;
    box-shadow: 0 0 var(--edge-shadow-blur, 80px) var(--edge-shadow-spread, 60px) var(--edge-shadow-color, rgba(0,0,0,1));
}

.dpm-testimonial-marquee.dpm-marquee-container::before {
    left: 0;
}

.dpm-testimonial-marquee.dpm-marquee-container::after {
    right: 0;
}

@media (max-width: 980px) {
    .dpm-testimonial-marquee.dpm-marquee-container::before,
    .dpm-testimonial-marquee.dpm-marquee-container::after {
        box-shadow: 0 0
            var(--edge-shadow-blur-tablet, var(--edge-shadow-blur, 80px))
            var(--edge-shadow-spread-tablet, var(--edge-shadow-spread, 60px))
            var(--edge-shadow-color-tablet, var(--edge-shadow-color, rgba(0,0,0,1)));
    }
}

@media (max-width: 767px) {
    .dpm-testimonial-marquee.dpm-marquee-container::before,
    .dpm-testimonial-marquee.dpm-marquee-container::after {
        box-shadow: 0 0
            var(--edge-shadow-blur-phone, var(--edge-shadow-blur-tablet, var(--edge-shadow-blur, 80px)))
            var(--edge-shadow-spread-phone, var(--edge-shadow-spread-tablet, var(--edge-shadow-spread, 60px)))
            var(--edge-shadow-color-phone, var(--edge-shadow-color-tablet, var(--edge-shadow-color, rgba(0,0,0,1))));
    }
}

.dpm-testimonial-marquee.dpm-marquee-container::before,
.dpm-testimonial-marquee.dpm-marquee-container::after {
    width: var(--dpm-edge-width, 0);
    height: var(--dpm-edge-height, 100%);
}

.dpm-testimonial-marquee.dpm-marquee-container::before {
    left: var(--dpm-edge-before-left, 0);
    right: var(--dpm-edge-before-right, auto);
    top: var(--dpm-edge-before-top, 0);
    bottom: var(--dpm-edge-before-bottom, auto);
}

.dpm-testimonial-marquee.dpm-marquee-container::after {
    left: var(--dpm-edge-after-left, auto);
    right: var(--dpm-edge-after-right, 0);
    top: var(--dpm-edge-after-top, 0);
    bottom: var(--dpm-edge-after-bottom, auto);
}

/* ========== EDGE SHADOWS (Vertical - Top/Bottom) ========== */
.dpm-vertical.dpm-testimonial-marquee.dpm-marquee-container::before,
.dpm-vertical.dpm-testimonial-marquee.dpm-marquee-container::after {
    width: 100%;
    height: 0;
    left: 0;
    right: auto;
    box-shadow: 0 0 var(--edge-shadow-blur, 80px) var(--edge-shadow-spread, 60px) var(--edge-shadow-color, rgba(0,0,0,1));
}

.dpm-vertical.dpm-testimonial-marquee.dpm-marquee-container::before {
    top: 0;
}

.dpm-vertical.dpm-testimonial-marquee.dpm-marquee-container::after {
    top: auto;
    bottom: 0;
}

.dpm-testimonial-marquee.dpm-marquee-container.dpm-no-shadow::before,
.dpm-testimonial-marquee.dpm-marquee-container.dpm-no-shadow::after {
    display: none !important;
}

/* ========== VISUAL BUILDER ========== */
body.et-fb-preview .dpm-testimonial-marquee.dpm-marquee-container,
.et-dbp-preview .dpm-testimonial-marquee.dpm-marquee-container {
    overflow: hidden !important;
}

body.et-fb-preview .dpm-testimonial-marquee .dpm-marquee-content,
.et-dbp-preview .dpm-testimonial-marquee .dpm-marquee-content {
    animation-play-state: paused !important;
    flex-wrap: nowrap !important;
    opacity: 1 !important;
}

body.et-fb-preview .dpm-vertical.dpm-testimonial-marquee.dpm-marquee-container,
.et-dbp-preview .dpm-vertical.dpm-testimonial-marquee.dpm-marquee-container {
    overflow: hidden !important;
}

body.et-fb-preview .dpm-vertical.dpm-testimonial-marquee .dpm-marquee-wrapper,
.et-dbp-preview .dpm-vertical.dpm-testimonial-marquee .dpm-marquee-wrapper {
    max-height: none !important;
    height: 100% !important;
    overflow: hidden;
}

body.et-fb-preview .dpm-testimonial-marquee .dpm-marquee-group,
.et-dbp-preview .dpm-testimonial-marquee .dpm-marquee-group {
    flex-shrink: 0;
}

/* ========== STRUCTURE ========== */
.dpm-testimonial-marquee .dpm-marquee-wrapper {
    overflow: clip;
    width: 100%;
    position: relative;
}

.dpm-testimonial-marquee.dpm-vertical.dpm-marquee-container {
    height: var(--vertical-height);
    overflow: hidden;
}

.dpm-vertical.dpm-testimonial-marquee .dpm-marquee-wrapper {
    height: 100%;
    max-height: inherit;
    overflow: hidden;
}

.dpm-vertical.dpm-testimonial-marquee .dpm-marquee-content {
    width: 100% !important;
}

.dpm-testimonial-marquee .dpm-marquee-content {
    display: flex !important;
    gap: var(--item-gap, 48px);
    width: max-content;
    will-change: transform;
    animation-name: var(--dpm-fallback-animation, dpm-testimonial-fallback-left);
    animation-duration: var(--animation-duration, 10s);
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    opacity: 1;
}

/*
 * Segment-based motion (one duplicate per cycle): matches other marquee JS and VB text-marquee init.
 * Generic dpm-fallback-* uses -100% over the same duration, which made the frontend ~N× faster.
 */
.dpm-testimonial-marquee.dpm-direction-left .dpm-marquee-content {
    animation-name: dpm-testimonial-fallback-left;
}

.dpm-testimonial-marquee.dpm-direction-right .dpm-marquee-content {
    animation-name: dpm-testimonial-fallback-right;
}

.dpm-testimonial-marquee.dpm-direction-top .dpm-marquee-content {
    animation-name: dpm-testimonial-fallback-left;
}

.dpm-testimonial-marquee.dpm-direction-bottom .dpm-marquee-content {
    animation-name: dpm-testimonial-fallback-right;
}

.dpm-vertical.dpm-testimonial-marquee.dpm-direction-left .dpm-marquee-content {
    animation-name: dpm-testimonial-fallback-up;
}

.dpm-vertical.dpm-testimonial-marquee.dpm-direction-right .dpm-marquee-content {
    animation-name: dpm-testimonial-fallback-down;
}

.dpm-vertical.dpm-testimonial-marquee.dpm-direction-top .dpm-marquee-content {
    animation-name: dpm-testimonial-fallback-up;
}

.dpm-vertical.dpm-testimonial-marquee.dpm-direction-bottom .dpm-marquee-content {
    animation-name: dpm-testimonial-fallback-down;
}

@keyframes dpm-testimonial-fallback-left {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(calc(-1 * var(--duplicate-percentage, 12.5%)));
    }
}

@keyframes dpm-testimonial-fallback-right {
    from {
        transform: translateX(calc(-1 * var(--duplicate-percentage, 12.5%)));
    }
    to {
        transform: translateX(0);
    }
}

@keyframes dpm-testimonial-fallback-up {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(calc(-1 * var(--duplicate-percentage, 12.5%)));
    }
}

@keyframes dpm-testimonial-fallback-down {
    from {
        transform: translateY(calc(-1 * var(--duplicate-percentage, 12.5%)));
    }
    to {
        transform: translateY(0);
    }
}

.dpm-testimonial-marquee .dpm-marquee-content[data-ready] {
    /* no-op now that marquee content is always visible */
}

.dpm-testimonial-marquee .dpm-marquee-group {
    display: flex !important;
    flex-shrink: 0 !important;
    gap: var(--item-gap, 48px);
    align-items: stretch;
}

.dpm-vertical.dpm-testimonial-marquee .dpm-marquee-group {
    flex-direction: column !important;
}

.dpm-vertical.dpm-testimonial-marquee .dpm-marquee-content {
    flex-direction: column !important;
}

.dpm-testimonial-marquee .dpm-marquee-group .et_pb_module {
    margin: 0 !important;
}

.dpm-testimonial-marquee.dpm-pause-on-hover:hover .dpm-marquee-content {
    animation-play-state: paused !important;
}

/* ========== ITEM (Testimonial Marquee — card-only markup) ========== */
.dpm-testimonial-marquee .dpm-testimonial-marquee-item__inner {
    display: inline-flex !important;
    align-items: stretch;
    flex-shrink: 0 !important;
    box-sizing: border-box;
}

/* Override Divi .et-waypoint opacity so testimonial images/icons show (Divi sets opacity:0 until scroll animation) */
.dpm-testimonial-marquee .et-waypoint:not(.et_pb_counters) {
    opacity: 1 !important;
}

.dpm-testimonial-marquee .testimonial-card.template-two {
    max-width: 100%;
    min-width: 0;
    flex-shrink: 0;
    box-sizing: border-box;
    margin: 0 auto;
    position: relative;
    text-align: center;
    word-wrap: break-word;
    overflow-wrap: break-word;
    /* Divi sometimes outputs border-width/color without border-style in VB.
       If border-width is set, forcing solid style keeps the border visible. */
    border-style: solid;
}

/* Keep body text within testimonial width and allow wrapping (override marquee nowrap) */
.dpm-testimonial-marquee .testimonial-card.template-two .testimonial-text {
    max-width: 100%;
    min-width: 0;
    width: 100%;
    white-space: normal !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
    overflow: hidden;
    box-sizing: border-box;
}

.dpm-testimonial-marquee .testimonial-card.template-two .testimonial-text p,
.dpm-testimonial-marquee .testimonial-card.template-two .testimonial-text div {
    white-space: normal !important;
}

.dpm-testimonial-marquee .testimonial-card.template-two.et_pb_text_align_left { text-align: left; }
.dpm-testimonial-marquee .testimonial-card.template-two.et_pb_text_align_right { text-align: right; }
.dpm-testimonial-marquee .testimonial-card.template-two.et_pb_text_align_justified { text-align: justify; }
.dpm-testimonial-marquee .testimonial-card.template-two.et_pb_text_align_center { text-align: center; }

.dpm-testimonial-marquee .testimonial-card.template-two .testimonial-text p:last-of-type { padding-bottom: 0; }
.dpm-testimonial-marquee .testimonial-card.template-two .testimonial-title a { text-decoration: none; }
.dpm-testimonial-marquee .testimonial-card.template-two .testimonial-title {
    padding-bottom: 0;
}

.dpm-testimonial-marquee .testimonial-card.template-two .dpm-tm-author-icon .et_pb_image_wrap {
    display: block;
    margin: auto;
}

.dpm-testimonial-marquee .testimonial-card.template-two .dpm-author-box .author-image {
    display: block;
}

/* ========== TEMPLATE ONE (default white card with star strip) ========== */

/* Parent Content > Testimonial Item Background: stacking for Divi video / pattern / mask layers */
.dpm-testimonial-marquee .testimonial-card.template-two {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.dpm-testimonial-marquee .testimonial-card.template-two > .et_pb_section_video_bg {
    z-index: 0;
}

/* Native <video> fill (Divi often uses mediaelement; without it, cover the card like section video). */
.dpm-testimonial-marquee .testimonial-card.et_pb_section_video.template-two > .et_pb_section_video_bg video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
}

.dpm-testimonial-marquee .testimonial-card.template-two > .et_pb_background_pattern,
.dpm-testimonial-marquee .testimonial-card.template-two > .et_pb_background_mask {
    z-index: 1;
    pointer-events: none;
}

.dpm-testimonial-marquee .testimonial-card.template-two > .testimonial-rating-row,
.dpm-testimonial-marquee .testimonial-card.template-two > .testimonial-title,
.dpm-testimonial-marquee .testimonial-card.template-two > .testimonial-text,
.dpm-testimonial-marquee .testimonial-card.template-two > .testimonial-footer {
    position: relative;
    z-index: 2;
}

/* Star row + stars: apply for every template (Divi 5 did not add dpm-template-* until recently). */
.dpm-testimonial-marquee .testimonial-card.template-two .testimonial-rating-row {
    /* ensure review icon inherits design color from fonts control */
    color: inherit;
}

/* Make the review icon respond properly to margin/padding from Design > Review Icon */
.dpm-testimonial-marquee .testimonial-card.template-two .star-rating {
    display: inline-block;
}

.dpm-testimonial-marquee .testimonial-card.template-two .star-rating::after {
    content: "★★★★★";
    letter-spacing: 3px;
    --rating-percent: calc(var(--rating) / 5 * 100%);
    background: linear-gradient(
      90deg,
      currentColor var(--rating-percent),
      var(--review-icon-unmarked-color, lightgray) var(--rating-percent)
    );

    -webkit-background-clip: text;
    background-clip: text;
    /* Keep the element's color (currentColor) for the gradient,
       but make the text fill transparent so only the gradient shows. */
    -webkit-text-fill-color: transparent;
}

.dpm-testimonial-marquee.dpm-template-one .testimonial-card.template-two .testimonial-title {
    max-width: 100%;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    overflow: hidden;
}

.dpm-testimonial-marquee.dpm-template-one .testimonial-card.template-two .testimonial-text {
    max-width: 100%;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.dpm-testimonial-marquee.dpm-template-one .testimonial-card.template-two .testimonial-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow: hidden;
}

/* Parent: Design > Review Icon > Review Icon Position (row variants; parent class shows one) */
.dpm-testimonial-marquee.dpm-review-icon-pos-top .testimonial-card.template-two .testimonial-rating-row--at-footer-end,
.dpm-testimonial-marquee.dpm-review-icon-pos-top .testimonial-card.template-two .testimonial-rating-row--before-author-name,
.dpm-testimonial-marquee.dpm-review-icon-pos-top .testimonial-card.template-two .testimonial-rating-row--after-author-name {
    display: none !important;
}

.dpm-testimonial-marquee.dpm-review-icon-pos-right_of_author .testimonial-card.template-two > .testimonial-rating-row--at-card-top,
.dpm-testimonial-marquee.dpm-review-icon-pos-right_of_author .testimonial-card.template-two .testimonial-rating-row--before-author-name,
.dpm-testimonial-marquee.dpm-review-icon-pos-right_of_author .testimonial-card.template-two .testimonial-rating-row--after-author-name {
    display: none !important;
}

.dpm-testimonial-marquee.dpm-review-icon-pos-before_author_name .testimonial-card.template-two > .testimonial-rating-row--at-card-top,
.dpm-testimonial-marquee.dpm-review-icon-pos-before_author_name .testimonial-card.template-two .testimonial-footer > .testimonial-rating-row--at-footer-end,
.dpm-testimonial-marquee.dpm-review-icon-pos-before_author_name .testimonial-card.template-two .testimonial-rating-row--after-author-name {
    display: none !important;
}

.dpm-testimonial-marquee.dpm-review-icon-pos-after_author_name .testimonial-card.template-two > .testimonial-rating-row--at-card-top,
.dpm-testimonial-marquee.dpm-review-icon-pos-after_author_name .testimonial-card.template-two .testimonial-footer > .testimonial-rating-row--at-footer-end,
.dpm-testimonial-marquee.dpm-review-icon-pos-after_author_name .testimonial-card.template-two .testimonial-rating-row--before-author-name {
    display: none !important;
}

.dpm-testimonial-marquee .testimonial-card.template-two > .testimonial-rating-row--at-card-top {
    display: var(--dpm-review-top-display, block) !important;
}

.dpm-testimonial-marquee .testimonial-card.template-two .testimonial-footer > .testimonial-rating-row--at-footer-end {
    display: var(--dpm-review-footer-display, none) !important;
}

.dpm-testimonial-marquee .testimonial-card.template-two .testimonial-rating-row--before-author-name {
    display: var(--dpm-review-before-display, none) !important;
}

.dpm-testimonial-marquee .testimonial-card.template-two .testimonial-rating-row--after-author-name {
    display: var(--dpm-review-after-display, none) !important;
}

.dpm-testimonial-marquee .testimonial-card.template-two .dpm-author-box {
    display: flex;
    flex-direction: var(--dpm-author-flex-direction, row);
    align-items: var(--dpm-author-align, center);
    gap: 10px;
    flex: 1 1 0;
    min-width: 0;
    max-width: 100%;
}

/* Legacy parent placement/alignment classes are still used by Divi 4.
 * Divi 5 now prefers the responsive CSS-variable path above.
 */
.dpm-testimonial-marquee.dpm-global-icon-top .testimonial-card.template-two .dpm-author-box {
    flex-direction: column;
}

.dpm-testimonial-marquee.dpm-global-icon-top.dpm-global-align-left .testimonial-card.template-two .dpm-author-box {
    align-items: flex-start;
}
.dpm-testimonial-marquee.dpm-global-icon-top.dpm-global-align-left .testimonial-card.template-two .dpm-author-text {
    text-align: left;
}

.dpm-testimonial-marquee.dpm-global-icon-top.dpm-global-align-center .testimonial-card.template-two .dpm-author-box {
    align-items: center;
}
.dpm-testimonial-marquee.dpm-global-icon-top.dpm-global-align-center .testimonial-card.template-two .dpm-author-text {
    text-align: center;
}

.dpm-testimonial-marquee.dpm-global-icon-top.dpm-global-align-right .testimonial-card.template-two .dpm-author-box {
    align-items: flex-end;
}
.dpm-testimonial-marquee.dpm-global-icon-top.dpm-global-align-right .testimonial-card.template-two .dpm-author-text {
    text-align: right;
}

.dpm-testimonial-marquee.dpm-global-icon-left .testimonial-card.template-two .dpm-author-box,
.dpm-testimonial-marquee.dpm-global-icon-right .testimonial-card.template-two .dpm-author-box {
    flex-direction: row;
}

/* Child Testimonial Item > Author Image controls (must override parent global placement/alignment). */
.dpm-testimonial-marquee .testimonial-card.template-two.dpm-item-icon-top .dpm-author-box {
    flex-direction: column !important;
}
.dpm-testimonial-marquee .testimonial-card.template-two.dpm-item-icon-bottom .dpm-author-box {
    flex-direction: column-reverse !important;
}
.dpm-testimonial-marquee .testimonial-card.template-two.dpm-item-icon-left .dpm-author-box {
    flex-direction: row !important;
}
.dpm-testimonial-marquee .testimonial-card.template-two.dpm-item-icon-right .dpm-author-box {
    flex-direction: row-reverse !important;
}

.dpm-testimonial-marquee .testimonial-card.template-two.dpm-item-icon-top.dpm-item-align-left .dpm-author-box,
.dpm-testimonial-marquee .testimonial-card.template-two.dpm-item-icon-bottom.dpm-item-align-left .dpm-author-box {
    align-items: flex-start !important;
}
.dpm-testimonial-marquee .testimonial-card.template-two.dpm-item-icon-top.dpm-item-align-center .dpm-author-box,
.dpm-testimonial-marquee .testimonial-card.template-two.dpm-item-icon-bottom.dpm-item-align-center .dpm-author-box {
    align-items: center !important;
}
.dpm-testimonial-marquee .testimonial-card.template-two.dpm-item-icon-top.dpm-item-align-right .dpm-author-box,
.dpm-testimonial-marquee .testimonial-card.template-two.dpm-item-icon-bottom.dpm-item-align-right .dpm-author-box {
    align-items: flex-end !important;
}

.dpm-testimonial-marquee .testimonial-card.template-two.dpm-item-icon-top.dpm-item-align-left .dpm-author-text,
.dpm-testimonial-marquee .testimonial-card.template-two.dpm-item-icon-bottom.dpm-item-align-left .dpm-author-text {
    text-align: left !important;
}
.dpm-testimonial-marquee .testimonial-card.template-two.dpm-item-icon-top.dpm-item-align-center .dpm-author-text,
.dpm-testimonial-marquee .testimonial-card.template-two.dpm-item-icon-bottom.dpm-item-align-center .dpm-author-text {
    text-align: center !important;
}
.dpm-testimonial-marquee .testimonial-card.template-two.dpm-item-icon-top.dpm-item-align-right .dpm-author-text,
.dpm-testimonial-marquee .testimonial-card.template-two.dpm-item-icon-bottom.dpm-item-align-right .dpm-author-text {
    text-align: right !important;
}

.dpm-testimonial-marquee .testimonial-card.template-two.dpm-item-icon-left.dpm-item-icon-valign-left .dpm-author-box,
.dpm-testimonial-marquee .testimonial-card.template-two.dpm-item-icon-right.dpm-item-icon-valign-left .dpm-author-box {
    align-items: flex-start !important;
}
.dpm-testimonial-marquee .testimonial-card.template-two.dpm-item-icon-left.dpm-item-icon-valign-center .dpm-author-box,
.dpm-testimonial-marquee .testimonial-card.template-two.dpm-item-icon-right.dpm-item-icon-valign-center .dpm-author-box {
    align-items: center !important;
}
.dpm-testimonial-marquee .testimonial-card.template-two.dpm-item-icon-left.dpm-item-icon-valign-right .dpm-author-box,
.dpm-testimonial-marquee .testimonial-card.template-two.dpm-item-icon-right.dpm-item-icon-valign-right .dpm-author-box {
    align-items: flex-end !important;
}

/* Footer author column: constrain width so long job titles wrap (marquee uses width:max-content upstream).
 * Do not use min-width:0 on this flex item: it lets the column shrink to zero so author text disappears
 * (especially next to a wide star row / image). Shrink/wrap is handled on .testimonial-name / .testimonial-role.
 */
.dpm-testimonial-marquee .testimonial-card.template-two .dpm-author-text {
    display: flex;
    flex-direction: column;
    text-align: var(--dpm-author-text-align, inherit);
    flex: 1 1 auto;
    /* Avoid Sass min() unit evaluation (% vs rem) in older build pipeline. */
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-wrap: break-word;
    word-break: break-word;
    /* Defeat Divi row/column font-size:0 / stacking quirks so VB (built bundle) matches dev server */
    font-size: inherit;
    color: inherit;
    opacity: 1;
    visibility: visible;
    position: relative;
    z-index: 2;
}

.dpm-testimonial-marquee .testimonial-card.template-two .dpm-author-text .testimonial-name,
.dpm-testimonial-marquee .testimonial-card.template-two .dpm-author-text .testimonial-role {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-wrap: break-word;
    word-break: break-word;
}

.dpm-testimonial-marquee .testimonial-card.template-two .dpm-author-box .author-image {
    flex-shrink: 0;
    object-fit: cover;
    box-sizing: border-box;
    /* width/height: parent Design > Image & Icon; border/radius: parent Design > Image/Icon border */
}

/* ========== OTHER PRE-MADE TEMPLATES (Two / Three / Four) ========== */

/* Template Two (Card): rounded, shadowed cards */
.dpm-testimonial-marquee.dpm-template-card .testimonial-card.template-two {
    border-radius: 16px;
    background-color: #ffffff;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    padding: 24px;
}

.dpm-testimonial-marquee.dpm-template-card .testimonial-card.template-two .testimonial-text {
    line-height: 1.6;
}

/* Template Three (Minimal): subtle border, no shadow */
.dpm-testimonial-marquee.dpm-template-minimal .testimonial-card.template-two {
    border-radius: 8px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background-color: transparent;
    padding: 20px;
}

.dpm-testimonial-marquee.dpm-template-minimal .testimonial-card.template-two .testimonial-text {
    line-height: 1.6;
}

/* Template Four (Highlight): left accent bar, stronger typography */
.dpm-testimonial-marquee.dpm-template-highlight .testimonial-card.template-two {
    border-radius: 12px;
    background-color: #ffffff;
    padding: 24px 24px 24px 28px;
    position: relative;
}

.dpm-testimonial-marquee.dpm-template-highlight .testimonial-card.template-two::before {
    content: "";
    position: absolute;
    left: 0;
    top: 16px;
    bottom: 16px;
    width: 4px;
    border-radius: 999px;
    background: linear-gradient(180deg, #ff7a18, #af002d 85%);
}

.dpm-testimonial-marquee.dpm-template-highlight .testimonial-card.template-two .testimonial-text {
    line-height: 1.7;
}

/* Starter templates; override from module design options. */

