/* ═══════════════════════════════════════════════════════════════════
   Marca Luvo — compartilhada pelas telas do Luvo Agenda.
   Paleta, tipografia, logotipo (.luvo-logo, mesmo padrão do cabeçalho de
   imob.luvohq.com) e rodapé ("um produto" + logotipo).
   ═══════════════════════════════════════════════════════════════════ */
:root {
    --luvo-navy:        #0F172A;
    --luvo-navy-2:      #1E293B;
    --luvo-orange:      #F97316;
    --luvo-orange-hover:#EA580C;   /* hover/focus de botões e links */
    --luvo-orange-press:#C2410C;   /* active; também o laranja para TEXTO sobre fundo claro */
    --luvo-orange-soft: #FFF7ED;
    --luvo-offwhite:    #F8FAFC;
    --luvo-white:       #FFFFFF;
    --luvo-line:        #E2E8F0;
    --luvo-muted:       #475569;
    --luvo-soft:        #64748B;
    --luvo-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* ── Logotipo: LUVO + .produto ─────────────────────────────────────── */
.luvo-logo {
    display: inline-flex; align-items: baseline;
    flex-shrink: 0; white-space: nowrap; line-height: 1;
    text-decoration: none; font-size: 1.25rem;
}
.luvo-logo__img { display: block; width: auto; height: 1.5em; }
.luvo-logo__product {
    position: relative; top: -.12em;
    margin-left: .06em;
    font-size: .92em; font-weight: 700; letter-spacing: -.01em;
    color: var(--luvo-orange);
}

/* ── Rodapé: "um produto" + logotipo ───────────────────────────────── */
.luvo-footer {
    display: flex; align-items: center; justify-content: center;
    gap: .55rem; padding: 1.25rem 1rem;
    font-family: var(--luvo-font); font-size: .85rem; line-height: 1;
    color: var(--luvo-soft);
}
.luvo-footer .luvo-logo { font-size: 1rem; }
.luvo-hq { display: inline-flex; align-items: center; text-decoration: none; border-radius: 4px; }
.luvo-hq .luvo-logo__img { height: 1.7em; }
.luvo-hq:hover { opacity: .8; }
.luvo-footer--dark { background: var(--luvo-navy); color: #94A3B8; }
@media (max-width: 480px) {
    .luvo-footer { padding: 1rem .75rem; }
}

/* ── Botões laranja: texto SEMPRE branco, em todos os estados ──────── */
.btn-luvo-orange,
.btn-luvo-orange:hover,
.btn-luvo-orange:focus,
.btn-luvo-orange:focus-visible,
.btn-luvo-orange:active,
.btn-luvo-orange:disabled {
    color: #FFFFFF;
}
.btn-luvo-orange {
    display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
    background: var(--luvo-orange); border: 1px solid var(--luvo-orange);
    font: inherit; font-weight: 600; text-decoration: none; cursor: pointer;
    border-radius: 8px; padding: .6rem 1.2rem; transition: background .15s, border-color .15s;
}
.btn-luvo-orange:hover  { background: var(--luvo-orange-hover); border-color: var(--luvo-orange-hover); }
.btn-luvo-orange:active { background: var(--luvo-orange-press); border-color: var(--luvo-orange-press); }
.btn-luvo-orange:disabled { opacity: .6; cursor: not-allowed; }

/* ── Foco visível por teclado ──────────────────────────────────────── */
:focus-visible { outline: 2px solid var(--luvo-orange-hover); outline-offset: 2px; }

/* Rodapé dentro de um cartão (confirmação, agendamento, erros): faixa suave com borda */
.card > .luvo-footer, .luvo-footer--card {
    background: var(--luvo-offwhite);
    border-top: 1px solid var(--luvo-line);
}
