/* Minimal page styles for services listing and details
   - Responsive two-column layout
   - Image handling and accessible type scale
*/
.services-page { max-width:1200px; margin:0 auto; padding:40px 16px; }
.service-row { display:flex; flex-wrap:wrap; align-items:center; padding:48px 0; border-bottom:1px solid #eee; gap:0; }
.service-row.reverse { flex-direction:row-reverse; }
.service-image, .service-content { padding:16px; box-sizing:border-box; }
.service-image { flex:0 0 50%; max-width:50%; }
.service-content { flex:0 0 50%; max-width:50%; }
.service-image img { width:100%; height:320px; object-fit:cover; border-radius:8px; box-shadow:0 6px 18px rgba(0,0,0,0.06); display:block; }
.service-content h3 { margin-top:0; margin-bottom:12px; font-size:1.4rem; color:#153243; }
.service-content p { color:#444; line-height:1.6; margin-bottom:12px; }
.btn { display:inline-block; text-decoration:none; padding:10px 16px; border-radius:6px; }
.btn-primary { background:#0b74de; color:#fff; }
.btn-outline { border:1px solid #0b74de; color:#0b74de; }

@media (max-width:800px) {
    .service-row { padding:28px 0; }
    .service-image, .service-content { flex:0 0 100%; max-width:100%; }
    .service-image img { height:auto; }
    .service-row.reverse { flex-direction:column; }
}

.service-hero { background:#f6fbff; padding:48px 0; margin-bottom:24px; }
.service-hero .hero-content { max-width:900px; margin:0 auto; text-align:center; }
.service-hero h1 { font-size:2rem; margin:8px 0 12px; }
.service-hero p { color:#334; max-width:780px; margin:0 auto 16px; }

/* Split-screen service detail */
.service-split { display:flex; gap:0; align-items:stretch; margin-bottom:32px; }
.service-split .split-image { flex:0 0 50%; max-width:50%; position:relative; overflow:hidden; min-height:360px; }
.service-split .split-image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.service-split .split-image img:hover { transform:scale(1.02); }
.service-split .split-content { flex:0 0 50%; max-width:50%; padding:40px 36px; box-sizing:border-box; background:#fff; }
.service-split .split-content h1 { margin-top:0; font-size:2rem; }
.service-split .split-content p { color:#444; line-height:1.7; }

@media (max-width:900px) {
    .service-split { flex-direction:column; }
    .service-split .split-image, .service-split .split-content { flex:0 0 100%; max-width:100%; }
    .service-split .split-content { padding:24px; }
}

.service-list-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; }
.service-card { display:block; padding:18px; border-radius:8px; background:#fff; box-shadow:0 6px 14px rgba(0,0,0,0.04); text-decoration:none; color:inherit; }
/* Services Page Styling - Modern Design */

.service-list-section {
    padding: 100px 0;
    background: var(--white);
}

.service-list-section h2 {
    text-align: center;
    font-size: var(--font-size-h1);
    margin-bottom: 20px;
    color: var(--dark);
}

.service-list-section > .container > p {
    text-align: center;
    color: var(--gray);
    font-size: var(--font-size-h4);
    margin-bottom: 60px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.service-list-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

.service-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 28px;
    box-shadow: var(--shadow-md);
    text-decoration: none;
    color: inherit;
    transition: var(--transition);
    border-top: 4px solid var(--primary);
    position: relative;
    overflow: hidden;
}

.service-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: var(--transition);
}

.service-card:hover {
    box-shadow: var(--shadow-xl);
    transform: translateY(-8px);
}

.service-card:hover::before {
    left: 100%;
}

.service-icon {
    font-size: var(--font-size-h1);
    margin-bottom: 16px;
    display: inline-block;
}

.service-card h3 {
    font-size: var(--font-size-h3);
    margin-bottom: 12px;
    color: var(--dark);
    font-weight: 700;
}

.service-card p {
    color: var(--gray);
    font-size: var(--font-size-small);
    margin-bottom: 16px;
    line-height: 1.6;
}

.service-link {
    color: var(--primary);
    text-decoration: none;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: var(--transition);
    font-size: var(--font-size-small);
}

.service-link::after {
    content: '→';
    transition: var(--transition);
}

.service-link:hover {
    color: var(--primary-dark);
    gap: 12px;
}

/* Service Categories */
.service-categories-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
}

.service-categories-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 25px;
}
/* Service Detail Page Styles */

.service-hero {
    position: relative;
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--primary-blue), var(--primary-blue-light));
    color: white;
    text-align: center;
    overflow: hidden;
}

.service-hero .hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.2);
}

.service-hero .hero-content {
    position: relative;
    z-index: 2;
    max-width: 780px;
    padding: 36px 22px;
    animation: slideInDown 0.8s ease-out;
}

.service-hero h1 {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 20px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.service-hero p {
    font-size: 1.2rem;
    opacity: 0.95;
    margin: 0;
}

/* Service Overview */
.service-overview {
    padding: 60px 20px;
    background: white;
    text-align: center;
}

.service-overview .container {
    max-width: var(--max-width);
    margin: 0 auto;
}

.service-overview h2 {
    font-size: 2.5rem;
    color: var(--primary-blue);
    margin-bottom: 20px;
}

.overview-text {
    font-size: 1.1rem;
    color: var(--text-gray);
    line-height: 1.8;
    max-width: 700px;
    margin: 0 auto;
}

/* What's Included */
.service-included {
    padding: 80px 20px;
    background: #f8fafc;
}

.service-included .container {
    max-width: var(--max-width);
    margin: 0 auto;
}

.service-included h2 {
    font-size: 2.5rem;
    color: var(--primary-blue);
    margin-bottom: 60px;
    text-align: center;
}

.included-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 30px;
}

.included-item {
    background: white;
    padding: 30px 25px;
    border-radius: 8px;
    display: flex;
    gap: 15px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.included-item .check-icon {
    font-size: 1.5rem;
    color: var(--secondary-green);
    font-weight: bold;
    flex-shrink: 0;
}

.included-item p {
    margin: 0;
    color: var(--text-gray);
    font-size: 1rem;
    line-height: 1.6;
}

/* Service Packages */
.service-packages {
    padding: 80px 20px;
    background: white;
}

.service-packages .container {
    max-width: var(--max-width);
    margin: 0 auto;
}

.service-packages h2 {
    font-size: 2.5rem;
    color: var(--primary-blue);
    margin-bottom: 60px;
    text-align: center;
}

.packages-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

.package-card {
    background: linear-gradient(135deg, #f0f9ff, #e0f2fe);
    padding: 40px 30px;
    border-radius: 12px;
    border-left: 5px solid var(--primary-blue);
    transition: all 0.3s ease;
    text-align: center;
}

.package-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 10px 30px rgba(37, 99, 235, 0.15);
}

.package-card h3 {
    font-size: 1.3rem;
    color: var(--primary-blue);
    margin-bottom: 15px;
}

.package-price {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--secondary-green);
    margin-bottom: 15px;
}

.package-description {
    font-size: 0.95rem;
    color: var(--text-gray);
    line-height: 1.6;
    margin-bottom: 25px;
}

.package-card .btn {
    min-width: 140px;
}

/* Why Choose Us */
.service-why {
    padding: 80px 20px;
    background: #f8fafc;
}

.service-why .container {
    max-width: var(--max-width);
    margin: 0 auto;
}

.service-why h2 {
    font-size: 2.5rem;
    color: var(--primary-blue);
    margin-bottom: 60px;
    text-align: center;
}

.why-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 30px;
}

.why-item {
    background: white;
    padding: 30px 25px;
    border-radius: 8px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.why-item .why-icon {
    font-size: 1.8rem;
    color: var(--secondary-green);
    margin-bottom: 15px;
    display: inline-block;
}

.why-item h3 {
    font-size: 1.1rem;
    color: var(--primary-blue);
    margin-bottom: 10px;
}

.why-item p {
    font-size: 0.9rem;
    color: var(--text-gray);
    line-height: 1.6;
    margin: 0;
}

/* Service Areas */
.service-areas {
    padding: 80px 20px;
    background: white;
}

.service-areas .container {
    max-width: var(--max-width);
    margin: 0 auto;
}

.service-areas h2 {
    font-size: 2.5rem;
    color: var(--primary-blue);
    margin-bottom: 20px;
    text-align: center;
}

.service-gallery-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; margin-top:20px; }
.gallery-item img { width:100%; height:180px; object-fit:cover; border-radius:8px; box-shadow:0 6px 18px rgba(0,0,0,0.06); display:block; }

/* Slight visual polish for cards and CTAs */
.btn-fill { background: var(--primary-blue); color: #fff; padding: 10px 14px; border-radius:8px; display:inline-block; text-decoration:none; }
.btn-outline { border:1px solid var(--primary-blue); color:var(--primary-blue); padding:10px 14px; border-radius:8px; background:transparent; text-decoration:none; }

.service-cta-box { background: linear-gradient(90deg, rgba(11,116,222,0.95), rgba(5,150,255,0.9)); color: #fff; padding:28px; border-radius:12px; text-align:center; box-shadow:0 10px 30px rgba(11,116,222,0.15); }
.service-cta-box h2 { margin:0 0 10px; }
.service-cta-actions { display:flex; gap:12px; justify-content:center; margin-top:14px; }
.service-cta-actions .btn-fill, .service-cta-actions .btn-outline { min-width:160px; }

.service-problems-list { list-style:disc; margin-left:20px; color:var(--text-gray); }

.service-process-list { counter-reset:step; list-style:none; padding:0; }
.service-process-list li { counter-increment:step; margin:12px 0; padding-left:44px; position:relative; }
.service-process-list li::before { content: counter(step); position:absolute; left:0; top:0; width:36px; height:36px; border-radius:50%; background:var(--primary); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; }

.service-faqs .faq-item { margin-bottom:12px; }
.faq-question { display:block; width:100%; text-align:left; background:#fff; border:1px solid #e6eef8; padding:12px 16px; border-radius:8px; font-weight:700; cursor:pointer; }
.faq-answer { display:none; padding:12px 16px; border-left:3px solid var(--primary); background:#fbfeff; border-radius:0 8px 8px 8px; margin-top:6px; }

/* Small JS-free interaction: show answer when .open class applied */
.faq-item.open .faq-answer { display:block; }

.areas-intro {
    text-align: center;
    font-size: 1.1rem;
    color: var(--text-gray);
    margin-bottom: 40px;
}

.areas-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 15px;
    margin-bottom: 30px;
}

.area-item {
    background: linear-gradient(135deg, var(--primary-blue-light), #e0f2fe);
    padding: 15px 20px;
    border-radius: 6px;
    text-align: center;
    color: var(--primary-blue);
    font-weight: 500;
    font-size: 0.95rem;
    border: 1px solid rgba(37, 99, 235, 0.1);
}

.areas-note {
    text-align: center;
    font-size: 0.95rem;
    color: var(--text-light);
}

/* Service CTA */
.service-cta {
    padding: 80px 20px;
    background: linear-gradient(135deg, var(--primary-blue), var(--primary-blue-light));
    color: white;
    text-align: center;
}

.service-cta .container {
    max-width: var(--max-width);
    margin: 0 auto;
}

.service-cta h2 {
    font-size: 2.5rem;
    margin-bottom: 20px;
    color: white;
}

.service-cta p {
    font-size: 1.1rem;
    margin-bottom: 40px;
    opacity: 0.95;
}

.service-cta .cta-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}

.service-cta .btn {
    min-width: 160px;
    padding: 14px 30px;
}

/* Responsive */
@media (max-width: 768px) {
    .service-hero h1 {
        font-size: 2rem;
    }

    .service-overview h2,
    .service-included h2,
    .service-packages h2,
    .service-why h2,
    .service-areas h2,
    .service-cta h2 {
        font-size: 2rem;
    }

    .included-grid,
    .packages-grid,
    .why-grid,
    .areas-grid {
        grid-template-columns: 1fr;
    }

    .service-cta .cta-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .service-cta .btn {
        width: 100%;
    }
}

@keyframes slideInDown {
    from {
        opacity: 0;
        transform: translateY(-30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}/* Premium service-detail landing page styles */
.page-hero.service-hero {
    padding: 80px 0 60px;
    background: linear-gradient(135deg, rgba(2, 48, 107, 0.96), rgba(11, 116, 222, 0.95));
    color: #fff;
}

.service-hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 0.96fr);
    gap: 36px;
    align-items: center;
}

.hero-copy {
    max-width: 660px;
}

.hero-label {
    display: inline-flex;
    margin-bottom: 18px;
    color: #cce5ff;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 0.85rem;
}

.service-hero h1 {
    margin: 0 0 24px;
    font-size: clamp(2.8rem, 4vw, 4.4rem);
    line-height: 1.02;
}

.hero-intro {
    margin-bottom: 32px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 1.08rem;
    line-height: 1.8;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 30px;
}

.trust-badges {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
}

.trust-badge {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    color: #fff;
    padding: 14px 18px;
    font-size: 0.95rem;
    text-align: center;
}

.hero-media img {
    width: 100%;
    border-radius: 24px;
    box-shadow: 0 30px 70px rgba(3, 43, 99, 0.22);
    display: block;
    object-fit: cover;
}

.section-header {
    margin-bottom: 32px;
}

.section-copy {
    max-width: 840px;
    margin: 0 auto;
    color: #475569;
    line-height: 1.8;
    font-size: 1.05rem;
}

.problem-grid,
.included-grid,
.process-grid,
.choose-grid,
.industry-grid,
.packages-grid,
.gallery-grid,
.areas-grid,
.reviews-grid,
.related-services-grid {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.problem-card,
.included-card,
.process-card,
.choose-card,
.industry-card,
.package-card,
.gallery-card,
.location-card,
.review-card,
.related-service-card {
    background: #fff;
    border-radius: 20px;
    padding: 28px;
    border: 1px solid rgba(15, 53, 105, 0.08);
    box-shadow: 0 24px 58px rgba(15, 53, 105, 0.06);
}

.problem-card,
.included-card {
    display: flex;
    gap: 18px;
}

.problem-icon,
.included-icon,
.process-number {
    min-width: 44px;
    min-height: 44px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: #eff6ff;
    color: #0f4ea8;
    font-weight: 700;
}

.process-card h3,
.choose-card h3,
.industry-card,
.package-card h3,
.review-card .review-meta,
.related-service-card {
    margin-top: 0;
    color: #0f172a;
}

.process-card h3 {
    font-size: 1.05rem;
}

.choose-card p,
.industry-card,
.review-card p,
.location-card,
.package-card p {
    color: #475569;
    line-height: 1.75;
}

.industry-card {
    text-align: center;
    font-weight: 700;
    background: linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%);
}

.package-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 320px;
}

.package-price {
    margin: 18px 0 0;
    font-size: 1.95rem;
    font-weight: 800;
    color: #047857;
}

.gallery-card img {
    width: 100%;
    min-height: 220px;
    object-fit: cover;
    border-radius: 22px;
}

.location-card,
.related-service-card {
    display: grid;
    place-items: center;
    text-align: center;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.related-service-card {
    text-decoration: none;
    color: #0f4ea8;
}

.related-service-card:hover,
.location-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 48px rgba(15, 53, 105, 0.12);
}

.review-card {
    display: flex;
    flex-direction: column;
}

.rating-stars {
    font-size: 1.1rem;
}

.review-copy {
    margin: 0;
    flex-grow: 1;
    color: #334155;
}

.review-meta {
    font-size: 0.95rem;
    color: #475569;
}

.faq-accordion {
    max-width: 860px;
    margin: 0 auto;
}

.faq-item {
    margin-bottom: 16px;
}

.faq-question {
    width: 100%;
    text-align: left;
    border: 1px solid #dbeafe;
    border-radius: 16px;
    background: #fff;
    padding: 18px 22px;
    font-weight: 700;
    color: #0f172a;
    cursor: pointer;
}

.faq-answer {
    display: none;
    padding: 18px 22px;
    border-radius: 0 0 16px 16px;
    background: #f8fbff;
    border: 1px solid #dbeafe;
    border-top: none;
    color: #475569;
    line-height: 1.8;
}

.faq-item.open .faq-answer {
    display: block;
}

.final-cta-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 46px 48px;
    border-radius: 30px;
    background: linear-gradient(135deg, #0d4a8b, #1658b6);
    box-shadow: 0 32px 90px rgba(6, 61, 128, 0.18);
    color: #fff;
}

.final-cta-copy h2 {
    margin-bottom: 12px;
    font-size: clamp(2rem, 3vw, 3.1rem);
    line-height: 1.05;
}

.final-cta-copy p {
    margin: 0;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.75;
}

.final-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.final-cta-actions .btn {
    min-width: 180px;
}

@media (max-width: 980px) {
    .service-hero-inner {
        grid-template-columns: 1fr;
    }
    .final-cta-box {
        flex-direction: column;
        text-align: center;
    }
}

@media (max-width: 760px) {
    .service-hero {
        padding: 64px 0 50px;
    }
    .hero-copy h1 {
        font-size: 2.6rem;
    }
    .final-cta-box {
        padding: 32px 24px;
    }
}

/* =========================================================
   TESTIMONIAL VIDEO SECTION
   ========================================================= */

.testimonial-video-section {
    padding: 90px 0;
    background: #f8fafc;
}

.testimonial-video-header {
    max-width: 800px;
    margin: 0 auto 40px;
    text-align: center;
}

.testimonial-video-header h2 {
    margin: 16px 0 14px;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.15;
}

.testimonial-video-header p {
    max-width: 680px;
    margin: 0 auto;
    color: #64748b;
    font-size: 1.05rem;
    line-height: 1.7;
}

.testimonial-video-card {
    max-width: 1100px;
    margin: 0 auto;
    overflow: hidden;
    background: #ffffff;
    border-radius: 22px;
    box-shadow: 0 20px 55px rgba(15, 23, 42, 0.12);
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.testimonial-video-wrapper {
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000;
}

.testimonial-video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: #000;
}

.testimonial-video-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 28px 32px;
}

.testimonial-video-label {
    display: inline-block;
    margin-bottom: 8px;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.testimonial-video-info h3 {
    margin: 0;
    font-size: 1.4rem;
    line-height: 1.3;
}

.testimonial-video-trust {
    max-width: 1100px;
    margin: 30px auto 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.testimonial-video-trust-item {
    padding: 22px;
    text-align: center;
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.07);
}

.testimonial-video-trust-item span {
    display: block;
    margin-bottom: 8px;
    font-size: 1.2rem;
}

.testimonial-video-trust-item strong {
    display: block;
    margin-bottom: 5px;
    font-size: 1rem;
}

.testimonial-video-trust-item small {
    display: block;
    color: #64748b;
    line-height: 1.5;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 768px) {

    .testimonial-video-section {
        padding: 60px 0;
    }

    .testimonial-video-header {
        margin-bottom: 28px;
    }

    .testimonial-video-card {
        border-radius: 16px;
    }

    .testimonial-video-info {
        flex-direction: column;
        align-items: flex-start;
        padding: 24px;
    }

    .testimonial-video-info .btn {
        width: 100%;
        text-align: center;
    }

    .testimonial-video-trust {
        grid-template-columns: 1fr;
        margin-top: 20px;
    }

    .testimonial-video-trust-item {
        padding: 18px;
    }
}



/* =========================================================
   GOOGLE REVIEWS SHOWCASE
   ========================================================= */

.testimonials-live-section {
    padding: 90px 0;
}

.google-reviews-showcase {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    background: #111827;
    color: #ffffff;
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.12);
}

/* Header */

.google-reviews-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    padding: 55px 60px 45px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.reviews-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #fbbf24;
}

.google-reviews-header h2 {
    margin: 0 0 12px;
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.1;
    color: #ffffff;
}

.google-reviews-header p {
    max-width: 680px;
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 16px;
    line-height: 1.7;
}

.reviews-header-link {
    flex-shrink: 0;
    color: #ffffff;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.reviews-header-link:hover {
    color: #fbbf24;
}


/* Main */

.google-reviews-main {
    display: grid;
    grid-template-columns: 280px 1fr;
    min-height: 360px;
}


/* Rating Panel */

.google-rating-panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 45px 30px;
    text-align: center;
    background: rgba(255, 255, 255, 0.045);
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.google-logo-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 14px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.google-logo-mark span {
    font-size: 28px;
    font-weight: 800;
    color: #4285f4;
}

.rating-label {
    margin-bottom: 12px;
    color: rgba(255, 255, 255, 0.65);
    font-size: 13px;
    font-weight: 600;
}

.rating-number {
    font-size: 52px;
    font-weight: 800;
    line-height: 1;
}

.rating-stars {
    margin: 12px 0 8px;
    font-size: 22px;
    letter-spacing: 3px;
    color: #fbbf24;
}

.rating-count {
    margin-bottom: 25px;
    color: rgba(255, 255, 255, 0.6);
    font-size: 13px;
}

.google-review-button {
    width: 100%;
    text-align: center;
}


/* Review Content */

.google-review-content {
    display: flex;
    align-items: center;
    padding: 45px;
}


/* Review Grid */

.google-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
}

