/* ==========================================
   TRUSTPILOT CLONE - EXACT PIXEL REPLICA
   ========================================== */

/* Fuente original de Trustpilot para opiniones */
@font-face {
    font-family: 'TrustpilotReviews';
    src: url('fuentea.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Fuente Trustpilot Sans para header y botones */
@font-face {
    font-family: 'Trustpilot Sans';
    src: url('Trustpilot-Sans.woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

:root {
    text-rendering: optimizeSpeed;
    font-family: Trustpilot Sans, Arial, sans-serif;
    font-size: 16px;
    --header-height: calc(var(--CDS-spacing-xs) * 9);
    --CDS-color-semantic-surface-disabled: rgba(18, 21, 17, .1);
    --CDS-color-semantic-surface-foreground-disabled: rgba(18, 21, 17, .3);
    --CDS-color-semantic-surface-foreground-default: #2d2f29;
    --CDS-color-semantic-surface-foreground-subtle: #605e56;
    --CDS-color-semantic-surface-foreground-inverted: #fffffe;
    --CDS-color-semantic-surface-default: #fffffe;
    --CDS-color-semantic-surface-alt: #f3f0ec;
    --CDS-color-semantic-surface-inverted: #121511;
    --CDS-color-semantic-surface-background-default: #f9f8f5;
    --CDS-color-semantic-data-neutral-empty: rgba(18, 21, 17, .1);
    --CDS-color-semantic-data-neutral-transparent: hsla(27, 7%, 67%, .3);
    --CDS-color-semantic-data-neutral-default: #938e89;
    --CDS-color-semantic-data-neutral-lowest: #e9e4e0;
    --CDS-color-semantic-data-neutral-past: #c6c0bb;
    --CDS-color-semantic-data-neutral-gradient: linear-gradient(#938e894d, #938e8900);
    --CDS-color-semantic-data-star-rating-0-default: #8d8d8f;
    --CDS-color-semantic-data-star-rating-0-surface: #d1d1d4;
    --CDS-color-semantic-data-star-rating-0-foreground: #535355;
    --CDS-color-semantic-data-star-rating-0-gradient: linear-gradient(#8d8d8f4d, #8d8d8f00);
    --CDS-color-semantic-data-star-rating-1-default: #d6341f;
    --CDS-color-semantic-data-star-rating-1-surface: #ffc4b4;
    --CDS-color-semantic-data-star-rating-1-foreground: #722b1f;
    --CDS-color-semantic-data-star-rating-1-gradient: linear-gradient(#d6341f4d, #d6341f00);
    --CDS-color-semantic-data-star-rating-2-default: #e86602;
    --CDS-color-semantic-data-star-rating-2-surface: #fdeee4;
    --CDS-color-semantic-data-star-rating-2-foreground: #5d3c23;
    --CDS-color-semantic-data-star-rating-2-gradient: linear-gradient(#e866024d, #e8660200);
    --CDS-color-semantic-data-star-rating-3-default: #d9a600;
    --CDS-color-semantic-data-star-rating-3-surface: #fff0c1;
    --CDS-color-semantic-data-star-rating-3-foreground: #4d4325;
    --CDS-color-semantic-data-star-rating-3-gradient: linear-gradient(#d9a6004d, #d9a60000);
    --CDS-color-semantic-data-star-rating-4-default: #59a413;
    --CDS-color-semantic-data-star-rating-4-surface: #e4f7d9;
    --CDS-color-semantic-data-star-rating-4-foreground: #314a1c;
    --CDS-color-semantic-data-star-rating-4-gradient: linear-gradient(#59a4134d, #59a41300);
    --CDS-color-semantic-data-star-rating-5-default: #00a06a;
    --CDS-color-semantic-data-star-rating-5-surface: #95e2b8;
    --CDS-color-semantic-data-star-rating-5-foreground: #1e4b36;
    --CDS-color-semantic-data-star-rating-5-gradient: linear-gradient(#00a06a4d, #00a06a00);
    --CDS-color-semantic-actions-default: #3c57bc;
    --CDS-color-semantic-actions-hover: #4c69d3;
    --CDS-color-semantic-actions-active: #2b418f;
    --CDS-color-semantic-border-default: #dcd6d1;
    --CDS-color-semantic-border-alt: rgba(18, 21, 17, .1);
    --CDS-color-base-trustpilot-brand-green-primary: #04da8d;
    --CDS-color-base-trustpilot-star-rating-zero: #dcdce6;
    --CDS-color-base-trustpilot-star-rating-one: #ff3722;
    --CDS-color-base-trustpilot-star-rating-two: #ff8622;
    --CDS-color-base-trustpilot-star-rating-three: #ffce00;
    --CDS-color-base-trustpilot-star-rating-four: #73cf11;
    --CDS-color-base-trustpilot-star-rating-five: #00b67a;
    --CDS-spacing-none: 0;
    --CDS-spacing-xxxs: 2px;
    --CDS-spacing-xxs: 4px;
    --CDS-spacing-xs: 8px;
    --CDS-spacing-s: 12px;
    --CDS-spacing-m: 16px;
    --CDS-spacing-l: 24px;
    --CDS-spacing-xl: 32px;
    --CDS-spacing-xxl: 40px;
    --CDS-spacing-xxxl: 64px;
    --CDS-spacing-xxxxl: 80px;
    --CDS-border-radius-none: 0;
    --CDS-border-radius-xs: 2px;
    --CDS-border-radius-s: 4px;
    --CDS-border-radius-m: 8px;
    --CDS-border-radius-l: 16px;
    --CDS-border-radius-xl: 24px;
    --CDS-border-radius-xxl: 32px;
    --CDS-border-radius-full: 9999px;
    --CDS-elevation-sunken: 0 1px 2px 0 #2d2f291a, 0 2px 2px 0 #605e5626, 0 4px 8px 0 #605e561a;
    --CDS-elevation-raised: 0 1px 2px 0 #2d2f291a, 0 2px 4px 0 #605e561a, 0 4px 8px 0 #605e561a;
    --CDS-elevation-hovering: 0 2px 4px 0 #2d2f2926, 0 8px 12px 0 #605e5626, 0 4px 8px 0 #605e561a;
    --CDS-elevation-overlay: 0 2px 8px 0 #2d2f2933, 0 8px 12px 0 #605e5626, 0 12px 16px 0 #605e561a;
    --height: 48px;
    --vertical-spacing: calc((var(--header-height) - var(--height)) / 2);
    --search-border-radius: var(--CDS-border-radius-m);
    /* Legacy variables for compatibility */
    --tp-green: #00b67a;
    --tp-green-dark: #009567;
    --tp-green-light: #73cf11;
    --tp-yellow: #ffce00;
    --tp-orange: #ff8622;
    --tp-red: #ff3722;
    --tp-black: #1a1a1a;
    --tp-dark: #191919;
    --tp-gray-700: #4a4a4a;
    --tp-gray-600: #545454;
    --tp-gray-500: #6b7280;
    --tp-gray-400: #9ca3af;
    --tp-gray-300: #d1d5db;
    --tp-gray-200: #e5e7eb;
    --tp-gray-100: #f3f4f6;
    --tp-gray-50: #f9fafb;
    --tp-white: #ffffff;
    --tp-blue: #5468ff;
    --tp-blue-dark: #4356e0;
    --tp-link: #0066cc;
    --tp-black-soft: #2d2f29;
    --tp-gray-dark: #605e56;
    --font-main: 'Trustpilot Sans', Arial, sans-serif;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
    margin: 0;
    padding: 0;
    height: 100%;
    background-color: #1c1c1c;
    /* Force dark background behind body */
}

body {
    font-family: var(--font-main);
    color: var(--tp-black);
    background: #1c1c1c;
    /* Match footer background to avoid white strip */
    line-height: 1.5;
    margin: 0;
    padding: 0;
    min-height: 100%;
    display: flex;
    flex-direction: column;
}

a {
    color: var(--tp-link);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

ul {
    list-style: none;
}

button {
    cursor: pointer;
    font-family: inherit;
    border: none;
    background: none;
}

input {
    font-family: inherit;
}

/* ==========================================
   MAIN HEADER - Dark Bar (Exact Size)
   ========================================== */
.main-header {
    background: var(--tp-dark);
    height: 82px;
    display: flex;
    align-items: center;
}

.header-inner {
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
    padding: 0 80px 10px 80px;
    display: flex;
    align-items: center;
    gap: 0;
}

.header-left {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.logo {
    display: block;
    flex: 0 0 auto;
    width: 140px;
    height: 34px;
}

.logo-star-svg {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
}

.logo-star-img {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    object-fit: contain;
    margin-top: -5px;
}

.logo-text {
    font-size: 24px;
    font-weight: 700;
    color: var(--tp-white);
    letter-spacing: -0.5px;
}

.header-center {
    flex: 1 1 0%;
    display: flex;
    align-items: center;
    height: 48px;
    padding: 0 16px 0 32px;
}

.search-container {
    position: relative;
    width: 494.875px;
    height: 48px;
}

.search-container .search-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #2d2f29;
    width: 18px;
    height: 18px;
    z-index: 2;
}


.search-input {
    width: 100%;
    height: 48px;
    padding: 0 16px 0 44px;
    border: none;
    border-radius: 8px;
    font-family: 'Trustpilot Sans', Arial, sans-serif;
    font-size: 16px;
    font-weight: 450;
    line-height: 22.4px;
    background: #fffffe;
    color: #000;
    transition: all 0.15s;
}

.search-input:focus {
    outline: none;
    border-color: var(--tp-blue);
    box-shadow: 0 0 0 2px rgba(84, 104, 255, 0.15);
}

.search-input::placeholder {
    color: #605e56;
}

.header-right {
    display: flex;
    align-items: center;
    gap: 0;
    margin-left: auto;
    flex-shrink: 0;
}

.header-nav {
    display: flex;
    gap: 0;
}

.header-nav a {
    color: #ebe9ec;
    font-family: 'Trustpilot Sans', Arial, sans-serif;
    font-size: 14px;
    font-weight: 450;
    line-height: 19.6px;
    text-decoration: none;
    height: 82px;
    display: flex;
    align-items: center;
    padding: 0 16px;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    transition: border-color 0.2s;
}

.header-nav a:hover {
    opacity: 1;
    text-decoration: none;
    border-bottom-color: var(--tp-white);
}

.notification-btn {
    color: #ebe9ec;
    padding: 0 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    height: 82px;
    min-width: 48px;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    transition: border-color 0.2s;
}

.notification-btn:hover {
    border-bottom-color: var(--tp-white);
    opacity: 1;
}

.notification-btn svg {
    width: 24px;
    height: 24px;
}

.login-link {
    color: #ebe9ec;
    font-family: 'Trustpilot Sans', Arial, sans-serif;
    font-size: 14px;
    font-weight: 450;
    line-height: 19.6px;
    height: 82px;
    display: flex;
    align-items: center;
    padding: 0 16px;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    transition: border-color 0.2s;
}

.login-link:hover {
    border-bottom-color: var(--tp-white);
    text-decoration: none;
}

.btn-business {
    background: #799dfa;
    color: #111011;
    padding: 0 24px;
    border-radius: 9999px;
    font-family: 'Trustpilot Sans', Arial, sans-serif;
    font-size: 14px;
    font-weight: 450;
    line-height: 17.33px;
    text-decoration: none;
    text-align: center;
    height: 44px;
    min-width: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1.33333px solid transparent;
    transition: background 0.15s;
    white-space: nowrap;
    overflow: hidden;
}

.btn-business:hover {
    background: #5a85ff;
    text-decoration: none;
}

/* Mobile Navigation Icons - Hidden on Desktop */
.mobile-nav-icons {
    display: none;
}

.breadcrumb-mobile {
    display: none;
}

/* Mobile Visit Website Button - Hidden on Desktop */
.btn-visit-website-mobile {
    display: none;
}

/* Mobile TrustScore Card - Hidden on Desktop */
.trustscore-card-mobile {
    display: none;
}

/* Mobile Reply Info - Hidden on Desktop */
.reply-info-mobile {
    display: none;
}

/* Mobile Company Link - Hidden on Desktop */
.company-trustpilot-link-mobile {
    display: none;
}

/* Mobile All Reviews Section - Hidden on Desktop */
.all-reviews-mobile-section {
    display: none;
}

/* Mobile Reviews Check Notice - Hidden on Desktop */
.reviews-check-notice-mobile {
    display: none;
}

/* Mobile Section Divider - Hidden on Desktop */
.mobile-section-divider {
    display: none;
}

/* Footer Star Logo - Desktop Size */
.tp-footer-logo img {
    height: 70px !important;
    width: 70px !important;
    margin-left: -5px !important;
}

/* App Store Badge - Desktop Size (larger) */
.appstore-badge-link img {
    height: 120px !important;
    width: auto !important;
}

/* ==========================================
   COMPANY NAVIGATION BAR (Sticky)
   ========================================== */

.company-nav-bar {
    display: none;
    background: #fff;
    border-bottom: 1px solid #e6e6e6;
    position: sticky;
    top: 0;
    z-index: 100;
}

@media (min-width: 769px) {
    .company-nav-bar {
        display: block;
    }

    .company-nav-inner {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 24px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: 52px;
    }

    .company-nav-tabs {
        display: flex;
        gap: 32px;
        height: 100%;
    }

    .nav-tab {
        display: flex;
        align-items: center;
        height: 100%;
        color: #545454;
        text-decoration: none;
        font-size: 14px;
        font-weight: 500;
        border-bottom: 2px solid transparent;
        transition: all 0.2s;
    }

    .nav-tab:hover {
        color: #1c1c1c;
    }

    .nav-tab.active {
        color: #1c1c1c;
        border-bottom-color: #1c1c1c;
    }

    .company-nav-actions {
        display: flex;
        gap: 12px;
        align-items: center;
    }

    .btn-nav-visit {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 8px 16px;
        border: 1px solid #0b5cff;
        border-radius: 50px;
        color: #0b5cff;
        background: #fff;
        font-size: 14px;
        font-weight: 500;
        text-decoration: none;
        transition: all 0.2s;
    }

    .btn-nav-visit:hover {
        background: #f0f7ff;
    }

    .btn-nav-visit svg {
        stroke: #0b5cff;
    }

    .btn-nav-review {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 8px 16px;
        border: none;
        border-radius: 50px;
        color: #fff;
        background: #0b5cff;
        font-size: 14px;
        font-weight: 500;
        cursor: pointer;
        transition: all 0.2s;
    }

    .btn-nav-review:hover {
        background: #0948c7;
    }

    .btn-nav-review svg {
        stroke: #fff;
    }
}

/* ==========================================
   DESKTOP STICKY SIDEBAR (Reviews Section)
   ========================================== */

/* Hide on mobile, show on desktop */
.desktop-reviews-layout {
    display: none;
}

@media (min-width: 769px) {
    .desktop-reviews-layout {
        display: flex;
        max-width: 1200px;
        margin: 40px auto;
        padding: 0 24px;
        gap: 40px;
    }

    /* Left Sidebar - Sticky */
    .desktop-filter-sidebar {
        width: 340px;
        min-width: 340px;
        position: sticky;
        top: 100px;
        align-self: flex-start;
        height: fit-content;
    }

    /* Rating Header */
    .desktop-rating-header {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 16px;
    }

    .desktop-star-icon {
        width: 50px;
        height: 50px;
        position: relative;
        flex-shrink: 0;
    }

    .desktop-star-icon img {
        width: 85px;
        height: 85px;
        object-fit: contain;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .desktop-rating-score {
        font-size: 25px;
        font-weight: 700;
        color: #1c1c1c;
        margin-left: -10px;
    }

    .desktop-info-icon {
        cursor: pointer;
        display: flex;
        align-items: center;
        align-self: center;
        margin-left: -5px;
    }

    /* Titles */
    .desktop-all-reviews-title {
        font-size: 22px;
        font-weight: 700;
        color: #1c1c1c;
        margin: 0 0 8px 0;
    }

    .desktop-reviews-meta {
        font-size: 14px;
        color: #545454;
        margin-bottom: 24px;
    }

    .desktop-reviews-meta .bullet {
        margin: 0 8px;
    }

    .desktop-write-review-link {
        color: #0b5cff;
        text-decoration: underline;
    }

    /* Rating Distribution */
    .desktop-rating-distribution {
        background: #fff;
        border: 1px solid #e6e6e6;
        border-radius: 16px;
        padding: 16px;
        margin-bottom: 24px;
    }

    .desktop-rating-row {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 12px;
    }

    .desktop-rating-row:last-child {
        margin-bottom: 0;
    }

    .desktop-checkbox-container {
        display: flex;
        align-items: center;
        cursor: pointer;
    }

    .desktop-checkbox-container input {
        width: 26px;
        height: 26px;
        cursor: pointer;
        appearance: none;
        -webkit-appearance: none;
        background: #fff;
        border: 1px solid #000;
        border-radius: 4px;
        position: relative;
        transition: all 0.2s;
    }

    .desktop-checkbox-container input:hover {
        border-color: #0b5cff;
        background: #e8f4fd;
    }

    .desktop-checkbox-container input:checked {
        background: #e8f4fd;
        border: 1px solid #0b5cff;
    }

    .desktop-checkbox-container input:checked::after {
        content: '';
        position: absolute;
        top: 42%;
        left: 50%;
        width: 6px;
        height: 12px;
        border: solid #0b5cff;
        border-width: 0 1.5px 1.5px 0;
        transform: translate(-50%, -50%) rotate(45deg);
    }

    .desktop-star-label {
        font-size: 14px;
        color: #1c1c1c;
        width: 75px;
    }

    .desktop-progress-bar {
        flex: 1;
        height: 12px;
        background: #e6e6e6;
        border-radius: 6px;
        overflow: hidden;
    }

    .desktop-fill {
        height: 100%;
        border-radius: 6px;
        background: #1c1c1c !important;
        transition: background 0.2s ease;
    }

    /* Colors when checkbox is checked (via .colored class) OR on hover */
    .desktop-fill.desktop-fill-5.colored,
    .desktop-rating-row:hover .desktop-fill.desktop-fill-5 {
        background: #00b67a !important;
    }

    .desktop-fill.desktop-fill-4.colored,
    .desktop-rating-row:hover .desktop-fill.desktop-fill-4 {
        background: #73cf11 !important;
    }

    .desktop-fill.desktop-fill-3.colored,
    .desktop-rating-row:hover .desktop-fill.desktop-fill-3 {
        background: #ffce00 !important;
    }

    .desktop-fill.desktop-fill-2.colored,
    .desktop-rating-row:hover .desktop-fill.desktop-fill-2 {
        background: #ff8622 !important;
    }

    .desktop-fill.desktop-fill-1.colored,
    .desktop-rating-row:hover .desktop-fill.desktop-fill-1 {
        background: #ff3722 !important;
    }

    .desktop-percent-label {
        font-size: 14px;
        color: #000;
        width: 40px;
        text-align: right;
    }

    /* Separator */
    .desktop-sidebar-separator {
        height: 1px;
        background: #e6e6e6;
        margin: 24px 0;
    }

    /* Trustpilot Link */
    .desktop-trustpilot-link a {
        display: flex;
        align-items: center;
        gap: 6px;
        font-size: 14px;
        color: #1c1c1c;
        text-decoration: underline;
    }

    /* Right Content */
    .desktop-reviews-content {
        flex: 1;
        max-width: 520px;
        margin-left: 30px;
    }

    /* Search Box */
    .desktop-search-box {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 12px 20px;
        border: 1px solid #dcdce6;
        border-radius: 25px;
        background: #fff;
        margin-bottom: 16px;
    }

    .desktop-search-box input {
        border: none;
        outline: none;
        flex: 1;
        font-size: 16px;
        color: #1c1c1c;
    }

    .desktop-search-box input::placeholder {
        color: #9a9a9a;
    }

    .desktop-search-icon {
        color: #9a9a9a;
    }

    /* Filter Buttons */
    .desktop-filter-buttons {
        display: flex;
        gap: 12px;
        margin-bottom: 24px;
    }

    .desktop-filter-pill {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 10px 16px;
        border: 1px solid #dcdce6;
        border-radius: 50px;
        background: #fff;
        font-size: 14px;
        color: #1c1c1c;
        cursor: pointer;
        transition: background 0.2s;
    }

    .desktop-filter-pill:hover {
        background: #f5f5f5;
    }

    /* Top Mentions */
    .desktop-top-mentions {
        margin-bottom: 24px;
    }

    .desktop-mentions-title {
        font-size: 14px;
        font-weight: 600;
        color: #1c1c1c;
        margin: 0 0 12px 0;
    }

    .desktop-mentions-list {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .desktop-mention-tag {
        padding: 8px 14px;
        border: 1px solid #dcdce6;
        border-radius: 50px;
        font-size: 14px;
        color: #1c1c1c;
        background: #fff;
        cursor: pointer;
        transition: all 0.2s;
    }

    .desktop-mention-tag:hover {
        background: #e3efff;
        border-color: #4256b6;
        color: #4256b6;
    }

    .desktop-mention-tag.selected {
        background: #e3efff;
        border-color: #4256b6;
        color: #4256b6;
    }

    /* ========================================
       ACTIVE FILTERS SECTION
       ======================================== */
    .desktop-active-filters {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px;
        padding-bottom: 20px;
        margin-bottom: 20px;
        border-bottom: 1px solid #e6e6e6;
    }

    .desktop-active-filters-list {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

    .desktop-active-chip {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 8px 14px;
        background: #e3efff;
        border: 1px solid #4256b6;
        border-radius: 50px;
        font-size: 14px;
        color: #4256b6;
        cursor: pointer;
        transition: all 0.2s;
    }

    .desktop-active-chip:hover {
        background: #d0e2ff;
    }

    .desktop-active-chip svg {
        width: 12px;
        height: 12px;
        stroke: #4256b6;
    }

    .desktop-reset-filters-btn {
        display: inline-flex;
        align-items: center;
        padding: 8px 0;
        background: transparent;
        border: none;
        font-size: 14px;
        color: #4256b6;
        cursor: pointer;
        text-decoration: underline;
        margin-left: 8px;
    }

    .desktop-reset-filters-btn:hover {
        color: #2e3d7a;
    }

    .desktop-reset-filters-btn svg {
        display: none;
    }

    /* ========================================
       PAGINATION - TRUSTPILOT STYLE
       ======================================== */
    .pagination-container {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        margin: 32px 0;
        margin-left: 0;
        transform: none;
        width: 100%;
    }

    .pagination-container>button,
    .pagination-container>span {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 44px;
        min-width: 52px;
        padding: 0 14px;
        background: #fff;
        color: #1c1c1c;
        font-size: 14px;
        font-weight: 400;
        font-family: inherit;
        border: 1px solid #000;
        border-left: none;
        cursor: pointer;
        box-sizing: border-box;
        transition: background 0.15s;
    }

    .pagination-container>*:first-child {
        border-left: 1px solid #000;
        border-radius: 4px 0 0 4px;
    }

    .pagination-container>*:last-child {
        border-radius: 0 4px 4px 0;
    }

    .pagination-btn.pagination-nav {
        padding: 0 16px;
        min-width: auto;
    }

    .pagination-btn:hover:not(:disabled):not(.active) {
        background: #f5f5f5;
    }

    .pagination-btn.active {
        background: #e8f4fd !important;
        color: #1c1c1c !important;
        border-color: #000 !important;
        outline: none;
    }

    .pagination-btn:disabled {
        color: #b8b8b8;
        cursor: not-allowed;
    }

    .pagination-dots {
        cursor: default;
        letter-spacing: 2px;
    }

    /* ========================================
       REVIEWS LIST - MATCH PAGINATION WIDTH
       ======================================== */
    .reviews-list-container {
        max-width: 520px;
        margin-left: 0;
    }

    .review-item {
        max-width: 100%;
        box-sizing: border-box;
    }
}

/* ==========================================
   BREADCRUMB (Trustpilot Exact Styles)
   ========================================== */
.breadcrumb {
    background: var(--tp-dark);
    padding: 7px 0 22px 0;
    overflow-y: hidden;
    scrollbar-width: none;
}

.breadcrumb-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 80px 0 40px;
    text-rendering: optimizeSpeed;
    font-family: 'Trustpilot Sans', Arial, sans-serif;
    font-size: 12px;
    font-weight: 450;
    line-height: 1.4;
    letter-spacing: 0.5px;
    color: #ebe9ec;
    display: flex;
    flex-wrap: wrap;
    row-gap: 4px;
    height: auto;
    overflow-x: initial;
    align-items: center;
}

.breadcrumb a {
    color: #ebe9ec;
    text-decoration: none;
    font-weight: 450;
}

.breadcrumb a:hover {
    text-decoration: underline;
    color: #fff;
}

.breadcrumb .separator {
    margin: 0 8px;
    color: #888888;
    display: inline-block;
    transform: scale(0.85) scaleY(1.8);
}

.breadcrumb .current {
    color: #c0bec2;
}

/* Desktop: show desktop breadcrumb, hide mobile */
.breadcrumb-desktop {
    display: flex;
}

.breadcrumb-mobile {
    display: none;
}

/* ==========================================
   MAIN CONTENT
   ========================================== */
.main-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 32px 24px;
    flex: 1;
    width: 100%;
}

/* Two Column Grid Layout: Left=756px, Right=420px, Gap=50px */
.content-wrapper {
    display: grid;
    grid-template-columns: 756px 420px;
    column-gap: 50px;
    align-items: start;
}

/* Main Reviews Layout (Grid) */
.reviews-content-wrapper {
    display: grid;
    grid-template-columns: 320px 1fr;
    /* Standard sidebar width */
    gap: 48px;
    /* Standard spacious gap */
    align-items: start;
}

/* Revert container to original centered style */
.reviews-section .max-width-container {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 24px;
}

/* ==========================================
   COMPANY SECTION
   ========================================== */
.company-section {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-left: -20px;
}

.company-profile {
    display: flex;
    gap: 24px;
    padding-bottom: 0;
}

.company-logo {
    width: 130px;
    height: 130px;
    border-radius: 0;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--tp-gray-100);
    border: 1px solid var(--tp-gray-200);
}

.company-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.company-info {
    flex: 1;
}

.profile-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: var(--tp-gray-500);
    margin-bottom: 2px;
    background: var(--tp-gray-100);
    padding: 3px 8px;
    border-radius: 4px;
}

.profile-badge svg {
    width: 10px;
    height: 10px;
}

.company-name {
    font-size: 32px;
    font-weight: 800;
    color: #2d2f29;
    margin: 0;
    line-height: 1.2;
}

.company-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 4px;
}

.reviews-count {
    font-size: 16px;
    color: #000000 !important;
    text-decoration: none !important;
    border-bottom: 1px solid #000000;
    padding-bottom: 0px;
    margin-bottom: -3px;
    /* Max height */
    line-height: 1.1;
    /* Tighten line height to pull border up */
    font-weight: 500;
}

.reviews-count strong {
    font-weight: 600;
}

.meta-separator {
    color: #000000;
    font-size: 20px;
    margin-left: 4px;
}

.rating-badges {
    display: flex;
    gap: 1px;
    margin-left: -20px;
}

.badge {
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    color: white;
    border-radius: 2px;
}

.badge-5 {
    background: #00b67a;
}

.badge-4 {
    background: var(--tp-green-light);
}

.badge-3 {
    background: var(--tp-yellow);
}

.badge-2 {
    background: var(--tp-orange);
}

.badge-1 {
    background: var(--tp-red);
}

.badge-gray {
    background: #dcdce6;
}

.trust-score-inline {
    font-size: 16px;
    font-weight: 700;
    color: var(--tp-black);
}

.info-icon {
    display: flex;
    align-items: center;
    color: #3b5ace;
    cursor: pointer;
    margin-left: 0px;
}

.info-icon svg {
    width: 18px;
    height: 18px;
}

.company-category {
    display: inline-block;
    font-size: 14px;
    color: var(--tp-blue);
    margin-bottom: 24px;
    text-decoration: none;
}

.company-category:hover {
    text-decoration: underline;
}

.company-actions {
    display: flex;
    gap: 10px;
}

.btn-write-review {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: #4256b6;
    color: white;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.15s;
    border: 1px solid #4256b6;
}

.btn-write-review svg {
    width: 16px;
    height: 16px;
}

.btn-write-review:hover {
    opacity: 0.9;
    text-decoration: none;
    border-color: #4256b6;
    /* Keep border color same to avoid flicker, transition handles opacity */
}

.btn-visit-website {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 30px 10px 30px;
    background: transparent;
    color: #4256b6;
    border: 1px solid #4256b6;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.15s;
}

.btn-visit-website svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
    margin-top: 1px;
    /* Ajuste fino */
}

.btn-visit-website:hover {
    background-color: #e3efff;
    border-color: #4256b6;
    text-decoration: none;
    color: #4256b6;
}



/* ==========================================
   TRANSPARENCY NOTICE
   ========================================== */
.section-divider {
    border: none;
    border-top: 1px solid #d9d0c1;
    margin: 2px 0 -10px 0;
    max-width: 760px;
    /* Align with banner */
}

.transparency-notice {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px 14px 42px;
    background: #f5f1e8;
    /* Beige background */
    border-radius: 12px;
    border: 1px solid #d9d0c1;
    position: relative;
    max-width: 760px;
    /* Widen slightly */
    /* Restrict width */
}

.notice-icon {
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
}

.shield-icon {
    animation: pulseGlow 2s ease-in-out infinite;
    filter: drop-shadow(0 0 4px rgba(90, 142, 232, 0.6));
    transform: scale(0.85) translate(-8px, 5px);
    transform-origin: left center;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
}

@keyframes pulseGlow {

    0%,
    100% {
        filter: drop-shadow(0 0 4px rgba(90, 142, 232, 0.4));
    }

    50% {
        filter: drop-shadow(0 0 12px rgba(90, 142, 232, 0.9));
    }
}

.transparency-notice p {
    font-size: 13px;
    color: #1a1a1a;
    font-weight: 500;
    line-height: 1.5;
    margin: 0;
}

/* ==========================================
   REVIEW SUMMARY
   ========================================== */
.review-summary {
    padding: 20px 0 0 0;
    max-width: 680px;
    /* Restrict width */
}

.summary-title {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.ai-badge {
    font-size: 14px;
}

.summary-subtitle {
    font-size: 16px;
    color: #605e56;
    font-weight: 500;
    margin-bottom: 10px;
}

.summary-text {
    font-size: 16px;
    color: #2d2f29;
    line-height: 1.4;
    margin: 0;
    font-weight: 500;
}

.summary-content {
    position: relative;
}

/* Inline toggle styles */
.summary-content.collapsed .summary-text {
    /* No manual clamp needed */
    display: block;
    max-height: none;
}

.see-more-link {
    color: var(--tp-blue);
    font-weight: 500;
    cursor: pointer;
    font-size: 16px;
    margin-left: 4px;
    display: inline;
    position: static;
    background: none;
    padding: 0;
}

/* ==========================================
   CLAIMED PROFILE BADGE
   ========================================== */
.profile-badge.claimed {
    background: #ffffff;
    padding: 3px 8px;
    border: 1px solid #e2dacd;
    border-radius: 2px;
    width: fit-content;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 500;
    color: #2d2f29;
}

.profile-badge.claimed svg {
    width: 12px;
    height: 12px;
    transform: scale(1.3);
    /* Visual enlargement only */
    position: relative;
    z-index: 1;
    /* Layer above */
}

.profile-badge.claimed svg circle,
.profile-badge.claimed svg path {
    stroke: #007f5f;
    /* Darker green */
    stroke-width: 1.2;
    /* Much thinner stroke */
}

/* ==========================================
   TRANSPARENCY NOTICE WITH SVG
   ========================================== */
.notice-icon .star-badge-svg {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
}

/* ==========================================
   BASED ON THESE REVIEWS SECTION
   ========================================== */
.based-reviews {
    padding: 0;
    margin-top: 16px;
    border-bottom: none;
}

.based-title {
    position: relative;
    top: 0px;
    /* Force visual move up */
    font-size: 18px !important;
    /* Reduced font size */
    font-weight: 600;
    color: var(--tp-black);
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.based-title .info-icon {
    font-size: 14px;
    color: var(--tp-gray-400);
}

.review-cards-track img,
.review-cards-track a {
    pointer-events: none;
    /* Prevent drag/select on children */
}

/* ==========================================
   CAROUSEL & FADE EFFECT
   ========================================== */
.carousel-container {
    margin-top: 0px;
    position: relative;
    /* Main container for the carousel */
    width: 100%;
    /* Ensure it overlays correctly */
    z-index: 10;
}

/* 
   Fade Gradient Overlay 
   Positioned on the right side to indicate more content
*/
.carousel-container::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 200px;
    /* Width of the fade area */
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    pointer-events: none;
    /* Allows clicking through the fade */
    z-index: 20;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

/* 
   Scrollable Track 
   Flex container that allows horizontal scrolling
*/
.items-wrapper {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 20px;
    /* Hide scrollbar visually but keep functionality */
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
    padding-right: 200px;
    /* Extra padding to allow last item to be fully seen past fade */
}

/* Hide scrollbar for Chrome, Safari, Opera */
.items-wrapper::-webkit-scrollbar {
    display: none;
}

/* 
   Carousel Cards 
   Specific styling for cards inside the carousel logic
*/
.carousel-container .review-card {
    flex: 0 0 320px;
    /* Slightly wider cards */
    min-width: 320px;
    background: #ffffff;
    border: 1px solid #dcdce6;
    border-radius: 24px;
    padding: 24px;
    box-shadow: none;
    scroll-snap-align: start;
    /* Reset generic list styles */
    /* border-bottom: 1px solid #dcdce6; Removed as per user request */
    margin-bottom: 0;
    position: relative;
    height: 320px;
    /* Fixed height for uniformity */
    display: flex;
    flex-direction: column;
}

/* Card internal adjustments */
.carousel-container .review-card .card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.carousel-container .review-card .avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 14px;
}

.carousel-container .review-card .user-info {
    display: flex;
    flex-direction: column;
}

.carousel-container .review-card .user-name {
    font-family: 'TrustpilotReviews', 'Inter', sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: #2d2f29;
    -webkit-text-stroke: 0.3px #2d2f29;
}

.carousel-container .review-card .review-date {
    font-size: 12px;
    color: #605e56;
}

.carousel-container .review-card .rating-row {
    margin-bottom: 0px;
    /* Reduced spacing */
    position: relative;
    height: 20px;
    /* Restored height */
    z-index: 5;
}

.carousel-container .review-card .card-content {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    position: relative;
    z-index: 1;
    margin-top: -10px;
}

.carousel-container .review-card .star-icon-row {
    display: flex;
    position: absolute;
    top: -60px;
    /* Adjust for 120px image */
    left: -6px;
    /* Adjusted alignment */
    z-index: 10;
}

.carousel-container .review-card .review-body {
    font-family: 'TrustpilotReviews', 'Inter', sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: #2b2b2b;
    font-weight: 500;
    letter-spacing: -0.2px;
    -webkit-text-stroke: 0.3px #2b2b2b;
    margin: 0;
    overflow: visible;
}

.carousel-container .see-more {
    display: inline;
    color: #5468FF;
}

.see-more {
    color: #0b5cff;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
}

.see-more:hover {
    text-decoration: underline;
}

.carousel-container .review-card .card-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: none;
    display: flex;
    gap: 12px;
}

.carousel-container .review-card .footer-btn {
    background: transparent;
    border: none;
    font-size: 13px;
    font-weight: 500;
    color: #605e56;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0;
}

.carousel-container .review-card .flag-btn {
    background: transparent;
    border: none;
    color: #605e56;
    cursor: pointer;
    display: flex;
    align-items: center;
    padding: 0;
    margin-left: 0;
    /* Push to the right if needed, or just standard */
}

/* Hide next button if we rely on scroll, or style it */
.carousel-next-btn {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background: white;
    border: 1px solid #dcdce6;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    z-index: 30;
    /* Above fade */
    opacity: 1;
    transition: all 0.2s;
}

.carousel-next-btn:hover {
    background: #f5f5f5;
    transform: translateY(-50%) scale(1.05);
}

/* See All Reviews Button */
/* See All Reviews Button */
.see-all-reviews-container {
    margin-top: 24px;
    margin-bottom: 24px;
    display: flex;
    justify-content: center;
    /* Center the button */
    width: 100%;
    /* Force width */
}

.see-all-reviews-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background-color: #e5efff;
    /* Light blue background */
    color: #0b5cff;
    /* Trustpilot blue */
    padding: 12px 28px;
    /* Slightly larger padding */
    border-radius: 9999px;
    /* Pill shape */
    text-decoration: none;
    font-weight: 700;
    /* Bolder text */
    font-size: 16px;
    /* Larger font */
    transition: background-color 0.2s ease;
    width: 100%;
    max-width: 100%;
}

.see-all-reviews-btn:hover {
    background-color: #dbe7ff;
}

.see-all-reviews-btn svg {
    width: 18px;
    height: 18px;
    stroke-width: 2px;
}

.review-cards-track {
    /* Existing flex props are implicitly handled elsewhere or standard div props */
    position: relative;
    z-index: 5;
    /* Ensure it's above background overlaps */
    touch-action: pan-y;
    /* Allow vertical scroll but handle horizontal in JS if needed (or let native work) */
}

/* Ensure images don't block events */
.review-cards-track img {
    pointer-events: none;
    -webkit-user-drag: none;
}

.review-cards-row {
    display: flex;
    gap: 16px;
}

.mini-review-card {
    flex: 1;
    background: var(--tp-gray-50);
    border-radius: 8px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.mini-review-card .card-header {
    display: flex;
    align-items: center;
    gap: 10px;
}

.mini-review-card .reviewer-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 600;
    font-size: 12px;
}

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

.mini-review-card .reviewer-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--tp-black);
}

.mini-review-card .reviewer-date {
    font-size: 12px;
    color: var(--tp-gray-500);
}

.mini-review-card .card-stars {
    display: flex;
    gap: 2px;
}

.mini-star {
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    color: white;
    border-radius: 2px;
}

/* ==========================================
   TRUST SCORE CARD (Right Sidebar) - EXACT LAYOUT
   ========================================== */
.trust-score-card {
    background: var(--tp-white);
    border: 1px solid var(--tp-gray-200);
    border-radius: 8px;
    padding: 20px;
    position: sticky;
    top: 24px;
}

.score-header {
    display: flex;
    gap: 16px;
    margin-bottom: 12px;
    align-items: flex-start;
}

.score-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.score-number {
    font-size: 48px;
    font-weight: 700;
    color: var(--tp-black);
    line-height: 1;
    margin-bottom: 4px;
}

.score-label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 4px;
}

.label-text {
    font-size: 14px;
    font-weight: 600;
    color: var(--tp-green);
}

.rating-visual {
    display: flex;
    gap: 1px;
}

.mini-badge {
    width: 14px;
    height: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    color: white;
    border-radius: 2px;
}

.bg-5 {
    background: var(--tp-green);
}

.bg-4 {
    background: var(--tp-green-light);
}

.bg-3 {
    background: var(--tp-yellow);
}

.bg-2 {
    background: var(--tp-orange);
}

.bg-1 {
    background: var(--tp-red);
}

.reviews-count-card {
    font-size: 12px;
    color: var(--tp-gray-500);
}

.score-bars {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.score-bar-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

.score-bar-row span {
    width: 38px;
    font-size: 11px;
    color: var(--tp-gray-500);
    text-align: right;
}

.score-bar {
    flex: 1;
    height: 5px;
    background: var(--tp-gray-100);
    border-radius: 3px;
    overflow: hidden;
}

.score-fill {
    height: 100%;
    border-radius: 3px;
}

.score-fill.fill-5 {
    background: var(--tp-green);
}

.score-fill.fill-4 {
    background: var(--tp-green-light);
}

.score-fill.fill-3 {
    background: var(--tp-yellow);
}

.score-fill.fill-2 {
    background: var(--tp-orange);
}

.score-fill.fill-1 {
    background: var(--tp-red);
}

.card-link {
    display: block;
    font-size: 13px;
    color: var(--tp-link);
    margin-top: 12px;
}

.card-link.external {
    display: flex;
    align-items: center;
    gap: 4px;
}

.card-link.external svg {
    width: 12px;
    height: 12px;
}

.card-divider {
    border: none;
    border-top: 1px solid var(--tp-gray-200);
    margin: 16px 0;
}

/* Reply Rate Section */
.reply-rate {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 0;
    border-top: 1px solid var(--tp-gray-200);
    margin-top: 12px;
}

.reply-icon {
    width: 32px;
    height: 32px;
    background: var(--tp-gray-100);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: var(--tp-gray-500);
}

.reply-text {
    font-size: 12px;
    color: var(--tp-gray-600);
    line-height: 1.4;
}

.reply-text strong {
    display: block;
    font-weight: 600;
    color: var(--tp-black);
}

/* ==========================================
   REVIEWS SECTION
   ========================================== */
.reviews-section {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.reviews-header h2 {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 4px;
}

.reviews-total {
    font-size: 14px;
    color: var(--tp-black);
    text-decoration: underline;
    font-weight: 400;
}

/* Rating Filter */
.rating-filter {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.filter-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.filter-row label {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 72px;
    font-size: 13px;
    color: var(--tp-gray-700);
    cursor: pointer;
}

.filter-row input[type="checkbox"] {
    width: 14px;
    height: 14px;
    accent-color: var(--tp-green);
}

.filter-bar {
    flex: 1;
    height: 6px;
    background: var(--tp-gray-100);
    border-radius: 3px;
    overflow: hidden;
}

.filter-fill {
    height: 100%;
    border-radius: 3px;
}

.filter-percent {
    width: 36px;
    text-align: right;
    font-size: 13px;
    color: var(--tp-gray-500);
}

/* Search and Filters */
.search-filters {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.search-box {
    flex: 1;
    min-width: 180px;
    position: relative;
}

.search-box svg {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--tp-gray-400);
}

.search-box input {
    width: 100%;
    height: 40px;
    padding: 0 14px 0 38px;
    border: 1px solid var(--tp-gray-300);
    border-radius: 6px;
    font-size: 13px;
}

.search-box input:focus {
    outline: none;
    border-color: var(--tp-blue);
}

.filter-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 14px;
    border: 1px solid var(--tp-gray-300);
    border-radius: 6px;
    font-size: 13px;
    color: var(--tp-black);
    background: var(--tp-white);
    transition: all 0.15s;
}

.filter-btn:hover {
    background: var(--tp-gray-50);
    border-color: var(--tp-gray-400);
}

/* Top Mentions */
.top-mentions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.mentions-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--tp-black);
}

.mentions-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.tag {
    padding: 6px 12px;
    border: 1px solid var(--tp-gray-300);
    border-radius: 16px;
    font-size: 12px;
    color: var(--tp-gray-700);
    background: var(--tp-white);
    transition: all 0.15s;
}

.tag:hover {
    background: var(--tp-gray-50);
    border-color: var(--tp-gray-400);
}

/* Reviews List */
.reviews-list {
    display: flex;
    flex-direction: column;
}

.review-card {
    padding: 20px 0;
    /* border-bottom: 1px solid var(--tp-gray-100); Removed as per user request */
}

.review-card:last-child {
    border-bottom: none;
}

.review-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

.reviewer-info {
    display: flex;
    align-items: center;
    gap: 10px;
}

.reviewer-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: linear-gradient(135deg, #667eea, #764ba2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 600;
    font-size: 13px;
}

.reviewer-name {
    font-family: 'TrustpilotReviews', 'Inter', sans-serif;
    font-weight: 600;
    font-size: 13px;
    -webkit-text-stroke: 0.2px currentColor;
}

.reviewer-meta {
    font-size: 11px;
    color: var(--tp-gray-500);
}

.review-date {
    font-size: 12px;
    color: var(--tp-gray-500);
}

.review-rating {
    display: flex;
    gap: 1px;
    margin-bottom: 10px;
}

.review-rating .star {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 2px;
    color: white;
    font-size: 12px;
}

.star.filled-5 {
    background: var(--tp-green);
}

.star.filled-4 {
    background: var(--tp-green-light);
}

.star.filled-3 {
    background: var(--tp-yellow);
}

.star.filled-2 {
    background: var(--tp-orange);
}

.star.filled-1 {
    background: var(--tp-red);
}

.star.empty {
    background: var(--tp-gray-200);
}

.review-title {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 6px;
}

.review-content {
    font-size: 13px;
    color: var(--tp-gray-700);
    line-height: 1.5;
    margin-bottom: 6px;
}

.review-experience {
    font-size: 12px;
    color: var(--tp-gray-500);
    margin-bottom: 10px;
}

.review-actions {
    display: flex;
    gap: 14px;
}

.review-action,
.action-btn {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    font-weight: 500;
    color: #757575 !important;
    /* Medium grey */
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
}

.review-action:hover {
    color: var(--tp-black);
}

.review-action svg {
    color: #757575;
    /* Medium grey icon */
    stroke-width: 1px;
}

/* Ensure flag button is also lighter */
.flag-btn {
    color: #757575;
    stroke-width: 1px;
}

.review-item {
    border-bottom: none !important;
    /* Remove separator lines */
    padding-bottom: 24px;
    margin-bottom: 24px;
}

/* Pagination */
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding-top: 16px;
}

.page-btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--tp-gray-300);
    border-radius: 6px;
    font-size: 13px;
    color: var(--tp-black);
    background: var(--tp-white);
}

.page-btn:hover:not(.disabled):not(.active) {
    background: var(--tp-gray-50);
}

.page-btn.active {
    background: var(--tp-black);
    color: var(--tp-white);
    border-color: var(--tp-black);
}

.page-btn.disabled {
    color: var(--tp-gray-400);
    cursor: not-allowed;
}

.page-dots {
    color: var(--tp-gray-500);
    font-size: 13px;
}

/* ==========================================
   FOOTER
   ========================================== */
.main-footer {
    background: var(--tp-dark);
    color: var(--tp-white);
    margin-top: 40px;
    padding: 40px 0 20px;
}

.footer-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.tp-footer-bottom {
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding-top: 60px;
    margin-top: 40px;
}

/* Removed .tp-footer-bottom-left as it is no longer used */

.tp-footer-links {
    display: flex;
    gap: 48px;
    flex-wrap: wrap;
}

.tp-footer-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 32px;
    margin-bottom: 32px;
}

.footer-col h4 {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 14px;
}

.footer-col ul {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer-col a {
    font-size: 13px;
    color: var(--tp-gray-400);
    text-decoration: none;
}

.footer-col a:hover {
    color: var(--tp-white);
}

.social-icons {
    display: flex;
    gap: 10px;
}

.social-icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    color: var(--tp-white);
    font-size: 12px;
    text-decoration: none;
}

.social-icon:hover {
    background: rgba(255, 255, 255, 0.2);
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
}

.country-select {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    color: var(--tp-white);
    font-size: 13px;
}

.legal-links {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.legal-links a {
    font-size: 12px;
    color: var(--tp-gray-400);
}

.copyright {
    font-size: 12px;
    color: var(--tp-gray-500);
    margin-left: auto;
}

/* ==========================================
   RESPONSIVE
   ========================================== */
@media (max-width: 1024px) {
    .content-wrapper {
        grid-template-columns: 1fr;
    }

    .trust-score-card {
        position: static;
        order: -1;
    }

    .tp-footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .main-header {
        height: 44px;
    }

    .header-nav,
    .notification-btn {
        display: none;
    }

    .header-center {
        max-width: 240px;
    }

    .search-input {
        height: 32px;
        font-size: 12px;
    }

    .company-profile {
        flex-direction: column;
        gap: 16px;
    }

    .company-logo {
        width: 64px;
        height: 64px;
    }

    .company-name {
        font-size: 20px;
    }

    .company-actions {
        flex-direction: column;
    }

    .company-actions a {
        width: 100%;
        justify-content: center;
    }

    .tp-footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }

    .copyright {
        margin-left: 0;
    }
}

@media (max-width: 480px) {
    .search-filters {
        flex-direction: column;
    }

    .filter-btn {
        width: 100%;
        justify-content: center;
    }

    .score-header {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}

/* ==========================================
   TRUSTSCORE CARD (NEW)
   ========================================== */
.trustscore-card {
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    /* More pronounced rounded corners */
    padding: 0;
    /* Removed padding to fill card */
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    /* Subtle shadow all around */
    margin-top: 20px;
    /* Move down */
    margin-top: 0;
    /* Reset */
    margin-left: 0;
    /* Reset */
    overflow: hidden;
    /* Re-enabled to clip children */
    transition: all 0.2s ease;
}

.trustscore-card:hover {
    border-color: #abb2b9;
    /* Darker border on hover to mark 'everything' */
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

/* New Columns for Grid Layout */
.main-column {
    display: flex;
    flex-direction: column;
    gap: 24px;
    min-width: 0;
    /* Fix grid blowout */
}

.sidebar-column {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: -webkit-sticky;
    position: sticky;
    top: 24px;
    height: fit-content;
    width: 100%;
    transition: top 0.3s ease-in-out;
    align-self: flex-start;
    will-change: top;
    z-index: 10;
}

.ts-card-top {
    display: flex;
    gap: 4px;
    margin-bottom: 0;
    /* Removed margin */
    padding: 20px 16px;
    /* Increased padding slightly to compensate for parent padding removal */
    border-radius: 0;
    /* Let parent clip */
    transition: background-color 0.2s ease;
    cursor: pointer;
    background-color: transparent;
}

.ts-card-top:hover {
    background-color: #f2f2f2 !important;
}

/* Left Side: Summary */
.ts-summary-side {
    display: flex;
    flex-direction: column;
    gap: 2px;
    /* Reduced from 4px */
    min-width: 140px;
}

.ts-score-display {
    font-size: 52px;
    font-weight: 700;
    color: var(--tp-black);
    line-height: 1;
}

.ts-rating-label {
    font-size: 14px;
    font-weight: 600;
    /* Slightly thinner */
    color: var(--tp-black);
    margin-top: 0px;
}

.ts-stars-display {
    display: flex;
    margin: 2px 0;
}

.ts-stars-display img {
    pointer-events: none;
}

.ts-stars-display .badge {
    width: 18px;
    /* Smaller stars */
    height: 18px;
}

.ts-stars-display .badge svg {
    width: 10px;
    height: 10px;
}

.ts-reviews-count {
    font-size: 14px;
    color: var(--tp-gray-600);
}

/* Right Side: Filters */
.ts-filters-side {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
    /* More spacing between rows */
    justify-content: center;
}

.ts-filter-row {
    display: flex;
    align-items: center;
    gap: 6px;
    /* Space between label and bar */
    min-height: 8px;
    /* Reduced from 10px */
}

.ts-star-label {
    font-size: 13px;
    color: var(--tp-gray-700);
    width: 90px;
    font-weight: 500;
    flex-shrink: 0;
    white-space: nowrap;
    text-align: right;
}

.ts-bar-container {
    width: 120px;
    height: 8px;
    background: #d1d5db;
    /* Darker gray */
    border-radius: 4px;
    flex-shrink: 0;
    overflow: hidden;
    position: relative;
}

.ts-bar-fill {
    height: 100%;
}

.ts-bar-fill.fill-5 {
    background: #00b67a;
}

/* Green */
.ts-bar-fill.fill-4 {
    background: #73cf11;
}

/* Lime */
.ts-bar-fill.fill-3 {
    background: #ffce00;
}

/* Yellow */
.ts-bar-fill.fill-2 {
    background: #ff8622;
}

/* Orange */
.ts-bar-fill.fill-1 {
    background: #ff3722;
}

/* Red */

/* Hover effects for filter rows */
.ts-filter-row {
    cursor: pointer;
    padding: 4px 6px;
    margin: -4px -6px;
    border-radius: 6px;
    transition: background-color 0.2s ease;
}

.ts-filter-row .ts-bar-container {
    transition: background-color 0.2s ease;
}

.ts-filter-row:nth-child(1):hover .ts-bar-container {
    background-color: rgba(0, 182, 122, 0.35);
    /* 5-star green */
}

.ts-filter-row:nth-child(2):hover .ts-bar-container {
    background-color: rgba(115, 207, 17, 0.35);
    /* 4-star lime */
}

.ts-filter-row:nth-child(3):hover .ts-bar-container {
    background-color: rgba(255, 206, 0, 0.40);
    /* 3-star yellow */
}

.ts-filter-row:nth-child(4):hover .ts-bar-container {
    background-color: rgba(255, 134, 34, 0.35);
    /* 2-star orange */
}

.ts-filter-row:nth-child(5):hover .ts-bar-container {
    background-color: rgba(255, 55, 34, 0.35);
    /* 1-star red */
}

/* Footer */
.ts-card-footer {
    border-top: 1px solid #e5e7eb;
    padding: 8px 16px 12px;
    /* Reduced top padding to move up, keeping bottom for balance */
    display: flex;
    flex-direction: column;
    align-items: center;
    /* Center content as requested */
    gap: 12px;
    /* Increased gap for separation */
    cursor: pointer;
    border-radius: 0;
    transition: background-color 0.2s ease;
    background-color: transparent;
}

.ts-card-footer:hover {
    background-color: #f2f2f2 !important;
}


.ts-calc-link {
    font-size: 14px;
    color: var(--tp-black);
    text-decoration: underline;
    font-weight: 500;
    text-align: center;
}

.ts-calc-link:hover {
    text-decoration: underline;
}

.ts-reply-info {
    display: flex;
    align-items: flex-start;
    gap: 4px;
    background: #f9fafb;
    padding: 4px;
    /* Max reduction */
    border-radius: 4px;
}

.ts-reply-icon {
    color: var(--tp-gray-400);
    margin-top: 2px;
}

.ts-reply-text {
    display: flex;
    flex-direction: column;
    font-size: 14px;
    color: var(--tp-black);
}

.ts-reply-text span {
    color: var(--tp-gray-500);
    font-size: 13px;
    margin-top: 2px;
}

/* Contact Link Styles */
.contact-link {
    color: #2d2f29;
    transition: color 0.2s ease;
}

.contact-link:hover {
    color: #0000ff !important;
    text-decoration: underline;
}

.ts-company-link {
    margin-top: 4px;
}

.ts-company-link a {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    color: var(--tp-blue);
    text-decoration: none;
    font-weight: 500;
}

.ts-company-link a:hover {
    text-decoration: underline;
}

/* Responsive adjustments */
@media (max-width: 480px) {
    .ts-card-top {
        flex-direction: column;
        gap: 16px;
    }
}

/* Reply Info Box (below TrustScore card) */
.reply-info-box {
    display: flex !important;
    align-items: center !important;
    gap: 12px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 16px;
    margin-top: 16px;
    margin-left: 10px;
    /* Align with card */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
}

.reply-info-box .reply-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    background-color: #f3f3f3;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.reply-info-box .reply-icon svg {
    position: relative;
}

.reply-info-box .reply-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    line-height: 1.5;
}

.reply-info-box .reply-text strong {
    font-size: 14px;
    font-weight: 600;
    color: var(--tp-black);
}

.reply-info-box .reply-text span {
    font-size: 13px;
    color: #6b7280;
}

/* Company Trustpilot Link */
.company-trustpilot-link {
    text-align: center;
    margin-top: 20px;
    margin-left: 10px;
}

.company-trustpilot-link a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 500;
    color: var(--tp-black);
    text-decoration: underline;
}

