/* _content/WebappExplorer/Components/Home/AboutSection.razor.rz.scp.css */
.about-section[b-6c2aj9r972] {
    background-color: var(--secondary);
    border-radius: 1rem;
    padding: 1.25rem;
    margin-top: 1.5rem;
}

    .about-section h2[b-6c2aj9r972] {
        font-family: var(--font-geist);
        font-weight: 500;
        font-size: 1.25rem;
        margin-bottom: 1rem;
        color: var(--about-heading, --foreground);
    }

    .about-section p[b-6c2aj9r972] {
        font-family: sans-serif;
        font-size: 0.875rem;
        line-height: 1.8;
        color: var(--muted-foreground);
    }

        .about-section p + p[b-6c2aj9r972] {
            margin-top: 1rem;
        }
/* _content/WebappExplorer/Components/Home/BookVisitCard.razor.rz.scp.css */

.book-section[b-ahwluhkb05] {
    margin: 1.5rem 0;
}
.book-card[b-ahwluhkb05] {
    background: linear-gradient( 135deg, var(--primary) 35%, #294d5bcc 100% );
    color: white;
    border-radius: 1.25rem;
    padding: 1.25rem;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

/* HEADER */
.book-header[b-ahwluhkb05] {
    display: flex;
    gap: 1rem;
    margin-bottom: 1rem;
    align-items: flex-start;
}

.book-icon-wrapper[b-ahwluhkb05] {
    width: 48px;
    height: 48px;
    border-radius: 0.75rem;
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.book-title[b-ahwluhkb05] {
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 0.25rem;
    font-family: var(--font-serif);
}

.book-subtitle[b-ahwluhkb05] {
    font-size: 0.875rem;
    opacity: 0.8;
}

/* GRID INFO */
.book-info-grid[b-ahwluhkb05] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.book-info-item[b-ahwluhkb05] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    opacity: 0.85;
}

/* BUTTON */
.book-button[b-ahwluhkb05] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    height: 40px;
    background: var(--primary-foreground);
    color: var(--primary);
    border-radius: 0.5rem;
    font-size: .85rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.1s ease;
}

    .book-button:hover[b-ahwluhkb05] {
        background: #faf8f5e6;
    }

    .book-button:active[b-ahwluhkb05] {
        transform: scale(0.98);
    }

/* ICONS */
.icon-lg[b-ahwluhkb05] {
    width: 24px;
    height: 24px;
}

.icon-sm[b-ahwluhkb05] {
    width: 16px;
    height: 16px;
}
/* _content/WebappExplorer/Components/Home/GuidedTour.razor.rz.scp.css */
.tour-header[b-3lrzeysfsy] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.tour-header-title[b-3lrzeysfsy] {
    font-family: var(--font-geist);
    font-weight: 500;
    font-size: 1.25rem;
    color: var(--foreground, #111);
}

.tour-header-link[b-3lrzeysfsy] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.875rem;
    font-family: 'Inter', var(--font-sans);
    font-weight: 500;
    color: var(--primary, #1d4ed8);
    text-decoration: none;
}

    .tour-header-link:hover[b-3lrzeysfsy] {
        text-decoration: underline;
    }

    .tour-header-link .chevron-right[b-3lrzeysfsy] {
        width: 1rem;
        height: 1rem;
        stroke: currentColor;
    }

.tour-route[b-3lrzeysfsy] {
    margin-top: 1.5rem;
}

    .tour-route h2[b-3lrzeysfsy] {
        font-size: 1.25rem;
        margin-bottom: 0;
        color: var(--foreground);
        font-family: var(--font-geist);
        font-weight: 500;
    }

.tour-map[b-3lrzeysfsy] {
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
    aspect-ratio: 5 / 2;
    background-color: #fff;
    /*background-color: #ebe7e0;*/
}

    .tour-map svg[b-3lrzeysfsy] {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }
.overlay[b-3lrzeysfsy] {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 60%);
    pointer-events: none;
    border-radius: 1rem;
    z-index: 100;
}

.wave-bottom[b-3lrzeysfsy] {
    fill: #294d5b33;
}

.wave-top[b-3lrzeysfsy] {
    fill: #38332e0d;
}

.route-line[b-3lrzeysfsy] {
    stroke: var(--primary);
    stroke-width: 2;
    stroke-dasharray: 10 1;
}

.poi[b-3lrzeysfsy] {
    z-index: 10;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
}

.poi-circle[b-3lrzeysfsy] {
    position: relative;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #ffc727;
    /*border: 2px solid var(--border);*/
    background: #fcee31;
    /*background: var(--card);*/
    color: var(--foreground);
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

    .poi-circle span:first-child[b-3lrzeysfsy] {
        font-weight: bold;
        font-size: 0.8rem;
        z-index: 10;
    }

.ping[b-3lrzeysfsy] {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: #ffc107ab;
    animation: ping-b-3lrzeysfsy 1s infinite;
    z-index: -1;
}

@keyframes ping-b-3lrzeysfsy {
    0% {
        transform: scale(1);
        opacity: 1;
    }

    75%,100% {
        transform: scale(2);
        opacity: 0;
    }
}

.poi-start[b-3lrzeysfsy] {
    position: absolute;
}

.start-circle[b-3lrzeysfsy] {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: #38332ecc;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--card);
    font-size: 0.75rem;
    font-weight: bold;
}

.tour-info-card[b-3lrzeysfsy] {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1rem;
    z-index: 100; 
    color: white;
    pointer-events: none;
}

.tour-info-header[b-3lrzeysfsy] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    /*margin-bottom: 0.5rem;*/
}
.tour-subtitle[b-3lrzeysfsy] {
    font-family: 'Inter', var(--font-sans);
    font-weight: 300;
    font-size: 0.95rem;
    opacity: 0.8;
}

.tour-title[b-3lrzeysfsy] {
    font-family: var(--font-geist);
    font-weight: 500;
    font-size: 1.25rem;
    margin: 0;
}

.tour-meta[b-3lrzeysfsy] {
    display: flex;
    gap: 0.75rem;
    margin-top: 0.5rem;
    font-size: 0.85rem;
    opacity: 0.7;
    align-items: center;
}

    .tour-meta .points[b-3lrzeysfsy] {
        display: flex;
        align-items: center;
        gap: 0.25rem;
        font-family: 'Inter', var(--font-sans);
        font-weight: 300;
    }

.tour-preview-image[b-3lrzeysfsy] {
    width: 100%;
    /*height: 100%;*/
}
.route[b-3lrzeysfsy] {
    fill: none;
    stroke: #F2C94C;
    stroke-width: 8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.map_show_desktop[b-3lrzeysfsy] {
    display: block;
}
.map_show_mobile[b-3lrzeysfsy] {
    display: none;
}
@media (max-width: 768px) {
    .tour-map[b-3lrzeysfsy] {
        aspect-ratio: 5 / 5;
    }

    .map_show_desktop[b-3lrzeysfsy] {
        display: none;
    }

    .map_show_mobile[b-3lrzeysfsy] {
        display: block;
    }
}
/* _content/WebappExplorer/Components/Home/MyExperience.razor.rz.scp.css */

.experience-card[b-gvxihkroys] {
    border-radius: 1rem;
    margin-top: 1.5rem;
    padding: 1.25rem;
    border: 1px solid var(--border);
    background-color: var(--card);
}

.card-header[b-gvxihkroys] {
    display: flex;
    justify-content: space-between;
    border: none;
    align-items: center;
    background: transparent;
}

.card-title[b-gvxihkroys] {
    /*font-family: var(--font-serif);*/
    /*font-weight: bold;*/
    font-family: var(--font-geist), var(--font-sans);
    font-weight: 500;
    font-size: 1.125rem;
    color: var(--foreground, #111);
}

.card-link[b-gvxihkroys] {
    font-family: 'Inter', var(--font-sans);
    font-weight: 500;
    color: var(--primary);
    text-decoration: none;
    font-size: 0.75rem;
    cursor: pointer;
}

    .card-link:hover[b-gvxihkroys] {
        text-decoration: underline;
    }

/* Progress / Points */
.card-progress[b-gvxihkroys] {
    display: flex;
    gap: 1.25rem;
    margin-bottom: 1.25rem;
}

.progress-circle-wrapper[b-gvxihkroys] {
    position: relative;
    width: 5rem;
    height: 5rem;
}

.progress-circle-bg[b-gvxihkroys] {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.circle-bg[b-gvxihkroys] {
    fill: none;
    stroke: #ebe7e04d;
    stroke-width: 8;
}

.circle-fg[b-gvxihkroys] {
    fill: none;
    stroke: var(--primary);
    stroke-width: 8;
    stroke-linecap: round;
}

.progress-text[b-gvxihkroys] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    /*font-family: var(--font-serif);*/
    color: var(--foreground);
}

    .progress-text .current[b-gvxihkroys] {
        font-size: 1.25rem;
        font-weight: bold;
    }

    .progress-text .total[b-gvxihkroys] {
        font-size: 0.725rem;
        color: var(--muted-foreground);
    }

/* Points visited */
.points-list[b-gvxihkroys] {
    margin-top: auto;
    flex: 1;
    margin-bottom: .65rem;
}

.points-label[b-gvxihkroys] {
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
    color: var(--muted-foreground);
    font-family: 'Inter', var(--font-sans);
    font-weight: 300;
}

.points-items[b-gvxihkroys] {
    flex-wrap: wrap;
    display: flex;
    gap: 0.5rem;
}

    .points-items .point[b-gvxihkroys] {
        width: 2rem;
        height: 2rem;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #ebe7e0;
        color: var(--muted-foreground);
        font-size: 0.75rem;
        font-weight: bold;
    }
    .points-items .point-completed[b-gvxihkroys] {
        background-color: var(--primary);
        color: #fff;
    }

/* POI links */
.poi-links[b-gvxihkroys] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;

}

.poi-item[b-gvxihkroys] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    border-radius: 1rem;
    background-color: var(--secondary);
    text-decoration: none;
    transition: background 0.2s;
    cursor: pointer;
}

    .poi-item:hover[b-gvxihkroys] {
        opacity: 0.9;
    }

.poi-icon[b-gvxihkroys] {
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
    border-radius: 50%;
    background-color: #7e736733;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--muted-foreground);
}

.circle-icon[b-gvxihkroys] {
    width: 1rem;
    height: 1rem;
    stroke: var(--muted-foreground);
    fill: none;
}
.poi-icon-completed .circle-icon[b-gvxihkroys], .poi-icon-completed.poi-icon[b-gvxihkroys] {
    background-color: var(--primary) !important;
    color: var(--primary) !important;
    fill: var(--primary) !important;
    stroke: #fff !important;
}

.poi-info[b-gvxihkroys] {
    flex: 1;
    min-width: 0;
}

.poi-name[b-gvxihkroys] {
    font-size: 0.875rem;
    font-family: var(--font-geist), var(--font-sans);
    font-weight: 500;
    color: rgba(0,0,0,0.6);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 0;
}

.poi-point[b-gvxihkroys] {
    font-size: 0.75rem;
    color: rgba(0,0,0,0.6);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 0;
}

.poi-pin[b-gvxihkroys] {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    stroke: var(--muted-foreground);
    fill: none;
}
/* _content/WebappExplorer/Components/Home/QuickActions.razor.rz.scp.css */

.quick-actions[b-esuim63vtc] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    overflow-x: auto;
    padding: 0.25rem 0.25rem;
    scrollbar-width: none; 
    padding-top: 1.5rem;
}

    .quick-actions[b-esuim63vtc]::-webkit-scrollbar {
        display: none; 
    }

