/* Support New Bern Listing Detail Sidebar Enhancements Stylesheet */

/* Parent Container */
.snb-listing-sidebar-wrap {
    display: flex !important;
    flex-direction: column !important;
    gap: 25px !important;
}

/* Base card styling */
.snb-listing-sidebar-widget {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 20px !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.04), 0 2px 4px -1px rgba(0, 0, 0, 0.02) !important;
    transition: all 0.25s ease !important;
    overflow: hidden !important;
}

.snb-listing-sidebar-widget:hover {
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.06) !important;
    border-color: #cbd5e1 !important;
}

.snb-listing-sidebar-widget h4.widget-title {
    font-size: 15px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: #0f172a !important;
    margin: 0 0 12px 0 !important;
    padding-bottom: 8px !important;
    border-bottom: 2px solid #f1f5f9 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* 1. Dynamic Claim Sticky Block */
.snb-widget-claim-sticky {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%) !important;
    border: none !important;
    color: #ffffff !important;
    position: sticky !important;
    top: 90px !important;
    z-index: 100 !important;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.15) !important;
    animation: snbClaimPulse 3s infinite alternate !important;
}

.snb-widget-claim-sticky h4.widget-title {
    color: #ffffff !important;
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

.snb-widget-claim-sticky p {
    font-size: 12.5px !important;
    color: #94a3b8 !important;
    line-height: 1.5 !important;
    margin: 0 0 15px 0 !important;
}

.snb-widget-claim-sticky .snb-claim-btn {
    display: block !important;
    text-align: center !important;
    background: #2563eb !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    padding: 10px 15px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 4px 6px rgba(37,99,235,0.2) !important;
}

.snb-widget-claim-sticky .snb-claim-btn:hover {
    background: #1d4ed8 !important;
    transform: scale(1.02) !important;
}

@keyframes snbClaimPulse {
    0% { border: 1px solid rgba(37,99,235,0.1); }
    100% { border: 1px solid rgba(37,99,235,0.4); }
}

/* 2. Explore Nearby Gems */
.snb-nearby-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.snb-nearby-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 8px !important;
    border-radius: 8px !important;
    border: 1px solid #f1f5f9 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.snb-nearby-item:hover {
    background: #f8fafc !important;
    border-color: #e2e8f0 !important;
}

.snb-nearby-thumb {
    width: 45px !important;
    height: 45px !important;
    border-radius: 6px !important;
    object-fit: cover !important;
}

.snb-nearby-info {
    flex-grow: 1 !important;
    overflow: hidden !important;
}

.snb-nearby-name {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
    margin: 0 !important;
}

.snb-nearby-meta {
    font-size: 11px !important;
    color: #64748b !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.snb-nearby-rating {
    color: #eab308 !important;
    font-weight: bold !important;
}

/* 3. Fast-Action Review Prompt */
.snb-shoutout-stars {
    display: flex !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 15px 0 5px 0 !important;
}

.snb-shoutout-star {
    font-size: 28px !important;
    color: #cbd5e1 !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
}

.snb-shoutout-star:hover,
.snb-shoutout-star.active {
    color: #eab308 !important;
    transform: scale(1.15) !important;
}

.snb-shoutout-lbl {
    font-size: 12px !important;
    color: #64748b !important;
    text-align: center !important;
    font-weight: 600 !important;
}

/* 4. Owner Spotlight & Verified Badge */
.snb-owner-header {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
}

.snb-owner-avatar {
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: 2px solid #e2e8f0 !important;
}

.snb-owner-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 !important;
}

.snb-verified-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    background: #d1fae5 !important;
    color: #065f46 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

.snb-owner-bio {
    font-size: 12.5px !important;
    color: #475569 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

/* 5. Categorized Events */
.snb-events-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.snb-event-item {
    display: flex !important;
    flex-direction: column !important;
    padding: 8px 12px !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
}

.snb-event-item-date {
    font-size: 10px !important;
    font-weight: 800 !important;
    color: #2563eb !important;
    text-transform: uppercase !important;
}

.snb-event-item-name {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 2px 0 !important;
}

/* Mobile responsiveness adjustments */
@media (max-width: 768px) {
    .snb-widget-claim-sticky {
        position: static !important;
        box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05) !important;
    }
}