﻿/* Testimonials Core (clean rebuild)
   Contract:
   - Section id: #ck-home-testimonial-section
   - Row class: .ck-testimonial-slider-row
   - Quote modules: .ck-testimonial-card
*/

#page-container #et-boc #ck-home-testimonial-section.ck-testimonials-section {
    /* Keep visual card footprint within viewport even after active scaling. */
    --ck-tm-visual-max: 90vw;
    --ck-tm-scale-side: 0.94;
    --ck-tm-scale-active: 1.28;
    --ck-tm-card-width: min(72vw, 880px, calc(var(--ck-tm-visual-max) / var(--ck-tm-scale-active)));
    --ck-tm-gap: clamp(28px, 5vw, 84px);
    --ck-tm-text-size: clamp(1.5rem, 2.15vw, 2.2rem);
    --ck-tm-line-height: 1.4;
    --ck-tm-text-max: 30ch;
    --ck-tm-pop-duration: .3s;
    --ck-tm-pop-delay: .2s;

    --ck-tm-text-active: #ffffff;
    --ck-tm-text-muted: rgba(226, 238, 235, 0.46);
    position: relative;
}

/* Minimal compact controls behavior for testimonials only */
#page-container #et-boc #ck-home-testimonial-section .ck-bottom-controls.ck-controls-dark {
    position: absolute;
    left: 0;
    right: 0;
}

/* Horizontal quote stage (carousel.js handles nav behavior) */
#page-container #et-boc #ck-home-testimonial-section .ck-testimonial-slider-row {
    position: relative;
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
    touch-action: pan-x;
    /* Row-scoped edge gutter: based on actual scroller width (not section width). */
    --ck-tm-row-edge-extra: 0px;
    --ck-tm-row-edge-scale-comp: calc((var(--ck-tm-card-width, 72vw) * (var(--ck-tm-scale-active, 1) - 1)) / 2);
    --ck-tm-row-edge-gutter: max(0px, calc((100% - var(--ck-tm-card-width, 72vw)) / 2 + var(--ck-tm-row-edge-scale-comp) + var(--ck-tm-row-edge-extra)));

    padding-top: clamp(24px, 4vw, 42px);
    padding-bottom: clamp(94px, 12vw, 126px);
    /* Track owns horizontal edge space; keep row neutral to avoid layout drift. */
    padding-left: 0;
    padding-right: 0;
    scroll-padding-left: var(--ck-tm-row-edge-gutter);
    scroll-padding-right: var(--ck-tm-row-edge-gutter);

    z-index: 1;

    /* Same edge-fade mechanic used in logo row */
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

#page-container #et-boc #ck-home-testimonial-section .ck-testimonial-slider-row::-webkit-scrollbar {
    display: none;
}

#page-container #et-boc #ck-home-testimonial-section .ck-testimonial-slider-row > .et_pb_column {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: var(--ck-tm-gap, 64px);
    width: max-content;
    min-width: 100%;
    overflow: visible;
}

/* Real edge spacer items in the track for reliable first/last centering. */
#page-container #et-boc #ck-home-testimonial-section .ck-testimonial-slider-row > .et_pb_column::before,
#page-container #et-boc #ck-home-testimonial-section .ck-testimonial-slider-row > .et_pb_column::after {
    content: "";
    flex: 0 0 var(--ck-tm-row-edge-gutter);
}

body.et-fb #page-container #et-boc #ck-home-testimonial-section .ck-testimonial-slider-row > .et_pb_column {
    width: 100%;
    flex-wrap: wrap;
}

/* Quote cards */
#page-container #et-boc #ck-home-testimonial-section .ck-testimonial-card.et_pb_text {
    flex: 0 0 var(--ck-tm-card-width, min(72vw, 880px));
    margin-bottom: 0 !important;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
    user-select: text;

    scroll-snap-align: center;
    scroll-snap-stop: always;

    color: var(--ck-tm-text-muted, rgba(226, 238, 235, 0.46));
    transition: color var(--ck-tm-pop-duration, .3s) ease var(--ck-tm-pop-delay, .2s);
}

#page-container #et-boc #ck-home-testimonial-section .ck-testimonial-card.is-active.et_pb_text {
    color: var(--ck-tm-text-active, #f3f7f5);
    z-index: 2;
}