.quick-action-item[b-esuim63vtc] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background-color: var(--card);
    border: 1px solid var( --border);
    border-radius: 9999px;
    white-space: nowrap;
    text-decoration: none;
    color: var(--foreground);
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

    .quick-action-item:hover[b-esuim63vtc] {
        background-color: var(--secondary);
    }

    .quick-action-item .icon[b-esuim63vtc] {
        display: flex;
        width: 1rem;
        height: 1rem;
        color: var(--muted-foreground);
    }

        .quick-action-item .icon svg[b-esuim63vtc] {
            width: 100%;
            height: 100%;
        }

    .quick-action-item .label[b-esuim63vtc] {
        font-size: 0.875rem;
        font-weight: 500;
        font-family: inherit;
    }
/* _content/WebappExplorer/Components/Layout/BottomNav.razor.rz.scp.css */
.bottom-nav[b-ghwdmvvstz] {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--primary-foreground);
    border-top: 1px solid var(--border);
    padding: 8px 0;
    z-index: 999;
}
    .bottom-nav > *[b-ghwdmvvstz] {
        flex: 1;
        display: flex;
        justify-content: center;
    }

.bottom-nav-button[b-ghwdmvvstz] {
    background: none;
    border: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 9px 3px;
    border-radius: 12px;
    color: #888;
    font-size: 12px;
    cursor: pointer;
    transition: color 0.2s;
    width: 100%;
    margin: 10px;
}
    .bottom-nav-button span[b-ghwdmvvstz] {
        margin-top: .25rem;
        font-size: .75rem;
        font-family: var(--font-geist);
        font-weight: 500;
    }

    .bottom-nav-button svg[b-ghwdmvvstz] {
        width: 20px;
        height: 20px;
    }


    .bottom-nav-button.active[b-ghwdmvvstz] {
        color: var(--primary);
        background-color: #294d5b1a;
    }

    .bottom-nav-button:focus[b-ghwdmvvstz] {
        outline: none;
    }

@media (max-width: 360px) {
    .bottom-nav-button[b-ghwdmvvstz] {
        margin: 5px;
    }
}
/* _content/WebappExplorer/Components/Layout/ChatWidget.razor.rz.scp.css */
.chat-widget-btn[b-xejwhv3041] {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    border: 4px solid #fff;
    background-color: var(--primary);
    color: var(--primary-foreground);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s, transform 0.3s;
    transform: translateY(-25%);
}


.chat-widget-icon[b-xejwhv3041] {
    width: 1.5rem;
    height: 1.5rem;
}


/* Chat Panel */
.chat-panel[b-xejwhv3041] {
    position: fixed;
    bottom: 71px;
    left: 0;
    right: 0;
    height: calc(100vh - 71px);
    /*height: 70dvh;
    max-height: 600px;*/
    display: flex;
    flex-direction: column;
    background: var(--primary-foreground);
    border-top: 1px solid var(--border);
    border-radius: 1.5rem 1.5rem 0 0;
    box-shadow: 0 20px 25px rgba(0,0,0,0.1);
    z-index: -1;
}

.chat-panel-overlay[b-xejwhv3041] {
    position: fixed;
    inset: 0;
    z-index: -1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}

/* Header */
.chat-header[b-xejwhv3041] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.3rem 1rem;
    border-bottom: 1px solid var(--border);
}

.chat-header-info[b-xejwhv3041] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.chat-avatar[b-xejwhv3041] {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: rgba(0,0,0,0.05);
    display: flex;
    align-items: center;
    justify-content: center;
}

.chat-header-icon[b-xejwhv3041] {
    width: 1rem;
    height: 1rem;
    color: var(--primary);
}

.chat-title[b-xejwhv3041] {
    font-family: var(--font-geist);
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1rem;
    margin-bottom: 0;
}

.chat-subtitle[b-xejwhv3041] {
    margin-bottom: 0;
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

/* Header actions (expand + close grouped) */
.chat-header-actions[b-xejwhv3041] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

/* Expand button */
.chat-expand-btn[b-xejwhv3041] {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    border: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
    background: var(--primary-foreground);
}

    .chat-expand-btn:hover[b-xejwhv3041] {
        background: rgba(0,0,0,0.05);
    }

.chat-expand-icon[b-xejwhv3041] {
    width: 1.1rem;
    height: 1.1rem;
    color: var(--muted-foreground);
}

/* Hide expand button on mobile (full-screen already) */
@media (max-width: 767px) {
    .chat-expand-btn[b-xejwhv3041] {
        display: none;
    }
}

/* Close button */
.chat-close-btn[b-xejwhv3041] {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    border: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
    background: var(--primary-foreground);
}

    .chat-close-btn:hover[b-xejwhv3041] {
        background: rgba(0,0,0,0.05);
    }

.chat-close-icon[b-xejwhv3041] {
    width: 1.25rem;
    height: 1.25rem;
    color: var(--muted-foreground);
}

/* Messages */
.chat-messages[b-xejwhv3041] {
    flex: 1;
    overflow-y: auto;
    padding: 0.75rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.message.assistant-message[b-xejwhv3041] {
    max-width: 85%;
    padding: 0.625rem 1rem;
    background: var(--secondary);
    border-radius: 1rem;
    border-bottom-left-radius: 0.25rem;
    font-size: 0.875rem;
    align-self: flex-start;
}

.message.user-message[b-xejwhv3041] {
    max-width: 85%;
    padding: 0.625rem 1rem;
    background: var(--primary);
    color: var(--primary-foreground);
    border-radius: 1rem;
    border-bottom-right-radius: 0.375rem;
    font-size: 0.875rem;
    line-height: 1.625;
    align-self: flex-end;
}

/* Suggestions */
.chat-suggestions .suggestions-label[b-xejwhv3041] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.suggestion-buttons[b-xejwhv3041] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.25rem;
}

    .suggestion-buttons button[b-xejwhv3041] {
        font-size: 0.75rem;
        padding: 0.375rem 0.75rem;
        border-radius: 9999px;
        border: 1px solid var(--border);
        background: var(--background);
        color: var(--foreground);
        transition: background 0.2s;
    }

        .suggestion-buttons button:hover[b-xejwhv3041] {
            background: var(--secondary);
        }

/* Input */
.chat-input[b-xejwhv3041] {
    display: flex;
    padding: 0.75rem 1rem;
    border-top: 1px solid var(--border);
    gap: 0.5rem;
}

    .chat-input input[b-xejwhv3041] {
        flex: 1;
        height: 2.5rem;
        border-radius: 9999px;
        border: 1px solid var(--border);
        padding: 0 1rem;
        font-size: 0.875rem;
        background: var(--primary-foreground);
    }

    .chat-input button[b-xejwhv3041] {
        width: 2.5rem;
        height: 2.5rem;
        border-radius: 50%;
        border: 0;
        background: var(--primary);
        color: var(--primary-foreground);
        display: flex;
        align-items: center;
        justify-content: center;
        transition: opacity 0.2s;
        user-select: none;
        touch-action: none;
        -webkit-user-select: none;
    }

    .chat-input button svg[b-xejwhv3041] {
        user-select: none;
        touch-action: none;
        -webkit-user-select: none;
    }

        .chat-input button:disabled[b-xejwhv3041] {
            opacity: 0.5;
            cursor: not-allowed;
        }

.chat-send-icon[b-xejwhv3041] {
    width: 1rem;
    height: 1rem;
}

.typing-dots[b-xejwhv3041] {
    display: flex;
    gap: 4px;
}

    .typing-dots span[b-xejwhv3041] {
        width: 6px;
        height: 6px;
        background-color: #999;
        border-radius: 50%;
        animation: blink-b-xejwhv3041 1.4s infinite;
    }

        .typing-dots span:nth-child(2)[b-xejwhv3041] {
            animation-delay: 0.2s;
        }

        .typing-dots span:nth-child(3)[b-xejwhv3041] {
            animation-delay: 0.4s;
        }

@keyframes blink-b-xejwhv3041 {
    0%, 80%, 100% {
        opacity: 0.2;
    }

    40% {
        opacity: 1;
    }
}

@media (min-width: 768px) {
    .chat-panel[b-xejwhv3041] {
        inset: auto;
        right: 1rem;
        bottom: 81px;
        width: 24rem;
        max-height: 520px;
        border-radius: 1rem;
        border: 1px solid var(--border);
        transition: width 0.3s ease, max-height 0.3s ease, right 0.3s ease, border-radius 0.3s ease;
    }

        .chat-panel.expanded[b-xejwhv3041] {
            width: min(780px, calc(100vw - 2rem));
            max-height: 70vh;
            right: 1rem;
            border-radius: 1rem;
        }
}

/* Mic button */
.chat-mic-btn[b-xejwhv3041] {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    border: 0;
    background: var(--secondary);
    color: var(--muted-foreground);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.2s, color 0.2s;
    touch-action: none; /* prevents scroll from interfering with hold gesture */
    cursor: pointer;
}

    .chat-mic-btn:disabled[b-xejwhv3041] {
        opacity: 0.35;
        cursor: not-allowed;
    }

    .chat-mic-btn.recording[b-xejwhv3041] {
        background: rgba(220, 38, 38, 0.12);
        color: rgb(220, 38, 38);
    }

.chat-mic-icon[b-xejwhv3041] {
    width: 1rem;
    height: 1rem;
    pointer-events: none;
}

/* Pulsing dot shown while recording */
.mic-pulse[b-xejwhv3041] {
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 50%;
    background: rgb(220, 38, 38);
    display: block;
    animation: mic-pulse-b-xejwhv3041 1s ease-in-out infinite;
    pointer-events: none;
}

@keyframes mic-pulse-b-xejwhv3041 {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.4);
        opacity: 0.6;
    }
}