.company-trustpilot-link a:hover {
    color: var(--tp-blue);
}

/* Full Width Override */
.custom-comma {
    height: 7px;
    width: auto;
    margin: 0 1px 0 -1px;
    vertical-align: -4px;
    display: inline-block;
}

/* Trustpilot Exact Colors */
:root {
    --tp-black-soft: #2d2f29;
    --tp-gray-dark: #605e56;
}

/* ==========================================
   SIDEBAR SEPARATE ELEMENTS
   ========================================== */
.reply-info-box {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start;
    gap: 16px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 16px;
    margin-top: -12px;
}

.reply-info-box .reply-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f3f3f3;
    border-radius: 50%;
}

.reply-info-box .reply-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 4px;
    flex: 1;
    line-height: 1.5;
}

.reply-text strong {
    font-size: 14px;
    font-weight: 600;
    color: var(--tp-black);
    display: block;
}

.reply-text span {
    font-size: 14px;
    color: #454554;
    display: block;
}

.company-trustpilot-link {
    margin-top: -8px;
    text-align: center;
}

.company-trustpilot-link a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
    color: var(--tp-black);
    text-decoration: underline;
    transition: color 0.2s;
}

.company-trustpilot-link a:hover {
    color: var(--tp-blue);
}

/* Bottom divider for reviews section */
.reviews-bottom-divider {
    width: 100%;
    height: 1px;
    background-color: #dcdce6;
    margin-top: 0px;
    margin-bottom: 32px;
}

