/* ============================================
   TIPOGRAFIA - PLUS JAKARTA SANS & LORA
   Aplicação consistente das fontes em todo o projeto
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap');

/* ============================================
   VARIÁVEIS DE FONTES
   ============================================ */

:root {
    --font-primary: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-subtitle: 'Lora', Georgia, 'Times New Roman', serif;
}

/* ============================================
   APLICAÇÃO GLOBAL DAS FONTES
   ============================================ */

/* Plus Jakarta Sans para TODOS os elementos por padrão */
* {
    font-family: var(--font-primary);
}

body {
    font-family: var(--font-primary);
    font-weight: 400;
    line-height: 1.6;
}

/* ============================================
   TÍTULOS - PLUS JAKARTA SANS
   ============================================ */

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
    font-family: var(--font-primary) !important;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

h1, .h1, .display-1, .display-2 {
    font-weight: 800;
}

h2, .h2, .display-3, .display-4 {
    font-weight: 700;
}

h3, .h3, h4, .h4, .display-5, .display-6 {
    font-weight: 600;
}

h5, .h5, h6, .h6 {
    font-weight: 600;
}

/* ============================================
   PARÁGRAFOS - PLUS JAKARTA SANS
   ============================================ */

p,
.card-text,
.list-group-item,
.alert,
.badge,
small, .small,
.text-muted,
.form-text,
.help-text,
.description,
.content,
li,
span,
div,
a,
button,
.btn,
input,
textarea,
select,
.form-control,
.form-select,
.form-label,
.form-check-label,
.nav-link,
.navbar-nav .nav-link,
.dropdown-item,
.breadcrumb-item,
.pagination .page-link,
.table,
.table td,
.table th {
    font-family: var(--font-primary) !important;
}

/* ============================================
   SUBTÍTULOS IMPORTANTES - LORA (ITÁLICO)
   ============================================ */

.lead,
.subtitle,
.hero-subtitle,
.section-subtitle,
.card-subtitle,
.testimonial-text,
.quote,
.highlight-text,
.featured-text,
.intro-text,
p.lead,
.lead-text,
.description-lead,
.spa-description,
.about-text {
    font-family: var(--font-subtitle) !important;
    font-style: italic;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0.01em;
}

/* ============================================
   ELEMENTOS ESPECÍFICOS
   ============================================ */