/* Transcribing state */
.chat-mic-btn.transcribing[b-xejwhv3041] {
    background: rgba(234, 179, 8, 0.12);
    color: rgb(234, 179, 8);
}

.mic-spinner[b-xejwhv3041] {
    width: 0.85rem;
    height: 0.85rem;
    border-radius: 50%;
    border: 2px solid rgba(234, 179, 8, 0.3);
    border-top-color: rgb(234, 179, 8);
    display: block;
    animation: mic-spin-b-xejwhv3041 0.7s linear infinite;
    pointer-events: none;
}

@keyframes mic-spin-b-xejwhv3041 {
    to {
        transform: rotate(360deg);
    }
}
/* _content/WebappExplorer/Components/Layout/MainLayout.razor.rz.scp.css */
.app-container[b-n7he4xu3tu] {
    display: flex;
    flex-direction: column;
    min-height: 100vh; 
    box-sizing: border-box;
}

/* Conte�do principal: centralizado e limitado a 1400px */
.content[b-n7he4xu3tu] {
    flex: 1;
    overflow: visible;
    padding-bottom: var(--bottom-nav-height, 60px);
    max-width: 1400px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0;
    margin-bottom: 2.5rem;
}
/* _content/WebappExplorer/Components/Map/MapLegend.razor.rz.scp.css */
.map-legend[b-132xs90jxa] {
    margin-top: 1.5rem;
    padding: 1rem;
    background: var(--secondary);
    border-radius: 12px;
}

.map-legend-title[b-132xs90jxa] {
    font-weight: 500;
    font-size: 0.875rem;
    margin-bottom: 0.75rem;
    color: #111827;
}

.map-legend-items[b-132xs90jxa] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.legend-item[b-132xs90jxa] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: var(--muted-foreground);
}

.legend-dot[b-132xs90jxa] {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    color: var(--muted-foreground);
}

.legend-visited[b-132xs90jxa] {
    /*background: #007b42;*/
    background: var(--primary);
    border: 2px solid #2282a7;
}

.legend-to-visit[b-132xs90jxa] {
    background: var(--card);
    border: 2px solid #FFCE03;
    /*border: 2px solid var(--border);*/
}

.legend-start[b-132xs90jxa] {
    background: rgba(17, 24, 39, 0.8);
}

.legend-line[b-132xs90jxa] {
    width: 24px;
    height: 0;
    border-top: 2px solid #FFCE08;
    /*border-top: 2px dashed var(--primary);*/
}
/* _content/WebappExplorer/Components/Map/TourRoute.razor.rz.scp.css */
.tour-route[b-ggs8v0pcxv] {
    margin-top: 1.5rem;
   
}

    .tour-route h2[b-ggs8v0pcxv] {
        font-size: 1.25rem;
        font-weight: 500;
        margin-bottom: 1rem;
        color: var(--foreground);
        font-family: var(--font-geist);
    }

.tour-map[b-ggs8v0pcxv] {
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
    aspect-ratio: 5 / 2;
    background-color: #fff;
    /*background-color: #ebe7e0;*/
}

    .tour-map svg[b-ggs8v0pcxv] {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }

.wave-bottom[b-ggs8v0pcxv] {
    fill: #294d5b33;
}

.wave-top[b-ggs8v0pcxv] {
    fill: #38332e0d;
}

.route-line[b-ggs8v0pcxv] {
    stroke: var(--primary);
    stroke-width: 2;
    stroke-dasharray: 10 1;
}

.poi[b-ggs8v0pcxv] {
    z-index: 10;
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    opacity: 1;
}

.poi-circle[b-ggs8v0pcxv] {
    position: relative;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #ffc727;
    background: #fcee31;
    color: var(--foreground);
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    transition: all 0.2s;
}

    .poi-circle span:first-child[b-ggs8v0pcxv] {
        font-weight: bold;
        font-size: 0.8rem;
        z-index: 10;
    }

.ping[b-ggs8v0pcxv] {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    /*background: #294d5b33;*/
    background: #ffc107ab;
    animation: ping-b-ggs8v0pcxv 1s infinite;
    z-index: -1;
}

@keyframes ping-b-ggs8v0pcxv {
    0% {
        transform: scale(1);
        opacity: 1;
    }

    75%, 100% {
        transform: scale(2);
        opacity: 0;
    }
}

.poi-label[b-ggs8v0pcxv] {
    margin-top: 0.5rem;
    padding: 0.175rem 0.5rem;
    background: var(--card);
    border-radius: 0.75rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    color: var(--foreground);
    font-weight: 700;
    border: 1px solid #e5e7eb;
}

    .poi-label p[b-ggs8v0pcxv] {
        font-size: 0.715rem;
        font-weight: 700;
        color: var(--foreground);
        white-space: nowrap;
        margin: 0;
    }

.poi-start[b-ggs8v0pcxv] {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.start-circle[b-ggs8v0pcxv] {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: #38332ecc;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--card);
    font-size: 0.75rem;
    font-weight: bold;
}

.poi-start p[b-ggs8v0pcxv] {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: var(--foreground);
    white-space: nowrap;
}

.tour-legend[b-ggs8v0pcxv] {
    position: absolute;
    bottom: 0.75rem;
    left: 0.75rem;
    display: flex;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem;
    background: var(--card);
    border-radius: 0.75rem;
    border: 1px solid #e5e7eb;
}

.legend-item[b-ggs8v0pcxv] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.visited-dot[b-ggs8v0pcxv] {
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 50%;
    /*background: var(--primary);*/
    /*border: 2px solid #007b42;*/
    background: var(--primary);
    border: 2px solid #2282a7;
}

.to-visit-dot[b-ggs8v0pcxv] {
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 50%;
    border: 2px solid #FFCE03;
    background: var(--card);
}

.legend-item span[b-ggs8v0pcxv] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.tour-preview-image[b-ggs8v0pcxv] {
    width: 100%;
    /*height: 100%;*/
}
.map_show_desktop[b-ggs8v0pcxv] {
    display: block;
}

.map_show_mobile[b-ggs8v0pcxv] {
    display: none;
}

@media (max-width: 768px) {
    .tour-map[b-ggs8v0pcxv] {
        aspect-ratio: 5 / 5;
    }

    .map_show_desktop[b-ggs8v0pcxv] {
        display: none;
    }

    .map_show_mobile[b-ggs8v0pcxv] {
        display: block;
    }
}

.route[b-ggs8v0pcxv] {
    fill: none;
    stroke: #F2C94C;
    stroke-width: 8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
/* _content/WebappExplorer/Components/Map/Waypoints.razor.rz.scp.css */


.poi[b-pek9cwsn8e] {
    z-index: 10;
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    opacity: 1;
}

.poi-circle[b-pek9cwsn8e] {
    position: relative;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #ffc727;
    background: #fcee31;
    color: var(--foreground);
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    transition: all 0.2s;
}

    .poi-circle span:first-child[b-pek9cwsn8e] {
        font-weight: bold;
        font-size: 0.9rem;
        line-height: 1.6;
        color: white;
        z-index: 10;
    }

.ping[b-pek9cwsn8e] {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: #ffc107ab;
    animation: ping-b-pek9cwsn8e 1s infinite;
    z-index: -1;
}

@keyframes ping-b-pek9cwsn8e {
    0% {
        transform: scale(1);
        opacity: 1;
    }

    75%, 100% {
        transform: scale(2);
        opacity: 0;
    }
}

.poi-label[b-pek9cwsn8e] {
    margin-top: 0.5rem;
    padding: 0.175rem 0.5rem;
    background: var(--card);
    border-radius: 0.75rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    color: var(--foreground);
    font-weight: 700;
    border: 1px solid #e5e7eb;
}

    .poi-label p[b-pek9cwsn8e] {
        font-size: 0.715rem;
        font-weight: 700;
        color: var(--foreground);
        white-space: nowrap;
        margin: 0;
    }

.poi-start[b-pek9cwsn8e] {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.poi-done .poi-circle[b-pek9cwsn8e] {
    /*background: #007b42 !important;
    border-color: #007b42 !important;*/
    background: var(--primary) !important;
    border-color: #2282a7 !important;
}

    .poi-done .poi-circle .ping[b-pek9cwsn8e] {
        display: none;
    }

.wp-dist[b-pek9cwsn8e] {
    top: 21px;
    font-size: 8px;
    position: absolute;
    width: max-content;
}

.start-circle[b-pek9cwsn8e] {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: #38332ecc;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--card);
    font-size: 0.75rem;
    font-weight: bold;
}

.poi-start p[b-pek9cwsn8e] {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: var(--foreground);
    white-space: nowrap;
}

#wp_1[b-pek9cwsn8e] {
    left: 9.7%;
    top: 49.5%;
}

    #wp_1 .poi-circle[b-pek9cwsn8e] {
        border-color: #FFCE03;
        background-color: #5278B9;
    }

#wp_2[b-pek9cwsn8e] {
    left: 5%;
    top: 46.5%;
}

    #wp_2 .poi-circle[b-pek9cwsn8e] {
        border-color: #FFCE03;
        background-color: #718638;
    }

