/* /Components/Features/Assistente/AssistenteHome.razor.rz.scp.css */
/* FILE: peniche/Components/Features/Assistente/AssistenteHome.razor.css
   PURPOSE: Card premium do assistente na home (estética Apple/Airbnb).
   TOKENS: tokens.css (cores/shadows). Mobile-first.
   AI-NOTE: ::deep não é usado — selectores ficam scoped pelo Blazor CSS isolation. */

.ia[b-ti98nsq708] {
    position: relative;
    margin: 1.25rem 0;
    max-width: 100%;
    background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 1.5rem;
    box-shadow:
        0 1px 2px rgba(0, 0, 0, 0.04),
        0 10px 30px -12px rgba(0, 0, 0, 0.18);
    overflow: hidden;
    isolation: isolate;
}

.ia[b-ti98nsq708]::before {
    content: "";
    position: absolute;
    inset: -1px;
    background: conic-gradient(from 200deg at 50% 50%,
        rgba(99, 102, 241, 0.0) 0deg,
        rgba(56, 189, 248, 0.18) 90deg,
        rgba(168, 85, 247, 0.18) 200deg,
        rgba(99, 102, 241, 0.0) 360deg);
    filter: blur(18px);
    z-index: -1;
    opacity: 0.7;
    animation: ia-glow-b-ti98nsq708 14s linear infinite;
}

@keyframes ia-glow-b-ti98nsq708 {
    to { transform: rotate(360deg); }
}

.ia__header[b-ti98nsq708] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem 0.75rem;
}

.ia__brand[b-ti98nsq708] {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.ia__avatar[b-ti98nsq708] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(135deg, #0ea5e9, #6366f1);
    box-shadow: 0 6px 16px -6px rgba(99, 102, 241, 0.55);
}

.ia__titulo[b-ti98nsq708] {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: #0f172a;
}

.ia__sub[b-ti98nsq708] {
    margin: 0;
    font-size: 0.825rem;
    color: #64748b;
}

.ia__stop[b-ti98nsq708] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    background: #f1f5f9;
    border: none;
    color: #475569;
    font-size: 0.8rem;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    cursor: pointer;
}

.ia__stop:hover[b-ti98nsq708] { background: #e2e8f0; }

.ia__corpo[b-ti98nsq708] {
    padding: 0.75rem 1.25rem;
    min-height: 6.5rem;
    max-height: 60vh;
    overflow-y: auto;
    scroll-behavior: smooth;
}

.ia__welcome[b-ti98nsq708] {
    color: #475569;
    font-size: 0.95rem;
    line-height: 1.55;
}

.ia__welcome p[b-ti98nsq708] { margin: 0 0 0.65rem; }

.ia__sugestoes[b-ti98nsq708] {
    display: flex;
    gap: 0.5rem;
    /* scroll horizontal em vez de wrap vertical — poupa espaço no mobile */
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    /* padding extra para o último chip não ficar encostado à borda */
    padding-bottom: 2px;
    padding-right: var(--pe-space-3);
    margin-right: calc(-1 * var(--pe-space-4));
}
.ia__sugestoes[b-ti98nsq708]::-webkit-scrollbar { display: none; }

.ia__chip[b-ti98nsq708] {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.1);
    color: #0f172a;
    /* touch target mínimo 44px */
    padding: 0.6rem 1rem;
    min-height: 44px;
    border-radius: 999px;
    font-size: 0.825rem;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: transform 120ms ease, box-shadow 120ms ease, border-color 120ms ease;
}

.ia__chip:hover[b-ti98nsq708] {
    transform: translateY(-1px);
    border-color: rgba(99, 102, 241, 0.4);
    box-shadow: 0 6px 14px -10px rgba(99, 102, 241, 0.5);
}

.ia__chip:active[b-ti98nsq708] {
    transform: scale(0.94);
    background: #f1f5f9;
    transition-duration: 60ms;
}

.ia__msg[b-ti98nsq708] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin: 0.85rem 0;
}

.ia__msg--user[b-ti98nsq708] { align-items: flex-end; }
.ia__msg--assistant[b-ti98nsq708] { align-items: flex-start; }

.ia__bolha[b-ti98nsq708] {
    max-width: 88%;
    padding: 0.65rem 0.9rem;
    border-radius: 1rem;
    font-size: 0.95rem;
    line-height: 1.55;
    word-wrap: break-word;
}

.ia__msg--user .ia__bolha[b-ti98nsq708] {
    background: linear-gradient(135deg, #0ea5e9, #6366f1);
    color: #fff;
    border-bottom-right-radius: 0.4rem;
}

.ia__msg--assistant .ia__bolha[b-ti98nsq708] {
    background: #f8fafc;
    color: #0f172a;
    border: 1px solid rgba(15, 23, 42, 0.05);
    border-bottom-left-radius: 0.4rem;
}

/* Formatação markdown dentro da bolha do assistente */
.ia__bolha p[b-ti98nsq708] { margin: 0 0 0.45rem; }
.ia__bolha p:last-child[b-ti98nsq708] { margin-bottom: 0; }
.ia__bolha ul[b-ti98nsq708] { margin: 0.3rem 0 0.45rem 1.1rem; padding: 0; }
.ia__bolha li[b-ti98nsq708] { margin-bottom: 0.2rem; }
.ia__bolha strong[b-ti98nsq708] { font-weight: 700; }
.ia__bolha em[b-ti98nsq708] { font-style: italic; }

.ia__refs[b-ti98nsq708] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem;
    width: 100%;
    max-width: 92%;
}

@media (min-width: 640px) {
    .ia__refs[b-ti98nsq708] { grid-template-columns: 1fr 1fr; }
}

.ia__ref[b-ti98nsq708] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.65rem 0.8rem;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 0.85rem;
    text-decoration: none;
    color: #0f172a;
    transition: transform 120ms ease, border-color 120ms ease, box-shadow 120ms ease;
}

.ia__ref:hover[b-ti98nsq708] {
    transform: translateY(-1px);
    border-color: rgba(99, 102, 241, 0.35);
    box-shadow: 0 10px 24px -18px rgba(15, 23, 42, 0.35);
}

.ia__ref-quando[b-ti98nsq708] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.75rem;
    color: #6366f1;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.ia__ref-titulo[b-ti98nsq708] {
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.3;
}

.ia__ref-local[b-ti98nsq708] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.8rem;
    color: #64748b;
}

.ia__pensando[b-ti98nsq708] {
    display: inline-flex;
    gap: 0.25rem;
    padding: 0.5rem 0.9rem;
    background: #f1f5f9;
    border-radius: 1rem;
    margin: 0.25rem 0;
}

.ia__pensando span[b-ti98nsq708] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #94a3b8;
    animation: ia-pulse-b-ti98nsq708 1.2s ease-in-out infinite;
}

.ia__pensando span:nth-child(2)[b-ti98nsq708] { animation-delay: 0.15s; }
.ia__pensando span:nth-child(3)[b-ti98nsq708] { animation-delay: 0.3s; }

@keyframes ia-pulse-b-ti98nsq708 {
    0%, 80%, 100% { transform: scale(0.7); opacity: 0.5; }
    40% { transform: scale(1); opacity: 1; }
}

.ia__erro[b-ti98nsq708] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: #b45309;
    background: #fef3c7;
    border: 1px solid #fde68a;
    padding: 0.5rem 0.75rem;
    border-radius: 0.65rem;
    font-size: 0.85rem;
    margin-top: 0.5rem;
}

.ia__form[b-ti98nsq708] {
    display: flex;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem 0.5rem;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: saturate(140%) blur(8px);
}

.ia__input[b-ti98nsq708] {
    flex: 1;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 999px;
    padding: 0.7rem 1rem;
    /* font-size >= 16px obrigatório no iOS para prevenir zoom ao focar o input */
    font-size: 1rem;
    background: #ffffff;
    color: #0f172a;
    outline: none;
    transition: border-color 120ms ease, box-shadow 120ms ease;
}

.ia__input:focus[b-ti98nsq708] {
    border-color: rgba(99, 102, 241, 0.6);
    box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.15);
}

.ia__input:disabled[b-ti98nsq708] {
    background: #f8fafc;
    color: #94a3b8;
}

.ia__send[b-ti98nsq708] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: none;
    background: linear-gradient(135deg, #0ea5e9, #6366f1);
    color: #fff;
    cursor: pointer;
    transition: transform 120ms ease, box-shadow 120ms ease, opacity 120ms ease;
    box-shadow: 0 8px 18px -10px rgba(99, 102, 241, 0.65);
}

.ia__send:hover:not(:disabled)[b-ti98nsq708] { transform: translateY(-1px); }
.ia__send:disabled[b-ti98nsq708] { opacity: 0.4; cursor: not-allowed; box-shadow: none; }

.ia__nota[b-ti98nsq708] {
    margin: 0;
    padding: 0 1.25rem 0.9rem;
    font-size: 0.7rem;
    color: #94a3b8;
    text-align: center;
}

@media (max-width: 480px) {
    .ia[b-ti98nsq708] { margin: 0.75rem; border-radius: 1.1rem; }
    .ia__header[b-ti98nsq708] { padding: 0.85rem 1rem 0.5rem; }
    .ia__corpo[b-ti98nsq708] { padding: 0.5rem 1rem; }
    .ia__form[b-ti98nsq708] { padding: 0.6rem 1rem 0.4rem; }
}
/* /Components/Features/Calendario/AddToCalendarSheet.razor.rz.scp.css */
/* FILE: AddToCalendarSheet.razor.css
   PURPOSE: Folha de calendário com a mesma linguagem visual do SharePartilhaSheet.
   TOKENS:  tokens.css.
   AI-NOTE: Grid 2 colunas em mobile, 4 em ≥480px. Ícones com cor-de-marca por destino. */

.cal[b-ptrla1hwo6] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--pe-space-3);
}

.cal__btn[b-ptrla1hwo6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--pe-space-2);
    min-height: 84px;
    padding: var(--pe-space-3) var(--pe-space-2);
    background: var(--pe-color-surface);
    color: var(--pe-color-text);
    border: 1px solid var(--pe-color-border);
    border-radius: var(--pe-radius-lg);
    font-size: var(--pe-text-xs);
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: transform var(--pe-motion-fast) var(--pe-easing-standard),
                border-color var(--pe-motion-fast) var(--pe-easing-standard),
                box-shadow var(--pe-motion-fast) var(--pe-easing-standard);
}
.cal__btn:hover[b-ptrla1hwo6]  { border-color: var(--pe-color-border-strong); box-shadow: var(--pe-shadow-2); }
.cal__btn:active[b-ptrla1hwo6] { transform: scale(0.97); }
.cal__btn:focus-visible[b-ptrla1hwo6] { outline: 2px solid var(--pe-color-text); outline-offset: 2px; }

.cal__icon[b-ptrla1hwo6] {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--pe-color-surface-2);
    color: var(--pe-color-text);
}
.cal__icon--google[b-ptrla1hwo6]  { background: #4285F4; color: #fff; }
.cal__icon--outlook[b-ptrla1hwo6] { background: #0078D4; color: #fff; }
.cal__icon--yahoo[b-ptrla1hwo6]   { background: #6001D2; color: #fff; }
.cal__icon--apple[b-ptrla1hwo6]   { background: #1c1917; color: #fff; }

/* ───── Meta resumo do evento ────────────────────────────── */
.cal__meta[b-ptrla1hwo6] {
    margin-top: var(--pe-space-4);
    padding: var(--pe-space-3) var(--pe-space-4);
    background: var(--pe-color-surface-2);
    border-radius: var(--pe-radius-lg);
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-2);
}
.cal__meta-row[b-ptrla1hwo6] {
    display: flex;
    align-items: center;
    gap: var(--pe-space-2);
    font-size: var(--pe-text-sm);
    color: var(--pe-color-text-soft);
}

@media (min-width: 480px) {
    .cal[b-ptrla1hwo6] { grid-template-columns: repeat(4, 1fr); }
}
/* /Components/Features/Comentarios/ComentariosPopup.razor.rz.scp.css */
/* FILE: ComentariosPopup.razor.css
   PURPOSE: Popup premium de comentarios — nivel dos EventoCards.
            Mobile: bottom-sheet com drag-handle. Desktop: modal centrado flutuante.
   TOKENS:  tokens.css  (--pe-color-surface, --pe-color-text, --pe-color-editorial, etc.)
   AI-NOTE: Renderizado no MainLayout (fora da arvore dos cards) — position:fixed funciona. */

/* ── Overlay ──────────────────────────────────────────────────── */
.coment-overlay[b-bqz8t6b7mj] {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0, 0, 0, .48);
    backdrop-filter: blur(6px) saturate(160%);
    -webkit-backdrop-filter: blur(6px) saturate(160%);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    animation: co-fadein-b-bqz8t6b7mj 200ms ease;
}
@keyframes co-fadein-b-bqz8t6b7mj { from { opacity: 0 } to { opacity: 1 } }

@media (min-width: 600px) {
    .coment-overlay[b-bqz8t6b7mj] {
        align-items: center;
        padding: 24px;
    }
}

/* ── Panel ────────────────────────────────────────────────────── */
.coment-popup__panel[b-bqz8t6b7mj] {
    position: relative;
    width: 100%;
    max-width: 460px;
    max-height: 84dvh;

    /* Mesmo vidro dos cards premium */
    background: var(--pe-color-surface, #fff);
    border-radius: 24px 24px 0 0;
    box-shadow:
        0 -1px 0 rgba(255,255,255,.12) inset,
        0 -4px 32px rgba(0,0,0,.22),
        0  0  0 .5px rgba(0,0,0,.06);

    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: cp-slidein-b-bqz8t6b7mj 260ms cubic-bezier(.22,.68,0,1.12);
}
@keyframes cp-slidein-b-bqz8t6b7mj {
    from { transform: translateY(28px); opacity: 0 }
    to   { transform: translateY(0);    opacity: 1 }
}

@media (min-width: 600px) {
    .coment-popup__panel[b-bqz8t6b7mj] {
        border-radius: 20px;
        max-height: 78dvh;
        box-shadow:
            0 1px 0 rgba(255,255,255,.10) inset,
            0 16px 56px rgba(0,0,0,.24),
            0  0  0 .5px rgba(0,0,0,.08);
        animation-name: cp-scalein-b-bqz8t6b7mj;
    }
    @keyframes cp-scalein-b-bqz8t6b7mj {
        from { transform: scale(.96) translateY(8px); opacity: 0 }
        to   { transform: scale(1)   translateY(0);   opacity: 1 }
    }
}

/* Drag handle (mobile) */
.coment-popup__panel[b-bqz8t6b7mj]::before {
    content: '';
    display: block;
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 36px;
    height: 4px;
    border-radius: 2px;
    background: var(--pe-color-border, #e0e0e0);
    opacity: .6;
    pointer-events: none;
}
@media (min-width: 600px) {
    .coment-popup__panel[b-bqz8t6b7mj]::before { display: none; }
}

/* ── Header ───────────────────────────────────────────────────── */
.coment-popup__header[b-bqz8t6b7mj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 16px 13px;
    border-bottom: 1px solid var(--pe-color-border, #f0f0f0);
    flex-shrink: 0;
}

.coment-popup__header-left[b-bqz8t6b7mj] {
    display: flex;
    align-items: center;
    gap: 9px;
}

/* Circulo colorido com icone — mesmo padrao dos cards */
.coment-popup__header-icon[b-bqz8t6b7mj] {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: linear-gradient(135deg, #1a3a4a 0%, #0e2233 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(14,34,51,.35);
}

.coment-popup__titulo[b-bqz8t6b7mj] {
    font-size: .9rem;
    font-weight: 700;
    color: var(--pe-color-text, #0e2233);
    letter-spacing: -.02em;
}

.coment-popup__badge[b-bqz8t6b7mj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--pe-color-editorial, #e05c2a);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0;
}

.coment-popup__close[b-bqz8t6b7mj] {
    width: 30px;
    height: 30px;
    background: var(--pe-color-surface-2, #f5f5f5);
    border: none;
    cursor: pointer;
    color: var(--pe-color-muted, #8a9aaa);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 120ms, color 120ms, transform 120ms;
    flex-shrink: 0;
}
.coment-popup__close:hover[b-bqz8t6b7mj] {
    background: var(--pe-color-surface-3, #ebebeb);
    color: var(--pe-color-text, #0e2233);
    transform: scale(1.08);
}

/* ── Body ─────────────────────────────────────────────────────── */
.coment-popup__body[b-bqz8t6b7mj] {
    overflow-y: auto;
    flex: 1;
    overscroll-behavior: contain;
    padding: 4px 0;
    scroll-behavior: smooth;
}

/* ── Item ─────────────────────────────────────────────────────── */
.coment-popup__item[b-bqz8t6b7mj] {
    display: flex;
    gap: 11px;
    padding: 10px 16px;
    transition: background 100ms;
}
.coment-popup__item:hover[b-bqz8t6b7mj] { background: var(--pe-color-surface-2, #f9f9f9); }

.coment-popup__avatar[b-bqz8t6b7mj] {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(135deg, #c8dce8 0%, #e2ecf4 100%);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    color: #1a3a4a;
    border: 1.5px solid rgba(0,0,0,.06);
}
.coment-popup__avatar img[b-bqz8t6b7mj] { width: 100%; height: 100%; object-fit: cover; }

.coment-popup__conteudo[b-bqz8t6b7mj] { flex: 1; min-width: 0; }

.coment-popup__meta[b-bqz8t6b7mj] {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 2px;
}

.coment-popup__nome[b-bqz8t6b7mj] {
    font-size: .75rem;
    font-weight: 700;
    color: var(--pe-color-text, #0e2233);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 150px;
}

.coment-popup__data[b-bqz8t6b7mj] {
    font-size: 10px;
    color: var(--pe-color-muted, #8a9aaa);
    white-space: nowrap;
}

.coment-popup__texto[b-bqz8t6b7mj] {
    margin: 0;
    font-size: .8rem;
    color: var(--pe-color-text-soft, #334a5a);
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ── Vazio ────────────────────────────────────────────────────── */
.coment-popup__vazio[b-bqz8t6b7mj] {
    padding: 40px 20px;
    text-align: center;
    color: var(--pe-color-muted, #8a9aaa);
    font-size: .82rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
.coment-popup__vazio-icon[b-bqz8t6b7mj] {
    font-size: 2rem;
    opacity: .6;
}

/* ── Skeletons ────────────────────────────────────────────────── */
.coment-popup__skeleton[b-bqz8t6b7mj] {
    display: flex;
    gap: 11px;
    padding: 10px 16px;
    animation: sk-pulse-b-bqz8t6b7mj 1.4s ease-in-out infinite;
}
@keyframes sk-pulse-b-bqz8t6b7mj { 0%, 100% { opacity: 1 } 50% { opacity: .4 } }

.coment-popup__sk-avatar[b-bqz8t6b7mj] {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--pe-color-surface-3, #ebebeb);
}
.coment-popup__sk-lines[b-bqz8t6b7mj] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
    justify-content: center;
}
.coment-popup__sk-line[b-bqz8t6b7mj] {
    height: 10px;
    border-radius: 5px;
    background: var(--pe-color-surface-3, #ebebeb);
}
.coment-popup__sk-line--nome[b-bqz8t6b7mj]  { width: 36%; }
.coment-popup__sk-line--texto[b-bqz8t6b7mj] { width: 78%; }

/* ── Footer ───────────────────────────────────────────────────── */
.coment-popup__footer[b-bqz8t6b7mj] {
    border-top: 1px solid var(--pe-color-border, #f0f0f0);
    padding: 12px 14px 14px;
    background: var(--pe-color-surface, #fff);
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* Composer aninhado: limpa o background do card e deixa fluir com o painel */
.coment-popup__footer :deep(.composer)[b-bqz8t6b7mj] {
    border: 1.5px solid var(--pe-color-border, #e8e8e8);
    border-radius: 14px;
    background: var(--pe-color-surface-2, #f8f8f8);
    padding: 10px 12px 8px;
    transition: border-color 180ms, box-shadow 180ms;
}
.coment-popup__footer :deep(.composer:focus-within)[b-bqz8t6b7mj] {
    border-color: #1a3a4a;
    box-shadow: 0 0 0 3px rgba(26,58,74,.12);
    background: var(--pe-color-surface, #fff);
}

/* ── Ver mais ─────────────────────────────────────────────────── */
.coment-popup__ver-mais-link[b-bqz8t6b7mj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 100%;
    padding: 7px;
    color: var(--pe-color-muted, #8a9aaa);
    text-decoration: none;
    font-size: .72rem;
    font-weight: 600;
    transition: color 120ms, background 120ms;
    border-radius: 8px;
}
.coment-popup__ver-mais-link:hover[b-bqz8t6b7mj] {
    color: var(--pe-color-editorial, #e05c2a);
    background: var(--pe-color-surface-2, #f5f5f5);
}
/* /Components/Features/Eventos/CampoNaoInformado.razor.rz.scp.css */
/* COMPONENT: CampoNaoInformado — badge "Não informado" + popup de sugestão */

.cni[b-zdgh953m4j] {
    display: inline-flex;
    align-items: center;
    position: relative;
}

/* ── Badge principal ── */
.cni__badge[b-zdgh953m4j] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    background: #fff8ec;
    border: 1px dashed #e8a23b;
    border-radius: 999px;
    padding: .25rem .65rem .25rem .45rem;
    font-size: .78rem;
    color: #7a5500;
    cursor: pointer;
    transition: background .15s, border-color .15s;
    white-space: nowrap;
}
.cni__badge:hover[b-zdgh953m4j] { background: #fff1d6; border-color: #c97c00; }

.cni--anonimo[b-zdgh953m4j] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    background: #f8f9fa;
    border: 1px dashed #ccd0d8;
    border-radius: 999px;
    padding: .25rem .65rem .25rem .45rem;
    font-size: .78rem;
    color: #8a97b0;
}

.cni__dot[b-zdgh953m4j] {
    width: 6px; height: 6px; border-radius: 50%;
    background: #e8a23b; flex-shrink: 0;
}
.cni__label em[b-zdgh953m4j] { font-style: normal; opacity: .7; }
.cni__cta[b-zdgh953m4j] {
    font-size: .72rem; font-weight: 700;
    color: #3559c4; margin-left: .2rem;
}

/* ── Popup ── */
.cni__popup[b-zdgh953m4j] {
    position: absolute;
    top: calc(100% + .5rem);
    left: 0;
    z-index: 200;
    background: #fff;
    border: 1px solid #e4ebf5;
    border-radius: 14px;
    padding: 1.1rem 1.1rem 1rem;
    box-shadow: 0 8px 32px rgba(20,50,110,.12);
    width: min(340px, 90vw);
    display: flex; flex-direction: column; gap: .6rem;
}

.cni__popup-close[b-zdgh953m4j] {
    position: absolute; top: .7rem; right: .8rem;
    background: none; border: none; font-size: 1rem;
    cursor: pointer; color: #8a97b0;
    line-height: 1;
}

.cni__popup-titulo[b-zdgh953m4j] {
    margin: 0; font-size: .9rem; font-weight: 700; color: #1d2a44;
}
.cni__popup-desc[b-zdgh953m4j] { margin: 0; font-size: .82rem; color: #5a6a86; }
.cni__popup-campo[b-zdgh953m4j] {
    margin: 0; font-size: .85rem; color: #3a4e7a;
}

.cni__input[b-zdgh953m4j] {
    border: 1px solid #d4dcec; border-radius: 8px;
    padding: .55rem .65rem; font-size: .88rem;
    resize: vertical; font-family: inherit;
    background: #f8faff;
    width: 100%; box-sizing: border-box;
}
.cni__input:focus[b-zdgh953m4j] { outline: 2px solid #5b78c4; border-color: transparent; }

.cni__hint[b-zdgh953m4j] { font-size: .75rem; color: #8a97b0; }
.cni__erro[b-zdgh953m4j] { font-size: .82rem; color: #b22222; margin: 0; }

.cni__popup-acoes[b-zdgh953m4j] { display: flex; gap: .4rem; flex-wrap: wrap; }
.cni__btn[b-zdgh953m4j] {
    border: 1px solid #d4dcec; background: #fff;
    padding: .38rem .75rem; border-radius: 8px;
    font-size: .85rem; font-weight: 600; color: #2c3a5a; cursor: pointer;
}
.cni__btn:hover[b-zdgh953m4j] { background: #f1f5fb; }
.cni__btn--primary[b-zdgh953m4j] {
    background: linear-gradient(135deg,#3559c4,#5b78c4);
    color: #fff; border-color: transparent;
}
.cni__btn--primary:hover[b-zdgh953m4j] { filter: brightness(1.05); }
.cni__btn--primary:disabled[b-zdgh953m4j] { opacity: .55; cursor: not-allowed; }

.cni__sucesso[b-zdgh953m4j] {
    display: flex; align-items: flex-start; gap: .6rem;
    font-size: .88rem; color: #1d2a44;
}
.cni__sucesso p[b-zdgh953m4j] { margin: .2rem 0 0; font-size: .82rem; color: #3a4e7a; }
/* /Components/Features/Eventos/EmAltaSeccao.razor.rz.scp.css */
/* FILE: EmAltaSeccao.razor.css
   PURPOSE: Linha "Em alta" — carrossel horizontal premium com scroll infinito.
   TOKENS:  tokens.css.
   AI-NOTE: Hover do header anima o "Ver tudo". Cartões mantêm proporção do EventoCard.
            Sentinel invisível dispara IntersectionObserver para carregar mais. */

.em-alta[b-a9reqs027r] {
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-4);
}

.em-alta__header[b-a9reqs027r] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--pe-space-4);
}

.em-alta__title[b-a9reqs027r] {
    display: inline-flex;
    align-items: center;
    gap: var(--pe-space-2);
    color: var(--pe-color-accent);
}
.em-alta__title h2[b-a9reqs027r] {
    font-size: var(--pe-text-2xl);
    margin: 0;
    color: var(--pe-color-text);
    letter-spacing: var(--pe-tracking-tight);
}

.em-alta__ver[b-a9reqs027r] {
    display: inline-flex;
    align-items: center;
    gap: var(--pe-space-1);
    color: var(--pe-color-text);
    font-size: var(--pe-text-sm);
    font-weight: 600;
    text-decoration: none;
    padding: var(--pe-space-2) var(--pe-space-3);
    border-radius: var(--pe-radius-pill);
    transition: background-color var(--pe-motion-fast) var(--pe-easing-standard);
}
.em-alta__ver:hover[b-a9reqs027r] { background: var(--pe-color-surface-2); }

.em-alta__scroller[b-a9reqs027r] {
    display: grid;
    grid-auto-flow: column;
    /* mobile: primeiro cartão ~85% do viewport para sugerir que há mais */
    grid-auto-columns: 82%;
    gap: var(--pe-space-4);
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 2px;
    padding-bottom: var(--pe-space-3);
    padding-top: var(--pe-space-1);
    padding-left: var(--pe-space-3);
    padding-right: var(--pe-space-3);
    /* full-bleed: estende o carrossel até às bordas do viewport */
    margin-left: calc(-1 * var(--pe-space-3));
    margin-right: calc(-1 * var(--pe-space-3));
    -webkit-overflow-scrolling: touch;
    /* previne que o scroll horizontal vaze para o scroll vertical da página */
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    box-sizing: border-box;
}
.em-alta__scroller[b-a9reqs027r]::-webkit-scrollbar { display: none; }

/* Espaço de fuga no final do carrossel (mobile) para o último card não ficar cortado */
.em-alta__cartao:last-child[b-a9reqs027r] {
    margin-right: var(--pe-space-4);
}

.em-alta__cartao[b-a9reqs027r] { scroll-snap-align: start; }

/* Hero card: em mobile ocupa a largura total do scroller (sem conflito com grid-auto-columns) */
.em-alta__cartao--hero[b-a9reqs027r] {
    /* nada aqui em mobile — o grid-auto-columns do scroller controla a largura */
}

@media (min-width: 640px) {
    .em-alta__scroller[b-a9reqs027r] {
        grid-auto-columns: 46%;
        padding-left: 0;
        padding-right: 0;
        margin-left: 0;
        margin-right: 0;
    }
}

/* Desktop: abandona carrossel horizontal, usa grid com wrap total — sem cards cortados */
@media (min-width: 1024px) {
    .em-alta__scroller[b-a9reqs027r] {
        display: grid;
        grid-auto-flow: row;         /* wrap normal, não coluna */
        grid-template-columns: repeat(3, 1fr);
        overflow-x: visible;
        overflow-y: visible;
        scroll-snap-type: none;
        padding-right: 0;
        padding-left: 0;
        /* desfaz o full-bleed que só se aplica ao mobile */
        margin-left: 0;
        margin-right: 0;
    }
    .em-alta__cartao:last-child[b-a9reqs027r] { margin-right: 0; }
    .em-alta__cartao[b-a9reqs027r] { scroll-snap-align: none; }
    /* Hero card abrange 2 colunas no grid desktop */
    .em-alta__cartao--hero[b-a9reqs027r] {
        grid-column: span 2;
        min-width: unset;
    }
}

@media (min-width: 1440px) {
    .em-alta__scroller[b-a9reqs027r] {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* ── Sentinel + estados de carregamento ── */
.em-alta__sentinel[b-a9reqs027r] {
    display: contents;
}

.em-alta__cartao--loading[b-a9reqs027r] {
    opacity: .55;
    pointer-events: none;
}

/* ── End-of-feed ── */
.em-alta__fim[b-a9reqs027r] {
    scroll-snap-align: start;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    padding: var(--pe-space-4);
}

.em-alta__fim-link[b-a9reqs027r] {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: var(--pe-space-2);
    color: var(--pe-color-brand);
    font-size: var(--pe-text-sm);
    font-weight: 700;
    text-decoration: none;
    padding: var(--pe-space-3) var(--pe-space-4);
    border: 2px solid var(--pe-color-brand);
    border-radius: var(--pe-radius-lg);
    transition: background var(--pe-motion-fast), color var(--pe-motion-fast);
}
.em-alta__fim-link:hover[b-a9reqs027r] {
    background: var(--pe-color-brand);
    color: #fff;
}

/* ── Chips de período temporal ── */
.em-alta__periodos[b-a9reqs027r] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--pe-space-2);
    margin-bottom: var(--pe-space-1);
}

.em-alta__periodo[b-a9reqs027r] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    border-radius: var(--pe-radius-pill);
    border: 1.5px solid var(--pe-color-border);
    background: var(--pe-color-surface-2);
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--pe-color-text-soft);
    cursor: pointer;
    user-select: none;
    transition: border-color var(--pe-motion-fast), color var(--pe-motion-fast), background var(--pe-motion-fast);
}

.em-alta__periodo--ativo[b-a9reqs027r] {
    border-color: var(--pe-color-accent);
    color: var(--pe-color-accent);
    background: color-mix(in srgb, var(--pe-color-accent) 8%, transparent);
}

.em-alta__periodo-count[b-a9reqs027r] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--pe-color-accent);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
}

.em-alta__periodo:not(.em-alta__periodo--ativo) .em-alta__periodo-count[b-a9reqs027r] {
    background: var(--pe-color-border);
    color: var(--pe-color-text-soft);
}
/* /Components/Features/Eventos/EventoCard.razor.rz.scp.css */
/* FILE: EventoCard.razor.css
   PURPOSE: Cartão de evento premium — carrossel de imagens, ações rápidas, rodapé de transparência.
   TOKENS:  tokens.css.
   AI-NOTE: Carrossel via fade (opacity). Ações em bottom-bar discreta. NÃO inserir hex inline. */

.evt-card[b-y9drmjuwov] {
    display: flex;
    flex-direction: column;
    background: var(--pe-color-surface);
    border-radius: var(--pe-radius-lg);
    /* overflow:hidden removido — aprisionava o BottomSheet antes do teleport para body.
       O border-radius continua a fazer o clip visual. */
    box-shadow: var(--pe-shadow-card);
    transition: transform var(--pe-motion-base) var(--pe-easing-standard),
                box-shadow var(--pe-motion-base) var(--pe-easing-standard);
}

.evt-card:hover[b-y9drmjuwov] {
    transform: translateY(-3px);
    box-shadow: var(--pe-shadow-card-hover);
}

/* ── Hero card — destaque editorial ── */
.evt-card--hero .evt-card__media[b-y9drmjuwov] {
    aspect-ratio: 16 / 9;
}
.evt-card--hero .evt-card__titulo[b-y9drmjuwov] {
    font-size: var(--pe-text-xl);
    font-weight: 800;
}

/* Quando o modal pós-"Eu Vou" está aberto, desligar o transform para que
   position:fixed dentro do card se posicione relativament ao viewport
   (transforms criam um containing block que quebra fixed positioning). */
.evt-card--modal-aberto[b-y9drmjuwov],
.evt-card--modal-aberto:hover[b-y9drmjuwov] {
    transform: none !important;
    box-shadow: var(--pe-shadow-card);
}

.evt-card:focus-within[b-y9drmjuwov] { outline: 2px solid var(--pe-color-brand); outline-offset: 2px; }

/* ── Link wrappers ── */
.evt-card__media-link[b-y9drmjuwov],
.evt-card__body-link[b-y9drmjuwov] {
    display: block;
    text-decoration: none;
    color: inherit;
}

/* ── Carrossel ── */
.evt-card__media[b-y9drmjuwov] {
    position: relative;
    margin: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;          /* clip só da área da imagem, não do card inteiro */
    border-radius: var(--pe-radius-lg) var(--pe-radius-lg) 0 0; /* arredonda só o topo */
    background: var(--pe-color-surface-2);
}

/*  Fundo desfocado gerado pela própria imagem activa.
    Técnica: a imagem é definida via --card-img (inline style no Razor)
    e usada aqui como background escalado + blur. Resultado: imagem
    completa visível sem barras brancas, independentemente do ratio original
    (quadrado 1:1 do Facebook, portrait 4:5, landscape 16:9, etc.). */
.evt-card__media[b-y9drmjuwov]::before {
    content: "";
    position: absolute;
    inset: -10%; /* overscan para o blur não mostrar bordas */
    background-image: var(--card-img, none);
    background-size: cover;
    background-position: center;
    filter: blur(18px) brightness(0.55) saturate(1.2);
    transform: scale(1.05);
    z-index: 0;
    transition: opacity var(--pe-motion-slow) var(--pe-easing-standard);
}

.evt-card__slide[b-y9drmjuwov] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;        /* imagem inteira, sem corte */
    object-position: center;
    opacity: 0;
    transition: opacity var(--pe-motion-slow) var(--pe-easing-standard),
                transform var(--pe-motion-slow) var(--pe-easing-standard);
    transform: scale(1.01);
    z-index: 1;                 /* acima do fundo desfocado */
}

.evt-card__slide--active[b-y9drmjuwov] {
    opacity: 1;
    transform: scale(1);
    position: relative;
    z-index: 1;
}

.evt-card:hover .evt-card__slide--active[b-y9drmjuwov] { transform: scale(1.02); }

.evt-card__overlay[b-y9drmjuwov] {
    position: absolute;
    inset: auto 0 0 0;
    height: 50%;
    background: linear-gradient(to top, rgba(12, 10, 9, 0.5), rgba(12, 10, 9, 0));
    pointer-events: none;
    z-index: 1;
}

/* ── Botão lightbox (olho) ── */
.evt-card__lightbox-btn[b-y9drmjuwov] {
    position: absolute;
    top: var(--pe-space-2);
    right: var(--pe-space-2);
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: none;
    background: rgba(0, 0, 0, .45);
    color: #fff;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    cursor: pointer;
    opacity: 0;
    transition: opacity var(--pe-motion-fast), transform var(--pe-motion-fast);
}
.evt-card__media:hover .evt-card__lightbox-btn[b-y9drmjuwov],
.evt-card__media:focus-within .evt-card__lightbox-btn[b-y9drmjuwov] { opacity: 1; }
.evt-card__lightbox-btn:hover[b-y9drmjuwov] { transform: scale(1.1); background: rgba(0,0,0,.65); }

/* ── Lightbox dialog — popup meia-tela centrado ── */
.evt-lightbox[b-y9drmjuwov] {
    /* <dialog> com showModal() já é centrado automaticamente */
    margin: auto;
    width: min(92dvw, 560px);
    max-height: 82dvh;
    background: #111;
    border: none;
    border-radius: var(--pe-radius-xl, 16px);
    padding: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 24px 80px rgba(0,0,0,.7);
    /* não usar position/inset — o browser centra showModal() nativamente */
}
.evt-lightbox[b-y9drmjuwov]::backdrop { background: rgba(0,0,0,.75); backdrop-filter: blur(3px); }

.evt-lightbox__img[b-y9drmjuwov] {
    width: 100%;
    max-height: 78dvh;
    object-fit: contain;
    display: block;
}

.evt-lightbox__fechar[b-y9drmjuwov] {
    position: absolute;
    top: var(--pe-space-4);
    right: var(--pe-space-4);
    background: rgba(255,255,255,.15);
    border: none;
    color: #fff;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 20px;
    backdrop-filter: blur(4px);
    transition: background var(--pe-motion-fast);
}
.evt-lightbox__fechar:hover[b-y9drmjuwov] { background: rgba(255,255,255,.28); }

.evt-lightbox__nav[b-y9drmjuwov] {
    position: absolute;
    bottom: var(--pe-space-6);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: var(--pe-space-4);
    color: #fff;
    font-size: var(--pe-text-sm);
}
.evt-lightbox__nav button[b-y9drmjuwov] {
    background: rgba(255,255,255,.18);
    border: none;
    color: #fff;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background var(--pe-motion-fast);
}
.evt-lightbox__nav button:hover[b-y9drmjuwov] { background: rgba(255,255,255,.32); }

/* ── Dots ── */
.evt-card__dots[b-y9drmjuwov] {
    position: absolute;
    bottom: var(--pe-space-3);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 5px;
    z-index: 2;
}

.evt-card__dot[b-y9drmjuwov] {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: rgba(255,255,255,0.5);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background var(--pe-motion-fast), width var(--pe-motion-fast);
}

.evt-card__dot--on[b-y9drmjuwov] {
    background: #fff;
    width: 18px;
    border-radius: 3px;
}

/* ── Data badge ── */
.evt-card__date[b-y9drmjuwov] {
    position: absolute;
    top: var(--pe-space-3);
    left: var(--pe-space-3);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 56px;
    background: var(--pe-color-surface);
    color: var(--pe-color-text);
    border-radius: var(--pe-radius-md);
    box-shadow: var(--pe-shadow-2);
    font-variant-numeric: tabular-nums;
    line-height: 1;
    z-index: 2;
}

.evt-card__date-day[b-y9drmjuwov] { font-size: var(--pe-text-xl); font-weight: 700; }
.evt-card__date-mon[b-y9drmjuwov] { font-size: 10px; font-weight: 600; letter-spacing: var(--pe-tracking-wide); text-transform: uppercase; color: var(--pe-color-muted); margin-top: 3px; }

.evt-card__badge[b-y9drmjuwov] {
    position: absolute;
    top: var(--pe-space-3);
    right: var(--pe-space-3);
    display: inline-flex;
    align-items: center;
    height: 26px;
    padding: 0 var(--pe-space-3);
    font-size: var(--pe-text-xs);
    font-weight: 600;
    border-radius: var(--pe-radius-pill);
    backdrop-filter: blur(8px);
    z-index: 2;
}

.evt-card__badge--free[b-y9drmjuwov] {
    background: var(--pe-color-text);
    color: var(--pe-color-bg);
}

/* ── Body ── */
.evt-card__body[b-y9drmjuwov] {
    padding: var(--pe-space-3) var(--pe-space-4) var(--pe-space-4);
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-2);
    flex: 1 1 auto; /* preenche o espaço disponível no card */
}

/* No feed, body ainda mais compacto — só título + meta importam */
.evt-card--feed .evt-card__body[b-y9drmjuwov] {
    padding: var(--pe-space-2) var(--pe-space-3) var(--pe-space-2);
    gap: var(--pe-space-1);
}

.evt-card__eyebrow[b-y9drmjuwov] {
    font-size: var(--pe-text-xs);
    font-weight: 600;
    letter-spacing: var(--pe-tracking-wide);
    text-transform: uppercase;
    color: var(--pe-color-muted);
}

.evt-card__title[b-y9drmjuwov] {
    font-size: var(--pe-text-lg);
    line-height: var(--pe-leading-snug);
    letter-spacing: var(--pe-tracking-snug);
    font-weight: 600;
    margin: 0;
    color: var(--pe-color-text);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.evt-card__meta[b-y9drmjuwov] {
    margin: 0;
    color: var(--pe-color-muted);
    font-size: var(--pe-text-sm);
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--pe-space-1);
}

.evt-card__meta-dot[b-y9drmjuwov] { margin: 0 var(--pe-space-1); }

/* ── Botão Google Maps inline na meta-linha ── */
.evt-card__maps-btn[b-y9drmjuwov] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--pe-color-surface-2, #f1f5f9);
    color: var(--pe-color-brand, #0369a1);
    text-decoration: none;
    transition: background var(--pe-motion-fast), transform var(--pe-motion-fast);
    flex-shrink: 0;
}
.evt-card__maps-btn:hover[b-y9drmjuwov] {
    background: var(--pe-color-brand, #0369a1);
    color: #fff;
    transform: scale(1.15);
}

/* ── Info row: data + facilidades (item 25) ── */
.evt-card__info-row[b-y9drmjuwov] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    padding: var(--pe-space-1) var(--pe-space-4) 0;
}

.evt-card__info-chip[b-y9drmjuwov] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: var(--pe-color-surface-2);
    border: 1px solid var(--pe-color-border);
    color: var(--pe-color-text-soft);
    font-size: 0.75rem;
    font-weight: 500;
    padding: 3px 8px;
    border-radius: 999px;
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
}

/* Label textual dentro dos chips de ícone puro */
.evt-card__chip-label[b-y9drmjuwov] {
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.01em;
}

.evt-card__info-chip--free[b-y9drmjuwov] {
    background: color-mix(in srgb, var(--pe-success) 12%, transparent);
    border-color: color-mix(in srgb, var(--pe-success) 30%, transparent);
    color: var(--pe-success);
}

.evt-card__resumo[b-y9drmjuwov] {
    margin: 0;
    color: var(--pe-color-text-soft);
    font-size: var(--pe-text-sm);
    line-height: var(--pe-leading-normal);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex-grow: 1; /* empurra o resumo para ocupar o espaço livre antes das ações */
}

/* ── Preço row ── */
.evt-card__preco-row[b-y9drmjuwov] {
    padding: var(--pe-space-1) var(--pe-space-4) 0;
}

/* ── Modo Feed (carrossel) — card compacto ─────────────────────────
   Esconde tudo o que pertence à página de detalhe para que o card
   seja um teaser rápido: imagem + título + local/hora + ações. */
.evt-card--feed .evt-card__info-row[b-y9drmjuwov] { display: none; }
.evt-card--feed .evt-card__resumo[b-y9drmjuwov]   { display: none; }
.evt-card--feed .evt-card__stats[b-y9drmjuwov]    { display: none; }
.evt-card--feed .evt-card__transparency[b-y9drmjuwov] { display: none; }
/* Esconde o botão de partilha no feed — a ação de partilha está no detalhe */
.evt-card--feed .evt-card__action-btn--share[b-y9drmjuwov] { display: none; }
/* Ligeiramente menos padding no body para ganhar espaço vertical */
.evt-card--feed .evt-card__body[b-y9drmjuwov] { padding-bottom: var(--pe-space-2); }
/* No hero (primeiro card) mantemos o resumo — é o destaque editorial */
.evt-card--feed.evt-card--hero .evt-card__resumo[b-y9drmjuwov] { display: -webkit-box; }

/* Label textual no botão "Ver" quando em modo feed */
.evt-card__action-btn-label[b-y9drmjuwov] {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

/* ── Stats de transparência (informativas, não clicáveis) ── */
.evt-card__stats[b-y9drmjuwov] {
    display: flex;
    padding: var(--pe-space-2) var(--pe-space-4) var(--pe-space-1);
    border-top: 1px solid var(--pe-color-border);
    opacity: 0.7;
}

/* ── Footer métricas (legado — mantido por compatibilidade) ── */
.evt-card__footer[b-y9drmjuwov] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--pe-space-3);
    padding: var(--pe-space-2) var(--pe-space-4) var(--pe-space-3);
    border-top: 1px solid var(--pe-color-border);
}

.evt-card__preco[b-y9drmjuwov] {
    font-size: var(--pe-text-sm);
    font-weight: 700;
    color: var(--pe-color-editorial);
    white-space: nowrap;
    background: var(--pe-pe-areia);
    padding: 2px 10px;
    border-radius: var(--pe-radius-pill);
}

/* ── Ações rápidas ── */
.evt-card__actions[b-y9drmjuwov] {
    display: flex;
    align-items: center;
    gap: var(--pe-space-1);
    padding: var(--pe-space-2) var(--pe-space-3);
    border-top: 1px solid var(--pe-color-border);
    background: var(--pe-color-surface-2);
}

.evt-card__action-btn[b-y9drmjuwov] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 44px;
    height: 44px;
    padding: 0 8px;
    border-radius: var(--pe-radius-sm);
    background: transparent;
    color: var(--pe-color-muted);
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: background var(--pe-motion-fast), color var(--pe-motion-fast), transform var(--pe-motion-fast);
    font-size: var(--pe-text-xs);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.evt-card__action-count[b-y9drmjuwov] {
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.evt-card__action-btn:hover[b-y9drmjuwov] {
    background: var(--pe-color-surface-3);
    color: var(--pe-color-text);
    transform: scale(1.1);
}

/* :active para touch — feedback imediato sem espera por hover */
.evt-card__action-btn:active[b-y9drmjuwov] {
    transform: scale(0.92);
    background: var(--pe-color-surface-3);
    transition-duration: 60ms;
}

.evt-card__action-btn--on[b-y9drmjuwov] {
    color: var(--pe-pe-coral);
}

.evt-card__action-btn--dis[b-y9drmjuwov] {
    color: var(--pe-color-muted);
    opacity: 0.7;
}

/* botão "ver evento" vai para a direita */
.evt-card__action-btn--go[b-y9drmjuwov] {
    margin-left: auto;
    background: var(--pe-color-editorial);
    color: #fff;
    border-radius: var(--pe-radius-sm);
}

.evt-card__action-btn--go:hover[b-y9drmjuwov] {
    background: var(--pe-pe-atlantico-2);
    color: #fff;
    transform: translateX(2px) scale(1.05);
}

/* botão "ver evento" vai para a direita */
.evt-card__action-btn--go[b-y9drmjuwov] {
    margin-left: auto;
    background: var(--pe-color-editorial);
    color: #fff;
    border-radius: var(--pe-radius-sm);
}

.evt-card__action-btn--go:hover[b-y9drmjuwov] {
    background: var(--pe-pe-atlantico-2);
    color: #fff;
    transform: translateX(2px) scale(1.05);
}

/* ── Barra dedicada "Eu Vou" ── */
.evt-card__eu-vou-bar[b-y9drmjuwov] {
    display: flex;
    align-items: center;
    gap: var(--pe-space-2);
    padding: var(--pe-space-2) var(--pe-space-3);
    background: color-mix(in srgb, var(--pe-color-coral, #ff5c3a) 6%, var(--pe-color-surface));
    border-top: 1px solid color-mix(in srgb, var(--pe-color-coral, #ff5c3a) 20%, transparent);
}

.evt-card__eu-vou-social[b-y9drmjuwov] {
    font-size: .72rem;
    color: var(--pe-color-muted);
    font-weight: 500;
}

/* ── Botão "Eu Vou" ── */
.evt-card__eu-vou[b-y9drmjuwov] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0 14px;
    height: 44px;
    border-radius: 22px;
    border: 2px solid var(--pe-color-coral, #ff5c3a);
    background: transparent;
    color: var(--pe-color-coral, #ff5c3a);
    font: inherit;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .02em;
    cursor: pointer;
    transition: background .18s, color .18s, transform .15s, box-shadow .18s;
    white-space: nowrap;
}

.evt-card__eu-vou:hover[b-y9drmjuwov] {
    background: var(--pe-color-coral, #ff5c3a);
    color: #fff;
    transform: scale(1.04);
    box-shadow: 0 3px 12px rgba(255,92,58,.35);
}

.evt-card__eu-vou:active[b-y9drmjuwov] {
    transform: scale(0.94);
    transition-duration: 60ms;
}

.evt-card__eu-vou--on[b-y9drmjuwov] {
    background: var(--pe-color-coral, #ff5c3a);
    color: #fff;
    box-shadow: 0 3px 12px rgba(255,92,58,.35);
}

.evt-card__eu-vou--on:hover[b-y9drmjuwov] {
    background: color-mix(in srgb, var(--pe-color-coral, #ff5c3a) 80%, #000);
}

.evt-card__eu-vou-icon[b-y9drmjuwov] {
    font-size: .9rem;
    line-height: 1;
}

.evt-card__eu-vou-label[b-y9drmjuwov] {
    font-weight: 700;
}

.evt-card__eu-vou-count[b-y9drmjuwov] {
    background: rgba(255,255,255,.25);
    border-radius: 10px;
    padding: 1px 6px;
    font-size: .7rem;
    font-weight: 800;
    min-width: 20px;
    text-align: center;
}

.evt-card__eu-vou--on .evt-card__eu-vou-count[b-y9drmjuwov] {
    background: rgba(255,255,255,.3);
}

/* ── Transparência ── */
.evt-card__transparency[b-y9drmjuwov] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px var(--pe-space-4) 6px;
    background: transparent;
    min-height: 0;
}

/* No feed: rodapé ultra-minimalista — só "Pedir edição" discreto */
.evt-card--feed .evt-card__transparency[b-y9drmjuwov] {
    padding: 2px var(--pe-space-3) 4px;
}

.evt-card__fonte-icon[b-y9drmjuwov] {
    color: var(--pe-color-muted);
    opacity: .4;
    flex-shrink: 0;
    font-size: 9px;
}

.evt-card__fonte[b-y9drmjuwov] {
    font-size: .6rem;
    line-height: 1;
    color: var(--pe-color-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    opacity: .5;
    flex: 1;
    min-width: 0;
}

.evt-card__transparency-sep[b-y9drmjuwov] {
    font-size: .6rem;
    color: var(--pe-color-muted);
    opacity: .35;
    flex-shrink: 0;
}

.evt-card__editar[b-y9drmjuwov] {
    font-size: .6rem;
    line-height: 1;
    color: var(--pe-color-brand);
    text-decoration: none;
    white-space: nowrap;
    font-weight: 500;
    opacity: .5;
    flex-shrink: 0;
    transition: opacity .15s;
}

.evt-card__editar:hover[b-y9drmjuwov] { opacity: .9; text-decoration: underline; }

/* ── QR code discreto no rodapé ── */
.evt-card__qr[b-y9drmjuwov] {
    display: inline-flex;
    align-items: center;
    margin-left: auto;
    flex-shrink: 0;
    opacity: .45;
    transition: opacity var(--pe-motion-fast);
    border-radius: 4px;
    overflow: hidden;
}
.evt-card__qr:hover[b-y9drmjuwov] { opacity: 1; }

/* ── Botão pulse (like activo) ── */
@keyframes heart-pulse-b-y9drmjuwov {
    0%   { transform: scale(1); }
    40%  { transform: scale(1.4); }
    70%  { transform: scale(0.9); }
    100% { transform: scale(1); }
}

.evt-card__action-btn--pulse[b-y9drmjuwov] { animation: heart-pulse-b-y9drmjuwov 0.35s ease-out; }

/* ── Dialog de partilha (bottom sheet) ── */
.evt-card__share-dialog[b-y9drmjuwov] {
    border: none;
    border-radius: var(--pe-radius-lg) var(--pe-radius-lg) 0 0;
    padding: 0;
    width: 100%;
    max-width: 480px;
    margin: auto auto 0;
    background: var(--pe-color-surface);
    box-shadow: var(--pe-shadow-card-hover);
}

.evt-card__share-dialog[b-y9drmjuwov]::backdrop {
    background: rgba(0,0,0,0.45);
    backdrop-filter: blur(2px);
}

.evt-card__share-panel[b-y9drmjuwov] {
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-3);
    padding: var(--pe-space-4);
}

.evt-card__share-header[b-y9drmjuwov] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.evt-card__share-titulo[b-y9drmjuwov] {
    font-size: var(--pe-text-base);
    font-weight: 600;
    color: var(--pe-color-text);
}

.evt-card__share-close[b-y9drmjuwov] {
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--pe-color-muted);
    padding: 4px;
    border-radius: var(--pe-radius-sm);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.evt-card__share-nome[b-y9drmjuwov] {
    margin: 0;
    font-size: var(--pe-text-sm);
    color: var(--pe-color-text-soft);
    font-style: italic;
}

.evt-card__share-redes[b-y9drmjuwov] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--pe-space-2);
}

.evt-card__share-rede[b-y9drmjuwov] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--pe-space-1);
    padding: var(--pe-space-3) var(--pe-space-2);
    border-radius: var(--pe-radius-md);
    background: var(--pe-color-surface-2);
    text-decoration: none;
    color: var(--pe-color-text);
    font-size: var(--pe-text-xs);
    font-weight: 500;
    transition: background var(--pe-motion-fast);
}

.evt-card__share-rede:hover[b-y9drmjuwov] { background: var(--pe-color-surface-3); }

.evt-card__share-rede-icone[b-y9drmjuwov] {
    width: 40px;
    height: 40px;
    border-radius: var(--pe-radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    font-weight: 700;
}

.evt-card__share-rede-icone--wa[b-y9drmjuwov]  { background: #25D366; color: #fff; }
.evt-card__share-rede-icone--fb[b-y9drmjuwov]  { background: #1877F2; color: #fff; }
.evt-card__share-rede-icone--ig[b-y9drmjuwov]  { background: linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); color: #fff; }
.evt-card__share-rede-icone--x[b-y9drmjuwov]   { background: #000; color: #fff; }

.evt-card__share-copiar[b-y9drmjuwov] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--pe-space-2);
    width: 100%;
    padding: var(--pe-space-3);
    border-radius: var(--pe-radius-md);
    border: 1px solid var(--pe-color-border);
    background: transparent;
    color: var(--pe-color-text);
    font-size: var(--pe-text-sm);
    font-weight: 500;
    cursor: pointer;
    transition: background var(--pe-motion-fast), color var(--pe-motion-fast);
}

.evt-card__share-copiar:hover[b-y9drmjuwov] { background: var(--pe-color-surface-2); }

@media (prefers-reduced-motion: reduce) {
    .evt-card[b-y9drmjuwov], .evt-card__slide[b-y9drmjuwov], .evt-card__action-btn[b-y9drmjuwov] { transition: none; }
}

/* -- Admin menu ----------------------------------------------------- */
.evt-card__admin-menu[b-y9drmjuwov] {
    position: relative;
}

.evt-card__action-btn--admin[b-y9drmjuwov] {
    color: #e05c2a;
}
.evt-card__action-btn--admin:hover[b-y9drmjuwov] {
    background: rgba(224,92,42,.12);
    color: #c0430f;
}

.evt-card__admin-dropdown[b-y9drmjuwov] {
    position: absolute;
    bottom: calc(100% + 6px);
    right: 0;
    min-width: 200px;
    background: var(--pe-color-surface, #fff);
    border: 1px solid var(--pe-color-border, #e8e8e8);
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,.18);
    overflow: hidden;
    z-index: 200;
    animation: adrop-in-b-y9drmjuwov 140ms ease;
}
@keyframes adrop-in-b-y9drmjuwov { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:translateY(0)} }

.evt-card__admin-option[b-y9drmjuwov] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 10px 14px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: .82rem;
    font-weight: 500;
    color: var(--pe-color-text, #0e2233);
    transition: background 100ms;
    text-align: left;
}
.evt-card__admin-option:hover[b-y9drmjuwov] { background: var(--pe-color-surface-2, #f5f5f5); }
.evt-card__admin-option--warn[b-y9drmjuwov]  { color: #b45309; }
.evt-card__admin-option--warn:hover[b-y9drmjuwov]  { background: #fef3c7; }
.evt-card__admin-option--ok[b-y9drmjuwov]    { color: #15803d; }
.evt-card__admin-option--ok:hover[b-y9drmjuwov]    { background: #dcfce7; }
.evt-card__admin-option--danger[b-y9drmjuwov] { color: #dc2626; }
.evt-card__admin-option--danger:hover[b-y9drmjuwov] { background: #fee2e2; }

/* -- Estados admin -------------------------------------------------- */
.evt-card--desativado[b-y9drmjuwov] {
    opacity: .55;
    filter: grayscale(.6);
    pointer-events: none;
}
.evt-card--desativado .evt-card__action-btn--admin[b-y9drmjuwov],
.evt-card--desativado .evt-card__admin-toast-undo[b-y9drmjuwov] {
    pointer-events: auto;
}

.evt-card--apagado[b-y9drmjuwov] {
    opacity: .3;
    filter: grayscale(1);
    pointer-events: none;
}

.evt-card__admin-toast[b-y9drmjuwov] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    font-size: .78rem;
    font-weight: 600;
    border-radius: 10px;
    margin: 8px 8px 0;
    pointer-events: auto;
}
.evt-card__admin-toast--desativado[b-y9drmjuwov] {
    background: #fef3c7;
    color: #92400e;
}
.evt-card__admin-toast--apagado[b-y9drmjuwov] {
    background: #fee2e2;
    color: #991b1b;
}
.evt-card__admin-toast-undo[b-y9drmjuwov] {
    margin-left: auto;
    background: none;
    border: 1px solid currentColor;
    border-radius: 6px;
    padding: 2px 8px;
    font-size: .72rem;
    font-weight: 700;
    cursor: pointer;
    color: inherit;
}

/* ── Login nudge ─────────────────────────────────────────────────── */
.evt-card__nudge[b-y9drmjuwov] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: var(--pe-color-surface-2);
    border-top: 1px solid var(--pe-color-border);
    font-size: var(--pe-text-xs);
    color: var(--pe-color-text-muted);
    animation: adrop-in-b-y9drmjuwov .18s ease both;
}
.evt-card__nudge-link[b-y9drmjuwov] {
    margin-left: auto;
    font-weight: 700;
    color: var(--pe-color-brand);
    text-decoration: none;
}
.evt-card__nudge-link:hover[b-y9drmjuwov] { text-decoration: underline; }
.evt-card__nudge-close[b-y9drmjuwov] {
    background: none;
    border: none;
    cursor: pointer;
    padding: 2px;
    color: var(--pe-color-text-muted);
    display: flex;
    align-items: center;
}

/* ── Modal pós "Eu Vou" no card — bottom-sheet mobile, centrado desktop ─── */
.eu-vou-modal[b-y9drmjuwov] {
    position: fixed;
    inset: 0;
    z-index: 1200; /* acima dos cards e do header */
    display: flex;
    align-items: flex-end;
    justify-content: center;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(3px);
    animation: evm-card-fade-in-b-y9drmjuwov 0.25s ease;
    padding: 0;
}

@keyframes evm-card-fade-in-b-y9drmjuwov {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.eu-vou-modal__box[b-y9drmjuwov] {
    position: relative;
    background: var(--pe-color-surface, #fff);
    border-radius: 20px 20px 0 0;
    padding: 2.25rem 1.75rem 2.5rem;
    /* em mobile há uma BottomNav com ~64px + safe-area do dispositivo */
    padding-bottom: calc(2.5rem + 64px + env(safe-area-inset-bottom, 0px));
    width: 100%;
    max-width: 480px;
    text-align: center;
    animation: evm-card-slide-up-b-y9drmjuwov 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes evm-card-slide-up-b-y9drmjuwov {
    from { transform: translateY(40px); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
}

.eu-vou-modal__close[b-y9drmjuwov] {
    position: absolute;
    top: 1rem; right: 1rem;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.4rem;
    line-height: 1;
    color: var(--pe-color-text-muted, #6b7280);
    padding: 0.25rem 0.5rem;
    border-radius: 50%;
    transition: background 0.15s;
}
.eu-vou-modal__close:hover[b-y9drmjuwov] { background: var(--pe-color-surface-2, #f3f4f6); }

.eu-vou-modal__emoji[b-y9drmjuwov] {
    font-size: 3.5rem;
    line-height: 1;
    margin-bottom: 0.75rem;
}

.eu-vou-modal__titulo[b-y9drmjuwov] {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--pe-color-text, #111827);
    margin: 0 0 0.5rem;
    letter-spacing: -0.02em;
}

.eu-vou-modal__texto[b-y9drmjuwov] {
    font-size: 1rem;
    color: var(--pe-color-text, #111827);
    margin: 0 0 0.375rem;
    line-height: 1.5;
}

.eu-vou-modal__sub[b-y9drmjuwov] {
    font-size: 0.875rem;
    color: var(--pe-color-text-muted, #6b7280);
    margin: 0 0 1.5rem;
    line-height: 1.4;
}

.eu-vou-modal__share-btn[b-y9drmjuwov] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.875rem 1.5rem;
    border-radius: 999px;
    border: none;
    cursor: pointer;
    background: var(--pe-color-brand, #0369a1);
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    transition: background 0.15s, transform 0.1s;
    margin-bottom: 0.75rem;
}
.eu-vou-modal__share-btn:hover[b-y9drmjuwov]  { background: var(--pe-color-brand-dark, #0284c7); }
.eu-vou-modal__share-btn:active[b-y9drmjuwov] { transform: scale(0.97); }

.eu-vou-modal__skip[b-y9drmjuwov] {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 0.875rem;
    color: var(--pe-color-text-muted, #6b7280);
    padding: 0.25rem 0.5rem;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.15s;
}
.eu-vou-modal__skip:hover[b-y9drmjuwov] { color: var(--pe-color-text, #111827); }

@media (min-width: 640px) {
    .eu-vou-modal[b-y9drmjuwov] {
        align-items: center;
        padding: 1rem;
    }
    .eu-vou-modal__box[b-y9drmjuwov] {
        border-radius: 20px;
        padding: 2.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .eu-vou-modal[b-y9drmjuwov],
    .eu-vou-modal__box[b-y9drmjuwov] { animation: none; }
}
/* /Components/Features/Eventos/EventoCardSkeleton.razor.rz.scp.css */
/* FILE: EventoCardSkeleton.razor.css
   PURPOSE: Shimmer placeholder com a anatomia do EventoCard.
   TOKENS: tokens.css. */

.evt-skel[b-50af8p4l5x] {
    display: flex;
    flex-direction: column;
    border-radius: var(--pe-radius-lg);
    overflow: hidden;
    background: var(--pe-color-surface);
    /* igual ao EventoCard real para não haver layout shift */
    box-shadow: var(--pe-shadow-card);
}

.evt-skel__media[b-50af8p4l5x] {
    aspect-ratio: 4 / 3;
    background: linear-gradient(90deg,
        var(--pe-color-surface-2) 0%,
        var(--pe-color-surface-3) 50%,
        var(--pe-color-surface-2) 100%);
    background-size: 200% 100%;
    animation: evt-skel-shimmer-b-50af8p4l5x 1.6s linear infinite;
}

.evt-skel__body[b-50af8p4l5x] {
    /* padding igual ao EventoCard para altura consistente */
    padding: var(--pe-space-4);
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-3);
}

.evt-skel__line[b-50af8p4l5x] {
    height: 12px;
    border-radius: var(--pe-radius-sm);
    background: linear-gradient(90deg,
        var(--pe-color-surface-2) 0%,
        var(--pe-color-surface-3) 50%,
        var(--pe-color-surface-2) 100%);
    background-size: 200% 100%;
    animation: evt-skel-shimmer-b-50af8p4l5x 1.6s linear infinite;
}

/* Stagger: cada linha começa ligeiramente depois da anterior
   — parece conteúdo real a carregar em cascata */
.evt-skel__line:nth-child(1)[b-50af8p4l5x] { animation-delay: 0s; }
.evt-skel__line:nth-child(2)[b-50af8p4l5x] { animation-delay: 0.1s; }
.evt-skel__line:nth-child(3)[b-50af8p4l5x] { animation-delay: 0.2s; }
.evt-skel__line:nth-child(4)[b-50af8p4l5x] { animation-delay: 0.3s; }

.evt-skel__line--xs[b-50af8p4l5x] { width: 32%; height: 10px; }
.evt-skel__line--sm[b-50af8p4l5x] { width: 40%; height: 12px; }
.evt-skel__line--md[b-50af8p4l5x] { width: 80%; height: 14px; }
.evt-skel__line--lg[b-50af8p4l5x] { width: 92%; height: 18px; }

/* Linha extra para simular a barra de ações do rodapé */
.evt-skel[b-50af8p4l5x]::after {
    content: "";
    height: 44px;
    background: var(--pe-color-surface-2);
    border-top: 1px solid var(--pe-color-border);
    flex-shrink: 0;
}

@keyframes evt-skel-shimmer-b-50af8p4l5x {
    from { background-position: 200% 0; }
    to   { background-position: -200% 0; }
}

@media (prefers-reduced-motion: reduce) {
    .evt-skel__media[b-50af8p4l5x],
    .evt-skel__line[b-50af8p4l5x] { animation: none; background-position: 0 0; }
}
/* /Components/Features/Eventos/EventoQualidadePanel.razor.rz.scp.css */
/* COMPONENT: EventoQualidadePanel (CSS isolation) */

.evt-qa[b-aaop0vlnvy] {
    position: sticky;
    top: 1rem;
    display: flex;
    flex-direction: column;
    gap: .85rem;
    background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
    border: 1px solid #e4ebf5;
    border-radius: 14px;
    padding: 1rem 1rem 1.1rem;
    box-shadow: 0 4px 18px rgba(20, 50, 110, .06);
    font-size: .92rem;
    color: #1d2a44;
}

.evt-qa__hdr[b-aaop0vlnvy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
}

.evt-qa__title[b-aaop0vlnvy] { display: flex; align-items: center; gap: .5rem; }
.evt-qa__title h3[b-aaop0vlnvy] { margin: 0; font-size: 1rem; font-weight: 700; }
.evt-qa__spark[b-aaop0vlnvy] { font-size: 1.15rem; }

.evt-qa__score[b-aaop0vlnvy] {
    display: inline-flex;
    align-items: baseline;
    gap: 1px;
    padding: .25rem .55rem;
    border-radius: 999px;
    font-weight: 700;
    color: #fff;
}
.evt-qa__score strong[b-aaop0vlnvy] { font-size: 1rem; }
.evt-qa__score small[b-aaop0vlnvy] { opacity: .85; }
.evt-qa__score--alto[b-aaop0vlnvy] { background: linear-gradient(135deg,#1fa37d,#2bbd8b); }
.evt-qa__score--medio[b-aaop0vlnvy] { background: linear-gradient(135deg,#e8a23b,#f2b94d); }
.evt-qa__score--baixo[b-aaop0vlnvy] { background: linear-gradient(135deg,#d24d4d,#e36464); }

.evt-qa__hint[b-aaop0vlnvy] { margin: 0; color: #5a6a86; }
.evt-qa__resumo[b-aaop0vlnvy] { margin: 0; color: #2c3a5a; }

.evt-qa__loading[b-aaop0vlnvy] {
    display: flex; align-items: center; gap: .5rem;
    color: #4a5a7a; font-style: italic;
}
.evt-qa__dot[b-aaop0vlnvy] {
    width: 6px; height: 6px; border-radius: 999px; background: #5b78c4;
    animation: evtqa-bounce-b-aaop0vlnvy 1s infinite ease-in-out;
}
.evt-qa__dot:nth-child(2)[b-aaop0vlnvy] { animation-delay: .15s; }
.evt-qa__dot:nth-child(3)[b-aaop0vlnvy] { animation-delay: .3s; }
@keyframes evtqa-bounce-b-aaop0vlnvy {
    0%,80%,100% { transform: scale(.7); opacity: .5; }
    40% { transform: scale(1); opacity: 1; }
}

.evt-qa__ok[b-aaop0vlnvy] {
    padding: .65rem .8rem;
    border-radius: 10px;
    background: #e8f7ef;
    color: #1f6b46;
    font-weight: 600;
}

.evt-qa__sug[b-aaop0vlnvy] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .55rem; }

.evt-qa__item[b-aaop0vlnvy] {
    border: 1px solid #e4ebf5;
    border-left: 4px solid #c9d3e6;
    border-radius: 10px;
    padding: .65rem .8rem;
    background: #fff;
    display: flex; flex-direction: column; gap: .35rem;
}
.evt-qa__item--critico[b-aaop0vlnvy] { border-left-color: #d24d4d; background: #fff7f7; }
.evt-qa__item--aviso[b-aaop0vlnvy] { border-left-color: #e8a23b; background: #fffaf1; }
.evt-qa__item--info[b-aaop0vlnvy] { border-left-color: #5b78c4; background: #f5f8ff; }

.evt-qa__item header[b-aaop0vlnvy] { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; }
.evt-qa__pill[b-aaop0vlnvy] {
    font-size: .72rem; font-weight: 700; text-transform: uppercase;
    background: #eef2fb; color: #3a4e7a; padding: .15rem .5rem; border-radius: 999px;
}
.evt-qa__sev[b-aaop0vlnvy] { font-size: .75rem; color: #6b7a99; }
.evt-qa__ia[b-aaop0vlnvy] {
    font-size: .68rem; font-weight: 700;
    background: linear-gradient(135deg,#7b5cff,#5b78c4);
    color: #fff; padding: .1rem .4rem; border-radius: 6px;
}
.evt-qa__prob[b-aaop0vlnvy] { margin: 0; color: #1d2a44; }
.evt-qa__exp[b-aaop0vlnvy] { margin: 0; font-size: .85rem; color: #5a6a86; }

.evt-qa__valor[b-aaop0vlnvy] {
    background: #f1f5fb;
    border: 1px dashed #c9d3e6;
    border-radius: 8px;
    padding: .45rem .6rem;
    font-style: italic;
    color: #2c3a5a;
    display: flex;
    flex-direction: column;
    gap: .2rem;
}
.evt-qa__valor-label[b-aaop0vlnvy] {
    font-size: .68rem; font-weight: 700; text-transform: uppercase;
    color: #3559c4; font-style: normal; letter-spacing: .03em;
}

.evt-qa__antes[b-aaop0vlnvy] {
    background: #fff8ec;
    border: 1px dashed #e8c27a;
    border-radius: 8px;
    padding: .4rem .6rem;
    display: flex;
    flex-direction: column;
    gap: .2rem;
    font-size: .85rem;
    color: #5a3f00;
}
.evt-qa__antes-label[b-aaop0vlnvy] {
    font-size: .68rem; font-weight: 700; text-transform: uppercase;
    color: #9a6200; letter-spacing: .03em;
}
.evt-qa__antes-texto[b-aaop0vlnvy] {
    font-style: italic;
    opacity: .85;
    word-break: break-word;
}

.evt-qa__acoes[b-aaop0vlnvy] { display: flex; gap: .4rem; flex-wrap: wrap; margin-top: .15rem; }

.evt-qa__btn[b-aaop0vlnvy] {
    border: 1px solid #d4dcec;
    background: #fff;
    padding: .35rem .7rem;
    border-radius: 8px;
    font-size: .85rem;
    font-weight: 600;
    color: #2c3a5a;
    cursor: pointer;
    transition: background .15s, border-color .15s;
}
.evt-qa__btn:hover[b-aaop0vlnvy] { background: #f1f5fb; }
.evt-qa__btn--primary[b-aaop0vlnvy] {
    background: linear-gradient(135deg,#3559c4,#5b78c4);
    color: #fff;
    border-color: transparent;
}
.evt-qa__btn--primary:hover[b-aaop0vlnvy] { filter: brightness(1.05); }

@media (max-width: 900px) {
    .evt-qa[b-aaop0vlnvy] { position: static; }
}
/* /Components/Features/Eventos/HojeHero.razor.rz.scp.css */
/* FILE: HojeHero.razor.css
   PURPOSE: Hero premium "Hoje em Peniche" — visual surf/onda para /eventos?quando=hoje.
   TOKENS:  tokens.css
   AI-NOTE: Imagem de fundo via URL externa de surf. Trocar por /images/surf-hero.jpg
            quando disponível em wwwroot/images/. */

.hoje-hero[b-6nsp5i316b] {
    position: relative;
    min-height: 260px;
    border-radius: var(--pe-radius-xl);
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    /* Imagem de surf em Peniche — substituir por imagem local quando disponível */
    background-image: url('https://images.unsplash.com/photo-1502680390469-be75c86b636f?w=1400&q=80&auto=format&fit=crop');
    background-size: cover;
    background-position: center 40%;
    color: #fff;
    margin-bottom: calc(var(--pe-space-2) * -1);
}

/* Overlay: degradê da esquerda para criar contraste de leitura */
.hoje-hero__overlay[b-6nsp5i316b] {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(4, 20, 35, 0.82) 0%,
        rgba(2, 55, 80, 0.55) 60%,
        rgba(0, 0, 0, 0.15) 100%
    );
    z-index: 1;
}

/* Onda SVG na base para transição suave para o fundo da página */
.hoje-hero__wave[b-6nsp5i316b] {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    line-height: 0;
}
.hoje-hero__wave svg[b-6nsp5i316b] {
    width: 100%;
    height: 60px;
    display: block;
}

.hoje-hero__content[b-6nsp5i316b] {
    position: relative;
    z-index: 3;
    padding: var(--pe-space-8) var(--pe-space-6) calc(var(--pe-space-8) + 24px);
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-2);
    max-width: 560px;
}

/* "Peniche · Capital do Surf" */
.hoje-hero__eyebrow[b-6nsp5i316b] {
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: var(--pe-space-2);
    font-size: var(--pe-text-xs);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.75);
}

/* Ponto pulsante "ao vivo" */
.hoje-hero__dot[b-6nsp5i316b] {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #f97316; /* laranja surf */
    box-shadow: 0 0 0 0 rgba(249, 115, 22, 0.6);
    animation: hoje-pulse-b-6nsp5i316b 2s infinite;
    flex-shrink: 0;
}

@keyframes hoje-pulse-b-6nsp5i316b {
    0%   { box-shadow: 0 0 0 0   rgba(249,115,22,.6); }
    70%  { box-shadow: 0 0 0 8px rgba(249,115,22,.0); }
    100% { box-shadow: 0 0 0 0   rgba(249,115,22,.0); }
}

.hoje-hero__titulo[b-6nsp5i316b] {
    margin: 0;
    font-size: clamp(var(--pe-text-3xl), 5vw, var(--pe-text-5xl));
    font-weight: 800;
    line-height: var(--pe-leading-tight);
    letter-spacing: var(--pe-tracking-tight);
    color: #fff;
    text-shadow: 0 2px 16px rgba(0,0,0,.4);
}

.hoje-hero__titulo em[b-6nsp5i316b] {
    font-style: normal;
    color: #f97316; /* laranja surf */
}

.hoje-hero__data[b-6nsp5i316b] {
    margin: 0;
    font-size: var(--pe-text-base);
    font-weight: 500;
    color: rgba(255,255,255,.8);
    text-transform: capitalize;
}

.hoje-hero__contador[b-6nsp5i316b] {
    margin: var(--pe-space-1) 0 0;
    display: inline-flex;
    align-items: center;
    gap: var(--pe-space-2);
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.2);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    padding: var(--pe-space-2) var(--pe-space-4);
    border-radius: var(--pe-radius-pill);
    font-size: var(--pe-text-sm);
    font-weight: 600;
    color: #fff;
    width: fit-content;
}

.hoje-hero__num[b-6nsp5i316b] {
    font-size: var(--pe-text-xl);
    font-weight: 800;
    color: #f97316;
    line-height: 1;
}

/* ── Responsive ── */
@media (min-width: 640px) {
    .hoje-hero[b-6nsp5i316b] { min-height: 320px; }
    .hoje-hero__content[b-6nsp5i316b] { padding-bottom: calc(var(--pe-space-10) + 24px); }
}

@media (min-width: 1024px) {
    .hoje-hero[b-6nsp5i316b] {
        min-height: 380px;
        border-radius: var(--pe-radius-2xl, 24px);
    }
    .hoje-hero__content[b-6nsp5i316b] {
        padding: var(--pe-space-12) var(--pe-space-10) calc(var(--pe-space-10) + 24px);
    }
}
/* /Components/Features/Eventos/PedirEdicaoPopup.razor.rz.scp.css */
/* FILE: peniche/Components/Features/Eventos/PedirEdicaoPopup.razor.css
   PURPOSE: Estilos premium do popup de pedido de edição/remoção (RGPD).
   TOKENS: Usa var(--pe-color-*) definidos em tokens.css */

/* ── Overlay ─────────────────────────────────────────────────────── */
.ped-overlay[b-bodqeao3lk] {
    position: fixed;
    inset: 0;
    background: rgba(10, 20, 35, 0.65);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 900;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 0;
    animation: ped-overlay-in-b-bodqeao3lk 200ms ease;
}
@keyframes ped-overlay-in-b-bodqeao3lk { from { opacity: 0; } to { opacity: 1; } }

@media (min-width: 640px) {
    .ped-overlay[b-bodqeao3lk] { align-items: center; padding: 24px; }
}

/* ── Painel ──────────────────────────────────────────────────────── */
.ped-popup[b-bodqeao3lk] {
    background: var(--pe-color-surface, #fff);
    width: 100%;
    max-width: 520px;
    max-height: 92dvh;
    border-radius: 22px 22px 0 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 -8px 60px rgba(0,0,0,.18);
    animation: ped-slide-up-b-bodqeao3lk 280ms cubic-bezier(.34,1.4,.64,1);
}
@keyframes ped-slide-up-b-bodqeao3lk { from { transform: translateY(60px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

@media (min-width: 640px) {
    .ped-popup[b-bodqeao3lk] {
        border-radius: 22px;
        box-shadow: 0 24px 80px rgba(0,0,0,.22);
        animation: ped-scale-in-b-bodqeao3lk 240ms cubic-bezier(.34,1.4,.64,1);
    }
    @keyframes ped-scale-in-b-bodqeao3lk { from { transform: scale(.93); opacity: 0; } to { transform: scale(1); opacity: 1; } }
}

/* ── Cabeçalho ───────────────────────────────────────────────────── */
.ped-popup__header[b-bodqeao3lk] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 20px 14px;
    border-bottom: 1px solid var(--pe-color-border, #e8eaf0);
    flex-shrink: 0;
}

.ped-popup__header-icon[b-bodqeao3lk] {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: linear-gradient(135deg, #0ea5e9 0%, #6366f1 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    flex-shrink: 0;
}

.ped-popup__header-text[b-bodqeao3lk] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

.ped-popup__titulo[b-bodqeao3lk] {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--pe-color-brand, #e05c2a);
}

.ped-popup__evento-nome[b-bodqeao3lk] {
    font-size: .9rem;
    font-weight: 600;
    color: var(--pe-color-text, #0e2233);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ped-popup__close[b-bodqeao3lk] {
    all: unset;
    cursor: pointer;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--pe-color-surface-alt, #f5f5f7);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--pe-color-text-muted, #6b7280);
    transition: background 150ms, color 150ms;
    flex-shrink: 0;
}
.ped-popup__close:hover[b-bodqeao3lk] { background: #e5e7eb; color: #111; }

/* ── Corpo ───────────────────────────────────────────────────────── */
.ped-popup__body[b-bodqeao3lk] {
    flex: 1;
    overflow-y: auto;
    padding: 20px 20px 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* ── Bloco RGPD / transparência ──────────────────────────────────── */
.ped-popup__aviso-rgpd[b-bodqeao3lk] {
    background: linear-gradient(135deg, #eff6ff 0%, #f0fdf4 100%);
    border: 1px solid #bfdbfe;
    border-radius: 14px;
    padding: 16px;
    font-size: .85rem;
    line-height: 1.6;
    color: var(--pe-color-text, #0e2233);
}
.ped-popup__aviso-rgpd p[b-bodqeao3lk] { margin: 0 0 10px; }
.ped-popup__aviso-rgpd p:last-child[b-bodqeao3lk] { margin-bottom: 0; }

.ped-popup__direitos[b-bodqeao3lk] {
    list-style: none;
    padding: 0;
    margin: 8px 0 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.ped-popup__direitos li[b-bodqeao3lk] {
    font-size: .82rem;
    padding: 4px 0;
}

/* ── Formulário ──────────────────────────────────────────────────── */
.ped-popup__form[b-bodqeao3lk] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding-bottom: 8px;
}

.ped-popup__field-group[b-bodqeao3lk] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.ped-popup__label[b-bodqeao3lk] {
    font-size: .78rem;
    font-weight: 600;
    color: var(--pe-color-text-muted, #6b7280);
    letter-spacing: .03em;
    text-transform: uppercase;
}

.ped-popup__input[b-bodqeao3lk],
.ped-popup__textarea[b-bodqeao3lk] {
    width: 100%;
    padding: 10px 13px;
    border: 1.5px solid var(--pe-color-border, #e0e0e8);
    border-radius: 10px;
    font-size: .9rem;
    color: var(--pe-color-text, #0e2233);
    background: var(--pe-color-surface, #fff);
    transition: border-color 150ms, box-shadow 150ms;
    box-sizing: border-box;
    resize: vertical;
}
.ped-popup__input:focus[b-bodqeao3lk],
.ped-popup__textarea:focus[b-bodqeao3lk] {
    outline: none;
    border-color: #6366f1;
    box-shadow: 0 0 0 3px rgba(99,102,241,.12);
}
.ped-popup__input--erro[b-bodqeao3lk] {
    border-color: #ef4444 !important;
    box-shadow: 0 0 0 3px rgba(239,68,68,.1) !important;
}

.ped-popup__erro[b-bodqeao3lk] {
    font-size: .75rem;
    color: #dc2626;
    margin-top: 2px;
}

.ped-popup__erro-servidor[b-bodqeao3lk] {
    font-size: .82rem;
    color: #dc2626;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    padding: 8px 12px;
    margin: 0;
}

/* ── Pills de tipo ───────────────────────────────────────────────── */
.ped-popup__tipo-pills[b-bodqeao3lk] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.ped-popup__pill[b-bodqeao3lk] {
    all: unset;
    cursor: pointer;
    padding: 7px 14px;
    border-radius: 20px;
    font-size: .82rem;
    font-weight: 600;
    border: 1.5px solid var(--pe-color-border, #e0e0e8);
    color: var(--pe-color-text-muted, #6b7280);
    background: var(--pe-color-surface-alt, #f5f5f7);
    transition: all 150ms;
    white-space: nowrap;
}
.ped-popup__pill:hover[b-bodqeao3lk] { border-color: #6366f1; color: #6366f1; }
.ped-popup__pill--ativo[b-bodqeao3lk] {
    background: linear-gradient(135deg, #6366f1, #0ea5e9);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 4px 14px rgba(99,102,241,.3);
}

/* ── Nota LGPD ───────────────────────────────────────────────────── */
.ped-popup__lgpd-nota[b-bodqeao3lk] {
    font-size: .75rem;
    color: var(--pe-color-text-muted, #6b7280);
    background: var(--pe-color-surface-alt, #f5f5f7);
    border-radius: 8px;
    padding: 8px 12px;
    margin: 0;
    line-height: 1.5;
}

/* ── Rodapé ──────────────────────────────────────────────────────── */
.ped-popup__footer[b-bodqeao3lk] {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    padding: 14px 20px 20px;
    border-top: 1px solid var(--pe-color-border, #e8eaf0);
    flex-shrink: 0;
}

.ped-popup__btn[b-bodqeao3lk] {
    all: unset;
    cursor: pointer;
    padding: 10px 20px;
    border-radius: 12px;
    font-size: .88rem;
    font-weight: 600;
    background: var(--pe-color-surface-alt, #f5f5f7);
    color: var(--pe-color-text, #0e2233);
    border: 1.5px solid var(--pe-color-border, #e0e0e8);
    transition: background 150ms, transform 120ms;
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.ped-popup__btn:hover[b-bodqeao3lk] { background: #e5e7eb; }
.ped-popup__btn--primary[b-bodqeao3lk] {
    background: linear-gradient(135deg, #6366f1 0%, #0ea5e9 100%);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 4px 16px rgba(99,102,241,.28);
}
.ped-popup__btn--primary:hover[b-bodqeao3lk] { opacity: .92; transform: translateY(-1px); }
.ped-popup__btn--primary:disabled[b-bodqeao3lk] { opacity: .6; cursor: not-allowed; transform: none; }

/* ── Spinner ─────────────────────────────────────────────────────── */
.ped-popup__spinner[b-bodqeao3lk] {
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255,255,255,.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: ped-spin-b-bodqeao3lk 600ms linear infinite;
    display: inline-block;
}
@keyframes ped-spin-b-bodqeao3lk { to { transform: rotate(360deg); } }

/* ── Estado de sucesso ───────────────────────────────────────────── */
.ped-popup__sucesso[b-bodqeao3lk] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 36px 28px 32px;
    gap: 12px;
    flex: 1;
}

.ped-popup__sucesso-icon[b-bodqeao3lk] { font-size: 2.8rem; line-height: 1; }
.ped-popup__sucesso h3[b-bodqeao3lk]   { margin: 0; font-size: 1.15rem; color: var(--pe-color-text, #0e2233); }
.ped-popup__sucesso p[b-bodqeao3lk]    { margin: 0; font-size: .88rem; color: var(--pe-color-text-muted, #6b7280); line-height: 1.6; max-width: 340px; }
/* /Components/Features/HeroEditorial/HeroEditorial.razor.rz.scp.css */
/* FILE: HeroEditorial.razor.css
   PURPOSE: Hero editorial premium. Mobile-first; single-column, imagem full-width + corpo dark.
   TOKENS:  tokens.css.
   AI-NOTE: overflow:hidden APENAS no __media para nao cortar o corpo de texto. */

.hero[b-r8le1h86kw] {
    display: flex;
    flex-direction: column;
    gap: 0;
    background: #0f0f0f;
    border-radius: 16px;
    /* overflow:hidden aqui cortaria o texto — usar isolation em vez disso */
    isolation: isolate;
    box-shadow: 0 4px 24px rgba(0,0,0,.18);
    /* garante que o border-radius se aplica sem overflow:hidden no pai */
    contain: layout;
}

/* ── Imagem ── */
.hero__media[b-r8le1h86kw] {
    position: relative;
    display: block;
    width: 100%;
    /* mobile: mais curto para não dominar o fold */
    aspect-ratio: 16 / 9;
    border-radius: 16px 16px 0 0;  /* arredondar só em cima */
    overflow: hidden;              /* clip da imagem dentro do container */
    background: #111;
    flex-shrink: 0;
}
@media (min-width: 640px) {
    .hero__media[b-r8le1h86kw] { aspect-ratio: 3 / 2; }
}
.hero__media img[b-r8le1h86kw] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transition: transform .6s ease;
}
.hero__media:hover img[b-r8le1h86kw] { transform: scale(1.03); }

.hero__badge[b-r8le1h86kw] {
    position: absolute;
    top: 12px;
    left: 12px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: rgba(255,255,255,0.9);
    color: #111;
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    padding: 3px 10px;
    border-radius: 99px;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    box-shadow: 0 1px 4px rgba(0,0,0,.15);
    /* badge precisa de position:relative no pai */
    pointer-events: none;
}

.hero__body[b-r8le1h86kw] {
    padding: 20px 20px 28px;
    display: flex;
    flex-direction: column;
    gap: 0;
    background: #0f0f0f;
    color: #f5f5f5;
    /* garantir que o texto nao sai fora */
    min-width: 0;
    overflow-wrap: break-word;
    word-break: break-word;
}
.hero__eyebrow[b-r8le1h86kw] { margin-bottom: var(--pe-space-2); }
.hero__title[b-r8le1h86kw]   { margin-bottom: var(--pe-space-3); }
.hero__lead[b-r8le1h86kw]    { margin-bottom: var(--pe-space-5); }

.hero__eyebrow[b-r8le1h86kw] {
    font-size: var(--pe-text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: var(--pe-tracking-wide);
    color: var(--pe-color-accent);
}

.hero__title[b-r8le1h86kw] {
    font-size: clamp(1.35rem, 5vw, 3.5rem);
    line-height: 1.15;
    letter-spacing: -0.02em;
    margin: 0;
    font-weight: 700;
    color: #ffffff;
}
.hero__title a[b-r8le1h86kw] { color: inherit; text-decoration: none; }
.hero__title a:hover[b-r8le1h86kw] { color: #f97316; }

.hero__lead[b-r8le1h86kw] {
    font-size: clamp(0.95rem, 3vw, 1.25rem);
    line-height: 1.55;
    color: #e5e5e5;
    font-weight: 500;
    margin: 0;
    white-space: pre-wrap;
}

.hero__par[b-r8le1h86kw] {
    margin: 0;
    font-size: var(--pe-text-base);
    line-height: var(--pe-leading-relaxed);
    color: #a3a3a3;
    white-space: pre-wrap;
}
.hero__par + .hero__par[b-r8le1h86kw] { margin-top: var(--pe-space-3); }

.hero__quote[b-r8le1h86kw] {
    margin: var(--pe-space-4) 0;
    padding: var(--pe-space-4) var(--pe-space-5);
    border-left: 3px solid #f97316;
    background: rgba(255,255,255,0.06);
    font-family: var(--pe-font-display);
    font-size: var(--pe-text-xl);
    font-style: italic;
    line-height: var(--pe-leading-snug);
    border-radius: 0 var(--pe-radius-md) var(--pe-radius-md) 0;
    color: #f5f5f5;
}

.hero__footer[b-r8le1h86kw] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--pe-space-2);
    margin-top: var(--pe-space-2);
    font-size: var(--pe-text-xs);
    color: #737373;
}

.hero__cta[b-r8le1h86kw] {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: var(--pe-space-2);
    margin-top: var(--pe-space-3);
    padding: var(--pe-space-3) var(--pe-space-6);
    background: #f97316;
    color: #fff;
    border-radius: var(--pe-radius-pill);
    font-weight: 600;
    text-decoration: none;
    transition: transform var(--pe-motion-fast) var(--pe-easing-standard),
                background-color var(--pe-motion-fast) var(--pe-easing-standard);
}
.hero__cta:hover[b-r8le1h86kw] { background: #ea6c0a; color: #fff; transform: translateY(-1px); }

/* ───── Wrapper hero + comentários (elimina gap enorme da homepage) ──── */
.hero-wrapper[b-r8le1h86kw] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* ───── Secção de comentários — colada ao hero ────────────────────────── */
.hero__comentarios-wrap[b-r8le1h86kw] {
    background: #161616;
    border: 1.5px solid rgba(255,255,255,0.08);
    border-top: none;
    border-radius: 0 0 var(--pe-radius-2xl) var(--pe-radius-2xl);
    padding: 0 var(--pe-space-6) var(--pe-space-6);
    box-shadow: var(--pe-shadow-card);
}

.hero__comentarios-convite[b-r8le1h86kw] {
    display: flex;
    align-items: center;
    gap: var(--pe-space-2);
    padding: var(--pe-space-4) 0 var(--pe-space-2);
    font-size: var(--pe-text-sm);
    font-weight: 600;
    color: #f97316;
    border-top: 1px solid rgba(255,255,255,0.08);
    margin-bottom: var(--pe-space-2);
}

/* ───── Overrides: comentários encaixados no hero (sem margin/padding extra) ── */
.hero__comentarios-wrap :global(.comentarios)[b-r8le1h86kw] {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}
.hero__comentarios-wrap :global(.comentarios__head)[b-r8le1h86kw] {
    margin-bottom: var(--pe-space-2);
}
.hero__comentarios-wrap :global(.composer)[b-r8le1h86kw] {
    margin-bottom: var(--pe-space-3);
}
.hero__comentarios-wrap :global(.comentarios__vazio)[b-r8le1h86kw] {
    padding: var(--pe-space-2) 0;
    font-size: var(--pe-text-sm);
}

/* Ajuste: o .hero precisa de border-radius só em cima quando tem comentários colados */
.hero-wrapper .hero[b-r8le1h86kw] {
    border-radius: var(--pe-radius-2xl) var(--pe-radius-2xl) 0 0;
    border-bottom: 1.5px solid rgba(255,255,255,0.08);
}


.hero--skeleton .hero__media[b-r8le1h86kw] { aspect-ratio: 16 / 10; }
.skel[b-r8le1h86kw] {
    background: linear-gradient(90deg, var(--pe-color-surface-2) 25%, var(--pe-color-surface-3) 37%, var(--pe-color-surface-2) 63%);
    background-size: 400% 100%;
    animation: shine-b-r8le1h86kw 1.4s linear infinite;
    border-radius: var(--pe-radius-sm);
}
.skel-line[b-r8le1h86kw] { height: 16px; margin: var(--pe-space-2) 0; }
.skel-line--w70[b-r8le1h86kw] { width: 70%; }
.skel-line--w90[b-r8le1h86kw] { width: 90%; }
.skel-line--w60[b-r8le1h86kw] { width: 60%; }
@keyframes shine-b-r8le1h86kw { from { background-position: 200% 0; } to { background-position: -200% 0; } }

@media (prefers-reduced-motion: reduce) {
    .skel[b-r8le1h86kw], .hero__media img[b-r8le1h86kw] { animation: none; transition: none; }
}

/* ───── Desktop: aspect-ratio mais panorâmico ─────────────────── */
@media (min-width: 1024px) {
    .hero__media[b-r8le1h86kw] {
        aspect-ratio: 16 / 6;
    }
    .hero__body[b-r8le1h86kw] {
        padding: 40px 48px 48px;
    }
}

/* ───── Reset inline styles do conteúdo rico gerado pelo editor ── */
/* ::deep penetra o HTML dinâmico injectado via MarkupString (sem atributo de scope) */
[b-r8le1h86kw] .hero__corpo-rich { color: #c4c4c4; }
[b-r8le1h86kw] .hero__corpo-rich p { margin: var(--pe-space-2) 0; line-height: 1.7; color: #c4c4c4; }
[b-r8le1h86kw] .hero__corpo-rich strong,
[b-r8le1h86kw] .hero__corpo-rich b { color: #f0f0f0; }
[b-r8le1h86kw] .hero__corpo-rich a { color: #f97316; text-decoration: underline; }
[b-r8le1h86kw] .hero__corpo-rich h2,
[b-r8le1h86kw] .hero__corpo-rich h3 { color: #ffffff; margin: var(--pe-space-4) 0 var(--pe-space-2); }
[b-r8le1h86kw] .hero__corpo-rich ul,
[b-r8le1h86kw] .hero__corpo-rich ol { color: #c4c4c4; padding-left: var(--pe-space-5); }
[b-r8le1h86kw] .hero__corpo-rich li { margin: var(--pe-space-1) 0; }

/* ─────────────────────────────────────────────────────────────
   BARRA DE AÇÕES RÁPIDAS
   ───────────────────────────────────────────────────────────── */
.hero__actions[b-r8le1h86kw] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--pe-space-2);
    margin-top: var(--pe-space-4);
    padding-top: var(--pe-space-4);
    border-top: 1px solid rgba(255,255,255,0.1);
}

.hero__action-btn[b-r8le1h86kw] {
    display: inline-flex;
    align-items: center;
    gap: var(--pe-space-1-5);
    padding: var(--pe-space-2) var(--pe-space-3);
    background: rgba(255,255,255,0.08);
    color: #e5e5e5;
    border: 1.5px solid rgba(255,255,255,0.12);
    border-radius: var(--pe-radius-pill);
    font-size: var(--pe-text-sm);
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
    transition: background var(--pe-motion-fast) var(--pe-easing-standard),
                border-color var(--pe-motion-fast) var(--pe-easing-standard),
                color var(--pe-motion-fast) var(--pe-easing-standard),
                transform var(--pe-motion-fast) var(--pe-easing-standard);
    -webkit-tap-highlight-color: transparent;
    user-select: none;
}
.hero__action-btn:hover[b-r8le1h86kw] {
    background: rgba(255,255,255,0.15);
    color: #fff;
    border-color: rgba(255,255,255,0.25);
    transform: translateY(-1px);
}
.hero__action-btn:disabled[b-r8le1h86kw] {
    opacity: .55;
    cursor: not-allowed;
    transform: none;
}

/* Like activo */
.hero__action-btn--on[b-r8le1h86kw] {
    background: color-mix(in srgb, var(--pe-color-error, #ef4444) 12%, transparent);
    border-color: color-mix(in srgb, var(--pe-color-error, #ef4444) 40%, transparent);
    color: var(--pe-color-error, #ef4444);
}
.hero__action-btn--on:hover[b-r8le1h86kw] {
    background: color-mix(in srgb, var(--pe-color-error, #ef4444) 20%, transparent);
}

/* Dislike activo */
.hero__action-btn--dis[b-r8le1h86kw] {
    background: color-mix(in srgb, var(--pe-color-brand, #6366f1) 12%, transparent);
    border-color: color-mix(in srgb, var(--pe-color-brand, #6366f1) 35%, transparent);
    color: var(--pe-color-brand, #6366f1);
}

/* Botão "Ver evento" — destaque */
.hero__action-btn--go[b-r8le1h86kw] {
    background: var(--pe-color-text);
    color: var(--pe-color-bg);
    border-color: var(--pe-color-text);
    font-weight: 600;
    margin-left: auto;
}
.hero__action-btn--go:hover[b-r8le1h86kw] {
    background: var(--pe-neutral-700, #374151);
    color: #fff;
    border-color: transparent;
}

/* ── Eu Vou ──────────────────────────────────────────────────────── */
.hero__eu-vou[b-r8le1h86kw] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 14px;
    height: 36px;
    border-radius: 50px;
    border: 2px solid var(--pe-color-coral, #ff5c3a);
    background: transparent;
    color: var(--pe-color-coral, #ff5c3a);
    font: inherit;
    font-size: .82rem;
    font-weight: 800;
    white-space: nowrap;
    cursor: pointer;
    transition: background .18s, color .18s, box-shadow .18s, transform .12s;
}
.hero__eu-vou:hover[b-r8le1h86kw] {
    background: var(--pe-color-coral, #ff5c3a);
    color: #fff;
    box-shadow: 0 4px 18px rgba(255,92,58,.4);
    transform: scale(1.04);
}
.hero__eu-vou--on[b-r8le1h86kw] {
    background: var(--pe-color-coral, #ff5c3a);
    color: #fff;
    box-shadow: 0 4px 18px rgba(255,92,58,.35);
}
.hero__eu-vou--on:hover[b-r8le1h86kw] {
    background: color-mix(in srgb, var(--pe-color-coral, #ff5c3a) 82%, #000);
    transform: scale(1.03);
}
.hero__eu-vou-count[b-r8le1h86kw] {
    background: rgba(255,255,255,.22);
    border-radius: 10px;
    padding: 1px 7px;
    font-size: .72rem;
    font-weight: 700;
}
.hero__eu-vou--on .hero__eu-vou-count[b-r8le1h86kw] {
    background: rgba(255,255,255,.3);
}

/* ─────────────────────────────────────────────────────────────
   DIALOG DE PARTILHA
   ───────────────────────────────────────────────────────────── */
.hero__share-dialog[b-r8le1h86kw] {
    border: none;
    border-radius: var(--pe-radius-2xl);
    padding: 0;
    box-shadow: var(--pe-shadow-xl, 0 25px 50px -12px rgb(0 0 0 / .25));
    max-width: 380px;
    width: 100%;
    background: var(--pe-color-surface);
}
.hero__share-dialog[b-r8le1h86kw]::backdrop {
    background: rgb(0 0 0 / .45);
    backdrop-filter: blur(4px);
}

.hero__share-panel[b-r8le1h86kw] {
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-4);
    padding: var(--pe-space-6);
}

.hero__share-header[b-r8le1h86kw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 700;
    font-size: var(--pe-text-lg);
}
.hero__share-header button[b-r8le1h86kw] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--pe-color-muted);
    padding: var(--pe-space-1);
    border-radius: var(--pe-radius-full);
    transition: background var(--pe-motion-fast) var(--pe-easing-standard);
}
.hero__share-header button:hover[b-r8le1h86kw] { background: var(--pe-color-surface-2); }

.hero__share-nome[b-r8le1h86kw] {
    font-size: var(--pe-text-sm);
    color: var(--pe-color-text-soft);
    margin: 0;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.hero__share-redes[b-r8le1h86kw] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: var(--pe-space-2);
}
.hero__share-rede[b-r8le1h86kw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--pe-space-1);
    padding: var(--pe-space-3) var(--pe-space-2);
    border-radius: var(--pe-radius-xl);
    text-decoration: none;
    font-size: var(--pe-text-xs);
    font-weight: 600;
    transition: transform var(--pe-motion-fast) var(--pe-easing-standard),
                filter var(--pe-motion-fast) var(--pe-easing-standard);
}
.hero__share-rede:hover[b-r8le1h86kw] { transform: translateY(-2px); filter: brightness(1.08); }
.hero__share-rede span:first-child[b-r8le1h86kw] { font-size: var(--pe-text-2xl); }
.hero__share-rede--wa[b-r8le1h86kw] { background: #dcfce7; color: #166534; }
.hero__share-rede--fb[b-r8le1h86kw] { background: #dbeafe; color: #1d4ed8; }
.hero__share-rede--x[b-r8le1h86kw]  { background: var(--pe-color-surface-2); color: var(--pe-color-text); }

.hero__share-copiar[b-r8le1h86kw] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--pe-space-2);
    width: 100%;
    padding: var(--pe-space-3);
    background: var(--pe-color-surface-2);
    border: 1.5px dashed var(--pe-color-border, #e5e7eb);
    border-radius: var(--pe-radius-xl);
    font-size: var(--pe-text-sm);
    font-weight: 600;
    cursor: pointer;
    color: var(--pe-color-text);
    transition: background var(--pe-motion-fast) var(--pe-easing-standard),
                border-color var(--pe-motion-fast) var(--pe-easing-standard);
}
.hero__share-copiar:hover[b-r8le1h86kw] {
    background: var(--pe-color-surface-3);
    border-color: var(--pe-color-brand, #6366f1);
    color: var(--pe-color-brand, #6366f1);
}
/* /Components/Features/Partilha/SharePartilhaSheet.razor.rz.scp.css */
/* FILE: SharePartilhaSheet.razor.css
   PURPOSE: Grid premium de partilha (3 colunas mobile-first), card "Descarregar Story", CTA nativo.
   TOKENS: tokens.css.
   AI-NOTE: Mantém alvos ≥ 56px. Ícones pintados por classe (--ic-bg). */

.share[b-bdqp0i8hk8] {
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-3);
}

.share__grid[b-bdqp0i8hk8] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--pe-space-3);
}

/* ───── Hero CTA (share nativo mobile) ───────────────────── */
.share__hero[b-bdqp0i8hk8] {
    display: flex;
    align-items: center;
    gap: var(--pe-space-3);
    width: 100%;
    padding: var(--pe-space-3) var(--pe-space-4);
    background: var(--pe-color-surface);
    color: var(--pe-color-text);
    border: 1px solid var(--pe-color-border);
    border-radius: var(--pe-radius-lg);
    cursor: pointer;
    text-align: left;
    transition: transform var(--pe-motion-fast) var(--pe-easing-standard),
                box-shadow var(--pe-motion-fast) var(--pe-easing-standard);
}
.share__hero:hover[b-bdqp0i8hk8] { box-shadow: var(--pe-shadow-2); }
.share__hero:active[b-bdqp0i8hk8] { transform: scale(0.99); }
.share__hero[disabled][b-bdqp0i8hk8] { opacity: 0.6; cursor: progress; }

.share__hero--primary[b-bdqp0i8hk8] {
    background: linear-gradient(135deg, #3559c4, #5b78c4);
    color: #fff;
    border-color: transparent;
}
.share__hero--primary .share__hero-ico[b-bdqp0i8hk8] { background: rgba(255,255,255,.18); color:#fff; }

.share__hero-ico[b-bdqp0i8hk8] {
    width: 44px; height: 44px;
    border-radius: 50%;
    background: var(--pe-color-surface-2);
    display: inline-flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.share__hero-text[b-bdqp0i8hk8] { display: flex; flex-direction: column; gap: 2px; }
.share__hero-text strong[b-bdqp0i8hk8] { font-size: var(--pe-text-sm); font-weight: 700; }
.share__hero-text small[b-bdqp0i8hk8] { font-size: var(--pe-text-xs); opacity: 0.85; }

/* ───── Hint ─────────────────────────────────────────────── */
.share__hint[b-bdqp0i8hk8] {
    margin: 0;
    padding: var(--pe-space-2) var(--pe-space-3);
    background: var(--pe-color-surface-2);
    border-radius: var(--pe-radius-md, 8px);
    font-size: var(--pe-text-xs);
    color: var(--pe-color-muted, #6b7280);
    display: flex; align-items: center; gap: var(--pe-space-2);
}
.share__hint strong[b-bdqp0i8hk8] { color: var(--pe-color-text); }


.share__btn[b-bdqp0i8hk8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--pe-space-2);
    min-height: 84px;
    padding: var(--pe-space-3) var(--pe-space-2);
    background: var(--pe-color-surface);
    color: var(--pe-color-text);
    border: 1px solid var(--pe-color-border);
    border-radius: var(--pe-radius-lg);
    font-size: var(--pe-text-xs);
    font-weight: 600;
    cursor: pointer;
    transition: transform var(--pe-motion-fast) var(--pe-easing-standard),
                border-color var(--pe-motion-fast) var(--pe-easing-standard),
                box-shadow var(--pe-motion-fast) var(--pe-easing-standard);
}
.share__btn:hover[b-bdqp0i8hk8] { border-color: var(--pe-color-border-strong); box-shadow: var(--pe-shadow-2); }
.share__btn:active[b-bdqp0i8hk8] { transform: scale(0.97); }
.share__btn:focus-visible[b-bdqp0i8hk8] { outline: 2px solid var(--pe-color-text); outline-offset: 2px; }

.share__icon[b-bdqp0i8hk8] {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--pe-color-surface-2);
    color: var(--pe-color-text);
}
.share__icon--wa[b-bdqp0i8hk8] { background: #25D366; color: #fff; }
.share__icon--fb[b-bdqp0i8hk8] { background: #1877F2; color: #fff; }
.share__icon--tg[b-bdqp0i8hk8] { background: #229ED9; color: #fff; }
.share__icon--x[b-bdqp0i8hk8]  { background: #000;     color: #fff; }
.share__icon--ig[b-bdqp0i8hk8] {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    color: #fff;
}

/* ───── Story download ───────────────────────────────────── */
.share__story[b-bdqp0i8hk8] {
    display: flex;
    align-items: center;
    gap: var(--pe-space-3);
    margin-top: var(--pe-space-4);
    padding: var(--pe-space-3) var(--pe-space-4);
    background: var(--pe-color-surface-2);
    border: 1px solid var(--pe-color-border);
    border-radius: var(--pe-radius-lg);
    color: var(--pe-color-text);
    text-decoration: none;
    transition: background-color var(--pe-motion-fast) var(--pe-easing-standard);
}
.share__story:hover[b-bdqp0i8hk8] { background: var(--pe-color-surface-3); }

.share__story-ic[b-bdqp0i8hk8] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--pe-color-surface);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--pe-color-accent);
    flex-shrink: 0;
}
.share__story-tx[b-bdqp0i8hk8] { display: flex; flex-direction: column; gap: 2px; }
.share__story-tx strong[b-bdqp0i8hk8] { font-size: var(--pe-text-sm); font-weight: 600; }
.share__story-tx small[b-bdqp0i8hk8]  { font-size: var(--pe-text-xs); color: var(--pe-color-muted); }

/* ───── Nativo ───────────────────────────────────────────── */
.share__native[b-bdqp0i8hk8] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--pe-space-2);
    width: 100%;
    margin-top: var(--pe-space-3);
    padding: var(--pe-space-3) var(--pe-space-5);
    background: transparent;
    color: var(--pe-color-muted);
    border: 0;
    font-size: var(--pe-text-sm);
    font-weight: 500;
    cursor: pointer;
    border-radius: var(--pe-radius-pill);
    transition: background-color var(--pe-motion-fast) var(--pe-easing-standard),
                color var(--pe-motion-fast) var(--pe-easing-standard);
}
.share__native:hover[b-bdqp0i8hk8] { background: var(--pe-color-surface-2); color: var(--pe-color-text); }

@media (min-width: 480px) {
    .share__grid[b-bdqp0i8hk8] { grid-template-columns: repeat(6, 1fr); }
}

/* ───── Previews de partilha (Fase 16) ───────────────────── */
.share__previews[b-bdqp0i8hk8] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--pe-space-3);
    margin-top: var(--pe-space-4);
}
.share__prev[b-bdqp0i8hk8] {
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-2);
    padding: var(--pe-space-2);
    background: var(--pe-color-surface);
    border: 1px solid var(--pe-color-border);
    border-radius: var(--pe-radius-lg);
    color: var(--pe-color-text);
    text-decoration: none;
    cursor: pointer;
    text-align: left;
    position: relative;
    transition: transform var(--pe-motion-fast) var(--pe-easing-standard),
                box-shadow var(--pe-motion-fast) var(--pe-easing-standard);
}
.share__prev-dl[b-bdqp0i8hk8] {
    position: absolute;
    top: 10px; right: 10px;
    width: 26px; height: 26px;
    border-radius: 50%;
    background: rgba(0,0,0,.6);
    color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
}
.share__prev:hover[b-bdqp0i8hk8] { transform: translateY(-2px); box-shadow: var(--pe-shadow-2); }
.share__prev-thumb[b-bdqp0i8hk8] {
    display: block;
    overflow: hidden;
    border-radius: 8px;
    background: #0c0a09;
}
.share__prev-thumb img[b-bdqp0i8hk8] { width: 100%; height: 100%; object-fit: cover; display: block; }
.share__prev-thumb--og[b-bdqp0i8hk8]     { aspect-ratio: 1200 / 630; }
.share__prev-thumb--story[b-bdqp0i8hk8]  { aspect-ratio: 9 / 16; }
.share__prev-thumb--square[b-bdqp0i8hk8] { aspect-ratio: 1 / 1; }
.share__prev-meta[b-bdqp0i8hk8] { display: flex; flex-direction: column; line-height: 1.2; }
.share__prev-meta strong[b-bdqp0i8hk8] { font-size: var(--pe-text-xs); font-weight: 600; }
.share__prev-meta small[b-bdqp0i8hk8] { font-size: 0.68rem; color: var(--pe-color-muted, #6b7280); }

@media (max-width: 480px) {
    .share__previews[b-bdqp0i8hk8] { grid-template-columns: 1fr 1fr; }
    .share__prev--square[b-bdqp0i8hk8] { grid-column: span 2; }
}

/* ───── Sub-menu Instagram ────────────────────────────────── */
.share__btn--active[b-bdqp0i8hk8] {
    background: rgba(131, 58, 180, 0.12);
    border-color: #833ab4;
    color: #833ab4;
}

.share__btn-chevron[b-bdqp0i8hk8] {
    margin-left: auto;
    font-size: 0.8rem;
    transition: transform 0.2s;
    display: inline-block;
}
.share__btn-chevron--up[b-bdqp0i8hk8] { transform: rotate(180deg); }

.share__sub-instagram[b-bdqp0i8hk8] {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-2);
    padding: var(--pe-space-3);
    background: rgba(131, 58, 180, 0.06);
    border: 1px solid rgba(131, 58, 180, 0.2);
    border-radius: var(--pe-radius-lg);
    animation: slideDown-b-bdqp0i8hk8 0.18s ease;
}

@keyframes slideDown-b-bdqp0i8hk8 {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

.share__sub-btn[b-bdqp0i8hk8] {
    display: flex;
    align-items: center;
    gap: var(--pe-space-3);
    padding: var(--pe-space-3) var(--pe-space-3);
    background: var(--pe-color-surface);
    border: 1px solid var(--pe-color-border);
    border-radius: var(--pe-radius-md);
    cursor: pointer;
    text-align: left;
    min-height: 52px;
    width: 100%;
    transition: background 0.15s;
}
.share__sub-btn:hover[b-bdqp0i8hk8] { background: var(--pe-color-surface-hover, #f9fafb); }
.share__sub-btn:disabled[b-bdqp0i8hk8] { opacity: 0.5; cursor: not-allowed; }

.share__sub-ico[b-bdqp0i8hk8] { font-size: 1.4rem; flex-shrink: 0; }

.share__sub-text[b-bdqp0i8hk8] { display: flex; flex-direction: column; line-height: 1.2; }
.share__sub-text strong[b-bdqp0i8hk8] { font-size: var(--pe-text-sm); font-weight: 600; color: var(--pe-color-text); }
.share__sub-text small[b-bdqp0i8hk8]   { font-size: 0.7rem; color: var(--pe-color-muted, #6b7280); }

/* Caixa de legenda para copiar */
.share__ig-copy[b-bdqp0i8hk8] {
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-2);
    margin-top: var(--pe-space-1);
}

.share__ig-copy-label[b-bdqp0i8hk8] {
    font-size: var(--pe-text-xs);
    font-weight: 600;
    color: var(--pe-color-text);
    margin: 0;
}

.share__ig-copy-text[b-bdqp0i8hk8] {
    font-size: 0.75rem;
    color: var(--pe-color-text);
    background: var(--pe-color-bg, #f3f4f6);
    border: 1px solid var(--pe-color-border);
    border-radius: var(--pe-radius-sm);
    padding: var(--pe-space-2) var(--pe-space-3);
    max-height: 120px;
    overflow-y: auto;
    white-space: pre-wrap;
    word-break: break-word;
    font-family: inherit;
    margin: 0;
    -webkit-overflow-scrolling: touch;
}

.share__ig-copy-btn[b-bdqp0i8hk8] {
    align-self: flex-end;
    padding: var(--pe-space-1) var(--pe-space-3);
    background: #833ab4;
    color: #fff;
    border: none;
    border-radius: var(--pe-radius-full);
    font-size: var(--pe-text-xs);
    font-weight: 600;
    cursor: pointer;
    min-height: 36px;
    transition: background 0.15s;
}
.share__ig-copy-btn:hover[b-bdqp0i8hk8] { background: #6a2fa0; }
/* /Components/Features/Pwa/InstallBanner.razor.rz.scp.css */
/* FILE: InstallBanner.razor.css
   PURPOSE: Estilo do banner de instalação PWA.
            Aparece colado ao fundo (acima do BottomNav, gap=env(safe-area-inset-bottom)).
            Mobile-first: cabe em 360px. Desktop: esconde (os browsers de desktop já têm o seu prompt nativo na barra de endereço).
   TOKENS:  --pe-atlantico, --pe-farol (dourado), safe-area vars de tokens.css
   AI-NOTE: z-index 900 (abaixo de modais 1000, acima de cards). */

.install-banner[b-gkbtb5w0g8] {
    position: fixed;
    bottom: calc(var(--pe-bottom-nav-h, 64px) + env(safe-area-inset-bottom, 0px) + 8px);
    left: 12px;
    right: 12px;
    z-index: 900;

    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;

    background: #0B4F6C;
    color: #fff;
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0,0,0,.35), 0 2px 8px rgba(0,0,0,.2);

    animation: banner-slide-up-b-gkbtb5w0g8 .35s cubic-bezier(.34,1.56,.64,1) both;

    /* Esconde em viewport largas — browser nativo trata */
    @media (min-width: 768px) {
        display: none;[b-gkbtb5w0g8]
    }
}

@keyframes banner-slide-up-b-gkbtb5w0g8 {
    from { transform: translateY(120%); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
}

.install-banner__icon img[b-gkbtb5w0g8] {
    border-radius: 10px;
    flex-shrink: 0;
}

.install-banner__text[b-gkbtb5w0g8] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.install-banner__title[b-gkbtb5w0g8] {
    font-size: .9rem;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.install-banner__sub[b-gkbtb5w0g8] {
    font-size: .75rem;
    opacity: .85;
    line-height: 1.3;
}

.install-banner__share-icon[b-gkbtb5w0g8] {
    font-size: .95rem;
    vertical-align: middle;
}

.install-banner__btn[b-gkbtb5w0g8] {
    flex-shrink: 0;
    background: #FFD166;
    color: #0B4F6C;
    border: none;
    border-radius: 10px;
    padding: 8px 14px;
    font-size: .85rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: opacity .15s;
}

.install-banner__btn:active[b-gkbtb5w0g8] {
    opacity: .8;
}

.install-banner__close[b-gkbtb5w0g8] {
    flex-shrink: 0;
    background: rgba(255,255,255,.15);
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 28px;
    height: 28px;
    font-size: .75rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s;
}

.install-banner__close:active[b-gkbtb5w0g8] {
    background: rgba(255,255,255,.25);
}

/* Variante iOS — sem botão de instalar, apenas instruções */
.install-banner--ios .install-banner__sub[b-gkbtb5w0g8] {
    font-size: .72rem;
}
/* /Components/Features/Surf/SurfCard.razor.rz.scp.css */
/* FILE: SurfCard.razor.css
   PURPOSE: Card de surf da home — visual editorial, mobile-first.
   TOKENS:  tokens.css.
   AI-NOTE: Aspect ratio fixo para evitar CLS. */

.surf-card[b-15itb6sw18] {
    display: grid;
    grid-template-columns: 1fr;
    border-radius: var(--pe-radius-lg);
    overflow: hidden;
    background: var(--pe-color-surface);
    border: 1px solid var(--pe-color-border, #e5e7eb);
    text-decoration: none;
    color: var(--pe-color-text);
    transition: transform var(--pe-motion-fast) var(--pe-easing-standard),
                box-shadow var(--pe-motion-fast) var(--pe-easing-standard);
}
@media (min-width: 720px) {
    .surf-card[b-15itb6sw18] { grid-template-columns: 1.2fr 1fr; }
}
.surf-card:hover[b-15itb6sw18] { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.06); }

.surf-card__media[b-15itb6sw18] {
    position: relative;
    /* mobile: mais compacto para não dominar o scroll */
    aspect-ratio: 16 / 7;
    background: #0c0a09;
}
@media (min-width: 720px) {
    .surf-card__media[b-15itb6sw18] { aspect-ratio: 16 / 10; }
}
.surf-card__media img[b-15itb6sw18] { width: 100%; height: 100%; object-fit: cover; display: block; }
.surf-card__overlay[b-15itb6sw18] {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(12,10,9,0.55) 0%, rgba(12,10,9,0) 50%);
}
.surf-card__badge[b-15itb6sw18] {
    position: absolute;
    top: var(--pe-space-3); left: var(--pe-space-3);
    display: inline-flex; align-items: center; gap: 4px;
    background: rgba(255,255,255,0.92);
    color: var(--pe-color-text);
    border-radius: var(--pe-radius-pill);
    padding: 4px 10px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.surf-card__body[b-15itb6sw18] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--pe-space-2);
    /* mobile: padding mais compacto */
    padding: var(--pe-space-3) var(--pe-space-4);
}
@media (min-width: 720px) {
    .surf-card__body[b-15itb6sw18] { padding: var(--pe-space-5) var(--pe-space-5); }
}
.surf-card__resumo[b-15itb6sw18] {
    font-family: var(--pe-font-display);
    font-size: var(--pe-text-xl);
    font-weight: 700;
    letter-spacing: var(--pe-tracking-snug);
}
.surf-card__nums[b-15itb6sw18] {
    color: var(--pe-color-text-muted, #4b5563);
    font-size: 0.92rem;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}
.surf-card__nums b[b-15itb6sw18] { color: var(--pe-color-text); font-weight: 700; }
.surf-card__sep[b-15itb6sw18] { color: var(--pe-color-text-muted, #9ca3af); }

.surf-card__cta[b-15itb6sw18] {
    margin-top: var(--pe-space-2);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-weight: 600;
    color: var(--pe-color-text);
}

.surf-card__skel[b-15itb6sw18] {
    display: block;
    height: 14px;
    width: 60%;
    background: linear-gradient(90deg, #f3f4f6 0%, #e5e7eb 50%, #f3f4f6 100%);
    background-size: 200% 100%;
    animation: surf-shimmer-b-15itb6sw18 1.4s linear infinite;
    border-radius: 6px;
}
.surf-card__skel--w70[b-15itb6sw18] { width: 80%; }
@keyframes surf-shimmer-b-15itb6sw18 { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

@media (prefers-reduced-motion: reduce) {
    .surf-card[b-15itb6sw18], .surf-card__skel[b-15itb6sw18] { transition: none; animation: none; }
}
/* /Components/Features/Telemetria/MetricasChips.razor.rz.scp.css */
/* FILE: MetricasChips.razor.css
   PURPOSE: Stats informativas (views/clicks/shares/rsvps) - claramente NAO clicaveis.
   AI-NOTE: pointer-events:none + cursor:default garantem que nao sao confundidas com botoes. */

.metricas-chips[b-sxcsmuzn81] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem;
    font-variant-numeric: tabular-nums;
    pointer-events: none;
    user-select: none;
}

.chip[b-sxcsmuzn81] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 2px 7px;
    border-radius: 9999px;
    background: rgba(0,0,0,.04);
    border: 1px solid rgba(0,0,0,.06);
    color: #9ca3af;
    font-size: 0.72rem;
    line-height: 1.2;
    white-space: nowrap;
    cursor: default;
    font-weight: 500;
}

.chip--rsvp[b-sxcsmuzn81] {
    background: rgba(34,197,94,.07);
    color: #16a34a;
    border-color: rgba(34,197,94,.15);
}

.chip--skeleton[b-sxcsmuzn81] {
    background: rgba(0,0,0,.04);
    width: 3.5rem;
    height: 1.1rem;
    border-radius: 9999px;
    color: transparent;
}

@media (prefers-color-scheme: dark) {
    .chip[b-sxcsmuzn81] {
        background: rgba(255,255,255,.05);
        border-color: rgba(255,255,255,.08);
        color: rgba(255,255,255,.4);
    }
    .chip--rsvp[b-sxcsmuzn81] {
        background: rgba(34,197,94,.1);
        color: #4ade80;
    }
}
/* /Components/Features/Tempo/TempoWidget.razor.rz.scp.css */
/* FILE: TempoWidget.razor.css
   PURPOSE: Mini widget de tempo na topbar. */

.tempo-widget[b-1zlrke876g] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--pe-color-text-muted, #6b7280);
    white-space: nowrap;
    cursor: default;
    user-select: none;
}
.tempo-widget__icon[b-1zlrke876g] { font-size: 1rem; line-height: 1; }
.tempo-widget__temp[b-1zlrke876g] { color: var(--pe-color-text, #111827); }
.tempo-widget__desc[b-1zlrke876g] {
    display: none;
}
@media (min-width: 900px) {
    .tempo-widget__desc[b-1zlrke876g] { display: inline; }
}
/* /Components/Features/Ticker/NewsTicker.razor.rz.scp.css */
/* FILE: NewsTicker.razor.css
   PURPOSE: Tira de notícias premium (CNN/Bloomberg/BBC).
            Marquee infinito via CSS animation, variantes de badge por categoria,
            estado de urgência com pulso, microinterações de hover, dark-mode ready.
   TOKENS:  --pe-color-ticker-*, --pe-color-coral, --pe-atlantico, spacing, radius, shadow.
   AI-NOTE: Sem overflow-x visible — a clip acontece no ticker__track-wrap.
            Velocidade do marquee controlada por --ticker-speed (customizável por breakpoint). */

/* ── Root ─────────────────────────────────────────────────────────────────── */
.ticker[b-mkcjfkncbu] {
    --ticker-speed: 38s;
    --ticker-h: 38px;
    --ticker-bg: #0a0f1a;
    --ticker-border: rgba(255 255 255 / .07);
    --ticker-text: rgba(255 255 255 / .88);
    --ticker-sub: rgba(255 255 255 / .44);
    --ticker-label-bg: var(--pe-color-coral, #ff5c3a);
    --ticker-label-text: #fff;
    --ticker-gap: 2.5rem;

    display: flex;
    align-items: center;
    height: var(--ticker-h);
    background: var(--ticker-bg);
    border-bottom: 1px solid var(--ticker-border);
    overflow: hidden;
    position: sticky;
    /* mobile first: bar1(52px) + safe-area-inset-top (notch/Dynamic Island)
       A bar1 já absorve o safe-area via padding-top, por isso o top
       do ticker deve compensar essa altura adicional */
    top: calc(52px + env(safe-area-inset-top, 0px));
    z-index: var(--pe-z-ticker, 29);
    /* Sutil separação luminosa do topbar */
    box-shadow: 0 1px 0 rgba(255 255 255 / .04);
    /* Acessibilidade: borda de foco visible dentro */
    contain: layout style;
}

/* ── Label "Ao Vivo" ─────────────────────────────────────────────────────── */
.ticker__label[b-mkcjfkncbu] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: .3rem;
    height: 100%;
    padding: 0 1rem 0 .875rem;
    background: var(--ticker-label-bg);
    color: var(--ticker-label-text);
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
    /* Corte diagonal no lado direito — detalhe CNN */
    clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%);
    padding-right: 1.5rem;
    position: relative;
    z-index: 2;
}

/* ── Track wrapper (clipper) ────────────────────────────────────────────── */
.ticker__track-wrap[b-mkcjfkncbu] {
    flex: 1;
    overflow: hidden;
    height: 100%;
    display: flex;
    align-items: center;
    position: relative;
    /* Fade lateral esquerdo */
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 2rem, #000 calc(100% - 2rem), transparent 100%);
    mask-image: linear-gradient(to right, transparent 0, #000 2rem, #000 calc(100% - 2rem), transparent 100%);
}

/* ── Track (animação marquee) ────────────────────────────────────────────── */
.ticker__track[b-mkcjfkncbu] {
    display: flex;
    align-items: center;
    gap: 0;
    list-style: none;
    padding: 0;
    margin: 0;
    /* Largura total = conteúdo * 2 (duplicado) — animação vai de 0 a -50% */
    width: max-content;
    animation: ticker-scroll-b-mkcjfkncbu var(--ticker-speed) linear infinite;
    will-change: transform;
}

.ticker__track--paused[b-mkcjfkncbu],
.ticker__track-wrap:hover .ticker__track[b-mkcjfkncbu] {
    animation-play-state: paused;
}

@keyframes ticker-scroll-b-mkcjfkncbu {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* Respeita preferências de movimento reduzido */
@media (prefers-reduced-motion: reduce) {
    .ticker__track[b-mkcjfkncbu] {
        animation: none;
    }
    .ticker__track-wrap[b-mkcjfkncbu] {
        overflow-x: auto;
        scrollbar-width: none;
    }
    .ticker__track-wrap[b-mkcjfkncbu]::-webkit-scrollbar {
        display: none;
    }
}

/* ── Item individual ─────────────────────────────────────────────────────── */
.ticker__item[b-mkcjfkncbu] {
    display: flex;
    align-items: center;
    padding: 0 var(--ticker-gap);
    position: relative;
}

/* Separador entre itens */
.ticker__item[b-mkcjfkncbu]::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: rgba(255 255 255 / .22);
}

/* ── Link ────────────────────────────────────────────────────────────────── */
.ticker__link[b-mkcjfkncbu] {
    display: flex;
    align-items: center;
    gap: .55rem;
    text-decoration: none;
    color: var(--ticker-text);
    font-size: .75rem;
    line-height: 1;
    white-space: nowrap;
    transition: color .15s ease;
    outline-offset: 3px;
}

.ticker__link:hover[b-mkcjfkncbu] {
    color: #fff;
}

.ticker__link:hover .ticker__texto[b-mkcjfkncbu] {
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
    text-decoration-color: rgba(255 255 255 / .4);
}

.ticker__link:focus-visible[b-mkcjfkncbu] {
    outline: 2px solid var(--ticker-label-bg);
    border-radius: 3px;
}

/* ── Texto principal ─────────────────────────────────────────────────────── */
.ticker__texto[b-mkcjfkncbu] {
    font-weight: 500;
    letter-spacing: .005em;
    max-width: 40ch;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Sub (localidade / lead curto) ──────────────────────────────────────── */
.ticker__sub[b-mkcjfkncbu] {
    color: var(--ticker-sub);
    font-size: .7rem;
    font-weight: 400;
}

/* ── Badge / etiqueta ────────────────────────────────────────────────────── */
.ticker__badge[b-mkcjfkncbu] {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    padding: .15rem .45rem;
    border-radius: 3px;
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    white-space: nowrap;
    position: relative;
    /* Default */
    background: rgba(255 255 255 / .1);
    color: rgba(255 255 255 / .8);
}

/* Variantes por categoria */
.ticker__badge--evento[b-mkcjfkncbu],
.ticker__badge--default[b-mkcjfkncbu] {
    background: rgba(255 255 255 / .1);
    color: rgba(255 255 255 / .85);
}

.ticker__badge--surf[b-mkcjfkncbu] {
    background: rgba(0, 157, 255, .2);
    color: #5ec6ff;
}

.ticker__badge--editorial[b-mkcjfkncbu] {
    background: rgba(255, 92, 58, .25);
    color: #ff8060;
}

.ticker__badge--musica[b-mkcjfkncbu] {
    background: rgba(180, 80, 255, .2);
    color: #d080ff;
}

.ticker__badge--gastro[b-mkcjfkncbu] {
    background: rgba(255, 170, 0, .2);
    color: #ffbf40;
}

.ticker__badge--cultura[b-mkcjfkncbu] {
    background: rgba(50, 220, 150, .2);
    color: #50e09a;
}

.ticker__badge--mercado[b-mkcjfkncbu] {
    background: rgba(255, 200, 60, .2);
    color: #ffd060;
}

.ticker__badge--festival[b-mkcjfkncbu] {
    background: rgba(255, 60, 120, .2);
    color: #ff6090;
}

/* ── Urgente ─────────────────────────────────────────────────────────────── */
.ticker__badge--urgent[b-mkcjfkncbu] {
    background: rgba(255, 42, 42, .25);
    color: #ff6b6b;
    box-shadow: 0 0 0 1px rgba(255, 42, 42, .35);
}

.ticker__pulse[b-mkcjfkncbu] {
    display: inline-block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #ff4444;
    box-shadow: 0 0 0 0 rgba(255, 68, 68, .7);
    animation: ticker-pulse-b-mkcjfkncbu 1.6s ease-out infinite;
}

@keyframes ticker-pulse-b-mkcjfkncbu {
    0%   { box-shadow: 0 0 0 0 rgba(255,68,68,.7); }
    70%  { box-shadow: 0 0 0 5px rgba(255,68,68,0); }
    100% { box-shadow: 0 0 0 0 rgba(255,68,68,0); }
}

@media (prefers-reduced-motion: reduce) {
    .ticker__pulse[b-mkcjfkncbu] { animation: none; }
}

/* ── Botão pause/play ────────────────────────────────────────────────────── */
.ticker__pause-btn[b-mkcjfkncbu] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin-right: .5rem;
    border: none;
    border-radius: 50%;
    background: rgba(255 255 255 / .08);
    color: rgba(255 255 255 / .5);
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}

.ticker__pause-btn:hover[b-mkcjfkncbu] {
    background: rgba(255 255 255 / .16);
    color: rgba(255 255 255 / .9);
}

.ticker__pause-btn:focus-visible[b-mkcjfkncbu] {
    outline: 2px solid var(--ticker-label-bg);
    outline-offset: 2px;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 640px) {
    :root[b-mkcjfkncbu] { --ticker-speed: 28s; }

    .ticker[b-mkcjfkncbu] {
        /* mobile: sem navbar (ocultada), só bar1 tem 52px */
        top: 52px;
    }

    .ticker__sub[b-mkcjfkncbu] {
        display: none; /* em mobile só título para não truncar */
    }

    .ticker__badge[b-mkcjfkncbu] {
        display: none; /* liberta espaço em ecrãs muito pequenos */
    }

    .ticker__label span[b-mkcjfkncbu] {
        display: none; /* mantém só o ícone */
    }

    .ticker__label[b-mkcjfkncbu] {
        padding: 0 .75rem 0 .75rem;
        clip-path: none;
    }
}

@media (max-width: 400px) {
    .ticker[b-mkcjfkncbu] {
        --ticker-h: 32px;
    }
}

/* Tablet (768px+): bar1(60px) + navbar(44px) = 104px + safe-area */
@media (min-width: 768px) {
    .ticker[b-mkcjfkncbu] { top: calc(104px + env(safe-area-inset-top, 0px)); }
}

/* Desktop: bar1 64px + navbar 42px = 106px + safe-area */
@media (min-width: 1024px) {
    .ticker[b-mkcjfkncbu] {
        top: calc(106px + env(safe-area-inset-top, 0px));
    }
}
/* /Components/Features/Traducao/SeletorIdioma.razor.rz.scp.css */
/* FILE: SeletorIdioma.razor.css
   PURPOSE: Seletor de idioma global — trigger compacto premium + dropdown glassmorphism + bottom-sheet mobile.
   TOKENS:  tokens.css */

/* ── Wrapper ─────────────────────────────────────────────────────── */
.si[b-cv0d7os1rn] {
    position: relative;
    display: inline-flex;
    align-items: center;
}

/* ── Trigger — compacto, alinhado com o shell__icon-btn ─────────── */
.si__trigger[b-cv0d7os1rn] {
    all: unset;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 0 8px 0 7px;
    border-radius: 999px;
    border: 1px solid var(--pe-color-border-strong, #d4d4d4);
    background: transparent;
    color: var(--pe-color-text-soft, #6b7280);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .04em;
    height: 34px;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    transition: background 140ms, border-color 140ms, color 140ms, box-shadow 140ms;
    white-space: nowrap;
}

.si__trigger:hover[b-cv0d7os1rn] {
    background: var(--pe-color-surface-2, #f5f5f4);
    border-color: var(--pe-color-border-strong, #a1a1aa);
    color: var(--pe-color-text, #1c1917);
}

.si--aberto .si__trigger[b-cv0d7os1rn] {
    background: var(--pe-color-surface-2, #f5f5f4);
    border-color: var(--pe-brand-500, #0ea5e9);
    color: var(--pe-color-text, #1c1917);
    box-shadow: 0 0 0 3px rgba(14,165,233,.13);
}

.si__flag[b-cv0d7os1rn]  { font-size: .95rem; line-height: 1; }
.si__flag-img[b-cv0d7os1rn] {
    display: inline-block;
    width: 16px;
    height: 12px;
    object-fit: cover;
    border-radius: 2px;
    vertical-align: middle;
}
.si__item-flag-img[b-cv0d7os1rn] {
    display: inline-block;
    width: 16px;
    height: 12px;
    object-fit: cover;
    border-radius: 2px;
    flex-shrink: 0;
}
.si__sigla[b-cv0d7os1rn] { font-size: .72rem; font-weight: 700; letter-spacing: .05em; }

/* Chevron animado */
.si__chevron[b-cv0d7os1rn] {
    width: 0;
    height: 0;
    border-left: 3.5px solid transparent;
    border-right: 3.5px solid transparent;
    border-top: 4.5px solid currentColor;
    opacity: .5;
    transition: transform 200ms cubic-bezier(.34,1.56,.64,1), opacity 140ms;
    margin-left: 1px;
}
.si--aberto .si__chevron[b-cv0d7os1rn] { transform: rotate(180deg); opacity: .8; }

/* ── Backdrop ────────────────────────────────────────────────────── */
.si__backdrop[b-cv0d7os1rn] {
    position: fixed;
    inset: 0;
    z-index: 199;
}

/* ── Menu dropdown (desktop) ─────────────────────────────────────── */
.si__menu[b-cv0d7os1rn] {
    list-style: none;
    margin: 0;
    padding: 6px 0 8px;
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 200px;
    border-radius: 14px;
    background: rgba(255,255,255,.9);
    backdrop-filter: blur(20px) saturate(200%);
    -webkit-backdrop-filter: blur(20px) saturate(200%);
    border: 1px solid rgba(0,0,0,.08);
    box-shadow:
        0 4px 6px -1px rgba(0,0,0,.05),
        0 12px 28px -6px rgba(0,0,0,.15);
    z-index: 200;
    animation: si-menu-in-b-cv0d7os1rn 170ms cubic-bezier(.34,1.56,.64,1);
    overflow: hidden;
}

@keyframes si-menu-in-b-cv0d7os1rn {
    from { opacity: 0; transform: translateY(-6px) scale(.97); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

@media (prefers-color-scheme: dark) {
    .si__menu[b-cv0d7os1rn] {
        background: rgba(24,22,20,.92);
        border-color: rgba(255,255,255,.1);
    }
    .si__trigger[b-cv0d7os1rn] {
        border-color: rgba(255,255,255,.15);
        color: rgba(255,255,255,.65);
    }
    .si__trigger:hover[b-cv0d7os1rn] { background: rgba(255,255,255,.07); color: #fafaf9; }
}

/* ── Cabeçalho do menu ───────────────────────────────────────────── */
.si__menu-header[b-cv0d7os1rn] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px 5px;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--pe-color-muted, #9ca3af);
    border-bottom: 1px solid rgba(0,0,0,.06);
    margin-bottom: 3px;
    pointer-events: none;
}

/* ── Item ────────────────────────────────────────────────────────── */
.si__item[b-cv0d7os1rn] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    cursor: pointer;
    transition: background 110ms;
}

.si__item:hover[b-cv0d7os1rn] { background: rgba(14,165,233,.07); }

.si__item--ativo[b-cv0d7os1rn] { background: rgba(14,165,233,.09); }
.si__item--ativo .si__item-nome[b-cv0d7os1rn] {
    color: var(--pe-brand-600, #0284c7);
    font-weight: 700;
}

.si__item-flag[b-cv0d7os1rn] { font-size: 1.1rem; line-height: 1; flex-shrink: 0; }

.si__item-nome[b-cv0d7os1rn] {
    flex: 1;
    font-size: .86rem;
    font-weight: 500;
    color: var(--pe-color-text, #1c1917);
    white-space: nowrap;
}

.si__item-sigla[b-cv0d7os1rn] {
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .06em;
    color: var(--pe-color-muted, #9ca3af);
    background: var(--pe-color-surface-2, #f5f5f4);
    padding: 2px 5px;
    border-radius: 5px;
}

.si__item-check[b-cv0d7os1rn] {
    font-size: .8rem;
    color: var(--pe-brand-500, #0ea5e9);
    font-weight: 700;
    margin-left: 4px;
}

/* ── Mobile: bottom-sheet ────────────────────────────────────────── */
@media (max-width: 640px) {
    .si__backdrop[b-cv0d7os1rn] { background: rgba(0,0,0,.4); backdrop-filter: blur(2px); }

    .si__menu[b-cv0d7os1rn] {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        top: auto;
        min-width: unset;
        width: 100%;
        border-radius: 20px 20px 0 0;
        padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 12px);
        animation: si-sheet-in-b-cv0d7os1rn 260ms cubic-bezier(.34,1.56,.64,1);
    }

    @keyframes si-sheet-in-b-cv0d7os1rn {
        from { opacity: 0; transform: translateY(100%); }
        to   { opacity: 1; transform: translateY(0); }
    }

    .si__menu[b-cv0d7os1rn]::before {
        content: '';
        display: block;
        width: 34px;
        height: 4px;
        background: var(--pe-color-border, #e5e7eb);
        border-radius: 999px;
        margin: 10px auto 6px;
    }

    .si__item[b-cv0d7os1rn] { padding: 13px 20px; }
    .si__item-flag[b-cv0d7os1rn] { font-size: 1.3rem; }
    .si__item-nome[b-cv0d7os1rn] { font-size: .93rem; }
}

@media (prefers-reduced-motion: reduce) {
    .si__menu[b-cv0d7os1rn], .si__chevron[b-cv0d7os1rn] { animation: none; transition: none; }
}

.si__trigger:hover[b-cv0d7os1rn] {
    background: var(--pe-color-surface-alt, #f5f5f4);
    border-color: var(--pe-color-border-strong, #a8a29e);
}

.si--aberto .si__trigger[b-cv0d7os1rn] {
    background: var(--pe-color-surface-alt, #f5f5f4);
    border-color: var(--pe-brand-500, #0ea5e9);
    box-shadow: 0 0 0 3px rgba(14, 165, 233, .12);
}

.si__flag[b-cv0d7os1rn]  { font-size: 1rem; line-height: 1; }
.si__sigla[b-cv0d7os1rn] { font-size: .75rem; font-weight: 700; letter-spacing: .05em; }

/* Chevron animado */
.si__chevron[b-cv0d7os1rn] {
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
    opacity: .55;
    transition: transform 200ms cubic-bezier(.34,1.56,.64,1);
    margin-left: 1px;
}
.si--aberto .si__chevron[b-cv0d7os1rn] { transform: rotate(180deg); }

/* ── Backdrop (fecha ao clicar fora — mobile e desktop) ──────────── */
.si__backdrop[b-cv0d7os1rn] {
    position: fixed;
    inset: 0;
    z-index: 199;
}

/* ── Menu dropdown (desktop) ─────────────────────────────────────── */
.si__menu[b-cv0d7os1rn] {
    list-style: none;
    margin: 0;
    padding: 6px 0 8px;
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 210px;
    border-radius: 16px;
    background: rgba(255, 255, 255, .85);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border: 1px solid rgba(255,255,255,.6);
    box-shadow:
        0 4px 6px -1px rgba(0,0,0,.06),
        0 10px 30px -8px rgba(0,0,0,.18),
        0 0 0 1px rgba(0,0,0,.04);
    z-index: 200;
    animation: si-menu-in-b-cv0d7os1rn 180ms cubic-bezier(.34,1.56,.64,1);
    overflow: hidden;
}

@keyframes si-menu-in-b-cv0d7os1rn {
    from { opacity: 0; transform: translateY(-6px) scale(.97); }
    to   { opacity: 1; transform: translateY(0)   scale(1);    }
}

/* Dark mode */
@media (prefers-color-scheme: dark) {
    .si__menu[b-cv0d7os1rn] {
        background: rgba(28, 25, 23, .88);
        border-color: rgba(255,255,255,.08);
    }
    .si__trigger[b-cv0d7os1rn] {
        background: rgba(255,255,255,.06);
        border-color: rgba(255,255,255,.12);
        color: #fafaf9;
    }
    .si__trigger:hover[b-cv0d7os1rn] { background: rgba(255,255,255,.1); }
}

/* ── Cabeçalho do menu ───────────────────────────────────────────── */
.si__menu-header[b-cv0d7os1rn] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px 6px;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--pe-color-text-muted, #78716c);
    border-bottom: 1px solid rgba(0,0,0,.06);
    margin-bottom: 4px;
    pointer-events: none;
}

/* ── Item ────────────────────────────────────────────────────────── */
.si__item[b-cv0d7os1rn] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    cursor: pointer;
    border-radius: 0;
    transition: background 120ms;
    position: relative;
}

.si__item:hover[b-cv0d7os1rn] {
    background: rgba(14, 165, 233, .08);
}

.si__item--ativo[b-cv0d7os1rn] {
    background: rgba(14, 165, 233, .1);
}
.si__item--ativo .si__item-nome[b-cv0d7os1rn] {
    color: var(--pe-brand-600, #0284c7);
    font-weight: 700;
}

.si__item-flag[b-cv0d7os1rn] { font-size: 1.15rem; line-height: 1; flex-shrink: 0; }

.si__item-nome[b-cv0d7os1rn] {
    flex: 1;
    font-size: .88rem;
    font-weight: 500;
    color: var(--pe-color-text, #1c1917);
    white-space: nowrap;
}

.si__item-sigla[b-cv0d7os1rn] {
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .06em;
    color: var(--pe-color-text-muted, #78716c);
    background: var(--pe-color-surface-alt, #f5f5f4);
    padding: 2px 6px;
    border-radius: 6px;
}

.si__item-check[b-cv0d7os1rn] {
    font-size: .85rem;
    color: var(--pe-brand-500, #0ea5e9);
    font-weight: 700;
    margin-left: auto;
    padding-left: 8px;
}

/* ── Mobile: bottom-sheet ────────────────────────────────────────── */
@media (max-width: 640px) {
    .si__backdrop[b-cv0d7os1rn] {
        background: rgba(0,0,0,.45);
        backdrop-filter: blur(2px);
    }

    .si__menu[b-cv0d7os1rn] {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        top: auto;
        min-width: unset;
        width: 100%;
        border-radius: 20px 20px 0 0;
        padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 12px);
        animation: si-sheet-in-b-cv0d7os1rn 280ms cubic-bezier(.34,1.56,.64,1);
    }

    @keyframes si-sheet-in-b-cv0d7os1rn {
        from { opacity: 0; transform: translateY(100%); }
        to   { opacity: 1; transform: translateY(0);    }
    }

    /* Drag handle visual */
    .si__menu[b-cv0d7os1rn]::before {
        content: '';
        display: block;
        width: 36px;
        height: 4px;
        background: var(--pe-color-border, #e5e7eb);
        border-radius: 999px;
        margin: 10px auto 6px;
    }

    .si__item[b-cv0d7os1rn] { padding: 13px 20px; }
    .si__item-flag[b-cv0d7os1rn] { font-size: 1.35rem; }
    .si__item-nome[b-cv0d7os1rn] { font-size: .95rem; }
}

/* ── Reduzir animação ────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .si__menu[b-cv0d7os1rn], .si__chevron[b-cv0d7os1rn] { animation: none; transition: none; }
}
/* /Components/Features/Traducao/TraducaoToggle.razor.rz.scp.css */
/* FILE: TraducaoToggle.razor.css
   PURPOSE: Pills de idioma inline na página de detalhe — premium, scrollável no mobile.
   TOKENS:  tokens.css */

/* ── Wrapper ─────────────────────────────────────────────────────── */
.trad-toggle[b-63b7ddveqx] {
    display: flex;
    align-items: center;
    gap: 0;
    padding: 3px;
    background: var(--pe-color-surface-alt, #f5f5f4);
    border: 1px solid var(--pe-color-border, #e5e7eb);
    border-radius: 999px;
    width: fit-content;
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
}
.trad-toggle[b-63b7ddveqx]::-webkit-scrollbar { display: none; }

/* ── Pill ─────────────────────────────────────────────────────────── */
.trad-toggle__btn[b-63b7ddveqx] {
    all: unset;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 600;
    color: var(--pe-color-text-muted, #78716c);
    transition: background 150ms, color 150ms, box-shadow 150ms;
    white-space: nowrap;
    min-height: 32px;
    -webkit-tap-highlight-color: transparent;
    position: relative;
}

.trad-toggle__btn:hover:not(:disabled)[b-63b7ddveqx] {
    color: var(--pe-color-text, #1c1917);
    background: rgba(0,0,0,.04);
}

/* Pill ativo — pastilha branca elevada */
.trad-toggle__btn--on[b-63b7ddveqx] {
    background: #fff;
    color: var(--pe-brand-600, #0284c7);
    box-shadow: 0 1px 4px rgba(0,0,0,.1), 0 0 0 1px rgba(0,0,0,.04);
}

@media (prefers-color-scheme: dark) {
    .trad-toggle[b-63b7ddveqx] {
        background: rgba(255,255,255,.06);
        border-color: rgba(255,255,255,.1);
    }
    .trad-toggle__btn--on[b-63b7ddveqx] {
        background: rgba(255,255,255,.12);
        color: var(--pe-brand-300, #7dd3fc);
        box-shadow: 0 1px 4px rgba(0,0,0,.3);
    }
}

/* ── Flag image ─────────────────────────────────────────────────── */
.trad-toggle__flag[b-63b7ddveqx] {
    display: inline-block;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(0,0,0,.1);
    flex-shrink: 0;
    vertical-align: middle;
}

/* ── Loading state ───────────────────────────────────────────────── */
.trad-toggle__btn--loading[b-63b7ddveqx] {
    opacity: .65;
    pointer-events: none;
}

.trad-toggle__btn:disabled[b-63b7ddveqx] {
    opacity: .45;
    cursor: not-allowed;
}

/* ── Spinner ─────────────────────────────────────────────────────── */
.trad-toggle__spin[b-63b7ddveqx] {
    display: inline-block;
    width: 13px;
    height: 13px;
    border-radius: 999px;
    border: 2px solid currentColor;
    border-top-color: transparent;
    animation: trad-spin-b-63b7ddveqx .65s linear infinite;
    flex-shrink: 0;
}

@keyframes trad-spin-b-63b7ddveqx { to { transform: rotate(360deg); } }

/* ── Indicador de tradução activa ────────────────────────────────── */
.trad-toggle__badge[b-63b7ddveqx] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 9px;
    border-radius: 999px;
    background: rgba(14,165,233,.1);
    color: var(--pe-brand-600, #0284c7);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .04em;
    margin-left: 8px;
    flex-shrink: 0;
}

@media (prefers-reduced-motion: reduce) {
    .trad-toggle__btn[b-63b7ddveqx],
    .trad-toggle__spin[b-63b7ddveqx] { transition: none; animation: none; }
}

/* /Components/Layout/BottomNav.razor.rz.scp.css */
/* FILE: BottomNav.razor.css
   PURPOSE: Bottom nav premium mobile — FAB flutuante, glass blur, active-label-only pattern.
   TOKENS:  --pe-safe-bottom, --pe-z-nav, --pe-color-brand, --pe-pe-coral, --pe-pe-atlantico.
   AI-NOTE: Acima de 768px é escondida (nav vai para a topbar).
            Padrão "active label only" — labels ocultos em itens inativos (Spotify iOS / Headspace). */

/* ── Constante de altura ─────────────────────────────────────── */
:root[b-veqkym3c28] { --bnav-h: 62px; }

/* ── Barra base ─────────────────────────────────────────────── */
.bnav[b-veqkym3c28] {
    position: fixed;
    inset: auto 0 0 0;
    z-index: var(--pe-z-nav);
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    height: var(--bnav-h);
    padding-bottom: var(--pe-safe-bottom);

    /* Glass premium */
    background: color-mix(in srgb, var(--pe-color-surface) 88%, transparent);
    backdrop-filter: saturate(200%) blur(20px);
    -webkit-backdrop-filter: saturate(200%) blur(20px);

    /* Separador suave — sem border hard */
    box-shadow:
        0 -0.5px 0 0 color-mix(in srgb, var(--pe-color-border) 50%, transparent),
        0 -12px 40px -12px rgba(0, 0, 0, .08);

    /* FAB flutua para cima */
    overflow: visible;
}

/* ── Item base ──────────────────────────────────────────────── */
.bnav__item[b-veqkym3c28] {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* alinha ícone no centro, label no fundo — garante alinhamento visual uniforme */
    justify-content: center;
    gap: 0;
    height: 100%;
    padding: 0 4px 2px;
    color: var(--pe-color-muted);
    text-decoration: none;
    position: relative;
    background: transparent;
    border: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: color 180ms ease;
}

/* ── Ícone ────────────────────────────────────────────────────── */
.bnav__icon[b-veqkym3c28] {
    /* margem top que empurra o ícone para o centro visual da barra
       (compensa espaço reservado do label por baixo) */
    margin-top: 4px;
    flex-shrink: 0;
    transition:
        transform 200ms cubic-bezier(.34, 1.56, .64, 1),
        color 180ms ease;
}

/* ── Label — padrão "active only" ───────────────────────────── */
/* Por padrão: ocupa espaço mas é invisível — elimina layout shift ao ativar */
.bnav__text[b-veqkym3c28] {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    margin-top: 4px;
    /* Reserva altura mas oculta no estado inativo */
    opacity: 0;
    transform: translateY(3px);
    transition:
        opacity 180ms ease,
        transform 180ms cubic-bezier(.34, 1.56, .64, 1);
    /* evita que o texto quebre linha em qualquer circunstância */
    white-space: nowrap;
    pointer-events: none;
}

/* ── Estado ativo ─────────────────────────────────────────────── */
.bnav__item.active[b-veqkym3c28] {
    color: var(--pe-color-brand);
}

.bnav__item.active .bnav__text[b-veqkym3c28] {
    opacity: 1;
    transform: translateY(0);
}

.bnav__item.active .bnav__icon[b-veqkym3c28] {
    transform: translateY(-2px) scale(1.08);
    color: var(--pe-color-brand);
}

/* Pill de fundo por baixo do ícone no ativo */
.bnav__item.active[b-veqkym3c28]::before {
    content: '';
    position: absolute;
    top: 7px;
    left: 50%;
    transform: translateX(-50%);
    width: 48px;
    height: 28px;
    background: color-mix(in srgb, var(--pe-color-brand) 12%, transparent);
    border-radius: 999px;
    animation: bnav-pill-in-b-veqkym3c28 0.22s cubic-bezier(.34, 1.56, .64, 1) both;
}

@keyframes bnav-pill-in-b-veqkym3c28 {
    from { opacity: 0; transform: translateX(-50%) scaleX(0.3); }
    to   { opacity: 1; transform: translateX(-50%) scaleX(1); }
}

/* IA não tem pill — tem o próprio FAB ring */
.bnav__item--ia.active[b-veqkym3c28]::before { display: none; }

/* Touch feedback — pressão visual imediata */
.bnav__item:not(.bnav__item--ia):active .bnav__icon[b-veqkym3c28] {
    transform: scale(0.80);
    transition-duration: 60ms;
}

/* ── Botão IA — FAB flutuante ─────────────────────────────────── */
.bnav__item--ia[b-veqkym3c28] {
    position: relative;
    /* Label IA fica na base da barra, alinhada com os outros */
    justify-content: flex-end;
    padding-bottom: 6px;
    color: var(--pe-color-muted);
}

/* FAB flutua por cima da barra via overflow: visible no pai */
.bnav__ia-ring[b-veqkym3c28] {
    position: absolute;
    /* FAB flutua: 52px de ring, 12px dentro da barra, 40px acima */
    bottom: calc(100% - 14px);
    left: 50%;
    transform: translateX(-50%);

    width: 52px;
    height: 52px;
    border-radius: 999px;

    /* Gradiente Atlântico → Coral — identidade Peniche */
    background: linear-gradient(
        145deg,
        var(--pe-pe-atlantico) 0%,
        #1a7fad 40%,
        var(--pe-pe-coral) 100%
    );
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    /* Rim que separa o FAB do conteúdo abaixo + sombra de elevação */
    box-shadow:
        0 0 0 3px var(--pe-color-bg),
        0 6px 20px -4px color-mix(in srgb, var(--pe-pe-coral) 50%, transparent),
        0 2px 8px rgba(0, 0, 0, .18);

    transition:
        transform 200ms cubic-bezier(.34, 1.56, .64, 1),
        box-shadow 200ms ease;
}

/* Hover: levanta */
.bnav__item--ia:hover .bnav__ia-ring[b-veqkym3c28] {
    transform: translateX(-50%) translateY(-3px);
    box-shadow:
        0 0 0 3px var(--pe-color-bg),
        0 12px 28px -6px color-mix(in srgb, var(--pe-pe-coral) 60%, transparent),
        0 4px 12px rgba(0, 0, 0, .22);
}

/* Active: afunda (feedback táctil) */
.bnav__item--ia:active .bnav__ia-ring[b-veqkym3c28] {
    transform: translateX(-50%) scale(0.88);
    transition-duration: 60ms;
    box-shadow:
        0 0 0 3px var(--pe-color-bg),
        0 3px 10px -2px color-mix(in srgb, var(--pe-pe-coral) 35%, transparent),
        0 1px 4px rgba(0, 0, 0, .14);
}

/* Label "IA" sob o FAB — sempre visível, discreta */
.bnav__item--ia .bnav__text[b-veqkym3c28] {
    opacity: 0.55;
    transform: translateY(0);
    font-size: 9px;
    font-weight: 700;
    transition: none;
}

/* ── Legado: criar-ring (caso ainda renderizado noutro lado) ─── */
.bnav__item--criar[b-veqkym3c28] { color: var(--pe-color-text); }
.bnav__criar-ring[b-veqkym3c28] {
    width: 40px; height: 40px;
    border-radius: 999px;
    background: var(--pe-color-text);
    color: var(--pe-color-bg);
    display: inline-flex; align-items: center; justify-content: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
    transition: transform var(--pe-motion-fast), box-shadow var(--pe-motion-fast);
}
.bnav__item--criar:hover .bnav__criar-ring[b-veqkym3c28],
.bnav__item--criar.active .bnav__criar-ring[b-veqkym3c28] { transform: scale(1.08); }

/* ── Responsive ──────────────────────────────────────────────── */
@media (min-width: 768px) {
    .bnav[b-veqkym3c28] { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .bnav__item[b-veqkym3c28],
    .bnav__icon[b-veqkym3c28],
    .bnav__text[b-veqkym3c28] { transition: none; }
    .bnav__item.active[b-veqkym3c28]::before { animation: none; }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* FILE: MainLayout.razor.css
   PURPOSE: Shell premium dois andares estilo TimeOut Lisboa.
            Fila 1 (bar1): brand + utilitários com blur.
            Fila 2 (navbar): barra de categorias colorida com fundo de marca.
   TOKENS:  tokens.css */

.shell[b-yb4wbz8dcz] {
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    background: var(--pe-color-bg);
    color: var(--pe-color-text);
    overflow-x: hidden;
    max-width: 100vw;
    position: relative;
}

/* ───── Topbar wrapper ─────────────────────────────────────── */
.shell__topbar[b-yb4wbz8dcz] {
    position: sticky;
    top: 0;
    z-index: var(--pe-z-topbar);
    padding-top: var(--pe-safe-top);
    /* overflow visible para tooltips saírem do container */
    overflow: visible;
}

/* ───── Fila 1: brand + utilitários ───────────────────────── */
.shell__bar1[b-yb4wbz8dcz] {
    /* fallback sólido para browsers sem suporte a color-mix (iOS < 16.4) */
    background: var(--pe-color-surface);
    background: color-mix(in srgb, var(--pe-color-surface) 94%, transparent);
    backdrop-filter: saturate(180%) blur(18px);
    -webkit-backdrop-filter: saturate(180%) blur(18px);
    border-bottom: 1px solid var(--pe-color-border);
}

.shell__bar1-inner[b-yb4wbz8dcz] {
    max-width: var(--pe-container-max);
    margin: 0 auto;
    padding: 0 var(--pe-space-6);
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--pe-space-4);
}

/* ───── Brand ──────────────────────────────────────────────── */
.shell__brand[b-yb4wbz8dcz] {
    display: inline-flex;
    align-items: center;
    gap: var(--pe-space-2);
    color: var(--pe-color-text);
    text-decoration: none;
    font-family: var(--pe-font-display);
    font-weight: 700;
    font-size: var(--pe-text-lg);
    letter-spacing: var(--pe-tracking-tight);
    flex-shrink: 0;
}

.shell__brand-mark[b-yb4wbz8dcz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: var(--pe-radius-md);
    background: linear-gradient(135deg, var(--pe-pe-atlantico), var(--pe-pe-coral));
    color: #fff;
    box-shadow: 0 2px 8px rgba(11,79,108,.35);
}

/* Wordmark "Peniche." com gradiente atlântico→coral — identidade regional */
.shell__brand-text[b-yb4wbz8dcz] {
    background: linear-gradient(
        90deg,
        var(--pe-pe-atlantico) 0%,
        #1a7faa 40%,
        var(--pe-pe-coral) 100%
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: -0.03em;
    font-weight: 800;
}

.shell__brand-dot[b-yb4wbz8dcz] { color: var(--pe-pe-coral); }

.shell__brand-wrap[b-yb4wbz8dcz] {
    display: flex;
    flex-direction: column;
    line-height: 1;
    gap: 1px;
}

.shell__brand-url[b-yb4wbz8dcz] {
    font-size: .6rem;
    font-weight: 400;
    letter-spacing: .06em;
    color: var(--pe-color-text-muted, #6b7280);
    opacity: .75;
    font-family: var(--pe-font-base);
    text-transform: lowercase;
}

/* ── Tagline premium ao lado do logo ─────────────────────── */
.shell__tagline[b-yb4wbz8dcz] {
    display: none; /* mobile: oculta */
    font-size: var(--pe-text-xs, .75rem);
    font-weight: 400;
    font-family: var(--pe-font-base);
    color: var(--pe-color-text-muted, #6b7280);
    letter-spacing: .01em;
    line-height: 1.3;
    max-width: 220px;
    padding-left: var(--pe-space-4);
    border-left: 2px solid var(--pe-color-border, rgba(15,23,42,.12));
    /* separador visual entre logo e tagline */
    margin-left: var(--pe-space-2);
}
@media (min-width: 1024px) {
    .shell__tagline[b-yb4wbz8dcz] { display: block; }
}

/* ───── Fila 2: barra de categorias (estilo TimeOut) ──────── */
/* ═══════════════════════════════════════════════════════════
   BARRA DE NAVEGAÇÃO PRINCIPAL — shell__navbar
   ═══════════════════════════════════════════════════════════ */

.shell__navbar[b-yb4wbz8dcz] {
    background: #0369a1;
    position: relative;
    min-height: 44px;
}

.shell__navbar-inner[b-yb4wbz8dcz] {
    max-width: var(--pe-container-max);
    margin: 0 auto;
    padding: 0 var(--pe-space-6);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 0;
    min-height: 44px;
}

.shell__nav-cats[b-yb4wbz8dcz] {
    display: flex;
    align-items: center;
    gap: 0;
    flex-wrap: nowrap;
}

/* ::deep garante que NavLink (componente filho) recebe o estilo */
[b-yb4wbz8dcz] .shell__cat {
    display: inline-flex;
    align-items: center;
    padding: 0 16px;
    height: 44px;
    color: #ffffff;
    text-decoration: none;
    font-size: .85rem;
    font-weight: 600;
    letter-spacing: .03em;
    white-space: nowrap;
    border-bottom: 3px solid transparent;
    transition: background-color .15s, border-color .15s;
    flex-shrink: 0;
}

[b-yb4wbz8dcz] .shell__cat:hover {
    color: #ffffff;
    background: rgba(255,255,255,.18);
    border-bottom-color: rgba(255,255,255,.5);
}

[b-yb4wbz8dcz] .shell__cat.active {
    color: #ffffff;
    border-bottom-color: #ffffff;
    background: rgba(255,255,255,.2);
}

/* Dou-te dourado à direita */
[b-yb4wbz8dcz] .shell__cat--doute {
    color: #ffd700;
    border-left: 1px solid rgba(255,255,255,.3);
    padding-left: 20px;
    padding-right: 20px;
    font-weight: 700;
    letter-spacing: .04em;
    margin-left: auto;
    flex-shrink: 0;
}
[b-yb4wbz8dcz] .shell__cat--doute:hover {
    color: #ffe55a;
    background: rgba(255,215,0,.15);
    border-bottom-color: #ffd700;
}
[b-yb4wbz8dcz] .shell__cat--doute.active {
    color: #ffd700;
    border-bottom-color: #ffd700;
    background: rgba(255,215,0,.15);
}

/* Mobile */
@media (max-width: 767px) {
    .shell__navbar-inner[b-yb4wbz8dcz] {
        overflow-x: auto;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    .shell__navbar-inner[b-yb4wbz8dcz]::-webkit-scrollbar { display: none; }
    [b-yb4wbz8dcz] .shell__cat { padding: 0 11px; font-size: .78rem; }
    [b-yb4wbz8dcz] .shell__cat--doute { padding-left: 14px; padding-right: 14px; }
}

/* ───── Actions cluster ────────────────────────────────────── */
.shell__actions[b-yb4wbz8dcz] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.shell__icon-btn[b-yb4wbz8dcz] {
    display: inline-flex;

    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    color: var(--pe-color-text-soft);
    background: transparent;
    border: none;
    cursor: pointer;
    transition: background-color var(--pe-motion-fast) var(--pe-easing-standard),
                color var(--pe-motion-fast);
}
.shell__icon-btn:hover[b-yb4wbz8dcz] {
    background: var(--pe-color-surface-2);
    color: var(--pe-color-text);
}

/* Botão pill genérico */
.shell__action[b-yb4wbz8dcz] {
    display: inline-flex;
    align-items: center;
    height: 36px;
    padding: 0 var(--pe-space-4);
    border-radius: var(--pe-radius-pill);
    background: transparent;
    color: var(--pe-color-text);
    text-decoration: none;
    font-weight: 600;
    font-size: var(--pe-text-sm);
    border: 1px solid var(--pe-color-border-strong);
    white-space: nowrap;
    transition: transform var(--pe-motion-fast) var(--pe-easing-standard),
                background-color var(--pe-motion-fast) var(--pe-easing-standard);
}
.shell__action:hover[b-yb4wbz8dcz] { background: var(--pe-color-surface-2); }

/* CTA entrar */
.shell__action--primary[b-yb4wbz8dcz] {
    background: var(--pe-color-text);
    color: var(--pe-color-bg);
    border-color: transparent;
}
.shell__action--primary:hover[b-yb4wbz8dcz] {
    background: var(--pe-neutral-700);
    color: #fff;
    transform: translateY(-1px);
}

/* IA button */
.shell__action--ia[b-yb4wbz8dcz] {
    gap: 5px;
    background: var(--pe-color-urgent);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 4px 14px -6px var(--pe-color-urgent);
}
.shell__action--ia:hover[b-yb4wbz8dcz] {
    background: var(--pe-color-urgent-hover, #e55a2b);
    color: #fff;
    transform: translateY(-1px);
}

/* Admin button */
.shell__action--admin[b-yb4wbz8dcz] {
    gap: 5px;
    background: rgba(99,102,241,.09);
    color: #4f46e5;
    border-color: rgba(99,102,241,.2);
    position: relative;
}
.shell__action--admin:hover[b-yb4wbz8dcz] { background: rgba(99,102,241,.16); transform: translateY(-1px); }

/* Badge de pendentes */
.shell__admin-badge[b-yb4wbz8dcz] {
    position: absolute;
    top: -5px;
    right: -6px;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    border-radius: 9px;
    background: #ef4444;
    color: #fff;
    font-size: .6rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    animation: badge-pulse-b-yb4wbz8dcz 2s ease infinite;
}
@keyframes badge-pulse-b-yb4wbz8dcz {
    0%, 100% { box-shadow: 0 0 0 0 rgba(239,68,68,.4); }
    50%       { box-shadow: 0 0 0 5px rgba(239,68,68,0); }
}

/* ───── Main ───────────────────────────────────────────────── */
.shell__main[b-yb4wbz8dcz] {
    flex: 1 1 auto;
    width: 100%;
    max-width: var(--pe-container-max);
    margin: 0 auto;
    /* mobile: padding-bottom = bnav (62px) + FAB overflow (~40px) + safe-area + folga (8px)
       → conteúdo nunca fica tapado pelo FAB flutuante nem pela barra */
    padding: var(--pe-space-3) var(--pe-space-3) calc(110px + env(safe-area-inset-bottom, 0px));
    overflow-x: hidden;
    min-width: 0;
}

/* ───── Footer ─────────────────────────────────────────────── */
.shell__footer[b-yb4wbz8dcz] {
    display: none;
    margin-top: var(--pe-space-16);
    border-top: 1px solid var(--pe-color-border);
    background: var(--pe-color-surface);
}

/* Grid de colunas do footer */
.shell__footer-body[b-yb4wbz8dcz] {
    max-width: var(--pe-container-max);
    margin: 0 auto;
    padding: var(--pe-space-12) var(--pe-space-5) var(--pe-space-8);
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: var(--pe-space-8);
}

@media (max-width: 900px) {
    .shell__footer-body[b-yb4wbz8dcz] { grid-template-columns: 1fr 1fr; }
}

.shell__footer-col[b-yb4wbz8dcz] { display: flex; flex-direction: column; gap: var(--pe-space-2); }
.shell__footer-col nav[b-yb4wbz8dcz] { display: flex; flex-direction: column; gap: var(--pe-space-2); margin-top: var(--pe-space-2); }
.shell__footer-col nav a[b-yb4wbz8dcz] {
    color: var(--pe-color-text-soft);
    font-size: var(--pe-text-sm);
    text-decoration: none;
    transition: color 0.15s;
}
.shell__footer-col nav a:hover[b-yb4wbz8dcz] { color: var(--pe-color-text); }

.shell__footer-col-title[b-yb4wbz8dcz] {
    font-size: var(--pe-text-xs);
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--pe-color-muted);
    margin-bottom: var(--pe-space-1);
}

/* Coluna da marca */
.shell__footer-col--brand[b-yb4wbz8dcz] { gap: var(--pe-space-3); }
.shell__footer-logo[b-yb4wbz8dcz] {
    display: inline-flex;
    align-items: center;
    gap: var(--pe-space-2);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--pe-color-text);
    text-decoration: none;
}
.shell__footer-logo-dot[b-yb4wbz8dcz] { color: var(--pe-pe-coral); }
.shell__footer-tagline[b-yb4wbz8dcz] {
    font-size: var(--pe-text-sm);
    color: var(--pe-color-text-soft);
    line-height: 1.5;
    max-width: 28ch;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--pe-space-2);
}
.shell__footer-badge[b-yb4wbz8dcz] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--pe-color-brand) 12%, transparent);
    color: var(--pe-color-brand);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}
.shell__footer-social[b-yb4wbz8dcz] { display: flex; gap: var(--pe-space-3); margin-top: var(--pe-space-1); }
.shell__footer-social-link[b-yb4wbz8dcz] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--pe-color-surface-2);
    color: var(--pe-color-text-soft);
    transition: background 0.15s, color 0.15s;
    text-decoration: none;
}
.shell__footer-social-link:hover[b-yb4wbz8dcz] { background: var(--pe-brand-500); color: #fff; }

/* Barra inferior do footer */
.shell__footer-bottom[b-yb4wbz8dcz] {
    max-width: var(--pe-container-max);
    margin: 0 auto;
    padding: var(--pe-space-4) var(--pe-space-5);
    border-top: 1px solid var(--pe-color-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--pe-space-3);
    font-size: var(--pe-text-xs);
    color: var(--pe-color-muted);
}
.shell__footer-lgpd[b-yb4wbz8dcz] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--pe-success);
    font-weight: 500;
}

/* ───── Responsive ─────────────────────────────────────────── */

/* Mobile: ocultar navbar de categorias (BottomNav trata a navegação primária) */
@media (max-width: 767px) {
    .shell__navbar[b-yb4wbz8dcz]        { display: none; }
    .shell__bar1-inner[b-yb4wbz8dcz]    { padding: 0 var(--pe-space-4); min-height: 52px; }
    .shell__action--ia[b-yb4wbz8dcz]    { display: none; }
    .shell__action:not(.shell__action--primary):not(.shell__action--admin)[b-yb4wbz8dcz] { display: none; }
    /* ocultar weather e search em ecrãs pequenos — evita overflow da topbar */
    [b-yb4wbz8dcz] .tempo-widget  { display: none; }
    .shell__icon-btn[b-yb4wbz8dcz]      { display: none; }
    /* admin: apenas ícone (sem texto) para caber ao lado do botão Entrar */
    .shell__action--admin span[b-yb4wbz8dcz] { display: none; }
    .shell__action--admin[b-yb4wbz8dcz] {
        padding: 0 var(--pe-space-2-5, 10px);
        min-width: 44px;
        height: 44px;
        justify-content: center;
    }
    /* garantir que actions não crescem além do espaço disponível */
    .shell__actions[b-yb4wbz8dcz] { gap: 4px; flex-shrink: 1; }
    /* botão Entrar com touch target mínimo de 44px */
    .shell__action--primary[b-yb4wbz8dcz] {
        height: 44px;
        padding: 0 var(--pe-space-5);
    }
}

/* ── Hamburger button (só visível em mobile) ── */
.shell__hamburger[b-yb4wbz8dcz] {
    display: none;
    position: fixed;
    top: 10px;
    right: var(--pe-space-4);
    z-index: 1100;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1.5px solid var(--pe-color-border);
    background: var(--pe-color-surface);
    color: var(--pe-color-text);
    cursor: pointer;
    align-items: center;
    justify-content: center;
    box-shadow: var(--pe-shadow-card);
    transition: background var(--pe-motion-fast);
}
.shell__hamburger:hover[b-yb4wbz8dcz] { background: var(--pe-color-surface-2); }

@media (max-width: 767px) {
    .shell__hamburger[b-yb4wbz8dcz] { display: flex; }
}

/* ── Drawer overlay ── */
.shell__drawer-overlay[b-yb4wbz8dcz] {
    position: fixed;
    inset: 0;
    z-index: 1099;
    background: rgba(0,0,0,0.45);
    backdrop-filter: blur(2px);
    animation: drawer-fade-b-yb4wbz8dcz 0.2s ease;
}
@keyframes drawer-fade-b-yb4wbz8dcz { from { opacity:0; } to { opacity:1; } }

/* ── Drawer panel ── */
.shell__drawer[b-yb4wbz8dcz] {
    position: fixed;
    inset-block: 0;
    inset-inline-start: 0;
    z-index: 1100;
    width: min(80vw, 300px);
    background: var(--pe-color-surface);
    display: flex;
    flex-direction: column;
    padding: 0;
    box-shadow: var(--pe-shadow-3);
    animation: drawer-slide-b-yb4wbz8dcz 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
    overflow-y: auto;
    /* permite que o JS de swipe mova o drawer suavemente */
    will-change: transform;
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@keyframes drawer-slide-b-yb4wbz8dcz {
    from { transform: translateX(-100%); opacity: 0.6; }
    to   { transform: translateX(0);     opacity: 1; }
}

.shell__drawer-head[b-yb4wbz8dcz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--pe-space-4) var(--pe-space-5);
    border-bottom: 1px solid var(--pe-color-border);
}

.shell__drawer-close[b-yb4wbz8dcz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: transparent;
    color: var(--pe-color-text-soft);
    cursor: pointer;
    transition: background var(--pe-motion-fast), color var(--pe-motion-fast);
}
.shell__drawer-close:hover[b-yb4wbz8dcz] {
    background: var(--pe-color-surface-2);
    color: var(--pe-color-text);
}

.shell__drawer-links[b-yb4wbz8dcz] {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: var(--pe-space-3) 0;
}

.shell__drawer-link[b-yb4wbz8dcz] {
    display: flex;
    align-items: center;
    gap: var(--pe-space-3);
    padding: var(--pe-space-3) var(--pe-space-5);
    color: var(--pe-color-text);
    text-decoration: none;
    font-size: var(--pe-text-base);
    font-weight: 500;
    transition: background var(--pe-motion-fast);
    border-left: 3px solid transparent;
}
.shell__drawer-link:hover[b-yb4wbz8dcz] { background: var(--pe-color-surface-2); }
.shell__drawer-link.active[b-yb4wbz8dcz] {
    border-left-color: var(--pe-color-accent);
    color: var(--pe-color-accent);
    font-weight: 700;
}
.shell__drawer-link--doute[b-yb4wbz8dcz] {
    color: var(--pe-color-brand);
    font-weight: 600;
}

.shell__drawer-footer[b-yb4wbz8dcz] {
    padding: var(--pe-space-4) var(--pe-space-5);
    border-top: 1px solid var(--pe-color-border);
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-3);
    padding-bottom: calc(var(--pe-space-4) + env(safe-area-inset-bottom, 0px));
}

.shell__drawer-cta[b-yb4wbz8dcz] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--pe-space-3) var(--pe-space-4);
    border-radius: var(--pe-radius-pill);
    border: 1.5px solid var(--pe-color-border-strong);
    color: var(--pe-color-text);
    font-weight: 600;
    font-size: var(--pe-text-sm);
    text-decoration: none;
    transition: background var(--pe-motion-fast);
}
.shell__drawer-cta:hover[b-yb4wbz8dcz] { background: var(--pe-color-surface-2); }
.shell__drawer-cta--primary[b-yb4wbz8dcz] {
    background: var(--pe-color-brand);
    color: #fff;
    border-color: var(--pe-color-brand);
}
.shell__drawer-cta--primary:hover[b-yb4wbz8dcz] { background: var(--pe-color-brand-dark, #0284c7); }

.shell__drawer-ia[b-yb4wbz8dcz] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--pe-space-2);
    color: var(--pe-color-accent);
    font-size: var(--pe-text-sm);
    font-weight: 600;
    text-decoration: none;
}

/* Tablet (768px+) */
@media (min-width: 768px) {
    .shell__bar1-inner[b-yb4wbz8dcz]   { padding: 0 var(--pe-space-8); }
    .shell__navbar-inner[b-yb4wbz8dcz] { padding: 0 var(--pe-space-8); }
    .shell__main[b-yb4wbz8dcz]         { padding: var(--pe-space-8) var(--pe-space-6) var(--pe-space-20); }
    .shell__footer[b-yb4wbz8dcz]       { display: block; }
}
/* Desktop (1024px+) */
@media (min-width: 1024px) {
    .shell__bar1-inner[b-yb4wbz8dcz]   { padding: 0 var(--pe-space-10); min-height: 64px; }
    .shell__navbar-inner[b-yb4wbz8dcz] { padding: 0 var(--pe-space-10); }
    .shell__actions[b-yb4wbz8dcz]      { gap: 8px; }
}

/* Wide (1280px+) */
@media (min-width: 1280px) {
    .shell__bar1-inner[b-yb4wbz8dcz]   { padding-inline: var(--pe-space-12); }
    .shell__navbar-inner[b-yb4wbz8dcz] { padding-inline: var(--pe-space-12); }
}

/* ───── Error UI ───────────────────────────────────────────── */
#blazor-error-ui[b-yb4wbz8dcz] {
    background: var(--pe-color-surface);
    color: var(--pe-color-text);
    border-top: 1px solid var(--pe-color-border);
    box-shadow: var(--pe-shadow-3);
    bottom: 0;
    display: none;
    left: 0;
    padding: var(--pe-space-3) var(--pe-space-5);
    position: fixed;
    width: 100%;
    z-index: var(--pe-z-toast);
}
#blazor-error-ui .dismiss[b-yb4wbz8dcz] { cursor: pointer; position: absolute; right: var(--pe-space-4); top: var(--pe-space-2); }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-onv610qcen] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-onv610qcen] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-onv610qcen] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-onv610qcen] {
    font-size: 1.1rem;
}

.bi[b-onv610qcen] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-onv610qcen] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-onv610qcen] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-onv610qcen] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-onv610qcen] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-onv610qcen] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-onv610qcen] {
        padding-bottom: 1rem;
    }

    .nav-item[b-onv610qcen]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-onv610qcen]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-onv610qcen]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-onv610qcen] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-onv610qcen] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-onv610qcen] {
        display: none;
    }

    .nav-scrollable[b-onv610qcen] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-jkxxeako1v],
.components-reconnect-repeated-attempt-visible[b-jkxxeako1v],
.components-reconnect-failed-visible[b-jkxxeako1v],
.components-pause-visible[b-jkxxeako1v],
.components-resume-failed-visible[b-jkxxeako1v],
.components-rejoining-animation[b-jkxxeako1v] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-jkxxeako1v],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-jkxxeako1v],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-jkxxeako1v],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-jkxxeako1v],
#components-reconnect-modal.components-reconnect-retrying[b-jkxxeako1v],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-jkxxeako1v],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-jkxxeako1v],
#components-reconnect-modal.components-reconnect-failed[b-jkxxeako1v],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-jkxxeako1v] {
    display: block;
}


#components-reconnect-modal[b-jkxxeako1v] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-jkxxeako1v 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-jkxxeako1v 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-jkxxeako1v 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-jkxxeako1v]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-jkxxeako1v 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-jkxxeako1v {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-jkxxeako1v {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-jkxxeako1v {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-jkxxeako1v] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-jkxxeako1v] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-jkxxeako1v] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-jkxxeako1v] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-jkxxeako1v] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-jkxxeako1v] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-jkxxeako1v] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-jkxxeako1v 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-jkxxeako1v] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-jkxxeako1v {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Admin/AdminCategorias.razor.rz.scp.css */
/* COMPONENT: AdminCategorias — CRUD de categorias (admin) */

.adm-cats[b-sxxhdk2as2] {
    max-width: 960px;
    margin: 0 auto;
    padding: 1.5rem 1rem 4rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.adm-cats__hdr[b-sxxhdk2as2] { display: flex; flex-direction: column; gap: .3rem; }
.adm-cats__hdr h1[b-sxxhdk2as2] { margin: 0; font-size: 1.5rem; font-weight: 800; }
.adm-cats__hdr p[b-sxxhdk2as2] { margin: 0; color: #5a6a86; font-size: .92rem; }
.adm-cats__back[b-sxxhdk2as2] {
    display: inline-flex; align-items: center; gap: .3rem;
    font-size: .82rem; color: #5a6a86; margin-bottom: .25rem;
}
.adm-cats__back-ic[b-sxxhdk2as2] { transform: rotate(180deg); }

.adm-cats__erro[b-sxxhdk2as2] {
    background: #fff0f0; border: 1px solid #e8a0a0; color: #b22222;
    padding: .7rem 1rem; border-radius: 10px; font-size: .9rem;
}
.adm-cats__sucesso[b-sxxhdk2as2] {
    background: #e8f7ef; border: 1px solid #8ecfaa; color: #1a6b3c;
    padding: .7rem 1rem; border-radius: 10px; font-size: .9rem;
}

/* ── Formulário ── */
.adm-cats__form[b-sxxhdk2as2] {
    background: #fff;
    border: 1px solid #e4ebf5;
    border-radius: 14px;
    padding: 1.25rem 1.25rem 1.5rem;
}
.adm-cats__form h2[b-sxxhdk2as2] { margin: 0 0 1rem; font-size: 1rem; font-weight: 700; color: #1d2a44; }

.adm-cats__grid[b-sxxhdk2as2] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: .85rem;
}
.adm-cats__campo[b-sxxhdk2as2] { display: flex; flex-direction: column; gap: .3rem; }
.adm-cats__campo label[b-sxxhdk2as2] { font-size: .8rem; font-weight: 600; color: #3a4e7a; }
.adm-cats__campo input[type="text"][b-sxxhdk2as2], .adm-cats__campo input:not([type])[b-sxxhdk2as2],
.adm-cats__campo input[type="number"][b-sxxhdk2as2] {
    border: 1px solid #d4dcec; border-radius: 8px;
    padding: .45rem .65rem; font-size: .9rem; background: #f8faff;
}
.adm-cats__campo small[b-sxxhdk2as2] { font-size: .75rem; color: #8a97b0; }
.adm-cats__campo--wide[b-sxxhdk2as2] { grid-column: 1 / -1; }
.adm-cats__campo--check[b-sxxhdk2as2] { justify-content: flex-end; }

.adm-cats__check-label[b-sxxhdk2as2] {
    display: flex; align-items: center; gap: .45rem;
    font-size: .9rem; cursor: pointer;
}

.adm-cats__cor-wrap[b-sxxhdk2as2] { display: flex; gap: .5rem; align-items: center; }
.adm-cats__color-picker[b-sxxhdk2as2] {
    width: 40px; height: 36px; border: 1px solid #d4dcec;
    border-radius: 8px; cursor: pointer; padding: 2px;
}
.adm-cats__cor-hex[b-sxxhdk2as2] {
    flex: 1; border: 1px solid #d4dcec; border-radius: 8px;
    padding: .45rem .65rem; font-size: .88rem; font-family: monospace;
}

.adm-cats__form-acoes[b-sxxhdk2as2] { display: flex; gap: .5rem; margin-top: 1rem; flex-wrap: wrap; }

/* ── Botões ── */
.adm-cats__btn[b-sxxhdk2as2] {
    border: 1px solid #d4dcec; background: #fff;
    padding: .4rem .8rem; border-radius: 8px;
    font-size: .87rem; font-weight: 600; color: #2c3a5a; cursor: pointer;
    transition: background .15s;
}
.adm-cats__btn:hover[b-sxxhdk2as2] { background: #f1f5fb; }
.adm-cats__btn--primary[b-sxxhdk2as2] {
    background: linear-gradient(135deg,#3559c4,#5b78c4);
    color: #fff; border-color: transparent;
}
.adm-cats__btn--primary:hover[b-sxxhdk2as2] { filter: brightness(1.05); }
.adm-cats__btn--primary:disabled[b-sxxhdk2as2] { opacity: .55; cursor: not-allowed; }
.adm-cats__btn--danger[b-sxxhdk2as2] { color: #b22222; border-color: #e8a0a0; }
.adm-cats__btn--danger:hover[b-sxxhdk2as2] { background: #fff0f0; }
.adm-cats__btn--sm[b-sxxhdk2as2] { padding: .28rem .6rem; font-size: .8rem; }

/* ── Lista / Tabela ── */
.adm-cats__lista h2[b-sxxhdk2as2] { font-size: 1rem; font-weight: 700; margin: 0 0 .85rem; }
.adm-cats__loading[b-sxxhdk2as2], .adm-cats__empty[b-sxxhdk2as2] { color: #5a6a86; font-size: .9rem; }

.adm-cats__tabela[b-sxxhdk2as2] {
    width: 100%; border-collapse: collapse; font-size: .88rem;
}
.adm-cats__tabela th[b-sxxhdk2as2] {
    text-align: left; font-size: .75rem; text-transform: uppercase;
    color: #5a6a86; padding: .5rem .6rem;
    border-bottom: 2px solid #e4ebf5;
}
.adm-cats__tabela td[b-sxxhdk2as2] {
    padding: .55rem .6rem; border-bottom: 1px solid #eef2fb;
    vertical-align: middle;
}
.adm-cats__row--inativa td[b-sxxhdk2as2] { opacity: .5; }
.adm-cats__icone-cel[b-sxxhdk2as2] { font-size: 1.25rem; text-align: center; }

.adm-cats__cor-pill[b-sxxhdk2as2] {
    display: inline-block; padding: .15rem .5rem;
    border-radius: 999px; font-size: .75rem;
    color: #fff; font-family: monospace;
}

.adm-cats__badge[b-sxxhdk2as2] {
    display: inline-block; padding: .15rem .55rem;
    border-radius: 999px; font-size: .75rem; font-weight: 700;
}
.adm-cats__badge--on[b-sxxhdk2as2] { background: #e8f7ef; color: #1a6b3c; }
.adm-cats__badge--off[b-sxxhdk2as2] { background: #f5f5f5; color: #8a97b0; }

.adm-cats__acoes-cel[b-sxxhdk2as2] { display: flex; gap: .35rem; align-items: center; }

@media (max-width: 600px) {
    .adm-cats__tabela[b-sxxhdk2as2] { font-size: .78rem; }
    .adm-cats__grid[b-sxxhdk2as2] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Admin/AdminEventos.razor.rz.scp.css */
/* FILE: AdminEventos.razor.css
   PURPOSE: Hub de administra��o � cards de acesso premium.
   TOKENS:  tokens.css */

.adm[b-0cwne8ndzh] {
    max-width: 860px;
    margin: 0 auto;
    padding: var(--pe-space-10) var(--pe-space-5);
}

/* Header */
.adm__header[b-0cwne8ndzh] {
    display: flex;
    align-items: center;
    gap: var(--pe-space-4);
    margin-bottom: var(--pe-space-8);
}

.adm__header-icon[b-0cwne8ndzh] {
    width: 56px;
    height: 56px;
    border-radius: var(--pe-radius-xl);
    background: linear-gradient(135deg, #4f46e5, #7c3aed);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 8px 24px -6px rgba(79,70,229,.45);
}

.adm__title[b-0cwne8ndzh] {
    font-family: var(--pe-font-display);
    font-size: var(--pe-text-2xl);
    font-weight: 700;
    color: var(--pe-color-text);
    margin: 0 0 var(--pe-space-1);
    letter-spacing: var(--pe-tracking-tight);
}

.adm__subtitle[b-0cwne8ndzh] {
    font-size: var(--pe-text-sm);
    color: var(--pe-color-text-soft);
    margin: 0;
}

/* Grid */
.adm__grid[b-0cwne8ndzh] {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--pe-space-4);
}

@media (min-width: 600px) {
    .adm__grid[b-0cwne8ndzh] { grid-template-columns: 1fr 1fr; }
}

/* Card */
.adm__card[b-0cwne8ndzh] {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: var(--pe-space-4);
    padding: var(--pe-space-5);
    border-radius: var(--pe-radius-xl);
    background: var(--pe-color-surface);
    border: 1.5px solid var(--pe-color-border);
    color: var(--pe-color-text);
    text-decoration: none;
    transition: transform 180ms var(--pe-easing-standard),
                box-shadow 180ms var(--pe-easing-standard),
                border-color 180ms;
    overflow: hidden;
    min-height: 110px;
}

.adm__card:hover[b-0cwne8ndzh] {
    transform: translateY(-3px);
    box-shadow: var(--pe-shadow-3);
    border-color: rgba(99,102,241,.35);
}

.adm__card--urgent[b-0cwne8ndzh] { border-color: rgba(239,68,68,.3); }
.adm__card--urgent:hover[b-0cwne8ndzh] { border-color: rgba(239,68,68,.55); }
.adm__card--new[b-0cwne8ndzh] { border-style: dashed; }
.adm__card--new:hover[b-0cwne8ndzh] { border-style: solid; border-color: rgba(99,102,241,.4); }

/* Card icon */
.adm__card-icon[b-0cwne8ndzh] {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: var(--pe-radius-lg);
    background: rgba(99,102,241,.1);
    color: #4f46e5;
    display: flex;
    align-items: center;
    justify-content: center;
}

.adm__card--urgent .adm__card-icon[b-0cwne8ndzh] { background: rgba(239,68,68,.1); color: #dc2626; }
.adm__card--new    .adm__card-icon[b-0cwne8ndzh] { background: rgba(16,185,129,.1); color: #059669; }

/* Card body */
.adm__card-body[b-0cwne8ndzh] {
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-1);
    flex: 1;
    padding-right: var(--pe-space-6);
}

.adm__card-label[b-0cwne8ndzh] {
    font-size: var(--pe-text-base);
    font-weight: 700;
    color: var(--pe-color-text);
}

.adm__card-desc[b-0cwne8ndzh] {
    font-size: var(--pe-text-sm);
    color: var(--pe-color-text-soft);
    line-height: 1.5;
}

/* Badge */
.adm__card-badge[b-0cwne8ndzh] {
    position: absolute;
    top: var(--pe-space-3);
    right: var(--pe-space-9);
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 11px;
    background: #ef4444;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: adm-badge-pulse-b-0cwne8ndzh 2s ease infinite;
}

@keyframes adm-badge-pulse-b-0cwne8ndzh {
    0%, 100% { box-shadow: 0 0 0 0 rgba(239,68,68,.4); }
    50%       { box-shadow: 0 0 0 6px rgba(239,68,68,0); }
}

/* Arrow */
.adm__card-arrow[b-0cwne8ndzh] {
    position: absolute;
    right: var(--pe-space-4);
    bottom: var(--pe-space-4);
    font-size: 1.1rem;
    color: var(--pe-color-text-soft);
    transition: transform 200ms, color 200ms;
}

.adm__card:hover .adm__card-arrow[b-0cwne8ndzh] { transform: translateX(4px); color: #4f46e5; }

/* Meta */
.adm__meta[b-0cwne8ndzh] {
    display: flex;
    align-items: center;
    gap: var(--pe-space-2);
    margin-top: var(--pe-space-8);
    font-size: var(--pe-text-xs);
    color: var(--pe-color-muted);
}
/* /Components/Pages/Admin/AdminSolicitacoes.razor.rz.scp.css */
/* FILE: peniche/Components/Pages/Admin/AdminSolicitacoes.razor.css
   PURPOSE: Estilos do painel admin de solicitações de alteração. */

/* ── Layout ──────────────────────────────────────────────────────── */
.asl[b-se5sisj30s] { max-width: 820px; margin: 0 auto; padding: 24px 16px 80px; }

.asl__hdr[b-se5sisj30s] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.asl__hdr-left[b-se5sisj30s] { display: flex; align-items: center; gap: 12px; }
.asl__hdr h1[b-se5sisj30s]   { margin: 0; font-size: 1.3rem; color: var(--pe-color-text, #0e2233); }

.asl__badge-pendentes[b-se5sisj30s] {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 20px;
    background: #ef4444;
    color: #fff;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    animation: asl-pulse-b-se5sisj30s 2s ease infinite;
}
@keyframes asl-pulse-b-se5sisj30s {
    0%, 100% { box-shadow: 0 0 0 0 rgba(239,68,68,.4); }
    50%       { box-shadow: 0 0 0 6px rgba(239,68,68,.0); }
}

/* ── Filtros ─────────────────────────────────────────────────────── */
.asl__filters[b-se5sisj30s] {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.asl__select[b-se5sisj30s] {
    padding: 8px 12px;
    border: 1.5px solid var(--pe-color-border, #e0e0e8);
    border-radius: 10px;
    font-size: .85rem;
    background: var(--pe-color-surface, #fff);
    color: var(--pe-color-text, #0e2233);
    cursor: pointer;
}

.asl__total[b-se5sisj30s]   { font-size: .78rem; color: var(--pe-color-text-muted, #6b7280); margin: 0 0 14px; }
.asl__loading[b-se5sisj30s] { padding: 40px; text-align: center; color: var(--pe-color-text-muted, #6b7280); }

/* ── Vazio ───────────────────────────────────────────────────────── */
.asl__vazio[b-se5sisj30s] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 60px 0;
    color: var(--pe-color-text-muted, #6b7280);
}
.asl__vazio-icon[b-se5sisj30s] { font-size: 2.5rem; }

/* ── Card de solicitação ─────────────────────────────────────────── */
.asl__card[b-se5sisj30s] {
    background: var(--pe-color-surface, #fff);
    border-radius: 16px;
    padding: 20px;
    margin-bottom: 16px;
    box-shadow: 0 2px 12px rgba(0,0,0,.07);
    border-left: 4px solid transparent;
    transition: box-shadow 200ms;
}
.asl__card:hover[b-se5sisj30s] { box-shadow: 0 4px 20px rgba(0,0,0,.10); }

.asl__card--pendente[b-se5sisj30s]  { border-left-color: #f59e0b; }
.asl__card--analise[b-se5sisj30s]   { border-left-color: #6366f1; }
.asl__card--resolvido[b-se5sisj30s] { border-left-color: #22c55e; opacity: .75; }

/* ── Card header ─────────────────────────────────────────────────── */
.asl__card-header[b-se5sisj30s] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.asl__card-tipo[b-se5sisj30s]   { display: flex; align-items: center; gap: 6px; }
.asl__tipo-icon[b-se5sisj30s]   { font-size: 1.1rem; }
.asl__tipo-label[b-se5sisj30s]  { font-size: .82rem; font-weight: 700; color: var(--pe-color-text, #0e2233); }
.asl__data[b-se5sisj30s]        { font-size: .75rem; color: var(--pe-color-text-muted, #6b7280); margin-left: auto; }

/* Estado badge */
.asl__estado-badge[b-se5sisj30s] {
    padding: 2px 9px;
    border-radius: 20px;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.asl__estado-badge--pendente[b-se5sisj30s]  { background: #fef3c7; color: #92400e; }
.asl__estado-badge--analise[b-se5sisj30s]   { background: #ede9fe; color: #5b21b6; }
.asl__estado-badge--resolvido[b-se5sisj30s] { background: #dcfce7; color: #15803d; }

/* ── Evento ref ──────────────────────────────────────────────────── */
.asl__evento-ref[b-se5sisj30s] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
    font-size: .83rem;
}
.asl__evento-label[b-se5sisj30s] { color: var(--pe-color-text-muted, #6b7280); }
.asl__evento-link[b-se5sisj30s]  { color: #6366f1; font-weight: 600; text-decoration: none; }
.asl__evento-link:hover[b-se5sisj30s] { text-decoration: underline; }

/* ── Contacto ────────────────────────────────────────────────────── */
.asl__contacto[b-se5sisj30s] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    flex-wrap: wrap;
    font-size: .83rem;
}
.asl__contacto-nome[b-se5sisj30s]  { font-weight: 600; color: var(--pe-color-text, #0e2233); }
.asl__contacto-email[b-se5sisj30s] { color: #6366f1; text-decoration: none; }
.asl__contacto-email:hover[b-se5sisj30s] { text-decoration: underline; }

.asl__conta-badge[b-se5sisj30s] {
    padding: 2px 8px;
    border-radius: 12px;
    font-size: .7rem;
    background: #dcfce7;
    color: #15803d;
    font-weight: 600;
}
.asl__conta-badge--sem[b-se5sisj30s] { background: #fef3c7; color: #92400e; }

/* ── Mensagem ────────────────────────────────────────────────────── */
.asl__mensagem[b-se5sisj30s] {
    margin: 0 0 14px;
    padding: 12px 14px;
    border-left: 3px solid var(--pe-color-border, #e0e0e8);
    background: var(--pe-color-surface-alt, #f5f5f7);
    border-radius: 0 10px 10px 0;
    font-size: .88rem;
    color: var(--pe-color-text, #0e2233);
    line-height: 1.55;
    font-style: italic;
}

/* ── Nota existente ──────────────────────────────────────────────── */
.asl__nota-existente[b-se5sisj30s] {
    margin-bottom: 12px;
    padding: 8px 12px;
    background: #ede9fe;
    border-radius: 8px;
    font-size: .8rem;
    color: #5b21b6;
}

/* ── Painel de ações ─────────────────────────────────────────────── */
.asl__acoes-painel[b-se5sisj30s] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--pe-color-border, #e8eaf0);
}

.asl__textarea-nota[b-se5sisj30s] {
    width: 100%;
    padding: 9px 12px;
    border: 1.5px solid var(--pe-color-border, #e0e0e8);
    border-radius: 10px;
    font-size: .85rem;
    resize: vertical;
    box-sizing: border-box;
    background: var(--pe-color-surface, #fff);
    color: var(--pe-color-text, #0e2233);
}
.asl__textarea-nota:focus[b-se5sisj30s] { outline: none; border-color: #6366f1; box-shadow: 0 0 0 3px rgba(99,102,241,.1); }

.asl__acoes-btns[b-se5sisj30s] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

/* ── Botões ──────────────────────────────────────────────────────── */
.asl__btn[b-se5sisj30s] {
    all: unset;
    cursor: pointer;
    padding: 8px 16px;
    border-radius: 10px;
    font-size: .82rem;
    font-weight: 600;
    background: var(--pe-color-surface-alt, #f5f5f7);
    color: var(--pe-color-text, #0e2233);
    border: 1.5px solid var(--pe-color-border, #e0e0e8);
    transition: all 150ms;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    text-decoration: none;
}
.asl__btn:hover[b-se5sisj30s] { background: #e5e7eb; }

.asl__btn--info[b-se5sisj30s]     { background: #ede9fe; color: #5b21b6; border-color: #c4b5fd; }
.asl__btn--edit[b-se5sisj30s]     { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; }
.asl__btn--titular[b-se5sisj30s]  { background: #fef9c3; color: #854d0e; border-color: #fde047; }
.asl__btn--remover[b-se5sisj30s]  { background: #fee2e2; color: #dc2626; border-color: #fca5a5; }
.asl__btn--resolver[b-se5sisj30s] { background: #dcfce7; color: #15803d; border-color: #86efac; }
.asl__btn--rejeitar[b-se5sisj30s] { background: #f3f4f6; color: #6b7280; border-color: #d1d5db; }

.asl__btn--info:hover[b-se5sisj30s]     { background: #ddd6fe; }
.asl__btn--edit:hover[b-se5sisj30s]     { background: #dbeafe; }
.asl__btn--titular:hover[b-se5sisj30s]  { background: #fef08a; }
.asl__btn--remover:hover[b-se5sisj30s]  { background: #fecaca; }
.asl__btn--resolver:hover[b-se5sisj30s] { background: #bbf7d0; }

.asl__btn:disabled[b-se5sisj30s] { opacity: .5; cursor: not-allowed; }

/* ── Mensagens de feedback ───────────────────────────────────────── */
.asl__erro[b-se5sisj30s]    { font-size: .8rem; color: #dc2626; background: #fef2f2; border-radius: 8px; padding: 6px 10px; margin: 0; }
.asl__sucesso[b-se5sisj30s] { font-size: .8rem; color: #15803d; background: #f0fdf4; border-radius: 8px; padding: 6px 10px; margin: 0; }

/* ── Resolvido tag ───────────────────────────────────────────────── */
.asl__resolvido-tag[b-se5sisj30s] {
    margin-top: 10px;
    font-size: .78rem;
    color: #15803d;
    font-weight: 600;
}

/* ── Paginação ───────────────────────────────────────────────────── */
.asl__paginacao[b-se5sisj30s] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin: 24px 0 0;
    font-size: .85rem;
}

/* ── Dialog de confirmação ───────────────────────────────────────── */
.asl__overlay[b-se5sisj30s] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.55);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 16px;
}

.asl__confirm[b-se5sisj30s] {
    background: var(--pe-color-surface, #fff);
    border-radius: 18px;
    padding: 28px 24px 22px;
    max-width: 400px;
    width: 100%;
    box-shadow: 0 24px 80px rgba(0,0,0,.22);
    animation: asl-confirm-in-b-se5sisj30s 180ms cubic-bezier(.34,1.56,.64,1);
}
@keyframes asl-confirm-in-b-se5sisj30s { from { opacity:0; transform:scale(.93); } to { opacity:1; transform:scale(1); } }

.asl__confirm h2[b-se5sisj30s] { margin: 0 0 10px; font-size: 1.1rem; }
.asl__confirm p[b-se5sisj30s]  { margin: 0 0 8px; font-size: .88rem; color: var(--pe-color-text, #0e2233); line-height: 1.5; }

.asl__confirm-aviso[b-se5sisj30s] { color: #dc2626; font-size: .82rem !important; }

.asl__confirm-acoes[b-se5sisj30s] {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    margin-top: 20px;
}
/* /Components/Pages/Admin/DoacoesAdmin.razor.rz.scp.css */
/* FILE: DoacoesAdmin.razor.css */
.dadm[b-52z54catxv] { padding: var(--pe-space-8) var(--pe-space-6); max-width: 1200px; margin: 0 auto; }
.dadm__header[b-52z54catxv] { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--pe-space-4); flex-wrap: wrap; margin-bottom: var(--pe-space-8); }
.dadm__titulo[b-52z54catxv] { font-size: 1.6rem; font-weight: 800; margin: 0 0 4px; letter-spacing: -.03em; }
.dadm__sub[b-52z54catxv]    { color: var(--pe-color-text-soft); margin: 0; font-size: .88rem; }
.dadm__header-actions[b-52z54catxv] { display: flex; align-items: center; gap: var(--pe-space-3); }
.dadm__feedback[b-52z54catxv] { font-size: .82rem; color: #15803d; font-weight: 600; }
.dadm__loading[b-52z54catxv] { display: flex; align-items: center; gap: 10px; color: var(--pe-color-text-soft); padding: var(--pe-space-12); justify-content: center; }
.dadm__vazio[b-52z54catxv] { text-align: center; padding: var(--pe-space-12); color: var(--pe-color-text-soft); }
.dadm__tablewrap[b-52z54catxv] { overflow-x: auto; border-radius: var(--pe-radius-xl); border: 1px solid var(--pe-color-border); }
.dadm__table[b-52z54catxv] { width: 100%; border-collapse: collapse; font-size: .87rem; }
.dadm__table thead tr[b-52z54catxv] { background: var(--pe-color-surface-2); }
.dadm__table th[b-52z54catxv] { padding: 10px 14px; text-align: left; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--pe-color-text-soft); border-bottom: 1px solid var(--pe-color-border); white-space: nowrap; }
.dadm__table td[b-52z54catxv] { padding: 12px 14px; border-bottom: 1px solid var(--pe-color-border); vertical-align: middle; }
.dadm__table tbody tr:last-child td[b-52z54catxv] { border-bottom: none; }
.dadm__table tbody tr:hover[b-52z54catxv] { background: var(--pe-color-surface-2); }
.dadm__tr--alerta td[b-52z54catxv] { background: rgba(239,68,68,.04); }
.dadm__muted[b-52z54catxv] { color: var(--pe-color-text-soft); }
.dadm__prod[b-52z54catxv] { display: flex; align-items: center; gap: 10px; }
.dadm__thumb[b-52z54catxv] { width: 44px; height: 36px; object-fit: cover; border-radius: var(--pe-radius-md); flex-shrink: 0; }
.dadm__prod strong[b-52z54catxv] { display: block; font-weight: 600; }
.dadm__link-ext[b-52z54catxv] { font-size: .75rem; color: var(--pe-color-brand); text-decoration: none; }
.dadm__badge[b-52z54catxv] { display: inline-flex; padding: 2px 10px; border-radius: 999px; font-size: .72rem; font-weight: 700; }
.dadm__badge--ativa[b-52z54catxv]    { background: #dcfce7; color: #15803d; }
.dadm__badge--expirada[b-52z54catxv] { background: #f5f5f4; color: #78716c; }
.dadm__badge--removida[b-52z54catxv] { background: #fee2e2; color: #b91c1c; }
.dadm__badge--alerta[b-52z54catxv]   { background: #fee2e2; color: #b91c1c; }
.dadm__badge--neutro[b-52z54catxv]   { background: #f5f5f4; color: #78716c; }
.dadm__btn[b-52z54catxv] {
    display: inline-flex; align-items: center; gap: 5px;
    height: 38px; padding: 0 var(--pe-space-4); border-radius: var(--pe-radius-pill);
    font-weight: 700; font-size: .84rem; cursor: pointer; border: none; transition: all .15s;
}
.dadm__btn--warn[b-52z54catxv]   { background: #fef3c7; color: #92400e; border: 1px solid #fcd34d; }
.dadm__btn--warn:hover[b-52z54catxv] { background: #fde68a; }
.dadm__btn--danger[b-52z54catxv] { background: #fee2e2; color: #b91c1c; }
.dadm__btn--danger:hover[b-52z54catxv] { background: #fca5a5; }
.dadm__btn--sm[b-52z54catxv] { height: 32px; padding: 0 var(--pe-space-3); font-size: .78rem; }
.dadm__btn:disabled[b-52z54catxv] { opacity: .6; cursor: not-allowed; }
.dadm__spinner[b-52z54catxv] { width: 15px; height: 15px; border: 2px solid rgba(0,0,0,.15); border-top-color: currentColor; border-radius: 50%; animation: dadm-spin-b-52z54catxv .7s linear infinite; }
@keyframes dadm-spin-b-52z54catxv { to { transform: rotate(360deg); } }
/* /Components/Pages/Admin/HeroEditorialAdmin.razor.rz.scp.css */
/* FILE: peniche/Components/Pages/Admin/HeroEditorialAdmin.razor.css
   PURPOSE: Estilo premium do painel admin do Hero Editorial.
   TOKENS: tokens.css */

/* ── Layout base ─────────────────────────────────────────────────────────── */
.hadm[b-lhwyjzsqen] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--pe-space-8, 2rem) var(--pe-space-5, 1.25rem);
    display: grid;
    gap: var(--pe-space-5, 1.25rem);
}

/* ── Header ──────────────────────────────────────────────────────────────── */
.hadm__hdr[b-lhwyjzsqen] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
}
.hadm__titulo[b-lhwyjzsqen] {
    font-size: 1.65rem;
    font-weight: 800;
    margin: 0 0 0.2rem;
    color: var(--pe-color-text, #111827);
    letter-spacing: -0.025em;
}
.hadm__sub[b-lhwyjzsqen] {
    font-size: 0.86rem;
    color: var(--pe-color-text-soft, #6b7280);
    margin: 0;
}

/* ── Alertas ─────────────────────────────────────────────────────────────── */
.hadm__alert[b-lhwyjzsqen] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    border-radius: 10px;
    font-size: 0.9rem;
    font-weight: 500;
}
.hadm__alert--erro[b-lhwyjzsqen] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.hadm__alert--ok[b-lhwyjzsqen]   { background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0; }
.hadm__alert__fechar[b-lhwyjzsqen] {
    background: none; border: none; cursor: pointer;
    font-size: 1rem; line-height: 1; color: inherit; opacity: 0.6;
}
.hadm__alert__fechar:hover[b-lhwyjzsqen] { opacity: 1; }

/* ── Botões ──────────────────────────────────────────────────────────────── */
.hadm__btn[b-lhwyjzsqen] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 40px;
    padding: 0 1.1rem;
    border: none;
    border-radius: 999px;
    font: 600 0.875rem/1 inherit;
    cursor: pointer;
    transition: background 160ms, transform 120ms, box-shadow 160ms;
    white-space: nowrap;
}
.hadm__btn:disabled[b-lhwyjzsqen] { opacity: 0.55; cursor: not-allowed; }
.hadm__btn--primary[b-lhwyjzsqen] {
    background: linear-gradient(135deg, #e11d48, #9f1239);
    color: #fff;
    box-shadow: 0 4px 12px -4px rgba(225,29,72,.40);
}
.hadm__btn--primary:hover:not(:disabled)[b-lhwyjzsqen] {
    background: linear-gradient(135deg, #be123c, #881337);
    transform: translateY(-1px);
    box-shadow: 0 6px 18px -4px rgba(225,29,72,.48);
}
.hadm__btn--ghost[b-lhwyjzsqen] {
    background: var(--pe-color-surface-2, #f3f4f6);
    color: var(--pe-color-text, #111827);
    border: 1.5px solid var(--pe-color-border, #e5e7eb);
}
.hadm__btn--ghost:hover:not(:disabled)[b-lhwyjzsqen] { background: #e5e7eb; }
.hadm__btn--warn[b-lhwyjzsqen]  { background: #fef3c7; color: #92400e; }
.hadm__btn--warn:hover:not(:disabled)[b-lhwyjzsqen]  { background: #fde68a; }
.hadm__btn--danger[b-lhwyjzsqen] { background: #fee2e2; color: #991b1b; }
.hadm__btn--danger:hover:not(:disabled)[b-lhwyjzsqen] { background: #fecaca; }
.hadm__btn--sm[b-lhwyjzsqen] { min-height: 34px; padding: 0 0.85rem; font-size: 0.8rem; }

/* ── Card base ───────────────────────────────────────────────────────────── */
.hadm__card[b-lhwyjzsqen] {
    background: var(--pe-color-surface, #fff);
    border: 1.5px solid var(--pe-color-border, #e5e7eb);
    border-radius: 16px;
    box-shadow: 0 2px 12px -6px rgba(0,0,0,.08);
    transition: box-shadow 180ms, border-color 180ms;
}
.hadm__card--inativo[b-lhwyjzsqen] { opacity: 0.58; }

/* ── Card formulário — especificidade dupla para sempre ganhar ao grid da lista ── */
.hadm__card.hadm__card--form[b-lhwyjzsqen] {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.25rem;
    padding: 1.75rem 2rem;
    box-shadow: 0 6px 24px -8px rgba(0,0,0,.12);
    border-top: 3px solid #e11d48;
    align-items: initial;
    overflow: visible;
}
.hadm__form-titulo[b-lhwyjzsqen] {
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0;
    color: var(--pe-color-text, #111827);
}

/* ── Campos ──────────────────────────────────────────────────────────────── */
.hadm__field[b-lhwyjzsqen] { display: grid; gap: 0.3rem; }
.hadm__label[b-lhwyjzsqen] {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--pe-color-text-soft, #6b7280);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    display: flex;
    align-items: center;
    gap: 0.3rem;
}
.hadm__input[b-lhwyjzsqen] {
    min-height: 42px;
    padding: 0.55rem 0.85rem;
    border: 1.5px solid var(--pe-color-border, #e5e7eb);
    border-radius: 10px;
    font: inherit;
    font-size: 0.9rem;
    background: var(--pe-color-surface, #fff);
    color: var(--pe-color-text, #111827);
    transition: border-color 160ms, box-shadow 160ms;
    width: 100%;
    box-sizing: border-box;
}
.hadm__input:focus[b-lhwyjzsqen] {
    outline: none;
    border-color: #e11d48;
    box-shadow: 0 0 0 3px rgba(225,29,72,.12);
}
.hadm__textarea[b-lhwyjzsqen] { min-height: 110px; resize: vertical; line-height: 1.6; }
.hadm__textarea--corpo[b-lhwyjzsqen] { min-height: 180px; }
.hadm__check-row[b-lhwyjzsqen] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: var(--pe-color-text, #111827);
    cursor: pointer;
    user-select: none;
}
.hadm__check-row input[type=checkbox][b-lhwyjzsqen] { width: 16px; height: 16px; cursor: pointer; }
.hadm__form-erro[b-lhwyjzsqen] {
    color: #991b1b;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    padding: 0.6rem 0.9rem;
    font-size: 0.875rem;
    margin: 0;
}
.hadm__form-actions[b-lhwyjzsqen] {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    justify-content: flex-end;
    padding-top: 0.5rem;
    border-top: 1px solid var(--pe-color-border, #f3f4f6);
    margin-top: 0.25rem;
}

/* ── Tooltip (?) ─────────────────────────────────────────────────────────── */
.hadm__tooltip[b-lhwyjzsqen] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--pe-color-surface-2, #e5e7eb);
    color: var(--pe-color-text-soft, #6b7280);
    font-size: 0.65rem;
    font-weight: 700;
    cursor: help;
    position: relative;
    flex-shrink: 0;
}
.hadm__tooltip:hover[b-lhwyjzsqen]::after {
    content: attr(title);
    position: absolute;
    left: 50%;
    bottom: calc(100% + 6px);
    transform: translateX(-50%);
    background: #1f2937;
    color: #f9fafb;
    font-size: 0.73rem;
    font-weight: 400;
    padding: 0.55rem 0.8rem;
    border-radius: 8px;
    white-space: normal;
    width: 260px;
    text-transform: none;
    letter-spacing: 0;
    z-index: 100;
    line-height: 1.45;
    pointer-events: none;
    box-shadow: 0 4px 16px rgba(0,0,0,.22);
}

/* ── Pesquisa de evento ──────────────────────────────────────────────────── */
.hadm__evento-search[b-lhwyjzsqen] { position: relative; }
.hadm__evento-sel[b-lhwyjzsqen] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.4rem;
    background: #f0fdf4;
    color: #166534;
    border: 1px solid #bbf7d0;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    font-size: 0.83rem;
    font-weight: 600;
}
.hadm__clear[b-lhwyjzsqen] {
    background: none; border: none; cursor: pointer;
    font-size: 0.8rem; color: inherit; opacity: 0.7; line-height: 1;
    padding: 0; margin-left: 0.2rem;
}
.hadm__clear:hover[b-lhwyjzsqen] { opacity: 1; }
.hadm__evento-lista[b-lhwyjzsqen] {
    position: absolute; top: calc(100% + 4px); left: 0; right: 0;
    background: var(--pe-color-surface, #fff);
    border: 1.5px solid var(--pe-color-border, #e5e7eb);
    border-radius: 12px;
    padding: 0.35rem;
    list-style: none;
    margin: 0;
    z-index: 50;
    max-height: 240px;
    overflow-y: auto;
    box-shadow: 0 8px 24px -6px rgba(0,0,0,.15);
}
.hadm__evento-lista li[b-lhwyjzsqen] {
    padding: 0.5rem 0.75rem;
    border-radius: 8px;
    cursor: pointer;
    font-size: 0.875rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    transition: background 120ms;
}
.hadm__evento-lista li:hover[b-lhwyjzsqen] { background: #f3f4f6; }
.hadm__evento-lista li small[b-lhwyjzsqen] { color: var(--pe-color-text-soft, #9ca3af); font-size: 0.78rem; }

/* ── Preview editorial — réplica do hero real ────────────────────────────── */
.hadm__preview-wrap[b-lhwyjzsqen] {
    border: 1.5px solid var(--pe-color-border, #e5e7eb);
    border-radius: 14px;
    overflow: hidden;
}
.hadm__preview-bar[b-lhwyjzsqen] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 1.1rem;
    background: linear-gradient(to right, #f8fafc, #f1f5f9);
    border-bottom: 1px solid var(--pe-color-border, #e5e7eb);
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--pe-color-text-soft, #6b7280);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.hadm__preview-bar-dot[b-lhwyjzsqen] {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #e11d48;
    animation: hpreview-pulse-b-lhwyjzsqen 2s ease-in-out infinite;
    flex-shrink: 0;
}
@keyframes hpreview-pulse-b-lhwyjzsqen {
    0%, 100% { opacity: 1; } 50% { opacity: 0.3; }
}

.hadm__prev-vazio[b-lhwyjzsqen] {
    padding: 2rem;
    text-align: center;
    color: #9ca3af;
    background: #f9fafb;
}
.hadm__prev-vazio span[b-lhwyjzsqen] { font-size: 2rem; display: block; margin-bottom: 0.5rem; }
.hadm__prev-vazio p[b-lhwyjzsqen] { margin: 0; font-size: 0.85rem; font-style: italic; }

/* Artigo preview — espelha .hero do componente real */
.hadm__prev[b-lhwyjzsqen] {
    display: grid;
    grid-template-columns: 1fr;
    background: var(--pe-color-surface, #fff);
    border-radius: 0 0 12px 12px;
}
@media (min-width: 700px) {
    .hadm__prev[b-lhwyjzsqen] { grid-template-columns: 1.2fr 1fr; }
}

/* Coluna imagem */
.hadm__prev-media[b-lhwyjzsqen] {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #1e293b;
}
@media (min-width: 700px) {
    .hadm__prev-media[b-lhwyjzsqen] { aspect-ratio: auto; min-height: 360px; }
}
.hadm__prev-media img[b-lhwyjzsqen] {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}
.hadm__prev-sem-img[b-lhwyjzsqen] {
    width: 100%; height: 100%; min-height: 180px;
    display: flex; align-items: center; justify-content: center;
    font-size: 3rem;
    background: linear-gradient(135deg, #1e3a5f, #0f172a);
}
.hadm__prev-badge[b-lhwyjzsqen] {
    position: absolute;
    top: 0.75rem; left: 0.75rem;
    background: rgba(255,255,255,.88);
    color: #111827;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    backdrop-filter: blur(6px);
}

/* Coluna conteúdo */
.hadm__prev-body[b-lhwyjzsqen] {
    padding: 1.5rem 1.75rem 1.75rem;
    display: flex;
    flex-direction: column;
    gap: 0;
    justify-content: center;
}
.hadm__prev-eyebrow[b-lhwyjzsqen] { margin-bottom: 0.5rem; }
.hadm__prev-titulo[b-lhwyjzsqen]  { margin-bottom: 0.65rem; }
.hadm__prev-lead[b-lhwyjzsqen]    { margin-bottom: 0.85rem; }
.hadm__prev-par + .hadm__prev-par[b-lhwyjzsqen] { margin-top: 0.6rem; }
.hadm__prev-par[b-lhwyjzsqen]     { margin-bottom: 0; }
.hadm__prev-quote[b-lhwyjzsqen]   { margin-top: 0.75rem; margin-bottom: 0.25rem; }
.hadm__prev-footer[b-lhwyjzsqen]  { margin-top: 0.75rem; }
.hadm__prev-cta[b-lhwyjzsqen]     { margin-top: 0.85rem; }
.hadm__prev-eyebrow[b-lhwyjzsqen] {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #e11d48;
    margin: 0;
}
.hadm__prev-titulo[b-lhwyjzsqen] {
    font-size: clamp(1.15rem, 2.8vw, 1.65rem);
    font-weight: 800;
    line-height: 1.18;
    letter-spacing: -0.03em;
    margin: 0;
    color: #0f172a;
}
.hadm__prev-lead[b-lhwyjzsqen] {
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.6;
    color: #1e293b;
    margin: 0;
    white-space: pre-wrap;
}
.hadm__prev-par[b-lhwyjzsqen] {
    font-size: 0.875rem;
    line-height: 1.65;
    color: #475569;
    margin: 0;
    white-space: pre-wrap;
}
.hadm__prev-quote[b-lhwyjzsqen] {
    margin: 0.25rem 0;
    padding: 0.75rem 1rem;
    border-left: 3px solid #e11d48;
    background: #f8fafc;
    font-style: italic;
    font-size: 0.95rem;
    line-height: 1.5;
    border-radius: 0 8px 8px 0;
    color: #1e293b;
}
.hadm__prev-video[b-lhwyjzsqen] {
    aspect-ratio: 16/9;
    border-radius: 8px;
    overflow: hidden;
    background: #000;
    margin: 0.25rem 0;
}
.hadm__prev-footer[b-lhwyjzsqen] {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.72rem;
    color: #9ca3af;
    margin-top: 0.25rem;
}
.hadm__prev-credit[b-lhwyjzsqen] { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hadm__prev-cta[b-lhwyjzsqen] {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.5rem 1.1rem;
    background: #0f172a;
    color: #fff;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
    margin-top: 0.25rem;
}

/* ── Grids ───────────────────────────────────────────────────────────────── */
.hadm__grid2[b-lhwyjzsqen] { display: grid; gap: 1rem; grid-template-columns: 1fr; }
.hadm__grid3[b-lhwyjzsqen] { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 520px) {
    .hadm__grid2[b-lhwyjzsqen] { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 700px) {
    .hadm__grid3[b-lhwyjzsqen] { grid-template-columns: 1fr 1fr 1fr; }
}

/* ── Idioma badge ────────────────────────────────────────────────────────── */
.hadm__idioma-badge[b-lhwyjzsqen] {
    position: absolute;
    top: 0.5rem; left: 0.5rem;
    background: rgba(0,0,0,.55);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    backdrop-filter: blur(4px);
}

/* ── Cards da lista ──────────────────────────────────────────────────────── */
.hadm__lista[b-lhwyjzsqen] { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.75rem; }

/* Aplica layout de 3 colunas APENAS aos cards dentro da lista */
.hadm__lista .hadm__card[b-lhwyjzsqen] {
    display: grid;
    grid-template-columns: 120px 1fr auto;
    gap: 0;
    align-items: stretch;
    overflow: hidden;
}
@media (max-width: 600px) {
    .hadm__lista .hadm__card[b-lhwyjzsqen] { grid-template-columns: 1fr; }
    .hadm__card-media[b-lhwyjzsqen] { width: 100%; height: 140px; border-radius: 0; }
    .hadm__card-body[b-lhwyjzsqen]  { padding: 0.85rem 1rem; }
    .hadm__card-actions[b-lhwyjzsqen] { padding: 0.75rem 1rem 1rem; flex-direction: row; flex-wrap: wrap; }
}
.hadm__card-media[b-lhwyjzsqen] {
    position: relative;
    width: 120px;
    min-height: 100px;
    border-radius: 0;
    overflow: hidden;
    flex-shrink: 0;
    background: #1e293b;
}
.hadm__card-media img[b-lhwyjzsqen] { width: 100%; height: 100%; object-fit: cover; }
.hadm__card-sem-img[b-lhwyjzsqen] {
    width: 100%; height: 100%;
    min-height: 100px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.8rem;
    background: linear-gradient(135deg, #1e3a5f, #1e293b);
}

.hadm__card-body[b-lhwyjzsqen] {
    min-width: 0;
    padding: 0.85rem 1rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.2rem;
}
.hadm__card-evento[b-lhwyjzsqen] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #e11d48;
    font-weight: 700;
    margin: 0 0 0.2rem;
}
.hadm__card-titulo[b-lhwyjzsqen] {
    font-size: 0.95rem;
    font-weight: 700;
    margin: 0 0 0.35rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.hadm__card-meta[b-lhwyjzsqen] {
    font-size: 0.75rem;
    color: var(--pe-color-text-soft, #9ca3af);
    margin: 0;
}
.hadm__status[b-lhwyjzsqen] {
    display: inline-block;
    margin-top: 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
}
.hadm__status--ativo[b-lhwyjzsqen]   { background: #dcfce7; color: #166534; }
.hadm__status--inativo[b-lhwyjzsqen] { background: #f3f4f6; color: #6b7280; }

.hadm__card-actions[b-lhwyjzsqen] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    align-items: flex-end;
    justify-content: center;
    padding: 0.75rem 1rem 0.75rem 0.5rem;
}

/* ── Skeleton ────────────────────────────────────────────────────────────── */
.hadm__skel-lista[b-lhwyjzsqen] { display: grid; gap: 0.75rem; }
.hadm__skel-card[b-lhwyjzsqen] {
    height: 96px;
    border-radius: 16px;
    background: #f3f4f6;
}
.skel[b-lhwyjzsqen] {
    animation: skel-shine-b-lhwyjzsqen 1.4s linear infinite;
    background: linear-gradient(90deg, #f3f4f6 25%, #e5e7eb 50%, #f3f4f6 75%);
    background-size: 200% 100%;
}
@keyframes skel-shine-b-lhwyjzsqen { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

/* ── Vazio ───────────────────────────────────────────────────────────────── */
.hadm__vazio[b-lhwyjzsqen] {
    text-align: center;
    padding: 3.5rem 1rem;
    color: var(--pe-color-text-soft, #9ca3af);
}
.hadm__vazio-ico[b-lhwyjzsqen] { font-size: 2.5rem; display: block; margin-bottom: 0.75rem; }

/* ── Modal ───────────────────────────────────────────────────────────────── */
.hadm__overlay[b-lhwyjzsqen] {
    position: fixed; inset: 0;
    background: rgba(0,0,0,.45);
    backdrop-filter: blur(3px);
    display: flex; align-items: center; justify-content: center;
    z-index: 1000;
    padding: 1rem;
}
.hadm__modal[b-lhwyjzsqen] {
    background: var(--pe-color-surface, #fff);
    border-radius: 18px;
    padding: 2rem 1.75rem;
    max-width: 420px;
    width: 100%;
    box-shadow: 0 20px 60px -12px rgba(0,0,0,.35);
}
.hadm__modal h3[b-lhwyjzsqen] { margin: 0 0 0.5rem; font-size: 1.15rem; }
.hadm__modal p[b-lhwyjzsqen]  { margin: 0 0 1.5rem; color: var(--pe-color-text-soft, #6b7280); font-size: 0.9rem; line-height: 1.5; }
.hadm__modal-actions[b-lhwyjzsqen] { display: flex; gap: 0.75rem; justify-content: flex-end; }

/* Herança dos antigos tokens de score/flags (usados por AdminEventos) */
.hadm__score[b-lhwyjzsqen] {
    display: inline-block; padding: 2px 8px; border-radius: 999px;
    font-size: 0.72rem; font-weight: 700;
}
.hadm__score--ok[b-lhwyjzsqen]  { background: #dcfce7; color: #166534; }
.hadm__score--mid[b-lhwyjzsqen] { background: #fef3c7; color: #92400e; }
.hadm__score--low[b-lhwyjzsqen] { background: #fee2e2; color: #991b1b; }
.hadm__flags[b-lhwyjzsqen] { font-size: 0.78rem; color: #92400e; }

/* ── Drag-and-drop de imagem ─────────────────────────────────────────────── */
.hadm__drop[b-lhwyjzsqen] {
    position: relative;
    border: 2px dashed var(--pe-color-border, #d1d5db);
    border-radius: var(--pe-radius-lg, 12px);
    background: var(--pe-color-surface-2, #f9fafb);
    cursor: pointer;
    transition: border-color .2s, background .2s;
    min-height: 130px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    /* Necessário para o InputFile absoluto cobrir toda a área */
    isolation: isolate;
}
.hadm__drop:hover[b-lhwyjzsqen],
.hadm__drop--over[b-lhwyjzsqen] {
    border-color: var(--pe-color-brand, #0ea5e9);
    background: #f0f9ff;
}
.hadm__drop--has-image[b-lhwyjzsqen] {
    border-style: solid;
    min-height: 200px;
}
.hadm__drop-placeholder[b-lhwyjzsqen] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 24px;
    color: var(--pe-color-text-muted, #6b7280);
    text-align: center;
    pointer-events: none;
}
.hadm__drop-icon[b-lhwyjzsqen] { font-size: 2rem; }
.hadm__drop-placeholder span[b-lhwyjzsqen] { font-size: 0.88rem; font-weight: 600; }
.hadm__drop-placeholder small[b-lhwyjzsqen] { font-size: 0.75rem; color: var(--pe-color-text-muted, #9ca3af); }

.hadm__drop-preview[b-lhwyjzsqen] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    max-height: 280px;
}
.hadm__drop-overlay[b-lhwyjzsqen] {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.45);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    font-weight: 700;
    opacity: 0;
    transition: opacity .2s;
}
.hadm__drop:hover .hadm__drop-overlay[b-lhwyjzsqen] { opacity: 1; }
.hadm__drop-clear[b-lhwyjzsqen] {
    position: absolute;
    top: 8px;
    right: 8px;
    background: rgba(0,0,0,.6);
    color: #fff;
    border: none;
    border-radius: 999px;
    width: 28px;
    height: 28px;
    font-size: 0.8rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}
.hadm__drop-clear:hover[b-lhwyjzsqen] { background: #ef4444; }

.hadm__drop-spinner[b-lhwyjzsqen] {
    width: 28px; height: 28px;
    border: 3px solid #e5e7eb;
    border-top-color: var(--pe-color-brand, #0ea5e9);
    border-radius: 50%;
    animation: hadm-spin-b-lhwyjzsqen .7s linear infinite;
    display: inline-block;
}
@keyframes hadm-spin-b-lhwyjzsqen { to { transform: rotate(360deg); } }

.hadm__drop-erro[b-lhwyjzsqen] {
    font-size: 0.8rem;
    color: #dc2626;
    margin: 4px 0 0;
}

/* -- Quill rich-text editor host ----------------------------------- */
.hadm__quill-editor[b-lhwyjzsqen] {
    min-height: 280px;
    border-radius: 0 0 6px 6px;
    font-size: 0.9rem;
    background: #fff;
}
/* /Components/Pages/Admin/LugaresDestaqueAdmin.razor.rz.scp.css */
/* FILE: peniche/Components/Pages/Admin/LugaresDestaqueAdmin.razor.css
   PURPOSE: Estilo premium do painel admin "Lugares a Não Perder".
   TOKENS:  tokens.css */

/* ── Layout base ──────────────────────────────────────────────────────── */
.ladm[b-nm2phu35mx] {
    max-width: 960px;
    margin: 0 auto;
    padding: var(--pe-space-8, 2rem) var(--pe-space-5, 1.25rem);
    display: grid;
    gap: var(--pe-space-5, 1.25rem);
}

/* ── Header ───────────────────────────────────────────────────────────── */
.ladm__hdr[b-nm2phu35mx] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
}
.ladm__hdr-left[b-nm2phu35mx] { display: flex; align-items: center; gap: 1rem; }
.ladm__hdr-icon[b-nm2phu35mx] {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, #10b981, #059669);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    flex-shrink: 0;
    box-shadow: 0 8px 20px -6px rgba(5,150,105,.40);
}
.ladm__titulo[b-nm2phu35mx] {
    font-size: 1.5rem;
    font-weight: 800;
    margin: 0 0 .2rem;
    color: var(--pe-color-text, #111827);
    letter-spacing: -.02em;
}
.ladm__sub[b-nm2phu35mx] {
    font-size: .85rem;
    color: var(--pe-color-text-soft, #6b7280);
    margin: 0;
    max-width: 480px;
}

/* ── Alertas ──────────────────────────────────────────────────────────── */
.ladm__alert[b-nm2phu35mx] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .75rem 1rem;
    border-radius: 10px;
    font-size: .9rem;
    font-weight: 500;
}
.ladm__alert--erro[b-nm2phu35mx] {
    background: color-mix(in srgb, #ef4444 10%, transparent);
    border: 1px solid color-mix(in srgb, #ef4444 25%, transparent);
    color: #b91c1c;
}
.ladm__alert--ok[b-nm2phu35mx] {
    background: color-mix(in srgb, #10b981 10%, transparent);
    border: 1px solid color-mix(in srgb, #10b981 25%, transparent);
    color: #047857;
}
.ladm__alert__fechar[b-nm2phu35mx] {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1rem;
    color: inherit;
    opacity: .6;
    padding: 0 .25rem;
}
.ladm__alert__fechar:hover[b-nm2phu35mx] { opacity: 1; }

/* ── Card container ───────────────────────────────────────────────────── */
.ladm__card[b-nm2phu35mx] {
    background: var(--pe-color-surface, #fff);
    border: 1px solid var(--pe-color-border, #e5e7eb);
    border-radius: 16px;
    padding: 1.5rem;
    box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
.ladm__card--form[b-nm2phu35mx] { display: grid; gap: 1rem; }
.ladm__form-titulo[b-nm2phu35mx] {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0;
    color: var(--pe-color-text);
}

/* ── Campos ───────────────────────────────────────────────────────────── */
.ladm__field[b-nm2phu35mx] { display: grid; gap: .35rem; }
.ladm__field--inline[b-nm2phu35mx] { align-items: center; }
.ladm__label[b-nm2phu35mx] {
    font-size: .8rem;
    font-weight: 600;
    color: var(--pe-color-text-soft);
    text-transform: uppercase;
    letter-spacing: .05em;
    display: flex;
    align-items: center;
    gap: .35rem;
}
.ladm__required[b-nm2phu35mx] { color: #ef4444; }
.ladm__optional[b-nm2phu35mx] { font-weight: 400; text-transform: none; letter-spacing: 0; opacity: .7; }
.ladm__hint[b-nm2phu35mx] { font-size: .75rem; color: var(--pe-color-text-soft); }
.ladm__input[b-nm2phu35mx] {
    width: 100%;
    padding: .55rem .85rem;
    border: 1.5px solid var(--pe-color-border, #e5e7eb);
    border-radius: 10px;
    font-size: .9rem;
    background: var(--pe-color-surface);
    color: var(--pe-color-text);
    transition: border-color .15s, box-shadow .15s;
    box-sizing: border-box;
}
.ladm__input:focus[b-nm2phu35mx] {
    outline: none;
    border-color: #10b981;
    box-shadow: 0 0 0 3px color-mix(in srgb, #10b981 20%, transparent);
}
.ladm__input--sm[b-nm2phu35mx] { max-width: 90px; }

.ladm__field-or[b-nm2phu35mx] {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .75rem;
    color: var(--pe-color-text-soft);
    margin: .15rem 0;
}
.ladm__field-or[b-nm2phu35mx]::before,
.ladm__field-or[b-nm2phu35mx]::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--pe-color-border);
}

/* ── Drop zone upload ─────────────────────────────────────────────────── */
.ladm__drop[b-nm2phu35mx] {
    position: relative;
    min-height: 140px;
    border: 2px dashed var(--pe-color-border, #e5e7eb);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    transition: border-color .2s, background .2s;
    background: var(--pe-color-surface-2, #f9fafb);
}
.ladm__drop--over[b-nm2phu35mx] {
    border-color: #10b981;
    background: color-mix(in srgb, #10b981 6%, transparent);
}
.ladm__drop-label[b-nm2phu35mx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    cursor: pointer;
    width: 100%;
    height: 100%;
    min-height: 140px;
    padding: 1.25rem;
    text-align: center;
}
.ladm__drop-input[b-nm2phu35mx] {
    position: absolute;
    inset: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
}
.ladm__drop-ico[b-nm2phu35mx] { font-size: 2rem; }
.ladm__drop-hint[b-nm2phu35mx] {
    font-size: .85rem;
    font-weight: 500;
    color: var(--pe-color-text-soft);
}
.ladm__drop-hint2[b-nm2phu35mx] {
    font-size: .72rem;
    color: var(--pe-color-text-soft);
    opacity: .7;
}
.ladm__drop-preview[b-nm2phu35mx] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
    border-radius: 10px;
}
.ladm__drop-clear[b-nm2phu35mx] {
    position: absolute;
    top: 8px;
    right: 8px;
    background: rgba(0,0,0,.55);
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 26px;
    height: 26px;
    font-size: .8rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: background .15s;
}
.ladm__drop-clear:hover[b-nm2phu35mx] { background: #ef4444; }
.ladm__drop-spinner[b-nm2phu35mx] {
    width: 28px;
    height: 28px;
    border: 3px solid var(--pe-color-border);
    border-top-color: #10b981;
    border-radius: 50%;
    animation: ladm-spin-b-nm2phu35mx .7s linear infinite;
}
.ladm__drop-erro[b-nm2phu35mx] {
    font-size: .78rem;
    color: #ef4444;
    margin: 0;
    padding: .3rem .5rem;
    position: absolute;
    bottom: 6px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    background: rgba(255,255,255,.9);
    border-radius: 6px;
}

/* ── Grids ────────────────────────────────────────────────────────────── */
.ladm__grid2[b-nm2phu35mx] { display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: start; }
.ladm__grid[b-nm2phu35mx]  { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1rem; }

/* ── Toggle switch ────────────────────────────────────────────────────── */
.ladm__toggle[b-nm2phu35mx] { display: flex; align-items: center; gap: .6rem; cursor: pointer; font-size: .9rem; user-select: none; }
.ladm__toggle input[b-nm2phu35mx] { position: absolute; opacity: 0; width: 0; height: 0; }
.ladm__toggle-track[b-nm2phu35mx] {
    position: relative;
    width: 40px;
    height: 22px;
    background: var(--pe-color-border, #d1d5db);
    border-radius: 999px;
    transition: background .2s;
    flex-shrink: 0;
}
.ladm__toggle input:checked + .ladm__toggle-track[b-nm2phu35mx] { background: #10b981; }
.ladm__toggle-thumb[b-nm2phu35mx] {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    background: #fff;
    border-radius: 50%;
    transition: transform .2s;
    box-shadow: 0 1px 3px rgba(0,0,0,.2);
}
.ladm__toggle input:checked ~ .ladm__toggle-track .ladm__toggle-thumb[b-nm2phu35mx] { transform: translateX(18px); }

/* ── Tooltip helper ───────────────────────────────────────────────────── */
.ladm__tooltip[b-nm2phu35mx] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--pe-color-border);
    color: var(--pe-color-text-soft);
    font-size: .65rem;
    font-weight: 700;
    cursor: help;
}

/* ── Botões ───────────────────────────────────────────────────────────── */
.ladm__btn[b-nm2phu35mx] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .55rem 1.1rem;
    border-radius: 10px;
    font-size: .9rem;
    font-weight: 600;
    border: 1.5px solid transparent;
    cursor: pointer;
    transition: background .15s, box-shadow .15s, opacity .15s;
    white-space: nowrap;
}
.ladm__btn:disabled[b-nm2phu35mx] { opacity: .55; cursor: not-allowed; }
.ladm__btn--primary[b-nm2phu35mx] {
    background: #10b981;
    color: #fff;
    border-color: #10b981;
    box-shadow: 0 4px 12px -4px rgba(16,185,129,.45);
}
.ladm__btn--primary:hover:not(:disabled)[b-nm2phu35mx] { background: #059669; border-color: #059669; }
.ladm__btn--ghost[b-nm2phu35mx] {
    background: transparent;
    color: var(--pe-color-text-soft);
    border-color: var(--pe-color-border);
}
.ladm__btn--ghost:hover[b-nm2phu35mx] { background: var(--pe-color-surface-2); }
.ladm__btn--danger[b-nm2phu35mx] {
    background: #ef4444;
    color: #fff;
    border-color: #ef4444;
}
.ladm__btn--danger:hover[b-nm2phu35mx] { background: #dc2626; }

.ladm__form-actions[b-nm2phu35mx] {
    display: flex;
    justify-content: flex-end;
    gap: .75rem;
    padding-top: .5rem;
    border-top: 1px solid var(--pe-color-border);
}

/* ── Spinner ──────────────────────────────────────────────────────────── */
.ladm__spin[b-nm2phu35mx] {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255,255,255,.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: ladm-spin-b-nm2phu35mx .65s linear infinite;
}
.ladm__spin--lg[b-nm2phu35mx] {
    width: 28px;
    height: 28px;
    border-width: 3px;
    border-color: var(--pe-color-border);
    border-top-color: #10b981;
}
@keyframes ladm-spin-b-nm2phu35mx { to { transform: rotate(360deg); } }

/* ── Loading / Empty ──────────────────────────────────────────────────── */
.ladm__loading[b-nm2phu35mx] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    padding: 3rem;
    color: var(--pe-color-text-soft);
}
.ladm__empty[b-nm2phu35mx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 3.5rem 1rem;
    color: var(--pe-color-text-soft);
    text-align: center;
}
.ladm__empty-ico[b-nm2phu35mx] { font-size: 2.5rem; }
.ladm__empty p[b-nm2phu35mx] { margin: 0; font-size: .95rem; }

/* ── Cards da lista ───────────────────────────────────────────────────── */
.ladm__item[b-nm2phu35mx] {
    background: var(--pe-color-surface);
    border: 1px solid var(--pe-color-border);
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow .15s;
}
.ladm__item:hover[b-nm2phu35mx] { box-shadow: 0 4px 16px -4px rgba(0,0,0,.12); }
.ladm__item--inativo[b-nm2phu35mx] { opacity: .55; }

.ladm__item-img-wrap[b-nm2phu35mx] { position: relative; aspect-ratio: 4/3; overflow: hidden; }
.ladm__item-img[b-nm2phu35mx] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .25s;
}
.ladm__item:hover .ladm__item-img[b-nm2phu35mx] { transform: scale(1.04); }
.ladm__item-img--placeholder[b-nm2phu35mx] {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    background: var(--pe-color-surface-2);
}

.ladm__item-badge[b-nm2phu35mx] {
    position: absolute;
    top: 8px;
    left: 8px;
    font-size: .65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    padding: 2px 8px;
    border-radius: 999px;
}
.ladm__item-badge--on[b-nm2phu35mx]  { background: #10b981; color: #fff; }
.ladm__item-badge--off[b-nm2phu35mx] { background: #6b7280; color: #fff; }

.ladm__item-body[b-nm2phu35mx] {
    padding: .75rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: .2rem;
}
.ladm__item-nome[b-nm2phu35mx] {
    font-size: .95rem;
    font-weight: 700;
    margin: 0;
    color: var(--pe-color-text);
}
.ladm__item-href[b-nm2phu35mx] {
    font-size: .72rem;
    color: var(--pe-color-text-soft);
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ladm__item-desc[b-nm2phu35mx] {
    font-size: .78rem;
    color: var(--pe-color-text-soft);
    margin: .1rem 0 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ladm__item-ordem[b-nm2phu35mx] {
    font-size: .7rem;
    color: var(--pe-color-text-soft);
    opacity: .7;
    margin-top: auto;
    padding-top: .3rem;
}

.ladm__item-actions[b-nm2phu35mx] {
    display: flex;
    border-top: 1px solid var(--pe-color-border);
}
.ladm__item-btn[b-nm2phu35mx] {
    flex: 1;
    padding: .5rem;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1rem;
    transition: background .15s;
    border-right: 1px solid var(--pe-color-border);
}
.ladm__item-btn:last-child[b-nm2phu35mx] { border-right: none; }
.ladm__item-btn:hover[b-nm2phu35mx] { background: var(--pe-color-surface-2); }
.ladm__item-btn--ok:hover[b-nm2phu35mx]  { background: color-mix(in srgb, #10b981 12%, transparent); }
.ladm__item-btn--warn:hover[b-nm2phu35mx] { background: color-mix(in srgb, #f59e0b 12%, transparent); }
.ladm__item-btn--danger:hover[b-nm2phu35mx] { background: color-mix(in srgb, #ef4444 12%, transparent); }

/* ── Dialog confirmação ───────────────────────────────────────────────── */
.ladm__overlay[b-nm2phu35mx] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 200;
    backdrop-filter: blur(2px);
}
.ladm__dialog[b-nm2phu35mx] {
    background: var(--pe-color-surface);
    border-radius: 16px;
    padding: 1.75rem;
    max-width: 380px;
    width: 90%;
    box-shadow: 0 20px 60px rgba(0,0,0,.2);
    display: grid;
    gap: 1.25rem;
}
.ladm__dialog-msg[b-nm2phu35mx] { margin: 0; font-size: .95rem; line-height: 1.5; }
.ladm__dialog-actions[b-nm2phu35mx] { display: flex; justify-content: flex-end; gap: .75rem; }

/* ── Responsivo ───────────────────────────────────────────────────────── */
@media (max-width: 600px) {
    .ladm__grid2[b-nm2phu35mx] { grid-template-columns: 1fr; }
    .ladm__grid[b-nm2phu35mx]  { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
    .ladm__form-actions[b-nm2phu35mx] { flex-direction: column-reverse; }
    .ladm__btn[b-nm2phu35mx] { width: 100%; justify-content: center; }
}
/* /Components/Pages/Admin/ModeracaoEventos.razor.rz.scp.css */
/* FILE: ModeracaoEventos.razor.css
   PURPOSE: Painel de moderação de eventos pendentes — premium, espaçoso, claro.
   TOKENS:  tokens.css */

.mod[b-kusmzhzq3k] {
    max-width: 780px;
    margin: 0 auto;
    padding: 2rem 1rem 4rem;
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-6, 1.5rem);
}

/* Header */
.mod__header[b-kusmzhzq3k] { display: flex; flex-direction: column; gap: 4px; }
.mod__back[b-kusmzhzq3k] {
    font-size: 0.875rem; color: var(--pe-color-text-muted, #6b7280);
    text-decoration: none; margin-bottom: 4px;
}
.mod__back:hover[b-kusmzhzq3k] { color: var(--pe-color-text, #111); }
.mod__title[b-kusmzhzq3k]  { font-size: 1.75rem; font-weight: 800; margin: 0; letter-spacing: -.02em; }
.mod__subtitle[b-kusmzhzq3k] { color: var(--pe-color-text-muted, #6b7280); margin: 0; font-size: .9375rem; }

/* Loading / vazio */
.mod__loading[b-kusmzhzq3k] { color: var(--pe-color-text-muted); padding: 2rem 0; text-align: center; }
.mod__vazio[b-kusmzhzq3k] {
    display: flex; flex-direction: column; align-items: center;
    gap: var(--pe-space-3); padding: 4rem 0; text-align: center;
    color: var(--pe-color-text-muted);
}
.mod__vazio-icon[b-kusmzhzq3k] { font-size: 2.5rem; }

/* Lista */
.mod__lista[b-kusmzhzq3k] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }

/* Card */
.mod__card[b-kusmzhzq3k] {
    border: 1.5px solid var(--pe-color-border, #e5e7eb);
    border-radius: var(--pe-radius-lg, 12px);
    background: var(--pe-color-surface, #fff);
    overflow: hidden;
    transition: box-shadow .2s;
}
.mod__card:hover[b-kusmzhzq3k] { box-shadow: 0 2px 12px rgba(0,0,0,.07); }
.mod__card--open[b-kusmzhzq3k] { border-color: var(--pe-color-accent, #2563eb); }

/* Card header (clicável para expandir) */
.mod__card-header[b-kusmzhzq3k] {
    display: grid;
    grid-template-columns: 64px 1fr auto auto;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    cursor: pointer;
    user-select: none;
}
.mod__card-img[b-kusmzhzq3k] {
    width: 64px; height: 48px;
    border-radius: 8px; object-fit: cover;
    background: var(--pe-color-surface-alt, #f3f4f6);
    flex-shrink: 0;
}
.mod__card-img--placeholder[b-kusmzhzq3k] {
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem;
}
.mod__card-meta[b-kusmzhzq3k] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mod__card-titulo[b-kusmzhzq3k] {
    font-weight: 700; font-size: 1rem;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.mod__card-data[b-kusmzhzq3k] { font-size: .8125rem; color: var(--pe-color-text-muted); }
.mod__card-sub[b-kusmzhzq3k]  { font-size: .75rem;   color: var(--pe-color-text-muted); }
.mod__card-score[b-kusmzhzq3k] { flex-shrink: 0; }
.mod__card-toggle[b-kusmzhzq3k] { color: var(--pe-color-text-muted); font-size: .75rem; }

/* Score IA */
.mod__score[b-kusmzhzq3k] {
    font-size: .75rem; font-weight: 700; padding: 3px 10px;
    border-radius: 999px; white-space: nowrap;
}
.mod__score--hi[b-kusmzhzq3k]  { background: #dcfce7; color: #166534; }
.mod__score--mid[b-kusmzhzq3k] { background: #fef9c3; color: #854d0e; }
.mod__score--lo[b-kusmzhzq3k]  { background: #fee2e2; color: #991b1b; }

/* Card body (expandido) */
.mod__card-body[b-kusmzhzq3k] {
    padding: 0 18px 18px;
    display: flex; flex-direction: column; gap: var(--pe-space-3);
    border-top: 1px solid var(--pe-color-border, #f0f0f0);
}
.mod__resumo[b-kusmzhzq3k] { font-size: .9375rem; color: var(--pe-color-text-muted); margin: 0; line-height: 1.5; }
.mod__feedback[b-kusmzhzq3k] {
    background: #fefce8; border: 1px solid #fde047; border-radius: 8px;
    padding: 10px 14px; font-size: .8125rem; color: #713f12;
}
.mod__feedback-label[b-kusmzhzq3k] { font-weight: 700; display: block; margin-bottom: 4px; }
.mod__card-links a[b-kusmzhzq3k] { font-size: .875rem; color: var(--pe-color-accent, #2563eb); text-decoration: none; }
.mod__card-links a:hover[b-kusmzhzq3k] { text-decoration: underline; }

/* Acções */
.mod__acoes[b-kusmzhzq3k] {
    display: flex; gap: var(--pe-space-3); flex-wrap: wrap;
    justify-content: flex-end;
}

/* Formulário de rejeição */
.mod__rejeitar-form[b-kusmzhzq3k] {
    display: flex; flex-direction: column; gap: var(--pe-space-2);
    background: #fff5f5; border: 1.5px solid #fca5a5;
    border-radius: 10px; padding: 14px;
}
.mod__rejeitar-form label[b-kusmzhzq3k] { font-size: .875rem; font-weight: 600; }
.mod__rejeitar-form textarea[b-kusmzhzq3k] {
    padding: 8px 12px; border: 1.5px solid var(--pe-color-border, #d1d5db);
    border-radius: 8px; font-size: .875rem; resize: vertical;
    background: #fff; color: var(--pe-color-text);
}
.mod__rejeitar-acoes[b-kusmzhzq3k] { display: flex; gap: var(--pe-space-2); justify-content: flex-end; }

/* Erro */
.mod__erro[b-kusmzhzq3k] { font-size: .8125rem; color: var(--pe-color-error, #dc2626); margin: 0; }

/* Botões */
.mod__btn[b-kusmzhzq3k] {
    padding: 8px 20px; border-radius: 999px;
    font-size: .875rem; font-weight: 600; cursor: pointer;
    border: 1.5px solid transparent; transition: box-shadow .15s, background .15s;
    text-decoration: none; display: inline-flex; align-items: center; gap: 6px;
}
.mod__btn--primary[b-kusmzhzq3k] {
    background: #16a34a; color: #fff; border-color: transparent;
}
.mod__btn--primary:hover[b-kusmzhzq3k] { background: #15803d; }
.mod__btn--primary:disabled[b-kusmzhzq3k] { opacity: .55; cursor: not-allowed; }
.mod__btn--danger[b-kusmzhzq3k] {
    background: #fff; color: #dc2626; border-color: #fca5a5;
}
.mod__btn--danger:hover[b-kusmzhzq3k] { background: #fee2e2; }
.mod__btn--ghost[b-kusmzhzq3k] {
    background: transparent; color: var(--pe-color-text-muted);
    border-color: var(--pe-color-border, #d1d5db);
}
.mod__btn--ghost:hover[b-kusmzhzq3k] { background: var(--pe-color-surface-alt, #f3f4f6); }

@media (max-width: 480px) {
    .mod__card-header[b-kusmzhzq3k] { grid-template-columns: 48px 1fr auto; }
    .mod__card-score[b-kusmzhzq3k]  { display: none; }
    .mod__acoes[b-kusmzhzq3k]       { justify-content: stretch; }
    .mod__btn[b-kusmzhzq3k]         { flex: 1; justify-content: center; }
}
/* /Components/Pages/Admin/TickerAdmin.razor.rz.scp.css */
/* FILE: peniche/Components/Pages/Admin/TickerAdmin.razor.css
   PURPOSE: Estilo premium do painel admin da tira "Ao Vivo".
   TOKENS: tokens.css */

/* ── Layout base ─────────────────────────────────────────────────────────── */
.tadm[b-firzytz6up] {
    max-width: 860px;
    margin: 0 auto;
    padding: var(--pe-space-8, 2rem) var(--pe-space-5, 1.25rem);
    display: grid;
    gap: var(--pe-space-5, 1.25rem);
}

/* ── Header ──────────────────────────────────────────────────────────────── */
.tadm__hdr[b-firzytz6up] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
}
.tadm__hdr-left[b-firzytz6up] {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.tadm__hdr-icon[b-firzytz6up] {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, #0ea5e9, #0369a1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    flex-shrink: 0;
    box-shadow: 0 8px 20px -6px rgba(3,105,161,.40);
}
.tadm__titulo[b-firzytz6up] {
    font-size: 1.5rem;
    font-weight: 800;
    margin: 0 0 0.2rem;
    color: var(--pe-color-text, #111827);
    letter-spacing: -0.02em;
}
.tadm__sub[b-firzytz6up] {
    font-size: 0.85rem;
    color: var(--pe-color-text-soft, #6b7280);
    margin: 0;
    max-width: 480px;
}

/* ── Alertas ─────────────────────────────────────────────────────────────── */
.tadm__alert[b-firzytz6up] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    border-radius: 10px;
    font-size: 0.9rem;
    font-weight: 500;
}
.tadm__alert--erro[b-firzytz6up] { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.tadm__alert--ok[b-firzytz6up]   { background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0; }
.tadm__alert__fechar[b-firzytz6up] {
    background: none; border: none; cursor: pointer;
    font-size: 1rem; line-height: 1; color: inherit; opacity: 0.6;
}
.tadm__alert__fechar:hover[b-firzytz6up] { opacity: 1; }

/* ── Botões ──────────────────────────────────────────────────────────────── */
.tadm__btn[b-firzytz6up] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 40px;
    padding: 0 1.1rem;
    border: none;
    border-radius: 999px;
    font: 600 0.875rem/1 inherit;
    cursor: pointer;
    transition: background 160ms, transform 120ms, box-shadow 160ms;
    white-space: nowrap;
}
.tadm__btn:disabled[b-firzytz6up] { opacity: 0.55; cursor: not-allowed; }
.tadm__btn--primary[b-firzytz6up] {
    background: linear-gradient(135deg, #0ea5e9, #0369a1);
    color: #fff;
    box-shadow: 0 4px 12px -4px rgba(3,105,161,.45);
}
.tadm__btn--primary:hover:not(:disabled)[b-firzytz6up] {
    background: linear-gradient(135deg, #0284c7, #075985);
    transform: translateY(-1px);
    box-shadow: 0 6px 16px -4px rgba(3,105,161,.50);
}
.tadm__btn--ghost[b-firzytz6up] {
    background: var(--pe-color-surface-2, #f3f4f6);
    color: var(--pe-color-text, #111827);
    border: 1.5px solid var(--pe-color-border, #e5e7eb);
}
.tadm__btn--ghost:hover:not(:disabled)[b-firzytz6up] { background: #e5e7eb; }
.tadm__btn--warn[b-firzytz6up]  { background: #fef3c7; color: #92400e; }
.tadm__btn--warn:hover:not(:disabled)[b-firzytz6up] { background: #fde68a; }
.tadm__btn--danger[b-firzytz6up] { background: #fee2e2; color: #991b1b; }
.tadm__btn--danger:hover:not(:disabled)[b-firzytz6up] { background: #fecaca; }
.tadm__btn--sm[b-firzytz6up] { min-height: 34px; padding: 0 0.85rem; font-size: 0.8rem; }

/* ── Card do formulário ─────────────────────────────────────────────────── */
.tadm__card--form[b-firzytz6up] {
    background: var(--pe-color-surface, #fff);
    border: 1.5px solid var(--pe-color-border, #e5e7eb);
    border-radius: 16px;
    padding: 1.75rem;
    display: grid;
    gap: 1.1rem;
    box-shadow: 0 4px 20px -8px rgba(0,0,0,.10);
}
.tadm__form-titulo[b-firzytz6up] {
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0;
    color: var(--pe-color-text, #111827);
}

/* ── Campos ──────────────────────────────────────────────────────────────── */
.tadm__field[b-firzytz6up] { display: grid; gap: 0.3rem; }
.tadm__field--center[b-firzytz6up] { justify-content: center; gap: 0.75rem; padding-top: 0.2rem; }
.tadm__label[b-firzytz6up] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--pe-color-text-soft, #6b7280);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    display: flex;
    align-items: center;
    gap: 0.3rem;
}
.tadm__input[b-firzytz6up] {
    min-height: 42px;
    padding: 0.55rem 0.85rem;
    border: 1.5px solid var(--pe-color-border, #e5e7eb);
    border-radius: 10px;
    font: inherit;
    font-size: 0.9rem;
    background: var(--pe-color-surface, #fff);
    color: var(--pe-color-text, #111827);
    transition: border-color 160ms, box-shadow 160ms;
    width: 100%;
    box-sizing: border-box;
}
.tadm__input:focus[b-firzytz6up] {
    outline: none;
    border-color: #0ea5e9;
    box-shadow: 0 0 0 3px rgba(14,165,233,.15);
}
.tadm__hint[b-firzytz6up] {
    font-size: 0.75rem;
    color: var(--pe-color-text-soft, #9ca3af);
    text-align: right;
}
.tadm__check-row[b-firzytz6up] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: var(--pe-color-text, #111827);
    cursor: pointer;
    user-select: none;
}
.tadm__check-row input[type=checkbox][b-firzytz6up] { width: 16px; height: 16px; cursor: pointer; }
.tadm__form-erro[b-firzytz6up] {
    color: #991b1b;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    padding: 0.6rem 0.9rem;
    font-size: 0.875rem;
    margin: 0;
}
.tadm__form-actions[b-firzytz6up] {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    justify-content: flex-end;
    padding-top: 0.5rem;
    border-top: 1px solid var(--pe-color-border, #f3f4f6);
    margin-top: 0.25rem;
}

/* ── Grids ───────────────────────────────────────────────────────────────── */
.tadm__grid3[b-firzytz6up] { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 600px) { .tadm__grid3[b-firzytz6up] { grid-template-columns: 1fr 1fr 1fr; } }

/* ── Tooltip (?) ─────────────────────────────────────────────────────────── */
.tadm__tooltip[b-firzytz6up] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--pe-color-surface-2, #e5e7eb);
    color: var(--pe-color-text-soft, #6b7280);
    font-size: 0.65rem;
    font-weight: 700;
    cursor: help;
    position: relative;
    flex-shrink: 0;
}
.tadm__tooltip:hover[b-firzytz6up]::after {
    content: attr(title);
    position: absolute;
    left: 50%;
    bottom: calc(100% + 6px);
    transform: translateX(-50%);
    background: #1f2937;
    color: #f9fafb;
    font-size: 0.73rem;
    font-weight: 400;
    padding: 0.5rem 0.75rem;
    border-radius: 8px;
    white-space: normal;
    width: 240px;
    text-transform: none;
    letter-spacing: 0;
    z-index: 100;
    line-height: 1.4;
    pointer-events: none;
    box-shadow: 0 4px 16px rgba(0,0,0,.2);
}

/* ── Preview ticker ──────────────────────────────────────────────────────── */
.tadm__preview-label[b-firzytz6up] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--pe-color-text-soft, #6b7280);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.tadm__preview-ticker[b-firzytz6up] {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background: #0f172a;
    color: #f8fafc;
    padding: 0.55rem 1rem;
    border-radius: 999px;
    font-size: 0.85rem;
    max-width: 100%;
    overflow: hidden;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}
.tadm__preview-texto[b-firzytz6up] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 0.9;
}
.tadm__preview-badge[b-firzytz6up] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    flex-shrink: 0;
    position: relative;
}
/* Cores dos badges — espelham o ticker de produção */
.tadm__badge--default[b-firzytz6up]   { background: #374151; color: #d1d5db; }
.tadm__badge--editorial[b-firzytz6up] { background: #7f1d1d; color: #fca5a5; }
.tadm__badge--surf[b-firzytz6up]      { background: #1e3a5f; color: #93c5fd; }
.tadm__badge--musica[b-firzytz6up]    { background: #4c1d95; color: #c4b5fd; }
.tadm__badge--gastro[b-firzytz6up]    { background: #7c2d12; color: #fdba74; }
.tadm__badge--cultura[b-firzytz6up]   { background: #14532d; color: #86efac; }
.tadm__badge--festival[b-firzytz6up]  { background: #713f12; color: #fde68a; }
.tadm__badge--urgente[b-firzytz6up]   { background: #7f1d1d; color: #fca5a5; }
.tadm__badge--urgente[b-firzytz6up]   { animation: none; }
.tadm__pulse[b-firzytz6up] {
    position: absolute;
    top: 3px; right: 3px;
    width: 6px; height: 6px;
    border-radius: 50%;
    background: #ef4444;
    animation: tadm-pulse-b-firzytz6up 1.6s ease-in-out infinite;
}
@keyframes tadm-pulse-b-firzytz6up {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.8); opacity: 0.4; }
}

/* ── Skeleton ────────────────────────────────────────────────────────────── */
.tadm__skel-lista[b-firzytz6up] { display: grid; gap: 0.75rem; }
.tadm__skel-card[b-firzytz6up] {
    height: 80px;
    border-radius: 14px;
    background: #f3f4f6;
}
.skel[b-firzytz6up] {
    animation: skel-shine-b-firzytz6up 1.4s linear infinite;
    background: linear-gradient(90deg, #f3f4f6 25%, #e5e7eb 50%, #f3f4f6 75%);
    background-size: 200% 100%;
}
@keyframes skel-shine-b-firzytz6up { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

/* ── Vazio ───────────────────────────────────────────────────────────────── */
.tadm__vazio[b-firzytz6up] {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--pe-color-text-soft, #9ca3af);
}
.tadm__vazio-ico[b-firzytz6up] { font-size: 2.5rem; display: block; margin-bottom: 0.75rem; }

/* ── Lista de itens ─────────────────────────────────────────────────────── */
.tadm__lista[b-firzytz6up] { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.75rem; }
.tadm__item[b-firzytz6up] {
    background: var(--pe-color-surface, #fff);
    border: 1.5px solid var(--pe-color-border, #e5e7eb);
    border-radius: 14px;
    padding: 1rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    transition: box-shadow 180ms, border-color 180ms;
}
.tadm__item:hover[b-firzytz6up] { box-shadow: 0 4px 20px -8px rgba(0,0,0,.12); }
.tadm__item--inativo[b-firzytz6up] { opacity: 0.55; }
.tadm__item--urgente[b-firzytz6up] { border-left: 4px solid #ef4444; }

.tadm__item-preview[b-firzytz6up] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    background: #0f172a;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    font-size: 0.82rem;
    color: #f8fafc;
    overflow: hidden;
}
.tadm__item-texto[b-firzytz6up] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 0.9;
}
.tadm__item-meta[b-firzytz6up] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 0.78rem;
    color: var(--pe-color-text-soft, #6b7280);
    align-items: center;
}
.tadm__item-url[b-firzytz6up] {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #0369a1;
}
.tadm__item-actions[b-firzytz6up] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* ── Status ──────────────────────────────────────────────────────────────── */
.tadm__status[b-firzytz6up] { font-size: 0.75rem; font-weight: 600; padding: 0.15rem 0.55rem; border-radius: 999px; }
.tadm__status--ativo[b-firzytz6up]   { background: #dcfce7; color: #166534; }
.tadm__status--inativo[b-firzytz6up] { background: #f3f4f6; color: #6b7280; }

/* ── Modal ───────────────────────────────────────────────────────────────── */
.tadm__overlay[b-firzytz6up] {
    position: fixed; inset: 0;
    background: rgba(0,0,0,.45);
    backdrop-filter: blur(3px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 1rem;
}
.tadm__modal[b-firzytz6up] {
    background: var(--pe-color-surface, #fff);
    border-radius: 18px;
    padding: 2rem 1.75rem;
    max-width: 420px;
    width: 100%;
    box-shadow: 0 20px 60px -12px rgba(0,0,0,.35);
}
.tadm__modal h3[b-firzytz6up] { margin: 0 0 0.5rem; font-size: 1.15rem; }
.tadm__modal p[b-firzytz6up]  { margin: 0 0 1.5rem; color: var(--pe-color-text-soft, #6b7280); font-size: 0.9rem; line-height: 1.5; }
.tadm__modal-actions[b-firzytz6up] { display: flex; gap: 0.75rem; justify-content: flex-end; }

/* ── Secções ──────────────────────────────────────────────────────────────── */
.tadm__section-header[b-firzytz6up] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding: 0.5rem 0 0.25rem;
    border-bottom: 2px solid var(--pe-color-border, #e5e7eb);
    margin-top: 0.5rem;
}
.tadm__section-header--auto[b-firzytz6up] {
    margin-top: 1.5rem;
    border-color: #c7d2fe;
}
.tadm__section-title[b-firzytz6up] {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--pe-color-text, #111827);
    margin: 0;
    letter-spacing: .01em;
}
.tadm__auto-badge[b-firzytz6up] {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    background: #e0e7ff;
    color: #3730a3;
}

/* ── Lista automáticos ────────────────────────────────────────────────────── */
.tadm__lista--auto[b-firzytz6up] { opacity: 0.92; }
.tadm__item--auto[b-firzytz6up] {
    background: #f8f9ff;
    border-left: 3px solid #818cf8;
    cursor: default;
}
.tadm__item--auto .tadm__item-actions[b-firzytz6up] { display: none; }
.tadm__item-sub[b-firzytz6up] {
    font-size: 0.78rem;
    color: var(--pe-color-text-soft, #6b7280);
    margin-left: 0.25rem;
}
.tadm__auto-tipo[b-firzytz6up] {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    background: #f3f4f6;
    color: #374151;
}
.tadm__auto-tipo--evento[b-firzytz6up]  { background: #fef3c7; color: #92400e; }
.tadm__auto-tipo--surf[b-firzytz6up]    { background: #dbeafe; color: #1e40af; }
.tadm__auto-tipo--editorial[b-firzytz6up] { background: #fce7f3; color: #9d174d; }
.tadm__auto-tipo--noticia[b-firzytz6up] { background: #d1fae5; color: #065f46; }
.tadm__auto-vazio[b-firzytz6up] {
    font-size: 0.88rem;
    color: var(--pe-color-text-soft, #6b7280);
    padding: 0.75rem 0;
}
/* /Components/Pages/ARevolucao.razor.rz.scp.css */
/* FILE: ARevolucao.razor.css
   PURPOSE: CSS isolado do manifesto premium "Quem é Peniche.life?".
            Hero cinematográfico, secções editoriais alternadas, cards de tecnologia,
            faixas dark/accent, CTA final com imagem viva. Mobile-first.
   TOKENS:  var(--pe-*) de tokens.css.
   AI-NOTE: Imagens externas (Unsplash). Não duplicar tokens — usar os existentes. */

.rev[b-4o6fkb20ep] {
    width: 100%;
    overflow-x: hidden;
    --rev-ink: var(--pe-pe-noite);
}

/* ───────────────────────  HERO  ─────────────────────── */
.rev__hero[b-4o6fkb20ep] {
    position: relative;
    min-height: 92dvh;
    display: flex;
    align-items: flex-end;
    color: #fff;
    isolation: isolate;
}

.rev__hero-media[b-4o6fkb20ep],
.rev__hero-media .rev__hero-img[b-4o6fkb20ep] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.rev__hero-img[b-4o6fkb20ep] {
    object-fit: cover;
    object-position: center;
    z-index: -2;
    transform: scale(1.05);
    animation: rev-kenburns-b-4o6fkb20ep 22s ease-in-out infinite alternate;
}

.rev__hero-scrim[b-4o6fkb20ep] {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(180deg, rgba(14,17,22,.35) 0%, rgba(14,17,22,.15) 30%, rgba(14,17,22,.85) 100%),
        radial-gradient(ellipse 70% 50% at 20% 100%, rgba(11,79,108,.55) 0%, transparent 70%);
}

.rev__hero-content[b-4o6fkb20ep] {
    position: relative;
    max-width: var(--pe-container-max);
    width: 100%;
    margin: 0 auto;
    padding: var(--pe-space-16) var(--pe-space-5) calc(var(--pe-space-20) + var(--pe-safe-bottom));
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-5);
}

.rev__eyebrow[b-4o6fkb20ep] {
    display: inline-flex;
    align-items: center;
    gap: var(--pe-space-2);
    align-self: flex-start;
    background: rgba(255,255,255,.12);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.22);
    padding: 6px 16px;
    border-radius: var(--pe-radius-pill);
    font-size: var(--pe-text-sm);
    font-weight: 600;
    letter-spacing: .02em;
    color: #fff;
}

.rev__h1[b-4o6fkb20ep] {
    font-size: clamp(2.4rem, 8vw, 5rem);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: var(--pe-tracking-tight);
    margin: 0;
    text-shadow: 0 2px 30px rgba(0,0,0,.35);
}
.rev__h1 em[b-4o6fkb20ep] {
    font-style: normal;
    color: var(--pe-pe-farol);
}

.rev__hero-lead[b-4o6fkb20ep] {
    font-size: clamp(1.05rem, 2.4vw, 1.4rem);
    line-height: 1.55;
    color: rgba(255,255,255,.9);
    max-width: 56ch;
    margin: 0;
    font-weight: 400;
}

.rev__hero-cta[b-4o6fkb20ep] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--pe-space-3);
    margin-top: var(--pe-space-2);
}

.rev__hero-scroll[b-4o6fkb20ep] {
    position: absolute;
    left: 50%;
    bottom: calc(var(--pe-space-5) + var(--pe-safe-bottom));
    transform: translateX(-50%);
    width: 26px;
    height: 42px;
    border: 2px solid rgba(255,255,255,.5);
    border-radius: var(--pe-radius-pill);
    display: none;
}
.rev__hero-scroll span[b-4o6fkb20ep] {
    position: absolute;
    top: 8px;
    left: 50%;
    width: 4px;
    height: 8px;
    margin-left: -2px;
    background: #fff;
    border-radius: 2px;
    animation: rev-scroll-b-4o6fkb20ep 1.6s ease-in-out infinite;
}
@media (min-width: 768px) {
    .rev__hero-scroll[b-4o6fkb20ep] { display: block; }
}

/* ───────────────────────  BOTÕES  ─────────────────────── */
.rev__btn[b-4o6fkb20ep] {
    display: inline-flex;
    align-items: center;
    gap: var(--pe-space-2);
    padding: 13px 24px;
    border-radius: var(--pe-radius-pill);
    font-size: var(--pe-text-base);
    font-weight: 700;
    text-decoration: none;
    transition: transform var(--pe-motion-fast) var(--pe-easing-standard),
                box-shadow var(--pe-motion-base),
                background var(--pe-motion-base);
    white-space: nowrap;
}
.rev__btn:active[b-4o6fkb20ep] { transform: scale(.97); }

.rev__btn--primary[b-4o6fkb20ep] {
    background: var(--pe-pe-coral);
    color: #fff;
    box-shadow: 0 8px 24px rgba(255,90,78,.4);
}
.rev__btn--primary:hover[b-4o6fkb20ep] {
    background: var(--pe-pe-coral-2);
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(255,90,78,.5);
}
.rev__btn--ghost[b-4o6fkb20ep] {
    background: rgba(255,255,255,.1);
    color: #fff;
    border: 1.5px solid rgba(255,255,255,.35);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.rev__btn--ghost:hover[b-4o6fkb20ep] { background: rgba(255,255,255,.2); }
.rev__btn--lg[b-4o6fkb20ep] { padding: 16px 30px; font-size: var(--pe-text-lg); }

.rev__icon-down[b-4o6fkb20ep] { transform: rotate(90deg); }

/* ───────────────────────  SECÇÕES BASE  ─────────────────────── */
.rev__section[b-4o6fkb20ep] {
    padding: clamp(3.5rem, 9vw, 7rem) 0;
    background: var(--pe-color-bg);
}
.rev__wrap[b-4o6fkb20ep] {
    max-width: var(--pe-container-max);
    margin: 0 auto;
    padding: 0 var(--pe-space-5);
}
.rev__wrap--narrow[b-4o6fkb20ep] { max-width: var(--pe-container-narrow); }
.rev__wrap--center[b-4o6fkb20ep] { text-align: center; }

.rev__kicker[b-4o6fkb20ep] {
    display: inline-block;
    font-size: var(--pe-text-sm);
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--pe-pe-coral);
    margin-bottom: var(--pe-space-3);
}
.rev__kicker--light[b-4o6fkb20ep] { color: var(--pe-pe-farol); }

.rev__h2[b-4o6fkb20ep] {
    font-size: clamp(1.7rem, 4.5vw, 3rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: var(--pe-tracking-tight);
    color: var(--pe-color-text);
    margin: 0 0 var(--pe-space-5);
}
.rev__h2--light[b-4o6fkb20ep] { color: #fff; }

.rev__p[b-4o6fkb20ep] {
    font-size: clamp(1rem, 2vw, 1.18rem);
    line-height: 1.75;
    color: var(--pe-color-text-soft);
    margin: 0 0 var(--pe-space-4);
}
.rev__p strong[b-4o6fkb20ep] { color: var(--pe-color-text); font-weight: 700; }
.rev__p--lead[b-4o6fkb20ep] {
    font-size: clamp(1.15rem, 2.6vw, 1.5rem);
    color: var(--pe-color-text);
    font-weight: 500;
}
.rev__p--light[b-4o6fkb20ep] { color: rgba(255,255,255,.85); }
.rev__p--light strong[b-4o6fkb20ep] { color: #fff; }
.rev__p--centered[b-4o6fkb20ep] { max-width: 60ch; margin-left: auto; margin-right: auto; }
.rev__p--punch[b-4o6fkb20ep] {
    font-size: clamp(1.4rem, 4vw, 2.2rem);
    font-weight: 800;
    color: var(--pe-color-text);
    margin-top: var(--pe-space-6);
}
.rev__p--punch strong[b-4o6fkb20ep] { color: var(--pe-pe-coral); }

/* ───────────────────────  FEATURE (texto + imagem)  ─────────────────────── */
.rev__feature[b-4o6fkb20ep] {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--pe-space-8);
    max-width: var(--pe-container-max);
    margin: 0 auto;
    padding: clamp(3.5rem, 9vw, 6.5rem) var(--pe-space-5);
    align-items: center;
}
.rev__feature-media[b-4o6fkb20ep] {
    border-radius: var(--pe-radius-2xl);
    overflow: hidden;
    box-shadow: var(--pe-shadow-5);
    aspect-ratio: 4 / 3;
}
.rev__feature-media img[b-4o6fkb20ep] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform var(--pe-motion-slow) var(--pe-easing-standard);
}
.rev__feature-media:hover img[b-4o6fkb20ep] { transform: scale(1.04); }

@media (min-width: 900px) {
    .rev__feature[b-4o6fkb20ep] { grid-template-columns: 1fr 1fr; gap: var(--pe-space-16); }
    .rev__feature--reverse .rev__feature-media[b-4o6fkb20ep] { order: 2; }
}

/* ───────────────────────  SECÇÃO DARK  ─────────────────────── */
.rev__section--dark[b-4o6fkb20ep] {
    background:
        radial-gradient(ellipse 60% 50% at 80% 0%, rgba(11,79,108,.5) 0%, transparent 60%),
        radial-gradient(ellipse 50% 40% at 0% 100%, rgba(255,90,78,.18) 0%, transparent 60%),
        var(--pe-pe-noite);
    color: #fff;
}
.rev__section-head[b-4o6fkb20ep] {
    text-align: center;
    max-width: 760px;
    margin: 0 auto var(--pe-space-12);
}

.rev__cards[b-4o6fkb20ep] {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--pe-space-5);
}
@media (min-width: 768px) {
    .rev__cards[b-4o6fkb20ep] { grid-template-columns: repeat(3, 1fr); }
}
.rev__card[b-4o6fkb20ep] {
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: var(--pe-radius-xl);
    padding: var(--pe-space-8) var(--pe-space-6);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: transform var(--pe-motion-base) var(--pe-easing-standard),
                border-color var(--pe-motion-base),
                background var(--pe-motion-base);
}
.rev__card:hover[b-4o6fkb20ep] {
    transform: translateY(-6px);
    border-color: rgba(255,209,102,.4);
    background: rgba(255,255,255,.08);
}
.rev__card-icon[b-4o6fkb20ep] {
    font-size: 2.4rem;
    line-height: 1;
    display: block;
    margin-bottom: var(--pe-space-4);
}
.rev__card-title[b-4o6fkb20ep] {
    font-size: var(--pe-text-xl);
    font-weight: 700;
    color: #fff;
    margin: 0 0 var(--pe-space-3);
}
.rev__card-text[b-4o6fkb20ep] {
    font-size: var(--pe-text-base);
    line-height: 1.65;
    color: rgba(255,255,255,.72);
    margin: 0;
}
.rev__card-text em[b-4o6fkb20ep] { color: var(--pe-pe-farol); font-style: normal; font-weight: 600; }

/* ───────────────────────  SECÇÃO ACCENT (custos)  ─────────────────────── */
.rev__section--accent[b-4o6fkb20ep] {
    background: linear-gradient(135deg, var(--pe-pe-atlantico) 0%, var(--pe-pe-atlantico-2) 100%);
    color: #fff;
}
.rev__metrics[b-4o6fkb20ep] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--pe-space-4);
    margin-top: var(--pe-space-10);
}
.rev__metric[b-4o6fkb20ep] {
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-1);
}
.rev__metric-value[b-4o6fkb20ep] {
    font-size: clamp(1.8rem, 6vw, 3rem);
    font-weight: 800;
    color: var(--pe-pe-farol);
    line-height: 1;
}
.rev__metric-label[b-4o6fkb20ep] {
    font-size: var(--pe-text-sm);
    color: rgba(255,255,255,.78);
    line-height: 1.4;
}

/* ───────────────────────  CTA FINAL  ─────────────────────── */
.rev__cta[b-4o6fkb20ep] {
    position: relative;
    isolation: isolate;
    color: #fff;
    padding: clamp(4rem, 12vw, 9rem) var(--pe-space-5);
    overflow: hidden;
}
.rev__cta-media[b-4o6fkb20ep],
.rev__cta-media img[b-4o6fkb20ep] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.rev__cta-media img[b-4o6fkb20ep] {
    object-fit: cover;
    z-index: -2;
}
.rev__cta-scrim[b-4o6fkb20ep] {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(180deg, rgba(14,17,22,.78) 0%, rgba(11,79,108,.82) 100%);
}
.rev__cta-content[b-4o6fkb20ep] {
    max-width: var(--pe-container-narrow);
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--pe-space-4);
}
.rev__cta-title[b-4o6fkb20ep] {
    font-size: clamp(2rem, 6vw, 3.4rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: var(--pe-tracking-tight);
    margin: 0;
    text-shadow: 0 2px 24px rgba(0,0,0,.3);
}
.rev__cta-text[b-4o6fkb20ep] {
    font-size: clamp(1rem, 2.2vw, 1.25rem);
    line-height: 1.7;
    color: rgba(255,255,255,.88);
    max-width: 62ch;
    margin: 0;
}
.rev__cta-text strong[b-4o6fkb20ep] { color: var(--pe-pe-farol); }
.rev__cta-quote[b-4o6fkb20ep] {
    font-size: clamp(1.2rem, 3vw, 1.7rem);
    font-weight: 600;
    font-style: italic;
    line-height: 1.5;
    color: #fff;
    border-left: 4px solid var(--pe-pe-coral);
    padding: var(--pe-space-2) 0 var(--pe-space-2) var(--pe-space-6);
    margin: var(--pe-space-6) 0;
    max-width: 60ch;
    text-align: left;
}
.rev__cta-actions[b-4o6fkb20ep] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--pe-space-3);
    justify-content: center;
    margin-top: var(--pe-space-2);
}
.rev__cta-social[b-4o6fkb20ep] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--pe-space-5);
    justify-content: center;
    margin-top: var(--pe-space-6);
}
.rev__cta-social a[b-4o6fkb20ep] {
    display: inline-flex;
    align-items: center;
    gap: var(--pe-space-2);
    color: rgba(255,255,255,.9);
    font-weight: 600;
    text-decoration: none;
    transition: color var(--pe-motion-fast);
}
.rev__cta-social a:hover[b-4o6fkb20ep] { color: var(--pe-pe-farol); }

/* ───────────────────────  ANIMAÇÕES  ─────────────────────── */
@keyframes rev-kenburns-b-4o6fkb20ep {
    from { transform: scale(1.05) translateY(0); }
    to   { transform: scale(1.15) translateY(-2%); }
}
@keyframes rev-scroll-b-4o6fkb20ep {
    0%   { opacity: 0; transform: translateY(0); }
    40%  { opacity: 1; }
    80%  { opacity: 0; transform: translateY(14px); }
    100% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .rev__hero-img[b-4o6fkb20ep] { animation: none; }
    .rev__hero-scroll span[b-4o6fkb20ep] { animation: none; }
    .rev__feature-media:hover img[b-4o6fkb20ep],
    .rev__card:hover[b-4o6fkb20ep],
    .rev__btn--primary:hover[b-4o6fkb20ep] { transform: none; }
}
/* /Components/Pages/Conta.razor.rz.scp.css */
/* FILE: Conta.razor.css
   PURPOSE: Página de conta premium (login + perfil) com a estética Apple/Airbnb.
   TOKENS:  tokens.css.
   AI-NOTE: Mobile-first. Largura confortável (max-width container narrow). Botão Google AAA-ready. */

.conta[b-98iip43rgb] {
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-8);
    max-width: var(--pe-container-narrow);
    margin-inline: auto;
    padding-block: var(--pe-space-6);
}

.conta__header[b-98iip43rgb] {
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-2);
}
.conta__header--center[b-98iip43rgb] { text-align: center; align-items: center; }

.conta__eyebrow[b-98iip43rgb] {
    font-size: var(--pe-text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: var(--pe-tracking-wide);
    color: var(--pe-color-accent);
}
.conta__brand[b-98iip43rgb] {
    display: inline-flex;
    width: 72px;
    height: 72px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--pe-color-surface);
    border: 1px solid var(--pe-color-border);
    color: var(--pe-color-brand);
    box-shadow: var(--pe-shadow-2);
    margin-bottom: var(--pe-space-2);
}
.conta__header h1[b-98iip43rgb] {
    margin: 0;
    font-size: clamp(var(--pe-text-3xl), 5vw, var(--pe-text-4xl));
    line-height: var(--pe-leading-tight);
    letter-spacing: var(--pe-tracking-tight);
    font-weight: 700;
}
.conta__header p[b-98iip43rgb] {
    margin: 0;
    color: var(--pe-color-muted);
    font-size: var(--pe-text-lg);
    max-width: 50ch;
}

/* ───── Login (NotAuthorized) ────────────────────────────── */
.conta__login[b-98iip43rgb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--pe-space-3);
}

.conta__google[b-98iip43rgb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--pe-space-3);
    width: 100%;
    max-width: 360px;
    min-height: 52px;
    padding: 0 var(--pe-space-6);
    background: var(--pe-color-surface);
    color: var(--pe-color-text);
    border: 1px solid var(--pe-color-border-strong);
    border-radius: var(--pe-radius-pill);
    font-size: var(--pe-text-base);
    font-weight: 600;
    text-decoration: none;
    box-shadow: var(--pe-shadow-1);
    transition: transform var(--pe-motion-fast) var(--pe-easing-standard),
                box-shadow var(--pe-motion-fast) var(--pe-easing-standard);
}
.conta__google:hover[b-98iip43rgb]  { box-shadow: var(--pe-shadow-3); transform: translateY(-1px); }
.conta__google:active[b-98iip43rgb] { transform: translateY(0); }
.conta__google:focus-visible[b-98iip43rgb] { outline: 2px solid var(--pe-color-text); outline-offset: 2px; }

.conta__legal[b-98iip43rgb] {
    margin: 0;
    color: var(--pe-color-muted);
    font-size: var(--pe-text-xs);
    text-align: center;
    max-width: 360px;
}
.conta__legal a[b-98iip43rgb] { color: var(--pe-color-text-soft); text-decoration: underline; }
.conta__legal a:hover[b-98iip43rgb] { color: var(--pe-color-text); }

/* ───── Benefícios ───────────────────────────────────────── */
.conta__beneficios[b-98iip43rgb] {
    list-style: none;
    margin: 0;
    padding: var(--pe-space-6);
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-4);
    background: var(--pe-color-surface);
    border: 1px solid var(--pe-color-border);
    border-radius: var(--pe-radius-lg);
    box-shadow: var(--pe-shadow-1);
}
.conta__beneficios li[b-98iip43rgb] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--pe-space-4);
    align-items: flex-start;
}
.conta__bf-ic[b-98iip43rgb] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: var(--pe-color-surface-2);
    color: var(--pe-color-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.conta__beneficios strong[b-98iip43rgb] { display: block; font-size: var(--pe-text-base); font-weight: 600; }
.conta__beneficios small[b-98iip43rgb]  { display: block; color: var(--pe-color-muted); font-size: var(--pe-text-sm); margin-top: 2px; }

/* ───── Perfil (Authorized) ──────────────────────────────── */
.conta__grid[b-98iip43rgb] {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--pe-space-3);
}
.conta__card[b-98iip43rgb] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: var(--pe-space-4);
    padding: var(--pe-space-4) var(--pe-space-5);
    background: var(--pe-color-surface);
    border: 1px solid var(--pe-color-border);
    border-radius: var(--pe-radius-lg);
    text-decoration: none;
    color: inherit;
    box-shadow: var(--pe-shadow-1);
    transition: transform var(--pe-motion-fast) var(--pe-easing-standard),
                box-shadow var(--pe-motion-fast) var(--pe-easing-standard);
}
.conta__card:hover[b-98iip43rgb]  { box-shadow: var(--pe-shadow-3); transform: translateY(-1px); }
.conta__card-ic[b-98iip43rgb] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: var(--pe-color-surface-2);
    color: var(--pe-color-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.conta__card-tx strong[b-98iip43rgb] { display: block; font-size: var(--pe-text-base); font-weight: 600; }
.conta__card-tx small[b-98iip43rgb]  { display: block; color: var(--pe-color-muted); font-size: var(--pe-text-sm); margin-top: 2px; }
.conta__card-ar[b-98iip43rgb] { color: var(--pe-color-muted); }

.conta__sair[b-98iip43rgb] {
    display: flex;
    justify-content: center;
    margin-top: var(--pe-space-2);
}
.conta__btn-sair[b-98iip43rgb] {
    background: transparent;
    color: var(--pe-color-muted);
    border: 1px solid var(--pe-color-border);
    border-radius: var(--pe-radius-pill);
    padding: var(--pe-space-3) var(--pe-space-8);
    font-size: var(--pe-text-sm);
    font-weight: 500;
    cursor: pointer;
    transition: all var(--pe-motion-fast) var(--pe-easing-standard);
}
.conta__btn-sair:hover[b-98iip43rgb] { background: var(--pe-color-surface-2); color: var(--pe-color-text); }

.conta__erro[b-98iip43rgb] {
    display: inline-flex;
    align-items: center;
    gap: var(--pe-space-2);
    align-self: center;
    padding: var(--pe-space-3) var(--pe-space-4);
    background: #fff4f0;
    color: #9a3412;
    border: 1px solid #fed7aa;
    border-radius: var(--pe-radius-md);
    font-size: var(--pe-text-sm);
    font-weight: 500;
}

@media (min-width: 640px) {
    .conta__grid[b-98iip43rgb] { grid-template-columns: repeat(2, 1fr); }
}

/* Fase 17 — Criar evento destaque, admin, RGPD */
.conta__card--destaque[b-98iip43rgb] {
    background: linear-gradient(135deg, #fef3c7 0%, #fce7f3 100%);
    border-color: rgba(0,0,0,0.05);
}
.conta__grid--admin[b-98iip43rgb] { margin-top: -8px; }
.conta__grid--admin .conta__card[b-98iip43rgb] { background: var(--pe-color-surface-2, #f9fafb); }

.conta__rgpd[b-98iip43rgb] {
    border: 1px solid var(--pe-color-border, #e5e7eb);
    border-radius: var(--pe-radius-lg);
    overflow: hidden;
}
.conta__rgpd-toggle[b-98iip43rgb] {
    display: flex; align-items: center; gap: 8px;
    padding: 14px 16px; font-size: 0.875rem; font-weight: 600;
    cursor: pointer; list-style: none;
}
.conta__rgpd-toggle[b-98iip43rgb]::-webkit-details-marker { display: none; }
.conta__rgpd-body[b-98iip43rgb] {
    padding: 0 16px 16px;
    display: flex; flex-direction: column; gap: 12px;
}
.conta__rgpd-body p[b-98iip43rgb] { font-size: 0.85rem; color: var(--pe-color-text-muted, #4b5563); margin: 0; }
.conta__rgpd-btns[b-98iip43rgb] { display: flex; flex-wrap: wrap; gap: 8px; }
.conta__btn-rgpd[b-98iip43rgb] {
    display: inline-flex; align-items: center;
    padding: 8px 16px; border-radius: var(--pe-radius-pill);
    border: 1px solid var(--pe-color-border, #e5e7eb);
    background: var(--pe-color-surface); color: var(--pe-color-text);
    font-size: 0.85rem; font-weight: 500; text-decoration: none;
    transition: background var(--pe-motion-fast);
}
.conta__btn-rgpd:hover[b-98iip43rgb] { background: var(--pe-color-surface-2); }
.conta__btn-rgpd--danger[b-98iip43rgb] { color: #991b1b; border-color: #fca5a5; }
.conta__btn-rgpd--danger:hover[b-98iip43rgb] { background: #fee2e2; }
/* /Components/Pages/ContaNotificacoes.razor.rz.scp.css */
/* FILE: peniche/Components/Pages/ContaNotificacoes.razor.css
   PURPOSE: Estilos da página de preferências de notificações push.
   TOKENS:  brand-deep, accent, success-green
   AI-NOTE: Mobile-first, toggle CSS puro sem JS extra. */

.notif-pref[b-ki8kt8hunz] {
    max-width: 480px;
    margin: 0 auto;
    padding: 0 16px env(safe-area-inset-bottom, 16px);
}

.notif-pref__header[b-ki8kt8hunz] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 20px 0 16px;
}

.notif-pref__back[b-ki8kt8hunz] {
    background: none;
    border: none;
    color: var(--color-accent, #F59E0B);
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
}

.notif-pref__title[b-ki8kt8hunz] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

.notif-pref__card[b-ki8kt8hunz] {
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 16px;
    padding: 20px;
    margin-bottom: 20px;
}

.notif-pref__row[b-ki8kt8hunz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.notif-pref__info[b-ki8kt8hunz] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}

.notif-pref__label[b-ki8kt8hunz] {
    font-weight: 700;
    font-size: .95rem;
    color: #fff;
}

.notif-pref__desc[b-ki8kt8hunz] {
    font-size: .82rem;
    color: rgba(255,255,255,.6);
    line-height: 1.4;
}

/* Toggle switch */
.notif-pref__toggle[b-ki8kt8hunz] {
    position: relative;
    display: inline-block;
    width: 52px;
    height: 28px;
    flex-shrink: 0;
}

.notif-pref__toggle input[b-ki8kt8hunz] { opacity: 0; width: 0; height: 0; }

.notif-pref__slider[b-ki8kt8hunz] {
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,.15);
    border-radius: 28px;
    transition: background .25s;
    cursor: pointer;
}

.notif-pref__slider[b-ki8kt8hunz]::before {
    content: "";
    position: absolute;
    height: 20px;
    width: 20px;
    left: 4px;
    bottom: 4px;
    background: #fff;
    border-radius: 50%;
    transition: transform .25s;
}

.notif-pref__toggle input:checked + .notif-pref__slider[b-ki8kt8hunz] {
    background: #10B981;
}

.notif-pref__toggle input:checked + .notif-pref__slider[b-ki8kt8hunz]::before {
    transform: translateX(24px);
}

.notif-pref__toggle input:disabled + .notif-pref__slider[b-ki8kt8hunz] {
    opacity: .5;
    cursor: not-allowed;
}

.notif-pref__msg[b-ki8kt8hunz] {
    margin-top: 14px;
    font-size: .85rem;
    font-weight: 600;
    padding: 8px 12px;
    border-radius: 8px;
}

.notif-pref__msg--ok[b-ki8kt8hunz]   { background: rgba(16,185,129,.15); color: #10B981; }
.notif-pref__msg--erro[b-ki8kt8hunz] { background: rgba(239,68,68,.15);  color: #EF4444; }

.notif-pref__hint[b-ki8kt8hunz] {
    margin-top: 12px;
    font-size: .82rem;
    color: rgba(255,255,255,.5);
    line-height: 1.4;
}

.notif-pref__explainer[b-ki8kt8hunz] {
    font-size: .8rem;
    color: rgba(255,255,255,.4);
    line-height: 1.5;
}

.notif-pref__explainer p[b-ki8kt8hunz] { margin: 0 0 6px; }
/* /Components/Pages/CriarEvento.razor.rz.scp.css */
/* FILE: CriarEvento.razor.css
   PURPOSE: Formulario premium de criacao de evento - UX de produto, marketing-first.
   LAYOUT:  Desktop = 2 colunas (form | preview sticky). Mobile = 1 coluna.
   TOKENS:  tokens.css */

/* ── Page wrapper ── */
.criar-evt[b-5tmpwgtl0g] {
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-6);
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--pe-space-4) var(--pe-space-16);
}

/* ── Gate (nao logado) ── */
.criar-evt--gate[b-5tmpwgtl0g] { align-items: center; padding: var(--pe-space-16) var(--pe-space-4); text-align: center; }
.criar-evt__gate-body[b-5tmpwgtl0g] {
    display: flex; flex-direction: column; gap: var(--pe-space-5);
    align-items: center; max-width: 420px;
    padding: var(--pe-space-10) var(--pe-space-8);
    background: var(--pe-color-surface);
    border-radius: 24px;
    box-shadow: 0 8px 40px rgba(0,0,0,.1);
    border: 1px solid var(--pe-color-border);
}
.criar-evt__gate-body h1[b-5tmpwgtl0g] { font-size: var(--pe-text-2xl); font-weight: 800; margin: 0; letter-spacing: -.02em; }
.criar-evt__gate-body p[b-5tmpwgtl0g] { color: var(--pe-color-text-muted, #4b5563); margin: 0; font-size: .95rem; line-height: 1.6; }

/* ── Hero header premium ── */
.criar-evt__hero[b-5tmpwgtl0g] {
    position: relative;
    background: linear-gradient(135deg, #0f0f1a 0%, #1a103c 50%, #0f172a 100%);
    border-radius: 24px;
    padding: 44px 48px 40px;
    overflow: hidden;
    margin-bottom: var(--pe-space-2);
}
.criar-evt__hero[b-5tmpwgtl0g]::before {
    content: '';
    position: absolute; top: -80px; right: -80px;
    width: 340px; height: 340px;
    background: radial-gradient(circle, rgba(99,102,241,.35) 0%, transparent 70%);
    pointer-events: none;
}
.criar-evt__hero[b-5tmpwgtl0g]::after {
    content: '';
    position: absolute; bottom: -60px; left: 60px;
    width: 240px; height: 240px;
    background: radial-gradient(circle, rgba(236,72,153,.18) 0%, transparent 70%);
    pointer-events: none;
}
.criar-evt__hero-inner[b-5tmpwgtl0g] {
    position: relative; z-index: 1;
    display: flex; flex-direction: column; gap: var(--pe-space-4);
}
.criar-evt__hero-back[b-5tmpwgtl0g] {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: .8rem; color: rgba(255,255,255,.5);
    text-decoration: none; width: fit-content;
    transition: color .15s;
}
.criar-evt__hero-back:hover[b-5tmpwgtl0g] { color: rgba(255,255,255,.85); }
.criar-evt__hero-back-ic[b-5tmpwgtl0g] { transform: rotate(180deg); }
.criar-evt__hero-badge[b-5tmpwgtl0g] {
    display: inline-flex; align-items: center; gap: 6px;
    background: rgba(99,102,241,.25); border: 1px solid rgba(99,102,241,.45);
    color: #a5b4fc; font-size: .72rem; font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase;
    padding: 4px 12px; border-radius: 99px; width: fit-content;
}
.criar-evt__hero-title[b-5tmpwgtl0g] {
    font-size: clamp(1.75rem, 4vw, 2.75rem);
    font-weight: 900; color: #fff; margin: 0;
    line-height: 1.1; letter-spacing: -.03em;
}
.criar-evt__hero-title span[b-5tmpwgtl0g] { color: #818cf8; }
.criar-evt__hero-sub[b-5tmpwgtl0g] {
    font-size: 1rem; color: rgba(255,255,255,.65);
    margin: 0; max-width: 520px; line-height: 1.65;
}
.criar-evt__hero-stats[b-5tmpwgtl0g] {
    display: flex; flex-wrap: wrap; gap: var(--pe-space-5);
    margin-top: var(--pe-space-2);
}
.criar-evt__hero-stat[b-5tmpwgtl0g] { display: flex; flex-direction: column; gap: 2px; }
.criar-evt__hero-stat strong[b-5tmpwgtl0g] {
    font-size: 1.5rem; font-weight: 900; color: #fff;
    letter-spacing: -.03em; line-height: 1;
}
.criar-evt__hero-stat span[b-5tmpwgtl0g] { font-size: .75rem; color: rgba(255,255,255,.45); font-weight: 500; }
@media (max-width: 640px) {
    .criar-evt__hero[b-5tmpwgtl0g] { padding: 28px 20px 24px; border-radius: 16px; }
    .criar-evt__hero-title[b-5tmpwgtl0g] { font-size: 1.75rem; }
    .criar-evt__hero-stats[b-5tmpwgtl0g] { gap: var(--pe-space-4); }
}

/* ── Two-column layout ── */
.criar-evt__layout[b-5tmpwgtl0g] {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: var(--pe-space-6);
    align-items: start;
}
@media (max-width: 960px) {
    .criar-evt__layout[b-5tmpwgtl0g] { grid-template-columns: 1fr; }
    .criar-evt__preview-col[b-5tmpwgtl0g] { order: -1; }
}

/* ── Form column ── */
.criar-evt__form-col[b-5tmpwgtl0g] { display: flex; flex-direction: column; gap: var(--pe-space-5); }

/* ── Sections ── */
.criar-evt__secao[b-5tmpwgtl0g] {
    display: flex; flex-direction: column; gap: var(--pe-space-4);
    background: var(--pe-color-surface);
    border: 1px solid var(--pe-color-border);
    border-radius: 20px;
    padding: var(--pe-space-6);
    box-shadow: 0 2px 8px rgba(0,0,0,.04);
    transition: box-shadow .2s, border-color .2s;
}
.criar-evt__secao:focus-within[b-5tmpwgtl0g] {
    box-shadow: 0 4px 20px rgba(0,0,0,.08);
    border-color: rgba(99,102,241,.3);
}
.criar-evt__secao-hdr[b-5tmpwgtl0g] {
    display: flex; flex-direction: column; gap: 4px;
    padding-bottom: var(--pe-space-3);
    border-bottom: 1px solid var(--pe-color-border);
}
.criar-evt__secao-titulo[b-5tmpwgtl0g] {
    display: flex; align-items: center; gap: var(--pe-space-2);
    font-size: 1.0625rem; font-weight: 800; margin: 0;
    color: var(--pe-color-text); letter-spacing: -.01em;
}
.criar-evt__secao-sub[b-5tmpwgtl0g] {
    font-size: .8125rem; color: var(--pe-color-text-muted, #6b7280);
    margin: 0; line-height: 1.5;
}
.criar-evt__secao-num[b-5tmpwgtl0g] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 28px; height: 28px; border-radius: 999px;
    background: linear-gradient(135deg, #6366f1, #4f46e5);
    color: #fff; font-size: .75rem; font-weight: 800; flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(99,102,241,.4);
}

/* ── Fields ── */
.criar-evt__campo[b-5tmpwgtl0g] { display: flex; flex-direction: column; gap: 6px; }
.criar-evt__campo label[b-5tmpwgtl0g] {
    font-size: .8125rem; font-weight: 700; color: var(--pe-color-text);
    display: flex; align-items: center; gap: 6px;
}
.criar-evt__campo label small[b-5tmpwgtl0g] { font-weight: 400; color: var(--pe-color-text-muted, #6b7280); }
.criar-evt__campo input[b-5tmpwgtl0g],
.criar-evt__campo textarea[b-5tmpwgtl0g],
.criar-evt__campo select[b-5tmpwgtl0g] {
    width: 100%; padding: 11px 14px;
    border: 1.5px solid var(--pe-color-border);
    border-radius: 12px; font: inherit; font-size: .9375rem;
    background: var(--pe-color-bg); color: var(--pe-color-text);
    transition: border-color .15s, box-shadow .15s;
    box-sizing: border-box; -webkit-appearance: none;
}
.criar-evt__campo input:focus[b-5tmpwgtl0g],
.criar-evt__campo textarea:focus[b-5tmpwgtl0g],
.criar-evt__campo select:focus[b-5tmpwgtl0g] {
    outline: none; border-color: #6366f1;
    box-shadow: 0 0 0 3px rgba(99,102,241,.12);
}
.criar-evt__campo input[b-5tmpwgtl0g]::placeholder,
.criar-evt__campo textarea[b-5tmpwgtl0g]::placeholder { color: var(--pe-color-text-muted, #9ca3af); }
.criar-evt__campo textarea[b-5tmpwgtl0g] { resize: vertical; min-height: 80px; }
.criar-evt__hint[b-5tmpwgtl0g] { font-size: .72rem; color: var(--pe-color-text-muted, #9ca3af); text-align: right; }
.criar-evt__check-label[b-5tmpwgtl0g] { display: inline-flex; align-items: center; gap: var(--pe-space-2); font-size: .9375rem; cursor: pointer; }

.criar-evt__row[b-5tmpwgtl0g] { display: grid; grid-template-columns: 1fr 1fr; gap: var(--pe-space-3); }
@media (max-width: 500px) { .criar-evt__row[b-5tmpwgtl0g] { grid-template-columns: 1fr; } }

/* ── Quill ── */
.criar-evt__quill-editor[b-5tmpwgtl0g] {
    min-height: 160px; border: 1.5px solid var(--pe-color-border);
    border-radius: 12px; background: var(--pe-color-bg); overflow: hidden;
    transition: border-color .15s, box-shadow .15s;
}
.criar-evt__quill-editor:focus-within[b-5tmpwgtl0g] {
    border-color: #6366f1; box-shadow: 0 0 0 3px rgba(99,102,241,.12);
}
.criar-evt__quill-editor .ql-toolbar[b-5tmpwgtl0g] {
    border: none; border-bottom: 1px solid var(--pe-color-border);
    background: var(--pe-color-surface-2);
}
.criar-evt__quill-editor .ql-container[b-5tmpwgtl0g] { border: none; min-height: 120px; font-size: .9375rem; }

/* ── Categories ── */
.criar-evt__cats[b-5tmpwgtl0g] { display: flex; flex-wrap: wrap; gap: var(--pe-space-2); }
.criar-evt__cat[b-5tmpwgtl0g] {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 7px 15px; border-radius: 99px;
    border: 1.5px solid var(--pe-color-border);
    background: var(--pe-color-bg); font: inherit;
    font-size: .8125rem; font-weight: 600; cursor: pointer;
    color: var(--pe-color-text-muted, #4b5563);
    transition: border-color .15s, background .15s, color .15s, transform .1s, box-shadow .15s;
    -webkit-tap-highlight-color: transparent;
}
.criar-evt__cat:hover[b-5tmpwgtl0g] {
    border-color: #6366f1; color: #6366f1;
    transform: translateY(-1px); box-shadow: 0 2px 8px rgba(99,102,241,.15);
}
.criar-evt__cat--on[b-5tmpwgtl0g] {
    border-color: #6366f1;
    background: linear-gradient(135deg, #6366f1, #4f46e5);
    color: #fff; box-shadow: 0 2px 8px rgba(99,102,241,.3);
}
.criar-evt__cat--on:hover[b-5tmpwgtl0g] { opacity: .9; color: #fff; }

/* ── Image uploader ── */
.criar-evt__uploader[b-5tmpwgtl0g] {
    position: relative; min-height: 180px;
    border: 2px dashed var(--pe-color-border);
    border-radius: 16px; display: flex;
    align-items: center; justify-content: center;
    overflow: hidden; background: var(--pe-color-surface-2);
    cursor: pointer; transition: border-color .15s, background .15s;
}
.criar-evt__uploader--over[b-5tmpwgtl0g],
.criar-evt__uploader:hover[b-5tmpwgtl0g] { border-color: #6366f1; background: rgba(99,102,241,.04); }
.criar-evt__uploader-prompt[b-5tmpwgtl0g] {
    display: flex; flex-direction: column; align-items: center; gap: 8px;
    color: var(--pe-color-text-muted, #6b7280); font-size: .875rem;
    pointer-events: none; text-align: center; padding: var(--pe-space-6);
}
.criar-evt__uploader-icon[b-5tmpwgtl0g] { font-size: 2.5rem; }
.criar-evt__uploader-prompt strong[b-5tmpwgtl0g] { font-size: .9375rem; color: var(--pe-color-text); }
.criar-evt__uploader-prompt small[b-5tmpwgtl0g] { font-size: .75rem; }
.criar-evt__uploader-input[b-5tmpwgtl0g] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.criar-evt__uploader-preview[b-5tmpwgtl0g] { width: 100%; height: 100%; object-fit: cover; display: block; }
.criar-evt__uploader-overlay[b-5tmpwgtl0g] { position: absolute; inset: 0; display: flex; align-items: flex-start; justify-content: flex-end; padding: var(--pe-space-2); }
.criar-evt__uploader-remover[b-5tmpwgtl0g] {
    background: rgba(0,0,0,.6); color: #fff; border: none;
    border-radius: 999px; width: 30px; height: 30px;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; font-size: .875rem; backdrop-filter: blur(4px);
}
.criar-evt__uploader-loading[b-5tmpwgtl0g] { display: flex; flex-direction: column; align-items: center; gap: var(--pe-space-2); color: var(--pe-color-text-muted); font-size: .875rem; }
.criar-evt__url-fallback[b-5tmpwgtl0g] { margin-top: var(--pe-space-2); }
.criar-evt__url-fallback summary[b-5tmpwgtl0g] { font-size: .8125rem; color: var(--pe-color-text-muted); cursor: pointer; user-select: none; }
.criar-evt__url-fallback input[b-5tmpwgtl0g] {
    margin-top: var(--pe-space-2); width: 100%; padding: 8px 12px;
    border: 1.5px solid var(--pe-color-border); border-radius: 10px;
    font: inherit; font-size: .875rem; background: var(--pe-color-bg);
    color: var(--pe-color-text); box-sizing: border-box;
}

/* ── Submit area ── */
.criar-evt__submit-area[b-5tmpwgtl0g] { display: flex; justify-content: stretch; padding: var(--pe-space-2) 0; }

/* ── Buttons ── */
.criar-evt__btn[b-5tmpwgtl0g] {
    display: inline-flex; align-items: center; gap: var(--pe-space-2);
    padding: 11px 22px; border-radius: 99px;
    border: 1.5px solid var(--pe-color-border);
    background: var(--pe-color-bg); font: inherit;
    font-size: .9375rem; font-weight: 600; cursor: pointer;
    text-decoration: none; color: var(--pe-color-text);
    transition: background .15s, border-color .15s, box-shadow .15s, transform .1s;
}
.criar-evt__btn:hover[b-5tmpwgtl0g] { background: var(--pe-color-surface-2); transform: translateY(-1px); }
.criar-evt__btn--primary[b-5tmpwgtl0g] {
    background: #0f172a; color: #fff; border-color: transparent;
    box-shadow: 0 2px 12px rgba(15,23,42,.3);
}
.criar-evt__btn--primary:hover[b-5tmpwgtl0g] { background: #1e293b; }
.criar-evt__btn--submit[b-5tmpwgtl0g] {
    width: 100%; justify-content: center;
    padding: 16px 32px; font-size: 1.0625rem; font-weight: 800;
    border-radius: 16px;
    background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);
    color: #fff; border: none;
    box-shadow: 0 4px 20px rgba(99,102,241,.4);
    letter-spacing: -.01em;
    transition: opacity .15s, transform .15s, box-shadow .15s;
}
.criar-evt__btn--submit:hover:not(:disabled)[b-5tmpwgtl0g] {
    opacity: .92; transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(99,102,241,.5);
}
.criar-evt__btn--submit:disabled[b-5tmpwgtl0g] { opacity: .5; cursor: not-allowed; transform: none; }

/* ── Alerts ── */
.criar-evt__erro[b-5tmpwgtl0g] {
    display: flex; align-items: center; gap: var(--pe-space-2);
    background: #fef2f2; border: 1px solid #fca5a5;
    border-radius: 12px; padding: 12px 16px;
    color: #b91c1c; font-size: .875rem;
}
.criar-evt__erro-inline[b-5tmpwgtl0g] { font-size: .8125rem; color: #b91c1c; margin: 4px 0 0; }

/* ── Spinner ── */
.criar-evt__loading[b-5tmpwgtl0g] { display: flex; align-items: center; gap: var(--pe-space-2); font-size: .9375rem; color: var(--pe-color-text-muted); }
.criar-evt__spinner[b-5tmpwgtl0g] {
    display: inline-block; width: 18px; height: 18px;
    border: 2px solid rgba(255,255,255,.3);
    border-top-color: #fff; border-radius: 999px;
    animation: criar-spin-b-5tmpwgtl0g .7s linear infinite; flex-shrink: 0;
}
@keyframes criar-spin-b-5tmpwgtl0g { to { transform: rotate(360deg); } }

/* ── Success screen ── */
.criar-evt__sucesso[b-5tmpwgtl0g] {
    display: flex; flex-direction: column; align-items: center;
    gap: var(--pe-space-5); text-align: center;
    padding: var(--pe-space-16) var(--pe-space-4);
    max-width: 480px; margin: 0 auto;
}
.criar-evt__sucesso-icon[b-5tmpwgtl0g] {
    width: 80px; height: 80px;
    background: linear-gradient(135deg, #6366f1, #4f46e5);
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    box-shadow: 0 8px 32px rgba(99,102,241,.4);
    animation: sucesso-pop-b-5tmpwgtl0g .4s cubic-bezier(.34,1.56,.64,1);
}
@keyframes sucesso-pop-b-5tmpwgtl0g {
    from { transform: scale(.5); opacity: 0; }
    to   { transform: scale(1); opacity: 1; }
}
.criar-evt__sucesso h2[b-5tmpwgtl0g] { font-size: var(--pe-text-2xl); font-weight: 900; margin: 0; letter-spacing: -.02em; }
.criar-evt__sucesso p[b-5tmpwgtl0g] { color: var(--pe-color-text-muted); margin: 0; font-size: .95rem; line-height: 1.6; }
.criar-evt__sucesso-btns[b-5tmpwgtl0g] { display: flex; flex-wrap: wrap; gap: var(--pe-space-3); justify-content: center; margin-top: var(--pe-space-2); }

/* ══════════════════════════════════════════════════════════════
   PREVIEW COLUMN
   ══════════════════════════════════════════════════════════════ */
.criar-evt__preview-col[b-5tmpwgtl0g] { min-width: 0; }
.criar-evt__preview-sticky[b-5tmpwgtl0g] {
    position: sticky; top: 80px;
    display: flex; flex-direction: column; gap: var(--pe-space-3);
}
.criar-evt__preview-label[b-5tmpwgtl0g] {
    display: flex; align-items: center; gap: 6px;
    font-size: .72rem; font-weight: 700;
    letter-spacing: .08em; text-transform: uppercase;
    color: var(--pe-color-text-muted, #6b7280); margin: 0;
}
.criar-evt__preview-live-dot[b-5tmpwgtl0g] {
    width: 6px; height: 6px; border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 0 rgba(34,197,94,.4);
    animation: preview-pulse-b-5tmpwgtl0g 2s ease infinite;
}
@keyframes preview-pulse-b-5tmpwgtl0g {
    0%,100% { box-shadow: 0 0 0 0 rgba(34,197,94,.4); }
    50%      { box-shadow: 0 0 0 6px rgba(34,197,94,0); }
}
.criar-evt__preview-card[b-5tmpwgtl0g] {
    border-radius: 20px; border: 1.5px solid var(--pe-color-border);
    background: var(--pe-color-surface);
    box-shadow: 0 4px 20px rgba(15,23,42,.07);
    overflow: hidden; display: flex; flex-direction: column;
    transition: box-shadow .2s;
}
.criar-evt__prev-img-wrap[b-5tmpwgtl0g] {
    width: 100%; aspect-ratio: 16/9; overflow: hidden;
    background: linear-gradient(135deg, #1e1b4b, #312e81);
}
.criar-evt__prev-img[b-5tmpwgtl0g] { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.criar-evt__preview-card:hover .criar-evt__prev-img[b-5tmpwgtl0g] { transform: scale(1.03); }
.criar-evt__prev-img-placeholder[b-5tmpwgtl0g] {
    width: 100%; height: 100%;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: 6px; color: rgba(255,255,255,.4); font-size: 2rem;
}
.criar-evt__prev-img-placeholder small[b-5tmpwgtl0g] { font-size: .72rem; color: rgba(255,255,255,.3); }
.criar-evt__prev-cats[b-5tmpwgtl0g] {
    display: flex; flex-wrap: wrap; gap: 6px;
    padding: var(--pe-space-3) var(--pe-space-4) 0;
}
.criar-evt__prev-cat[b-5tmpwgtl0g] {
    display: inline-flex; align-items: center; gap: 4px;
    font-size: .72rem; font-weight: 700; padding: 3px 9px;
    border-radius: 99px; background: var(--pe-color-surface-2);
    color: var(--pe-color-text-muted, #4b5563);
}
.criar-evt__prev-titulo[b-5tmpwgtl0g] {
    margin: var(--pe-space-2) var(--pe-space-4) 0;
    font-size: 1.0625rem; font-weight: 800; line-height: 1.3;
    color: var(--pe-color-text); letter-spacing: -.01em; word-break: break-word;
}
.criar-evt__prev-resumo[b-5tmpwgtl0g] {
    margin: var(--pe-space-1) var(--pe-space-4) 0;
    font-size: .8125rem; color: var(--pe-color-text-muted, #4b5563);
    line-height: 1.5; display: -webkit-box;
    -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.criar-evt__prev-meta[b-5tmpwgtl0g] { display: flex; flex-direction: column; gap: 4px; padding: var(--pe-space-2) var(--pe-space-4) 0; }
.criar-evt__prev-meta-item[b-5tmpwgtl0g] { display: inline-flex; align-items: center; gap: 5px; font-size: .8rem; color: var(--pe-color-text-muted, #6b7280); }
.criar-evt__prev-meta-loc[b-5tmpwgtl0g] { color: var(--pe-color-text-muted, #9ca3af); }
.criar-evt__prev-preco[b-5tmpwgtl0g] { padding: var(--pe-space-3) var(--pe-space-4) var(--pe-space-4); }
.criar-evt__prev-gratis[b-5tmpwgtl0g] {
    display: inline-block; font-size: .8125rem; font-weight: 700;
    color: #16a34a; background: #dcfce7; padding: 3px 10px; border-radius: 99px;
}
.criar-evt__prev-pago[b-5tmpwgtl0g] { font-size: .875rem; font-weight: 700; color: var(--pe-color-text); }
.criar-evt__preview-hint[b-5tmpwgtl0g] { font-size: .72rem; color: var(--pe-color-text-muted, #9ca3af); text-align: center; margin: 0; }

/* ── Beneficios (info pills abaixo do preview) ── */
.criar-evt__benefits[b-5tmpwgtl0g] {
    display: flex; flex-direction: column; gap: 10px;
    padding: var(--pe-space-4); margin-top: var(--pe-space-1);
    background: var(--pe-color-surface);
    border: 1px solid var(--pe-color-border);
    border-radius: 16px;
}
.criar-evt__benefit[b-5tmpwgtl0g] {
    display: flex; align-items: flex-start; gap: 10px;
    font-size: .8125rem; line-height: 1.45; color: var(--pe-color-text-muted);
}
.criar-evt__benefit-icon[b-5tmpwgtl0g] { font-size: 1rem; flex-shrink: 0; margin-top: 1px; }
.criar-evt__benefit strong[b-5tmpwgtl0g] { color: var(--pe-color-text); font-weight: 700; }

/* ══════════════════════════════════════════════════════════════
   PAINEL IA — "Gerar evento com IA"
   ══════════════════════════════════════════════════════════════ */
.ia-painel[b-5tmpwgtl0g] {
    grid-column: 1 / -1;
    background: linear-gradient(135deg, #0f0c29 0%, #1e1b4b 40%, #302b63 70%, #24243e 100%);
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: var(--pe-space-2);
    box-shadow: 0 4px 32px rgba(79,70,229,.3);
    border: 1px solid rgba(99,102,241,.25);
}
.ia-painel__toggle[b-5tmpwgtl0g] {
    width: 100%; display: flex; align-items: center;
    gap: .875rem; padding: 1.125rem 1.5rem;
    background: none; border: none; cursor: pointer;
    color: #fff; font-size: 1rem; font-weight: 700;
    text-align: left; transition: background .15s;
}
.ia-painel__toggle:hover[b-5tmpwgtl0g] { background: rgba(255,255,255,.05); }
.ia-painel__toggle-icon[b-5tmpwgtl0g] { font-size: 1.5rem; flex-shrink: 0; }
.ia-painel__toggle-txt[b-5tmpwgtl0g] { flex: 1; }
.ia-painel__toggle-subtxt[b-5tmpwgtl0g] {
    display: block; font-size: .8rem;
    color: rgba(255,255,255,.45); font-weight: 400; margin-top: 1px;
}
.ia-painel__toggle-chevron[b-5tmpwgtl0g] { font-size: .7rem; color: rgba(255,255,255,.5); }
.ia-painel__toggle-badge[b-5tmpwgtl0g] {
    display: inline-flex; align-items: center; gap: 4px;
    background: linear-gradient(90deg, #6366f1, #8b5cf6);
    color: #fff; font-size: .65rem; font-weight: 800;
    letter-spacing: .05em; text-transform: uppercase;
    padding: 2px 8px; border-radius: 99px; white-space: nowrap;
}

.ia-painel__corpo[b-5tmpwgtl0g] {
    padding: 0 1.5rem 1.5rem;
    display: flex; flex-direction: column; gap: 1rem;
    animation: ia-slide-down-b-5tmpwgtl0g .2s ease;
}
@keyframes ia-slide-down-b-5tmpwgtl0g {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
}
.ia-painel__descr[b-5tmpwgtl0g] {
    margin: 0; color: rgba(255,255,255,.75);
    font-size: .9rem; line-height: 1.6;
}
.ia-painel__steps[b-5tmpwgtl0g] {
    display: flex; gap: 1.5rem; flex-wrap: wrap;
    padding: .875rem 1rem;
    background: rgba(255,255,255,.05);
    border-radius: 12px; border: 1px solid rgba(255,255,255,.08);
}
.ia-painel__step[b-5tmpwgtl0g] {
    display: flex; align-items: center; gap: .5rem;
    font-size: .8rem; color: rgba(255,255,255,.65);
}
.ia-painel__step-num[b-5tmpwgtl0g] {
    width: 20px; height: 20px; border-radius: 50%;
    background: rgba(99,102,241,.5); color: #fff;
    font-size: .65rem; font-weight: 800;
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.ia-painel__campo[b-5tmpwgtl0g] { display: flex; flex-direction: column; gap: .4rem; }
.ia-painel__campo label[b-5tmpwgtl0g] {
    color: rgba(255,255,255,.9); font-size: .8125rem;
    font-weight: 700; letter-spacing: .02em;
}
.ia-painel__campo label small[b-5tmpwgtl0g] { color: rgba(255,255,255,.5); font-weight: 400; }
.ia-painel__campo textarea[b-5tmpwgtl0g],
.ia-painel__campo input[type="url"][b-5tmpwgtl0g] {
    background: rgba(255,255,255,.07);
    border: 1.5px solid rgba(255,255,255,.15);
    border-radius: 12px; color: #fff;
    font-size: .9rem; padding: .75rem 1rem;
    resize: vertical; transition: border-color .15s, background .15s;
    font-family: inherit;
}
.ia-painel__campo textarea[b-5tmpwgtl0g]::placeholder,
.ia-painel__campo input[b-5tmpwgtl0g]::placeholder { color: rgba(255,255,255,.3); }
.ia-painel__campo textarea:focus[b-5tmpwgtl0g],
.ia-painel__campo input:focus[b-5tmpwgtl0g] {
    outline: none; border-color: rgba(165,180,252,.7);
    background: rgba(255,255,255,.1);
}
.ia-painel__hint[b-5tmpwgtl0g] { color: rgba(255,255,255,.35); font-size: .72rem; text-align: right; }
.ia-painel__erro[b-5tmpwgtl0g] {
    background: rgba(239,68,68,.15); border: 1px solid rgba(239,68,68,.35);
    border-radius: 10px; color: #fca5a5; padding: .65rem 1rem; font-size: .875rem;
}
.ia-painel__ok[b-5tmpwgtl0g] {
    background: rgba(34,197,94,.12); border: 1px solid rgba(34,197,94,.3);
    border-radius: 10px; color: #86efac; padding: .65rem 1rem;
    font-size: .875rem; font-weight: 600;
}
.ia-painel__btn[b-5tmpwgtl0g] {
    align-self: flex-start; display: inline-flex; align-items: center;
    gap: .5rem; background: linear-gradient(90deg, #6366f1, #8b5cf6);
    color: #fff; border: none; border-radius: 99px;
    padding: .8rem 1.75rem; font-size: 1rem; font-weight: 800;
    cursor: pointer; letter-spacing: -.01em;
    transition: opacity .15s, transform .1s, box-shadow .15s;
    box-shadow: 0 4px 16px rgba(99,102,241,.5);
}
.ia-painel__btn:hover:not(:disabled)[b-5tmpwgtl0g] {
    opacity: .9; transform: translateY(-1px);
    box-shadow: 0 6px 24px rgba(99,102,241,.6);
}
.ia-painel__btn:disabled[b-5tmpwgtl0g] { opacity: .4; cursor: not-allowed; }
.ia-painel__btn--loading[b-5tmpwgtl0g] { opacity: .7; }
.ia-painel__spinner[b-5tmpwgtl0g] {
    width: 16px; height: 16px;
    border: 2.5px solid rgba(255,255,255,.3);
    border-top-color: #fff; border-radius: 50%;
    animation: ia-spin-b-5tmpwgtl0g .7s linear infinite; flex-shrink: 0;
}
@keyframes ia-spin-b-5tmpwgtl0g { to { transform: rotate(360deg); } }

.ia-sucesso-banner[b-5tmpwgtl0g] {
    grid-column: 1 / -1;
    background: rgba(34,197,94,.08); border: 1.5px solid rgba(34,197,94,.25);
    border-radius: 12px; color: #16a34a; padding: .875rem 1.25rem;
    font-size: .9rem; font-weight: 600; margin-bottom: .5rem;
}

/* ── Dropzone OCR ── */
.ia-ocr[b-5tmpwgtl0g] {
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: .5rem; min-height: 130px;
    border: 2px dashed rgba(165,180,252,.35);
    border-radius: 14px; padding: 1.25rem;
    text-align: center; color: rgba(255,255,255,.65);
    font-size: .875rem; transition: border-color .15s, background .15s;
    position: relative;
}
.ia-ocr--drag[b-5tmpwgtl0g] { border-color: #a5b4fc; background: rgba(165,180,252,.08); }
.ia-ocr--loading[b-5tmpwgtl0g] { border-color: rgba(165,180,252,.5); }
.ia-ocr__icon[b-5tmpwgtl0g] { font-size: 2.25rem; }
.ia-ocr__label[b-5tmpwgtl0g] { line-height: 1.4; }
.ia-ocr__hint[b-5tmpwgtl0g] { color: rgba(255,255,255,.3); font-size: .72rem; }
.ia-ocr__btn[b-5tmpwgtl0g] {
    display: inline-block; background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.2); border-radius: 99px;
    color: #fff; padding: .4rem 1.125rem;
    font-size: .8125rem; font-weight: 600; cursor: pointer;
    transition: background .15s;
}
.ia-ocr__btn:hover[b-5tmpwgtl0g] { background: rgba(255,255,255,.18); }
.ia-ocr__preview[b-5tmpwgtl0g] { max-height: 140px; max-width: 100%; border-radius: 10px; object-fit: contain; }
.ia-ocr__clear[b-5tmpwgtl0g] {
    position: absolute; top: .5rem; right: .5rem;
    background: rgba(0,0,0,.5); border: none; border-radius: 50%;
    color: #fff; width: 26px; height: 26px;
    font-size: .75rem; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
}

/* ── Painel multi-evento ── */
.ia-multi-painel[b-5tmpwgtl0g] {
    border: 1.5px solid var(--pe-color-border);
    border-radius: 16px; background: var(--pe-color-surface);
    padding: var(--pe-space-4);
    display: flex; flex-direction: column; gap: var(--pe-space-3);
    animation: ia-slide-down-b-5tmpwgtl0g .2s ease;
}
.ia-multi-painel--diario[b-5tmpwgtl0g] {
    border-color: #6366f1;
    background: color-mix(in srgb, #6366f1 5%, var(--pe-color-surface));
}
.ia-multi-painel__header[b-5tmpwgtl0g] { display: flex; gap: var(--pe-space-3); align-items: flex-start; }
.ia-multi-painel__icon[b-5tmpwgtl0g] { font-size: 1.75rem; flex-shrink: 0; line-height: 1; }
.ia-multi-painel__header strong[b-5tmpwgtl0g] { font-size: var(--pe-text-base, 1rem); }
.ia-multi-painel__header p[b-5tmpwgtl0g] { margin: .25rem 0 0; font-size: .875rem; color: var(--pe-color-muted); line-height: 1.45; }
.ia-multi-painel__lista[b-5tmpwgtl0g] {
    display: flex; flex-direction: column; gap: .5rem;
    max-height: 280px; overflow-y: auto;
    scrollbar-width: thin; scrollbar-color: var(--pe-color-border) transparent;
}
.ia-multi-painel__item[b-5tmpwgtl0g] {
    display: flex; gap: .75rem; align-items: center;
    padding: .5rem .75rem;
    background: var(--pe-color-bg); border: 1px solid var(--pe-color-border);
    border-radius: 10px; font-size: .875rem;
}
.ia-multi-painel__num[b-5tmpwgtl0g] {
    width: 24px; height: 24px; border-radius: 50%;
    background: #6366f1; color: #fff;
    font-size: .7rem; font-weight: 700;
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.ia-multi-painel__info[b-5tmpwgtl0g] { display: flex; flex-direction: column; gap: .1rem; min-width: 0; }
.ia-multi-painel__info strong[b-5tmpwgtl0g] { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ia-multi-painel__info small[b-5tmpwgtl0g] { color: var(--pe-color-muted); font-size: .75rem; }
.ia-multi-painel__acoes[b-5tmpwgtl0g] { display: flex; gap: .75rem; flex-wrap: wrap; align-items: center; padding-top: .25rem; }
.ia-multi-painel__btn-criar[b-5tmpwgtl0g] {
    flex: 1; min-width: 200px; padding: .7rem 1.25rem;
    background: linear-gradient(135deg, #6366f1, #4f46e5); color: #fff;
    border: none; border-radius: 10px;
    font-size: .9375rem; font-weight: 700; cursor: pointer;
    display: flex; align-items: center; justify-content: center; gap: .5rem;
    transition: opacity .15s, transform .15s;
    box-shadow: 0 2px 10px rgba(99,102,241,.35);
}
.ia-multi-painel__btn-criar:hover:not(:disabled)[b-5tmpwgtl0g] { opacity: .88; transform: translateY(-1px); }
.ia-multi-painel__btn-criar:disabled[b-5tmpwgtl0g] { opacity: .45; cursor: not-allowed; }
.ia-multi-painel__btn-cancelar[b-5tmpwgtl0g] {
    padding: .6rem .9rem; background: transparent;
    border: 1px solid var(--pe-color-border);
    border-radius: 10px; font-size: .875rem;
    color: var(--pe-color-muted); cursor: pointer; transition: background .15s;
}
.ia-multi-painel__btn-cancelar:hover[b-5tmpwgtl0g] { background: var(--pe-color-bg); }
/* /Components/Pages/DashboardEvento.razor.rz.scp.css */
/* FILE: DashboardEvento.razor.css
   PURPOSE: Painel do organizador premium (Apple/Airbnb). Hero generoso, KPIs em cards limpos,
            funnel/séries/breakdowns em cards com radius lg e elevação subtil.
   TOKENS:  tokens.css.
   AI-NOTE: Mobile-first. 2→5 colunas para KPIs; cards breakdown em grid 1→2→3.
            Não duplicar tokens; usar var(--pe-*). ::deep para estilar componentes filhos scoped. */

.dash[b-en599cviw3] {
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-8);
    color: var(--pe-color-text);
    font-family: var(--pe-font-sans);
}

/* ───── Header ───────────────────────────────────────────── */
.dash__header[b-en599cviw3] {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    gap: var(--pe-space-2) var(--pe-space-4);
    align-items: center;
    padding-block: var(--pe-space-2);
}

.dash__back[b-en599cviw3] {
    grid-row: 1 / span 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--pe-color-surface-2);
    color: var(--pe-color-text);
    text-decoration: none;
    transition: background-color var(--pe-motion-fast) var(--pe-easing-standard),
                transform var(--pe-motion-fast) var(--pe-easing-standard);
}
.dash__back:hover[b-en599cviw3]  { background: var(--pe-color-surface-3); }
.dash__back:active[b-en599cviw3] { transform: scale(0.96); }
.dash__back-ic[b-en599cviw3] { transform: rotate(180deg); }

.dash__title[b-en599cviw3] { min-width: 0; }
.dash__eyebrow[b-en599cviw3] {
    display: inline-block;
    font-size: var(--pe-text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: var(--pe-tracking-wide);
    color: var(--pe-color-accent);
    margin-bottom: var(--pe-space-1);
}
.dash__title h1[b-en599cviw3] {
    margin: 0;
    font-size: clamp(var(--pe-text-2xl), 4vw, var(--pe-text-4xl));
    line-height: var(--pe-leading-tight);
    letter-spacing: var(--pe-tracking-tight);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dash__range[b-en599cviw3] {
    grid-column: 1 / -1;
    display: flex;
    gap: var(--pe-space-2);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.dash__range[b-en599cviw3]::-webkit-scrollbar { display: none; }

.dash__range-btn[b-en599cviw3] {
    flex: 0 0 auto;
    min-height: 40px;
    padding: 0 var(--pe-space-4);
    border: 1px solid var(--pe-color-border);
    background: var(--pe-color-surface);
    color: var(--pe-color-text-soft);
    border-radius: var(--pe-radius-pill);
    font-size: var(--pe-text-sm);
    font-weight: 500;
    cursor: pointer;
    transition: all var(--pe-motion-fast) var(--pe-easing-standard);
}
.dash__range-btn:hover[b-en599cviw3] { border-color: var(--pe-color-border-strong); color: var(--pe-color-text); }
.dash__range-btn.is-active[b-en599cviw3] {
    background: var(--pe-color-text);
    border-color: var(--pe-color-text);
    color: var(--pe-color-bg);
}

/* ───── KPIs ─────────────────────────────────────────────── */
.kpi-grid[b-en599cviw3] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--pe-space-3);
}

[b-en599cviw3] .kpi {
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-1);
    padding: var(--pe-space-5);
    background: var(--pe-color-surface);
    border: 1px solid var(--pe-color-border);
    border-radius: var(--pe-radius-lg);
    box-shadow: var(--pe-shadow-1);
    min-height: 120px;
    transition: box-shadow var(--pe-motion-base) var(--pe-easing-standard);
}
[b-en599cviw3] .kpi:hover { box-shadow: var(--pe-shadow-3); }

[b-en599cviw3] .kpi__icone {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--pe-color-surface-2);
    color: var(--pe-color-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--pe-space-2);
}
[b-en599cviw3] .kpi__valor {
    font-size: clamp(var(--pe-text-2xl), 5vw, var(--pe-text-3xl));
    font-weight: 700;
    line-height: 1;
    letter-spacing: var(--pe-tracking-tight);
    font-variant-numeric: tabular-nums;
}
[b-en599cviw3] .kpi__rotulo {
    font-size: var(--pe-text-xs);
    color: var(--pe-color-muted);
    text-transform: uppercase;
    letter-spacing: var(--pe-tracking-wide);
    font-weight: 600;
    margin-top: var(--pe-space-1);
}
[b-en599cviw3] .kpi__sub { font-size: var(--pe-text-xs); color: var(--pe-color-muted); }

/* Skeleton */
.kpi.kpi--skeleton[b-en599cviw3], [b-en599cviw3] .kpi.kpi--skeleton {
    min-height: 120px;
    background: linear-gradient(90deg,
        var(--pe-color-surface-2) 0%,
        var(--pe-color-surface) 50%,
        var(--pe-color-surface-2) 100%);
    background-size: 200% 100%;
    animation: pe-shimmer-b-en599cviw3 1.4s linear infinite;
    border-radius: var(--pe-radius-lg);
    border: 1px solid var(--pe-color-border);
}
.dash__skel-card[b-en599cviw3] {
    height: 220px;
    border-radius: var(--pe-radius-lg);
    border: 1px solid var(--pe-color-border);
    background: linear-gradient(90deg,
        var(--pe-color-surface-2) 0%,
        var(--pe-color-surface) 50%,
        var(--pe-color-surface-2) 100%);
    background-size: 200% 100%;
    animation: pe-shimmer-b-en599cviw3 1.4s linear infinite;
}
@keyframes pe-shimmer-b-en599cviw3 {
    from { background-position: 200% 0; }
    to   { background-position: -200% 0; }
}
@media (prefers-reduced-motion: reduce) {
    .kpi--skeleton[b-en599cviw3], [b-en599cviw3] .kpi--skeleton, .dash__skel-card[b-en599cviw3] { animation: none; }
}

/* ───── Cards (funnel, séries, breakdowns) ───────────────── */
.card[b-en599cviw3] {
    padding: var(--pe-space-6);
    background: var(--pe-color-surface);
    border: 1px solid var(--pe-color-border);
    border-radius: var(--pe-radius-lg);
    box-shadow: var(--pe-shadow-1);
}
.card__title[b-en599cviw3] {
    display: flex;
    align-items: center;
    gap: var(--pe-space-2);
    margin: 0 0 var(--pe-space-5) 0;
    font-size: var(--pe-text-lg);
    font-weight: 600;
    letter-spacing: var(--pe-tracking-snug);
}
.card__stack[b-en599cviw3] { display: flex; flex-direction: column; gap: var(--pe-space-3); }
.card .empty[b-en599cviw3] { color: var(--pe-color-muted); margin: 0; font-size: var(--pe-text-sm); }

.dash__grid[b-en599cviw3] {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--pe-space-4);
}

/* ───── Funnel ───────────────────────────────────────────── */
.funnel[b-en599cviw3] {
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-3);
}
[b-en599cviw3] .funnel__step {
    display: grid;
    grid-template-columns: 96px 1fr 64px;
    align-items: center;
    gap: var(--pe-space-3);
    min-height: 40px;
}
[b-en599cviw3] .funnel__label {
    font-size: var(--pe-text-sm);
    color: var(--pe-color-text-soft);
    font-weight: 500;
}
[b-en599cviw3] .funnel__val {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    text-align: right;
    font-size: var(--pe-text-sm);
}
[b-en599cviw3] .funnel__track {
    height: 10px;
    background: var(--pe-color-surface-2);
    border-radius: var(--pe-radius-pill);
    overflow: hidden;
}
[b-en599cviw3] .funnel__fill {
    width: var(--pct, 0%);
    height: 100%;
    background: linear-gradient(90deg, var(--pe-color-brand), var(--pe-color-accent));
    border-radius: var(--pe-radius-pill);
    transition: width var(--pe-motion-slow) var(--pe-easing-standard);
}

/* ───── Sparkline ────────────────────────────────────────── */
[b-en599cviw3] .sparkline {
    display: grid;
    grid-template-columns: 80px 1fr 64px;
    align-items: center;
    gap: var(--pe-space-3);
    color: var(--pe-color-brand);
    min-height: 40px;
}
[b-en599cviw3] .sparkline__label {
    color: var(--pe-color-text-soft);
    font-size: var(--pe-text-sm);
    font-weight: 500;
}
[b-en599cviw3] .sparkline__total {
    color: var(--pe-color-text);
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    text-align: right;
    font-size: var(--pe-text-sm);
}
[b-en599cviw3] .sparkline svg { width: 100%; height: 32px; }

/* ───── Bars (breakdowns) ────────────────────────────────── */
.bars[b-en599cviw3] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-3);
}
[b-en599cviw3] .bar {
    display: grid;
    grid-template-columns: minmax(80px, 110px) 1fr 56px;
    align-items: center;
    gap: var(--pe-space-3);
    min-height: 36px;
}
[b-en599cviw3] .bar__label {
    font-size: var(--pe-text-sm);
    color: var(--pe-color-text-soft);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
[b-en599cviw3] .bar__val {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    text-align: right;
    font-size: var(--pe-text-sm);
}
[b-en599cviw3] .bar__track {
    height: 8px;
    background: var(--pe-color-surface-2);
    border-radius: var(--pe-radius-pill);
    overflow: hidden;
}
[b-en599cviw3] .bar__fill {
    width: var(--pct, 0%);
    height: 100%;
    background: var(--pe-color-text);
    border-radius: var(--pe-radius-pill);
    transition: width var(--pe-motion-slow) var(--pe-easing-standard);
}

/* ───── Estados ──────────────────────────────────────────── */
.dash__empty[b-en599cviw3] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--pe-space-3);
    color: var(--pe-color-muted);
    text-align: center;
    padding: var(--pe-space-16) var(--pe-space-4);
}
.dash__footer[b-en599cviw3] {
    color: var(--pe-color-muted);
    font-size: var(--pe-text-xs);
    text-align: center;
    margin: 0;
    padding-top: var(--pe-space-4);
}

/* ───── Breakpoints ──────────────────────────────────────── */
@media (min-width: 640px) {
    .kpi-grid[b-en599cviw3] { grid-template-columns: repeat(3, 1fr); }
    .dash__grid[b-en599cviw3] { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
    .kpi-grid[b-en599cviw3] { grid-template-columns: repeat(5, 1fr); }
    .dash__grid[b-en599cviw3] { grid-template-columns: repeat(3, 1fr); }
}
/* /Components/Pages/Doacoes/DetalheDoacao.razor.rz.scp.css */
/* FILE: DetalheDoacao.razor.css — Detalhe premium da doação */

.ddet[b-5elij2h8ue] {
    max-width: var(--pe-container-max);
    margin: 0 auto;
    padding: var(--pe-space-4) var(--pe-space-6) var(--pe-space-16);
}

/* ── Back bar ──────────────────────────────────────────────── */
.ddet__back-bar[b-5elij2h8ue] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--pe-space-6);
}
.ddet__back[b-5elij2h8ue] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: .84rem;
    color: var(--pe-color-text-soft);
    text-decoration: none;
    transition: color .15s;
}
.ddet__back:hover[b-5elij2h8ue] { color: var(--pe-color-text); }
.ddet__back-actions[b-5elij2h8ue] { display: flex; gap: 8px; }

/* ── Layout 2 colunas ──────────────────────────────────────── */
.ddet__layout[b-5elij2h8ue] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--pe-space-10);
    align-items: start;
    margin-bottom: var(--pe-space-12);
}

/* ── Galeria ───────────────────────────────────────────────── */
.ddet__galeria-main[b-5elij2h8ue] {
    position: relative;
    border-radius: var(--pe-radius-xl);
    overflow: hidden;
    background: var(--pe-color-surface-2);
    aspect-ratio: 4/3;
}
.ddet__galeria-img[b-5elij2h8ue] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ddet__galeria-nav[b-5elij2h8ue] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(0,0,0,.5);
    backdrop-filter: blur(8px);
    color: #fff;
    border: none;
    cursor: pointer;
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s;
}
.ddet__galeria-nav:hover[b-5elij2h8ue] { background: rgba(0,0,0,.75); }
.ddet__galeria-nav--prev[b-5elij2h8ue] { left: 12px; }
.ddet__galeria-nav--next[b-5elij2h8ue] { right: 12px; }
.ddet__galeria-dots[b-5elij2h8ue] {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 6px;
}
.ddet__galeria-dot[b-5elij2h8ue] {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: rgba(255,255,255,.5);
    border: none;
    cursor: pointer;
    transition: background .15s, transform .15s;
}
.ddet__galeria-dot--ativo[b-5elij2h8ue] { background: #fff; transform: scale(1.3); }
.ddet__galeria-thumbs[b-5elij2h8ue] {
    display: flex;
    gap: var(--pe-space-2);
    margin-top: var(--pe-space-3);
    overflow-x: auto;
    scrollbar-width: none;
}
.ddet__galeria-thumb[b-5elij2h8ue] {
    flex-shrink: 0;
    width: 72px;
    height: 54px;
    border-radius: var(--pe-radius-md);
    overflow: hidden;
    border: 2.5px solid transparent;
    cursor: pointer;
    transition: border-color .15s;
}
.ddet__galeria-thumb img[b-5elij2h8ue] { width: 100%; height: 100%; object-fit: cover; }
.ddet__galeria-thumb--ativo[b-5elij2h8ue] { border-color: var(--pe-brand-500); }

/* ── Info ──────────────────────────────────────────────────── */
.ddet__badges[b-5elij2h8ue] { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: var(--pe-space-3); }
.ddet__badge-estado[b-5elij2h8ue] { padding: 3px 10px; border-radius: 999px; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.ddet__badge-estado--novo[b-5elij2h8ue]    { background: #dcfce7; color: #15803d; }
.ddet__badge-estado--bom[b-5elij2h8ue]     { background: #dbeafe; color: #1d4ed8; }
.ddet__badge-estado--usado[b-5elij2h8ue]   { background: #fef9c3; color: #a16207; }
.ddet__badge-estado--reparar[b-5elij2h8ue] { background: #fee2e2; color: #b91c1c; }
.ddet__badge-desmonta[b-5elij2h8ue] {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 3px 10px; border-radius: 999px;
    background: #f5f5f4; color: #44403c;
    font-size: .72rem; font-weight: 600;
}
.ddet__badge-inativo[b-5elij2h8ue] { padding: 3px 10px; border-radius: 999px; background: #f5f5f4; color: #6b7280; font-size: .72rem; font-weight: 600; }

.ddet__titulo[b-5elij2h8ue] { font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 800; letter-spacing: -.03em; margin: 0 0 var(--pe-space-4); }

/* ── Faixa de tempo ────────────────────────────────────────── */
.ddet__tempo-strip[b-5elij2h8ue] {
    display: flex;
    gap: var(--pe-space-4);
    flex-wrap: wrap;
    padding: var(--pe-space-3) var(--pe-space-4);
    background: var(--pe-color-surface-2);
    border-radius: var(--pe-radius-lg);
    margin-bottom: var(--pe-space-5);
    border: 1px solid var(--pe-color-border);
}
.ddet__tempo-item[b-5elij2h8ue] { display: inline-flex; align-items: center; gap: 5px; font-size: .82rem; color: var(--pe-color-text-soft); }
.ddet__tempo-item--urgente[b-5elij2h8ue] { color: #d97706; font-weight: 700; }

/* ── Secções ───────────────────────────────────────────────── */
.ddet__secao[b-5elij2h8ue] { margin-bottom: var(--pe-space-5); }
.ddet__secao-titulo[b-5elij2h8ue] { font-size: .84rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--pe-color-text-soft); margin: 0 0 var(--pe-space-2); }
.ddet__texto[b-5elij2h8ue] { margin: 0; line-height: 1.7; color: var(--pe-color-text); }

.ddet__secao--retirada[b-5elij2h8ue] {
    background: var(--pe-color-surface-2);
    border-radius: var(--pe-radius-lg);
    padding: var(--pe-space-4);
    border: 1px solid var(--pe-color-border);
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-3);
}
.ddet__retirada-item[b-5elij2h8ue] { display: flex; align-items: flex-start; gap: var(--pe-space-3); }
.ddet__retirada-item div[b-5elij2h8ue] { display: flex; flex-direction: column; gap: 2px; font-size: .87rem; }
.ddet__retirada-item strong[b-5elij2h8ue] { font-weight: 700; }
.ddet__retirada-item span[b-5elij2h8ue]   { color: var(--pe-color-text-soft); }

/* ── Métricas ──────────────────────────────────────────────── */
.ddet__metricas[b-5elij2h8ue] {
    display: flex; gap: var(--pe-space-4);
    font-size: .8rem; color: var(--pe-color-text-soft);
    margin-bottom: var(--pe-space-4);
}
.ddet__metricas span[b-5elij2h8ue] { display: inline-flex; align-items: center; gap: 4px; }

/* ── Reações ───────────────────────────────────────────────── */
.ddet__reacoes[b-5elij2h8ue] { display: flex; align-items: center; gap: var(--pe-space-2); margin-bottom: var(--pe-space-5); }
.ddet__reacao-btn[b-5elij2h8ue] {
    display: inline-flex; align-items: center; gap: 5px;
    height: 38px; padding: 0 var(--pe-space-4);
    border-radius: var(--pe-radius-pill);
    border: 1.5px solid var(--pe-color-border);
    background: var(--pe-color-surface-2);
    color: var(--pe-color-text-soft);
    font-size: .85rem; font-weight: 600; cursor: pointer;
    transition: all .15s;
}
.ddet__reacao-btn:hover:not(:disabled)[b-5elij2h8ue] { border-color: var(--pe-brand-500); color: var(--pe-brand-600); background: rgba(14,165,233,.06); }
.ddet__reacao-btn--ativo[b-5elij2h8ue] { border-color: var(--pe-brand-500); background: rgba(14,165,233,.1); color: var(--pe-brand-600); }
.ddet__reacao-btn--dislike.ddet__reacao-btn--ativo[b-5elij2h8ue] { border-color: #f87171; background: rgba(248,113,113,.1); color: #dc2626; }
.ddet__reacao-btn:disabled[b-5elij2h8ue] { opacity: .5; cursor: default; }
.ddet__reacao-hint[b-5elij2h8ue] { font-size: .78rem; color: var(--pe-color-text-soft); }
.ddet__reacao-hint a[b-5elij2h8ue] { color: var(--pe-color-brand); font-weight: 600; }

/* ── Aviso termos ──────────────────────────────────────────── */
.ddet__aviso-termos[b-5elij2h8ue] {
    display: flex; align-items: flex-start; gap: 8px;
    background: #fef3c7; color: #92400e;
    border-left: 4px solid #f59e0b;
    border-radius: var(--pe-radius-md);
    padding: var(--pe-space-3) var(--pe-space-4);
    font-size: .84rem;
    margin-bottom: var(--pe-space-4);
}
.ddet__aviso-termos a[b-5elij2h8ue] { color: inherit; font-weight: 700; }
.ddet__termos-link[b-5elij2h8ue] {
    background: none; border: none; padding: 0; font: inherit;
    color: inherit; font-weight: 700; cursor: pointer; text-decoration: underline; display: inline;
}

/* ── Doador ────────────────────────────────────────────────── */
.ddet__doador[b-5elij2h8ue] {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: .82rem; color: var(--pe-color-text-soft);
}

/* ── Icon buttons ──────────────────────────────────────────── */
.ddet__icon-btn[b-5elij2h8ue] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 38px; height: 38px; border-radius: 50%;
    border: 1.5px solid var(--pe-color-border);
    background: var(--pe-color-surface-2);
    color: var(--pe-color-text-soft); cursor: pointer;
    transition: all .15s;
}
.ddet__icon-btn:hover[b-5elij2h8ue] { color: var(--pe-color-text); border-color: var(--pe-color-border-strong); }
.ddet__icon-btn--denuncia:hover[b-5elij2h8ue] { border-color: #f87171; color: #dc2626; background: rgba(248,113,113,.08); }

/* ── Comentários ───────────────────────────────────────────── */
.ddet__comentarios-wrap[b-5elij2h8ue] { max-width: 760px; }

/* ── Modal de denúncia ─────────────────────────────────────── */
.ddet__overlay[b-5elij2h8ue] {
    position: fixed; inset: 0;
    background: rgba(0,0,0,.55);
    backdrop-filter: blur(4px);
    z-index: 200;
    display: flex; align-items: center; justify-content: center;
    padding: var(--pe-space-4);
}
.ddet__dialog[b-5elij2h8ue] {
    background: var(--pe-color-surface);
    border-radius: var(--pe-radius-xl);
    padding: var(--pe-space-8);
    width: 100%; max-width: 480px;
    position: relative;
    box-shadow: 0 24px 80px rgba(0,0,0,.22);
}
.ddet__dialog h3[b-5elij2h8ue] { display: flex; align-items: center; gap: 7px; font-size: 1.1rem; margin: 0 0 var(--pe-space-3); }
.ddet__dialog p[b-5elij2h8ue]  { color: var(--pe-color-text-soft); font-size: .88rem; margin: 0 0 var(--pe-space-4); }
.ddet__dialog-close[b-5elij2h8ue] {
    position: absolute; top: var(--pe-space-4); right: var(--pe-space-4);
    width: 32px; height: 32px; border-radius: 50%;
    background: var(--pe-color-surface-2); border: none; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    color: var(--pe-color-text-soft); transition: background .15s;
}
.ddet__textarea[b-5elij2h8ue] {
    width: 100%; padding: 10px 14px;
    border: 1.5px solid var(--pe-color-border);
    border-radius: var(--pe-radius-md);
    background: var(--pe-color-bg);
    color: var(--pe-color-text);
    font-family: inherit; font-size: .9rem;
    resize: vertical; outline: none;
    margin-bottom: var(--pe-space-3);
}
.ddet__dialog-actions[b-5elij2h8ue] { display: flex; gap: var(--pe-space-3); }
.ddet__btn[b-5elij2h8ue] {
    display: inline-flex; align-items: center; gap: 5px;
    height: 42px; padding: 0 var(--pe-space-6);
    border-radius: var(--pe-radius-pill);
    font-weight: 700; font-size: .88rem; cursor: pointer;
    border: none; text-decoration: none; transition: all .15s;
}
.ddet__btn--primary[b-5elij2h8ue] { background: var(--pe-brand-600); color: #fff; }
.ddet__btn--danger[b-5elij2h8ue]  { background: #dc2626; color: #fff; }
.ddet__btn--ghost[b-5elij2h8ue]   { background: var(--pe-color-surface-2); color: var(--pe-color-text); border: 1px solid var(--pe-color-border); }

/* ── Skeleton ──────────────────────────────────────────────── */
.ddet__skeleton-wrap[b-5elij2h8ue] { padding: var(--pe-space-8) var(--pe-space-6); display: flex; flex-direction: column; gap: var(--pe-space-4); max-width: 900px; margin: 0 auto; }
.ddet__sk[b-5elij2h8ue] { background: linear-gradient(90deg, var(--pe-color-surface-2) 25%, var(--pe-neutral-200) 50%, var(--pe-color-surface-2) 75%); background-size: 400%; animation: ddet-shimmer-b-5elij2h8ue 1.4s ease infinite; border-radius: var(--pe-radius-lg); }
.ddet__sk--img[b-5elij2h8ue]    { aspect-ratio: 16/9; }
.ddet__sk--titulo[b-5elij2h8ue] { height: 36px; width: 55%; }
.ddet__sk--sub[b-5elij2h8ue]    { height: 20px; width: 80%; }
@keyframes ddet-shimmer-b-5elij2h8ue { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } }

/* ── Não encontrado ────────────────────────────────────────── */
.ddet__nao-encontrado[b-5elij2h8ue] {
    display: flex; flex-direction: column; align-items: center;
    gap: var(--pe-space-4); padding: var(--pe-space-20) var(--pe-space-6);
    text-align: center; color: var(--pe-color-text-soft);
}
.ddet__nao-encontrado h2[b-5elij2h8ue] { color: var(--pe-color-text); margin: 0; }

/* ── Spinner ───────────────────────────────────────────────── */
.ddet__spinner[b-5elij2h8ue] { width: 16px; height: 16px; border: 2px solid rgba(255,255,255,.3); border-top-color: #fff; border-radius: 50%; animation: ddet-spin-b-5elij2h8ue .7s linear infinite; display: inline-block; }
.ddet__erro[b-5elij2h8ue] { color: #dc2626; font-size: .8rem; margin: 0 0 var(--pe-space-3); }
@keyframes ddet-spin-b-5elij2h8ue { to { transform: rotate(360deg); } }

/* ── Responsive ────────────────────────────────────────────── */
@media (max-width: 900px) {
    .ddet__layout[b-5elij2h8ue] { grid-template-columns: 1fr; }
    .ddet[b-5elij2h8ue] { padding-inline: var(--pe-space-4); }
}
/* /Components/Pages/Doacoes/ListaDoacoes.razor.rz.scp.css */
/* FILE: ListaDoacoes.razor.css
   PURPOSE: Lista pública premium "Dou-te se vieres Buscar" */

/* ── Hero ──────────────────────────────────────────────────── */
.dts__hero[b-3s3sdv7g1w] {
    background: linear-gradient(135deg, var(--pe-brand-700) 0%, var(--pe-brand-500) 60%, #34d399 100%);
    padding: var(--pe-space-16) var(--pe-space-6) var(--pe-space-12);
    text-align: center;
    color: #fff;
    position: relative;
    overflow: hidden;
}
.dts__hero[b-3s3sdv7g1w]::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='30' cy='30' r='28' fill='none' stroke='rgba(255,255,255,.06)' stroke-width='1'/%3E%3C/svg%3E") repeat;
    pointer-events: none;
}
.dts__hero-inner[b-3s3sdv7g1w] { position: relative; max-width: 680px; margin: 0 auto; }
.dts__hero-badge[b-3s3sdv7g1w] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.18);
    backdrop-filter: blur(8px);
    font-size: .73rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: var(--pe-space-4);
}
.dts__hero-titulo[b-3s3sdv7g1w] {
    font-size: clamp(1.8rem, 5vw, 3rem);
    font-weight: 800;
    letter-spacing: -.03em;
    margin: 0 0 var(--pe-space-3);
    line-height: 1.1;
}
.dts__hero-sub[b-3s3sdv7g1w] {
    font-size: 1rem;
    opacity: .88;
    margin: 0 0 var(--pe-space-8);
    line-height: 1.6;
}
.dts__hero-actions[b-3s3sdv7g1w] { display: flex; align-items: center; justify-content: center; gap: var(--pe-space-3); flex-wrap: wrap; }

/* ── Buttons ───────────────────────────────────────────────── */
.dts__btn[b-3s3sdv7g1w] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 44px;
    padding: 0 var(--pe-space-6);
    border-radius: var(--pe-radius-pill);
    font-weight: 700;
    font-size: .9rem;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: transform .15s, box-shadow .15s, background .15s;
}
.dts__btn--primary[b-3s3sdv7g1w] {
    background: #fff;
    color: var(--pe-brand-700);
    box-shadow: 0 4px 20px rgba(0,0,0,.18);
}
.dts__btn--primary:hover[b-3s3sdv7g1w] { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(0,0,0,.22); }
.dts__btn--ghost[b-3s3sdv7g1w] {
    background: rgba(255,255,255,.15);
    color: #fff;
    border: 1.5px solid rgba(255,255,255,.4);
}
.dts__btn--ghost:hover[b-3s3sdv7g1w] { background: rgba(255,255,255,.25); }

/* Ghost fora do hero */
.dts__mais .dts__btn--ghost[b-3s3sdv7g1w] {
    background: var(--pe-color-surface-2);
    color: var(--pe-color-text);
    border-color: var(--pe-color-border);
    margin: var(--pe-space-8) auto;
    display: flex;
    width: fit-content;
}

/* ── Aviso ─────────────────────────────────────────────────── */
.dts__aviso[b-3s3sdv7g1w] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    background: #fef3c7;
    color: #92400e;
    border-left: 4px solid #f59e0b;
    border-radius: var(--pe-radius-md);
    padding: var(--pe-space-3) var(--pe-space-4);
    font-size: .84rem;
    margin: var(--pe-space-6) auto;
    max-width: var(--pe-container-max);
    padding-inline: var(--pe-space-6);
}
.dts__aviso a[b-3s3sdv7g1w] { color: inherit; font-weight: 700; }

/* ── Grid ──────────────────────────────────────────────────── */
.dts__grid[b-3s3sdv7g1w] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--pe-space-6);
    max-width: var(--pe-container-max);
    margin: 0 auto;
    padding: 0 var(--pe-space-6) var(--pe-space-12);
}

/* ── Card ──────────────────────────────────────────────────── */
.dts__card[b-3s3sdv7g1w] {
    background: var(--pe-color-surface);
    border-radius: var(--pe-radius-xl);
    overflow: hidden;
    text-decoration: none;
    color: var(--pe-color-text);
    border: 1px solid var(--pe-color-border);
    transition: transform .2s var(--pe-easing-standard),
                box-shadow .2s var(--pe-easing-standard);
    display: flex;
    flex-direction: column;
}
.dts__card:hover[b-3s3sdv7g1w] {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px -8px rgba(0,0,0,.14);
}
.dts__card-img-wrap[b-3s3sdv7g1w] {
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: var(--pe-color-surface-2);
}
.dts__card-img[b-3s3sdv7g1w] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s var(--pe-easing-standard);
}
.dts__card:hover .dts__card-img[b-3s3sdv7g1w] { transform: scale(1.04); }

.dts__card-badge-estado[b-3s3sdv7g1w] {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.dts__card-badge-estado--novo[b-3s3sdv7g1w]    { background: #dcfce7; color: #15803d; }
.dts__card-badge-estado--bom[b-3s3sdv7g1w]     { background: #dbeafe; color: #1d4ed8; }
.dts__card-badge-estado--usado[b-3s3sdv7g1w]   { background: #fef9c3; color: #a16207; }
.dts__card-badge-estado--reparar[b-3s3sdv7g1w] { background: #fee2e2; color: #b91c1c; }

.dts__card-badge-desmonta[b-3s3sdv7g1w] {
    position: absolute;
    bottom: 10px;
    right: 10px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(0,0,0,.55);
    backdrop-filter: blur(6px);
    color: #fff;
    font-size: .67rem;
    font-weight: 600;
}
.dts__card-body[b-3s3sdv7g1w] { padding: var(--pe-space-4) var(--pe-space-4) var(--pe-space-3); flex: 1; display: flex; flex-direction: column; gap: var(--pe-space-1); }
.dts__card-titulo[b-3s3sdv7g1w] { font-size: .97rem; font-weight: 700; margin: 0; line-height: 1.3; }
.dts__card-desc[b-3s3sdv7g1w] { font-size: .82rem; color: var(--pe-color-text-soft); margin: 0; line-height: 1.5; flex: 1; }
.dts__card-meta[b-3s3sdv7g1w] {
    display: flex;
    gap: var(--pe-space-3);
    font-size: .76rem;
    color: var(--pe-color-text-soft);
    margin-top: var(--pe-space-2);
    flex-wrap: wrap;
}
.dts__card-meta span[b-3s3sdv7g1w], .dts__card-stats span[b-3s3sdv7g1w] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}
.dts__card-stats[b-3s3sdv7g1w] {
    display: flex;
    gap: var(--pe-space-3);
    font-size: .74rem;
    color: var(--pe-color-text-muted, var(--pe-color-text-soft));
    margin-top: var(--pe-space-1);
    border-top: 1px solid var(--pe-color-border);
    padding-top: var(--pe-space-2);
}

/* ── Skeleton ──────────────────────────────────────────────── */
.dts__card--skeleton[b-3s3sdv7g1w] { pointer-events: none; }
.dts__sk[b-3s3sdv7g1w] { background: linear-gradient(90deg, var(--pe-color-surface-2) 25%, var(--pe-neutral-200) 50%, var(--pe-color-surface-2) 75%); background-size: 400% 100%; animation: dts-shimmer-b-3s3sdv7g1w 1.4s ease infinite; border-radius: var(--pe-radius-md); }
.dts__sk--img[b-3s3sdv7g1w]  { aspect-ratio: 4/3; border-radius: 0; }
.dts__sk-body[b-3s3sdv7g1w]  { padding: var(--pe-space-4); display: flex; flex-direction: column; gap: var(--pe-space-2); }
.dts__sk--titulo[b-3s3sdv7g1w] { height: 18px; width: 70%; }
.dts__sk--sub[b-3s3sdv7g1w]    { height: 14px; width: 90%; }
@keyframes dts-shimmer-b-3s3sdv7g1w {
    0%   { background-position: 100% 0; }
    100% { background-position: -100% 0; }
}

/* ── Vazio ─────────────────────────────────────────────────── */
.dts__vazio[b-3s3sdv7g1w] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--pe-space-4);
    padding: var(--pe-space-20) var(--pe-space-6);
    color: var(--pe-color-text-soft);
    text-align: center;
}

/* ── Spinner ───────────────────────────────────────────────── */
.dts__spinner[b-3s3sdv7g1w] {
    width: 18px; height: 18px;
    border: 2.5px solid var(--pe-color-border);
    border-top-color: var(--pe-color-brand);
    border-radius: 50%;
    animation: dts-spin-b-3s3sdv7g1w .7s linear infinite;
}
@keyframes dts-spin-b-3s3sdv7g1w { to { transform: rotate(360deg); } }

@media (max-width: 640px) {
    .dts__grid[b-3s3sdv7g1w] { grid-template-columns: 1fr; padding-inline: var(--pe-space-4); }
    .dts__aviso[b-3s3sdv7g1w] { margin-inline: var(--pe-space-4); }
}
/* /Components/Pages/Doacoes/NovaDoacao.razor.rz.scp.css */
/* FILE: NovaDoacao.razor.css — Formulário premium de nova doação */

/* ── Wrapper de página com fundo premium ── */
.ndoa[b-4mxyjh1bmj] {
    max-width: 820px;
    margin: 0 auto;
    padding: var(--pe-space-8) var(--pe-space-6) var(--pe-space-16);
}

/* ── Header com hero banner ─────────────────────────────────── */
.ndoa__header[b-4mxyjh1bmj] {
    margin-bottom: var(--pe-space-8);
    padding: var(--pe-space-8) var(--pe-space-8);
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--pe-brand-600, #1a6fb5) 12%, var(--pe-color-surface)) 0%,
        color-mix(in srgb, #ffd700 8%, var(--pe-color-surface)) 100%);
    border-radius: var(--pe-radius-2xl);
    border: 1.5px solid color-mix(in srgb, var(--pe-brand-600, #1a6fb5) 18%, transparent);
    position: relative;
    overflow: hidden;
}
.ndoa__header[b-4mxyjh1bmj]::before {
    content: '🎁';
    position: absolute;
    right: var(--pe-space-8);
    top: 50%;
    transform: translateY(-50%);
    font-size: 4rem;
    opacity: .15;
    pointer-events: none;
}
.ndoa__back[b-4mxyjh1bmj] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: .83rem;
    color: var(--pe-color-text-soft);
    text-decoration: none;
    margin-bottom: var(--pe-space-4);
    transition: color .15s;
}
.ndoa__back:hover[b-4mxyjh1bmj] { color: var(--pe-color-text); }
.ndoa__titulo[b-4mxyjh1bmj] {
    font-size: clamp(1.5rem, 4vw, 2.2rem);
    font-weight: 900;
    margin: 0 0 var(--pe-space-2);
    letter-spacing: -.04em;
    background: linear-gradient(135deg, var(--pe-brand-600, #1a6fb5), #0ea5e9);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.ndoa__sub[b-4mxyjh1bmj] { color: var(--pe-color-text-soft); margin: 0; font-size: .95rem; max-width: 520px; }

/* ── Aviso gratuito ──────────────────────────────────────────── */
.ndoa__aviso-gratuito[b-4mxyjh1bmj] {
    display: flex;
    align-items: flex-start;
    gap: var(--pe-space-3);
    background: linear-gradient(135deg, #dcfce7, #bbf7d0);
    border: 1.5px solid #86efac;
    border-radius: var(--pe-radius-xl);
    padding: var(--pe-space-4) var(--pe-space-5);
    font-size: .88rem;
    color: #14532d;
    margin-bottom: var(--pe-space-8);
    box-shadow: 0 2px 12px -4px rgba(134,239,172,.4);
}
.ndoa__aviso-gratuito strong[b-4mxyjh1bmj] { display: block; font-weight: 700; margin-bottom: 2px; }

/* ── Fieldset — secção do formulário ─────────────────────────── */
.ndoa__fieldset[b-4mxyjh1bmj] {
    border: 1.5px solid var(--pe-color-border);
    border-radius: var(--pe-radius-xl);
    padding: var(--pe-space-7) var(--pe-space-7) var(--pe-space-6);
    margin-bottom: var(--pe-space-5);
    background: var(--pe-color-surface);
    box-shadow: 0 1px 6px -2px rgba(0,0,0,.06);
    transition: box-shadow .2s;
}
.ndoa__fieldset:focus-within[b-4mxyjh1bmj] {
    box-shadow: 0 4px 20px -6px rgba(14,165,233,.15);
    border-color: color-mix(in srgb, var(--pe-brand-500, #0ea5e9) 40%, var(--pe-color-border));
}
.ndoa__legend[b-4mxyjh1bmj] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 800;
    font-size: .88rem;
    padding: 3px var(--pe-space-3);
    margin-left: -6px;
    color: var(--pe-color-text);
    background: var(--pe-color-surface);
    border-radius: var(--pe-radius-md);
    letter-spacing: .02em;
    text-transform: uppercase;
}

/* ── Fotos ────────────────────────────────────────────────────── */
.ndoa__fotos-grid[b-4mxyjh1bmj] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: var(--pe-space-3);
    margin-top: var(--pe-space-4);
}
.ndoa__foto-slot[b-4mxyjh1bmj] {
    aspect-ratio: 1;
    border-radius: var(--pe-radius-lg);
    overflow: hidden;
    position: relative;
    cursor: pointer;
}
.ndoa__foto-slot--add[b-4mxyjh1bmj] {
    border: 2px dashed var(--pe-color-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    font-size: .78rem;
    color: var(--pe-color-text-soft);
    transition: border-color .15s, background .15s;
    background: var(--pe-color-surface-2);
}
.ndoa__foto-slot--add:hover[b-4mxyjh1bmj] {
    border-color: var(--pe-brand-500, #0ea5e9);
    background: rgba(14,165,233,.05);
    color: var(--pe-brand-600, #1a6fb5);
}
.ndoa__foto-slot--req[b-4mxyjh1bmj] { border-color: #fbbf24; }
.ndoa__foto-preview[b-4mxyjh1bmj] { width: 100%; height: 100%; object-fit: cover; }
.ndoa__foto-remove[b-4mxyjh1bmj] {
    position: absolute; top: 5px; right: 5px;
    width: 26px; height: 26px;
    border-radius: 50%;
    background: rgba(0,0,0,.6);
    color: #fff; border: none; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: background .15s;
}
.ndoa__foto-remove:hover[b-4mxyjh1bmj] { background: #ef4444; }
.ndoa__file-input[b-4mxyjh1bmj] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }

/* ── Fields ──────────────────────────────────────────────────── */
.ndoa__field[b-4mxyjh1bmj] { display: flex; flex-direction: column; gap: 6px; margin-bottom: var(--pe-space-4); }
.ndoa__field:last-child[b-4mxyjh1bmj] { margin-bottom: 0; }
.ndoa__label[b-4mxyjh1bmj] { font-size: .84rem; font-weight: 700; color: var(--pe-color-text); }
.ndoa__obrig[b-4mxyjh1bmj] { color: var(--pe-color-urgent, #ef4444); font-size: .75rem; font-weight: 500; }
.ndoa__input[b-4mxyjh1bmj], .ndoa__textarea[b-4mxyjh1bmj], .ndoa__select[b-4mxyjh1bmj] {
    width: 100%;
    padding: 11px 14px;
    border: 1.5px solid var(--pe-color-border);
    border-radius: var(--pe-radius-md);
    background: var(--pe-color-bg);
    color: var(--pe-color-text);
    font-size: .92rem;
    font-family: inherit;
    transition: border-color .15s, box-shadow .15s;
    outline: none;
}
.ndoa__input:focus[b-4mxyjh1bmj], .ndoa__textarea:focus[b-4mxyjh1bmj], .ndoa__select:focus[b-4mxyjh1bmj] {
    border-color: var(--pe-brand-500, #0ea5e9);
    box-shadow: 0 0 0 3px rgba(14,165,233,.15);
}
.ndoa__textarea[b-4mxyjh1bmj] { resize: vertical; min-height: 100px; }
.ndoa__row[b-4mxyjh1bmj] { display: grid; grid-template-columns: 1fr 1fr; gap: var(--pe-space-4); }
.ndoa__field--check[b-4mxyjh1bmj] { justify-content: flex-end; padding-bottom: 2px; }

/* ── Checkbox ────────────────────────────────────────────────── */
.ndoa__check-label[b-4mxyjh1bmj] { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; font-size: .87rem; line-height: 1.5; }
.ndoa__checkbox[b-4mxyjh1bmj] { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; accent-color: var(--pe-brand-600); }

/* ── Termos ──────────────────────────────────────────────────── */
.ndoa__termos[b-4mxyjh1bmj] {
    padding: var(--pe-space-4) var(--pe-space-5);
    background: color-mix(in srgb, var(--pe-brand-600, #1a6fb5) 5%, var(--pe-color-surface));
    border-radius: var(--pe-radius-lg);
    margin-bottom: var(--pe-space-6);
    border: 1.5px solid color-mix(in srgb, var(--pe-brand-600, #1a6fb5) 18%, transparent);
}
.ndoa__termos a[b-4mxyjh1bmj] { color: var(--pe-color-brand); font-weight: 600; }
.ndoa__termos-link[b-4mxyjh1bmj] {
    background: none; border: none; padding: 0; font: inherit;
    color: var(--pe-color-brand); font-weight: 600;
    cursor: pointer; text-decoration: underline; display: inline;
}
.ndoa__termos-link:hover[b-4mxyjh1bmj] { color: var(--pe-brand-700, #155e9e); }

/* ── Erros ───────────────────────────────────────────────────── */
.ndoa__erro[b-4mxyjh1bmj] { color: #dc2626; font-size: .8rem; margin: 4px 0 0; }
.ndoa__erro-global[b-4mxyjh1bmj] {
    background: #fee2e2; color: #b91c1c;
    border-radius: var(--pe-radius-md);
    padding: var(--pe-space-3) var(--pe-space-4);
    font-size: .88rem; margin-bottom: var(--pe-space-4);
    border: 1px solid #fca5a5;
}

/* ── Actions ─────────────────────────────────────────────────── */
.ndoa__actions[b-4mxyjh1bmj] { display: flex; gap: var(--pe-space-3); align-items: center; flex-wrap: wrap; }
.ndoa__btn[b-4mxyjh1bmj] {
    display: inline-flex; align-items: center; gap: 6px;
    height: 50px; padding: 0 var(--pe-space-8);
    border-radius: var(--pe-radius-pill);
    font-weight: 800; font-size: .92rem;
    text-decoration: none; cursor: pointer; border: none;
    transition: transform .15s, box-shadow .15s, background .15s;
}
.ndoa__btn:disabled[b-4mxyjh1bmj] { opacity: .6; cursor: not-allowed; }
.ndoa__btn--primary[b-4mxyjh1bmj] {
    background: linear-gradient(135deg, var(--pe-brand-600, #1a6fb5), #0284c7);
    color: #fff;
    box-shadow: 0 6px 24px -6px rgba(2,132,199,.5);
}
.ndoa__btn--primary:hover:not(:disabled)[b-4mxyjh1bmj] {
    box-shadow: 0 8px 30px -6px rgba(2,132,199,.6);
    transform: translateY(-2px);
}
.ndoa__btn--ghost[b-4mxyjh1bmj] {
    background: var(--pe-color-surface-2); color: var(--pe-color-text);
    border: 1.5px solid var(--pe-color-border);
}
.ndoa__btn--ghost:hover[b-4mxyjh1bmj] { background: var(--pe-color-surface); }

/* ── Sucesso ─────────────────────────────────────────────────── */
.ndoa__sucesso[b-4mxyjh1bmj] {
    text-align: center;
    padding: var(--pe-space-16) var(--pe-space-6);
    display: flex; flex-direction: column; align-items: center; gap: var(--pe-space-4);
}
.ndoa__sucesso h2[b-4mxyjh1bmj] { font-size: 1.7rem; font-weight: 900; margin: 0; letter-spacing: -.03em; }
.ndoa__sucesso p[b-4mxyjh1bmj]  { color: var(--pe-color-text-soft); margin: 0; }
.ndoa__sucesso-actions[b-4mxyjh1bmj] { display: flex; gap: var(--pe-space-3); flex-wrap: wrap; justify-content: center; margin-top: var(--pe-space-4); }

/* ── Spinner ─────────────────────────────────────────────────── */
.ndoa__spinner[b-4mxyjh1bmj] {
    width: 18px; height: 18px;
    border: 2.5px solid rgba(255,255,255,.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: ndoa-spin-b-4mxyjh1bmj .7s linear infinite;
}
@keyframes ndoa-spin-b-4mxyjh1bmj { to { transform: rotate(360deg); } }

@media (max-width: 600px) {
    .ndoa[b-4mxyjh1bmj] { padding-inline: var(--pe-space-4); }
    .ndoa__header[b-4mxyjh1bmj] { padding: var(--pe-space-6) var(--pe-space-5); }
    .ndoa__header[b-4mxyjh1bmj]::before { display: none; }
    .ndoa__row[b-4mxyjh1bmj] { grid-template-columns: 1fr; }
    .ndoa__fotos-grid[b-4mxyjh1bmj] { grid-template-columns: repeat(3, 1fr); }
    .ndoa__fieldset[b-4mxyjh1bmj] { padding: var(--pe-space-5); }
}
/* /Components/Pages/Doacoes/TermosDoacaoModal.razor.rz.scp.css */
/* FILE: TermosDoacaoModal.razor.css */

.tdmodal__backdrop[b-dmzui68pvr] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.55);
    backdrop-filter: blur(4px);
    z-index: 1000;
    animation: tdmodal-fadein-b-dmzui68pvr .2s ease;
}

.tdmodal[b-dmzui68pvr] {
    position: fixed;
    inset: 0;
    margin: auto;
    width: min(720px, 96vw);
    max-height: 88vh;
    display: flex;
    flex-direction: column;
    border: none;
    border-radius: var(--pe-radius-2xl);
    background: var(--pe-color-surface);
    box-shadow: 0 24px 64px -12px rgba(0,0,0,.4);
    z-index: 1001;
    animation: tdmodal-slidein-b-dmzui68pvr .25s var(--pe-easing-standard, cubic-bezier(.4,0,.2,1));
    overflow: hidden;
    padding: 0;
}

.tdmodal__header[b-dmzui68pvr] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--pe-space-4);
    padding: var(--pe-space-6) var(--pe-space-6) var(--pe-space-4);
    border-bottom: 1px solid var(--pe-color-border);
    flex-shrink: 0;
}

.tdmodal__titulo[b-dmzui68pvr] {
    font-size: clamp(1rem, 3vw, 1.25rem);
    font-weight: 800;
    letter-spacing: -.02em;
    margin: 0;
    color: var(--pe-color-text);
}

.tdmodal__fechar[b-dmzui68pvr] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: var(--pe-color-surface-2);
    color: var(--pe-color-muted);
    cursor: pointer;
    flex-shrink: 0;
    transition: background .15s, color .15s;
}
.tdmodal__fechar:hover[b-dmzui68pvr] { background: var(--pe-color-surface-3); color: var(--pe-color-text); }

.tdmodal__body[b-dmzui68pvr] {
    flex: 1;
    overflow-y: auto;
    padding: var(--pe-space-6);
    scroll-behavior: smooth;
}

.tdmodal__data[b-dmzui68pvr] {
    color: var(--pe-color-muted);
    font-size: .8rem;
    margin: 0 0 var(--pe-space-6);
}

.tdmodal__section[b-dmzui68pvr] {
    margin-bottom: var(--pe-space-6);
    padding-bottom: var(--pe-space-6);
    border-bottom: 1px solid var(--pe-color-border);
}
.tdmodal__section:last-of-type[b-dmzui68pvr] { border-bottom: none; }

.tdmodal__section h3[b-dmzui68pvr] {
    font-size: .95rem;
    font-weight: 700;
    color: var(--pe-color-text);
    margin: 0 0 var(--pe-space-2);
}

.tdmodal__section p[b-dmzui68pvr] {
    color: var(--pe-color-text-soft);
    line-height: 1.75;
    margin: 0;
    font-size: .9rem;
}

.tdmodal__aceite[b-dmzui68pvr] {
    background: color-mix(in srgb, var(--pe-color-brand) 8%, var(--pe-color-surface));
    border: 1px solid color-mix(in srgb, var(--pe-color-brand) 20%, transparent);
    border-radius: var(--pe-radius-lg);
    padding: var(--pe-space-4);
    color: var(--pe-color-text);
    font-size: .88rem;
    font-weight: 600;
    margin-top: var(--pe-space-6);
}

.tdmodal__footer[b-dmzui68pvr] {
    padding: var(--pe-space-4) var(--pe-space-6);
    border-top: 1px solid var(--pe-color-border);
    display: flex;
    justify-content: flex-end;
    flex-shrink: 0;
    background: var(--pe-color-surface-2);
}

.tdmodal__btn-fechar[b-dmzui68pvr] {
    display: inline-flex;
    align-items: center;
    padding: 0 var(--pe-space-6);
    height: 42px;
    border-radius: var(--pe-radius-lg);
    border: none;
    background: var(--pe-color-brand);
    color: #fff;
    font: inherit;
    font-weight: 700;
    font-size: .9rem;
    cursor: pointer;
    transition: background .15s, transform .12s;
}
.tdmodal__btn-fechar:hover[b-dmzui68pvr] {
    background: var(--pe-brand-700, #155e9e);
    transform: scale(1.02);
}

@keyframes tdmodal-fadein-b-dmzui68pvr {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@keyframes tdmodal-slidein-b-dmzui68pvr {
    from { opacity: 0; transform: translateY(20px) scale(.97); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}
/* /Components/Pages/EditarEvento.razor.rz.scp.css */
/* FILE: EditarEvento.razor.css
   PURPOSE: Estilos da página de edição de evento. Mobile-first. Segue o mesmo padrão visual do CriarEvento.
   TOKENS:  tokens.css
   AI-NOTE: Usa classes edit-evt__ para isolamento de escopo. */

.edit-evt[b-9aazdtezdo] {
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-6, 1.5rem);
    max-width: 640px;
    margin: 0 auto;
    padding: 1.5rem 1rem 4rem;
}

/* ── Sticky bar de guardar ─────────────────────────────────── */
.edit-evt__sticky-bar[b-9aazdtezdo] {
    position: sticky;
    top: 60px; /* abaixo do topbar mobile */
    z-index: 40;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    background: color-mix(in srgb, var(--pe-color-surface, #fff) 92%, transparent);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--pe-color-border, #e5e7eb);
    border-radius: 12px;
    padding: 0.625rem 1rem;
    box-shadow: 0 2px 12px rgba(0,0,0,.08);
}

@media (min-width: 768px) {
    .edit-evt__sticky-bar[b-9aazdtezdo] { top: 110px; }
}

.edit-evt__sticky-hint[b-9aazdtezdo] {
    font-size: 0.8125rem;
    color: var(--pe-color-text-muted, #6b7280);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.edit-evt__btn--guardar[b-9aazdtezdo] {
    flex-shrink: 0;
    gap: 0.4rem;
    min-width: 0;
    padding: 0 1.1rem;
    min-height: 40px;
    font-size: 0.875rem;
}

.edit-evt__spinner--sm[b-9aazdtezdo] {
    width: 14px;
    height: 14px;
    border-width: 2px;
}

/* ── Gate (não autenticado) ────────────────────────────────── */
.edit-evt--gate[b-9aazdtezdo] {
    align-items: center;
    text-align: center;
    padding: 4rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* ── Cabeçalho ─────────────────────────────────────────────── */
.edit-evt__hdr[b-9aazdtezdo] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.edit-evt__back[b-9aazdtezdo] {
    font-size: 0.875rem;
    color: var(--pe-color-text-muted, #6b7280);
    text-decoration: none;
}

.edit-evt__back:hover[b-9aazdtezdo] { color: var(--pe-color-text, #111); }

.edit-evt__hdr-row[b-9aazdtezdo] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.edit-evt__hdr-row h1[b-9aazdtezdo] {
    font-size: 1.5rem;
    font-weight: 800;
    margin: 0;
    letter-spacing: -0.02em;
}

.edit-evt__badge[b-9aazdtezdo] {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.2rem 0.7rem;
    border-radius: 999px;
    background: var(--pe-color-surface-2, #f3f4f6);
    color: var(--pe-color-text-muted, #6b7280);
}

.edit-evt__badge--publicado[b-9aazdtezdo] { background: #d1fae5; color: #065f46; }
.edit-evt__badge--rascunho[b-9aazdtezdo]  { background: #fef3c7; color: #92400e; }
.edit-evt__badge--rejeitado[b-9aazdtezdo] { background: #fee2e2; color: #991b1b; }
.edit-evt__badge--em_moderacao[b-9aazdtezdo] { background: #ede9fe; color: #5b21b6; }

/* ── Loading ───────────────────────────────────────────────── */
.edit-evt__loading[b-9aazdtezdo] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--pe-color-text-muted, #6b7280);
    padding: 3rem 0;
    justify-content: center;
}

.edit-evt__spinner[b-9aazdtezdo] {
    width: 20px; height: 20px;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: edit-evt-spin-b-9aazdtezdo 0.7s linear infinite;
    display: inline-block;
}

@keyframes edit-evt-spin-b-9aazdtezdo { to { transform: rotate(360deg); } }

/* ── Corpo ─────────────────────────────────────────────────── */
.edit-evt__corpo[b-9aazdtezdo] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* ── Secções ───────────────────────────────────────────────── */
.edit-evt__seccao[b-9aazdtezdo] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1.25rem;
    background: var(--pe-color-bg, #fff);
    border: 1px solid var(--pe-color-border, #e5e7eb);
    border-radius: 12px;
}

.edit-evt__seccao-titulo[b-9aazdtezdo] {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--pe-color-text-muted, #9ca3af);
    margin: 0;
}

/* ── Campos ────────────────────────────────────────────────── */
.edit-evt__campo[b-9aazdtezdo] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.edit-evt__campo label[b-9aazdtezdo] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--pe-color-text, #111);
}

.edit-evt__campo label small[b-9aazdtezdo] {
    font-weight: 400;
    color: var(--pe-color-text-muted, #9ca3af);
    margin-left: 4px;
}

.edit-evt__campo input[b-9aazdtezdo],
.edit-evt__campo textarea[b-9aazdtezdo],
.edit-evt__campo select[b-9aazdtezdo] {
    width: 100%;
    min-height: 42px;
    padding: 0.5rem 0.75rem;
    border: 1.5px solid var(--pe-color-border, #d1d5db);
    border-radius: 8px;
    font: inherit;
    font-size: 0.9375rem;
    background: var(--pe-color-bg, #fff);
    color: var(--pe-color-text, #111);
    transition: border-color 0.15s;
    box-sizing: border-box;
}

.edit-evt__campo input:focus[b-9aazdtezdo],
.edit-evt__campo textarea:focus[b-9aazdtezdo],
.edit-evt__campo select:focus[b-9aazdtezdo] {
    outline: none;
    border-color: var(--pe-color-text, #111);
}

.edit-evt__campo textarea[b-9aazdtezdo] { resize: vertical; }

.edit-evt__check-label[b-9aazdtezdo] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9375rem;
    font-weight: 500;
    cursor: pointer;
}

.edit-evt__check-label input[b-9aazdtezdo] {
    width: auto;
    min-height: auto;
    accent-color: var(--pe-color-text, #111);
}

.edit-evt__hint[b-9aazdtezdo] {
    font-size: 0.75rem;
    color: var(--pe-color-text-muted, #9ca3af);
    text-align: right;
}

/* ── Layout em linha ───────────────────────────────────────── */
.edit-evt__row[b-9aazdtezdo] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

@media (max-width: 480px) {
    .edit-evt__row[b-9aazdtezdo] { grid-template-columns: 1fr; }
}

/* ── Categorias ────────────────────────────────────────────── */
.edit-evt__cats[b-9aazdtezdo] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.edit-evt__cat[b-9aazdtezdo] {
    padding: 0.35rem 0.9rem;
    border-radius: 999px;
    border: 1.5px solid var(--pe-color-border, #d1d5db);
    background: transparent;
    font: inherit;
    font-size: 0.875rem;
    cursor: pointer;
    color: var(--pe-color-text, #111);
    transition: all 0.15s;
}

.edit-evt__cat:hover[b-9aazdtezdo] {
    border-color: var(--pe-color-text, #111);
}

.edit-evt__cat--on[b-9aazdtezdo] {
    background: var(--pe-color-text, #111);
    border-color: var(--pe-color-text, #111);
    color: var(--pe-color-bg, #fff);
}

/* ── Preview de imagem ─────────────────────────────────────── */
.edit-evt__img-preview[b-9aazdtezdo] {
    width: 100%;
    max-height: 200px;
    object-fit: cover;
    border-radius: 8px;
    margin-top: 0.25rem;
}

/* ── Alerta ────────────────────────────────────────────────── */
.edit-evt__alerta[b-9aazdtezdo] {
    padding: 0.75rem 1rem;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 500;
}

.edit-evt__alerta--erro[b-9aazdtezdo] {
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fca5a5;
}

/* ── Acções ────────────────────────────────────────────────── */
.edit-evt__acoes[b-9aazdtezdo] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding-top: 0.5rem;
}

.edit-evt__btn[b-9aazdtezdo] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 1.4rem;
    border-radius: 8px;
    border: 1.5px solid var(--pe-color-border, #d1d5db);
    background: transparent;
    font: inherit;
    font-size: 0.9375rem;
    font-weight: 600;
    cursor: pointer;
    color: var(--pe-color-text, #111);
    text-decoration: none;
    transition: box-shadow 0.15s, border-color 0.15s;
}

.edit-evt__btn:hover[b-9aazdtezdo] { border-color: var(--pe-color-text, #111); }

.edit-evt__btn--primary[b-9aazdtezdo] {
    background: var(--pe-color-text, #111);
    color: var(--pe-color-bg, #fff);
    border-color: transparent;
    min-width: 180px;
}

.edit-evt__btn--primary:hover[b-9aazdtezdo] { box-shadow: 0 4px 12px rgba(0,0,0,.18); }
.edit-evt__btn--primary:disabled[b-9aazdtezdo] { opacity: 0.6; cursor: not-allowed; }

/* ── Uploader de imagem premium ─────────────────────────────────── */
.edit-evt__uploader[b-9aazdtezdo] {
    position: relative;
    min-height: 180px;
    border: 2px dashed var(--pe-color-border, #d1d5db);
    border-radius: var(--pe-radius-lg, 12px);
    background: var(--pe-color-surface-alt, #f9fafb);
    cursor: pointer;
    overflow: hidden;
    transition: border-color .2s, background .2s, box-shadow .2s;
    display: flex; align-items: center; justify-content: center;
}
.edit-evt__uploader:hover[b-9aazdtezdo] {
    border-color: var(--pe-color-accent, #2563eb);
    background: #eff6ff;
    box-shadow: 0 0 0 4px rgba(37,99,235,.08);
}
.edit-evt__uploader--over[b-9aazdtezdo] {
    border-color: var(--pe-color-accent, #2563eb);
    background: #dbeafe;
    box-shadow: 0 0 0 4px rgba(37,99,235,.15);
}
.edit-evt__uploader-input[b-9aazdtezdo] {
    position: absolute; inset: 0;
    opacity: 0; width: 100%; height: 100%;
    cursor: pointer; z-index: 2;
}
.edit-evt__uploader-prompt[b-9aazdtezdo] {
    display: flex; flex-direction: column; align-items: center; gap: 6px;
    padding: var(--pe-space-6, 1.5rem); text-align: center;
    pointer-events: none; z-index: 1;
}
.edit-evt__uploader-icon[b-9aazdtezdo] { font-size: 2.5rem; line-height: 1; }
.edit-evt__uploader-prompt strong[b-9aazdtezdo] { font-size: 1rem; font-weight: 700; color: var(--pe-color-text, #111); }
.edit-evt__uploader-prompt span[b-9aazdtezdo] { font-size: 0.875rem; color: var(--pe-color-text-muted, #6b7280); }
.edit-evt__uploader-prompt small[b-9aazdtezdo] { font-size: 0.75rem; color: var(--pe-color-text-muted, #9ca3af); }
.edit-evt__uploader-preview[b-9aazdtezdo] {
    width: 100%; min-height: 180px; object-fit: cover;
    display: block; border-radius: inherit;
}
.edit-evt__uploader-overlay[b-9aazdtezdo] {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.45) 0%, transparent 60%);
    opacity: 0; transition: opacity .2s; z-index: 3;
    display: flex; align-items: flex-start; justify-content: flex-end; padding: 10px;
}
.edit-evt__uploader:hover .edit-evt__uploader-overlay[b-9aazdtezdo] { opacity: 1; }
.edit-evt__uploader-remover[b-9aazdtezdo] {
    background: rgba(0,0,0,.6); color: #fff; border: none; border-radius: 999px;
    width: 28px; height: 28px; font-size: .875rem; cursor: pointer;
    display: flex; align-items: center; justify-content: center; line-height: 1;
    transition: background .15s;
}
.edit-evt__uploader-remover:hover[b-9aazdtezdo] { background: #ef4444; }
.edit-evt__uploader-loading[b-9aazdtezdo] {
    display: flex; flex-direction: column; align-items: center; gap: 10px;
    color: var(--pe-color-text-muted); z-index: 1; pointer-events: none;
}
.edit-evt__spinner[b-9aazdtezdo] {
    width: 18px; height: 18px; border-radius: 999px;
    border: 2px solid var(--pe-color-border); border-top-color: var(--pe-color-text);
    animation: ee-spin-b-9aazdtezdo .8s linear infinite; display: inline-block;
}
@keyframes ee-spin-b-9aazdtezdo { to { transform: rotate(360deg); } }
.edit-evt__erro-inline[b-9aazdtezdo] { font-size: 0.8125rem; color: var(--pe-color-error, #dc2626); margin: 4px 0 0; }
.edit-evt__url-fallback[b-9aazdtezdo] { margin-top: var(--pe-space-2, .5rem); font-size: 0.875rem; }
.edit-evt__url-fallback summary[b-9aazdtezdo] {
    cursor: pointer; color: var(--pe-color-text-muted, #6b7280); user-select: none; padding: 4px 0;
}
.edit-evt__url-fallback input[type="url"][b-9aazdtezdo] {
    width: 100%; margin-top: 8px; padding: 8px 12px;
    border: 1.5px solid var(--pe-color-border, #d1d5db);
    border-radius: var(--pe-radius, 8px); font-size: 0.875rem;
    background: var(--pe-color-surface, #fff); color: var(--pe-color-text); box-sizing: border-box;
}


/* -- Quill rich-text editor host ----------------------------------- */
.edit-evt__quill-editor[b-9aazdtezdo] {
    min-height: 220px;
    border-radius: 0 0 var(--pe-radius, 8px) var(--pe-radius, 8px);
    font-size: 0.95rem;
    background: var(--pe-color-surface, #fff);
}
/* /Components/Pages/EventoDetalhe.razor.rz.scp.css */
/* FILE: EventoDetalhe.razor.css
   LAYOUT: mobile-first, 1 coluna. Desktop ≥ 1024 px: grid 2 colunas (conteúdo | sidebar).
   Sidebar agrupa Local, Tração, Comentários, Contribuição e Rodapé numa coluna coesa. */

/* ── Container principal ─────────────────────────────────── */
.evt[b-9483yblsxc] {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
        "crumb"
        "status"
        "hero"
        "body"
        "cta"
        "sidebar";
    gap: var(--pe-space-4);
    padding-bottom: calc(var(--pe-space-12) + var(--pe-safe-bottom));
    min-width: 0; /* evita overflow em grid/flex filhos */
    overflow-x: hidden;
}

/* ── Breadcrumb ──────────────────────────────────────────── */
.evt__breadcrumb[b-9483yblsxc] {
    grid-area: crumb;
    font-size: var(--pe-text-sm);
    color: var(--pe-color-muted);
}
.evt__breadcrumb a[b-9483yblsxc] {
    display: inline-flex;
    align-items: center;
    gap: var(--pe-space-1);
    color: var(--pe-color-muted);
}
.evt__breadcrumb a:hover[b-9483yblsxc] { color: var(--pe-color-text); }
.evt__back-icon[b-9483yblsxc] { transform: rotate(180deg); }

/* ── Meta row (status banner + toggle idioma) ─────────────── */
.evt__meta-row[b-9483yblsxc] {
    grid-area: status;
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-2);
}

/* ── Banner de status ────────────────────────────────────── */
.evt__status-banner[b-9483yblsxc] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border-radius: var(--pe-radius-lg, 12px);
    font-size: 0.875rem;
    line-height: 1.4;
    flex-wrap: wrap;
}
.evt__status-banner--pendenteaprovacao[b-9483yblsxc] {
    background: #fef9c3; border: 1.5px solid #fde047; color: #854d0e;
}
.evt__status-banner--rejeitado[b-9483yblsxc] {
    background: #fee2e2; border: 1.5px solid #fca5a5; color: #991b1b;
}
.evt__status-banner--rascunho[b-9483yblsxc] {
    background: #f1f5f9; border: 1.5px solid #cbd5e1; color: #475569;
}
.evt__status-banner-cta[b-9483yblsxc] {
    margin-left: auto;
    padding: 4px 14px;
    border-radius: 999px;
    font-size: 0.8125rem;
    font-weight: 600;
    background: rgba(0,0,0,.08);
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
    transition: background .15s;
}
.evt__status-banner-cta:hover[b-9483yblsxc] { background: rgba(0,0,0,.15); }
.evt__status-banner-cta--admin[b-9483yblsxc] { background: #111; color: #fff; }
.evt__status-banner-cta--admin:hover[b-9483yblsxc] { background: #374151; }

/* ── Hero ────────────────────────────────────────────────── */
.evt__hero[b-9483yblsxc] {
    grid-area: hero;
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-4);
}

.evt__hero-media[b-9483yblsxc] {
    position: relative;
    border-radius: var(--pe-radius-xl);
    overflow: hidden;
    background: var(--pe-color-surface-2);
    box-shadow: var(--pe-shadow-3);
}

.evt__hero-media img[b-9483yblsxc] {
    width: 100%;
    height: auto;
    /* Mobile: limitar a 50vh para título/CTA ficarem above the fold */
    max-height: 50vh;
    display: block;
    object-fit: contain;
    background: #0a0a0a;
}

@media (min-width: 640px) {
    .evt__hero-media img[b-9483yblsxc] { max-height: 72vh; }
}

.evt__credito[b-9483yblsxc] {
    position: absolute;
    bottom: var(--pe-space-2);
    right: var(--pe-space-3);
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.68rem;
    color: rgba(255,255,255,.75);
    background: rgba(0,0,0,.35);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    padding: 2px 8px;
    border-radius: var(--pe-radius-pill);
    pointer-events: none;
}

.evt__hero-content[b-9483yblsxc] {
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-2);
    min-width: 0; /* flex filho: impede crescimento além do pai */
}

.evt__kicker[b-9483yblsxc] {
    display: inline-flex;
    align-items: center;
    gap: var(--pe-space-1);
    color: var(--pe-color-muted);
    font-size: var(--pe-text-sm);
    font-weight: 500;
}

.evt__title[b-9483yblsxc] {
    font-size: clamp(var(--pe-text-2xl), 5vw, var(--pe-text-4xl));
    line-height: var(--pe-leading-tight);
    letter-spacing: var(--pe-tracking-tight);
    font-weight: 700;
    color: var(--pe-color-text);
    margin: 0;
    overflow-wrap: break-word;   /* quebra palavras longas sem espaço */
    word-break: break-word;       /* compatibilidade cross-browser */
    hyphens: auto;                /* hifenização automática quando disponível */
    min-width: 0;
}

.evt__when[b-9483yblsxc] {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--pe-space-1);
    color: var(--pe-color-text-soft);
    font-size: var(--pe-text-base);
    margin: 0;
    text-transform: capitalize;
}
.evt__when-dot[b-9483yblsxc] { margin: 0 var(--pe-space-1); color: var(--pe-color-muted); }

.evt__price[b-9483yblsxc] {
    display: inline-flex;
    align-items: baseline;
    gap: var(--pe-space-2);
}
.evt__price-from[b-9483yblsxc] { font-size: var(--pe-text-sm); color: var(--pe-color-muted); }
.evt__price-value[b-9483yblsxc] { font-size: var(--pe-text-xl); font-weight: 700; color: var(--pe-color-text); }
.evt__price-free[b-9483yblsxc] {
    font-size: var(--pe-text-sm);
    font-weight: 600;
    color: var(--pe-success-text, var(--pe-color-success-text));
    background: var(--pe-color-success-bg);
    padding: 2px var(--pe-space-3);
    border-radius: var(--pe-radius-pill);
}

/* ── Body (descrição + contrib + rodapé) ────────────────────── */
.evt__body[b-9483yblsxc] {
    grid-area: body;
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-3);
}

.evt__lead[b-9483yblsxc] {
    font-size: var(--pe-text-lg);
    line-height: var(--pe-leading-snug);
    color: var(--pe-color-text);
    font-weight: 500;
}

.evt__desc[b-9483yblsxc] {
    font-size: var(--pe-text-base);
    line-height: var(--pe-leading-relaxed);
    color: var(--pe-color-text-soft);
    white-space: pre-line;
}

/* Conteúdo HTML colado de fontes externas: contém possíveis tabelas,
   elementos pre, white-space:nowrap e larguras fixas injectadas por CSS inline. */
.evt__desc--rich[b-9483yblsxc] {
    white-space: normal;       /* anula pre-line para não conflituar com HTML */
    overflow-x: hidden;        /* impede scroll horizontal causado por HTML externo */
    overflow-wrap: break-word;
    word-break: break-word;
    min-width: 0;
}
.evt__desc--rich *[b-9483yblsxc] {
    max-width: 100% !important; /* anula larguras fixas vindas do HTML colado */
    box-sizing: border-box;
}
.evt__desc--rich pre[b-9483yblsxc],
.evt__desc--rich code[b-9483yblsxc] {
    white-space: pre-wrap;     /* pre não extravasa lateralmente */
    overflow-x: auto;
}
.evt__desc--rich table[b-9483yblsxc] {
    display: block;
    overflow-x: auto;          /* tabelas scrollam internamente, não a página */
    width: 100%;
}

/* ── CTA (Calendário / Partilhar / Bilhetes) ─────────────── */
.evt__cta[b-9483yblsxc] {
    grid-area: cta;
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-4);
}

/* Mobile: CTA cola ao fundo do ecrã como barra de ação nativa */
@media (max-width: 1023px) {
    .evt__cta[b-9483yblsxc] {
        position: sticky;
        bottom: calc(60px + env(safe-area-inset-bottom, 0px)); /* acima do BottomNav */
        z-index: 20;
        background: var(--pe-color-bg);
        border-top: 1px solid var(--pe-color-border);
        margin-left: calc(-1 * var(--pe-space-4));
        margin-right: calc(-1 * var(--pe-space-4));
        padding: var(--pe-space-3) var(--pe-space-4);
        gap: var(--pe-space-3);
        /* Blur leve para revelar conteúdo por baixo */
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        background: color-mix(in srgb, var(--pe-color-bg) 92%, transparent);
        /* Esconder elementos secundários no sticky mobile — ficam no scroll normal */
    }
    /* No CTA sticky mobile: só mostrar o essencial — Eu Vou + Bilhetes + Partilhar */
    .evt__cta .evt__reacoes[b-9483yblsxc],
    .evt__cta .evt__share-icons[b-9483yblsxc],
    .evt__cta .evt__qr-wrap[b-9483yblsxc] { display: none; }
    /* cta-inner em linha horizontal */
    .evt__cta .evt__cta-inner[b-9483yblsxc] {
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: var(--pe-space-2);
        scrollbar-width: none;
    }
    .evt__cta .evt__cta-inner[b-9483yblsxc]::-webkit-scrollbar { display: none; }
    /* Eu Vou em full width acima dos botões */
    .evt__cta .evt__eu-vou[b-9483yblsxc] { width: 100%; }
}

/* ── Reações: Like / Dislike ──────────────────────────────── */
.evt__reacoes[b-9483yblsxc] {
    display: flex;
    align-items: center;
    gap: var(--pe-space-3);
    flex-wrap: wrap;
}

.evt__reacao-btn[b-9483yblsxc] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: var(--pe-radius-pill);
    border: 2px solid var(--pe-color-border);
    background: var(--pe-color-surface);
    color: var(--pe-color-text-muted);
    font-size: var(--pe-text-sm);
    font-weight: 600;
    cursor: pointer;
    transition: border-color var(--pe-motion-fast), color var(--pe-motion-fast), background var(--pe-motion-fast), transform var(--pe-motion-fast);
}
.evt__reacao-btn:hover[b-9483yblsxc] { border-color: var(--pe-color-brand); color: var(--pe-color-brand); transform: translateY(-1px); }
.evt__reacao-btn:disabled[b-9483yblsxc] { opacity: .5; cursor: default; }

.evt__reacao-btn--on[b-9483yblsxc] {
    border-color: #ef4444;
    background: #fef2f2;
    color: #ef4444;
    animation: evt-pulse-b-9483yblsxc .35s ease both;
}

.evt__reacao-count[b-9483yblsxc] {
    font-size: var(--pe-text-xs);
    font-weight: 700;
}

.evt__reacao-nudge[b-9483yblsxc] {
    font-size: var(--pe-text-xs);
    color: var(--pe-color-text-muted);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    animation: adrop-in .18s ease both;
}
.evt__reacao-nudge a[b-9483yblsxc] { color: var(--pe-color-brand); font-weight: 700; text-decoration: none; }
.evt__reacao-nudge a:hover[b-9483yblsxc] { text-decoration: underline; }
.evt__reacao-nudge-close[b-9483yblsxc] { background: none; border: none; cursor: pointer; font-size: 1rem; line-height: 1; color: var(--pe-color-text-muted); padding: 0 2px; }

@keyframes evt-pulse-b-9483yblsxc {
    0%   { transform: scale(1); }
    40%  { transform: scale(1.18); }
    70%  { transform: scale(.92); }
    100% { transform: scale(1); }
}

/* ── Botão "Eu Vou" — CTA de destaque ── */
.evt__eu-vou[b-9483yblsxc] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 0 1.5rem;
    min-height: 56px;
    border-radius: 16px;
    border: 2.5px solid var(--pe-color-coral, #ff5c3a);
    background: transparent;
    color: var(--pe-color-coral, #ff5c3a);
    font: inherit;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: .01em;
    cursor: pointer;
    transition: background .2s, color .2s, transform .15s, box-shadow .2s;
    justify-content: center;
}

.evt__eu-vou:hover[b-9483yblsxc] {
    background: var(--pe-color-coral, #ff5c3a);
    color: #fff;
    transform: scale(1.02);
    box-shadow: 0 6px 24px rgba(255,92,58,.35);
}

.evt__eu-vou--on[b-9483yblsxc] {
    background: var(--pe-color-coral, #ff5c3a);
    color: #fff;
    box-shadow: 0 6px 24px rgba(255,92,58,.3);
}

.evt__eu-vou--on:hover[b-9483yblsxc] {
    background: color-mix(in srgb, var(--pe-color-coral, #ff5c3a) 82%, #000);
    transform: scale(1.01);
}

.evt__eu-vou-icon[b-9483yblsxc] { font-size: 1.2rem; line-height: 1; }

.evt__eu-vou-text[b-9483yblsxc] { font-weight: 800; }

.evt__eu-vou-badge[b-9483yblsxc] {
    margin-left: auto;
    background: rgba(255,255,255,.22);
    border-radius: 12px;
    padding: 3px 10px;
    font-size: .78rem;
    font-weight: 700;
    white-space: nowrap;
}

.evt__eu-vou--on .evt__eu-vou-badge[b-9483yblsxc] {
    background: rgba(255,255,255,.3);
}

.evt__cta-inner[b-9483yblsxc] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--pe-space-2);
}

/* ── Ícones directos de partilha (item 15) ── */
.evt__share-icons[b-9483yblsxc] {
    display: flex;
    align-items: center;
    gap: var(--pe-space-2);
    flex-wrap: wrap;
}

.evt__share-label[b-9483yblsxc] {
    font-size: var(--pe-text-sm);
    font-weight: 600;
    color: var(--pe-color-text-soft);
    margin-right: var(--pe-space-1);
}

.evt__share-icon[b-9483yblsxc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: none;
    background: var(--pe-color-surface-2);
    color: var(--pe-color-text);
    cursor: pointer;
    text-decoration: none;
    transition: transform .15s, background .15s, color .15s;
    font-size: 0; /* oculta texto acessível */
}
.evt__share-icon:hover[b-9483yblsxc] { transform: translateY(-2px); }

.evt__share-icon--wa[b-9483yblsxc]  { background: #25d366; color: #fff; }
.evt__share-icon--wa:hover[b-9483yblsxc]  { background: #1ebe5d; }

.evt__share-icon--tg[b-9483yblsxc]  { background: #0088cc; color: #fff; }
.evt__share-icon--tg:hover[b-9483yblsxc]  { background: #007ab8; }

.evt__share-icon--fb[b-9483yblsxc]  { background: #1877f2; color: #fff; }
.evt__share-icon--fb:hover[b-9483yblsxc]  { background: #1465d0; }

.evt__share-icon--x[b-9483yblsxc]   { background: #000; color: #fff; }
.evt__share-icon--x:hover[b-9483yblsxc]   { background: #333; }

.evt__share-icon--copy[b-9483yblsxc] { background: var(--pe-color-surface-2); color: var(--pe-color-text-soft); }
.evt__share-icon--copy:hover[b-9483yblsxc] { background: var(--pe-color-surface-3); color: var(--pe-color-text); }

.evt__btn[b-9483yblsxc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--pe-space-2);
    min-height: var(--pe-touch-min);
    padding: 0 var(--pe-space-5);
    border-radius: var(--pe-radius-pill);
    border: 0;
    background: var(--pe-color-surface-2);
    color: var(--pe-color-text);
    font-size: var(--pe-text-sm);
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: transform var(--pe-motion-fast) var(--pe-easing-standard),
                background-color var(--pe-motion-fast) var(--pe-easing-standard);
}
.evt__btn:hover[b-9483yblsxc]  { background: var(--pe-color-surface-3); }
.evt__btn:active[b-9483yblsxc] { transform: scale(0.98); }
.evt__btn--ghost[b-9483yblsxc]   { background: var(--pe-color-surface-2); }
.evt__btn--primary[b-9483yblsxc] {
    background: var(--pe-color-text);
    color: var(--pe-color-bg);
}
.evt__btn--primary:hover[b-9483yblsxc] { background: var(--pe-neutral-700); color: #fff; }
.evt__btn--edit[b-9483yblsxc] {
    border: 1px solid var(--pe-color-border);
    background: var(--pe-color-surface);
}
.evt__btn--edit:hover[b-9483yblsxc] { background: var(--pe-color-surface-2); }

/* ── Sidebar col (Local + Tração + Comentários + Contrib) ─── */
.evt__sidebar-col[b-9483yblsxc] {
    grid-area: sidebar;
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-4);
    position: relative; /* suporte ao indicador de scroll */
}

/* Cards Local / Tração */
.evt__card[b-9483yblsxc] {
    padding: var(--pe-space-4);
    background: var(--pe-color-surface);
    border: 1px solid var(--pe-color-border);
    border-radius: var(--pe-radius-lg);
}
.evt__card-title[b-9483yblsxc] {
    font-size: var(--pe-text-xs);
    font-weight: 600;
    letter-spacing: var(--pe-tracking-wide);
    text-transform: uppercase;
    color: var(--pe-color-muted);
    margin: 0 0 var(--pe-space-2);
}
.evt__card-line[b-9483yblsxc] { margin: 0; font-weight: 600; color: var(--pe-color-text); font-size: var(--pe-text-sm); }
.evt__card-sub[b-9483yblsxc]  { margin: var(--pe-space-1) 0 0; color: var(--pe-color-muted); font-size: var(--pe-text-xs); }

/* ── Google Maps embed ── */
.evt__map-wrap[b-9483yblsxc] {
    margin-top: var(--pe-space-3);
    border-radius: var(--pe-radius-md);
    overflow: hidden;
    border: 1px solid var(--pe-color-border);
}
.evt__map[b-9483yblsxc] {
    display: block;
    width: 100%;
    height: 220px;
    border: none;
}
.evt__map-link[b-9483yblsxc] {
    display: flex;
    align-items: center;
    gap: .3rem;
    padding: .5rem .75rem;
    font-size: var(--pe-text-xs);
    color: var(--pe-color-brand);
    text-decoration: none;
    background: var(--pe-color-surface-alt, #f8f9fa);
    transition: background .15s;
}
.evt__map-link:hover[b-9483yblsxc] { background: var(--pe-color-border); }

/* ── Chips de infraestrutura confirmada ── */
.evt__infra-chip[b-9483yblsxc] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-size: .78rem;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1.5px solid transparent;
    white-space: nowrap;
}
.evt__infra-chip--sim[b-9483yblsxc] {
    background: #f0fdf4;
    border-color: #bbf7d0;
    color: #166534;
}
.evt__infra-chip--nao[b-9483yblsxc] {
    background: #fef2f2;
    border-color: #fecaca;
    color: #991b1b;
}

/* ── Secção contribuição comunitária ── */
.evt__contrib[b-9483yblsxc] {
    margin-top: var(--pe-space-2);
    background: linear-gradient(135deg, #f5f8ff 0%, #fffaf2 100%);
    border: 1px solid #e4ebf5;
    border-radius: var(--pe-radius-lg);
    padding: var(--pe-space-4);
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-3);
}

.evt__contrib-hdr[b-9483yblsxc] {
    display: flex;
    gap: var(--pe-space-2);
    align-items: flex-start;
}
.evt__contrib-icon[b-9483yblsxc] { font-size: 1.25rem; flex-shrink: 0; margin-top: .1rem; }
.evt__contrib-titulo[b-9483yblsxc] { margin: 0 0 .15rem; font-size: .875rem; font-weight: 700; color: var(--pe-color-text); }
.evt__contrib-sub[b-9483yblsxc] { margin: 0; font-size: .75rem; color: var(--pe-color-muted); line-height: 1.4; }

.evt__contrib-campos[b-9483yblsxc] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--pe-space-2);
}

/* ── Rodapé comunitário ── */
.evt__rodape-comunidade[b-9483yblsxc] {
    display: flex;
    align-items: flex-start;
    gap: .4rem;
    font-size: .75rem;
    color: var(--pe-color-muted);
    padding: var(--pe-space-3) var(--pe-space-1);
    border-top: 1px solid var(--pe-color-border);
    line-height: 1.5;
}
.evt__rodape-comunidade-ic[b-9483yblsxc] { flex-shrink: 0; margin-top: .1rem; opacity: .6; }
.evt__rodape-link[b-9483yblsxc] {
    color: var(--pe-color-accent);
    text-decoration: underline;
    font-weight: 600;
}
.evt__rodape-link:hover[b-9483yblsxc] { opacity: .8; }

/* ── Skeleton / estados ──────────────────────────────────── */
.evt__skeleton[b-9483yblsxc] {
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-4);
    padding: var(--pe-space-2) 0;
}
.evt__skeleton-breadcrumb[b-9483yblsxc],
.evt__skeleton-hero[b-9483yblsxc],
.evt__skeleton-line[b-9483yblsxc],
.evt__skeleton-block[b-9483yblsxc] {
    background: linear-gradient(90deg,
        var(--pe-color-surface-2) 0%,
        var(--pe-color-surface-3) 50%,
        var(--pe-color-surface-2) 100%);
    background-size: 200% 100%;
    animation: shimmer-b-9483yblsxc 1.4s linear infinite;
    border-radius: var(--pe-radius-md);
}
.evt__skeleton-breadcrumb[b-9483yblsxc] { width: 120px; height: 18px; }
.evt__skeleton-hero[b-9483yblsxc] { aspect-ratio: 16 / 9; border-radius: var(--pe-radius-xl); }
.evt__skeleton-line[b-9483yblsxc] { height: 16px; }
.evt__skeleton-line--xs[b-9483yblsxc] { width: 30%; height: 12px; }
.evt__skeleton-line--md[b-9483yblsxc] { width: 70%; height: 14px; }
.evt__skeleton-line--lg[b-9483yblsxc] { width: 90%; height: 28px; }
.evt__skeleton-block[b-9483yblsxc] { height: 160px; border-radius: var(--pe-radius-lg); }

.evt__empty[b-9483yblsxc] { padding: var(--pe-space-12) 0; color: var(--pe-color-muted); }
.evt__empty h1[b-9483yblsxc] { font-size: var(--pe-text-3xl); margin: 0 0 var(--pe-space-2); color: var(--pe-color-text); }
.evt__erro-msg[b-9483yblsxc] { color: var(--pe-color-muted); margin: 0 0 var(--pe-space-4); }
.evt__retry-btn[b-9483yblsxc] {
    display: inline-flex; align-items: center; gap: .4rem;
    padding: .6rem 1.4rem; border-radius: 999px; border: none; cursor: pointer;
    background: var(--pe-color-accent, #f59e0b); color: #0b1f33;
    font-weight: 700; font-size: var(--pe-text-sm);
}

@keyframes shimmer-b-9483yblsxc {
    from { background-position: 200% 0; }
    to   { background-position: -200% 0; }
}
@media (prefers-reduced-motion: reduce) {
    .evt__skeleton-breadcrumb[b-9483yblsxc],
    .evt__skeleton-hero[b-9483yblsxc],
    .evt__skeleton-line[b-9483yblsxc],
    .evt__skeleton-block[b-9483yblsxc] { animation: none; }
}

/* ── Desktop ≥ 1024 px: grid 2 colunas ──────────────────── */
@media (min-width: 1024px) {
    .evt[b-9483yblsxc] {
        grid-template-columns: minmax(0, 1fr) 300px;
        grid-template-areas:
            "crumb   crumb"
            "status  status"
            "hero    sidebar"
            "body    sidebar"
            "cta     sidebar";
        column-gap: var(--pe-space-10);
        row-gap: var(--pe-space-4);
        align-items: start;
    }

    .evt__sidebar-col[b-9483yblsxc] {
        position: sticky;
        top: calc(64px + var(--pe-space-4));
        max-height: calc(100vh - 80px);
        overflow-y: auto;
        /* scrollbar tênue mas visível — indica ao utilizador que há mais conteúdo */
        scrollbar-width: thin;
        scrollbar-color: var(--pe-color-border) transparent;
        padding-right: var(--pe-space-1); /* espaço para o scrollbar não sobrepor conteúdo */
    }
    .evt__sidebar-col[b-9483yblsxc]::-webkit-scrollbar { width: 4px; }
    .evt__sidebar-col[b-9483yblsxc]::-webkit-scrollbar-track { background: transparent; }
    .evt__sidebar-col[b-9483yblsxc]::-webkit-scrollbar-thumb {
        background: var(--pe-color-border);
        border-radius: 4px;
    }

    /* Gradiente na base da sidebar — indica visualmente que há mais conteúdo */
    .evt__sidebar-col[b-9483yblsxc]::after {
        content: '';
        position: sticky;
        bottom: 0;
        left: 0;
        right: 0;
        height: 48px;
        background: linear-gradient(to top, var(--pe-color-bg, #f8f9fa) 20%, transparent 100%);
        pointer-events: none;
        display: block;
        flex-shrink: 0;
        margin-top: calc(-1 * var(--pe-space-12)); /* sobrepõe o último card ligeiramente */
    }

    .evt__cta[b-9483yblsxc] { margin-top: 0; }
}

/* ── Modal pós "Eu Vou" — bottom-sheet mobile, centrado desktop ─────────── */
.eu-vou-modal[b-9483yblsxc] {
    position: fixed;
    inset: 0;
    z-index: 999;
    display: flex;
    align-items: flex-end;        /* bottom-sheet em mobile */
    justify-content: center;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(3px);
    animation: evm-fade-in-b-9483yblsxc 0.25s ease;
    padding: 0;
}

@keyframes evm-fade-in-b-9483yblsxc {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.eu-vou-modal__box[b-9483yblsxc] {
    position: relative;
    background: var(--pe-color-surface, #fff);
    border-radius: var(--pe-radius-2xl, 20px) var(--pe-radius-2xl, 20px) 0 0;
    padding: 2.25rem 1.75rem 2.5rem;
    width: 100%;
    max-width: 480px;
    text-align: center;
    animation: evm-slide-up-b-9483yblsxc 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    /* safe-area para notch iOS */
    padding-bottom: calc(2.5rem + env(safe-area-inset-bottom, 0px));
}

@keyframes evm-slide-up-b-9483yblsxc {
    from { transform: translateY(40px); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
}

.eu-vou-modal__close[b-9483yblsxc] {
    position: absolute;
    top: 1rem; right: 1rem;
    background: none; border: none; cursor: pointer;
    font-size: 1.4rem; line-height: 1;
    color: var(--pe-color-text-muted);
    padding: 0.25rem 0.5rem;
    border-radius: 50%;
    transition: background 0.15s;
}
.eu-vou-modal__close:hover[b-9483yblsxc] { background: var(--pe-color-surface-2); }

.eu-vou-modal__emoji[b-9483yblsxc] {
    font-size: 3.5rem;
    line-height: 1;
    margin-bottom: 0.75rem;
}

.eu-vou-modal__titulo[b-9483yblsxc] {
    font-size: var(--pe-text-2xl, 1.5rem);
    font-weight: 800;
    color: var(--pe-color-text);
    margin: 0 0 0.5rem;
    letter-spacing: -0.02em;
}

.eu-vou-modal__texto[b-9483yblsxc] {
    font-size: var(--pe-text-base, 1rem);
    color: var(--pe-color-text);
    margin: 0 0 0.375rem;
    line-height: 1.5;
}

.eu-vou-modal__sub[b-9483yblsxc] {
    font-size: var(--pe-text-sm, 0.875rem);
    color: var(--pe-color-text-muted);
    margin: 0 0 1.5rem;
    line-height: 1.4;
}

/* CTA principal — mesmo estilo do "Eu Vou" mas com cor de partilha */
.eu-vou-modal__share-btn[b-9483yblsxc] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.875rem 1.5rem;
    border-radius: 999px;
    border: none;
    cursor: pointer;
    background: var(--pe-color-brand, #0369a1);
    color: #fff;
    font-size: var(--pe-text-base, 1rem);
    font-weight: 700;
    letter-spacing: 0.01em;
    transition: background 0.15s, transform 0.1s;
    margin-bottom: 0.75rem;
}
.eu-vou-modal__share-btn:hover[b-9483yblsxc]  { background: var(--pe-color-brand-dark, #0284c7); }
.eu-vou-modal__share-btn:active[b-9483yblsxc] { transform: scale(0.97); }

/* Link secundário "Talvez mais tarde" */
.eu-vou-modal__skip[b-9483yblsxc] {
    background: none;
    border: none;
    cursor: pointer;
    font-size: var(--pe-text-sm, 0.875rem);
    color: var(--pe-color-text-muted);
    padding: 0.25rem 0.5rem;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.15s;
}
.eu-vou-modal__skip:hover[b-9483yblsxc] { color: var(--pe-color-text); }

/* Desktop: modal centrado, não bottom-sheet */
@media (min-width: 640px) {
    .eu-vou-modal[b-9483yblsxc] {
        align-items: center;
        padding: 1rem;
    }
    .eu-vou-modal__box[b-9483yblsxc] {
        border-radius: var(--pe-radius-2xl, 20px);
        padding: 2.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .eu-vou-modal[b-9483yblsxc],
    .eu-vou-modal__box[b-9483yblsxc] { animation: none; }
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* FILE: Home.razor.css
   PURPOSE: Home premium — Inauguração, Hero, "Em alta", explorar por lugar, CTA final, mural.
   TOKENS:  tokens.css.
   AI-NOTE: Whitespace generoso entre secções (space-16). Mosaicos de lugares usam picsum. */

/* ── Animações de entrada por secção ─────────────────────────────────────────
   Cada filho direto da .home entra com fade + slide suave ao ser scrollado.
   Usa animation-timeline: view() (Chrome 115+, Safari 18+) com fallback
   via @supports para browsers antigos (sem animação — graceful degradation). */
@keyframes home-section-in-b-950rdk2nnp {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

@supports (animation-timeline: view()) {
    .home > *[b-950rdk2nnp] {
        animation: home-section-in-b-950rdk2nnp 0.5s ease both;
        animation-timeline: view();
        animation-range: entry 0% entry 30%;
    }
}

/* Fallback para browsers sem animation-timeline — animação simples on-load */
@supports not (animation-timeline: view()) {
    .home > *[b-950rdk2nnp] {
        animation: home-section-in-b-950rdk2nnp 0.4s ease both;
    }
    .home > *:nth-child(1)[b-950rdk2nnp] { animation-delay: 0.05s; }
    .home > *:nth-child(2)[b-950rdk2nnp] { animation-delay: 0.12s; }
    .home > *:nth-child(3)[b-950rdk2nnp] { animation-delay: 0.19s; }
    .home > *:nth-child(4)[b-950rdk2nnp] { animation-delay: 0.26s; }
    .home > *:nth-child(5)[b-950rdk2nnp] { animation-delay: 0.33s; }
}

/* Respeitar preferência de movimento reduzido */
@media (prefers-reduced-motion: reduce) {
    .home > *[b-950rdk2nnp] { animation: none !important; }
}

.home[b-950rdk2nnp] {
    display: flex;
    flex-direction: column;
    /* mobile: gap menor para mais conteúdo above the fold */
    gap: var(--pe-space-5);
}

@media (min-width: 640px) {
    .home[b-950rdk2nnp] { gap: var(--pe-space-8); }
}

.inauguracao[b-950rdk2nnp] {
    display: flex;
    align-items: center;
    gap: var(--pe-space-3);
    padding: var(--pe-space-3) var(--pe-space-4);
    border-radius: var(--pe-radius-lg);
    background: linear-gradient(135deg, #fef3c7 0%, #fce7f3 50%, #e0f2fe 100%);
    border: 1px solid rgba(0,0,0,0.04);
    box-shadow: 0 1px 2px rgba(0,0,0,0.03);
    margin-top: var(--pe-space-2);
    /* Banner no fundo: animação de entrada suave */
    animation: inau-in-b-950rdk2nnp 0.4s ease both;
}
@keyframes inau-in-b-950rdk2nnp {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}
.inauguracao__badge[b-950rdk2nnp] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    padding: 4px 10px;
    border-radius: var(--pe-radius-pill);
    background: var(--pe-color-text);
    color: var(--pe-color-bg);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.inauguracao__texto[b-950rdk2nnp] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 0.92rem;
    line-height: 1.4;
    color: #1f2937;
}
.inauguracao__texto strong[b-950rdk2nnp] { font-weight: 700; color: #111827; }
.inauguracao__texto span[b-950rdk2nnp] { color: #4b5563; }
.inauguracao__acoes[b-950rdk2nnp] {
    margin-left: auto;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--pe-space-2);
}
.inauguracao__edit[b-950rdk2nnp] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.72rem;
    color: var(--pe-color-brand);
    text-decoration: none;
    padding: 3px 8px;
    border-radius: var(--pe-radius-sm);
    border: 1px solid var(--pe-color-brand);
    opacity: 0.7;
    transition: opacity .15s;
}
.inauguracao__edit:hover[b-950rdk2nnp] { opacity: 1; }
.inauguracao__close[b-950rdk2nnp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: transparent;
    border: none;
    color: #6b7280;
    cursor: pointer;
    transition: background .15s, color .15s;
    -webkit-tap-highlight-color: transparent;
}
.inauguracao__close:hover[b-950rdk2nnp],
.inauguracao__close:focus-visible[b-950rdk2nnp] { background: rgba(0,0,0,0.08); color: #111827; }
.inauguracao__close:active[b-950rdk2nnp] { transform: scale(0.9); }
@media (prefers-color-scheme: dark) {
    .inauguracao[b-950rdk2nnp] {
        background: linear-gradient(135deg, #1e1b0e 0%, #1a0f1a 50%, #0a1625 100%);
        border-color: rgba(255,255,255,0.06);
    }
    .inauguracao__texto[b-950rdk2nnp] { color: #f3f4f6; }
    .inauguracao__texto strong[b-950rdk2nnp] { color: #fff; }
    .inauguracao__texto span[b-950rdk2nnp] { color: #d1d5db; }
    .inauguracao__close[b-950rdk2nnp] { color: #9ca3af; }
    .inauguracao__close:hover[b-950rdk2nnp],
    .inauguracao__close:focus-visible[b-950rdk2nnp] { background: rgba(255,255,255,0.08); color: #f9fafb; }
}
@media (max-width: 480px) {
    .inauguracao[b-950rdk2nnp] { flex-direction: column; align-items: flex-start; }
}

.home__heading[b-950rdk2nnp] {
    font-size: var(--pe-text-2xl);
    font-weight: 700;
    margin: 0 0 var(--pe-space-4);
    letter-spacing: var(--pe-tracking-tight);
}

/* Lugares — carrossel horizontal de tiles panorâmicos */
.home__lugares-grid[b-950rdk2nnp] {
    display: grid;
    grid-auto-flow: column;
    /* primeiro tile ~85% do viewport — sugere que há mais */
    grid-auto-columns: 72%;
    gap: var(--pe-space-3);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    /* previne que o scroll horizontal vaze para o scroll vertical da página */
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    padding-bottom: var(--pe-space-2);
    /* full-bleed: estica até às bordas do viewport */
    padding-left: var(--pe-space-3);
    padding-right: var(--pe-space-3);
    margin-left: calc(-1 * var(--pe-space-3));
    margin-right: calc(-1 * var(--pe-space-3));
}
.home__lugares-grid[b-950rdk2nnp]::-webkit-scrollbar { display: none; }

@media (min-width: 640px) {
    .home__lugares-grid[b-950rdk2nnp] {
        grid-auto-columns: 46%;
        padding-left: 0;
        padding-right: 0;
        margin-left: 0;
        margin-right: 0;
    }
}
@media (min-width: 1024px) {
    .home__lugares-grid[b-950rdk2nnp] {
        display: grid;
        grid-auto-flow: row;
        grid-template-columns: repeat(3, 1fr);
        overflow-x: visible;
        scroll-snap-type: none;
        padding-left: 0;
        padding-right: 0;
        margin-left: 0;
        margin-right: 0;
    }
}
@media (min-width: 1440px) {
    .home__lugares-grid[b-950rdk2nnp] { grid-template-columns: repeat(4, 1fr); }
}

/* Header da secção com botão de edição admin */
.home__lugares-hdr[b-950rdk2nnp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--pe-space-4);
}
.home__lugares-edit[b-950rdk2nnp] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-size: .78rem;
    font-weight: 600;
    color: var(--pe-color-text-soft);
    text-decoration: none;
    padding: .3rem .7rem;
    border: 1px solid var(--pe-color-border);
    border-radius: 8px;
    transition: background .15s, color .15s;
}
.home__lugares-edit:hover[b-950rdk2nnp] {
    background: var(--pe-color-surface-2);
    color: var(--pe-color-text);
}

/* Spinner loading */
.home__lugares-loading[b-950rdk2nnp] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem;
}
.home__lugares-spin[b-950rdk2nnp] {
    display: inline-block;
    width: 28px;
    height: 28px;
    border: 3px solid var(--pe-color-border);
    border-top-color: var(--pe-color-urgent, #e53e3e);
    border-radius: 50%;
    animation: home-spin-b-950rdk2nnp .7s linear infinite;
}
@keyframes home-spin-b-950rdk2nnp { to { transform: rotate(360deg); } }

.lugar[b-950rdk2nnp] {
    position: relative;
    display: block;
    aspect-ratio: 3 / 2;
    border-radius: var(--pe-radius-lg);
    overflow: hidden;
    text-decoration: none;
    color: #fff;
    background: var(--pe-color-surface-2);
    scroll-snap-align: start;
    transition: transform var(--pe-motion-base) var(--pe-easing-standard);
}
.lugar:hover[b-950rdk2nnp] { transform: translateY(-2px); }
.lugar:hover img[b-950rdk2nnp] { transform: scale(1.05); }

.lugar img[b-950rdk2nnp] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--pe-motion-slow) var(--pe-easing-standard);
}

.lugar__overlay[b-950rdk2nnp] {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(12, 10, 9, 0.7) 0%, rgba(12, 10, 9, 0.1) 50%);
    pointer-events: none;
}

.lugar__nome[b-950rdk2nnp] {
    position: absolute;
    left: var(--pe-space-4);
    bottom: var(--pe-space-4);
    font-family: var(--pe-font-display);
    font-size: var(--pe-text-xl);
    font-weight: 700;
    letter-spacing: var(--pe-tracking-snug);
    color: #fff;
    text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

.lugar__desc[b-950rdk2nnp] {
    position: absolute;
    left: var(--pe-space-4);
    bottom: calc(var(--pe-space-4) + 1.6rem);
    font-size: .75rem;
    color: rgba(255,255,255,.85);
    opacity: 0;
    transform: translateY(4px);
    transition: opacity .2s, transform .2s;
    text-shadow: 0 1px 4px rgba(0,0,0,.5);
    max-width: calc(100% - 2rem);
}
.lugar:hover .lugar__desc[b-950rdk2nnp] {
    opacity: 1;
    transform: translateY(0);
}

.home__cta[b-950rdk2nnp] {
    display: flex;
    justify-content: center;
    padding: var(--pe-space-4) 0 var(--pe-space-10);
}
.home__cta-btn[b-950rdk2nnp] {
    display: inline-flex;
    align-items: center;
    gap: var(--pe-space-2);
    padding: var(--pe-space-3) var(--pe-space-8);
    background: var(--pe-color-text);
    color: var(--pe-color-bg);
    border-radius: var(--pe-radius-pill);
    font-weight: 600;
    text-decoration: none;
    transition: transform var(--pe-motion-fast) var(--pe-easing-standard),
                background-color var(--pe-motion-fast) var(--pe-easing-standard);
}
.home__cta-btn:hover[b-950rdk2nnp] { background: var(--pe-neutral-700); color: #fff; transform: translateY(-1px); }

@media (prefers-reduced-motion: reduce) {
    .lugar[b-950rdk2nnp], .lugar img[b-950rdk2nnp], .home__cta-btn[b-950rdk2nnp] { transition: none; }
}

/* ── Separadores visuais entre secções ── */
.home__sep[b-950rdk2nnp] {
    display: flex;
    align-items: center;
    gap: var(--pe-space-3);
    margin: var(--pe-space-2) 0;
    color: var(--pe-color-text-soft);
}

.home__sep[b-950rdk2nnp]::before,
.home__sep[b-950rdk2nnp]::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--pe-color-border);
}

.home__sep-label[b-950rdk2nnp] {
    flex-shrink: 0;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--pe-color-text-soft);
    white-space: nowrap;
}

/* ── CTA mural vazio ── */
.home__mural-vazio[b-950rdk2nnp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--pe-space-3);
    padding: var(--pe-space-8) var(--pe-space-4);
    text-align: center;
}
.home__mural-vazio__texto[b-950rdk2nnp] {
    margin: 0;
    font-size: var(--pe-text-sm);
    color: var(--pe-color-text-soft);
    max-width: 38ch;
    line-height: 1.6;
}
.home__mural-vazio__cta[b-950rdk2nnp] {
    display: inline-flex;
    align-items: center;
    gap: var(--pe-space-2);
    padding: var(--pe-space-2) var(--pe-space-5);
    border: 1.5px solid var(--pe-color-brand);
    border-radius: var(--pe-radius-pill);
    color: var(--pe-color-brand);
    font-size: var(--pe-text-sm);
    font-weight: 600;
    text-decoration: none;
    transition: background var(--pe-motion-fast), color var(--pe-motion-fast);
}
.home__mural-vazio__cta:hover[b-950rdk2nnp] {
    background: var(--pe-color-brand);
    color: #fff;
}
/* /Components/Pages/MeusEventos.razor.rz.scp.css */
/* FILE: MeusEventos.razor.css
   PURPOSE: Pagina "Os meus eventos" do organizador. Mobile-first. */

.mevt[b-zmf9jlceqh] { display: flex; flex-direction: column; gap: var(--pe-space-5); }
.mevt__hdr[b-zmf9jlceqh] { display: flex; flex-direction: column; gap: 4px; }
.mevt__hdr h1[b-zmf9jlceqh] { font-size: var(--pe-text-2xl); font-weight: 800; margin: 0; }
.mevt__back[b-zmf9jlceqh] { display: inline-flex; align-items: center; gap: 4px; font-size: 0.875rem; color: var(--pe-color-text-muted,#6b7280); text-decoration: none; }
.mevt__back-ic[b-zmf9jlceqh] { transform: rotate(180deg); }

.mevt__criar[b-zmf9jlceqh] {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 10px 20px; border-radius: var(--pe-radius-pill);
    background: var(--pe-color-text); color: var(--pe-color-bg);
    font-weight: 600; text-decoration: none; font-size: 0.9rem;
    align-self: flex-start;
}
.mevt__loading[b-zmf9jlceqh] { color: var(--pe-color-text-muted, #9ca3af); }
.mevt__vazio[b-zmf9jlceqh] { display: flex; flex-direction: column; align-items: center; gap: var(--pe-space-4); padding: var(--pe-space-10) 0; text-align: center; color: var(--pe-color-text-muted,#6b7280); }

.mevt__lista[b-zmf9jlceqh] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--pe-space-3); }
.mevt__item[b-zmf9jlceqh] {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center; gap: var(--pe-space-3);
    background: var(--pe-color-surface);
    border: 1px solid var(--pe-color-border, #e5e7eb);
    border-radius: var(--pe-radius-lg);
    padding: var(--pe-space-4);
}
@media (max-width: 520px) { .mevt__item[b-zmf9jlceqh] { grid-template-columns: 1fr; } }
.mevt__item-info[b-zmf9jlceqh] { display: flex; flex-direction: column; gap: 3px; }
.mevt__item-titulo[b-zmf9jlceqh] { font-weight: 700; color: var(--pe-color-text); text-decoration: none; }
.mevt__item-titulo:hover[b-zmf9jlceqh] { text-decoration: underline; }
.mevt__item-data[b-zmf9jlceqh] { font-size: 0.8rem; color: var(--pe-color-text-muted,#6b7280); }

.mevt__badge[b-zmf9jlceqh] { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 0.72rem; font-weight: 700; }
.mevt__badge--ok[b-zmf9jlceqh] { background: #dcfce7; color: #166534; }
.mevt__badge--mid[b-zmf9jlceqh] { background: #fef3c7; color: #92400e; }
.mevt__badge--low[b-zmf9jlceqh] { background: #fee2e2; color: #991b1b; }
.mevt__badge--muted[b-zmf9jlceqh] { background: var(--pe-color-surface-2); color: var(--pe-color-text-muted,#6b7280); }

.mevt__item-nums[b-zmf9jlceqh] { display: flex; gap: var(--pe-space-3); color: var(--pe-color-text-muted,#4b5563); font-size: 0.85rem; }
.mevt__item-acoes[b-zmf9jlceqh] { display: flex; gap: var(--pe-space-2); flex-wrap: wrap; }
.mevt__btn[b-zmf9jlceqh] {
    display: inline-flex; align-items: center; padding: 6px 14px;
    border-radius: var(--pe-radius-pill); font-size: 0.82rem; font-weight: 600;
    text-decoration: none; background: var(--pe-color-text); color: var(--pe-color-bg);
    border: 1px solid transparent;
}
.mevt__btn--ghost[b-zmf9jlceqh] { background: var(--pe-color-surface); color: var(--pe-color-text); border-color: var(--pe-color-border,#e5e7eb); }
/* /Components/Pages/Partilhar.razor.rz.scp.css */
/* FILE: Partilhar.razor.css
   PURPOSE: Ecrã de transição enquanto o share_target processa o redirect.
            Visível apenas ~200 ms — deve ser limpo, centrado e branded.
   TOKENS:  --pe-atlantico, safe-area
   AI-NOTE: Sem animações pesadas — o redirect é quase imediato. */

.share-target[b-vchsnncbj2] {
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    background: #0B4F6C;
    color: #fff;
    font-family: system-ui, sans-serif;
    padding: env(safe-area-inset-top, 16px) 24px env(safe-area-inset-bottom, 16px);
}

.share-target__logo img[b-vchsnncbj2] {
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(0,0,0,.3);
}

.share-target__msg[b-vchsnncbj2] {
    font-size: 1.05rem;
    opacity: .85;
    margin: 0;
}

.share-target__spinner[b-vchsnncbj2] {
    width: 32px;
    height: 32px;
    border: 3px solid rgba(255,255,255,.25);
    border-top-color: #FFD166;
    border-radius: 50%;
    animation: spin-b-vchsnncbj2 .7s linear infinite;
}

@keyframes spin-b-vchsnncbj2 {
    to { transform: rotate(360deg); }
}
/* /Components/Pages/QuemSomos.razor.rz.scp.css */
/* FILE: QuemSomos.razor.css
   PURPOSE: CSS isolado da página Quem Somos — hero, secções, valores, quote, CTA.
   TOKENS:  var(--pe-*) de tokens.css. Mobile-first. */

/* ── Artigo base ── */
.qs[b-5j92hv6rs5] {
    width: 100%;
}

/* ── Hero ── */
.qs__hero[b-5j92hv6rs5] {
    position: relative;
    overflow: hidden;
    min-height: 60dvh;
    display: flex;
    align-items: center;
    background: var(--pe-pe-atlantico);
    color: #fff;
}

.qs__hero-bg[b-5j92hv6rs5] {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 80% 60% at 70% 110%, rgba(255,90,78,.25) 0%, transparent 60%),
        radial-gradient(ellipse 60% 80% at -10% 20%, rgba(11,79,108,.6) 0%, transparent 70%);
    pointer-events: none;
}

.qs__hero-content[b-5j92hv6rs5] {
    position: relative;
    z-index: 1;
    max-width: var(--pe-container-max);
    margin: 0 auto;
    padding: var(--pe-space-20) var(--pe-space-5);
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-4);
}

.qs__pill[b-5j92hv6rs5] {
    display: inline-flex;
    align-self: flex-start;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.2);
    padding: 4px 14px;
    border-radius: 999px;
    font-size: var(--pe-text-xs);
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: rgba(255,255,255,.85);
}

.qs__h1[b-5j92hv6rs5] {
    font-size: clamp(2rem, 6vw, 3.5rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.02em;
    margin: 0;
}

.qs__h1 em[b-5j92hv6rs5] {
    font-style: normal;
    color: var(--pe-pe-farol);
}

.qs__lead[b-5j92hv6rs5] {
    font-size: clamp(1rem, 2vw, 1.2rem);
    color: rgba(255,255,255,.8);
    max-width: 60ch;
    line-height: 1.6;
    margin: 0;
}

/* ── Secções ── */
.qs__section[b-5j92hv6rs5] {
    padding: var(--pe-space-16) 0;
}

.qs__section--alt[b-5j92hv6rs5] {
    background: var(--pe-color-surface-2);
}

.qs__inner[b-5j92hv6rs5] {
    max-width: var(--pe-container-max);
    margin: 0 auto;
    padding: 0 var(--pe-space-5);
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--pe-space-10);
}

@media (min-width: 768px) {
    .qs__inner[b-5j92hv6rs5] { grid-template-columns: 1.4fr 1fr; }
}

.qs__inner--center[b-5j92hv6rs5] {
    grid-template-columns: 1fr;
    text-align: center;
}

.qs__inner--narrow[b-5j92hv6rs5] {
    grid-template-columns: 1fr;
    max-width: 720px;
}

/* ── Headings ── */
.qs__h2[b-5j92hv6rs5] {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    letter-spacing: -.02em;
    color: var(--pe-color-text);
    margin: 0 0 var(--pe-space-4);
}

/* ── Texto ── */
.qs__text-col[b-5j92hv6rs5] { display: flex; flex-direction: column; gap: var(--pe-space-4); }
.qs__text-col p[b-5j92hv6rs5] { color: var(--pe-color-text-soft); line-height: 1.7; margin: 0; }
.qs__text-col strong[b-5j92hv6rs5] { color: var(--pe-color-text); }

/* ── Stats ── */
.qs__stats-col[b-5j92hv6rs5] {
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-6);
    justify-content: center;
}

.qs__stat[b-5j92hv6rs5] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: var(--pe-space-5);
    background: var(--pe-color-surface);
    border: 1px solid var(--pe-color-border);
    border-radius: var(--pe-radius-lg);
    box-shadow: var(--pe-shadow-1);
}

.qs__stat-value[b-5j92hv6rs5] {
    font-size: 2rem;
    font-weight: 800;
    color: var(--pe-pe-atlantico);
    letter-spacing: -.03em;
}

.qs__stat-label[b-5j92hv6rs5] {
    font-size: var(--pe-text-sm);
    color: var(--pe-color-text-soft);
    line-height: 1.4;
}

/* ── Valores ── */
.qs__values[b-5j92hv6rs5] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--pe-space-5);
    text-align: left;
    margin-top: var(--pe-space-6);
}

@media (max-width: 600px) {
    .qs__values[b-5j92hv6rs5] { grid-template-columns: 1fr; }
}

.qs__value-card[b-5j92hv6rs5] {
    background: var(--pe-color-surface);
    border: 1px solid var(--pe-color-border);
    border-radius: var(--pe-radius-lg);
    padding: var(--pe-space-5);
    box-shadow: var(--pe-shadow-1);
    transition: box-shadow .2s, transform .2s;
}

.qs__value-card:hover[b-5j92hv6rs5] {
    box-shadow: var(--pe-shadow-3);
    transform: translateY(-2px);
}

.qs__value-icon[b-5j92hv6rs5] {
    font-size: 1.8rem;
    display: block;
    margin-bottom: var(--pe-space-2);
}

.qs__value-card h3[b-5j92hv6rs5] {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--pe-color-text);
    margin: 0 0 var(--pe-space-2);
}

.qs__value-card p[b-5j92hv6rs5] {
    font-size: var(--pe-text-sm);
    color: var(--pe-color-text-soft);
    line-height: 1.6;
    margin: 0;
}

/* ── Quote ── */
.qs__quote[b-5j92hv6rs5] {
    border-left: 4px solid var(--pe-pe-coral);
    padding: var(--pe-space-4) var(--pe-space-5);
    margin: var(--pe-space-6) 0;
    background: var(--pe-color-surface-2);
    border-radius: 0 var(--pe-radius-md) var(--pe-radius-md) 0;
    font-size: 1.1rem;
    font-style: italic;
    color: var(--pe-color-text-soft);
    line-height: 1.7;
}

/* ── CTA ── */
.qs__cta[b-5j92hv6rs5] {
    display: inline-flex;
    align-items: center;
    gap: var(--pe-space-2);
    background: var(--pe-pe-atlantico);
    color: #fff;
    padding: var(--pe-space-3) var(--pe-space-6);
    border-radius: var(--pe-radius-full);
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
    transition: background .15s, transform .15s;
    margin-top: var(--pe-space-4);
}

.qs__cta:hover[b-5j92hv6rs5] {
    background: var(--pe-pe-atlantico-2);
    transform: translateY(-1px);
}
/* /Components/Pages/Surf.razor.rz.scp.css */
/* FILE: Surf.razor.css
   PURPOSE: Página dedicada de surf — grid editorial.
   TOKENS:  tokens.css. */

.surf-page[b-a6gv4ugx8x] {
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-10);
}
.surf-page__head[b-a6gv4ugx8x] { display: flex; flex-direction: column; gap: var(--pe-space-2); }
.surf-page__eyebrow[b-a6gv4ugx8x] {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--pe-color-text-muted, #6b7280);
    font-weight: 600;
}
.surf-page__title[b-a6gv4ugx8x] {
    font-family: var(--pe-font-display);
    font-size: var(--pe-text-3xl);
    font-weight: 800;
    margin: 0;
    letter-spacing: var(--pe-tracking-tight);
}
.surf-page__lead[b-a6gv4ugx8x] {
    font-size: 1.05rem;
    line-height: 1.55;
    color: var(--pe-color-text-muted, #4b5563);
    max-width: 60ch;
    margin: 0;
}

.surf-page__grid[b-a6gv4ugx8x] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--pe-space-3);
}
@media (min-width: 540px) {
    .surf-page__grid[b-a6gv4ugx8x] { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 900px) {
    .surf-page__grid[b-a6gv4ugx8x] { grid-template-columns: repeat(3, 1fr); }
}

.surf-spot[b-a6gv4ugx8x] {
    background: var(--pe-color-surface);
    border: 1px solid var(--pe-color-border, #e5e7eb);
    border-radius: var(--pe-radius-lg);
    padding: var(--pe-space-5);
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-height: 160px;
}
.surf-spot__nome[b-a6gv4ugx8x] {
    font-weight: 700;
    font-size: 0.92rem;
    color: var(--pe-color-text-muted, #6b7280);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.surf-spot__altura[b-a6gv4ugx8x] {
    font-family: var(--pe-font-display);
    font-size: 3rem;
    font-weight: 800;
    line-height: 1;
    color: var(--pe-color-text);
    margin-top: 4px;
}
.surf-spot__altura small[b-a6gv4ugx8x] { font-size: 1.2rem; font-weight: 600; color: var(--pe-color-text-muted, #6b7280); margin-left: 2px; }
.surf-spot__meta[b-a6gv4ugx8x] { color: var(--pe-color-text-muted, #4b5563); font-size: 0.9rem; display: inline-flex; gap: 6px; flex-wrap: wrap; }
.surf-spot__meta b[b-a6gv4ugx8x] { color: var(--pe-color-text); }
.surf-spot__resumo[b-a6gv4ugx8x] {
    margin-top: auto;
    font-size: 0.9rem;
    color: var(--pe-color-text);
    line-height: 1.45;
}
.surf-spot__resumo--vazio[b-a6gv4ugx8x] { color: var(--pe-color-text-muted, #9ca3af); font-style: italic; }

.surf-spot--skel[b-a6gv4ugx8x] {
    height: 160px;
    background: linear-gradient(90deg, #f3f4f6 0%, #e5e7eb 50%, #f3f4f6 100%);
    background-size: 200% 100%;
    animation: surf-shimmer-b-a6gv4ugx8x 1.4s linear infinite;
}
@keyframes surf-shimmer-b-a6gv4ugx8x { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

.surf-page__vazio[b-a6gv4ugx8x] {
    color: var(--pe-color-text-muted, #6b7280);
    font-style: italic;
}

/* ── Quality badges ──────────────────────────────────────────────── */
.surf-spot__header[b-a6gv4ugx8x] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 6px;
}
.surf-spot__badge[b-a6gv4ugx8x] {
    display: inline-flex;
    align-items: center;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 2px 8px;
    border-radius: 99px;
    white-space: nowrap;
}
.surf-spot__badge--bom[b-a6gv4ugx8x]    { background: #dcfce7; color: #15803d; }
.surf-spot__badge--grande[b-a6gv4ugx8x] { background: #fef9c3; color: #a16207; }
.surf-spot__badge--pequeno[b-a6gv4ugx8x]{ background: #f3f4f6; color: #6b7280; }

.surf-spot--bom[b-a6gv4ugx8x]    { border-left: 3px solid #22c55e; }
.surf-spot--grande[b-a6gv4ugx8x] { border-left: 3px solid #f59e0b; }
.surf-spot--pequeno[b-a6gv4ugx8x]{ border-left: 3px solid #d1d5db; }

.surf-spot__quando[b-a6gv4ugx8x] {
    font-size: 0.8rem;
    color: var(--pe-color-text-muted, #6b7280);
}
.surf-spot__descricao[b-a6gv4ugx8x] {
    font-size: 0.82rem;
    color: var(--pe-color-text-muted, #6b7280);
    line-height: 1.45;
    margin: 4px 0 0;
    border-top: 1px solid var(--pe-color-border, #e5e7eb);
    padding-top: 6px;
}
.surf-spot__nivel[b-a6gv4ugx8x] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
    margin-top: 4px;
}
.surf-spot__nivel-label[b-a6gv4ugx8x] { font-size: 0.75rem; color: var(--pe-color-text-muted, #6b7280); }
.surf-spot__nivel-chip[b-a6gv4ugx8x] {
    font-size: 0.7rem;
    font-weight: 600;
    background: var(--pe-color-brand, #0ea5e9);
    color: #fff;
    border-radius: 99px;
    padding: 1px 8px;
}

/* ── Extra info section ──────────────────────────────────────────── */
.surf-page__extra[b-a6gv4ugx8x] {
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-6);
    margin-top: var(--pe-space-4);
}
.surf-info-grid[b-a6gv4ugx8x] {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--pe-space-4);
}
@media (min-width: 640px) { .surf-info-grid[b-a6gv4ugx8x] { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .surf-info-grid[b-a6gv4ugx8x] { grid-template-columns: repeat(3, 1fr); } }

.surf-info-card[b-a6gv4ugx8x] {
    background: var(--pe-color-surface);
    border: 1px solid var(--pe-color-border, #e5e7eb);
    border-radius: var(--pe-radius-lg);
    padding: var(--pe-space-5);
}
.surf-info-card h3[b-a6gv4ugx8x] {
    font-size: 0.92rem;
    font-weight: 700;
    margin: 0 0 var(--pe-space-3);
    color: var(--pe-color-text);
}
.surf-info-list[b-a6gv4ugx8x] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.surf-info-list li[b-a6gv4ugx8x] {
    font-size: 0.88rem;
    color: var(--pe-color-text-muted, #4b5563);
    line-height: 1.45;
}
.surf-info-list strong[b-a6gv4ugx8x] { color: var(--pe-color-text); }

/* ── Map ─────────────────────────────────────────────────────────── */
.surf-page__mapa-title[b-a6gv4ugx8x] {
    font-size: 0.92rem;
    font-weight: 700;
    margin: 0 0 var(--pe-space-2);
    color: var(--pe-color-text);
}
.surf-page__mapa-wrap[b-a6gv4ugx8x] {
    border: 1px solid var(--pe-color-border, #e5e7eb);
    border-radius: var(--pe-radius-lg);
    overflow: hidden;
    background: var(--pe-color-surface);
    padding: var(--pe-space-4);
}
.surf-page__mapa[b-a6gv4ugx8x] {
    width: 100%;
    height: 300px;
    border: 0;
    border-radius: var(--pe-radius-md);
    display: block;
}
@media (min-width: 768px) { .surf-page__mapa[b-a6gv4ugx8x] { height: 380px; } }

@media (prefers-color-scheme: dark) {
    .surf-spot__badge--bom[b-a6gv4ugx8x]    { background: #14532d; color: #86efac; }
    .surf-spot__badge--grande[b-a6gv4ugx8x] { background: #451a03; color: #fcd34d; }
    .surf-spot__badge--pequeno[b-a6gv4ugx8x]{ background: #374151; color: #9ca3af; }
}

@media (prefers-reduced-motion: reduce) {
    .surf-spot--skel[b-a6gv4ugx8x] { animation: none; }
}
/* /Components/Shared/BottomSheet.razor.rz.scp.css */
/* FILE: BottomSheet.razor.css
   PURPOSE: Folha inferior animada, safe-area-aware, foco visível.
   TOKENS: --pe-z-sheet, --pe-shadow-sheet, --pe-safe-bottom, --pe-motion-base
   AI-NOTE: Animação slide-up. Reduzida quando prefers-reduced-motion. */

.sheet[b-617w6mlftf] {
    position: fixed;
    inset: 0;
    z-index: var(--pe-z-sheet, 80);
    display: none;
    align-items: flex-end;
    justify-content: center;
}

.sheet--aberto[b-617w6mlftf] {
    display: flex;
}

.sheet__backdrop[b-617w6mlftf] {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .42);
    border: 0;
    padding: 0;
    cursor: pointer;
    animation: sheet-fade-b-617w6mlftf var(--pe-motion-base, 200ms) ease both;
}

.sheet__panel[b-617w6mlftf] {
    position: relative;
    width: 100%;
    max-width: 560px;
    background: var(--pe-color-surface, #ffffff);
    color: var(--pe-color-text, #0f172a);
    border-radius: 18px 18px 0 0;
    box-shadow: var(--pe-shadow-sheet, 0 -12px 30px rgba(15, 23, 42, .22));
    padding: 10px 16px calc(16px + var(--pe-safe-bottom, env(safe-area-inset-bottom, 0)));
    animation: sheet-up-b-617w6mlftf var(--pe-motion-base, 200ms) cubic-bezier(.2,.7,.2,1) both;
    max-height: 86dvh;
    overflow-y: auto;
}

.sheet__handle[b-617w6mlftf] {
    width: 40px;
    height: 4px;
    border-radius: 999px;
    background: var(--pe-color-border, rgba(15, 23, 42, .15));
    margin: 4px auto 12px;
}

.sheet__title[b-617w6mlftf] {
    margin: 0 0 12px;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.sheet__body[b-617w6mlftf] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

@keyframes sheet-up-b-617w6mlftf {
    from { transform: translateY(100%); }
    to { transform: translateY(0); }
}
@keyframes sheet-fade-b-617w6mlftf {
    from { opacity: 0; }
    to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .sheet__panel[b-617w6mlftf], .sheet__backdrop[b-617w6mlftf] { animation: none; }
}
/* /Components/Shared/Icon.razor.rz.scp.css */
/* FILE: Icon.razor.css
   PURPOSE: Estilo base do componente Icon. Herda cor (currentColor) e respeita flow inline.
   AI-NOTE: NÃO definir cor fixa aqui — usar currentColor para herdar do consumidor. */

.icon[b-uiw54l172s] {
    display: inline-block;
    flex-shrink: 0;
    color: currentColor;
    vertical-align: middle;
}
/* /Components/Shared/SmartTooltip.razor.rz.scp.css */
/* FILE: SmartTooltip.razor.css
   PURPOSE: Popover rico (ícone + título + descrição + atalhos) ancorado num gatilho.
   TOKENS:  Usa --pe-color-surface, --pe-color-border, --pe-shadow-4, --pe-radius-lg, --pe-motion-fast.
   AI-NOTE: CSS-only hover+focus. z-index acima do topbar sticky. Em mobile é escondido. */

.pe-tt[b-jttamzv69u] {
    position: relative;
    display: inline-flex;
    /* necessário para o popover não ser cortado pelo overflow da nav */
    overflow: visible;
}

.pe-tt__pop[b-jttamzv69u] {
    position: absolute;
    top: calc(100% + 12px);
    left: 50%;
    transform: translate(-50%, 6px);
    min-width: 260px;
    max-width: 320px;
    padding: var(--pe-space-3) var(--pe-space-4) var(--pe-space-4);
    background: var(--pe-color-surface);
    color: var(--pe-color-text);
    border: 1px solid var(--pe-color-border-strong);
    border-radius: var(--pe-radius-lg);
    box-shadow: var(--pe-shadow-5);
    display: flex;
    flex-direction: column;
    gap: var(--pe-space-2);
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: opacity var(--pe-motion-fast) var(--pe-easing-standard),
                transform var(--pe-motion-fast) var(--pe-easing-emphasize),
                visibility var(--pe-motion-fast) step-end;
    /* IMPORTANTE: acima do topbar (z-index 30) + 20 */
    z-index: 50;
    text-align: left;
}

.pe-tt--right .pe-tt__pop[b-jttamzv69u] {
    left: auto;
    right: 0;
    transform: translate(0, 6px);
}

/* seta */
.pe-tt__pop[b-jttamzv69u]::before {
    content: "";
    position: absolute;
    top: -7px;
    left: 50%;
    width: 12px;
    height: 12px;
    background: var(--pe-color-surface);
    border-left: 1px solid var(--pe-color-border-strong);
    border-top: 1px solid var(--pe-color-border-strong);
    transform: translateX(-50%) rotate(45deg);
}

.pe-tt--right .pe-tt__pop[b-jttamzv69u]::before {
    left: auto;
    right: 20px;
    transform: rotate(45deg);
}

.pe-tt:hover .pe-tt__pop[b-jttamzv69u],
.pe-tt:focus-within .pe-tt__pop[b-jttamzv69u] {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0);
    transition: opacity var(--pe-motion-fast) var(--pe-easing-standard),
                transform var(--pe-motion-fast) var(--pe-easing-emphasize),
                visibility var(--pe-motion-fast) step-start;
}

.pe-tt--right:hover .pe-tt__pop[b-jttamzv69u],
.pe-tt--right:focus-within .pe-tt__pop[b-jttamzv69u] {
    transform: translate(0, 0);
}

.pe-tt__head[b-jttamzv69u] {
    display: inline-flex;
    align-items: center;
    gap: var(--pe-space-2);
}

.pe-tt__icon[b-jttamzv69u] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: var(--pe-radius-sm);
    background: var(--pe-color-surface-2);
    color: var(--pe-color-editorial);
}

.pe-tt__title[b-jttamzv69u] {
    font-size: var(--pe-text-sm);
    font-weight: 700;
    letter-spacing: var(--pe-tracking-snug);
}

.pe-tt__desc[b-jttamzv69u] {
    font-size: var(--pe-text-sm);
    color: var(--pe-color-text-soft);
    line-height: var(--pe-leading-snug);
}

.pe-tt__shortcuts[b-jttamzv69u] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 2px;
}

.pe-tt__chip[b-jttamzv69u] {
    display: inline-flex;
    align-items: center;
    height: 26px;
    padding: 0 10px;
    border-radius: var(--pe-radius-pill);
    background: var(--pe-color-surface-2);
    color: var(--pe-color-text);
    font-size: var(--pe-text-xs);
    font-weight: 600;
    text-decoration: none;
    border: 1px solid var(--pe-color-border);
    transition: background-color var(--pe-motion-fast) var(--pe-easing-standard),
                color var(--pe-motion-fast) var(--pe-easing-standard);
}

.pe-tt__chip:hover[b-jttamzv69u] {
    background: var(--pe-color-editorial);
    color: #fff;
    border-color: transparent;
}

@media (max-width: 767px) {
    .pe-tt__pop[b-jttamzv69u] { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .pe-tt__pop[b-jttamzv69u] { transition: none; }
}
