/**
 * Modern OTA Review Styles
 * Designed for a premium, clean tour experience.
 */

:root {
    --ota-gyg: #ff5921;
    --ota-ta: #34e0a1;
    --ota-viator: #00af87;
    --ota-gmb: #4285f4;
    --ota-bg: #ffffff;
    --ota-text: #1a202c;
    --ota-muted: #718096;
    --ota-border: #e2e8f0;
}

.booking-item-reviews.list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding: 0;
    list-style: none;
}

.booking-item-reviews.list li {
    background: var(--ota-bg);
    border: 1px solid var(--ota-border);
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    margin-bottom: 0 !important;
}

.booking-item-reviews.list li:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.ota-review-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.ota-author-meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.ota-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    background: #f1f5f9;
}

.ota-author-info h6 {
    margin: 0;
    font-weight: 700;
    font-size: 1rem;
    color: var(--ota-text);
}

.ota-date {
    font-size: 0.82rem;
    color: var(--ota-muted);
}

/* Badge System */
.ota-source-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.25rem 0.6rem;
    border-radius: 6px;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.ota-badge-gyg { background: #fff5f2; color: var(--ota-gyg); border: 1px solid #ffccbc; }
.ota-badge-tripadvisor { background: #00af87; color: white; border: 1px solid #00af87; padding-left: 22px; position: relative; }
.ota-badge-tripadvisor::before { content: ''; position: absolute; left: 5px; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; background: url('https://www.logo.wine/a/logo/TripAdvisor/TripAdvisor-Logo.wine.svg') no-repeat center; background-size: contain; filter: brightness(0) invert(1); }
.ota-badge-viator { background: #f0fdfa; color: #0f766e; border: 1px solid #99f6e4; }
.ota-badge-gmb { background: #eff6ff; color: #1e40af; border: 1px solid #bfdbfe; }

.ota-badge-icon {
    width: 14px;
    height: 14px;
}

/* Rating Stars */
.ota-stars {
    display: flex;
    gap: 2px;
    color: #f59e0b;
    margin-bottom: 0.75rem;
}

.ota-stars i { font-size: 0.85rem; }

/* Content */
.ota-content {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #4a5568;
    margin-bottom: 1rem;
}

.ota-title {
    font-weight: 800;
    margin-bottom: 0.5rem;
    color: var(--ota-text);
}

/* Photo Gallery */
.ota-photo-gallery {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.ota-photo {
    width: 120px;
    height: 120px;
    object-fit: cover;
    border-radius: 6px;
    cursor: zoom-in;
    transition: opacity 0.2s;
}

.ota-photo:hover { opacity: 0.9; }

/* Responsive Adjustments */
@media (max-width: 768px) {
    .booking-item-reviews.list li { padding: 1rem; }
    .ota-avatar { width: 40px; height: 40px; }
}
