/* --- 1. BASE & GRID HELPERS --- */
.text-white { color: #fff !important; }

.mt-10 {margin-top: 10px;} .mt-15 {margin-top: 15px;} .mt-20 {margin-top: 20px;}
.mt-30 {margin-top: 30px;} .mt-40 {margin-top: 40px;} .mt-50 {margin-top: 50px;} .mt-100 {margin-top: 100px;}

.mb-5 {margin-bottom: 5px;} .mb-10 {margin-bottom: 10px;} .mb-15 {margin-bottom: 15px;}
.mb-20 {margin-bottom: 20px;} .mb-30 {margin-bottom: 30px;} .mb-40 {margin-bottom: 40px;} .mb-50 {margin-bottom: 50px;} .mb-100 {margin-bottom: 100px;}

.ml-10 {margin-left: 10px;} .ml-20 {margin-left: 20px;} .ml-30 {margin-left: 30px;} .ml-40 {margin-left: 40px;} .ml-50 {margin-left: 50px;}

.pt-10 {padding-top: 10px;} .pt-15 {padding-top: 15px;} .pt-20 {padding-top: 20px;} .pt-25 {padding-top: 25px;}
.pt-50 {padding-top: 50px;} .pt-60 {padding-top: 60px;} .pt-75 {padding-top: 75px;} .pt-100 {padding-top: 100px;}

.pb-10 {padding-bottom: 10px;} .pb-15 {padding-bottom: 15px;} .pb-20 {padding-bottom: 20px;} .pb-25 {padding-bottom: 25px;}
.pb-50 {padding-bottom: 50px;} .pb-60 {padding-bottom: 60px;} .pb-75 {padding-bottom: 75px;} .pb-100 {padding-bottom: 100px;}

.uppercase { text-transform: uppercase !important; }

.embedded-master-logo {height: 30px !important}

/* --- 2. COMPONENTES DE CONTATO (FORMULÁRIOS) --- */
.contact-section .text-white, .contact-section h2, .contact-section p { color: #ffffff !important; }
.contact-info-item i { margin-right: 12px !important; display: inline-block !important; vertical-align: middle !important; }
.contact-info-item span { display: flex !important; align-items: center !important; }

.pulse-form .row { display: flex !important; flex-wrap: wrap !important; margin-right: -15px; margin-left: -15px; }
.pulse-form [class*="col-"] { display: flex !important; flex-direction: column !important; align-items: flex-start !important; width: 100%; }

@media (min-width: 768px) {
    .pulse-form .col-md-6 { flex: 0 0 50% !important; max-width: 50% !important; }
}

.pulse-form label { display: block !important; width: 100% !important; margin-bottom: 8px !important; text-align: left !important; }
.pulse-form .form-control-pulse { width: 100% !important; display: block !important; padding: 12px 15px !important; border: 1px solid #ced4da !important; border-radius: 8px !important; }
.pulse-form select.form-control-pulse { height: 52px !important; }

/* --- 3. BOTÕES E COMPONENTES --- */
.btn-contact-submit { background-color: var(--secondary-color) !important; color: #fff !important; border: none !important; padding: 15px 40px !important; border-radius: 50px !important; font-weight: bold; text-transform: uppercase; transition: 0.3s; margin-top: 15px; cursor: pointer; }
.btn-contact-submit:hover { filter: brightness(1.1); transform: translateY(-2px); box-shadow: 0 5px 15px rgba(0,0,0,0.2) !important; }

.btn-portal-custom { display: inline-block; padding: 12px 25px; background-color: var(--primary-color); color: #ffffff !important; border-radius: 50px; text-decoration: none !important; font-weight: bold; transition: all 0.3s ease; border: 2px solid transparent; text-align: center; }
.btn-portal-custom:hover { filter: brightness(90%); transform: translateY(-2px); box-shadow: 0 4px 15px rgba(0,0,0,0.1); }

.ck-content a.btn-custom-pdf { display: inline-block; padding: 10px 20px; background-color: #8b6842; color: #ffffff !important; border-radius: 50px; text-decoration: none !important; font-weight: bold; margin: 10px 0; border: none; transition: 0.3s; }
.ck-content a.btn-custom-pdf:hover { filter: brightness(1.2); transform: scale(1.02); }

/* --- 4. MODAL E COMPONENTES --- */
#lgpdModal { z-index: 99999 !important; }
#lgpdModal .modal-content { background: #fff; border-radius: 20px; }
#lgpdModal .list-group-item { border: 1px solid #eee; margin-bottom: 8px; border-radius: 10px !important; }
#lgpdModal .list-group-item:hover { background-color: var(--primary-color); color: white; }

/* --- 5. CABEÇALHO E LOGO --- */
.mnmenu-sec { position: relative; z-index: 99; }
.logo-container { background: #fff; padding: 10px; display: inline-block; }

/* --- 6. TABLE RESPONSIVE (Ajuste para não conflitar) --- */
@media (max-width: 768px) {
    .table-responsive .table thead { display: none; }
    .table-responsive .table tbody tr { display: block; margin-bottom: 15px; border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px; background: #fff; }
    .table-responsive .table tbody tr td { display: flex; justify-content: space-between; align-items: center; border: none !important; padding: 8px 0 !important; }
    .table-responsive .table tbody tr td:before { content: attr(data-label); font-weight: 700; color: #64748b; font-size: 0.75rem; text-transform: uppercase; }
}

.table thead th {
    text-transform: uppercase;
    font-size: 0.7rem;
    letter-spacing: 1px;
    padding: 1rem 0.5rem;
}

.table tbody tr td {
    padding: 1rem 0.5rem;
}

.card {
    transition: transform 0.2s;
}

.form-control-lg {
    border: 2px solid #e2e8f0;
}

.form-control-lg:focus {
    border-color: var(--primary-color);
    box-shadow: none;
}