/*
 * Tema Q Lovers — mesma identidade do site qlovers.com.br.
 * Carregado em todas as telas do sistema (exceto impressões).
 * Para mudar a identidade visual, altere só as variáveis abaixo.
 */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500&family=Montserrat:wght@400;500;600;700;800&display=swap');

:root {
    /* Paleta do site */
    --ps-vinho:       #6b2346;
    --ps-vinho-esc:   #4b1730;
    --ps-vinho-noite: #3a1226;
    --ps-vinho-claro: #8d3a60;
    --ps-rose:        #c2577f;
    --ps-rosa:        #e7a3b6;
    --ps-rosa-claro:  #fbeef2;
    --ps-blush:       #f6dde4;
    --ps-creme:       #fdf8f6;
    --ps-dourado:     #c29a5b;
    --ps-texto:       #2e1f27;
    --ps-suave:       #7c6770;
    --ps-linha:       #efe3e6;
    --ps-sans:  'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    --ps-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;

    /* Nomes usados pelas telas antigas (mantidos para compatibilidade) */
    --ip-dark:        var(--ps-vinho-noite);
    --ip-dark-2:      var(--ps-vinho-esc);
    --ip-dark-line:   #5a2440;
    --ip-primary:     var(--ps-vinho);
    --ip-primary-dk:  var(--ps-vinho-esc);
    --ip-primary-lt:  var(--ps-rosa-claro);
    --ip-accent:      var(--ps-rose);
    --ip-accent-lt:   #fdf2f5;
    --ip-grad:        linear-gradient(120deg, var(--ps-vinho) 0%, var(--ps-rose) 100%);
    --ip-bg:          var(--ps-creme);
    --ip-card:        #ffffff;
    --ip-border:      var(--ps-linha);
    --ip-text:        var(--ps-texto);
    --ip-muted:       var(--ps-suave);
    --ip-radius:      14px;
}

/* ─── Tipografia ─── */
body { font-family: var(--ps-sans) !important; -webkit-font-smoothing: antialiased; }
button, input, select, textarea, table { font-family: inherit; }
h1 { font-family: var(--ps-serif) !important; font-weight: 600; letter-spacing: .005em; }
.mt-center { font-family: var(--ps-sans); }
.modal-title, .page-title, .topbar-titulo, .vmi-titulo { font-family: var(--ps-serif); font-weight: 600; font-size: 1.35em; letter-spacing: .005em; }

::selection { background: rgba(194, 87, 127, .2); }

/* Barra de rolagem discreta */
* { scrollbar-color: #e0cfd5 transparent; }
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-thumb { background: #e0cfd5; border-radius: 99px; border: 2px solid transparent; background-clip: content-box; }
*::-webkit-scrollbar-thumb:hover { background: #c9a9b5; background-clip: content-box; }

/* Foco visível na cor da marca */
:where(a, button, input, select, textarea):focus-visible {
    outline: 2px solid var(--ps-rose);
    outline-offset: 2px;
}

/* Bootstrap (quando a página usa) na cor da marca */
.btn-primary {
    --bs-btn-bg: var(--ps-vinho); --bs-btn-border-color: var(--ps-vinho);
    --bs-btn-hover-bg: var(--ps-vinho-esc); --bs-btn-hover-border-color: var(--ps-vinho-esc);
    --bs-btn-active-bg: var(--ps-vinho-esc); --bs-btn-active-border-color: var(--ps-vinho-esc);
    --bs-btn-disabled-bg: var(--ps-vinho-claro); --bs-btn-disabled-border-color: var(--ps-vinho-claro);
}
.btn-outline-primary {
    --bs-btn-color: var(--ps-vinho); --bs-btn-border-color: var(--ps-vinho);
    --bs-btn-hover-bg: var(--ps-vinho); --bs-btn-hover-border-color: var(--ps-vinho);
    --bs-btn-active-bg: var(--ps-vinho-esc); --bs-btn-active-border-color: var(--ps-vinho-esc);
}
.text-primary { color: var(--ps-vinho) !important; }
.bg-primary { background-color: var(--ps-vinho) !important; }
.form-check-input:checked { background-color: var(--ps-vinho); border-color: var(--ps-vinho); }
.form-control:focus, .form-select:focus { border-color: var(--ps-rosa); box-shadow: 0 0 0 .2rem rgba(231, 163, 182, .3); }
.nav-pills .nav-link.active { background-color: var(--ps-vinho); }
.page-link { color: var(--ps-vinho); }
.page-item.active .page-link { background-color: var(--ps-vinho); border-color: var(--ps-vinho); }

/* Marca no topo (logo horizontal branco) */
.ip-marca { display: inline-flex; align-items: center; text-decoration: none; }
.ip-marca img { height: 34px; width: auto; display: block; }

/* Faixa superior: linha dourada fina, como os detalhes do site */
.mt-wrap::after { background: linear-gradient(90deg, var(--ps-vinho-claro) 0%, var(--ps-dourado) 50%, var(--ps-rose) 100%) !important; height: 2px !important; }
