/* ==================================================================
 * Calculator Page Styles — Loaded on calculator CPT only.
 * ==================================================================*/

.fd-calc-hero {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 32px;
}
@media (min-width: 768px) {
    .fd-calc-hero { grid-template-columns: 1fr 1fr; align-items: start; }
}

.fd-calc-card {
    background: var(--fd-card);
    border: 1px solid var(--fd-border-solid);
    border-radius: var(--fd-radius);
    box-shadow: var(--fd-shadow);
    padding: 24px;
}
.fd-calc-card--form { border-top: 3px solid var(--fd-accent); }
.fd-calc-card--result {
    background: #f7f7f5;
    text-align: center;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    min-height: 200px;
}

/* Form elements */
.fd-form-group { margin-bottom: 20px; }
.fd-form-heading {
    font-size: 11px; font-weight: 800; text-transform: uppercase;
    letter-spacing: 0.06em; color: var(--fd-text-light);
    padding-bottom: 6px; margin-bottom: 14px;
    border-bottom: 1px solid var(--fd-border);
}

.fd-calc-card label,
.fd-form-label {
    display: block; font-size: 15px; font-weight: 700;
    color: var(--fd-text); margin-bottom: 4px;
}

.fd-calc-card input[type="text"],
.fd-calc-card input[type="number"],
.fd-calc-card select,
.fd-form-input {
    width: 100%; min-height: 44px;
    padding: 10px 14px; font-size: 16px;
    font-family: var(--fd-font); color: var(--fd-text);
    background: var(--fd-card); border: 1px solid var(--fd-border-solid);
    border-radius: var(--fd-radius-xs);
    appearance: none; -webkit-appearance: none;
}
.fd-calc-card input:focus,
.fd-calc-card select:focus,
.fd-form-input:focus {
    outline: none; border-color: var(--fd-accent);
    box-shadow: 0 0 0 3px rgba(27,110,245,0.1);
}

/* Slider */
.fd-slider-wrap { margin-bottom: 20px; }
.fd-slider-header { display: flex; justify-content: space-between; margin-bottom: 4px; }
.fd-slider-value { font-size: 18px; font-weight: 800; color: var(--fd-accent); font-family: var(--fd-font-mono); }

input[type="range"].fd-slider {
    -webkit-appearance: none; width: 100%; height: 6px;
    background: var(--fd-border-solid); border-radius: 3px;
    outline: none; cursor: pointer; min-height: 44px;
    padding: 19px 0; background-clip: content-box;
}
input[type="range"].fd-slider::-webkit-slider-thumb {
    -webkit-appearance: none; width: 22px; height: 22px;
    border-radius: 50%; background: var(--fd-accent);
    cursor: pointer; border: 2px solid #fff; box-shadow: var(--fd-shadow);
}
input[type="range"].fd-slider::-moz-range-thumb {
    width: 22px; height: 22px; border-radius: 50%;
    background: var(--fd-accent); cursor: pointer;
    border: 2px solid #fff;
}

.fd-slider-labels {
    display: flex; justify-content: space-between;
    font-size: 11px; color: var(--fd-text-light); margin-top: 4px;
}

/* Submit button */
.fd-calc-submit {
    width: 100%; min-height: 48px; padding: 12px 24px;
    font-size: 16px; font-weight: 800; font-family: var(--fd-font);
    color: #fff; background: var(--fd-accent);
    border: none; border-radius: var(--fd-radius-xs);
    cursor: pointer;
}
.fd-calc-submit:hover { background: var(--fd-accent-dark); }

/* Result */
.fd-result-main {
    font-size: 32px; font-weight: 800; color: var(--fd-accent);
    font-family: var(--fd-font-mono); margin-bottom: 4px;
}
@media (min-width: 768px) { .fd-result-main { font-size: 40px; } }

.fd-result-label { font-size: 14px; color: var(--fd-text-light); font-weight: 600; margin-bottom: 12px; }
.fd-result-note { font-size: 13px; color: var(--fd-text-light); max-width: 280px; line-height: 1.5; }
.fd-result-tag {
    display: inline-block; font-size: 11px; font-weight: 700;
    background: #dcfce7; color: #166534;
    padding: 3px 8px; border-radius: 20px; margin-top: 8px;
}

.fd-result-breakdown {
    list-style: none; margin: 16px 0 0; padding: 0; width: 100%; text-align: left;
}
.fd-result-breakdown li {
    display: flex; justify-content: space-between;
    padding: 8px 0; border-bottom: 1px solid var(--fd-border);
    font-size: 15px;
}
.fd-result-breakdown li:last-child { border-bottom: none; }
.fd-result-breakdown .fd-rb-label { color: var(--fd-text-light); }
.fd-result-breakdown .fd-rb-value { font-weight: 700; font-family: var(--fd-font-mono); }

/* Loading */
.fd-calc-loading { display: none; text-align: center; padding: 20px; }
.fd-calc-loading.is-active { display: block; }
.fd-spinner {
    display: inline-block; width: 24px; height: 24px;
    border: 3px solid var(--fd-border-solid); border-top-color: var(--fd-accent);
    border-radius: 50%;
    animation: fd-spin 0.6s linear infinite;
}
@keyframes fd-spin { to { transform: rotate(360deg); } }

/* Print */
@media print {
    .fd-sticky-cta, .fd-ad-slot, .fd-bottom-nav, .fd-calc-submit { display: none !important; }
    .fd-calc-card { box-shadow: none; border: 1px solid #ccc; }
}
