/**
 * Reviews & Social Testimonials - Testimonials Display Styles
 * Version: 1.0.8 (Modified)
 */

.adsp-testimonials-wrapper {
    margin: 20px 0;
}

.adsp-testimonials-container {
    display: grid;
    gap: 30px;
}

/* Grid Layouts */
.adsp-testimonials-container[data-columns="1"] { grid-template-columns: 1fr; }
.adsp-testimonials-container[data-columns="2"] { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
@media (min-width: 768px) {
    .adsp-testimonials-container[data-columns="2"] { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
    .adsp-testimonials-container[data-columns="3"] { grid-template-columns: repeat(3, 1fr); }
}
.adsp-testimonials-container[data-columns="3"] { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
@media (min-width: 768px) {
    .adsp-testimonials-container[data-columns="3"] { grid-template-columns: repeat(2, 1fr); }
}


/* Individual Testimonial Item - Base Style */
.adsp-testimonial-item {
    display: flex;
    flex-direction: column;
    background: var(--adsp-testimonial-bg-color, #fff);
    border: 1px solid var(--adsp-testimonial-border-color, #e0e0e0);
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
}
.adsp-testimonial-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

/* Content Area */
.adsp-testimonial-content {
    padding: 25px;
    flex-grow: 1;
    position: relative;
    font-style: italic;
    color: var(--adsp-testimonial-text-color, #555);
}
.adsp-testimonial-content::before {
    content: '\201C';
    font-family: Georgia, serif;
    font-size: 50px;
    color: #e0e0e0;
    position: absolute;
    top: 10px;
    left: 15px;
    line-height: 1;
}

/* Author Area */
.adsp-testimonial-author-area {
    padding: 20px 25px;
    background: rgba(200, 200, 200, 0.2);
    border-top: 1px solid #666;
    display: flex;
    align-items: center;
    gap: 15px;
}

.adsp-testimonial-author-image img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    padding: 5px;
}

/* Apply border styles only when the specific class is present */
.adsp-testimonial-author-image.with-border img {
    border-width: 3px;
    border-style: solid;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.adsp-testimonial-author-image.shape-circle img {
    border-radius: 50%;
}
.adsp-testimonial-author-image.shape-rectangle img {
    border-radius: 8px;
}

.adsp-testimonial-author-details {
    line-height: 1.4;
}
.adsp-testimonial-name {
    font-weight: 700;
    font-size: 16px;
    color: var(--adsp-testimonial-name-color, #333);
}
.adsp-testimonial-company {
    font-size: 14px;
    color: var(--adsp-testimonial-company-color, #777);
}

/* Rating */
.adsp-testimonial-rating {
    margin-top: 5px;
    color: var(--adsp-testimonial-rating-filled, #ffb900);
}
.adsp-testimonial-rating .dashicons-star-empty {
    color: var(--adsp-testimonial-rating-empty, #ccc);
}

/* Pagination - Complete Overhaul with Aggressive Resets and Fixed Colors */
.adsp-pagination {
    margin-top: 40px;
    display: flex; /* Use flexbox for horizontal alignment */
    justify-content: center; /* Center the pagination items */
    align-items: center;
    flex-wrap: wrap; /* Allow items to wrap to the next line on smaller screens */
    /* Force all background, border, padding, and margin to zero/transparent */
    list-style: none !important;
    padding: 0 !important;
    margin: 40px auto 0 auto !important; /* Re-center the block element */
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important; /* Remove any outline that might appear */
    line-height: 1 !important; /* Reset line-height to prevent extra space */
    font-size: 0 !important; /* Collapse font-size for any direct text nodes */
    overflow: hidden; /* Prevent content overflow */
}

/* Target all potential list items or direct children within .adsp-pagination */
.adsp-pagination > *, /* Target any direct child, including li if used */
.adsp-pagination li {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important; /* Ensure no margin is adding to the bar */
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    vertical-align: top !important; /* Adjust vertical alignment if inline-block */
    line-height: 1 !important; /* Reset line-height */
}

.adsp-pagination .page-numbers {
    display: inline-flex; /* Use inline-flex for button-like appearance */
    align-items: center;
    justify-content: center;
    min-width: 40px; /* Standard width for page numbers */
    height: 40px; /* Standard height for page numbers */
    padding: 0 12px; /* Adjusted padding to be symmetrical */
    margin: 0 4px; /* Margin between individual page numbers */
    border: 1px solid var(--adsp-pagination-border-color, #e0e0e0); /* Use CSS variable */
    border-radius: 6px; /* Slightly rounded corners */
    text-decoration: none;
    font-size: 15px; /* Apply font size directly here */
    font-weight: 500;
    color: var(--adsp-pagination-text-color, #0073aa); /* Use CSS variable */
    background-color: var(--adsp-pagination-bg-color, #ffffff); /* Use CSS variable */
    box-shadow: 0 1px 3px rgba(0,0,0,0.08); /* Subtle, modern shadow */
    transition: all 0.2s ease-in-out; /* Smoother transitions */
    cursor: pointer;
    user-select: none;
}

.adsp-pagination .page-numbers:hover {
    background-color: var(--adsp-pagination-hover-bg-color, #0073aa); /* Use CSS variable */
    color: var(--adsp-pagination-hover-text-color, #ffffff); /* Use CSS variable */
    border-color: var(--adsp-pagination-hover-bg-color, #0073aa); /* Use CSS variable */
    transform: translateY(-1px); /* Very slight lift */
    box-shadow: 0 2px 6px rgba(0,0,0,0.12); /* Slightly more prominent shadow on hover */
}

.adsp-pagination .page-numbers.current {
    background-color: var(--adsp-pagination-hover-bg-color, #0073aa); /* Use CSS variable */
    color: var(--adsp-pagination-hover-text-color, #ffffff); /* Use CSS variable */
    border-color: var(--adsp-pagination-hover-bg-color, #0073aa); /* Use CSS variable */
    font-weight: bold;
    cursor: default; /* No pointer for current page */
    box-shadow: 0 2px 5px rgba(0,0,0,0.2); /* Stronger shadow for active state */
}

/* Styles for Previous and Next buttons */
.adsp-pagination .prev,
.adsp-pagination .next {
    padding: 0 18px; /* More horizontal padding for prev/next text */
    min-width: auto; /* Allow natural width based on content */
    font-weight: 600; /* Slightly bolder text for navigation buttons */
}
