/* This file contains styles specifically for the financial calculator component.
  The main site styles are in style.css.
*/

.financial-calculator-wrapper {
    box-sizing: border-box;
    width: 100%;
    max-width: 800px; /* Aligned with the main container */
    margin: 1rem auto;
    font-family: 'Inter', sans-serif;
    background-color: #f9fafb;
    padding: 0.5rem;
    border-radius: 0.5rem;
}

.calculator-container {
    width: 100%;
}

/* Custom styles for range sliders */
.range-slider { 
    -webkit-appearance: none; 
    appearance: none; 
    background: transparent; 
    cursor: pointer; 
    height: 6px; 
}
.range-slider::-webkit-slider-runnable-track { 
    width: 100%; 
    height: 6px; 
    background: linear-gradient(to right, #3B82F6 var(--fill-percentage, 0%), #E5E7EB var(--fill-percentage, 0%)); 
    border-radius: 3px; 
}
.range-slider::-moz-range-track { 
    width: 100%; 
    height: 6px; 
    background: linear-gradient(to right, #3B82F6 var(--fill-percentage, 0%), #E5E7EB var(--fill-percentage, 0%)); 
    border-radius: 3px; 
}
.range-slider::-webkit-slider-thumb { 
    -webkit-appearance: none; 
    appearance: none; 
    margin-top: -5px; 
    width: 16px; 
    height: 16px; 
    border-radius: 50%; 
    background: #2563EB; 
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.3); 
}
.range-slider::-moz-range-thumb { 
    width: 16px; 
    height: 16px; 
    border-radius: 50%; 
    background: #2563EB; 
    border: none; 
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.3); 
}
.range-slider:focus { 
    outline: none; 
}

/* Custom utility for extra small font size used in the calculator */
.text-xxs { 
    font-size: 0.6rem; 
    line-height: 0.8rem; 
}

/* Custom styles for manual input boxes in the calculator */
.manual-input { 
    width: 80px; 
    padding: 0.25rem; 
    border: 1px solid #d1d5db; 
    border-radius: 0.25rem; 
    font-size: 0.7rem; 
    font-weight: 600; 
    text-align: center; 
    background-color: #f3f4f6; 
}
@media (min-width: 640px) { 
    .manual-input { 
        width: 100px; 
        font-size: 0.75rem; 
    } 
}

/* NEW: Styles for Goal Templates and Share Button */
.goal-template-btn {
    padding: 0.25rem 0.5rem;
    border: 1px solid #d1d5db;
    border-radius: 0.25rem;
    font-size: 0.65rem;
    font-weight: 600;
    background-color: #f3f4f6;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}
.goal-template-btn:hover, .goal-template-btn.active {
    background-color: #3B82F6;
    color: white;
    border-color: #2563EB;
}

.share-btn {
    padding: 0.25rem;
    border-radius: 50%;
    background-color: transparent;
    border: none;
    cursor: pointer;
    color: #6b7280;
    transition: all 0.2s ease-in-out;
}
.share-btn:hover {
    background-color: #e5e7eb;
    color: #1f2937;
}
