/* ═══════════════════════════════════════════════════════════════
   Layout-10  "Mergulho no Céu"
   Prefix: lp10-

   Conceito: O céu azul é a tela permanente de toda a página.
   O conteúdo flutua sobre ele em painéis de vidro fosco (glassmorphism).
   Não há seções de fundo branco — o visitante nunca "sai" do céu.

   Pilares visuais:
   ├─ background fixed: gradiente de céu do topo ao rodapé
   ├─ clouds layer fixed: nuvens CSS de baixa opacidade
   ├─ header fixo: transparente → glassmorphism ao scrollar
   ├─ hero fullscreen: texto direto no céu, sem caixa
   ├─ bento grid: painéis de vidro (sobre + data + local + inscrição)
   ├─ programação: dia pill (esquerda) + grid de cards de vidro (direita)
   └─ FAB flutuante: botão de inscrição fixo no canto inferior direito
   ═══════════════════════════════════════════════════════════════ */

/* ── Céu fixo ─────────────────────────────────────────────────── */
.lp10-sky {
    position: fixed;
    inset: 0;
    z-index: 0;
    background: linear-gradient(
        185deg,
        #0e5fad  0%,
        #1d7cdd  28%,
        #3fa0f0  58%,
        #82c8fa  82%,
        #b3deff 100%
    );
}

/* ── Camada de nuvens (fixed decorativa) ──────────────────────── */
.lp10-clouds {
    position: fixed;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
}
.lp10-cloud-elem {
    position: absolute;
    background: rgba(255, 255, 255, 0.55);
    border-radius: 999px;
}
.lp10-cloud-elem::before,
.lp10-cloud-elem::after {
    content: '';
    position: absolute;
    background: inherit;
    border-radius: 50%;
}

.lp10-ce1 { width: 300px; height: 86px; top: 12vh; right: 9%;  opacity: .12; }
.lp10-ce1::before { width: 150px; height: 130px; top: -66px; left:  42px; }
.lp10-ce1::after  { width: 110px; height:  94px; top: -46px; right: 38px; }

.lp10-ce2 { width: 190px; height: 58px; top:  7vh; left: 11%; opacity: .08; }
.lp10-ce2::before { width:  96px; height:  82px; top: -42px; left:  24px; }
.lp10-ce2::after  { width:  72px; height:  60px; top: -28px; right: 22px; }

.lp10-ce3 { width: 220px; height: 66px; top: 38vh; right: 24%; opacity: .07; }
.lp10-ce3::before { width: 110px; height:  94px; top: -48px; left:  30px; }
.lp10-ce3::after  { width:  82px; height:  68px; top: -32px; right: 26px; }

.lp10-ce4 { width: 130px; height: 40px; top: 22vh; left: 38%; opacity: .06; }
.lp10-ce4::before { width:  66px; height:  56px; top: -28px; left:  16px; }
.lp10-ce4::after  { width:  50px; height:  42px; top: -18px; right: 14px; }

/* ── Body base ────────────────────────────────────────────────── */
.lp10-body {
    margin: 0; padding: 0;
    background: transparent;
    color: #fff;
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    font-size: 15px;
    line-height: 1.6;
    min-height: 100vh;
}

/* ── Glass — padrão compartilhado ─────────────────────────────── */
.lp10-glass {
    background: rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(18px) saturate(1.4);
    -webkit-backdrop-filter: blur(18px) saturate(1.4);
    border: 1px solid rgba(255, 255, 255, 0.34);
    box-shadow:
        0 8px 32px rgba(0, 0, 0, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.42);
}
@supports not (backdrop-filter: blur(1px)) {
    .lp10-glass { background: rgba(10, 80, 155, 0.80); }
}

