/**
 * Advanced Tools CSS (Calculator & Plan Finder)
 * Description: 1. Stable Calculator Widget. 2. Plan Finder Grid. 3. Mobile Responsiveness.
 */

/* 1. Calculator Widget Styles */
.tso-calculator-widget {
    background: #ffffff;
    border: 2px solid #0066ff;
    border-radius: 12px;
    padding: 20px;
    margin-top: 24px;
    margin-bottom: 24px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 102, 255, 0.05);
}

.tso-calc-badge {
    display: inline-block;
    background: #e0edff;
    color: #0066ff;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 20px;
    margin-bottom: 8px;
    letter-spacing: .4px;
}
.tso-calc-header h3 { font-size: 16px; font-weight: 800; color: #08183a; margin: 0 0 6px; }
.tso-calc-header p { font-size: 12px; color: #64748b; line-height: 1.4; margin-bottom: 16px; }

.tso-calc-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 16px;
}
.tso-full-width { grid-column: span 2; }
.tso-calc-field label {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 700;
    color: #334155;
    margin-bottom: 4px;
}
.tso-calc-field label i { color: #0066ff; }
.tso-calc-in {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #08183a;
    background: #f8fafc;
    outline: none;
    transition: all .2s;
    box-sizing: border-box;
}
.tso-calc-in:focus { border-color: #0066ff; background: #fff; }

.tso-calc-result-box {
    background: linear-gradient(135deg, #08183a 0%, #00265c 100%);
    border-radius: 8px;
    padding: 14px;
    text-align: center;
    color: #fff;
    overflow: hidden;
}
.tso-calc-result-box span { font-size: 11px; color: #94a3b8; display: block; margin-bottom: 2px; }
.tso-calc-result-box strong { font-size: 24px; font-weight: 800; color: #fbbf24; font-family: 'Poppins', sans-serif; display: block; word-break: break-word; }

/* 2. Plan Finder Widget Styles */
.tso-plan-finder-widget { background: #08183a; padding: 20px; border-radius: 12px; color: #fff; margin-bottom: 24px; }
.tso-plan-finder-widget h3 { color: #fff; margin: 0 0 14px; font-size: 16px; font-weight: 700; }
.tso-finder-grid { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; }
.tso-finder-grid select { padding: 10px; border-radius: 6px; border: none; font-size: 13px; outline: none; width: 100%; }
.tso-btn-find { background: #0066ff; color: #fff; padding: 10px 18px; border: none; border-radius: 6px; font-weight: 700; font-size: 13px; cursor: pointer; transition: background .2s; }
.tso-btn-find:hover { background: #0052cc; }

/* 3. Responsive Mobile Fixes */
@media(max-width: 600px) {
    .tso-calc-grid { grid-template-columns: 1fr; }
    .tso-full-width { grid-column: span 1; }
    .tso-finder-grid { grid-template-columns: 1fr; }
}