#wp_3[b-pek9cwsn8e] {
    left: 13.8%;
    top: 46.5%;
}

    #wp_3 .poi-circle[b-pek9cwsn8e] {
        border-color: #FFCE03;
        background-color: #0A405A;
    }

#wp_4[b-pek9cwsn8e] {
    left: 8.8%;
    top: 30%;
}

    #wp_4 .poi-circle[b-pek9cwsn8e] {
        border-color: #FFCE03;
        background-color: #4D652E;
    }

#wp_5[b-pek9cwsn8e] {
    left: 32%;
    top: 48%;
}

    #wp_5 .poi-circle[b-pek9cwsn8e] {
        border-color: #FFCE03;
        background-color: #BC962E;
    }

#wp_6[b-pek9cwsn8e] {
    left: 48.6%;
    top: 45.3%;
}

    #wp_6 .poi-circle[b-pek9cwsn8e] {
        border-color: #FFCE03;
        background-color: #027DBD;
    }

#wp_7[b-pek9cwsn8e] {
    left: 61.5%;
    top: 31.5%;
}

    #wp_7 .poi-circle[b-pek9cwsn8e] {
        border-color: #FFCE03;
        background-color: #D28D32;
    }

#wp_8[b-pek9cwsn8e] {
    left: 44%;
    top: 49%;
}

    #wp_8 .poi-circle[b-pek9cwsn8e] {
        border-color: #FFCE03;
        background-color: #D3664B;
    }

#wp_9[b-pek9cwsn8e] {
    left: 70%;
    top: 26%;
}

    #wp_9 .poi-circle[b-pek9cwsn8e] {
        border-color: #FFCE03;
        background-color: #86BCDE;
    }

@media screen and (max-width: 768px) {
    #wp_1[b-pek9cwsn8e] {
        left: 7.3%;
        top: 58%;
    }

    #wp_2[b-pek9cwsn8e] {
        left: 3%;
        top: 54%;
    }

    #wp_3[b-pek9cwsn8e] {
        left: 11%;
        top: 54%;
    }

    #wp_4[b-pek9cwsn8e] {
        left: 7%;
        top: 34%;
    }

    #wp_5[b-pek9cwsn8e] {
        left: 30%;
        top: 56%;
    }

    #wp_6[b-pek9cwsn8e] {
        left: 47.5%;
        top: 51%;
    }

    #wp_7[b-pek9cwsn8e] {
        left: 57%;
        top: 40%;
    }

    #wp_8[b-pek9cwsn8e] {
        left: 43%;
        top: 57%;
    }

    #wp_9[b-pek9cwsn8e] {
        left: 69%;
        top: 30%;
    }
}
/* ── User location dot ─────────────────────────────────────────────── */

/* 44×44 container centred on the left/top % from the inline style.
   translate(-50%,-50%) moves it back by half its own size so the
   centre of the dot — and the cone apex — land exactly on the point. */
.user-location[b-pek9cwsn8e] {
    position: absolute;
    z-index: 20;
    width: 44px;
    height: 44px;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

/* Heading cone — 44×36, apex (bottom-centre) sits at container centre (22,22).
   top: -14px  →  apex y = -14 + 36 = 22 ✓
   transform-origin: 50% 100% rotates from the apex. */
.user-location-cone[b-pek9cwsn8e] {
    position: absolute;
    width: 44px;
    height: 36px;
    left: 0;
    top: -14px;
    transform-origin: 50% 100%;
    clip-path: polygon(50% 100%, 18% 0%, 82% 0%);
    background: rgba(37, 99, 235, 0.28);
    z-index: 1;
}

/* Dot — centred in container: (44-14)/2 = 15px */
.user-location-dot[b-pek9cwsn8e] {
    position: absolute;
    width: 14px;
    height: 14px;
    left: 15px;
    top: 15px;
    border-radius: 50%;
    background: #2563eb;
    border: 2.5px solid #ffffff;
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.5);
    z-index: 3;
}

/* Pulse ring — same position as dot */
.user-location-pulse[b-pek9cwsn8e] {
    position: absolute;
    width: 14px;
    height: 14px;
    left: 15px;
    top: 15px;
    border-radius: 50%;
    background: rgba(37, 99, 235, 0.35);
    animation: user-ping-b-pek9cwsn8e 1.8s ease-out infinite;
    z-index: 2;
}

@keyframes user-ping-b-pek9cwsn8e {
    0% {
        transform: scale(1);
        opacity: 0.8;
    }

    100% {
        transform: scale(3.5);
        opacity: 0;
    }
}

.user-location.map_show_desktop[b-pek9cwsn8e] {
    display: block;
}

.user-location.map_show_mobile[b-pek9cwsn8e] {
    display: none;
}

@media (max-width: 768px) {
    .user-location.map_show_desktop[b-pek9cwsn8e] {
        display: none;
    }

    .user-location.map_show_mobile[b-pek9cwsn8e] {
        display: block;
    }
}

/* ── User location pin ─────────────────────────────────────────────── */

/* Container: GPS point is at the PIN TIP = bottom-centre.
   translate(-50%, -100%) shifts the element left by half its width
   and up by its full height so the bottom-centre lands on left/top %.
   z-index 5 keeps it below waypoints (z-index 10). */
.user-location[b-pek9cwsn8e] {
    position: absolute;
    z-index: 5;
    width: 28px;
    height: 36px;
    transform: translate(-50%, -100%);
    pointer-events: none;
    overflow: visible; /* cone may extend outside the container bounds */
}

/* Heading cone — apex at pin tip = bottom-centre of container (14, 36).
   Cone is 44×36 px; to align apex:
     left = containerW/2 − coneW/2 = 14 − 22 = −8px
     top  = containerH − coneH    = 36 − 36 =  0px   */
.user-location-cone[b-pek9cwsn8e] {
    position: absolute;
    width: 44px;
    height: 36px;
    left: -8px;
    top: 0;
    transform-origin: 50% 100%;
    clip-path: polygon(50% 100%, 18% 0%, 82% 0%);
    background: rgba(41, 77, 91, 0.22);
    z-index: 1;
}

/* SVG pin — sits at (0,0) and fills the container exactly */
.user-location-pin-svg[b-pek9cwsn8e] {
    position: relative;
    display: block;
    z-index: 3;
    filter: drop-shadow(0 2px 6px rgba(0,0,0,0.28));
}

/* Pulse ring — centred on the pin tip (14, 36).
   Ring size 16px: left = 14 − 8 = 6px; top = 36 − 8 = 28px */
.user-location-pulse[b-pek9cwsn8e] {
    position: absolute;
    width: 16px;
    height: 16px;
    left: 6px;
    top: 28px;
    border-radius: 50%;
    background: rgba(41, 77, 91, 0.3);
    animation: user-ping-b-pek9cwsn8e 2s ease-out infinite;
    z-index: 2;
}

@keyframes user-ping-b-pek9cwsn8e {
    0% {
        transform: scale(1);
        opacity: 0.7;
    }

    100% {
        transform: scale(3.2);
        opacity: 0;
    }
}

.user-location.map_show_desktop[b-pek9cwsn8e] {
    display: block;
}

.user-location.map_show_mobile[b-pek9cwsn8e] {
    display: none;
}

@media (max-width: 768px) {
    .user-location.map_show_desktop[b-pek9cwsn8e] {
        display: none;
    }

    .user-location.map_show_mobile[b-pek9cwsn8e] {
        display: block;
    }
}

/* ── Locate-me button ──────────────────────────────────────────────── */