.google-review-card {
    padding: 25px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.055);
}

.google-review-card-top {
    display: flex;
    align-items: center;
    gap: 12px;
}

.review-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #ffffff;
    color: #4285f4;
    font-weight: 800;
    font-size: 17px;
}

.review-author {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.review-author strong {
    color: #ffffff;
    font-size: 14px;
}

.review-author span {
    color: rgba(255, 255, 255, 0.5);
    font-size: 12px;
}

.google-icon {
    margin-left: auto;
    font-weight: 800;
    color: #4285f4;
}

.google-review-stars {
    margin: 18px 0 12px;
    font-size: 14px;
    color: #fbbf24;
}

.google-review-card p {
    margin: 0;
    color: rgba(255, 255, 255, 0.75);
    font-size: 14px;
    line-height: 1.7;
}


/* Empty State */

.google-empty-state {
    display: flex;
    align-items: center;
    gap: 30px;
    width: 100%;
    padding: 40px;
    border: 1px dashed rgba(255, 255, 255, 0.18);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.035);
}

.empty-review-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 82px;
    height: 82px;
    border-radius: 22px;
    background: rgba(251, 191, 36, 0.1);
    color: #fbbf24;
    font-size: 36px;
}

.empty-review-content {
    max-width: 650px;
}

.empty-review-label {
    display: inline-block;
    margin-bottom: 8px;
    color: #fbbf24;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.empty-review-content h3 {
    margin: 0 0 10px;
    color: #ffffff;
    font-size: 25px;
}

