/* Custom styles for the product comparison calculator */

/* Add some spacing between dropdowns */
.product-row {
    margin-bottom: 1rem;
}

/* Style the product container without scrolling */
.card-body {
    overflow-y: visible;
}

/* Style the comparison result */
.comparison-result {
    font-size: 1.25rem;
    font-weight: bold;
}

/* Highlight the savings/difference */
.savings {
    color: #478C5B;
}

.extra-cost {
    color: #D86018;
}

/* Cyber Insurance Box Styling */
#insurance-box {
    border: 2px solid #0C4B79 !important;
    border-radius: 0.5rem !important;
    background-color: #f8f9fa !important;
}

#insurance-box > .card-header {
    background-color: #000f4c !important;
    color: white !important;
    border-top-left-radius: 0.4rem !important;
    border-top-right-radius: 0.4rem !important;
}

/* Ensure inner cards have no special styling */
#insurance-box .card .card-header {
    background-color: inherit !important;
    color: inherit !important;
}

/* Make dropdowns more compact */
.form-select {
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
}

.form-label {
    margin-bottom: 5px !important;
}

/* Responsive adjustments */
@media (max-width: 767.98px) {
    .column-label {
        text-align: center;
        margin-bottom: 1rem;
    }
}

/* Currency styling */
.currency {
    font-weight: bold;
}

/* Price display styling */
.price-display {
    font-weight: bold;
    font-size: 1rem;
}

/* Multi-line product name styling */
.multiline-product-option {
    white-space: pre-line !important;
    padding: 8px 12px;
}

/* Fix for dropdown content display */
.dropdown-item {
    white-space: normal;
    word-wrap: break-word;
}

/* Custom product dropdown styling */
.custom-product-dropdown .dropdown-menu {
    max-height: 300px;
    overflow-y: auto;
    width: 100%;
}

/* Product selection container styling */
.product-selection-container {
    display: flex !important;
    align-items: center !important;
}

/* QTY field styling */
.quantity-input {
    text-align: center;
    width: 80px;
    font-size: 0.875rem;
    height: calc(1.5em + 0.75rem + 2px); /* Match Bootstrap's .form-control height */
    padding: 0.375rem 0.75rem;
}

/* Product container styling */
.product-row {
    margin-bottom: 1rem !important;
}

.product-selection-container {
    flex-wrap: nowrap !important;
}

/* Quantity and product alignment fixes */
.product-qty-container {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
}

/* QTY alignment fix */
[data-qty]::before {
    content: attr(data-qty);
    display: block;
    font-size: 0.75rem;
    text-align: center;
    color: #6c757d;
    margin-bottom: 0.25rem;
}

input.form-control {
    height: 38px !important; /* Match the height of select dropdowns */
}

/* Insurance input fields styling */
.insurance-input-group .input-group-text,
.insurance-input-group .form-control {
    height: 52px !important;  /* Increased height to match label size */
    font-size: 1.5rem !important;  /* Larger font size (fs-4 equivalent) */
    font-weight: bold !important;
    padding: 0.5rem 0.75rem !important;
}

/* Print-specific styling */
@media print {
    select {
        appearance: none;
        border: none;
    }
    
    .btn {
        display: none;
    }
    
    .card-body {
        max-height: none;
        overflow: visible;
    }
    
    /* Page break for Cyber Insurance section */
    #insurance-page-break {
        page-break-before: always;
    }
    
    /* Hide admin link when printing */
    footer {
        display: none;
    }
    
    /* Set page to legal size */
    @page {
        size: legal;
    }
}

/* CSP-safe inline style replacements */
.logo-style {
    height: 70px;
}

.logo-preview-style {
    max-height: 100px; 
    max-width: 100%;
}

.card-header-yellow {
    background-color: #ddb311; 
    color: white;
}

.card-header-blue {
    background-color: #000f4c; 
    color: white;
}

.insurance-input-style {
    font-family: inherit;
}

.email-input-style {
    font-family: inherit;
}

.savings-color {
    color: #536f54;
}

.btn-yellow {
    background-color: #ddb311; 
    color: white;
}

.btn-blue {
    background-color: #000f4c; 
    color: white;
}

.btn-gray {
    background-color: #333333; 
    color: white;
}

.cost-display-width {
    max-width: 330px; 
    margin: 0 auto;
}

.cost-label-width {
    width: 120px; 
    font-size: 1.75rem;
}

.cost-value-width {
    color: #536f54; 
    width: 150px;
}
