/* ==========================================================================
   NACS Show 2026 - Testimonials Component
   Quote with large image, quotation marks, author name, and title
   Tokens: NACSShow2026Tokens.css
   ========================================================================== */

/* --------------------------------------------------------------------------
   Section Container
   -------------------------------------------------------------------------- */
.tm {
    background: #FFFFFF;
    padding: 0 80px;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    box-sizing: border-box;
    display: flex;
    gap: 88px;
    align-items: center;
    border-radius: 4px;
}

/* --------------------------------------------------------------------------
   Image
   -------------------------------------------------------------------------- */
.tm__image {
    width: 675px;
    height: 502px;
    flex-shrink: 0;
    overflow: hidden;
}

.tm__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* --------------------------------------------------------------------------
   Content Column (Quote + Divider + Author)
   -------------------------------------------------------------------------- */
.tm__content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 48px;
    align-items: flex-start;
}

/* --------------------------------------------------------------------------
   Quote Block
   -------------------------------------------------------------------------- */
.tm__quote {
    display: flex;
    gap: 24px;
    align-items: stretch;
    width: 100%;
}

.tm__quote-mark {
    flex-shrink: 0;
    display: flex;
}

.tm__quote-mark svg {
    width: 18px;
    height: 17px;
    display: block;
}

/* Opening mark at the top */
.tm__quote-mark--open {
    align-self: flex-start;
    align-items: flex-start;
}

/* Closing mark at the bottom */
.tm__quote-mark--close {
    align-self: flex-end;
    align-items: flex-end;
}

.tm__quote-text {
    flex: 1;
    min-width: 0;
    font-family: var(--nacs-font-gotham);
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: 0;
    text-transform: capitalize;
    color: #000000;
    margin: 0;
}

/* --------------------------------------------------------------------------
   Divider
   -------------------------------------------------------------------------- */
.tm__divider {
    width: 100%;
    height: 1px;
    background: var(--nacs-color-navy, #00205B);
}

/* --------------------------------------------------------------------------
   Author
   -------------------------------------------------------------------------- */
.tm__author {
    display: flex;
    flex-direction: column;
    gap: 32px;
    align-items: flex-start;
    width: 100%;
    text-align: center;
}

.tm__author-name {
    font-family: var(--nacs-font-gotham);
    font-weight: 700;
    font-size: 32px;
    line-height: 40px;
    letter-spacing: 0;
    text-transform: capitalize;
    color: var(--nacs-color-navy, #00205B);
    margin: 0;
    width: 100%;
}

.tm__author-title {
    font-family: var(--nacs-font-gotham);
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
    color: var(--nacs-color-navy, #00205B);
    margin: 0;
    width: 100%;
}

/* --------------------------------------------------------------------------
   Mobile Styles (max-width: 768px)
   -------------------------------------------------------------------------- */
@media screen and (max-width: 768px) {
    .tm {
        flex-direction: column;
        gap: 56px;
        padding: 0 20px;
        align-items: center;
    }

    .tm__image {
        width: 100%;
        height: auto;
        max-height: 502px;
    }

    .tm__content {
        gap: 40px;
    }

    .tm__quote {
        gap: 24px;
        align-items: stretch;
    }

    .tm__author {
        gap: 24px;
    }

    .tm__author-name {
        font-size: 24px;
        line-height: 32px;
    }

    .tm__author-title {
        font-size: 14px;
        line-height: 20px;
    }
}

@media screen and (max-width: 480px) {
    .tm__author-name {
        font-size: 22px;
        line-height: 28px;
    }
}