.empty-review-content p {
    margin: 0 0 22px;
    color: rgba(255, 255, 255, 0.65);
    line-height: 1.7;
}

.empty-review-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}


/* Footer */

.google-reviews-footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 35px;
    padding: 25px 40px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.12);
}

.trust-item {
    display: flex;
    align-items: center;
    gap: 9px;
    color: rgba(255, 255, 255, 0.65);
    font-size: 13px;
}

.trust-icon {
    color: #fbbf24;
    font-weight: 800;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .google-reviews-header {
        padding: 40px 30px;
    }

    .google-reviews-main {
        grid-template-columns: 1fr;
    }

    .google-rating-panel {
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .google-review-content {
        padding: 30px;
    }

    .google-review-grid {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 650px) {

    .testimonials-live-section {
        padding: 60px 0;
    }

    .google-reviews-showcase {
        border-radius: 20px;
    }

    .google-reviews-header {
        display: block;
        padding: 35px 22px;
    }

    .google-reviews-header h2 {
        font-size: 30px;
    }

    .reviews-header-link {
        display: inline-block;
        margin-top: 20px;
    }

    .google-rating-panel {
        padding: 35px 22px;
    }

    .google-review-content {
        padding: 22px;
    }

    .google-empty-state {
        display: block;
        padding: 28px 22px;
        text-align: center;
    }

    .empty-review-icon {
        margin: 0 auto 20px;
    }

    .empty-review-actions {
        justify-content: center;
    }

    .google-reviews-footer {
        flex-direction: column;
        align-items: center;
        gap: 15px;
        padding: 22px;
    }
}


/* =========================================================
   TESTIMONIALS - MODERN GOOGLE REVIEWS
   ========================================================= */

.testimonials-live-section {
    padding: 90px 0;
    background: #f8fafc;
}


/* ---------------------------------------------------------
   SECTION HEADER
   --------------------------------------------------------- */

.testimonials-live-section .section-title {
    max-width: 850px;
    margin: 0 auto 45px;
    text-align: center;
}

.testimonials-live-section .section-title h2 {
    margin: 12px 0 15px;
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.15;
}

.testimonials-live-section .section-title p {
    max-width: 720px;
    margin: 0 auto;
    color: #64748b;
    font-size: 17px;
    line-height: 1.7;
}


/* ---------------------------------------------------------
   GOOGLE SUMMARY CARD
   --------------------------------------------------------- */

.testimonial-summary-card {
    position: relative;
    max-width: 1100px;
    margin: 0 auto 70px;
    overflow: hidden;
    border-radius: 28px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.08);
}

.testimonial-summary-content {
    display: grid;
    grid-template-columns: 1.2fr 1fr auto;
    align-items: center;
    gap: 35px;
    padding: 40px 45px;
}


/* ---------------------------------------------------------
   GOOGLE BRAND
   --------------------------------------------------------- */

.testimonial-google-brand {
    display: flex;
    align-items: center;
    gap: 16px;
}

.google-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    flex-shrink: 0;
    border-radius: 16px;
    background: #f1f5f9;
    font-size: 30px;
    font-weight: 800;
    color: #4285f4;
    box-shadow: 0 6px 20px rgba(66, 133, 244, 0.12);
}