.contact-bottom-divider {
    width: 200vw;
    position: relative;
    left: 50%;
    margin-left: -100vw;
    height: 1px;
    background-color: #dcdce6;
    margin-top: 0px;
    /* Removed top margin completely */
    margin-bottom: 40px;
}

/* ==========================================
   COMPANY DETAILS SECTION
   ========================================== */
/* Company Details Section */
.company-details-container {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0px;
    padding: 4px 0px;
    max-width: 1080px;
    margin: 0;
    margin-left: 0px;
    padding-left: 24px;
}

.details-sidebar {
    width: 100%;
    flex-shrink: 0;
    padding-left: 0;
}

.details-heading {
    font-size: 24px;
    font-weight: 500;
    color: #2d2f29;
    margin: 0;
    margin-bottom: 8px;
    margin-left: 4px;
    text-align: left;
}

.details-content {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
    padding-left: 0;
}

.company-status-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.contact-info-list {
    width: 100%;
    list-style: none;
    padding: 0;
    padding-left: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
}

.contact-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding-left: 0;
}

.status-text {
    font-size: 14px;
    color: #2d2f29;
    font-weight: 500;
}

.company-tags-wrapper {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.tags-horizontal-group {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.detail-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    height: 36px;
    background-color: #ffffff;
    border: 1px solid #dcdce6;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    color: #3b5ace;
    text-decoration: none;
    transition: background-color 0.2s;
    white-space: nowrap;
}

.detail-tag:hover {
    background-color: #f5f5f5;
}

.detail-tag-pill {
    display: inline-block;
    background-color: #e5e5e5;
    color: #000000;
    font-size: 12px;
    font-weight: 500;
    padding: 2px 8px;
    border-radius: 4px;
    margin-right: 8px;
    margin-bottom: 4px;
    white-space: nowrap;
}

.about-company-card {
    border: 1px solid #dcdce6;
    border-radius: 24px;
    /* Large radius per screenshot */
    overflow: hidden;
    margin-top: 8px;
}

.about-text-content {
    padding: 24px;
}

.about-card-title {
    font-size: 18px;
    font-weight: 700;
    color: #2d2f29;
    margin-bottom: 4px;
}

.about-written-by {
    font-size: 12px;
    color: #605e56;
    margin-bottom: 16px;
}

.about-description {
    font-size: 16px;
    line-height: 1.5;
    color: #2d2f29;
    margin: 0;
}

.about-banner-container {
    position: relative;
    height: 160px;
    /* Approximate height */
    width: 100%;
}

.about-banner-image {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
    /* Placeholder gradient */
    /* If user wants an image, we can replace this */
}

.banner-see-more-btn {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #ffffff;
    color: #0b5cff;
    border: 1px solid #dcdce6;
    /* Optional border */
    padding: 10px 24px;
    border-radius: 9999px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: background-color 0.2s;
}

/* ==========================================
   ALL REVIEWS SECTION
   ========================================== */
.all-reviews-container {
    display: flex;
    gap: 48px;
    /* Spacious gap */
    margin-bottom: 60px;
}

.reviews-sidebar {
    width: 100%;
    flex-shrink: 0;
}

.rating-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.rating-score-large {
    font-size: 32px;
    font-weight: 700;
    color: #2d2f29;
}

.info-icon-circle {
    color: #0b5cff;
    display: flex;
    align-items: center;
}

.all-reviews-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d2f29;
    margin: 0 0 4px 0;
}

