.tb-text {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: var(--tb-breakpoint-medium);
    padding: var(--tb-spacing-100) var(--tb-spacing-60);
    text-align: center;
}

.tb-text.tb-full-width {
    max-width: 100%;
}

.tb-text.tb-text-quote {
    margin: var(--tb-spacing-50);
}

.tb-text.tb-text-opinion {
    margin: 0 var(--tb-spacing-50);
}

.tb-text.tb-text-align-start {
    align-items: flex-start;
}

.tb-text.tb-panel-left,
.tb-text.tb-panel-right {
    text-align: left;
}

.tb-text.tb-panel-left {
    justify-content: flex-end;
    padding-right: 0;
}

.tb-text.tb-panel-right {
    justify-content: flex-start;
    padding-left: 0;
}

.tb-text-content {
    width: 100%;
    max-width: var(--tb-breakpoint-small);
    display: flex;
    flex-direction: column;
    gap: var(--tb-spacing-40);
}

.tb-text.tb-full-width .tb-text-content {
    align-items: flex-start;
    text-align: left;
}

.tb-text-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--tb-spacing-20);
}

.tb-text-cta-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--tb-spacing-10) var(--tb-spacing-20);
}

.tb-text.tb-text-align-start .tb-text-cta-container {
    justify-content: flex-start;
}

.tb-text.tb-panel-left .tb-text-content {
    align-items: flex-start;
    padding-right: var(--tb-spacing-60);
}

.tb-text.tb-panel-right .tb-text-content {
    align-items: flex-start;
    padding-left: var(--tb-spacing-60);
}

.tb-text.tb-panel-left .tb-text-header,
.tb-text.tb-panel-right .tb-text-header {
    align-items: flex-start;
    text-align: left;
}

.tb-text.tb-panel-46 .tb-text-content {
    max-width: var(--tb-panel-46-max-width);
}

.tb-text.tb-panel-54 .tb-text-content {
    max-width: var(--tb-panel-54-max-width);
}

.tb-text.tb-panel-50 {
    max-width: calc((min(100%, var(--tb-breakpoint-medium)) - var(--tb-spacing-60)) / 2);
}

.tb-text.tb-theme-yellow {
    background-color: var(--tb-color-yellow-200);
    color: var(--tb-color-yellow-800);
}

.tb-text.tb-theme-blue {
    background-color: var(--tb-color-blue-100);
    color: var(--tb-color-blue-800);
}

.tb-text.tb-theme-green {
    background-color: var(--tb-color-green-100);
    color: var(--tb-color-green-800);
}

.tb-text-quote-icon {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    width: var(--tb-spacing-100);
    height: var(--tb-spacing-100);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--tb-color-blue-100);
}

.tb-text-quote-icon svg {
    height: 42px;
}

.tb-theme-blue .tb-text-quote-icon {
    background-color: var(--tb-color-blue-200);
}

.tb-theme-blue .tb-text-quote-icon svg {
    fill: var(--tb-color-blue-500);
}

.tb-theme-yellow .tb-text-quote-icon {
    background-color: var(--tb-color-yellow-300);
}

.tb-theme-yellow .tb-text-quote-icon svg {
    fill: var(--tb-color-yellow-900);
}

.tb-theme-green .tb-text-quote-icon {
    background-color: var(--tb-color-green-200);
}

.tb-theme-green .tb-text-quote-icon svg {
    fill: var(--tb-color-green-700);
}

.tb-text-author {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--tb-spacing-20);
}

.tb-text-avatar {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    overflow: hidden;
    border: 5px solid var(--tb-color-white);
    align-self: center;
}

.tb-text-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 1024px) {
    .tb-text {
        padding: var(--tb-spacing-50);
    }

    .tb-text.tb-panel-left .tb-text-content {
        padding-right: var(--tb-spacing-50);
    }

    .tb-text.tb-panel-right .tb-text-content {
        padding-left: var(--tb-spacing-50);
    }

    .tb-text.tb-panel-50 {
        max-width: calc(100% / 2);
    }

    .tb-row.tb-gap .tb-text.tb-panel-50 {
        max-width: calc((100% - var(--tb-spacing-50)) / 2);
    }
}

@media (max-width: 768px) {
    .tb-text {
        order: 1;
    }

    .tb-text.tb-panel-left {
        justify-content: flex-start;
    }

    .tb-text.tb-panel-50,
    .tb-row.tb-gap .tb-text.tb-panel-50 {
        max-width: 100%;
    }

    .tb-row.tb-gap .tb-text.tb-panel-50 {
        margin: 0 var(--tb-spacing-50);
    }
}

@media (max-width: 500px) {
    .tb-text {
        padding: var(--tb-spacing-50) var(--tb-spacing-20);
    }

    .tb-text.tb-panel-left .tb-text-content {
        padding-right: var(--tb-spacing-20);
    }

    .tb-text.tb-panel-right .tb-text-content {
        padding-left: var(--tb-spacing-20);
    }

    .tb-text.tb-text-quote {
        margin: var(--tb-spacing-50) var(--tb-spacing-20);
    }

    .tb-text.tb-text-opinion {
        margin: 0 var(--tb-spacing-20);
    }

    .tb-row.tb-gap .tb-text.tb-panel-50 {
        margin: 0 var(--tb-spacing-20);
    }
}