.testimonial-google-brand strong {
    display: block;
    margin-bottom: 4px;
    font-size: 18px;
    color: #111827;
}

.testimonial-google-brand span {
    display: block;
    font-size: 14px;
    color: #64748b;
}


/* ---------------------------------------------------------
   RATING SUMMARY
   --------------------------------------------------------- */

.testimonial-rating-summary {
    text-align: center;
}

.rating-number {
    font-size: 42px;
    font-weight: 800;
    line-height: 1;
    color: #111827;
}

.rating-stars {
    margin: 8px 0;
    font-size: 22px;
    letter-spacing: 2px;
    color: #fbbc04;
}

.rating-count {
    font-size: 13px;
    color: #64748b;
}


/* ---------------------------------------------------------
   REVIEWS HEADING
   --------------------------------------------------------- */

.testimonial-reviews-heading {
    margin-bottom: 35px !important;
}


/* ---------------------------------------------------------
   REVIEW GRID
   --------------------------------------------------------- */

.testimonial-review-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
    align-items: stretch;
}


/* ---------------------------------------------------------
   REVIEW CARD
   --------------------------------------------------------- */

.testimonial-review-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 28px;
    border: 1px solid #e5e7eb;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 12px 35px rgba(15, 23, 42, 0.06);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.testimonial-review-card:hover {
    transform: translateY(-6px);
    border-color: #d1d5db;
    box-shadow: 0 20px 45px rgba(15, 23, 42, 0.11);
}