.all-reviews-meta {
    font-size: 16px;
    font-weight: 500;
    color: #2d2f29;
    margin-bottom: 24px;
}

.all-reviews-meta .bullet {
    margin: 0 4px;
}

.write-review-link {
    color: #0b5cff;
    /* Trustpilot blue */
    text-decoration: none;
}

.write-review-link:hover {
    text-decoration: underline;
}

/* Rating Distribution Card */
.rating-distribution-card {
    border: 1px solid #dcdce6;
    border-radius: 16px;
    padding: 8px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    gap: 0px;
}

.rating-row {
    display: flex;
    align-items: center;
    gap: 0px;
    font-size: 14px;
    color: #2d2f29;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 8px 0 0 !important;
}

/* Checkbox Styling */
.checkbox-container {
    display: block;
    position: relative;
    width: 20px;
    height: 20px;
    cursor: pointer;
    user-select: none;
    margin-left: 8px;
}

.checkbox-container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 20px;
    width: 20px;
    background-color: #fff;
    border: 1px solid #605e56;
    border-radius: 4px;
}

.checkbox-container:hover input~.checkmark {
    border-color: #2d2f29;
}

.checkbox-container input:checked~.checkmark {
    background-color: #0b5cff;
    /* Blue check */
    border-color: #0b5cff;
}

.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

.checkbox-container input:checked~.checkmark:after {
    display: block;
}

.checkbox-container .checkmark:after {
    left: 6px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.star-label {
    width: 88px;
    font-weight: 500;
    margin-right: 16px;
    margin-left: 32px;
    flex-shrink: 0;
    white-space: nowrap;
    text-align: left;
    font-size: 12px;
    overflow: hidden;
    text-overflow: clip;
    /* Separate from progress bar */
}

.progress-bar {
    width: 150px;
    height: 12px;
    background-color: #f2f2f5;
    border-radius: 6px;
    overflow: hidden;
    flex-shrink: 0;
    position: relative;
    margin-left: -8px;
}

.progress-bar .fill {
    height: 100%;
    border-radius: 6px;
    background-color: #000000 !important;
    /* Force Default Black */
    transition: background-color 0.3s ease;
    min-width: 12px;
}

/* Red */

.rating-row {
    cursor: pointer;
}

.rating-row:hover .fill-5,
.rating-row:has(input:checked) .fill-5 {
    background-color: #00b67a !important;
    /* Green */
}

.rating-row:hover .fill-4,
.rating-row:has(input:checked) .fill-4 {
    background-color: #73cf11 !important;
    /* Lime */
}

.rating-row:hover .fill-3,
.rating-row:has(input:checked) .fill-3 {
    background-color: #ffce00 !important;
    /* Yellow */
}

.rating-row:hover .fill-2,
.rating-row:has(input:checked) .fill-2 {
    background-color: #ff8622 !important;
    /* Orange */
}

.rating-row:hover .fill-1,
.rating-row:has(input:checked) .fill-1 {
    background-color: #ff3722 !important;
    /* Red */
}



/* Remove static colors - DISABLED to allow desktop-fill to work
.fill-5,
.fill-4,
.fill-3,
.fill-2,
.fill-1 {
}

.fill-4 {
    background-color: #73cf11;
}

.fill-3 {
    background-color: #ffce00;
}

.fill-2 {
    background-color: #ff8622;
}

.fill-1 {
    background-color: #ff3722;
}
*/

.percent-label {
    width: 50px;
    text-align: right;
    color: #2d2f29;
    font-weight: 500;
    margin-left: 8px;
}

/* Right Content */
.reviews-main-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    max-width: 520px;
    /* Restrict width further */
}

