.testimonials{
    max-width: 100%;
    margin: var(--block-margin) 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--row-gap);
    overflow: hidden;
}

.testimonials-heading{
    width: 100%;
    max-width: var(--wide-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--row-gap);
    position: relative;
}

.testimonials-heading > *{
    max-width: min(75%, 90rem);
}

.testimonials-heading h2{
    font: var(--font-headline-3);
    margin-bottom: 0;
}

.testimonials-description{
    width: 100%;
    max-width: var(--wide-width);
    margin: 0 auto;
    border-bottom: 0.1rem solid;
    padding-bottom: var(--row-gap);
    display: flex;
    flex-wrap: wrap;
    row-gap: var(--row-gap);
    column-gap: var(--item-column-gap);
}

.testimonials-description p{
    margin-bottom: 0;
    align-self: center;
}

.testimonials-secondary-title{
    width: 100%;
    max-width: calc(var(--wide-width) - var(--block-margin));
    margin: 0 auto;
    border-bottom: 0.1rem solid;
    padding-bottom: var(--row-gap);
}

.testimonials-secondary-title h3{
    max-width: var(--wide-width);
    margin: 0 auto;
    font: var(--font-elevated-1);
    font-weight: 500;
    text-align: center;
    color: var(--color-gray-light);
    text-transform: uppercase;
}

.testimonials-navigation{
    display: flex;
    column-gap: var(--item-column-gap);
    justify-content: space-between;
    position: absolute;
    top: 50%;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 1;
    transform: translateY(-50%);
    max-width: var(--wide-width);
    height: fit-content;
}

.testimonials-navigation button{
    border-radius: 50%;
}

.testimonials-navigation button:is(:hover, :focus, :active){
    outline: none;
}

.testimonials-navigation button:is(.testimonials-navigation-prev) {
    transform: translateX(-50%);
}

.testimonials-navigation button:is(.testimonials-navigation-next) {
    transform: translateX(50%);
}

.testimonials-navigation button[disabled]{
    opacity: 0.3;
    pointer-events: none;
}

.testimonials-navigation button svg :is(path, rect){
    transition: all 0.3s ease;
}

.testimonials-navigation button svg path {
    stroke: var(--color-white);
}

.testimonials-navigation button svg rect {
    fill: var(--color-green);
    stroke-width: 0;
}

.testimonials-navigation button:is(:hover, :focus, :active) svg rect{
    fill: var(--color-orange);
}

.testimonials-swiper{
    width: 100%;
    margin: 0 auto;
}

.testimonials-swiper .swiper-wrapper{
    align-items: flex-start;
}

.testimonials-swiper .swiper-slide{
    display: flex;
}

.testimonials-item{
    max-width: var(--wide-width);
    margin: 0 auto; 
    border-radius: 8rem;
    padding: var(--block-margin) 0;
    background: var(--color-white);
}

.testimonials-secondary-title ~ .testimonials-swiper .testimonials-item{
    padding: 0; 
}

.testimonials-item-content {
    display: flex;
    align-items: center;
    flex-direction: column;
    max-width: calc(var(--wide-width) - var(--block-margin));
    margin: 0 auto;
    row-gap: var(--row-gap);
}

.testimonials-item :is(img, svg){
    width: auto;
    max-width: 16rem;
    height: 8rem;
    object-fit: contain;
    object-position: left center;
}

.testimonials-item-content h3{
    font: var(--font-elevated-1);
    font-weight: 500;
    margin: 0;
    text-align: center;
    color: var(--color-gray-light);
    text-transform: uppercase;
}

.testimonials-item-content p{
    font: var(--font-headline-2);
    font-style: italic;
    margin: 0;
    text-align: center;
    color: var(--color-green);
    padding: var(--row-gap);
}

.testimonials-item-content[data-font-size="smaller"] p{
    font: var(--font-headline-6);
}

.testimonials-item-content[data-font-size="small"] p{
    font: var(--font-headline-4);
}

.testimonials-item-content[data-font-size="regular"] p{
    font: var(--font-headline-3);
}

.testimonials-item-content p:not(:first-child){
    border-top: 0.1rem solid;
}

.testimonials-navigation{
    pointer-events: none;
}

.testimonials-navigation button{
    pointer-events: all;
}

@media (max-width: 767px) {
    .testimonials-navigation {
        max-width: calc( var(--wide-width) - var(--block-margin) );
    }
}