/* ---------------------------------------------------------
   REVIEW TOP
   --------------------------------------------------------- */

.testimonial-review-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 18px;
}

.testimonial-reviewer {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
}

.testimonial-reviewer-photo,
.testimonial-reviewer-avatar {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    border-radius: 50%;
}

.testimonial-reviewer-photo {
    display: block;
    object-fit: cover;
}

.testimonial-reviewer-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eef2ff;
    color: #4f46e5;
    font-size: 18px;
    font-weight: 800;
}

.testimonial-reviewer-info {
    min-width: 0;
}

.testimonial-reviewer-info strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 16px;
    color: #111827;
}

.testimonial-reviewer-info span {
    display: block;
    margin-top: 3px;
    font-size: 12px;
    color: #64748b;
}


/* ---------------------------------------------------------
   GOOGLE LOGO
   --------------------------------------------------------- */

.testimonial-google-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex-shrink: 0;
    border-radius: 10px;
    background: #f8fafc;
    font-size: 20px;
    font-weight: 800;
    color: #4285f4;
}


/* ---------------------------------------------------------
   STAR RATING
   --------------------------------------------------------- */

.testimonial-review-card .testimonial-rating {
    margin-bottom: 15px;
    font-size: 18px;
    line-height: 1.4;
    letter-spacing: 1px;
    color: #fbbc04;
}