/* Navbar */
.navbar-brand {
    font-family: var(--font-primary) !important;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.navbar-nav .nav-link {
    font-family: var(--font-primary) !important;
    font-weight: 500;
}

/* Botões */
.btn {
    font-family: var(--font-primary) !important;
    font-weight: 600;
    letter-spacing: 0.02em;
}

/* Cards */
.card-title {
    font-family: var(--font-primary) !important;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.card-subtitle {
    font-family: var(--font-subtitle) !important;
    font-style: italic;
    font-weight: 500;
}

.card-text {
    font-family: var(--font-primary) !important;
    font-weight: 400;
}

/* Formulários */
.form-label {
    font-family: var(--font-primary) !important;
    font-weight: 600;
}

.form-control,
.form-select {
    font-family: var(--font-primary) !important;
    font-weight: 400;
}

.form-text {
    font-family: var(--font-primary) !important;
    font-weight: 400;
    font-size: 0.875rem;
}

/* Alertas */
.alert {
    font-family: var(--font-primary) !important;
}

.alert h1, .alert h2, .alert h3,
.alert .h1, .alert .h2, .alert .h3 {
    font-family: var(--font-primary) !important;
    font-weight: 700;
}

/* Badges */
.badge {
    font-family: var(--font-primary) !important;
    font-weight: 600;
    letter-spacing: 0.02em;
}

/* Breadcrumbs */
.breadcrumb {
    font-family: var(--font-primary) !important;
}

.breadcrumb-item {
    font-family: var(--font-primary) !important;
    font-weight: 500;
}

/* Tabelas */
.table {
    font-family: var(--font-primary) !important;
}

.table th {
    font-family: var(--font-primary) !important;
    font-weight: 600;
}

.table td {
    font-family: var(--font-primary) !important;
    font-weight: 400;
}

/* Modais */
.modal-title {
    font-family: var(--font-primary) !important;
    font-weight: 700;
}

.modal-body {
    font-family: var(--font-primary) !important;
}

/* Dropdowns */
.dropdown-item {
    font-family: var(--font-primary) !important;
    font-weight: 500;
}

/* Paginação */
.pagination .page-link {
    font-family: var(--font-primary) !important;
    font-weight: 500;
}

/* ============================================
   CLASSES UTILITÁRIAS
   ============================================ */

/* Forçar Plus Jakarta Sans */
.font-jakarta,
.font-primary,
.font-heading,
.font-body {
    font-family: var(--font-primary) !important;
}

/* Forçar Lora (itálico) */
.font-lora,
.font-subtitle,
.font-serif {
    font-family: var(--font-subtitle) !important;
    font-style: italic;
}

/* Pesos específicos */
.fw-light { font-weight: 300 !important; }
.fw-normal { font-weight: 400 !important; }
.fw-medium { font-weight: 500 !important; }
.fw-semibold { font-weight: 600 !important; }
.fw-bold { font-weight: 700 !important;}
.fw-extrabold { font-weight: 800 !important; }

/* Estilos específicos para Lora */
.font-lora.fw-normal { font-weight: 400 !important; }
.font-lora.fw-medium { font-weight: 500 !important; }
.font-lora.fw-semibold { font-weight: 600 !important; }
.font-lora.fw-bold { font-weight: 700 !important; }

/* ============================================
   RESPONSIVIDADE
   ============================================ */

@media (max-width: 768px) {
    h1, .h1 {
        font-size: 2rem;
        font-weight: 800;
    }
    
    h2, .h2 {
        font-size: 1.75rem;
        font-weight: 700;
    }
    
    h3, .h3 {
        font-size: 1.5rem;
        font-weight: 600;
    }
    
    .lead {
        font-size: 1.1rem;
    }
}

@media (max-width: 576px) {
    h1, .h1 {
        font-size: 1.75rem;
    }
    
    h2, .h2 {
        font-size: 1.5rem;
    }
    
    h3, .h3 {
        font-size: 1.25rem;
    }
    
    .lead {
        font-size: 1rem;
    }
}

/* ============================================
   EDITOR DE CONTEÚDO (Quill.js)
   ============================================ */

.tox .tox-edit-area {
    font-family: var(--font-primary) !important;
}

.tox .tox-edit-area h1,
.tox .tox-edit-area h2,
.tox .tox-edit-area h3 {
    font-family: var(--font-primary) !important;
    font-weight: 700;
}

.tox .tox-edit-area p {
    font-family: var(--font-primary) !important;
    font-weight: 400;
}

/* ============================================
   PÁGINAS ESPECÍFICAS
   ============================================ */

/* Página de conteúdo institucional */
.content-page {
    font-family: var(--font-primary) !important;
}

.content-page h2 {
    font-family: var(--font-primary) !important;
    font-weight: 700;
}

.content-page h3 {
    font-family: var(--font-primary) !important;
    font-weight: 600;
}

.content-page p {
    font-family: var(--font-primary) !important;
    font-weight: 400;
    line-height: 1.7;
}

/* Hero sections */
.hero-section h1 {
    font-family: var(--font-primary) !important;
    font-weight: 800;
}

.hero-section .lead {
    font-family: var(--font-subtitle) !important;
    font-style: italic;
    font-weight: 500;
}

/* Cards de spa */
.spa-card .card-title {
    font-family: var(--font-primary) !important;
    font-weight: 700;
}

.spa-card .card-text {
    font-family: var(--font-primary) !important;
    font-weight: 400;
}