/* Scale only inner text so card layout/snap geometry stays stable. */
#page-container #et-boc #ck-home-testimonial-section .ck-testimonial-card.et_pb_text .et_pb_text_inner {
    /* Keep module wrapper full width, but center the readable text block inside it. */
    display: grid;
    justify-items: center;
    transform: scale(var(--ck-tm-scale-side, 0.94));
    transform-origin: center center;
    transition: transform var(--ck-tm-pop-duration, .3s) ease var(--ck-tm-pop-delay, .2s);
}

#page-container #et-boc #ck-home-testimonial-section .ck-testimonial-card.is-active.et_pb_text .et_pb_text_inner {
    transform: scale(var(--ck-tm-scale-active, 1.28));
}

/* Force readable state control on quote text against generic ck-text rules */
#page-container #et-boc #ck-home-testimonial-section .ck-testimonial-card.et_pb_text p,
#page-container #et-boc #ck-home-testimonial-section .ck-testimonial-card.et_pb_text blockquote {
    color: var(--ck-tm-text-muted, rgba(226, 238, 235, 0.46)) !important;
    width: min(100%, var(--ck-tm-text-max, 38ch));
    margin-inline: auto;
}

#page-container #et-boc #ck-home-testimonial-section .ck-testimonial-card.is-active.et_pb_text p,
#page-container #et-boc #ck-home-testimonial-section .ck-testimonial-card.is-active.et_pb_text blockquote {
    color: var(--ck-tm-text-active, #ffffff) !important;
}

#page-container #et-boc #ck-home-testimonial-section .ck-testimonial-card blockquote {
    margin: 0;
    padding: clamp(12px, 2.4vw, 22px) 0;
    border-radius: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: inherit;
}

/* Disable generic ck-text quote ornaments for this section */
#page-container #et-boc #ck-home-testimonial-section .ck-testimonial-card blockquote:before,
#page-container #et-boc #ck-home-testimonial-section .ck-testimonial-card blockquote:after,
#page-container #et-boc #ck-home-testimonial-section .ck-testimonial-card > p:before,
#page-container #et-boc #ck-home-testimonial-section .ck-testimonial-card > p:after {
    content: none;
}

#page-container #et-boc #ck-home-testimonial-section .ck-testimonial-card p {
    margin: 0;
    padding: 0;
    max-width: var(--ck-tm-text-max, 38ch);
    color: inherit;
    line-height: var(--ck-tm-line-height, 1.4);
    font-size: var(--ck-tm-text-size, clamp(1.5rem, 2.15vw, 2.2rem));
}

@media (max-width: 980px) {
    #page-container #et-boc #ck-home-testimonial-section.ck-testimonials-section {
        --ck-tm-visual-max: 80vw;
        --ck-tm-scale-side: 0.96;
        --ck-tm-scale-active: 1.14;
        --ck-tm-card-width: min(78vw, 740px, calc(var(--ck-tm-visual-max) / var(--ck-tm-scale-active)));
        --ck-tm-gap: clamp(20px, 8vw, 56px);
        --ck-tm-text-size: clamp(1.36rem, 4.6vw, 1.95rem);
        --ck-tm-last-card-pad-right: 20px;
    }

    #page-container #et-boc #ck-home-testimonial-section .ck-testimonial-slider-row {
        --ck-tm-row-edge-extra: 10px;
        -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
        mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
        -webkit-overflow-scrolling: touch;
    }

    /* Temporary: give final slide extra room so it can clear the edge. */
    #page-container #et-boc #ck-home-testimonial-section .ck-testimonial-slider-row > .et_pb_column > .ck-testimonial-card:last-child .et_pb_text_inner{
        padding-right: var(--ck-tm-last-card-pad-right, 20px);
    }
}


/* Additional styling for blurb-based testimonial pill */
.ck-testimonial-pill {
  position: relative;
  display: inline-flex;
  padding: 1em 1.5em;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(12px);
  line-height: 1!important;
  bottom: 20px;
}

.ck-testimonial-pill .et_pb_blurb_content {
    display: flex!important;
}

/* Flexbox display for blurb container */
.ck-testimonial-pill .et_pb_blurb_container {
    display: flex!important;
    justify-content: center; /* Center align blurb container horizontally */
    flex-direction: column; /* Arrange blurb container content in a column */
}

/* Flexbox display for main blurb image */
.et-db #et-boc .ck-testimonial-pill .et_pb_main_blurb_image {
    display: flex;
    width: auto!important; /* Ensure blurb image width adjusts automatically */
    margin-bottom: 0px!important; /* Remove bottom margin for better alignment */
}

.ck-testimonial-pill h4 {
    padding-bottom: 0;
}