/* ---------------------------------------------------------
   REVIEW TEXT
   --------------------------------------------------------- */

.testimonial-review-content {
    flex: 1;
}

.testimonial-review-card .testimonial-text {
    margin: 0;
    color: #374151;
    font-size: 15px;
    line-height: 1.75;
}


/* ---------------------------------------------------------
   REVIEW FOOTER
   --------------------------------------------------------- */

.testimonial-review-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 25px;
    padding-top: 18px;
    border-top: 1px solid #eef2f7;
}

.testimonial-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 12px;
    font-weight: 600;
}

.testimonial-google-link {
    color: #4285f4;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.testimonial-google-link:hover {
    text-decoration: underline;
}

.testimonial-google-verified {
    color: #16a34a;
    font-size: 13px;
    font-weight: 700;
}


/* ---------------------------------------------------------
   ALL REVIEWS CTA
   --------------------------------------------------------- */

.testimonial-all-reviews-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: 55px;
    padding: 35px 40px;
    border-radius: 24px;
    background: #111827;
    color: #ffffff;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.12);
}

.testimonial-all-reviews-cta .hero-badge {
    margin-bottom: 10px;
}

.testimonial-all-reviews-cta h3 {
    margin: 0 0 8px;
    font-size: 25px;
    color: #ffffff;
}

.testimonial-all-reviews-cta p {
    max-width: 650px;
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.6;
}


/* ---------------------------------------------------------
   EMPTY STATE
   --------------------------------------------------------- */

.testimonial-review-card h3 {
    margin: 15px 0 10px;
    color: #111827;
}

.testimonial-review-card > p {
    color: #64748b;
    line-height: 1.7;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 1000px) {

    .testimonial-summary-content {
        grid-template-columns: 1fr 1fr;
    }

    .testimonial-summary-content .btn {
        grid-column: 1 / -1;
        justify-self: center;
    }

    .testimonial-review-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 700px) {

    .testimonials-live-section {
        padding: 65px 0;
    }

    .testimonials-live-section .section-title {
        margin-bottom: 35px;
    }

    .testimonials-live-section .section-title h2 {
        font-size: 32px;
    }

    .testimonial-summary-card {
        margin-bottom: 55px;
        border-radius: 20px;
    }

    .testimonial-summary-content {
        grid-template-columns: 1fr;
        gap: 25px;
        padding: 30px 24px;
        text-align: center;
    }

    .testimonial-google-brand {
        justify-content: center;
        text-align: left;
    }

    .testimonial-summary-content .btn {
        grid-column: auto;
        width: 100%;
        justify-self: stretch;
        text-align: center;
    }

    .testimonial-review-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .testimonial-review-card {
        padding: 23px;
        border-radius: 18px;
    }

    .testimonial-all-reviews-cta {
        flex-direction: column;
        align-items: flex-start;
        margin-top: 40px;
        padding: 28px 24px;
        border-radius: 20px;
    }

    .testimonial-all-reviews-cta .btn {
        width: 100%;
        text-align: center;
    }

}


/* ---------------------------------------------------------
   SMALL MOBILE
   --------------------------------------------------------- */

@media (max-width: 450px) {

    .testimonial-review-top {
        align-items: flex-start;
    }

    .testimonial-google-logo {
        width: 30px;
        height: 30px;
        font-size: 17px;
    }

    .testimonial-reviewer-photo,
    .testimonial-reviewer-avatar {
        width: 43px;
        height: 43px;
    }

    .testimonial-reviewer-info strong {
        font-size: 15px;
    }

    .testimonial-review-card .testimonial-text {
        font-size: 14px;
    }

}




/* =========================================================
YD COMMERCIAL CLEANING
TESTIMONIALS PAGE DESIGN
========================================================= */

/* =========================================================
TESTIMONIAL HERO
========================================================= */

.testimonials-page-hero {
position: relative;
}

.testimonials-page-hero .hero-content {
max-width: 850px;
}

/* =========================================================
TRUST CARDS
========================================================= */

.testimonials-trust-section {
background: #f8fafc;
}

.testimonials-trust-grid {
margin-top: 40px;
}

.testimonial-trust-card {
text-align: center;
padding: 35px 28px;
border: 1px solid #e5e7eb;
border-radius: 22px;
background: #ffffff;
box-shadow: 0 12px 35px rgba(15, 23, 42, 0.07);
transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.testimonial-trust-card:hover {
transform: translateY(-6px);
box-shadow: 0 20px 45px rgba(15, 23, 42, 0.12);
}

.testimonial-trust-icon {
width: 58px;
height: 58px;
margin: 0 auto 20px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 16px;
background: #fff7ed;
color: #f59e0b;
font-size: 25px;
font-weight: 800;
}

.testimonial-trust-card h3 {
margin-bottom: 12px;
color: #111827;
}

.testimonial-trust-card p {
margin: 0;
color: #64748b;
line-height: 1.7;
}

/* =========================================================
VIDEO SECTION
========================================================= */

.testimonial-videos-section {
background: #ffffff;
}

.testimonial-video-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 30px;
margin-top: 45px;
}