.locate-btn[b-pek9cwsn8e] {
    position: absolute;
    bottom: 0.75rem;
    right: 0.75rem;
    z-index: 150;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--foreground);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    padding: 0;
}

    .locate-btn:hover:not(:disabled)[b-pek9cwsn8e] {
        background: var(--secondary);
        border-color: var(--primary);
    }

.locate-btn--active[b-pek9cwsn8e] {
    background: var(--primary);
    border-color: var(--primary);
    color: var(--primary-foreground);
}

    .locate-btn--active:hover:not(:disabled)[b-pek9cwsn8e] {
        background: var(--primary);
    }

.locate-btn:disabled[b-pek9cwsn8e] {
    cursor: default;
    opacity: 0.7;
}

.locate-spinner[b-pek9cwsn8e] {
    animation: spin-b-pek9cwsn8e 0.8s linear infinite;
    transform-origin: center;
}

@keyframes spin-b-pek9cwsn8e {
    to {
        transform: rotate(360deg);
    }
}

/* ── One-time locate tooltip ───────────────────────────────────────── */

.locate-tooltip[b-pek9cwsn8e] {
    position: absolute;
    bottom: calc(0.75rem + 36px + 10px); /* sits above the button */
    right: 0.75rem;
    background: rgba(28, 28, 30, 0.92);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 500;
    line-height: 1.4;
    padding: 0.45rem 0.7rem;
    border-radius: 8px;
    white-space: nowrap;
    z-index: 200;
    pointer-events: none;
    box-shadow: 0 2px 10px rgba(0,0,0,0.28);
    animation: tooltip-in-b-pek9cwsn8e 0.2s ease-out;
}

    /* Downward arrow pointing toward the button */
    .locate-tooltip[b-pek9cwsn8e]::after {
        content: '';
        position: absolute;
        bottom: -6px;
        right: 12px;
        border-left: 6px solid transparent;
        border-right: 6px solid transparent;
        border-top: 6px solid rgba(28, 28, 30, 0.92);
    }

@keyframes tooltip-in-b-pek9cwsn8e {
    from {
        opacity: 0;
        transform: translateY(4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* _content/WebappExplorer/Components/POI/AskQuestion.razor.rz.scp.css */
.question-card[b-31ep9uxyjm] {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 1rem;
    padding: 1rem;
}

.question-header[b-31ep9uxyjm] {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
}

.icon-circle[b-31ep9uxyjm] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #294d5b1a;
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon[b-31ep9uxyjm] {
    width: 20px;
    height: 20px;
    color: var(--primary);
}

.question-header h3[b-31ep9uxyjm] {
    font-size: 20px;
    font-weight: 700;
    margin: 0;
    font-family: var(--font-serif)
}

.question-header p[b-31ep9uxyjm] {
    font-size: .85rem;
    color: var(--muted-foreground);
    margin: 2px 0 0 0;
}

.question-form[b-31ep9uxyjm] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.textarea-wrapper textarea[b-31ep9uxyjm] {
    width: 100%;
    padding: 14px;
    border-radius: 12px;
    background: var(--primary-foreground);
    border: 1px solid var(--border);
    resize: none;
    font-size: 1rem;
}

    .textarea-wrapper textarea:focus[b-31ep9uxyjm] {
        outline: none;
        border-color: #6366f1;
        box-shadow: 0 0 0 2px rgba(99,102,241,0.2);
    }

button[b-31ep9uxyjm] {
    width: 185px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 22px;
    background: var(--primary);
    color: white;
    border: none;
    border-radius: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: 0.2s;
}

    button:hover[b-31ep9uxyjm] {
        background: #294d5be6;
    }

    button:disabled[b-31ep9uxyjm] {
        opacity: 0.5;
        cursor: not-allowed;
    }

.send-icon[b-31ep9uxyjm] {
    width: 16px;
    height: 16px;
}
/* _content/WebappExplorer/Components/POI/PoiGallery.razor.rz.scp.css */
/* FileGallery.razor.css */

/* ── Section wrapper ─────────────────────────────────────────────────────── */
.gallery-section[b-w9ydt5etwc] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 1.5rem;
}

/* ── Header ──────────────────────────────────────────────────────────────── */
.gallery-header[b-w9ydt5etwc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 2px;
}

.gallery-title[b-w9ydt5etwc] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 1rem;
    font-family: var(--font-geist);
    font-weight: 500;
    color: #1a1a1a;
}

.gallery-icon[b-w9ydt5etwc] {
    width: 18px;
    height: 18px;
    color: #4b7c59;
}

.gallery-count[b-w9ydt5etwc] {
    font-size: 0.82rem;
    color: #888;
}

/* ── Scroll track (the horizontal strip) ─────────────────────────────────── */
.gallery-scroll-track[b-w9ydt5etwc] {
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
    padding-bottom: 4px;
}

    .gallery-scroll-track[b-w9ydt5etwc]::-webkit-scrollbar {
        display: none; /* Chrome / Safari */
    }

.gallery-strip[b-w9ydt5etwc] {
    display: flex;
    flex-direction: row;
    gap: 8px;
    width: max-content;
    padding: 2px 2px 4px;
}

/* ── Individual item shared ──────────────────────────────────────────────── */
.gallery-item[b-w9ydt5etwc] {
    flex: 0 0 auto;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    position: relative;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
}

    .gallery-item:active[b-w9ydt5etwc] {
        transform: scale(0.97);
    }

/* ── Image items ─────────────────────────────────────────────────────────── */
.gallery-item--image[b-w9ydt5etwc] {
    width: 180px;
    height: 160px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.12);
}

    .gallery-item--image:hover[b-w9ydt5etwc] {
        box-shadow: 0 6px 18px rgba(0,0,0,0.18);
        transform: translateY(-2px);
    }

.gallery-img-wrap[b-w9ydt5etwc] {
    width: 100%;
    height: 100%;
    position: relative;
}

    .gallery-img-wrap img[b-w9ydt5etwc] {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

/* ── Document items ──────────────────────────────────────────────────────── */
.gallery-item--doc[b-w9ydt5etwc] {
    width: 120px;
    height: 160px;
    background: #f5f5f5;
    border: 1.5px solid #e8e8e8;
    box-shadow: 0 1px 6px rgba(0,0,0,0.07);
}

    .gallery-item--doc:hover[b-w9ydt5etwc] {
        background: #eef4ef;
        border-color: #c5d9c9;
        box-shadow: 0 4px 14px rgba(0,0,0,0.10);
        transform: translateY(-2px);
    }

.gallery-doc-wrap[b-w9ydt5etwc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 100%;
    padding: 14px 10px 10px;
    box-sizing: border-box;
}

.gallery-doc-icon[b-w9ydt5etwc] {
    width: 25px;
    height: 25px;
    object-fit: contain;
    flex-shrink: 0;
}

.gallery-doc-name[b-w9ydt5etwc] {
    font-size: 0.72rem;
    font-weight: 600;
    color: #333;
    text-align: center;
    word-break: break-all;
    line-height: 1.3;
    max-height: 3.2em;
    overflow: hidden;
}

.gallery-doc-ext[b-w9ydt5etwc] {
    font-size: 0.65rem;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: #e8e8e8;
    padding: 2px 6px;
    border-radius: 4px;
}

.gallery-doc-action[b-w9ydt5etwc] {
    margin-top: 4px;
}

    .gallery-doc-action svg[b-w9ydt5etwc] {
        width: 16px;
        height: 16px;
        color: #4b7c59;
        opacity: 0.75;
    }

/* ── Empty state ─────────────────────────────────────────────────────────── */
.gallery-empty[b-w9ydt5etwc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 100px;
    color: #bbb;
    font-size: 0.85rem;
}

    .gallery-empty svg[b-w9ydt5etwc] {
        width: 32px;
        height: 32px;
    }

/* ── Overlay / Lightbox ──────────────────────────────────────────────────── */
.gallery-overlay[b-w9ydt5etwc] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.72);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
    animation: overlayIn-b-w9ydt5etwc 0.2s ease;
}