.reviews-search-box {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border: 1px solid #dcdce6;
    border-radius: 24px;
    margin-bottom: 16px;
    transition: box-shadow 0.2s;
}

.reviews-search-box:focus-within {
    box-shadow: 0 0 0 3px rgba(11, 92, 255, 0.2);
    border-color: #0b5cff;
}

.reviews-search-box input {
    border: none;
    outline: none;
    font-size: 16px;
    flex: 1;
    color: #2d2f29;
}

.reviews-filter-buttons {
    display: flex;
    gap: 12px;
    margin-bottom: 32px;
}

.filter-pill {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: #ffffff;
    border: 1px solid #dcdce6;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 600;
    color: #2d2f29;
    cursor: pointer;
    transition: background-color 0.2s;
}

.filter-pill:hover {
    background-color: #f2f2f5;
}

.top-mentions {
    margin-bottom: 24px;
}

.mentions-title {
    font-size: 16px;
    font-weight: 700;
    color: #2d2f29;
    margin-bottom: 12px;
}

.mentions-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.mention-tag {
    padding: 8px 16px;
    background: #ffffff;
    border: 1px solid #dcdce6;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 600;
    color: #2d2f29;
    cursor: pointer;
    transition: background-color 0.2s;
}

.mention-tag:hover {
    background-color: #e5f1ff;
    border-color: #bcd7ff;
    color: #0b5cff;
}

/* Active Filter Chips */
.active-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 12px 14px;
    background: #E8F4FD;
    border: 1px solid #3754db;
    border-radius: 20px;
    color: #1E5B8C;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.active-filter-chip:hover {
    background: #D6EDFC;
    border-color: #9CCDE8;
}

.active-filter-chip svg {
    stroke: #1E5B8C;
    flex-shrink: 0;
}

/* Reset Filters Button */
.reset-filters-btn {
    background: transparent;
    border: none;
    color: #4A76A8;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    text-decoration: underline;
    padding: 6px 8px;
    transition: color 0.2s;
}

.reset-filters-btn:hover {
    color: #1E5B8C;
}

.active-filters-row {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}

.active-filter-pill {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    background: #e5f1ff;
    color: #0b5cff;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 600;
}

.close-filter {
    background: none;
    border: none;
    color: #0b5cff;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}

.reset-link {
    color: #0b5cff;
    font-weight: 600;
    font-size: 14px;
    text-decoration: underline;
}

.reviews-sidebar-custom {
    width: 340px !important;
    min-width: 340px !important;
    flex-shrink: 0;
    margin-left: -20px !important;
    position: sticky;
    top: 24px;
    /* Offset from top of viewport */
    align-self: flex-start;
    /* Important for flex items */
    z-index: 10;
    transition: top 0.3s ease;
}

/* Bottom Sidebar Link "How Trustpilot labels reviews" */
.tp-label-link {
    color: #2d2f29;
    text-decoration: underline;
    font-size: 14px;
    font-weight: 500;
    position: relative;
    display: inline-block;
    transition: color 0.2s ease, text-decoration 0.2s ease;
}

.tp-label-link:hover {
    color: #0000ff !important;
    text-decoration: none !important;
}

/* ==========================================
   FOOTER STYLES
   ========================================== */

.tp-footer {
    background-color: #1c1c1c;
    color: #ffffff;
    font-family: 'Inter', sans-serif;
    margin-top: 40px;
    /* Reduced white space */
    padding: 60px 0 80px;
    /* Reduced padding for height */
    width: 100%;
    margin-bottom: 0 !important;
    overflow: visible;
}

.tp-footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    overflow: visible;
}

/* --- Top Section --- */
.tp-footer-top {
    margin-bottom: 0px;
}

.tp-footer-logo {
    margin-bottom: 36px;
}

.tp-footer-logo svg {
    height: 32px;
    width: auto;
}

.tp-footer-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    /* 5 columns */
    gap: 32px;
    overflow: visible;
}

.tp-footer-col {
    position: relative;
    z-index: 10;
    overflow: visible;
}

.tp-footer-col h3 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #9ca3af;
}

.tp-footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative;
    /* Ensure it stays above App Store img */
    z-index: 5;
}

.tp-footer-col ul li {
    margin-bottom: 24px;
}

.tp-footer-col ul li a {
    color: #fcfcfc;
    text-decoration: none;
    font-size: 14px;
    transition: text-decoration 0.2s;
}

.tp-footer-col ul li a:hover {
    text-decoration: underline;
    color: #93c5fd;
}

/* --- Social Icons --- */
.tp-footer-social {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tp-footer-social a {
    display: flex;
    align-items: center;
    color: white;
    transition: opacity 0.2s;
}

.tp-footer-social a:hover {
    opacity: 0.8;
    color: #93c5fd;
}

.tp-footer-social svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

/* --- Country Selector --- */
.tp-country-selector {
    background: white;
    position: relative;
    border-radius: 8px;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    width: 240px !important;
    max-width: 240px !important;
    min-width: 240px !important;
    height: 51px;
    white-space: nowrap;
    overflow: visible;
    z-index: 150;
    flex-shrink: 0;
    box-sizing: border-box;
}

.tp-country-selector img {
    width: 40px;
    height: 27px;
    object-fit: cover;
    border-radius: 2px;
}

.tp-country-selector.active {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    margin-bottom: 0 !important;
    height: 51px !important;
}

/* --- Country Dropdown --- */
.tp-country-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    width: 240px !important;
    max-width: 240px !important;
    min-width: 240px !important;
    background: white;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: 8px 0;
    margin-top: 0;
    display: none;
    /* Hidden by default */
    max-height: 280px;
    /* Approx 5 items (56px each or similar) */
    overflow-y: auto;
    z-index: 200;
    box-sizing: border-box;
}

.tp-country-dropdown.active {
    display: block !important;
}

.tp-country-option {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    cursor: pointer;
    transition: background 0.1s;
}

.tp-country-option:hover {
    background-color: #f3f3f3;
}

.tp-country-option img {
    width: 24px !important;
    height: 16px !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 2px;
    display: block;
    flex-shrink: 0;
}

/* Bandera de Estados Unidos en el dropdown - más grande */
.tp-country-option img[src*="us-flag"] {
    width: 50px !important;
    height: 34px !important;
    background: transparent !important;
    mix-blend-mode: multiply;
    margin-left: -14px;
}

.tp-country-dropdown.active {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.tp-country-option span {
    color: #1c1c1c;
    font-weight: 500;
}

.tp-country-selector span {
    color: #1c1c1c;
    font-weight: 500;
    font-size: 16px;
    flex: 1;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tp-country-selector .chevron {
    width: 16px;
    height: 16px;
    color: #1c1c1c;
}

/* --- Bottom Section --- */
.tp-footer-bottom {
    display: flex;
    flex-direction: column;
    /* Stack vertically */
    align-items: flex-start;
    /* Align left */
    gap: 24px;
    margin-top: 0px;
    width: 100%;
}

.tp-footer-app-store img {
    height: 40px;
    width: auto;
    border-radius: 6px;
    border: 1px solid #454545;
}

.tp-footer-links {
    display: flex;
    gap: 48px;
    /* Even more space between words */
    flex-wrap: wrap;
    align-items: center;
    margin-top: -12px;
    /* Pull UP closer to grid */
    margin-bottom: 24px;
    /* Push copyright DOWN */
    order: 1;
    /* Links first */
    position: relative;
    z-index: 10;
}

.tp-footer-links a {
    color: #ffffff;
    font-size: 13px;
    text-decoration: none;
    font-weight: 500;
}

.tp-footer-links a:hover {
    text-decoration: underline !important;
    color: #93c5fd !important;
}

.tp-footer-copyright {
    font-size: 13px;
    color: #9ca3af;
    /* Gray */
    font-weight: 500;
    /* Rellenita */
    margin-top: 0px;
    order: 2;
    /* Copyright second */
}

/* Responsive */
@media (max-width: 1024px) {
    .tp-footer-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .tp-footer-grid {
        grid-template-columns: 1fr;
    }

    .tp-footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .tp-footer-links {
        flex-direction: column;
        gap: 12px;
    }

    .tp-footer-copyright {
        margin-top: 24px;
    }
}

/* ==========================================
   STICKY SCROLL HEADER
   ========================================== */
.sticky-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    transform: translateY(-100%);
    transition: transform 0.3s ease-in-out;
    border-bottom: 1px solid #e5e5e5;
}

.sticky-header.visible {
    transform: translateY(0);
}

.sticky-header-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 60px;
    /* Reduced height as requested */
}

/* Left Navigation */
.sticky-nav {
    display: flex;
    gap: 32px;
}

.sticky-nav a {
    color: #2d2f29;
    font-weight: 500;
    font-size: 15px;
    text-decoration: none;
    position: relative;
    padding: 20px 0;
    /* Adjusted for 60px height */
    display: flex;
    align-items: center;
    height: 100%;
}

.sticky-nav a:hover {
    color: #454545;
}

/* Right Actions */
.sticky-actions {
    display: flex;
    gap: 12px;
    align-items: center;
}



.sticky-visit-icon {
    width: 24px;
    height: 24px;
    object-fit: contain;
    /* Prevent stretching */
    /* Flow naturally in flex container */
    pointer-events: none;
}

.btn-sticky-review {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 24px;
    border: 1px solid #4256b6;
    border-radius: 24px;
    background: #4256b6;
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: background 0.2s;
}

.btn-sticky-review:hover {
    background: #4256b6;
    border-color: #4256b6;
    opacity: 0.7;
    text-decoration: none;
}

.btn-sticky-review svg,
.btn-sticky-visit svg {
    width: 16px;
    height: 16px;
}

/* ==========================================
   STICKY SCROLL HEADER
   ========================================== */
.sticky-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    transform: translateY(-100%);
    transition: transform 0.3s ease-in-out;
    border-bottom: 1px solid #e5e5e5;
}

.sticky-header.visible {
    transform: translateY(0);
}

.sticky-header-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 60px;
    /* Reduced height as requested */
}

/* Left Navigation */
.sticky-nav {
    display: flex;
    gap: 32px;
    height: 100%;
    /* Important for height of links */
}

.sticky-nav a {
    color: #2d2f29;
    font-weight: 500;
    font-size: 15px;
    text-decoration: none;
    position: relative;
    padding: 0;
    /* Removing padding, using flex align */
    display: flex;
    align-items: center;
    height: 100%;
    border-bottom: 3px solid transparent;
    /* Prepare for active border */
    transition: color 0.1s, border-color 0.1s;
}

.sticky-nav a.active {
    font-weight: 600;
    border-bottom: 3px solid #1c1c1c;
    /* Black bar for active state */
}

.sticky-nav a:hover {
    color: #454545;
}

/* Right Actions */
.sticky-actions {
    display: flex;
    gap: 12px;
    align-items: center;
}

.btn-sticky-visit {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px 4px 24px;
    border: 1px solid #3b5ace;
    border-radius: 24px;
    background: transparent;
    color: #3b5ace;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s;
}

.btn-sticky-visit:hover {
    background: #eff5ff;
    border-color: transparent;
    text-decoration: none;
    color: #1a1a1a;
}

.btn-sticky-review {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 24px;
    border: 1px solid #4256b6;
    border-radius: 24px;
    background: #4256b6;
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: background 0.2s;
}

.btn-sticky-review:hover {
    background: #004bd3;
    border-color: #004bd3;
}

.btn-sticky-review svg,
.btn-sticky-visit svg {
    width: 16px;
    height: 16px;
}

/* ==========================================
   REVIEW CARD STYLES (Restored)
   ========================================== */
.review-item {
    border-bottom: 1px solid #dcdce6;
    padding-bottom: 24px;
    margin-bottom: 24px;
    background-color: #fff;
    overflow: visible !important;
    /* Critical for star overlap */
    position: relative;
    z-index: 1;
    /* Ensure above background */
}

.review-item:last-child {
    border-bottom: none;
}

.review-item-header {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin-bottom: 12px;
}

.review-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 500;
    font-size: 16px;
    flex-shrink: 0;
}

.reviewer-name {
    font-family: 'TrustpilotReviews', 'Inter', sans-serif !important;
    font-weight: 700 !important;
    color: #2b2b2b !important;
    font-size: 14px !important;
    margin-bottom: 2px !important;
    -webkit-text-stroke: 0.3px #2b2b2b !important;
}

.reviewer-loc {
    color: #454554;
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.review-time {
    color: #454554;
    font-size: 14px;
    margin-left: auto;
}

.star-rating-static {
    display: flex;
    position: relative;
    height: 20px;
    /* Container height */
}

/* Ensure images don't get squashed globally */
.star-rating-static img {
    max-width: none !important;
}

.review-title {
    font-size: 16px;
    font-weight: 700;
    color: #2d2f29;
    margin: 8px 0 8px 0 !important;
    font-family: 'Inter', sans-serif;
}

.review-text {
    font-family: 'TrustpilotReviews', 'Inter', sans-serif !important;
    color: #2b2b2b !important;
    font-size: 16px !important;
    margin: 0 0 16px 0 !important;
    line-height: 24px !important;
    font-weight: 500 !important;
    letter-spacing: -0.2px !important;
    -webkit-text-stroke: 0.3px #2b2b2b !important;
}

.review-tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.review-actions {
    display: flex;
    gap: 24px;
    margin-top: 16px;
    align-items: center;
}

.review-actions button {
    background: none;
    border: none;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    color: #454554;
    font-weight: 600;
    font-size: 14px;
    font-family: 'Inter', sans-serif;
    transition: color 0.2s;
}

.review-actions button:hover {
    color: #2d2f29;
}

/* ==========================================
   REVIEW CARD STYLES (Restored)
   ========================================== */
.review-item {
    border-bottom: 1px solid #dcdce6;
    padding-bottom: 24px;
    margin-bottom: 24px;
    background-color: #fff;
    overflow: visible !important;
    /* Critical for star overlap */
    position: relative;
    z-index: 1;
    /* Ensure above background */
}

.review-item:last-child {
    border-bottom: none;
}

.review-item-header {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 12px;
}

.review-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 500;
    font-size: 16px;
    flex-shrink: 0;
}

.reviewer-name {
    font-family: 'TrustpilotReviews', 'Inter', sans-serif !important;
    font-weight: 700 !important;
    color: #2b2b2b !important;
    font-size: 14px !important;
    margin-bottom: 2px !important;
    -webkit-text-stroke: 0.3px #2b2b2b !important;
}