/* VIDEO CARD */

.testimonial-video-card {
overflow: hidden;
border: 1px solid #e5e7eb;
border-radius: 24px;
background: #ffffff;
box-shadow: 0 15px 45px rgba(15, 23, 42, 0.08);
transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.testimonial-video-card:hover {
transform: translateY(-7px);
box-shadow: 0 25px 60px rgba(15, 23, 42, 0.14);
}

/* VIDEO */

.testimonial-video-media {
position: relative;
width: 100%;
aspect-ratio: 16 / 9;
background: #0f172a;
overflow: hidden;
}

.testimonial-video-media video {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}

/* VIDEO CARD CONTENT */

.testimonial-video-card-content {
padding: 28px;
}

.testimonial-video-tag {
display: inline-flex;
align-items: center;
padding: 7px 12px;
border-radius: 999px;
background: #fff7ed;
color: #ea580c;
font-size: 12px;
font-weight: 800;
letter-spacing: 0.04em;
text-transform: uppercase;
}

.testimonial-video-card-content h3 {
margin: 16px 0 10px;
color: #111827;
font-size: 24px;
line-height: 1.25;
}

.testimonial-video-card-content p {
margin: 0;
color: #64748b;
line-height: 1.7;
}

.testimonial-video-card-footer {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-top: 22px;
padding-top: 18px;
border-top: 1px solid #e5e7eb;
}

.testimonial-video-card-footer span {
color: #475569;
font-size: 13px;
font-weight: 700;
}

/* =========================================================
FEATURE VIDEO
========================================================= */

.testimonial-feature-video {
display: grid;
grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.75fr);
overflow: hidden;
margin-top: 45px;
border-radius: 28px;
background: #111827;
color: #ffffff;
box-shadow: 0 25px 70px rgba(15, 23, 42, 0.18);
}

.testimonial-feature-video-media {
min-height: 420px;
background: #020617;
}

.testimonial-feature-video-media video {
display: block;
width: 100%;
height: 100%;
min-height: 420px;
object-fit: cover;
}

.testimonial-feature-video-content {
display: flex;
flex-direction: column;
justify-content: center;
padding: 45px;
}

.testimonial-feature-video-content h2 {
margin: 20px 0 15px;
color: #ffffff;
font-size: 32px;
line-height: 1.2;
}

.testimonial-feature-video-content p {
color: rgba(255, 255, 255, 0.75);
line-height: 1.75;
}

.testimonial-feature-video-points {
display: flex;
flex-direction: column;
gap: 10px;
margin: 20px 0 28px;
}

.testimonial-feature-video-points span {
color: rgba(255, 255, 255, 0.9);
font-size: 14px;
font-weight: 700;
}

/* =========================================================
VIDEO TRUST BAR
========================================================= */

.testimonial-video-trust {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1px;
margin-top: 25px;
overflow: hidden;
border: 1px solid #e5e7eb;
border-radius: 18px;
background: #e5e7eb;
}

.testimonial-video-trust-item {
padding: 22px;
background: #ffffff;
text-align: center;
}

.testimonial-video-trust-item strong {
display: block;
margin-bottom: 5px;
color: #111827;
}

.testimonial-video-trust-item span {
color: #64748b;
font-size: 13px;
}

/* =========================================================
GOOGLE REVIEWS SECTION
========================================================= */

.testimonial-google-section {
background: #f8fafc;
}

/* GOOGLE SUMMARY */

.testimonial-google-summary {
display: grid;
grid-template-columns: 1fr auto auto;
align-items: center;
gap: 40px;
margin-top: 45px;
padding: 35px 40px;
border: 1px solid #e2e8f0;
border-radius: 24px;
background: #ffffff;
box-shadow: 0 15px 45px rgba(15, 23, 42, 0.07);
}

.testimonial-google-brand {
display: flex;
align-items: center;
gap: 15px;
}

.testimonial-google-letter {
display: flex;
align-items: center;
justify-content: center;
width: 55px;
height: 55px;
border-radius: 15px;
background: #f8fafc;
color: #4285f4;
font-size: 30px;
font-weight: 900;
}

.testimonial-google-brand strong {
display: block;
color: #111827;
font-size: 18px;
}

.testimonial-google-brand span {
display: block;
margin-top: 4px;
color: #64748b;
font-size: 13px;
}

.testimonial-google-score {
text-align: center;
}

.testimonial-google-score strong {
display: block;
color: #111827;
font-size: 38px;
line-height: 1;
}

.testimonial-google-stars {
margin: 8px 0;
color: #f59e0b;
font-size: 20px;
letter-spacing: 2px;
}

.testimonial-google-score span {
color: #64748b;
font-size: 13px;
}

/* =========================================================
REVIEW HEADING
========================================================= */

.testimonial-review-heading {
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: 30px;
margin-top: 70px;
margin-bottom: 35px;
}

.testimonial-review-heading h2 {
margin-top: 14px;
}

.testimonial-review-count {
flex-shrink: 0;
padding: 10px 16px;
border: 1px solid #e2e8f0;
border-radius: 999px;
background: #ffffff;
color: #475569;
font-size: 13px;
font-weight: 800;
}

/* =========================================================
REVIEW GRID
========================================================= */

.testimonial-review-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 25px;
}

/* REVIEW CARD */

