/* Goallord Testimonial Carousel */

.gld-test{
    box-sizing:border-box;
    position:relative;
    width:100%;
}
.gld-test *,.gld-test *::before,.gld-test *::after{box-sizing:inherit;}

/* HEADER */
.gld-test__header{margin:0 0 32px;}
.gld-test__eyebrow{
    display:inline-block;
    font-size:14px;
    font-weight:500;
    font-style:italic;
    letter-spacing:.02em;
    line-height:1.4;
}
.gld-test__eyebrow .gld-test__hl{
    background:#f5d22e;
    padding:0 6px;
    border-radius:2px;
    font-style:normal;
}
.gld-test__heading{
    margin:0;
    font-size:34px;
    font-weight:800;
    letter-spacing:.02em;
    line-height:1.1;
    text-transform:uppercase;
}

/* CAROUSEL */
.gld-test__carousel{
    position:relative;
}
.gld-test__viewport{
    overflow:hidden;
    width:100%;
    position:relative;
    z-index:1;
}
.gld-test__track{
    display:flex;
    flex-wrap:nowrap;
    width:100%;
    transition-property:transform;
    transition-timing-function:cubic-bezier(.45,.05,.25,1);
    will-change:transform;
}
.gld-test__slide{
    flex:0 0 100%;
    min-width:0;
    padding:0 4px;
}

/* CARD */
.gld-test__card{
    position:relative;
    background:#eceae5;
    padding:48px;
    border-radius:8px;
    overflow:hidden;
}
.gld-test__quote-mark{
    position:absolute;
    top:8px;
    left:24px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:110px;
    line-height:1;
    color:#bdbab2;
    font-weight:400;
    user-select:none;
}
.gld-test__body{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1fr auto;
    gap:40px;
    align-items:center;
    padding-top:32px;
}
.gld-test__quote-text{
    color:#3d3d3d;
    font-size:15px;
    line-height:1.7;
}
.gld-test__quote-text p{margin:0 0 1em;}
.gld-test__quote-text p:last-child{margin-bottom:0;}

.gld-test__author{
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    min-width:140px;
}
.gld-test__photo{
    width:130px;
    height:130px;
    object-fit:cover;
    border-radius:6px;
    display:block;
    margin:0 0 14px;
}
.gld-test__name{
    font-size:16px;
    font-weight:700;
    color:#1a1a1a;
    line-height:1.2;
    margin:0 0 4px;
}
.gld-test__role{
    font-size:13px;
    color:#888;
    line-height:1.3;
    margin:0;
}

/* DECORATIONS */
.gld-test__deco-dots{
    position:absolute;
    top:-22px;
    left:-12px;
    width:96px;
    height:72px;
    background-image:radial-gradient(circle, #cfcdc7 1.5px, transparent 1.6px);
    background-size:14px 14px;
    background-position:0 0;
    z-index:0;
    pointer-events:none;
}
.gld-test__deco-square{
    position:absolute;
    bottom:18px;
    right:18px;
    width:20px;
    height:20px;
    background:#f5d22e;
    display:block;
    z-index:2;
    pointer-events:none;
}

/* NAV ARROWS */
.gld-test__nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:44px;
    height:44px;
    border-radius:50%;
    border:0;
    background:#fff;
    color:#1a1a1a;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    box-shadow:0 4px 14px rgba(0,0,0,.12);
    transition:background .25s ease, color .25s ease, transform .25s ease;
    z-index:3;
    font-family:inherit;
    padding:0;
}
.gld-test__nav svg{width:18px;height:18px;display:block;}
.gld-test__nav:hover{background:#f5d22e;}
.gld-test__nav:focus{outline:none;}
.gld-test__nav:focus-visible{outline:2px solid #1a1a1a;outline-offset:3px;}
.gld-test__nav--prev{left:-22px;}
.gld-test__nav--next{right:-22px;}

/* DOTS */
.gld-test__dots{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:14px;
    margin-top:28px;
}
.gld-test__dot{
    width:8px;
    height:8px;
    border-radius:50%;
    border:0;
    background:#cfcdc7;
    cursor:pointer;
    padding:0;
    transition:background .25s ease, transform .25s ease;
}
.gld-test__dot:hover{background:#a8a8a8;}
.gld-test__dot.is-active{background:#7a7a7a;transform:scale(1.5);}
.gld-test__dot:focus{outline:none;}
.gld-test__dot:focus-visible{outline:2px solid #1a1a1a;outline-offset:3px;}

/* RESPONSIVE */
@media (max-width:767px){
    .gld-test__heading{font-size:26px;}
    .gld-test__card{padding:32px 24px 36px;}
    .gld-test__quote-mark{font-size:72px;left:14px;top:4px;}
    .gld-test__body{
        grid-template-columns:1fr;
        gap:24px;
        padding-top:24px;
        text-align:center;
    }
    .gld-test__author{margin:0 auto;}
    .gld-test__nav--prev{left:6px;}
    .gld-test__nav--next{right:6px;}
    .gld-test__nav{width:36px;height:36px;}
    .gld-test__nav svg{width:14px;height:14px;}
    .gld-test__deco-dots{width:64px;height:48px;top:-14px;left:-6px;}
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
    .gld-test__track{transition-duration:0.001ms !important;}
    .gld-test__dot,.gld-test__nav{transition-duration:0.001ms !important;}
}