.reviewer-loc {
    color: #454554;
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.review-time {
    color: #454554;
    font-size: 14px;
    margin-left: auto;
}

.star-rating-static {
    display: flex;
    position: relative;
    height: 20px;
    /* Container height */
}

/* Ensure images don't get squashed globally */
.star-rating-static img {
    max-width: none !important;
}

.review-title {
    font-size: 16px;
    font-weight: 700;
    color: #2d2f29;
    margin: 0 0 8px 0;
    font-family: 'Inter', sans-serif;
}

.review-text {
    font-family: 'TrustpilotReviews', 'Inter', sans-serif !important;
    color: #2b2b2b !important;
    font-size: 16px !important;
    margin: 0 0 16px 0 !important;
    line-height: 24px !important;
    font-weight: 500 !important;
    letter-spacing: -0.2px !important;
    -webkit-text-stroke: 0.3px #2b2b2b !important;
}

.review-tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.review-actions {
    display: flex;
    gap: 24px;
    margin-top: 16px;
    align-items: center;
}

.review-actions button {
    background: none;
    border: none;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    color: #454554;
    font-weight: 600;
    font-size: 14px;
    font-family: 'Inter', sans-serif;
    transition: color 0.2s;
}

.review-actions button:hover {
    color: #2d2f29;
}

.flag-btn {
    margin-left: 0 !important;
}

/* Adjust sticky sidebar when header is visible */
/* Consolidated Sticky Behavior for Sidebar Components */
.sidebar-column,
.reviews-sidebar-custom,
.details-sidebar,
.trustscore-card,
.sticky-sidebar {
    transition: top 0.3s ease-in-out;
}

body.header-visible .sidebar-column,
body.header-visible .reviews-sidebar-custom,
body.header-visible .details-sidebar,
body.header-visible .trustscore-card,
body.header-visible .sticky-sidebar {
    top: 84px !important;
    /* 60px header + 24px gap */
}

/* Final Layout Fix for Company Details */
/* Removed duplicate - using main definition above */

/* Sticky behavior rule moved and consolidated above */

/* Carousel Navigation Styles */
.carousel-wrapper {
    position: relative;
    /* Ensure buttons align relative to this */
}

.reviews-carousel {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
    gap: 16px;
    /* Assuming existing gap, checking to be sure */
    padding: 4px;
    /* Space for shadows if needed */
}

.reviews-carousel::-webkit-scrollbar {
    display: none;
}

.carousel-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #e5f1ff;
    /* Light blue background */
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: all 0.2s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    /* Subtle shadow per image */
    opacity: 0;
    /* Hidden by default or managed by JS */
    pointer-events: none;
    /* Prevent clicks when hidden */
    color: #0b5cff;
    /* Blue icon color */
}

/* Specific button positioning */
.carousel-nav-btn.prev-btn {
    left: -20px;
    /* Overlap slightly */
}

.carousel-nav-btn.next-btn {
    right: -20px;
    /* Overlap slightly */
    opacity: 1;
    /* Visible by default usually */
    pointer-events: auto;
}

.carousel-nav-btn:hover {
    background-color: #0b5cff;
    color: white;
    transform: translateY(-50%) scale(1.1);
}

.carousel-nav-btn.visible {
    opacity: 1;
    pointer-events: auto;
}

.carousel-arrow-icon {
    width: 20px;
    height: 20px;
}

/* Carousel Navigation Styles */
.carousel-wrapper {
    position: relative;
    /* Ensure buttons align relative to this */
}

.reviews-carousel {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
    gap: 16px;
    /* Assuming existing gap, checking to be sure */
    padding: 4px;
    /* Space for shadows if needed */
}

.reviews-carousel::-webkit-scrollbar {
    display: none;
}

.carousel-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #e5f1ff;
    /* Light blue background */
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: all 0.2s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    /* Subtle shadow per image */
    opacity: 0;
    /* Hidden by default or managed by JS */
    pointer-events: none;
    /* Prevent clicks when hidden */
    color: #0b5cff;
    /* Blue icon color */
}

/* Specific button positioning */
.carousel-nav-btn.prev-btn {
    left: -20px;
    /* Overlap slightly */
}

.carousel-nav-btn.next-btn {
    right: -20px;
    /* Overlap slightly */
    opacity: 1;
    /* Visible by default usually */
    pointer-events: auto;
}

.carousel-nav-btn:hover {
    background-color: #0b5cff;
    color: white;
    transform: translateY(-50%) scale(1.1);
}

.carousel-nav-btn.visible {
    opacity: 1;
    pointer-events: auto;
}

.carousel-arrow-icon {
    width: 20px;
    height: 20px;
}

/* Carousel Navigation Styles */
.carousel-wrapper {
    position: relative;
    /* Ensure buttons align relative to this */
}

.reviews-carousel {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
    gap: 16px;
    /* Assuming existing gap, checking to be sure */
    padding: 4px;
    /* Space for shadows if needed */
}

.reviews-carousel::-webkit-scrollbar {
    display: none;
}

.carousel-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #e5f1ff;
    /* Light blue background */
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 100;
    transition: all 0.2s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    /* Subtle shadow per image */
    opacity: 0;
    /* Hidden by default or managed by JS */
    pointer-events: none;
    /* Prevent clicks when hidden */
    color: #0b5cff;
    /* Blue icon color */
}

/* Specific button positioning */
.carousel-nav-btn.prev-btn {
    left: -20px;
    /* Overlap slightly */
}

.carousel-nav-btn.next-btn {
    right: -20px;
    /* Overlap slightly */
    opacity: 1;
    /* Visible by default usually */
    pointer-events: auto;
}

.carousel-nav-btn:hover {
    background-color: #0b5cff;
    color: white;
    transform: translateY(-50%) scale(1.1);
}

.carousel-nav-btn.visible {
    opacity: 1;
    pointer-events: auto;
}

.carousel-arrow-icon {
    width: 20px;
    height: 20px;
}

/* ==========================================
   PAGE BACKGROUND WRAPPER (Rounded Effect)
   ========================================== */
body {
    background-color: #1c1c1c;
    /* Background oscuro del body */
}

.page-background-wrapper {
    background-color: #ffffff;
    /* Fondo claro general */
    width: 100%;
    min-height: 100vh;
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    margin-top: -6px;
    /* Sube menos sobre el breadcrumb */
    position: relative;
    z-index: 10;
    padding-top: 32px;
    padding-bottom: 0;
}

.main-content {
    padding-top: 0 !important;
    /* Quitar padding superior duplicado */
}

/* Force Carousel Overrides */
.review-cards-track .avatar {
    width: 44px !important;
    height: 44px !important;
    font-size: 15px !important;
}

.review-cards-track .user-name {
    font-size: 15px !important;
}

.review-cards-track .review-date {
    font-size: 13px !important;
}

.review-cards-track .card-content {
    margin-top: -10px !important;
}

.review-cards-track .review-card {
    padding-bottom: 8px !important;
}

.review-cards-track .card-content {
    margin-bottom: 0px !important;
}

.review-cards-track {
    align-items: flex-start !important;
}

/* Carousel review body - JS handles truncation */
.review-cards-track .review-body {
    overflow: hidden;
}

/* Remove white space below footer */
/* html, body {
    overflow-x: hidden;
} */

.tp-footer {
    position: relative;
    z-index: 1;
}

/* -------------------------------------------------------------------------- */
/* Pagination Styles */
/* -------------------------------------------------------------------------- */
.pagination-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 40px;
    font-family: 'Inter', sans-serif;
}

.pagination-btn {
    background: #fff;
    border: 1px solid #c5c5c5;
    color: #2d2f29;
    font-size: 14px;
    font-weight: 600;
    padding: 10px 16px;
    cursor: pointer;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    transition: background-color 0.2s, color 0.2s;
}

/* Remove double borders */
.pagination-btn+.pagination-btn,
.pagination-btn+.pagination-ellipsis,
.pagination-ellipsis+.pagination-btn {
    border-left: none;
}

/* First and Last rounding */
.pagination-btn:first-child {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    min-width: 80px;
    /* Previous is wider */
    color: #a6a6a6;
    /* Default gray for Previous text in image looks light */
}

.pagination-btn:first-child:not([disabled]) {
    color: #2d2f29;
}

.pagination-btn:last-child {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    min-width: 90px;
    color: #0b5cff;
    /* "Next page" is blue */
}

/* Active State */
.pagination-btn.active {
    background-color: #e0ebff;
    /* Light blue var */
    color: #0b5cff;
    border-color: #c5c5c5;
    /* Keep border consistency */
    z-index: 1;
    /* Bring over adjacent borders */
}

/* Disabled State */
.pagination-btn[disabled] {
    cursor: not-allowed;
    color: #ccc;
    background-color: #fff;
}

/* Hover */
.pagination-btn:not([disabled]):hover {
    background-color: #f2f2f5;
}

.pagination-btn.active:hover {
    background-color: #d1e0ff;
}