@keyframes overlayIn-b-w9ydt5etwc {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.gallery-modal[b-w9ydt5etwc] {
    position: relative;
    background: #fff;
    border-radius: 16px;
    max-width: min(92vw, 780px);
    max-height: 88vh;
    width: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 24px 80px rgba(0,0,0,0.4);
    animation: modalIn-b-w9ydt5etwc 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes modalIn-b-w9ydt5etwc {
    from {
        opacity: 0;
        transform: scale(0.92);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

.gallery-modal__close[b-w9ydt5etwc] {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 10;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: none;
    background: rgba(0,0,0,0.12);
    backdrop-filter: blur(4px);
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.15s;
}

    .gallery-modal__close:hover[b-w9ydt5etwc] {
        background: rgba(0,0,0,0.22);
    }

    .gallery-modal__close svg[b-w9ydt5etwc] {
        width: 16px;
        height: 16px;
    }

/* Image preview */
.gallery-modal__img-wrap[b-w9ydt5etwc] {
    flex: 1;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f0f0;
    max-height: calc(88vh - 44px);
}

    .gallery-modal__img-wrap img[b-w9ydt5etwc] {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
        display: block;
    }

/* PDF preview */
.gallery-modal__pdf-wrap[b-w9ydt5etwc] {
    flex: 1;
    overflow: hidden;
    height: calc(88vh - 44px);
}

    .gallery-modal__pdf-wrap iframe[b-w9ydt5etwc] {
        width: 100%;
        height: 100%;
        border: none;
        display: block;
    }

/* Plain-text / JSON / XML / CSV preview */
.gallery-modal__text-wrap[b-w9ydt5etwc] {
    flex: 1;
    overflow: auto;
    padding: 20px;
    background: #1e1e2e;
    max-height: calc(88vh - 44px);
}

    .gallery-modal__text-wrap pre[b-w9ydt5etwc] {
        margin: 0;
        font-family: 'Cascadia Code', 'Fira Code', 'Consolas', monospace;
        font-size: 0.8rem;
        line-height: 1.6;
        color: #cdd6f4;
        white-space: pre-wrap;
        word-break: break-all;
    }

/* Caption */
.gallery-modal__caption[b-w9ydt5etwc] {
    padding: 10px 16px;
    font-size: 0.8rem;
    color: #666;
    text-align: center;
    border-top: 1px solid #f0f0f0;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    background: #fff;
}

/* ── Responsive tweaks ────────────────────────────────────────────────────── */
@media (max-width: 480px) {
    .gallery-item--image[b-w9ydt5etwc] {
        width: 155px;
        height: 140px;
    }

    .gallery-item--doc[b-w9ydt5etwc] {
        width: 110px;
        height: 145px;
    }
}
/* _content/WebappExplorer/Components/POI/PoiInfoCard.razor.rz.scp.css */
.container-card[b-mxme8mhbkw] {
    background: var(--card);
    border-radius: 1rem;
    padding: 1.25rem;
    margin-top: -4.75rem;
    border: 1px solid var(--border);
    box-shadow: 0 10px 20px rgba(0,0,0,0.06);
    margin-bottom: 1.5rem;
    position: relative;
    z-index: 10;
}

[b-mxme8mhbkw] .tag-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}
    [b-mxme8mhbkw] .tag-row .tag {
        margin-bottom: 0;
    }

[b-mxme8mhbkw] .tag {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 0.75rem;
    border-radius: 9999px;
    color: var(--tag-color, var(--muted-foreground));
    background-color: var(--tag-bg, var(--secondary));
    font-size: 0.75rem;
    margin-bottom: 1rem;
}

[b-mxme8mhbkw] .tag-visited {
    --tag-color: #ffffff;
    --tag-bg: #294D5B;
    color: #ffffff;
    background-color: #294D5B;
}

.title[b-mxme8mhbkw] {
    font-family: var(--font-geist);
    font-weight: 500;
    font-size: 1.5rem;
    color: #111827;
    margin-bottom: 0.5rem;
}

.description[b-mxme8mhbkw] {
    font-size: 0.875rem;
    color: var(--muted-foreground);
    line-height: 1.5rem;
    margin-bottom: 1.5rem;
}

.grid-info[b-mxme8mhbkw] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
}

.info-card[b-mxme8mhbkw] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.5rem;
    border-radius: 1rem;
    background-color: var(--secondary);
}

.info-label[b-mxme8mhbkw] {
    font-size: 0.75rem;
    color: var(--muted-foreground);
    margin-bottom: 0;
}

.info-text[b-mxme8mhbkw] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--foreground);
}
/* _content/WebappExplorer/Components/POI/PoiParentContexts.razor.rz.scp.css */
.accordion-card[b-19033v8it8] {
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
    background: var(--card);
    margin-bottom: 16px;
}

.accordion-header[b-19033v8it8] {
    width: 100%;
    padding: 16px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--card);
    border: none;
    cursor: pointer;
    font-weight: 600;
}

    .accordion-header:hover[b-19033v8it8] {
        background: var(--secondary);
    }

.accordion-title[b-19033v8it8] {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--muted-foreground);
    font-family: var(--font-geist);
    font-weight: 500;
}

.chevron[b-19033v8it8] {
    transition: transform 0.3s;
    color: var(--muted-foreground);
}

    .chevron.rotate[b-19033v8it8] {
        transform: rotate(180deg);
    }

.accordion-body[b-19033v8it8] {
    padding: 1rem;
}

    .accordion-body h4[b-19033v8it8] {
        margin: 0 0 4px 0;
        font-size: 1.05rem;
        color: var(--foreground);
    }

    .accordion-body p[b-19033v8it8] {
        font-size: 0.875rem;
        color: var(--muted-foreground);
        line-height: 1.5rem;
        margin-bottom: .5rem;
    }
.tags-wrapper[b-19033v8it8] {
    margin-top: 12px;
}

.tags-title[b-19033v8it8] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--muted-foreground);
    margin-bottom: 6px;
}
.tags[b-19033v8it8] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tag[b-19033v8it8] {
    padding: 6px 12px;
    font-size: 0.75rem;
    border-radius: 999px;
    background: var(--secondary);
    color: var(--tag-color, var(--muted-foreground));
    border: 1px solid var(--border);
    transition: all 0.2s ease;
    cursor: default;
}

    /* hover subtil */
    .tag:hover[b-19033v8it8] {
        cursor: pointer;
    }
/* _content/WebappExplorer/Components/POI/ProductAccordion.razor.rz.scp.css */

.accordion-card[b-rfkb4aj9hs] {
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
    background: var(--card);
    margin-bottom: 16px;
}

.accordion-header[b-rfkb4aj9hs] {
    width: 100%;
    padding: 16px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--card);
    border: none;
    cursor: pointer;
    font-weight: 600;
}

    .accordion-header:hover[b-rfkb4aj9hs] {
        background: var(--secondary);
    }

.accordion-title[b-rfkb4aj9hs] {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #698131;
}

.icon[b-rfkb4aj9hs] {
    color: var(--muted-foreground);
}

.chevron[b-rfkb4aj9hs] {
    transition: transform 0.3s;
    color: var(--muted-foreground);
}

    .chevron.rotate[b-rfkb4aj9hs] {
        transform: rotate(180deg);
    }

.accordion-body[b-rfkb4aj9hs] {
    padding: 1rem 1rem 0 1rem;
}

.fact[b-rfkb4aj9hs] {
    border-left: 2px solid #ddd;
    padding-left: 12px;
    margin-bottom: 16px;
}

    .fact h4[b-rfkb4aj9hs], .timeline-item h4[b-rfkb4aj9hs], .accordion-body h4[b-rfkb4aj9hs] {
        margin: 0 0 4px 0;
        font-size: 1.05rem;
        color: var(--foreground);
    }

    .fact p[b-rfkb4aj9hs], .timeline-item p[b-rfkb4aj9hs], .accordion-body p[b-rfkb4aj9hs] {
        font-size: 0.875rem;
        color: var(--muted-foreground);
        line-height: 1.5rem;
        margin-bottom: 1.5rem;
    }

.timeline-item[b-rfkb4aj9hs] {
    display: flex;
    gap: 16px;
}

.timeline-number[b-rfkb4aj9hs] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    color: #698131;
}

.tags[b-rfkb4aj9hs] {
    margin-top: 1rem;
    margin-bottom: 1.5rem;
}

    .tags span[b-rfkb4aj9hs] {
        display: inline-block;
        margin-left: 1rem;
        font-size: .85rem;
        font-weight: 500;
        color: #698131;
        
    }
/* _content/WebappExplorer/Components/QR/QRInfoCard.razor.rz.scp.css */

.qr-info[b-zw6z2438fy] {
    margin-top: 1rem; 
    max-width: 24rem;
    margin-left: auto;
    margin-right: auto; 
    background-color: var(--secondary); 
    border-radius: 1rem; 
    padding: 1rem; 
}

    .qr-info h3[b-zw6z2438fy] {
        font-family: var(--font-geist);
        font-weight: 500;
        font-size: 0.875rem;
        color: var(--foreground);
        margin-bottom: 0.5rem;
    }

    .qr-info ul[b-zw6z2438fy] {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
        font-size: 0.75rem; 
        color: var(--muted-foreground); 
    }

    .qr-info li[b-zw6z2438fy] {
        display: flex;
        align-items: flex-start;
        gap: 0.5rem; 
    }

        .qr-info li span[b-zw6z2438fy] {
            width: 1.25rem; 
            height: 1.25rem; 
            border-radius: 9999px; 
            background-color: rgba(59, 130, 246, 0.1); 
            color: var(--primary); 
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            font-size: 0.75rem; 
            font-weight: bold;
        }
/* _content/WebappExplorer/Components/QR/QrScanner.razor.rz.scp.css */
.qr-scanner[b-cqmmlnf8tk] {
    margin-top: 1rem;
    margin-bottom: 2rem;
    max-width: 24rem;
    margin-left: auto;
    margin-right: auto;
}

.aspect-square[b-cqmmlnf8tk] {
    aspect-ratio: 1 / 1;
}

.rounded-2xl[b-cqmmlnf8tk] {
    border-radius: 1rem;
}

.qr-alert[b-cqmmlnf8tk] {
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 1rem;
    background-color: rgba(220, 38, 38, 0.1);
    border: 1px solid rgba(220, 38, 38, 0.2);
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    opacity: 1;
    transform: none;
}

    .qr-alert svg[b-cqmmlnf8tk] {
        width: 1.25rem;
        height: 1.25rem;
        color: rgb(220, 38, 38);
        flex-shrink: 0;
        margin-top: 0.125rem;
    }

    .qr-alert p:first-of-type[b-cqmmlnf8tk] {
        font-weight: 500;
        font-size: 0.875rem;
        color: var(--foreground);
        margin: 0;
    }

    .qr-alert p:last-of-type[b-cqmmlnf8tk] {
        font-weight: 400;
        font-size: 0.75rem;
        color: var(--muted-foreground);
        margin-top: 0.25rem;
        margin-bottom: 0;
    }

    .qr-alert button[b-cqmmlnf8tk] {
        margin-top: 0.75rem;
        font-weight: 600;
        font-size: 0.875rem;
        color: var(--primary);
        background: none;
        border: none;
        padding: 0;
        cursor: pointer;
    }

        .qr-alert button:hover[b-cqmmlnf8tk] {
            text-decoration: underline;
        }

