/* ==========================================================================
   Case Study Testimonial Block Styles
   ========================================================================== */

.case-study-testimonial-block {
    padding: 80px 0;
    background: var(--blaze-gray);
    position: relative; /* for absolutely positioned icon */
}

.case-study-testimonial-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 3rem;
}

.case-study-testimonial-grid {
    display: grid;
    grid-template-columns: 1fr; /* single column now that quote mark is removed */
    gap: 3rem;
    align-items: center;
    position: relative; /* anchor for the decorative icon */
}

/* When background image is enabled, hide the quote mark column completely on desktop */
.case-study-testimonial-block.has-bg-image .case-study-testimonial-grid {
    grid-template-columns: 1fr; /* Single column when bg image is used */
}
.case-study-testimonial-block.has-bg-image .case-study-quote-mark {
    display: none; /* Hide quote mark column entirely */
}

/* removed quote mark styles */

.case-study-testimonial-content {
    /* max-width: 800px; */
    position: relative; /* anchor icon to content */
}

/* When an icon is present, create padding to avoid overlap based on icon size */
.case-study-testimonial-content.has-icon { padding-top: calc(var(--testimonial-icon-size, 80px) + 8px); }
.case-study-testimonial-content.has-icon.has-icon--top-left { padding-left: 8px; }
.case-study-testimonial-content.has-icon.has-icon--top-right { padding-right: 8px; }
.case-study-testimonial-content.has-icon.has-icon--bottom-left { padding-left: 8px; padding-bottom: calc(var(--testimonial-icon-size, 80px) + 8px); padding-top: 0; }
.case-study-testimonial-content.has-icon.has-icon--bottom-right { padding-right: 8px; padding-bottom: calc(var(--testimonial-icon-size, 80px) + 8px); padding-top: 0; }

/* Decorative icon overlay */
.case-study-testimonial-icon {
    position: absolute;
    width: var(--testimonial-icon-size, 80px);
    height: var(--testimonial-icon-size, 80px);
    pointer-events: none;
    z-index: 1;
}
.case-study-testimonial-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.case-study-testimonial-icon--top-left { top: 0; left: -40px; }
.case-study-testimonial-icon--top-right {
    top: 0;
    right: 0;
}
.case-study-testimonial-icon--bottom-left {
    bottom: 0;
    left: 0;
}
.case-study-testimonial-icon--bottom-right {
    bottom: 0;
    right: 0;
}

.case-study-testimonial-text {
    font-size: 1.75rem;
    line-height: 1.4;
    color: var(--blaze-secondary);
    margin-bottom: 2rem;
    position: relative;
}

.case-study-testimonial-author {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 0.75rem;
    flex-wrap: wrap;
}

/* Nice divider between name and title */
.case-study-testimonial-author .case-study-author-name::after {
    content: "\2022"; /* bullet */
    margin: 0 0.75rem;
    opacity: 0.5;
}

.case-study-author-name {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--blaze-primary);
    font-style: normal;
}

.case-study-author-title {
    font-size: 1.5rem;
    color: var(--blaze-text);
    opacity: 0.8;
}

/* Full Width Support */
.case-study-testimonial-block.alignfull {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

.case-study-testimonial-block.alignfull .case-study-testimonial-container {
    max-width: none;
    padding: 0;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .case-study-testimonial-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
        text-align: left; /* Changed from center for better readability */
    }
    
    /* grid stays single column on tablet/mobile */
    .case-study-testimonial-block.has-bg-image .case-study-testimonial-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    .case-study-testimonial-block {
        padding: 60px 0;
    }
    
    .case-study-testimonial-container {
        padding: 0 2rem;
    }
    
    .case-study-testimonial-text {
        font-size: 1.5rem;
        text-align: left; /* Ensure left alignment for readability */
    }
    
    .case-study-author-name,
    .case-study-author-title {
        font-size: 1.25rem;
    }
    
    /* Improve author layout on mobile */
    .case-study-testimonial-author {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
    
    /* Hide separator on mobile */
    .case-study-testimonial-author .case-study-author-name::after {
        display: none;
    }
}

@media (max-width: 480px) {
    .case-study-testimonial-block {
        padding: 40px 0;
    }
    
    .case-study-testimonial-container {
        padding: 0 1.5rem;
    }
    
    .case-study-testimonial-text {
        font-size: 1.25rem;
        line-height: 1.5; /* Slightly increase line height for mobile readability */
    }
    
    .case-study-author-name,
    .case-study-author-title {
        font-size: 1rem;
    }
    
    /* Further reduce quote image size on very small screens */
    .case-study-quote-image {
        max-width: 60px;
    }
    
    /* Optimize author spacing on small screens */
    .case-study-testimonial-author {
        margin-top: 1.5rem; /* Add some space above author info */
    }
}

/* Extra small devices (below 375px) */
@media (max-width: 375px) {
    .case-study-testimonial-container {
        padding: 0 1rem;
    }
    
    .case-study-testimonial-text {
        font-size: 1.125rem;
    }
    
    .case-study-author-name,
    .case-study-author-title {
        font-size: 0.95rem;
    }
} 