/* Kindergeld Kalkulatory – Wspólne style – Mobile-first */

/* Reset: isolate calculator from WP theme styles */
.kgkl-calculator,
.kgkl-calculator *,
.kgkl-calculator *::before,
.kgkl-calculator *::after {
    box-sizing: border-box;
}

.kgkl-calculator {
    font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #333333;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.10);
    max-width: 560px;
    margin: 0 auto 2em;
    overflow: hidden;
}

/* Header */
.kgkl-calculator .kgkl-header {
    background: #2c3e50;
    padding: 24px 24px 20px;
    text-align: center;
}

.kgkl-calculator .kgkl-title {
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 6px;
    line-height: 1.3;
}

.kgkl-calculator .kgkl-subtitle {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.75);
    margin: 0;
}

/* Body */
.kgkl-calculator .kgkl-body {
    padding: 24px;
    background: #f4f4f4;
}

/* Labels */
.kgkl-calculator .kgkl-label {
    font-size: 15px;
    font-weight: 600;
    color: #2c3e50;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.kgkl-calculator .kgkl-hint {
    font-size: 12px;
    font-weight: 400;
    color: #777777;
}

/* CTA Button */
.kgkl-calculator .kgkl-btn-cta {
    display: block;
    width: 100%;
    padding: 16px 24px;
    background: #F9B233;
    color: #ffffff;
    font-family: inherit;
    font-size: 17px;
    font-weight: 700;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    letter-spacing: 0.3px;
}

.kgkl-calculator .kgkl-btn-cta:hover {
    background: #e8a020;
}

.kgkl-calculator .kgkl-btn-cta:active {
    transform: scale(0.98);
    background: #d48f10;
}

/* Results */
.kgkl-calculator .kgkl-results {
    margin-top: 24px;
    background: #ffffff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
}

.kgkl-calculator .kgkl-results[hidden],
.kgkl-calculator .kgkl-no-benefit[hidden] {
    display: none;
}

.kgkl-calculator .kgkl-results-title {
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    background: #2c3e50;
    margin: 0;
    padding: 14px 20px;
}

.kgkl-calculator .kgkl-results-grid {
    padding: 0;
}

.kgkl-calculator .kgkl-result-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 20px;
    border-bottom: 1px solid #f0f0f0;
    gap: 12px;
    flex-wrap: wrap;
}

.kgkl-calculator .kgkl-result-row:last-child {
    border-bottom: none;
}

.kgkl-calculator .kgkl-result-label {
    font-size: 14px;
    color: #555555;
    flex: 1;
    min-width: 0;
}

.kgkl-calculator .kgkl-result-value {
    font-size: 15px;
    font-weight: 700;
    color: #2c3e50;
    white-space: nowrap;
}

/* Highlight row */
.kgkl-calculator .kgkl-result-row--highlight {
    background: #fff8ec;
}

.kgkl-calculator .kgkl-result-row--highlight .kgkl-result-label {
    color: #333333;
    font-weight: 600;
}

.kgkl-calculator .kgkl-result-row--highlight .kgkl-result-value {
    color: #F9B233;
}

/* Total row */
.kgkl-calculator .kgkl-result-row--total {
    background: #2c3e50;
    border-bottom: none;
}

.kgkl-calculator .kgkl-result-row--total .kgkl-result-label {
    font-size: 15px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.85);
}

.kgkl-calculator .kgkl-result-value--big {
    font-size: 22px;
    color: #F9B233 !important;
}

/* Values column (EUR + PLN stacked) */
.kgkl-calculator .kgkl-result-values-col {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}

.kgkl-calculator .kgkl-result-value--pln {
    font-size: 15px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.7);
    white-space: nowrap;
}

/* Disclaimer */
.kgkl-calculator .kgkl-disclaimer {
    font-size: 11px;
    color: #999999;
    padding: 12px 20px;
    margin: 0;
    border-top: 1px solid #f0f0f0;
}

/* No benefit message */
.kgkl-calculator .kgkl-no-benefit {
    margin-top: 20px;
    padding: 16px 20px;
    background: #fff3cd;
    border-left: 4px solid #F9B233;
    border-radius: 6px;
    font-size: 14px;
    color: #555;
}

.kgkl-calculator .kgkl-no-benefit p {
    margin: 0;
}

/* Footer */
.kgkl-calculator .kgkl-footer {
    padding: 16px 24px;
    background: #ffffff;
    text-align: center;
    border-top: 1px solid #eee;
    font-size: 13px;
    color: #777;
}

.kgkl-calculator .kgkl-footer p {
    margin: 0;
}

.kgkl-calculator .kgkl-link {
    color: #F9B233;
    font-weight: 600;
    text-decoration: none;
}

.kgkl-calculator .kgkl-link:hover {
    text-decoration: underline;
}

/* Mobile */
@media (max-width: 479px) {
    .kgkl-calculator .kgkl-body {
        padding: 14px;
    }
}

/* Tablet+ */
@media (min-width: 480px) {
    .kgkl-calculator .kgkl-title {
        font-size: 24px;
    }

    .kgkl-calculator .kgkl-result-label {
        font-size: 15px;
    }
}
