/* =============================================================================
   Widget: Testimonials Carousel
   BEM root: .gtea-testimonials-carousel
   ============================================================================= */

/* ── Root ───────────────────────────────────────────────────────────────────── */

.gtea-testimonials-carousel {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

/* ── Header ─────────────────────────────────────────────────────────────────── */

.gtea-testimonials-carousel__header {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.gtea-testimonials-carousel__title {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.gtea-testimonials-carousel__subtitle-wrap {
    box-sizing: border-box;
}

.gtea-testimonials-carousel__subtitle {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.gtea-testimonials-carousel__divider {
    box-sizing: border-box;
}

/* ── Carousel area ──────────────────────────────────────────────────────────── */

.gtea-testimonials-carousel__carousel-area {
    box-sizing: border-box;
    position: relative;
}

/* ── Floating cursor ────────────────────────────────────────────────────────── */

.gtea-testimonials-carousel__cursor {
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: translate(0, 0) translate(-50%, -50%);
    transition: opacity 200ms ease-in-out;
    z-index: 100;
    white-space: nowrap;
    user-select: none;
}

.gtea-testimonials-carousel__cursor--visible {
    opacity: 1;
}

.gtea-testimonials-carousel__cursor--above {
    flex-direction: column;
}

/* Editor static preview — cursor centred on carousel area */
.gtea-testimonials-carousel--editor .gtea-testimonials-carousel__cursor {
    top: 50%;
    left: 50%;
    opacity: 1;
    transform: translate(-50%, -50%);
}

.gtea-testimonials-carousel__cursor-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.gtea-testimonials-carousel__cursor-icon svg,
.gtea-testimonials-carousel__cursor-icon i {
    display: block;
}

/* ── Drag guard — block text selection while the user is dragging ───────────── */

.gtea-testimonials-carousel__carousel-area.is-dragging,
.gtea-testimonials-carousel__carousel-area.is-dragging * {
    user-select: none;
    -webkit-user-select: none;
}

/* ── Embla carousel ─────────────────────────────────────────────────────────── */

.gtea-testimonials-carousel__embla {
    box-sizing: border-box;
    position: relative;
}

.gtea-testimonials-carousel__embla .embla__viewport {
    overflow: hidden;
}

.gtea-testimonials-carousel__embla .embla__container {
    display: flex;
}

.gtea-testimonials-carousel__embla .embla__slide {
    flex: 0 0 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* ── Testimonial item ───────────────────────────────────────────────────────── */

.gtea-testimonials-carousel__item {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    width: 100%;
}

.gtea-testimonials-carousel__item-title {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.gtea-testimonials-carousel__testimonial {
    box-sizing: border-box;
}

.gtea-testimonials-carousel__testimonial > *:first-child {
    margin-top: 0;
}

.gtea-testimonials-carousel__testimonial > *:last-child {
    margin-bottom: 0;
}

/* ── Navigation container ───────────────────────────────────────────────────── */

.gtea-testimonials-carousel__nav {
    box-sizing: border-box;
    width: 100%;
}

/* ── Carousel controls ──────────────────────────────────────────────────────── */

.gtea-testimonials-carousel .embla__controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
}

.gtea-testimonials-carousel .embla__buttons {
    display: flex;
    gap: 8px;
    box-sizing: border-box;
}

.gtea-testimonials-carousel .embla__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: transparent;
    border: none;
    padding: 0;
    box-sizing: border-box;
    transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease;
}

.gtea-testimonials-carousel .embla__button:disabled {
    opacity: 0.3;
    cursor: default;
}

.gtea-testimonials-carousel .embla__button svg {
    display: block;
    pointer-events: none;
}

/* ── Carousel dots ──────────────────────────────────────────────────────────── */

.gtea-testimonials-carousel .embla__dots {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    box-sizing: border-box;
}

.gtea-testimonials-carousel .embla__dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    box-sizing: border-box;
    transition: background-color 200ms ease, border-color 200ms ease, width 200ms ease, height 200ms ease;
}

/* ── Author row ─────────────────────────────────────────────────────────────── */

.gtea-testimonials-carousel__author-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    box-sizing: border-box;
}

.gtea-testimonials-carousel__author-row--reverse {
    flex-direction: row-reverse;
}

/* ── Author images column ───────────────────────────────────────────────────── */

.gtea-testimonials-carousel__author-images {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    box-sizing: border-box;
}

/* ── Individual author image ────────────────────────────────────────────────── */

.gtea-testimonials-carousel__author-image {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    opacity: 0.5;
    transform: scale(1);
    transition: transform 300ms ease-in-out, opacity 300ms ease-in-out;
}

.gtea-testimonials-carousel__author-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gtea-testimonials-carousel__author-image--active {
    opacity: 1;
    transform: scale(1.1);
}

/* ── Author infos column — stacked via CSS grid ─────────────────────────────── */

.gtea-testimonials-carousel__author-infos {
    display: grid;
    box-sizing: border-box;
}

/* ── Individual author info ─────────────────────────────────────────────────── */

.gtea-testimonials-carousel__author-info {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    opacity: 0;
    pointer-events: none;
    transition: opacity 300ms ease-in-out;
}

.gtea-testimonials-carousel__author-info--active {
    opacity: 1;
    pointer-events: auto;
}

/* ── Author name / subtitle ─────────────────────────────────────────────────── */

.gtea-testimonials-carousel__author-name,
.gtea-testimonials-carousel__author-subtitle {
    display: block;
    box-sizing: border-box;
}