/* ── Header fixo ──────────────────────────────────────────────── */
.lp10-header {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 200;
    height: 58px;
    display: flex;
    align-items: center;
    background: transparent;
    border-bottom: 1px solid transparent;
    transition: background .35s ease, backdrop-filter .35s ease,
                -webkit-backdrop-filter .35s ease, border-color .35s ease,
                box-shadow .35s ease;
}
.lp10-header.is-scrolled {
    background: rgba(12, 72, 148, 0.42);
    backdrop-filter: blur(22px) saturate(1.5);
    -webkit-backdrop-filter: blur(22px) saturate(1.5);
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 2px 24px rgba(0, 0, 0, 0.1);
}
@supports not (backdrop-filter: blur(1px)) {
    .lp10-header.is-scrolled { background: rgba(10, 65, 140, 0.94); }
}

.lp10-header-inner {
    width: 100%; max-width: 1080px;
    margin: 0 auto; padding: 0 24px;
    display: flex; align-items: center; gap: 16px;
}

.lp10-back-link {
    display: flex; align-items: center; gap: 6px;
    color: rgba(255,255,255,.8); text-decoration: none;
    font-size: .78rem; font-weight: 500;
    flex-shrink: 0; transition: color .15s;
}
.lp10-back-link:hover { color: #fff; }

/* Título do header — aparece só ao scrollar */
.lp10-header-title {
    font-size: .88rem; font-weight: 600;
    color: rgba(255,255,255,.9);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    flex: 1;
    opacity: 0; transform: translateY(-5px);
    transition: opacity .3s ease, transform .3s ease;
    pointer-events: none;
}
.lp10-header.is-scrolled .lp10-header-title {
    opacity: 1; transform: translateY(0); pointer-events: auto;
}

.lp10-nav {
    display: flex; align-items: center; gap: 2px; flex-shrink: 0;
}
.lp10-nav a {
    display: block; padding: 5px 13px;
    color: rgba(255,255,255,.82);
    text-decoration: none; font-size: .82rem; font-weight: 500;
    border-radius: 6px; white-space: nowrap;
    transition: color .15s, background .15s;
}
.lp10-nav a:hover  { color: #fff; background: rgba(255,255,255,.14); }
.lp10-nav a.active { color: #fff; font-weight: 700; background: rgba(255,255,255,.2); }

/* Hamburger */
.lp10-hamburger {
    display: none;
    flex-direction: column; justify-content: center;
    gap: 5px; width: 34px; height: 34px;
    background: none; border: none; cursor: pointer;
    border-radius: 6px; padding: 6px;
    flex-shrink: 0; margin-left: auto;
}
.lp10-hamburger span {
    display: block; height: 2px;
    background: rgba(255,255,255,.9); border-radius: 2px;
    transition: transform .2s, opacity .2s;
}
.lp10-hamburger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.lp10-hamburger.is-open span:nth-child(2) { opacity: 0; }
.lp10-hamburger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* User area no header */
.lp10-header-user { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.lp10-user-drop   { position: relative; }
.lp10-user-btn {
    display: flex; align-items: center; gap: 7px;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 8px; padding: 4px 10px 4px 4px;
    cursor: pointer; font-size: .78rem; color: #fff;
    transition: background .15s;
}
.lp10-user-btn:hover { background: rgba(255,255,255,.24); }
.lp10-user-av {
    width: 26px; height: 26px; border-radius: 50%;
    background: rgba(255,255,255,.25);
    display: flex; align-items: center; justify-content: center;
    font-size: .68rem; font-weight: 700; color: #fff;
    overflow: hidden; flex-shrink: 0;
}
.lp10-user-name-label { max-width: 90px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lp10-user-menu {
    display: none; position: absolute;
    right: 0; top: calc(100% + 6px);
    background: rgba(8, 55, 120, 0.88);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 12px; min-width: 175px;
    padding: 4px 0; list-style: none; margin: 0;
    box-shadow: 0 8px 32px rgba(0,0,0,.2); z-index: 300;
}
.lp10-user-menu.show { display: block; }
.lp10-user-menu-hdr { padding: 8px 14px 5px; font-size: .72rem; color: rgba(255,255,255,.45); font-weight: 500; }
.lp10-user-menu li a { display: block; padding: 7px 14px; color: rgba(255,255,255,.85); text-decoration: none; font-size: .82rem; transition: background .12s; }
.lp10-user-menu li a:hover { background: rgba(255,255,255,.1); }
.lp10-user-menu li a.text-danger { color: #fca5a5; }
.lp10-btn-entrar {
    display: flex; align-items: center; gap: 6px;
    padding: 5px 14px;
    background: rgba(255,255,255,.16);
    color: #fff; border: 1px solid rgba(255,255,255,.32);
    border-radius: 7px; cursor: pointer;
    font-size: .78rem; font-weight: 600;
    transition: background .15s; white-space: nowrap;
}
.lp10-btn-entrar:hover { background: rgba(255,255,255,.28); }

/* ── Hero fullscreen ──────────────────────────────────────────── */
.lp10-hero {
    position: relative; z-index: 2;
    min-height: 76vh;
    display: flex; flex-direction: column;
    justify-content: center;
    max-width: 1080px;
    margin: 0 auto;
    padding: 92px 24px 64px;
}

.lp10-hero-logo-row {
    display: flex; align-items: flex-start;
    gap: 26px; margin-bottom: 0;
}
.lp10-hero-logo {
    width: 90px; height: 90px; border-radius: 18px;
    object-fit: cover;
    border: 2px solid rgba(255,255,255,.4);
    flex-shrink: 0; display: block;
    box-shadow: 0 8px 24px rgba(0,0,0,.2);
}
.lp10-hero-logo-ph {
    width: 90px; height: 90px; border-radius: 18px;
    border: 2px solid rgba(255,255,255,.4);
    background: rgba(255,255,255,.16);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.8rem; font-weight: 800;
    color: rgba(255,255,255,.95);
    flex-shrink: 0; letter-spacing: -.03em;
}
.lp10-hero-info { min-width: 0; }

.lp10-hero-badge {
    display: inline-block;
    font-size: .67rem; font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase;
    color: rgba(255,255,255,.8);
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.25);
    padding: 3px 10px; border-radius: 99px;
    margin-bottom: 14px;
}
.lp10-hero-title {
    font-size: clamp(2rem, 5vw, 3.8rem);
    font-weight: 800; color: #fff;
    line-height: 1.1; margin: 0 0 22px;
    letter-spacing: -.03em;
    text-shadow: 0 2px 14px rgba(0,0,0,.18);
    max-width: 720px;
}
.lp10-hero-pills {
    display: flex; flex-wrap: wrap; gap: 8px;
    margin-bottom: 18px;
}
.lp10-pill {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 5px 14px;
    background: rgba(255,255,255,.14);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 99px;
    font-size: .82rem; color: rgba(255,255,255,.92);
}
.lp10-pill i { font-size: .74rem; opacity: .7; }

.lp10-hero-status {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: .72rem; font-weight: 600;
    padding: 3px 11px; border-radius: 99px;
    border: 1px solid rgba(255,255,255,.3);
    background: rgba(255,255,255,.12); color: #fff;
}
.lp10-hero-status.aberto    { background: rgba(16,185,129,.22); border-color: rgba(16,185,129,.42); color: #6ee7b7; }
.lp10-hero-status.futuro    { background: rgba(139,92,246,.22); border-color: rgba(139,92,246,.42); color: #c4b5fd; }
.lp10-hero-status.andamento { background: rgba(245,158,11,.22); border-color: rgba(245,158,11,.42); color: #fde68a; }

/* Countdown hero */
.lp10-countdown { display: none; gap: 26px; margin-top: 22px; }
.lp10-countdown.visible { display: flex; }
.lp10-countdown-unit { text-align: center; }
.lp10-countdown-num {
    font-size: 2.2rem; font-weight: 800; color: #fff;
    line-height: 1; text-shadow: 0 2px 8px rgba(0,0,0,.15);
}
.lp10-countdown-lbl {
    font-size: .6rem; color: rgba(255,255,255,.8);
    text-transform: uppercase; letter-spacing: .06em; margin-top: 3px;
}

/* Indicador de scroll */
.lp10-scroll-ind {
    position: absolute; bottom: 30px; left: 0; right: 0;
    display: flex; flex-direction: column; align-items: center; gap: 8px;
    color: #fff; font-size: .7rem; font-weight: 600;
    letter-spacing: .1em; text-transform: uppercase;
    text-shadow: 0 1px 8px rgba(0,0,0,.3);
    cursor: pointer;
    user-select: none;
}
.lp10-scroll-ind:hover i { background: rgba(255,255,255,.34); border-color: rgba(255,255,255,.7); }
.lp10-scroll-ind i {
    font-size: .9rem;
    width: 32px; height: 32px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,.22);
    border: 1px solid rgba(255,255,255,.5);
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
    box-shadow: 0 4px 14px rgba(0,0,0,.18);
    transition: background .2s, border-color .2s;
    animation: lp10bounce 1.9s ease-in-out infinite;
}
@keyframes lp10bounce {
    0%,100% { transform: translateY(0); }
    50%      { transform: translateY(8px); }
}

/* ── Wrapper de conteúdo scrollável ───────────────────────────── */
.lp10-page {
    position: relative; z-index: 2;
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 24px 120px;
}

/* Blocos de Informação + Comissão Científica — alinhar e dar o mesmo "glass card" das seções (dentro de .lp10-page) */
#blocos-informacao, #comissao-cientifica { padding: 0; }
#blocos-informacao .container { max-width: none; width: 100%; margin: 0; padding: 24px 0 64px; }

/* Cada bloco vira um cartão de vidro, como o painel "Sobre" (.lp10-glass) */
#blocos-informacao .evento-bloco {
    background: rgba(255, 255, 255, 0.16);
    -webkit-backdrop-filter: blur(18px) saturate(1.4);
    backdrop-filter: blur(18px) saturate(1.4);
    border: 1px solid rgba(255, 255, 255, 0.34);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.42);
    border-radius: 22px;
    padding: 28px 32px;
}

/* Comissão: o próprio container vira um cartão de vidro */
#comissao-cientifica .container {
    max-width: none; width: 100%; margin: 0 0 64px;
    background: rgba(255, 255, 255, 0.16);
    -webkit-backdrop-filter: blur(18px) saturate(1.4);
    backdrop-filter: blur(18px) saturate(1.4);
    border: 1px solid rgba(255, 255, 255, 0.34);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.42);
    border-radius: 22px;
    padding: 28px 32px;
}

@supports not (backdrop-filter: blur(1px)) {
    #blocos-informacao .evento-bloco,
    #comissao-cientifica .container { background: rgba(10, 80, 155, 0.80); }
}

/* Tipografia clara sobre o vidro/céu */
#blocos-informacao .evento-bloco-titulo { color: rgba(255, 255, 255, 0.96); font-weight: 700; }
#blocos-informacao .evento-bloco-texto { color: rgba(255, 255, 255, 0.88); line-height: 1.82; }
#comissao-cientifica h2 { color: rgba(255, 255, 255, 0.96); margin: 0 0 4px; }
#comissao-cientifica .evento-comissao-item { color: rgba(255, 255, 255, 0.92); }

/* Títulos de seção flutuando no céu */
.lp10-sky-label {
    font-size: .68rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .12em;
    color: rgba(255,255,255,.6);
    display: flex; align-items: center; gap: 8px;
    margin: 0 0 18px;
}
.lp10-sky-label::after {
    content: '';
    display: block; flex: 1; height: 1px;
    background: rgba(255,255,255,.18);
}

/* ── Bento grid ────────────────────────────────────────────────── */
.lp10-bento {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 14px;
    align-items: start;
    margin-bottom: 64px;
}
/* Sem painel "Sobre" (evento sem descrição/banner): os cartões de info/inscrição
   ocupam a largura toda, distribuídos, em vez de espremidos numa coluna estreita. */
.lp10-bento--sem-sobre {
    grid-template-columns: 1fr;
}

/* Coluna direita: pilha de painéis (data, local, inscrição) */
.lp10-bento-side {
    display: flex; flex-direction: column; gap: 14px;
    min-width: 0;
}
/* Sem "Sobre": a pilha vira uma faixa de cartões lado a lado (altura natural) */
.lp10-bento--sem-sobre .lp10-bento-side {
    flex-direction: row; flex-wrap: wrap; align-items: flex-start;
}
.lp10-bento--sem-sobre .lp10-bento-side > * {
    flex: 1 1 250px;
}

/* Painel principal — Sobre */
.lp10-panel-sobre {
    border-radius: 22px;
    padding: 28px 32px;
    min-width: 0;
}
.lp10-panel-sobre-banner {
    width: 100%; height: auto;
    border-radius: 12px;
    margin-bottom: 20px; opacity: .82;
    display: block;
}
.lp10-glass-eyebrow {
    font-size: .66rem; font-weight: 700;
    letter-spacing: .12em; text-transform: uppercase;
    color: rgba(255,255,255,.82); margin: 0 0 10px;
}
.lp10-glass-body {
    font-size: .9rem; color: rgba(255,255,255,.88);
    line-height: 1.82; margin: 0; white-space: pre-line;
}

/* Painel de info (data, local) */
.lp10-panel-info {
    border-radius: 18px;
    padding: 18px 20px;
    display: flex; align-items: center; gap: 14px;
}
.lp10-panel-info-icon {
    width: 44px; height: 44px; border-radius: 12px;
    background: rgba(255,255,255,.2);
    display: flex; align-items: center; justify-content: center;
    font-size: 1rem; color: rgba(255,255,255,.9);
    flex-shrink: 0;
}
.lp10-panel-info-label {
    font-size: .64rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .1em;
    color: rgba(255,255,255,.8); margin-bottom: 3px;
}
.lp10-panel-info-value {
    font-size: .92rem; font-weight: 700; color: #fff; line-height: 1.3;
}

/* Painel de inscrição */
.lp10-panel-inscr {
    border-radius: 18px;
    padding: 20px 20px 22px;
    display: flex; flex-direction: column; gap: 0;
}
.lp10-panel-inscr h3 {
    font-size: .98rem; font-weight: 800;
    color: #fff; margin: 0 0 4px;
}
.lp10-panel-inscr p {
    font-size: .78rem; color: rgba(255,255,255,.82);
    margin: 0 0 16px; line-height: 1.5;
}
.lp10-btn-inscr-main {
    display: flex; align-items: center; justify-content: center; gap: 7px;
    padding: 11px 20px;
    background: #fff; color: #0e5fad;
    border: none; border-radius: 11px;
    font-size: .88rem; font-weight: 800;
    cursor: pointer;
    box-shadow: 0 4px 18px rgba(0,0,0,.14);
    transition: transform .18s, box-shadow .18s;
    width: 100%;
}
.lp10-btn-inscr-main:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 32px rgba(0,0,0,.2);
}
.lp10-insc-counter {
    display: flex; align-items: center; gap: 6px;
    margin-top: 12px;
    color: rgba(255,255,255,.65); font-size: .76rem;
}
.lp10-insc-counter strong { color: #fff; }
.lp10-inscricao-alert {
    font-size: .78rem; font-weight: 600; color: #fca5a5;
    min-height: 1.1em; margin-bottom: 6px;
}

/* ── Programação — day rows ────────────────────────────────────── */
.lp10-prog-wrap { margin-bottom: 0; }
.lp10-prog-empty { color: rgba(255,255,255,.5); font-size: .88rem; padding: 16px 0; }

.lp10-prog-day {
    display: grid;
    grid-template-columns: 78px 1fr;
    gap: 14px;
    margin-bottom: 40px;
    align-items: start;
}
.lp10-prog-day:last-child { margin-bottom: 0; }

/* Pill do dia — fica sticky enquanto os cards estão visíveis */
.lp10-day-pill {
    border-radius: 18px;
    padding: 16px 8px 14px;
    text-align: center;
    position: sticky;
    top: 72px;
}
.lp10-day-num {
    font-size: 1.9rem; font-weight: 800; color: #fff; line-height: 1;
}
.lp10-day-month {
    font-size: .62rem; color: rgba(255,255,255,.72);
    text-transform: uppercase; letter-spacing: .06em; margin-top: 3px;
}
.lp10-day-wk {
    font-size: .58rem; color: rgba(255,255,255,.52);
    text-transform: uppercase; letter-spacing: .04em;
    margin-top: 6px; padding-top: 5px;
    border-top: 1px solid rgba(255,255,255,.18);
}
.lp10-day-from {
    font-size: .55rem; line-height: 1.3;
    color: rgba(255,255,255,.4); margin-top: 5px;
}

/* Grid de cards por dia */
.lp10-day-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 10px;
    align-items: stretch;
}

/* ── Cards de atividade (vidro) ────────────────────────────────── */
.lp10-act-card {
    border-radius: 16px;
    padding: 15px 16px;
    height: 100%;
    display: flex; flex-direction: column; gap: 5px;
    transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
    cursor: default;
}
.lp10-act-card:hover {
    transform: translateY(-4px);
    background: rgba(255,255,255,.24);
    box-shadow:
        0 16px 48px rgba(0,0,0,.13),
        inset 0 1px 0 rgba(255,255,255,.5);
}

.lp10-act-meta {
    display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
}
.lp10-act-time {
    font-size: .75rem; font-weight: 700;
    color: #fff;
    display: flex; align-items: center; gap: 3px; white-space: nowrap;
}
.lp10-act-time i { font-size: .64rem; opacity: .6; }
.lp10-act-type {
    display: inline-block;
    font-size: .62rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .07em;
    padding: 2px 8px; border-radius: 4px;
    background: rgba(255,255,255,.28);
    color: #fff;
    border: 1px solid rgba(255,255,255,.34);
}
.lp10-act-title {
    font-size: .95rem; font-weight: 700; color: #fff;
    margin: 0; line-height: 1.3;
}
.lp10-act-desc {
    font-size: .73rem; color: rgba(255,255,255,.78);
    line-height: 1.45; margin: 0;
    /* limita a 2 linhas para uniformizar a altura dos cards */
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.lp10-act-details {
    display: flex; flex-direction: column; gap: 2px;
    font-size: .72rem; color: rgba(255,255,255,.76);
    margin-top: 2px;
}
.lp10-act-detail {
    display: flex; align-items: flex-start; gap: 5px; line-height: 1.3;
}
.lp10-act-detail i {
    font-size: .66rem; opacity: .7; width: 11px;
    text-align: center; flex-shrink: 0; margin-top: 2px;
}
.lp10-act-card-footer {
    display: flex; align-items: center; gap: 7px;
    padding-top: 8px;
    border-top: 1px solid rgba(255,255,255,.14);
    flex-wrap: wrap; margin-top: auto;
}
.lp10-vagas {
    font-size: .68rem; font-weight: 600;
    padding: 2px 8px; border-radius: 4px;
    background: rgba(255,255,255,.15);
    color: rgba(255,255,255,.85);
    border: 1px solid rgba(255,255,255,.2);
}
.lp10-vagas.sem-vaga { background: rgba(220,38,38,.3); border-color: rgba(220,38,38,.4); color: #fca5a5; }
.lp10-btn-inscr {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 3px 11px;
    border: 1px solid rgba(255,255,255,.38);
    background: rgba(255,255,255,.14);
    color: #fff; border-radius: 6px;
    font-size: .71rem; font-weight: 600;
    cursor: pointer; margin-left: auto;
    transition: background .15s;
}
.lp10-btn-inscr:hover { background: rgba(255,255,255,.28); }
.lp10-btn-inscr:disabled { opacity: .35; cursor: not-allowed; }

/* ── FAB — inscrição flutuante ─────────────────────────────────── */
.lp10-fab {
    position: fixed;
    bottom: 28px; right: 28px;
    z-index: 300;
    display: flex; align-items: center; gap: 9px;
    padding: 13px 26px;
    background: rgba(255,255,255,.24);
    backdrop-filter: blur(22px) saturate(1.5);
    -webkit-backdrop-filter: blur(22px) saturate(1.5);
    border: 1.5px solid rgba(255,255,255,.48);
    border-radius: 50px;
    color: #fff; font-size: .88rem; font-weight: 800;
    cursor: pointer; letter-spacing: .01em;
    box-shadow:
        0 8px 32px rgba(0,0,0,.12),
        inset 0 1px 0 rgba(255,255,255,.5);
    transition: transform .22s ease, background .22s ease,
                box-shadow .22s ease, opacity .3s ease;
}
.lp10-fab:hover {
    background: rgba(255,255,255,.34);
    transform: translateY(-4px) scale(1.02);
    box-shadow: 0 18px 52px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.6);
}
.lp10-fab.hidden { opacity: 0; pointer-events: none; transform: translateY(14px); }
.lp10-fab i { font-size: .85rem; }
@supports not (backdrop-filter: blur(1px)) {
    .lp10-fab { background: rgba(12, 68, 155, 0.92); }
}

/* ── Footer ───────────────────────────────────────────────────── */
.lp10-footer {
    position: relative; z-index: 2;
    padding: 20px 24px;
    text-align: center;
    font-size: .72rem;
    color: rgba(255,255,255,.4);
}
.lp10-footer a { color: inherit; text-decoration: none; transition: color .15s; }
.lp10-footer a:hover { color: rgba(255,255,255,.8); }

/* ── Login modal field ─────────────────────────────────────────── */
.el-field {
    display: block; width: 100%;
    padding: 10px 14px;
    border: 1.5px solid #e2e8f0; border-radius: 8px;
    font-size: .9rem; color: #1e293b;
    outline: none; box-sizing: border-box;
    transition: border-color .2s;
}
.el-field:focus { border-color: #3fa0f0; box-shadow: 0 0 0 3px rgba(63,160,240,.12); }

/* ══════════════════ RESPONSIVE ══════════════════════════════════ */

/* Tablet */
@media (max-width: 900px) {
    /* Sobre em cima (largura toda) e os cartões de info lado a lado embaixo */
    .lp10-bento { grid-template-columns: 1fr; }
    .lp10-bento-side { flex-direction: row; flex-wrap: wrap; }
    .lp10-bento-side > * { flex: 1 1 240px; }
}

/* Mobile */
@media (max-width: 768px) {
    .lp10-header-title { display: none; }
    .lp10-nav { display: none; }
    .lp10-nav.is-open {
        display: flex; flex-direction: column;
        position: fixed; top: 58px; left: 0; right: 0;
        background: rgba(10, 65, 135, 0.94);
        backdrop-filter: blur(22px);
        -webkit-backdrop-filter: blur(22px);
        border-bottom: 1px solid rgba(255,255,255,.15);
        padding: 8px 16px 16px; z-index: 199; gap: 0;
        box-shadow: 0 8px 32px rgba(0,0,0,.2);
    }
    .lp10-nav.is-open a { padding: 12px; font-size: .9rem; }
    .lp10-hamburger { display: flex; }

    .lp10-hero { min-height: 80vh; padding: 84px 16px 56px; }
    .lp10-hero-title { font-size: clamp(1.7rem, 7vw, 2.4rem); }
    .lp10-hero-logo,
    .lp10-hero-logo-ph { width: 68px; height: 68px; border-radius: 13px; }
    .lp10-hero-logo-row { gap: 16px; }

    .lp10-page { padding: 0 16px 80px; }
    .lp10-bento { grid-template-columns: 1fr; }
    .lp10-bento-side { flex-direction: column; }
    .lp10-bento-side > * { flex: 1 1 auto; }

    .lp10-prog-day { grid-template-columns: 64px 1fr; gap: 10px; }
    .lp10-day-num  { font-size: 1.5rem; }
    .lp10-day-pill { top: 68px; }
    .lp10-day-cards { grid-template-columns: 1fr; }

    .lp10-fab { bottom: 20px; right: 20px; padding: 11px 20px; font-size: .82rem; }
    .lp10-scroll-ind { display: none; }
    .lp10-ce3, .lp10-ce4 { display: none; }
}

/* Mobile pequeno */
@media (max-width: 480px) {
    .lp10-hero-logo-row { flex-direction: column; gap: 12px; }
    .lp10-hero-title  { font-size: 1.65rem; }
    .lp10-prog-day { grid-template-columns: 1fr; }
    .lp10-day-pill {
        position: static;
        display: flex; align-items: center;
        gap: 10px; text-align: left;
        border-radius: 12px; padding: 10px 16px;
    }
    .lp10-day-num   { font-size: 1.2rem; }
    .lp10-day-wk    { border-top: none; border-left: 1px solid rgba(255,255,255,.18); padding-top: 0; padding-left: 6px; margin-top: 0; }
    .lp10-day-from  { display: none; }
}

/* ── Submissões como painel de vidro (tema "Mergulho no Céu") ──────
   Sem caixas brancas: o cabeçalho da seção imita o .lp10-sky-label, os cards
   viram glassmorphism (igual .lp10-glass) e todo o texto fica claro. O botão
   de ação fica branco sólido p/ destacar sobre o céu. O prefixo #submissoes
   vence o <style> autocontido do partial. */
#submissoes.evsub-section { padding: 2.5rem 0; }
#submissoes .evsub-wrap { max-width: none; padding: 0; }

/* Cabeçalho da seção = rótulo claro com filete (igual sky-label) */
#submissoes .evsub-title {
    font-size: .68rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .12em;
    color: rgba(255,255,255,.6); margin: 0 0 18px; gap: 8px;
}
#submissoes .evsub-title i { color: rgba(255,255,255,.6); font-size: .8rem; }
#submissoes .evsub-title::after {
    content: ''; display: block; flex: 1; height: 1px;
    background: rgba(255,255,255,.18);
}

/* Cards = vidro fosco */
#submissoes .evsub-card {
    background: rgba(255,255,255,.16);
    backdrop-filter: blur(18px) saturate(1.4);
    -webkit-backdrop-filter: blur(18px) saturate(1.4);
    border: 1px solid rgba(255,255,255,.34);
    box-shadow: 0 8px 32px rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.42);
}
@supports not (backdrop-filter: blur(1px)) {
    #submissoes .evsub-card { background: rgba(10,80,155,.85); }
}
#submissoes .evsub-head {
    background: rgba(255,255,255,.22);
    border-bottom: 1px solid rgba(255,255,255,.22);
    color: #fff;
}
#submissoes .evsub-card-title { color: #fff; }

/* Texto interno claro */
#submissoes .evsub-desc { color: rgba(255,255,255,.85); }
#submissoes .evsub-info { color: rgba(255,255,255,.92); }
#submissoes .evsub-info li span { color: rgba(255,255,255,.62); }
#submissoes .evsub-i-av { color: rgba(255,255,255,.7); }
#submissoes .evsub-tpls-lbl { color: rgba(255,255,255,.7); }
#submissoes .evsub-tpls a { color: #fff; text-decoration: underline; }

/* Botão de ação: branco sólido sobre o céu */
#submissoes .evsub-btn { background: #fff; color: #0e5fad; }
#submissoes .evsub-btn:hover { background: #eaf4ff; color: #0e5fad; }
#submissoes .evsub-btn--off,
#submissoes .evsub-btn:disabled {
    background: rgba(255,255,255,.12); color: rgba(255,255,255,.55);
    border: 1px solid rgba(255,255,255,.2);
}
