.gm-style-iw-chr {position: absolute !important;top: 8px !important;right: 8px !important;z-index: 10 !important;height: auto !important}
.gm-style-iw-chr button.gm-ui-hover-effect {width: 32px !important;height: 32px !important;background: rgba(255, 255, 255, 0.95) !important;border-radius: 50% !important;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;opacity: 1 !important;transition: all 0.2s ease !important}
.gm-style-iw-chr button.gm-ui-hover-effect:hover {background: #ffffff !important;transform: scale(1.1) !important;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important}
.gm-style-iw-chr button.gm-ui-hover-effect > span {width: 18px !important;height: 18px !important;margin: 7px !important}
.gm-style .gm-style-iw-c {padding: 0 !important;border-radius: 16px !important;box-shadow: 0 12px 48px rgba(0, 0, 0, 0.35), 0 4px 16px rgba(0, 0, 0, 0.2) !important}
.gm-style .gm-style-iw-d {overflow: hidden !important;max-height: none !important}
.gm-style .gm-style-iw-tc::after {background: #ffffff !important}
.marker-info-window {font-family: var(--font-family-base);width: 280px;color: #333;border-radius: 16px;overflow: hidden;background: #ffffff}
.marker-info-image {position: relative;width: 100%;height: 180px;overflow: hidden;background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%)}
.marker-info-image img {width: 100%;height: 100%;object-fit: cover;transition: transform 0.3s ease}
.marker-info-image:hover img {transform: scale(1.05)}
.marker-info-image-placeholder {width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%)}
.marker-info-image-placeholder svg {width: 64px;height: 64px;color: #0ea5e9;opacity: 0.6}
.marker-info-fish-badge {position: absolute;bottom: 12px;left: 12px;right: 12px;display: flex;align-items: center;gap: 8px}
.marker-info-fish-name {background: linear-gradient(135deg, rgba(59, 130, 246, 0.95) 0%, rgba(37, 99, 235, 0.95) 100%);backdrop-filter: blur(8px);color: #fff;padding: 8px 14px;border-radius: 24px;font-size: 1em;font-weight: 700;letter-spacing: 0.5px;box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);max-width: calc(100% - 16px);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}
.marker-info-content {padding: 16px}
.marker-info-stats {display: grid;grid-template-columns: 1fr 1fr;gap: 10px;margin-bottom: 14px}
.marker-info-stat {background: linear-gradient(135deg, var(--color-bg-muted) 0%, var(--color-bg-secondary) 100%);border-radius: 12px;padding: 12px;text-align: center;border: 1px solid var(--color-border);transition: all 0.2s ease}
.marker-info-stat:hover {background: linear-gradient(135deg, var(--color-bg-secondary) 0%, var(--color-border) 100%);border-color: #cbd5e1}
.marker-info-stat-icon {display: flex;align-items: center;justify-content: center;margin-bottom: 4px}
.marker-info-stat-icon svg {width: 16px;height: 16px;color: var(--color-text-muted)}
.marker-info-stat-label {font-size: 0.65em;color: var(--color-text-light);text-transform: uppercase;letter-spacing: 0.5px;margin-bottom: 2px}
.marker-info-stat-value {font-size: 1.1em;font-weight: 700;color: var(--color-text-primary)}
.marker-info-stat-value.has-value {color: #0284c7}
.marker-info-comment {background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);border-radius: 12px;padding: 12px;margin-bottom: 14px;border-left: 3px solid var(--color-warning)}
.marker-info-comment-text {margin: 0;font-size: 0.9em;line-height: 1.5;color: #78350f;word-wrap: break-word;overflow-wrap: break-word}
.marker-info-footer {display: flex;justify-content: space-between;align-items: center;padding-top: 12px;border-top: 1px solid var(--color-border-light)}
.marker-info-user {display: flex;align-items: center;gap: 8px;min-width: 0;flex: 1}
.marker-info-user-avatar {width: 28px;height: 28px;border-radius: 50%;background: #ffffff;border: 2px solid var(--color-border);display: flex;align-items: center;justify-content: center;flex-shrink: 0;box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);overflow: hidden}
.marker-info-user-avatar svg {width: 18px;height: 18px}
.marker-info-user-avatar-img {width: 100%;height: 100%;object-fit: cover;border-radius: 50%}
.marker-info-user-avatar-fallback {width: 100%;height: 100%;display: flex;align-items: center;justify-content: center}
.marker-info-user-avatar-fallback svg {width: 18px;height: 18px}
.marker-info-user-name {color: var(--color-text-primary);text-decoration: none;font-weight: 600;font-size: 0.85em;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;transition: color 0.2s ease}
.marker-info-user-name:hover {color: var(--color-primary-dark)}
.marker-info-time {display: flex;align-items: center;gap: 4px;color: var(--color-text-light);font-size: 0.75em;flex-shrink: 0}
.marker-info-time svg {width: 12px;height: 12px}
@media (max-width: 480px) {.marker-info-window {width: 260px;border-radius: 14px}
.marker-info-image {height: 150px}
.marker-info-fish-name {font-size: 0.9em;padding: 6px 12px}
.marker-info-content {padding: 12px}
.marker-info-stats {gap: 8px;margin-bottom: 12px}
.marker-info-stat {padding: 10px 8px;border-radius: 10px}
.marker-info-stat-value {font-size: 1em}
.marker-info-comment {padding: 10px;margin-bottom: 12px}
.marker-info-comment-text {font-size: 0.85em}
.marker-info-footer {padding-top: 10px}
.marker-info-user-avatar {width: 24px;height: 24px}
.marker-info-user-avatar svg,
.marker-info-user-avatar-fallback svg {width: 16px;height: 16px}}