.testimonial-review-card {
display: flex;
flex-direction: column;
min-width: 0;
padding: 28px;
border: 1px solid #e2e8f0;
border-radius: 22px;
background: #ffffff;
box-shadow: 0 12px 35px rgba(15, 23, 42, 0.06);
transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.testimonial-review-card:hover {
transform: translateY(-5px);
box-shadow: 0 22px 50px rgba(15, 23, 42, 0.11);
}

/* REVIEW PERSON */

.testimonial-review-card-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 15px;
}

.testimonial-review-person {
display: flex;
align-items: center;
min-width: 0;
gap: 13px;
}

.testimonial-review-photo,
.testimonial-review-avatar {
flex-shrink: 0;
width: 48px;
height: 48px;
border-radius: 50%;
}

.testimonial-review-photo {
object-fit: cover;
}

.testimonial-review-avatar {
display: flex;
align-items: center;
justify-content: center;
background: #111827;
color: #ffffff;
font-size: 18px;
font-weight: 800;
}

.testimonial-review-person-info {
min-width: 0;
}

.testimonial-review-person-info strong {
display: block;
overflow: hidden;
color: #111827;
font-size: 15px;
text-overflow: ellipsis;
white-space: nowrap;
}

.testimonial-review-person-info span {
display: block;
margin-top: 3px;
color: #64748b;
font-size: 12px;
}

.testimonial-google-small-logo {
display: flex;
align-items: center;
justify-content: center;
width: 34px;
height: 34px;
border-radius: 10px;
background: #f8fafc;
color: #4285f4;
font-size: 18px;
font-weight: 900;
}

/* STARS */

.testimonial-review-stars {
margin-top: 22px;
color: #f59e0b;
font-size: 17px;
letter-spacing: 1px;
}

/* COMMENT */

.testimonial-review-comment {
flex: 1;
margin-top: 15px;
}

.testimonial-review-comment p {
margin: 0;
color: #334155;
font-size: 15px;
line-height: 1.75;
}

/* REVIEW FOOTER */

.testimonial-review-card-footer {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-top: 25px;
padding-top: 17px;
border-top: 1px solid #e2e8f0;
}

.testimonial-review-card-footer time {
color: #94a3b8;
font-size: 12px;
}

.testimonial-review-card-footer a,
.testimonial-review-card-footer span {
color: #2563eb;
font-size: 12px;
font-weight: 800;
text-decoration: none;
}

.testimonial-review-card-footer a:hover {
text-decoration: underline;
}

/* =========================================================
REVIEWS CTA
========================================================= */

.testimonial-reviews-cta {
display: flex;
align-items: center;
justify-content: space-between;
gap: 30px;
margin-top: 45px;
padding: 35px 40px;
border-radius: 24px;
background: #111827;
color: #ffffff;
}

.testimonial-reviews-cta h3 {
margin: 14px 0 8px;
color: #ffffff;
font-size: 24px;
}

.testimonial-reviews-cta p {
max-width: 650px;
margin: 0;
color: rgba(255, 255, 255, 0.7);
line-height: 1.6;
}

/* =========================================================
NO REVIEWS
========================================================= */

.testimonial-no-reviews {
margin-top: 40px;
padding: 60px 30px;
border: 1px solid #e2e8f0;
border-radius: 24px;
background: #ffffff;
text-align: center;
}

.testimonial-no-reviews-icon {
display: flex;
align-items: center;
justify-content: center;
width: 65px;
height: 65px;
margin: 0 auto 20px;
border-radius: 18px;
background: #f8fafc;
color: #4285f4;
font-size: 30px;
font-weight: 900;
}

.testimonial-no-reviews h3 {
margin-bottom: 10px;
}

.testimonial-no-reviews p {
max-width: 600px;
margin: 0 auto 25px;
color: #64748b;
line-height: 1.7;
}

/* =========================================================
FINAL CTA
========================================================= */

.testimonials-final-cta {
text-align: center;
}

.testimonials-final-cta .hero-badge {
margin-bottom: 15px;
}

/* =========================================================
RESPONSIVE
========================================================= */

@media (max-width: 1000px) {


.testimonial-review-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.testimonial-google-summary {
    grid-template-columns: 1fr 1fr;
}

.testimonial-google-action {
    grid-column: 1 / -1;
}

.testimonial-google-action .btn {
    width: 100%;
    text-align: center;
}


}

@media (max-width: 800px) {


.testimonial-feature-video {
    grid-template-columns: 1fr;
}

.testimonial-feature-video-media,
.testimonial-feature-video-media video {
    min-height: auto;
    aspect-ratio: 16 / 9;
}

.testimonial-feature-video-content {
    padding: 32px;
}

.testimonial-video-grid {
    grid-template-columns: 1fr;
}

.testimonial-video-trust {
    grid-template-columns: 1fr;
}

.testimonial-reviews-cta {
    flex-direction: column;
    align-items: flex-start;
}


}

@media (max-width: 650px) {


.testimonial-review-grid {
    grid-template-columns: 1fr;
}

.testimonial-google-summary {
    grid-template-columns: 1fr;
    gap: 25px;
    padding: 28px 22px;
    text-align: center;
}

.testimonial-google-brand {
    justify-content: center;
}

.testimonial-google-action {
    grid-column: auto;
}

.testimonial-review-heading {
    display: block;
}

.testimonial-review-count {
    display: inline-block;
    margin-top: 15px;
}

.testimonial-review-card {
    padding: 23px;
}

.testimonial-review-card-footer {
    align-items: flex-start;
    flex-direction: column;
}

.testimonial-reviews-cta {
    padding: 28px 23px;
}

.testimonial-feature-video-content {
    padding: 28px 23px;
}


}