.qr-searching[b-cqmmlnf8tk] {
    margin-top: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

    .qr-searching svg[b-cqmmlnf8tk] {
        width: 1rem;
        height: 1rem;
        color: var(--primary);
    }

    .qr-searching span[b-cqmmlnf8tk] {
        font-size: 0.875rem;
        color: var(--muted-foreground);
    }

#qr-reader video[b-cqmmlnf8tk] {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

#qr-reader canvas[b-cqmmlnf8tk] {
    width: 100% !important;
    height: 100% !important;
}

#qr-reader__dashboard[b-cqmmlnf8tk],
#qr-reader__status_span[b-cqmmlnf8tk],
#qr-reader__header_message[b-cqmmlnf8tk] {
    display: none !important;
}

#qr-reader[b-cqmmlnf8tk] {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.qr-switch-btn[b-cqmmlnf8tk] {
    position: absolute;
    top: 0.625rem;
    right: 0.625rem;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 9999px;
    background-color: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #ffffff;
    cursor: pointer;
    transition: background-color 0.15s ease, transform 0.15s ease;
    padding: 0;
}

    .qr-switch-btn:hover[b-cqmmlnf8tk] {
        background-color: rgba(0, 0, 0, 0.65);
    }

    .qr-switch-btn:active[b-cqmmlnf8tk] {
        transform: rotate(180deg);
    }

    .qr-switch-btn svg[b-cqmmlnf8tk] {
        pointer-events: none;
    }

/* Success alert variant */
.qr-alert--poi_title[b-cqmmlnf8tk] {
    font-weight: 600 !important;
    font-size: 0.875rem !important;
}
.qr-alert-info[b-cqmmlnf8tk] {
    width: 100%;
}
.qr-alert--success[b-cqmmlnf8tk] {
    background-color: rgba(22, 163, 74, 0.1) !important;
    border: 1px solid rgba(22, 163, 74, 0.2) !important;
}

    .qr-alert--success svg[b-cqmmlnf8tk] {
        color: rgb(22, 163, 74) !important;
    }

    .qr-alert--success button[b-cqmmlnf8tk] {
        width: calc(100% - 2.25rem) !important;
        padding: 10px 5px;
        border-radius: 10px;
        margin-top: 0 !important;
        color: rgb(22, 163, 74) !important;
        border: 1px solid rgba(22, 163, 74, 0.2) !important;
    }

    .qr-alert--success .qr-alert__actions[b-cqmmlnf8tk] {
        margin-top: 1rem !important;
    }

.qr-alert__actions[b-cqmmlnf8tk] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    /*margin-top: 0.75rem;*/
}

    .qr-alert__actions button[b-cqmmlnf8tk] {
        width: 100%;
    }

/* Paused alert variant */
.qr-alert--paused[b-cqmmlnf8tk] {
    background-color: rgba(234, 179, 8, 0.1);
    border-color: rgba(234, 179, 8, 0.2);
}

    .qr-alert--paused svg[b-cqmmlnf8tk] {
        color: rgb(234, 179, 8);
    }
/* _content/WebappExplorer/Components/Shared/AppHeader.razor.rz.scp.css */
.app-header[b-rx6ob7ijia] {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    position: sticky;
    top: 0;
    z-index: 40;
    background-color: #faf8f5f2;
    backdrop-filter: blur(5px);
    border-bottom: 1px solid var(--border);
}

    .app-header .container[b-rx6ob7ijia] {
        width: 100%;
        padding: 1rem;
        display: flex;
        align-items: center;
    }

    .app-header .left[b-rx6ob7ijia] {
        display: flex;
        align-items: center;
        gap: 0.75rem;
    }

    .app-header h1[b-rx6ob7ijia] {
        font-family: var(--font-geist);
        font-weight: 500;
        font-size: 1.125rem;
        color: var(--foreground);
        margin: 0;
    }

.back-button[b-rx6ob7ijia] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    border-radius: 0.75rem;
    transition: background-color 0.2s;
    color: var(--foreground);
    text-decoration: none;
}

    .back-button:hover[b-rx6ob7ijia] {
        background-color: var(--secondary);
    }

.icon[b-rx6ob7ijia] {
    width: 1.25rem;
    height: 1.25rem;
}
/* _content/WebappExplorer/Components/Shared/ItemCard.razor.rz.scp.css */
.item-card[b-m5p7k0cjjp] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem;
    background: var(--card);
    border-radius: 0.75rem;
    border: 1px solid var(--border);
    text-decoration: none;
    transition: box-shadow 0.2s ease;
}

    .item-card:hover[b-m5p7k0cjjp] {
        box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    }

.item-card-image[b-m5p7k0cjjp] {
    width: 64px;
    height: 64px;
    border-radius: 0.75rem;
    overflow: hidden;
    flex-shrink: 0;
}

    .item-card-image img[b-m5p7k0cjjp] {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.item-card-content[b-m5p7k0cjjp] {
    flex: 1;
    min-width: 0;
}

.item-card-header[b-m5p7k0cjjp] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.25rem;
}

.item-card-number[b-m5p7k0cjjp] {
    min-width: 24px;
    height: 24px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: bold;
    color: var(--muted-foreground);
    background-color: #ebe7e0;
}

.item-card-title[b-m5p7k0cjjp] {
    font-family: var(--font-geist);
    font-weight: 500;
    font-size: 1rem;
    margin: 0;
    color: var(--about-heading, var(--foreground));
}

.item-card-description[b-m5p7k0cjjp] {
    font-size: 0.875rem;
    color: var(--muted-foreground);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0;
}

.item-card-chevron[b-m5p7k0cjjp] {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    color: #999;
}
/* _content/WebappExplorer/Components/Shared/ItemList.razor.rz.scp.css */
.list-section[b-d1z33v4n8w] {
    margin-top: 1.5rem;
}

.list-section-header[b-d1z33v4n8w] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: .5rem;
}

    .list-section-header h2[b-d1z33v4n8w] {
        font-weight: 500;
        font-family: var(--font-geist);
        font-size: 1.25rem;
        color: var(--about-heading, var(--foreground));
    }

.list-grid[b-d1z33v4n8w] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}
/* _content/WebappExplorer/Components/Shared/LoadingSpinner.razor.rz.scp.css */
.loading-spinner[b-t2025c0uqw] {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    pointer-events: none;
}

.spinner[b-t2025c0uqw] {
    width: 48px;
    height: 48px;
    border: 5px solid rgba(0, 0, 0, 0.08);
    border-top-color: var(--primary);
    border-radius: 50%;
    animation: spin-b-t2025c0uqw 0.9s linear infinite;
    box-shadow: 0 0 12px rgba(0,0,0,0.06);
}

.loading-text[b-t2025c0uqw] {
    font-size: 0.9rem;
    line-height: 1;
}

@keyframes spin-b-t2025c0uqw {
    to { transform: rotate(360deg); }
}
/* _content/WebappExplorer/Components/Shared/MobileHero.razor.rz.scp.css */
/* MobileHero (full-bleed) com imagem de fundo */
.mobile-hero[b-yykfhv8gvy] {
    width: 100vw;
    height: 360px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background-size: cover;
    background-position: bottom center;
    background-repeat: no-repeat;
    padding: 1rem 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start; 
    align-items: flex-start;
    color: white;
    position: relative; 
}

    .mobile-hero.no-content[b-yykfhv8gvy]::before {
        background: linear-gradient( to bottom, rgba(0, 0, 0, 0.35) 0%, 
        rgba(0, 0, 0, 0.55) 65%, 
        rgba(0, 0, 0, 0.7) 100% 
        );
    }
.lang-switch[b-yykfhv8gvy] {
    position: absolute !important;
    top: 1rem !important;
    right: 1rem !important;
    display: flex;
    gap: 0.4rem;
    z-index: 5;
}
.lang-btn[b-yykfhv8gvy] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: none;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    cursor: pointer;
    background-color: rgba(255,255,255,0.2);
    color: white;
    backdrop-filter: blur(6px);
    transition: all 0.2s ease;
}

    .lang-btn:hover[b-yykfhv8gvy] {
        background-color: rgba(255,255,255,0.35);
    }

    
    .lang-btn.active[b-yykfhv8gvy] {
        background-color: white;
        color: black;
    }

.mobile-hero .hero-logo[b-yykfhv8gvy] {
    width: 65px;
    height: auto;
}
.mobile-hero h1[b-yykfhv8gvy] {
    margin: 0;
    text-transform: uppercase;
    font-size: 1.5rem;
    line-height: 1.05;
    font-weight: 500;
    font-family: var(--font-geist), var(--font-sans);
    letter-spacing: 0.16em;
}
.mobile-hero p[b-yykfhv8gvy] {
    font-family: 'Inter', var(--font-sans);
    font-weight: 300;
    margin: 0.3rem 0 0;
    text-transform: uppercase;
    font-size: .72rem;
    letter-spacing: 0.28em;
    opacity: 0.75;
}
    .mobile-hero[b-yykfhv8gvy]::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( to bottom, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.25) 65%, rgba(0, 0, 0, 0.7) 100% );
        z-index: 0;
    }

    .mobile-hero > *[b-yykfhv8gvy] {
        position: relative;
        z-index: 1;
    }
