/* Grievance Content Isolation and Overrides */
/* This file handles claim-master conflicts and font size adjustments */

/* Base content wrapper styling */
.grievance-content {
    font-family: 'Source Sans Pro', sans-serif;
    color: #1a1a1a;
    line-height: normal;
    font-size: 16px;
    font-weight: 400;
}

.grievance-content * {
    font-family: 'Source Sans Pro', sans-serif;
    box-sizing: border-box;
}

/* Ensure grievance styles take precedence over claim-master */
.grievance-content .grievance-container,
.grievance-content .grievance-container * {
    font-family: 'Source Sans Pro', sans-serif;
}

/* Form field alignment and layout fixes */
.grievance-content .form-row {
    display: flex;
    gap: 15px;
    margin-bottom: 12px;
    flex-wrap: wrap;
    align-items: flex-start;
}

.grievance-content .form-field {
    position: relative;
    flex: 1;
}

.grievance-content .form-field input,
.grievance-content .form-field select {
    width: 100%;
    height: 45px;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 15px;
    transition: all 0.3s ease;
}

.grievance-content .form-field label {
    position: absolute;
    left: 12px;
    top: 12px;
    color: #666;
    font-size: 15px;
    pointer-events: none;
    transition: all 0.3s ease;
    transform-origin: left top;
    background: white;
    padding: 0 4px;
    font-weight: 500;
}

/* Remove bold border from select fields */
.grievance-content .form-field select {
    border: 1px solid #ddd;
    outline: none;
    box-shadow: none;
}

.grievance-content .form-field select:focus {
    border: 1px solid #1268B1;
    outline: none;
    box-shadow: none;
}

/* Heading font weights */
.grievance-content .grievance-container h2,
.grievance-content .grievance-container h4 {
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 700;
}

/* Font size and color adjustments to match original */
.grievance-content .grievance-container h2 { 
    font-size: 24px;
    color: #1a1a1a;
}

.grievance-content .grievance-container h3 { 
    font-size: 20px; 
    font-weight: 700;
    color: #1a1a1a;
}

.grievance-content .grievance-container h4 { 
    font-size: 18px;
    color: #1a1a1a;
}

.grievance-content .grievance-container p { 
    font-size: 16px;
    color: #1a1a1a;
}

.grievance-content .grievance-tab { 
    font-size: 16px; 
}

.grievance-content .grievance-btn { 
    font-size: 16px; 
}

.grievance-content .grievance-step-item span { 
    font-size: 16px;
    color: #1a1a1a;
}

.grievance-content .customer-contact span { 
    font-size: 16px;
    color: #1a1a1a;
}

.grievance-content .service-table th { 
    font-size: 16px;
    color: white;
}

.grievance-content .service-table td { 
    font-size: 14px;
    color: #1a1a1a;
}

.grievance-content .popup-content h3 { 
    font-size: 22px;
    color: #1a1a1a;
}

.grievance-content .popup-content h4 { 
    font-size: 20px;
    color: #1a1a1a;
}

.grievance-content .popup-content p { 
    font-size: 16px;
    color: #1a1a1a;
}

.grievance-content .complaint-btn { 
    font-size: 16px;
    color: white;
}

.grievance-content .upload-btn { 
    font-size: 16px;
    color: #1a1a1a;
}

.grievance-content .btn-text { 
    font-size: 16px;
    color: #1a1a1a;
}

.grievance-content .submit-btn { 
    font-size: 16px;
    color: white;
}

.grievance-content .customer-tab p { 
    font-size: 16px;
    color: #1a1a1a;
}

.grievance-content .customer-tab ul li a { 
    font-size: 14px;
    color: #1a1a1a;
}

body.claim_page .grievance-content .customer-tab ul li a.active { 
    color: white;
}

.grievance-content .grievance-container li { 
    font-size: 16px;
    color: #1a1a1a;
}

.grievance-content small { 
    font-size: 14px;
    color: #1a1a1a;
}

/* Paragraph margin reset */
.grievance-content p {
    margin: 0 0 0px;
}

/* High specificity overrides only where absolutely necessary */
body.claim_page .grievance-content .form-field input,
body.claim_page .grievance-content .form-field select {
    font-size: 15px;
}

body.claim_page .grievance-content .form-field label {
    font-size: 15px;
}

/* Ensure table fonts match across all pages */
body.claim_page .grievance-content .service-table th {
    font-size: 18px;
    font-weight: 600;
}

body.claim_page .grievance-content .service-table td {
    font-size: 16px;
    font-weight: 400;
}

body.claim_page .grievance-content .service-table .top-heading th {
    font-size: 18px;
    font-weight: 600;
}

/* Ensure small text consistency */
body.claim_page .grievance-content small {
    font-size: 16px;
    font-weight: 400;
}
.grievance-content .service-table th {
    color:#1a1a1a;
}