/* Objection Crusher Custom Styles */
.oc-container {
    font-family: 'Montserrat', sans-serif;
    max-width: 900px;
    margin: 0 auto;
}

.oc-card {
    border: 1px solid #b08a48;
    border-radius: 0.5rem;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.oc-header {
    border-bottom: 1px solid #eee;
    padding: 1.5rem;
}

.oc-progress-bar {
    height: 8px;
    background-color: #e9ecef;
    border-radius: 0.5rem;
    overflow: hidden;
    margin-bottom: 2rem;
}

.oc-progress-fill {
    height: 100%;
    background-color: #b08a48;
    transition: width 0.3s ease;
}

.oc-input-group label {
    font-weight: 600;
    font-size: 0.85rem;
    color: #333;
    margin-bottom: 0.5rem;
    display: block;
}

.oc-input {
    border-radius: 0.5rem !important;
    border: 1px solid #ced4da;
    padding: 0.75rem;
}

.oc-input:focus {
    border-color: #b08a48;
    box-shadow: 0 0 0 0.25rem rgba(176, 138, 72, 0.25);
}

.oc-btn-primary {
    background-color: #b08a48 !important;
    border-color: #b08a48 !important;
    color: #fff !important;
    border-radius: 0.5rem !important;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
}

.oc-btn-outline {
    color: #b08a48 !important;
    border: 1px solid #b08a48 !important;
    background: transparent !important;
    border-radius: 0.5rem !important;
}

.oc-rebuttal-box {
    background-color: #f8f9fa;
    border-left: 4px solid #b08a48;
    padding: 1.5rem;
    border-radius: 0.5rem;
    font-style: italic;
}