.icon-white[b-yykfhv8gvy] {
    filter: invert(100%) brightness(150%);
}

.hero-status[b-yykfhv8gvy] {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.825rem;
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: .5rem;
}

.status-dot[b-yykfhv8gvy] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #4ade80;
    animation: statusPulse-b-yykfhv8gvy 1.8s ease-in-out infinite;
}
    .status-dot.closed[b-yykfhv8gvy] {
        background-color: #b9b9b9;
        animation: none;
    }

@keyframes statusPulse-b-yykfhv8gvy {
    0% {
        box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.7);
    }

    70% {
        box-shadow: 0 0 0 6px rgba(74, 222, 128, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(74, 222, 128, 0);
    }
}

.back-button[b-yykfhv8gvy] {
    position: absolute;
    top: 1rem;
    left: 1rem;
    padding: 0.5rem;
    border-radius: 1.5rem;
    background-color: rgba(0,0,0,0.3);
    backdrop-filter: blur(5px);
    color: white;
    transition: background-color 0.2s;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: pointer; 
    font: inherit; 
}
    .back-button:hover[b-yykfhv8gvy] {
        background-color: rgba(0,0,0,0.5);
    }
/* _content/WebappExplorer/Components/Shared/QuickAccess.razor.rz.scp.css */
.quick-access[b-fc492hl3i4] {
    margin-top: 1.5rem;
}

.quick-access-header[b-fc492hl3i4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.quick-access-title[b-fc492hl3i4] {
    font-family: var(--font-geist);
    font-weight: 500;
    font-size: 1.125rem;
    color: #111827;
    margin: 0;
}

.quick-access-next-btn[b-fc492hl3i4] {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    padding: 0.5rem 1.1rem;
    border-radius: 9999px;
    background: #EEB31B;
    color: #fff;
    font-family: var(--font-geist);
    font-weight: 600;
    font-size: 0.85rem;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 0.15s ease;
}

    .quick-access-next-btn:hover[b-fc492hl3i4] {
        background: #D9A112;
    }

.quick-access-next-btn-arrow[b-fc492hl3i4] {
    font-size: 0.95rem;
    margin-left: 0.4rem;
}

.quick-access-list[b-fc492hl3i4] {
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    padding-bottom: 0.5rem;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

    .quick-access-list[b-fc492hl3i4]::-webkit-scrollbar {
        display: none;
    }

.quick-card[b-fc492hl3i4] {
    flex-shrink: 0;
    width: 8rem;
    text-decoration: none;
}

.quick-card-container[b-fc492hl3i4] {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

    .quick-card-container.is-next[b-fc492hl3i4] {
        border: 2px solid #8FB6EE;
    }

.quick-card-image[b-fc492hl3i4] {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
}

    .quick-card-image img[b-fc492hl3i4] {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.quick-card-gradient[b-fc492hl3i4] {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);
}

.quick-card-badge-next[b-fc492hl3i4] {
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
}

    .quick-card-badge-next span[b-fc492hl3i4] {
        display: inline-flex;
        align-items: center;
        padding: 0.2rem 0.6rem;
        border-radius: 9999px;
        background: rgba(255,255,255,0.95);
        color: #374151;
        font-size: 0.65rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.03em;
    }

.quick-card-number[b-fc492hl3i4] {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
}

    .quick-card-number span[b-fc492hl3i4] {
        width: 24px;
        height: 24px;
        border-radius: 50%;
        background: #9CA3AF;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.75rem;
        font-weight: bold;
        color: #fff;
    }

.quick-card-title[b-fc492hl3i4] {
    position: absolute;
    bottom: 0.5rem;
    left: 0.5rem;
    right: 0.5rem;
}

    .quick-card-title p[b-fc492hl3i4] {
        color: white;
        font-size: 0.85rem;
        font-weight: 600;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        margin-bottom: 0;
    }
/* _content/WebappExplorer/Components/Shared/ToastContainer.razor.rz.scp.css */
.toast-container[b-x00ss7oe6k] {
    position: fixed;
    bottom: 1.25rem;
    left: 1.25rem;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    pointer-events: none;
    max-width: 300px;
}

.toast[b-x00ss7oe6k] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    background: var(--card, #fbfbf9);
    border: 1px solid var(--border, #e2dbcf);
    border-radius: 1rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10);
    padding: 0.75rem 0.9rem;
    pointer-events: all;
    overflow: hidden;
    position: relative;
}

/* Coloured left accent strip */
.toast-accent[b-x00ss7oe6k] {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    border-radius: 1rem 0 0 1rem;
}

.toast--success .toast-accent[b-x00ss7oe6k] { background: var(--primary, #294d5b); }
.toast--info    .toast-accent[b-x00ss7oe6k] { background: #027DBD; }
.toast--warning .toast-accent[b-x00ss7oe6k] { background: #BC962E; }
.toast--error   .toast-accent[b-x00ss7oe6k] { background: #c0392b; }

/* Icon */
.toast-icon[b-x00ss7oe6k] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 0.35rem;
}

.toast--success .toast-icon[b-x00ss7oe6k] { color: var(--primary, #294d5b); }
.toast--info    .toast-icon[b-x00ss7oe6k] { color: #027DBD; }
.toast--warning .toast-icon[b-x00ss7oe6k] { color: #BC962E; }
.toast--error   .toast-icon[b-x00ss7oe6k] { color: #c0392b; }

/* Text */
.toast-body[b-x00ss7oe6k] {
    flex: 1;
    min-width: 0;
}

.toast-heading[b-x00ss7oe6k] {
    font-weight: 600;
    font-size: 0.78rem;
    color: var(--foreground, #38332e);
    margin: 0 0 0.1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.toast-message[b-x00ss7oe6k] {
    font-size: 0.78rem;
    color: var(--muted-foreground, #7e7367);
    margin: 0;
    line-height: 1.4;
}

/* Close button */
.toast-close[b-x00ss7oe6k] {
    flex-shrink: 0;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.15rem;
    color: var(--muted-foreground, #7e7367);
    opacity: 0.55;
    display: flex;
    align-items: center;
    transition: opacity 0.15s;
}

    .toast-close:hover[b-x00ss7oe6k] { opacity: 1; }

/* ── Animations ─────────────────────────────────────────────────────── */

.toast--in[b-x00ss7oe6k] {
    animation: toast-in-b-x00ss7oe6k 0.28s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.toast--out[b-x00ss7oe6k] {
    animation: toast-out-b-x00ss7oe6k 0.35s ease-in both;
}

@keyframes toast-in-b-x00ss7oe6k {
    from { opacity: 0; transform: translateY(12px) scale(0.96); }
    to   { opacity: 1; transform: translateY(0)    scale(1);    }
}

@keyframes toast-out-b-x00ss7oe6k {
    from { opacity: 1; transform: translateY(0)    scale(1);    }
    to   { opacity: 0; transform: translateY(8px)  scale(0.96); }
}
/* _content/WebappExplorer/Components/Tour/TourActions.razor.rz.scp.css */
.tour-actions[b-j8eewa9c8y] {
    display: flex;
    gap: .75rem;
    margin-bottom: 1.5rem;
}

    .tour-actions button[b-j8eewa9c8y] {
        flex: 1;
    }

.btn-primary[b-j8eewa9c8y],
.btn-secondary[b-j8eewa9c8y] {
    height: 40px;
    padding: 0 1rem;
    border-radius: 8px;
    font-size: .9rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    cursor: pointer;
    transition: all .15s ease;
}


.btn-secondary[b-j8eewa9c8y] {
    background: var(--primary-foreground);
    border: 1px solid var(--border);
    color: #374151;
}

    .btn-secondary:hover[b-j8eewa9c8y] {
        background: #f3f4f6;
    }

    .btn-secondary:disabled[b-j8eewa9c8y] {
        opacity: .5;
        cursor: not-allowed;
    }

.btn-primary[b-j8eewa9c8y] {
    background: var(--primary);
    color: var(--primary-foreground);
    border: none;
}

    .btn-primary:hover[b-j8eewa9c8y] {
        background: #294d5be6;
    }

.btn-icon[b-j8eewa9c8y] {
    width: 16px;
    height: 16px;
}
/* _content/WebappExplorer/Components/Tour/TourInfoCard.razor.rz.scp.css */
.tour-card[b-j39vm2fmsl] {
    background: var(--card);
    border-radius: 1rem;
    padding: 1.25rem;
    margin-top: -3.75rem;
    border: 1px solid var(--border);
    box-shadow: 0 10px 20px rgba(0,0,0,0.06);
    margin-bottom: 1.5rem;
    position: relative;
    z-index: 10;
}

.tour-title[b-j39vm2fmsl] {
    font-family: var(--font-geist);
    font-weight: 500;
    font-size: 1.5rem;
    color: var(--foreground);
    margin-bottom: .4rem;
}

.tour-subtitle[b-j39vm2fmsl] {
    font-size: .9rem;
    color: var(--muted-foreground);
    margin-bottom: 1rem;
}

.tour-grid[b-j39vm2fmsl] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
    font-size: .85rem;
}

.tour-item[b-j39vm2fmsl] {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: var(--muted-foreground);
}

.tour-icon[b-j39vm2fmsl] {
    width: 16px;
    height: 16px;
    color: var(--primary);
}