.pagination-ellipsis {
    border: 1px solid #c5c5c5;
    border-left: none;
    padding: 10px 12px;
    font-size: 14px;
    color: #2d2f29;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ==========================================
   MOBILE RESPONSIVE OVERRIDES
   ========================================== */

/* ----------------------------------------
   GLOBAL MOBILE OVERFLOW FIX
   ---------------------------------------- */
@media (max-width: 768px) {

    html,
    body {
        overflow-x: hidden !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .page-background-wrapper,
    .main-content,
    .main-header,
    .breadcrumb,
    .tp-footer,
    .sticky-header {
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }
}

/* ----------------------------------------
   TABLET BREAKPOINT (max-width: 1024px)
   ---------------------------------------- */
@media (max-width: 1024px) {
    .content-wrapper {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .sidebar-column {
        order: -1;
        width: 100%;
    }

    .trustscore-card {
        max-width: 100%;
    }

    .all-reviews-container {
        flex-direction: column;
    }

    .reviews-sidebar-custom {
        position: static !important;
        width: 100% !important;
        min-width: 100% !important;
        margin-left: 0 !important;
        margin-bottom: 24px;
    }

    .reviews-main-content {
        width: 100%;
    }
}

/* Hide share button on desktop */
.btn-sticky-share {
    display: none;
}

/* App Store badge size for desktop */
.appstore-badge-link {
    position: relative;
    display: inline-block;
}

.appstore-badge-link img {
    height: 180px !important;
    width: auto;
    position: absolute;
    left: -5px;
    top: -90px;
}

/* ----------------------------------------
   MOBILE BREAKPOINT (max-width: 768px)
   ---------------------------------------- */
@media (max-width: 768px) {

    /* === HEADER MOBILE === */
    .main-header {
        height: auto;
        min-height: 52px;
        padding: 8px 0;
    }

    .header-inner {
        flex-wrap: wrap;
        padding: 0 16px;
        gap: 8px;
    }

    .header-left {
        order: 1;
        flex: 0 0 auto;
    }

    .logo {
        margin-left: 0;
        margin-top: 0;
    }

    .logo-star-img {
        width: 28px;
        height: 28px;
        margin-top: 0;
    }

    .logo-text {
        font-size: 18px;
    }

    .header-center {
        order: 3;
        flex: 1 0 100%;
        max-width: 100%;
        margin-left: 0;
        margin-top: 8px;
    }

    .search-container {
        width: 100%;
        margin-top: 0;
    }

    .search-input {
        height: 40px;
        font-size: 14px;
        border-radius: 8px;
    }

    .header-right {
        order: 2;
        margin-left: auto;
        margin-right: 0;
        gap: 12px;
    }

    .header-nav,
    .notification-btn,
    .login-link,
    .btn-business {
        display: none;
    }

    /* Hide search bar on mobile */
    .header-center {
        display: none !important;
    }

    /* Show Mobile Navigation Icons */
    .mobile-nav-icons {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .mobile-icon-btn {
        background: none;
        border: none;
        padding: 4px;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .mobile-icon-btn svg {
        stroke: #4256b6;
    }

    /* === BREADCRUMB MOBILE === */
    .breadcrumb-desktop {
        display: none !important;
    }

    .breadcrumb-mobile {
        display: block !important;
    }

    .breadcrumb-ellipsis {
        color: #4256b6;
        font-weight: 800;
        font-size: 14px;
        letter-spacing: 2px;
        margin-right: 8px;
    }

    .breadcrumb {
        padding: 8px 0 12px 0;
        overflow-x: visible;
        white-space: nowrap;
    }

    .breadcrumb-inner {
        font-size: 11px;
        padding: 0 16px;
        display: inline-block;
        min-width: max-content;
    }

    /* === PAGE WRAPPER MOBILE === */
    .page-background-wrapper {
        border-top-left-radius: 12px;
        border-top-right-radius: 12px;
        padding-top: 20px;
    }

    /* === MAIN CONTENT MOBILE === */
    .main-content {
        padding: 16px;
        padding-top: 0;
    }

    /* === CONTENT WRAPPER MOBILE === */
    .content-wrapper {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px;
        grid-template-columns: none !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* === MAIN COLUMN MOBILE - Fix fixed width === */
    .main-column {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* === COMPANY SECTION MOBILE === */
    .company-section {
        margin-left: 0;
        gap: 16px;
        width: 100% !important;
        max-width: 100% !important;
    }

    .company-profile {
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
        width: 100% !important;
        max-width: 100% !important;
    }

    .company-logo {
        width: 90px;
        height: 90px;
    }

    .company-info {
        width: 100%;
    }

    .profile-badge.claimed {
        font-size: 11px;
        padding: 2px 6px;
        margin-bottom: 4px;
    }

    .company-name {
        font-size: 22px;
        line-height: 1.2;
        margin-bottom: 4px;
    }

    .company-meta {
        flex-wrap: wrap;
        gap: 4px;
        margin-bottom: 8px;
    }

    .reviews-count {
        font-size: 14px;
    }


    .trust-score-inline {
        font-size: 14px;
    }

    .company-category {
        font-size: 13px;
        margin-bottom: 16px;
    }

    .company-actions {
        flex-direction: column;
        width: 100%;
        gap: 10px;
    }

    .btn-write-review {
        width: 100%;
        justify-content: center;
        padding: 12px 20px;
        font-size: 14px;
    }

    /* Hide original Visit Website button in mobile */
    .company-actions .btn-visit-website {
        display: none !important;
    }

    /* Mobile Visit Website Button - Top Right Corner */
    .btn-visit-website-mobile {
        display: flex !important;
        position: absolute;
        top: 16px;
        right: 16px;
        background: #fff;
        border: 1px solid #4256b6;
        color: #4256b6;
        font-size: 13px;
        font-weight: 500;
        padding: 8px 12px;
        border-radius: 24px;
        text-decoration: none;
        align-items: center;
        justify-content: center;
        gap: 3px;
        z-index: 10;
        height: 37px;
        box-sizing: border-box;
        transition: background-color 0.2s, border-color 0.2s;
    }

    .btn-visit-website-mobile:hover,
    .btn-visit-website-mobile:active {
        background: #e3efff !important;
        border-color: transparent !important;
    }



    /* === TRANSPARENCY NOTICE MOBILE === */
    .section-divider {
        margin: 0 -16px;
        max-width: calc(100% + 32px);
    }

    .transparency-notice {
        max-width: 100%;
        padding: 12px 12px 12px 48px;
        border-radius: 8px;
    }

    .shield-icon {
        transform: scale(0.7) translate(-6px, 5px);
    }

    .transparency-notice p {
        font-size: 12px;
    }

    /* === REVIEW SUMMARY MOBILE === */
    .review-summary {
        padding: 16px 0 0 0;
        max-width: 100%;
    }

    .summary-title {
        font-size: 18px;
    }

    .summary-subtitle {
        font-size: 14px;
    }

    .summary-text {
        font-size: 14px;
        line-height: 1.5;
    }

    /* === BASED REVIEWS CAROUSEL MOBILE === */
    .based-reviews {
        margin-top: 12px;
    }

    .based-title {
        font-size: 16px !important;
    }

    .carousel-container {
        margin-left: -16px;
        margin-right: -16px;
        padding-left: 16px;
        width: calc(100% + 32px);
    }

    .carousel-container::after {
        width: 60px;
    }

    .carousel-nav-btn {
        display: none !important;
    }

    .review-cards-track {
        gap: 12px;
        padding-right: 16px;
        /* Enable horizontal scroll on mobile */
        overflow-x: scroll !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-x !important;
        scroll-snap-type: x mandatory;
        flex-wrap: nowrap !important;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .review-cards-track::-webkit-scrollbar {
        display: none;
    }

    .review-cards-track .review-card {
        min-width: 260px !important;
        max-width: 280px;
        padding: 14px !important;
        padding-bottom: 14px !important;
        height: 260px !important;
    }

    .review-cards-track .avatar {
        width: 44px !important;
        height: 44px !important;
        font-size: 14px !important;
    }

    .review-cards-track .user-name {
        font-size: 13px !important;
    }

    .review-cards-track .review-date {
        font-size: 11px !important;
    }

    .review-cards-track .card-content {
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    .review-cards-track .review-body {
        font-family: 'TrustpilotReviews', 'Inter', sans-serif !important;
        font-size: 16px !important;
        line-height: 24px !important;
        color: #2b2b2b !important;
        font-weight: 500 !important;
        letter-spacing: -0.2px !important;
        -webkit-text-stroke: 0.3px #2b2b2b !important;
        height: auto !important;
        min-height: auto !important;
        -webkit-line-clamp: unset !important;
        line-clamp: unset !important;
        display: block !important;
        overflow: visible !important;
    }

    .review-cards-track .see-more {
        display: inline !important;
        color: #5468FF !important;
    }

    /*
    .review-cards-track .star-icon-row img {
        height: 80px !important;
    }
    */

    .review-cards-track .card-footer {
        padding-top: 8px;
    }

    .review-cards-track .footer-btn {
        font-size: 12px;
        font-weight: 500;
        padding: 4px 8px;
    }

    /* === SEE ALL REVIEWS BUTTON MOBILE === */
    .see-all-reviews-container {
        transform: none !important;
        padding-left: 0 !important;
        margin-top: 16px !important;
        justify-content: center !important;
    }

    .see-all-reviews-btn {
        font-size: 14px;
        padding: 10px 16px;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* === COMPANY DETAILS MOBILE === */
    .company-details-container {
        flex-direction: column !important;
        gap: 16px !important;
        padding: 16px 0 !important;
    }

    .details-heading {
        font-size: 18px;
        font-weight: 500;
    }

    .contact-text,
    .contact-link {
        font-size: 14px !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
    }

    .contact-info-list {
        max-width: 100% !important;
        overflow: hidden;
    }

    /* === SIDEBAR COLUMN MOBILE === */
    .sidebar-column {
        order: 2;
        width: 100%;
    }

    .trustscore-card {
        border-radius: 12px;
    }

    .ts-card-top {
        padding: 16px;
    }

    .ts-score-display {
        font-size: 48px;
    }

    .ts-rating-label {
        font-size: 16px;
    }

    .ts-stars-display img {
        height: 100px !important;
        top: -42px !important;
    }

    .ts-reviews-count {
        font-size: 12px !important;
    }

    .ts-filter-row {
        gap: 8px;
    }

    .ts-star-label {
        font-size: 12px;
        min-width: 45px;
    }

    .reply-info-box {
        padding: 14px;
    }

    .reply-info-box .reply-text {
        font-size: 13px;
    }

    .company-trustpilot-link {
        padding: 14px;
    }

    .company-trustpilot-link a {
        font-size: 13px;
    }

    /* === ALL REVIEWS SECTION MOBILE === */
    .bottom-content-wrapper {
        padding: 24px 16px 0 16px !important;
    }

    .all-reviews-container {
        display: flex !important;
        flex-direction: column !important;
    }

    .reviews-sidebar-custom {
        display: none !important;
    }

    .reviews-main-content {
        width: 100% !important;
        padding: 0;
    }

    .search-bar-wrapper {
        max-width: 100%;
        padding: 10px 16px;
        margin-bottom: 16px;
    }

    .search-bar-wrapper input {
        font-size: 14px;
    }

    .reviews-filter-buttons {
        gap: 8px;
        margin-bottom: 12px !important;
    }

    .filter-pill {
        padding: 8px 12px;
        font-size: 13px;
    }

    /* === TOP MENTIONS MOBILE === */
    .top-mentions {
        margin-bottom: 12px;
    }

    .mentions-title {
        font-size: 15px !important;
        margin-bottom: 10px !important;
    }

    .mentions-list {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
    }

    .mention-tag {
        font-size: 12px;
        padding: 6px 10px;
    }

    /* === REVIEWS LIST MOBILE === */
    .reviews-list-container .review-card,
    .reviews-list-container .review-item {
        padding: 16px;
        margin-bottom: 12px;
    }

    .reviews-list-container .avatar {
        width: 40px;
        height: 40px;
        font-size: 14px;
    }

    .reviews-list-container .user-name {
        font-size: 14px;
    }

    .reviews-list-container .review-date {
        font-size: 12px;
    }

    .reviews-list-container .review-title {
        font-size: 15px;
    }

    .reviews-list-container .review-body {
        font-family: 'TrustpilotReviews', 'Inter', sans-serif !important;
        font-size: 16px !important;
        line-height: 24px !important;
        color: #2b2b2b !important;
        font-weight: 500 !important;
        letter-spacing: -0.2px !important;
        -webkit-text-stroke: 0.3px #2b2b2b !important;
    }

    /* === PAGINATION MOBILE === */
    .pagination-container {
        flex-wrap: wrap;
        gap: 4px;
        margin-top: 24px;
    }

    .pagination-btn {
        padding: 8px 12px;
        font-size: 13px;
        min-width: 36px;
    }

    .pagination-btn:first-child,
    .pagination-btn:last-child {
        min-width: 70px;
    }

    /* === SEPARATOR MOBILE === */
    #reviews-start-anchor {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    /* === FOOTER MOBILE === */
    .tp-footer {
        padding-top: 32px;
    }

    .tp-footer-container {
        padding: 0 16px;
    }

    .tp-footer-top {
        flex-direction: column;
        gap: 24px;
    }

    .tp-footer-logo a {
        justify-content: flex-start;
    }

    .tp-footer-logo span {
        font-size: 20px !important;
    }

    .tp-footer-logo img {
        height: 62px !important;
        width: 62px !important;
    }

    .tp-footer-logo>a>div {
        width: 32px !important;
        height: 32px !important;
        overflow: visible !important;
    }

    .tp-footer-language-section {
        margin-top: 24px;
        margin-bottom: 32px;
    }

    .tp-footer-language-section h3 {
        color: white;
        font-size: 14px;
        font-weight: 600;
        margin-bottom: 12px;
    }

    .tp-footer-grid {
        grid-template-columns: 1fr !important;
        gap: 16px;
    }

    .tp-footer-col {
        position: static !important;
        margin-bottom: 0 !important;
    }

    .tp-footer-col-after-appstore {
        margin-top: -35px !important;
    }

    .tp-footer-col h3 {
        font-size: 15px;
        margin-bottom: 12px;
        margin-top: 8px;
    }

    .tp-footer-section-spacing {
        margin-top: 24px !important;
    }

    .tp-footer-col ul li {
        margin-bottom: 16px;
    }

    .tp-footer-col ul {
        margin-bottom: 8px !important;
        padding-bottom: 0 !important;
    }

    .tp-footer-col ul li a {
        font-size: 13px;
    }

    /* App Store Badge Mobile - disabled conflicting styles */
    /*
    .tp-footer-col a[href*="apple.com"] {
        position: relative !important;
        left: -6px !important;
        margin-top: -40px !important;
        margin-bottom: -75px !important;
        display: inline-block !important;
        z-index: 1 !important;
    }

    .tp-footer-col a[href*="apple.com"] img {
        height: 155px !important;
        width: auto !important;
    }
    */

    .tp-footer-social {
        gap: 16px;
    }

    .tp-footer-social a svg {
        width: 20px;
        height: 20px;
    }

    /* App Store badge in mobile footer */
    .appstore-badge-link {
        display: block !important;
        margin-top: 50px;
        margin-bottom: 80px;
    }

    .appstore-badge-link img {
        height: 150px !important;
        width: auto !important;
    }

    .tp-country-selector {
        width: 100%;
        max-width: 100%;
        position: relative;
    }

    /* Mobile dropdown fixes - proper z-index and scroll */
    .tp-country-dropdown {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        background: white !important;
        z-index: 9999 !important;
        max-height: 250px !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        border-radius: 8px;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
        margin-top: 4px;
    }

    .tp-country-dropdown.active {
        display: block !important;
    }

    /* Ensure footer parent doesn't clip the dropdown */
    .tp-footer-col-country {
        position: relative;
        z-index: 100;
        overflow: visible !important;
    }

    /* Move country selector right below Trustpilot logo on mobile */
    .tp-footer-col-country {
        order: -1 !important;
        margin-top: -10px !important;
        margin-bottom: 20px !important;
    }

    .tp-footer-col-country h3 {
        margin-top: 0 !important;
    }

    .tp-footer-grid {
        display: flex !important;
        flex-direction: column !important;
    }

    .tp-footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        padding: 24px 0;
    }

    .tp-footer-copyright {
        font-size: 12px;
        margin-top: 0 !important;
        order: 2;
    }

    .tp-footer-links {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        order: 1;
    }

    .tp-footer-links a {
        font-size: 13px;
    }

    /* === STICKY HEADER MOBILE === */
    .sticky-header-container {
        padding: 0 12px;
        height: 50px;
    }

    .sticky-nav {
        gap: 16px;
    }

    .sticky-nav a {
        font-size: 13px;
        padding: 15px 0;
    }

    .sticky-actions {
        gap: 12px;
    }

    .btn-sticky-visit {
        display: none;
    }

    .btn-sticky-circle {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        text-decoration: none;
        transition: all 0.2s ease;
    }

    .btn-sticky-share {
        display: flex !important;
        background: transparent;
        border: 1.5px solid #4256b6;
    }

    .btn-sticky-share svg {
        stroke: #4256b6;
    }

    .btn-sticky-share:hover {
        background: rgba(66, 86, 182, 0.1);
    }

    .btn-sticky-write {
        background: #4256b6;
        border: none;
    }

    .btn-sticky-write svg {
        stroke: #ffffff;
    }

    .btn-sticky-write:hover {
        background: #354aa0;
    }

    /* === MOBILE TRUSTSCORE CARD (768px) === */
    .trustscore-card-mobile {
        display: block !important;
        background: #fff;
        border-radius: 12px;
        padding: 0;
        margin-top: 16px;
        width: 100%;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
        border: 1px solid #e5e7eb;
        overflow: hidden;
    }

    .ts-card-top-mobile {
        display: flex;
        gap: 16px;
        align-items: flex-start;
        padding: 16px;
    }

    .ts-summary-side-mobile {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        min-width: 100px;
    }

    .ts-score-display-mobile {
        font-size: 36px;
        font-weight: 700;
        color: #191919;
        line-height: 1;
    }

    .ts-rating-label-mobile {
        font-size: 14px;
        font-weight: 600;
        color: #191919;
        margin-top: 2px;
    }

    .ts-stars-display-mobile {
        position: relative;
        height: 24px;
        margin-top: 4px;
    }

    .ts-stars-display-mobile img {
        height: 110px;
        width: auto;
        position: absolute;
        top: -43px;
        left: -5px;
    }

    .ts-reviews-count-mobile {
        font-size: 12px;
        color: #4a4a4a;
        margin-top: 4px;
    }

    .ts-filters-side-mobile {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .ts-filter-row-mobile {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .ts-star-label-mobile {
        font-size: 11px;
        color: #191919;
        min-width: 38px;
    }

    .ts-bar-container-mobile {
        flex: 1;
        height: 8px;
        background: #e5e7eb;
        border-radius: 4px;
        overflow: hidden;
    }

    .ts-bar-fill-mobile {
        height: 100%;
        border-radius: 4px;
    }

    .ts-bar-fill-mobile.fill-5 {
        background: #00b67a;
    }

    .ts-bar-fill-mobile.fill-4 {
        background: #73cf11;
    }

    .ts-bar-fill-mobile.fill-3 {
        background: #ffce00;
    }

    .ts-bar-fill-mobile.fill-2 {
        background: #ff9800;
    }

    .ts-bar-fill-mobile.fill-1 {
        background: #ff3b30;
    }

    .ts-card-footer-mobile {
        border-top: 1px solid #e5e7eb;
        padding: 12px 16px;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
    }

    .ts-calc-link-mobile {
        font-size: 14px;
        color: #6b7280;
        text-decoration: underline;
        font-weight: 500;
        text-align: center;
        display: block;
        margin: 0 auto;
    }

    .ts-calc-link-mobile:hover {
        color: #0000ff;
        text-decoration: underline;
    }

    /* Reply Info Mobile */
    .reply-info-mobile {
        display: flex !important;
        align-items: flex-start;
        gap: 12px;
        margin-top: 16px;
        padding: 0;
    }

    .reply-icon-mobile {
        flex-shrink: 0;
        width: 44px;
        height: 44px;
        background-color: #f3f3f3;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .reply-text-mobile {
        flex: 1;
        font-size: 14px;
        font-weight: 500;
        color: #191919;
        line-height: 1.5;
        padding-top: 10px;
    }

    /* Company Trustpilot Link Mobile */
    .company-trustpilot-link-mobile {
        margin-top: 0px;
        text-align: center;
        padding-left: 10px;
    }

    .company-trustpilot-link-mobile a {
        display: inline-flex;
        align-items: center;
        flex-direction: row-reverse;
        gap: 8px;
        font-size: 14px;
        font-weight: 500;
        color: #191919;
        text-decoration: underline;
        position: relative;
    }

    .company-trustpilot-link-mobile a:hover {
        color: #0000ff;
    }

    .external-link-icon-mobile {
        width: 32px;
        height: 32px;
        object-fit: contain;
        filter: brightness(0) saturate(100%) invert(9%) sepia(7%) saturate(418%) hue-rotate(202deg) brightness(98%) contrast(91%);
    }

    /* Hide sidebar TrustScore card on mobile */
    .sidebar-column .trustscore-card {
        display: none !important;
    }

    /* Show mobile reply info and company link */
    .reply-info-mobile {
        display: flex !important;
    }

    .company-trustpilot-link-mobile {
        display: block !important;
    }

    /* Hide desktop versions */
    .sidebar-column .reply-info-box,
    .sidebar-column .company-trustpilot-link {
        display: none !important;
    }

    /* === MOBILE SECTION DIVIDER (768px) === */
    .mobile-section-divider {
        display: block !important;
        border: none;
        border-top: 1px solid #dcdce6;
        margin: -5px 0 0 0;
        width: 100%;
    }

    /* Reduce space above Contact Info on mobile */
    .reviews-bottom-divider {
        margin-top: 30px !important;
        margin-bottom: 0px !important;
    }

    #about-section,
    .company-details-container {
        padding-top: 0px !important;
        margin-top: 0 !important;
    }

    .details-sidebar {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    /* Move 4.9 and info icon to the left on mobile */
    .trust-score-inline {
        margin-left: -5px !important;
        position: relative;
        top: -1px;
    }

    .info-icon {
        margin-left: 2px !important;
        position: relative;
        top: 1px;
    }

    /* === MOBILE ALL REVIEWS SECTION (768px) === */
    .all-reviews-mobile-section {
        display: block !important;
        padding: 16px 16px 0px 16px;
        background: #fff;
    }

    /* We perform check on reviews notice */
    .mobile-reviews-check-notice,
    .reviews-check-notice-mobile {
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: 6px;
        padding: 0;
        margin-top: -10px;
        margin-bottom: -45px;
    }

    .check-notice-text {
        font-size: 13px;
        color: #6b7280;
        font-weight: 400;
    }

    .check-notice-icon {
        flex-shrink: 0;
    }

    .mobile-reviews-header {
        margin-bottom: 20px;
    }

    .mobile-rating-display {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-top: -8px;
        margin-bottom: 20px;
        position: relative;
        padding-left: 40px;
    }

    .mobile-star-icon {
        width: 80px;
        height: 80px;
        object-fit: contain;
        position: absolute;
        left: -22px;
        top: 50%;
        transform: translateY(-52.5%);
        pointer-events: none;
    }

    .mobile-rating-score {
        font-size: 28px;
        font-weight: 700;
        color: #191919;
    }

    .mobile-info-icon {
        flex-shrink: 0;
    }

    .mobile-all-reviews-title {
        font-size: 18px;
        font-weight: 500;
        color: #191919;
        margin: 0 0 8px 0;
    }

    .mobile-reviews-meta {
        font-size: 15px;
        color: #6b7280;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .bullet-mobile {
        color: #6b7280;
    }

    .mobile-write-review-link {
        color: #4256b6;
        text-decoration: none;
        font-weight: 500;
    }

    .mobile-write-review-link:hover {
        text-decoration: underline;
    }

    .mobile-rating-filters-card {
        background: #fff;
        border: 1px solid #e5e7eb;
        border-radius: 16px;
        padding: 16px;
        margin-bottom: 16px;
    }

    /* Mobile search box */
    .mobile-search-box {
        margin-top: 20px;
    }

    .mobile-rating-filter-row {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 10px 0;
        cursor: pointer;
    }

    .mobile-filter-checkbox {
        width: 22px;
        height: 22px;
        border: 1px solid #6b7280;
        border-radius: 6px;
        cursor: pointer;
        appearance: none;
        flex-shrink: 0;
        background-color: #fff;
        transition: all 0.2s ease;
    }

    .mobile-filter-checkbox:checked {
        background-color: #e0ebff !important;
        border-color: #3754db !important;
        position: relative;
    }

    .mobile-filter-checkbox:checked::after {
        content: '';
        position: absolute;
        left: 7px;
        top: 3px;
        width: 4px;
        height: 9px;
        border: solid #3754db;
        border-width: 0 1.5px 1.5px 0;
        transform: rotate(45deg);
    }

    .mobile-star-label {
        font-size: 14px;
        color: #191919;
        min-width: 50px;
        font-weight: 500;
    }

    .mobile-progress-bar {
        flex: 1;
        height: 10px;
        background: #e5e7eb;
        border-radius: 5px;
        overflow: hidden;
        transition: background-color 0.2s ease;
    }

    .mobile-progress-fill {
        height: 100%;
        border-radius: 5px;
        transition: background-color 0.2s ease;
    }

    /* Hover effect on rows */
    .mobile-rating-filter-row:hover .mobile-progress-fill {
        opacity: 0.8;
    }

    /* Change bar color when checkbox is checked - 5 star */
    .mobile-rating-filter-row:has(#mobile-5star:checked) .mobile-progress-fill {
        background: #00b67a !important;
    }

    .mobile-rating-filter-row:has(#mobile-5star:hover) .mobile-progress-fill {
        background: #00b67a !important;
        opacity: 0.8;
    }

    /* Change bar color when checkbox is checked - 4 star */
    .mobile-rating-filter-row:has(#mobile-4star:checked) .mobile-progress-fill {
        background: #73cf11 !important;
    }

    .mobile-rating-filter-row:has(#mobile-4star:hover) .mobile-progress-fill {
        background: #73cf11 !important;
        opacity: 0.8;
    }

    /* Change bar color when checkbox is checked - 3 star */
    .mobile-rating-filter-row:has(#mobile-3star:checked) .mobile-progress-fill {
        background: #ffce00 !important;
    }

    .mobile-rating-filter-row:has(#mobile-3star:hover) .mobile-progress-fill {
        background: #ffce00 !important;
        opacity: 0.8;
    }

    /* Change bar color when checkbox is checked - 2 star */
    .mobile-rating-filter-row:has(#mobile-2star:checked) .mobile-progress-fill {
        background: #ff8622 !important;
    }

    .mobile-rating-filter-row:has(#mobile-2star:hover) .mobile-progress-fill {
        background: #ff8622 !important;
        opacity: 0.8;
    }

    /* Change bar color when checkbox is checked - 1 star */
    .mobile-rating-filter-row:has(#mobile-1star:checked) .mobile-progress-fill {
        background: #ff3722 !important;
    }

    .mobile-rating-filter-row:has(#mobile-1star:hover) .mobile-progress-fill {
        background: #ff3722 !important;
        opacity: 0.8;
    }

    .mobile-percent {
        font-size: 14px;
        color: #191919;
        min-width: 40px;
        text-align: right;
        font-weight: 500;
    }

    .mobile-search-box {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 14px 16px;
        border: 1px solid #d1d5db;
        border-radius: 50px;
        margin-bottom: 12px;
    }

    .mobile-search-box input {
        border: none;
        outline: none;
        flex: 1;
        font-size: 15px;
        color: #191919;
    }

    .mobile-search-box input::placeholder {
        color: #9ca3af;
    }

    .mobile-filter-buttons-row {
        display: inline-flex;
        gap: 6px;
        margin-bottom: 12px;
        align-items: center;
    }

    .mobile-filter-btn {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 10px 16px;
        background: #fff;
        border: 1px solid #d1d5db;
        border-radius: 50px;
        font-size: 14px;
        font-weight: 500;
        color: #191919;
        cursor: pointer;
        white-space: nowrap;
        flex-shrink: 0;
    }

    .mobile-sort-btn {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 10px 16px;
        background: #fff;
        border: 1px solid #d1d5db;
        border-radius: 50px;
        font-size: 14px;
        font-weight: 500;
        color: #191919;
        cursor: pointer;
        white-space: nowrap;
        flex-shrink: 0;
        margin-left: 0;
    }

    .mobile-sort-btn {
        margin-left: auto;
    }

    .mobile-top-mentions {
        margin-bottom: 0px;
    }

    .mobile-mentions-title {
        font-size: 16px;
        font-weight: 700;
        color: #191919;
        margin: 0 0 8px 0;
    }

    .mobile-mentions-tags-scroll {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        /* Firefox */
        -ms-overflow-style: none;
        /* IE and Edge */
        padding-bottom: 0px;
    }

    .mobile-mentions-tags-scroll::-webkit-scrollbar {
        display: none;
        /* Chrome, Safari, Opera */
    }

    .mobile-mention-tag {
        padding: 8px 16px;
        background: #fff;
        border: 1px solid #d1d5db;
        border-radius: 50px;
        font-size: 14px;
        color: #191919;
        font-weight: 500;
        white-space: nowrap;
        flex-shrink: 0;
        cursor: pointer;
        transition: background-color 0.2s ease, border-color 0.2s ease;
    }

    .mobile-mention-tag:hover {
        background: #f9fafb;
        border-color: #9ca3af;
    }

    /* Selected state for mobile mention tags */
    .mobile-mention-tag.selected {
        background: #e0f2ff;
        border-color: #1e3a8a;
        color: #1e3a8a;
    }

    .mobile-active-filters {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        align-items: center;
        margin-top: 36px !important;
        margin-bottom: 16px;
        padding-bottom: 0px;
        padding-top: 4px;
    }

    .mobile-active-filters.hidden {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    .mobile-active-chip {
        display: flex;
        align-items: center;
        gap: 6px;
        padding: 8px 14px;
        background: #e8f4fd;
        border: 1px solid #b3d9f2;
        border-radius: 50px;
        font-size: 13px;
        font-weight: 500;
        color: #1e5b8c;
        cursor: pointer;
    }

    .mobile-active-chip svg {
        stroke: #1e5b8c;
    }

    .mobile-reset-btn {
        background: none;
        border: none;
        color: #4256b6;
        font-size: 14px;
        font-weight: 500;
        text-decoration: underline;
        cursor: pointer;
    }

    /* === ENLARGED VISIT WEBSITE ICON (768px) === */
    .btn-visit-website-mobile .visit-website-icon {
        width: 28px;
        height: 28px;
        object-fit: contain;
        margin-right: -4px;
        filter: brightness(0) saturate(100%) invert(29%) sepia(65%) saturate(1154%) hue-rotate(205deg) brightness(92%) contrast(88%);
    }

    /* === ENLARGED STAR RATING (768px) === */
    .rating-badges img {
        height: 120px !important;
        width: auto !important;
        top: -48px !important;
        left: 15px !important;
    }
}

/* ----------------------------------------
   SMALL MOBILE BREAKPOINT (max-width: 480px)
   ---------------------------------------- */
@media (max-width: 480px) {
    .logo-text {
        font-size: 16px;
    }

    .logo-star-img {
        width: 24px;
        height: 24px;
    }

    .company-name {
        font-size: 20px;
    }

    .company-logo {
        width: 80px;
        height: 80px;
    }



    .review-cards-track .review-card {
        min-width: 240px !important;
        max-width: 260px;
    }

    .summary-title {
        font-size: 16px;
    }

    .summary-subtitle,
    .summary-text {
        font-size: 13px;
    }

    .based-title {
        font-size: 18px !important;
        line-height: 21.59px !important;
    }

    .ts-score-display {
        font-size: 42px;
    }

    .ts-rating-label {
        font-size: 14px;
    }

    .pagination-btn {
        padding: 6px 10px;
        font-size: 12px;
        min-width: 32px;
    }

    .pagination-btn:first-child,
    .pagination-btn:last-child {
        min-width: 60px;
    }

    .btn-business {
        display: none;
    }

    .mention-tag {
        font-size: 11px;
        padding: 5px 8px;
    }

    /* Ocultar filtros activos de desktop en móvil */
    #desktop-active-filters,
    .desktop-active-filters {
        display: none !important;
    }
}

/* Ocultar filtros activos móviles en desktop */
@media (min-width: 769px) {
    #mobile-active-filters {
        display: none !important;
    }

    #mobile-reviews-list,
    #mobile-pagination {
        display: none !important;
    }

    /* Hide mobile carousel on desktop */
    .mobile-carousel-section {
        display: none !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   MOBILE REVIEW CAROUSEL STYLES
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
    .mobile-carousel-section {
        display: block;
        width: 100%;
        padding: 16px 0;
        margin-bottom: 16px;
        background: #fff;
        overflow: visible !important;
    }

    .mobile-carousel-container {
        position: relative;
        width: 100%;
        overflow: visible !important;
    }

    .mobile-carousel-track {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 12px;
        overflow-x: scroll !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        padding: 0 16px 16px 16px;
        width: 100%;
        touch-action: pan-x !important;
    }

    .mobile-carousel-track::-webkit-scrollbar {
        display: none;
    }

    /* Mobile review cards - compact version */
    .mobile-carousel-track .review-card {
        flex: 0 0 280px !important;
        min-width: 280px !important;
        max-width: 280px !important;
        width: 280px !important;
        flex-shrink: 0 !important;
        scroll-snap-align: start;
        background: #fff;
        border-radius: 12px;
        border: 1px solid #e0e0e0;
        padding: 16px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    }

    .mobile-carousel-track .card-header {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 12px;
    }

    .mobile-carousel-track .avatar {
        width: 36px;
        height: 36px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 12px;
        font-weight: 600;
        position: relative;
    }

    .mobile-carousel-track .verified-badge-wrap {
        position: absolute;
        bottom: -2px;
        right: -2px;
    }

    .mobile-carousel-track .verified-badge-wrap svg {
        width: 14px;
        height: 14px;
    }

    .mobile-carousel-track .user-info {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .mobile-carousel-track .user-name {
        font-size: 13px;
        font-weight: 600;
        color: #1c1c1c;
    }

    .mobile-carousel-track .review-date {
        font-size: 11px;
        color: #6b7280;
    }

    .mobile-carousel-track .rating-row {
        margin-bottom: 10px;
    }

    .mobile-carousel-track .stars-box {
        display: flex;
        align-items: center;
    }

    .mobile-carousel-track .star-icon-row img {
        height: 80px !important;
        width: auto !important;
        margin-left: -16px;
        margin-top: -8px;
        margin-bottom: -8px;
    }

    .mobile-carousel-track .card-content {
        margin-bottom: 12px;
    }

    .mobile-carousel-track .review-body {
        font-family: 'TrustpilotReviews', 'Inter', sans-serif !important;
        font-size: 16px !important;
        line-height: 24px !important;
        color: #2b2b2b !important;
        font-weight: 500 !important;
        letter-spacing: -0.2px !important;
        -webkit-text-stroke: 0.3px #2b2b2b !important;
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .mobile-carousel-track .card-footer {
        display: flex;
        gap: 12px;
        padding-top: 10px;
        border-top: 1px solid #f0f0f0;
    }

    .mobile-carousel-track .footer-btn {
        display: flex;
        align-items: center;
        gap: 4px;
        font-size: 12px;
        color: #6b7280;
        background: none;
        border: none;
        cursor: pointer;
        padding: 0;
    }

    .mobile-carousel-track .footer-btn img {
        height: 28px !important;
        width: auto !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   SEE ALL REVIEWS BUTTON STYLES
   ═══════════════════════════════════════════════════════════════════════════ */
.see-all-reviews-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 20px;
    background-color: #799DFA33;
    color: #3C57BC;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 24px;
    transition: background-color 0.2s ease;
}

.see-all-reviews-btn:hover {
    background-color: #799DFA55;
}

.see-all-reviews-btn svg {
    color: #3C57BC;
}

/* ═══════════════════════════════════════════════════════════════════════════
   NAVIGATION FONT STYLES - Trustpilot Sans
   ═══════════════════════════════════════════════════════════════════════════ */
.header-nav a,
.login-link,
.btn-business {
    font-family: "Trustpilot Sans", Arial, sans-serif;
}

.btn-business {
    font-weight: 525 !important;
}

/* Estilos de opiniones - Columna de reviews (Fuente original de Trustpilot) */
.review-body,
.mobile-reviews-list-container .review-body,
#mobile-reviews-list .review-body,
.reviews-list .review-body {
    font-family: 'TrustpilotReviews', 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: #2b2b2b !important;
    line-height: 24px !important;
    letter-spacing: -0.2px !important;
    text-align: start !important;
    margin: 16px 0px 0px !important;
    -webkit-text-stroke: 0.3px #2b2b2b;
}

/* TrustScore 4.9 - Estilo extraído de Trustpilot */
.ts-score-display {
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 48px !important;
    font-weight: 800 !important;
    color: #2D2F29 !important;
    line-height: 40px !important;
    margin: 0px 0px 8px !important;
}

/* Reviews 1,367 - Estilo extraído de Trustpilot */
.reviews-count {
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 450 !important;
    color: #2D2F29 !important;
    line-height: 22.4px !important;
    text-decoration: none !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ESTILOS GLOBALES PARA NOMBRES Y TEXTO DE OPINIONES
   (Sobrescriben estilos inline del HTML)
   ═══════════════════════════════════════════════════════════════════════════ */

/* Nombres de usuarios en TODAS las opiniones */
.reviewer-name,
.user-name,
.review-item .reviewer-name,
.reviews-list-container .reviewer-name,
.mobile-reviews-list-container .reviewer-name,
#mobile-reviews-list .reviewer-name {
    font-family: 'TrustpilotReviews', 'Inter', sans-serif !important;
    font-weight: 500 !important;
    color: #000000 !important;
    font-size: 16px !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeLegibility !important;
}

/* Texto de opiniones en TODAS las reviews */
.review-text,
.review-item .review-text,
.reviews-list-container .review-text,
.mobile-reviews-list-container .review-text,
#mobile-reviews-list .review-text {
    font-family: 'TrustpilotReviews', 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: #2b2b2b !important;
    line-height: 24px !important;
    letter-spacing: -0.2px !important;
    -webkit-text-stroke: 0.3px #2b2b2b !important;
}

/* Fechas de opiniones en TODAS las reviews */
.review-date,
.review-time,
.review-cards-track .review-date,
.carousel-container .review-card .review-date,
.review-item .review-time,
.reviews-list-container .review-time,
.mobile-carousel-track .review-date {
    font-family: 'TrustpilotReviews', 'Inter', sans-serif !important;
    font-weight: 500 !important;
    color: #605E56 !important;
    /* Warmer grey from reference */
    -webkit-text-stroke: 0.2px #605E56 !important;
    letter-spacing: 0.5px !important;
    /* Separated letters */
}

/* Ajuste específico para Desktop: Subir texto para pegar a estrellas */
@media (min-width: 769px) {
    .carousel-container .review-card .card-content {
        margin-top: -35px !important;
    }
}

/* Mobile: Disable scroll on carousel cards */
@media (max-width: 768px) {
    .carousel-container .review-card .card-content {
        overflow-y: hidden !important;
        overflow-x: hidden !important;
        padding-bottom: 8px !important;
        margin-top: -35px !important;
    }

    .carousel-container .review-card .review-body {
        display: -webkit-box !important;
        -webkit-line-clamp: 7 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
}