
/* ======================================
   TOOLPACK – KALKULATOR RABATÓW
====================================== */


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


:root {

    --blue: #3B82F6;
    --green: #10B981;

    --text: #1f2937;
    --light: #64748b;

    --background: #f8fafc;
    --white: #ffffff;

}


/* ======================================
   BODY
====================================== */


body {

    font-family: "Inter", sans-serif;

    background: linear-gradient(
        135deg,
        #e8f1ff 0%,
        #e5f5f4 50%,
        #e3f8eb 100%
    );

    color: var(--text);

    min-height: 100vh;

}


/* ======================================
   GŁÓWNY KONTENER
====================================== */


.tool-container {

    max-width: 900px;
    margin: auto;
    padding: 25px 24px;

}


/* ======================================
   HEADER
====================================== */


.tool-header {

    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 22px;

}


.tool-logo {

    display: flex;
    align-items: center;
    gap: 12px;

    text-decoration: none;
    color: var(--text);

}


.tool-logo-icon {

    width: 42px;
    height: 42px;

    border-radius: 14px;

    display: flex;
    justify-content: center;
    align-items: center;

    font-weight: 700;
    color: white;

    background: linear-gradient(
        135deg,
        var(--blue),
        var(--green)
    );

}


.tool-logo span {

    font-size: 24px;
    font-weight: 700;

}


.back-link {

    text-decoration: none;
    color: var(--light);
    font-weight: 600;
    transition: .2s;

}


.back-link:hover {

    color: var(--blue);

}


/* ======================================
   TYTUŁ NARZĘDZIA
====================================== */


.tool-title {

    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 40px;

}


.tool-icon {

    width: 60px;
    height: 60px;

    flex-shrink: 0;

    border-radius: 16px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: linear-gradient(
        135deg,
        #DBEAFE,
        #BFDBFE
    );

    border: 1px solid rgba(59,130,246,.15);

    color: #2563EB;

    box-shadow:
        0 4px 10px rgba(59,130,246,.10),
        inset 0 1px 0 rgba(255,255,255,.65);

}


.tool-icon img {

    width: 34px;
    height: 34px;
    display: block;

}


.tool-title h1 {

    font-size: 36px;
    letter-spacing: -1px;

}


.tool-title p {

    margin-top: 8px;
    color: var(--light);
    font-size: 15px;

}


/* ======================================
   KARTA KALKULATORA
====================================== */


.calculator-card {

    background: white;

    border-radius: 24px;

    padding: 28px;

    box-shadow:
        0 15px 35px rgba(0,0,0,.05);

}


/* ======================================
   PRZEŁĄCZNIKI TRYBÓW
====================================== */


.calculator-modes {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 8px;

    padding: 6px;

    background: #f1f5f9;

    border-radius: 16px;

    margin-bottom: 28px;

}


.mode-button {

    width: 100%;
    min-height: 52px;

    border: none;
    border-radius: 12px;

    background: transparent;

    color: #64748b;

    font-family: inherit;

    font-size: 14px;
    font-weight: 600;

    cursor: pointer;

    transition: .2s;

}


.mode-button:hover {

    background: rgba(255,255,255,.7);

    box-shadow: none;

    transform: none;

    color: var(--blue);

}


.mode-button.active {

    background: white;

    color: var(--blue);

    box-shadow:
        0 3px 10px rgba(0,0,0,.07);

}


.mode-button.active:hover {

    color: var(--blue);

}



/* ======================================
   TRYBY KALKULATORA – PIGUŁKI TOOLPACK
====================================== */

.calculator-modes {

    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 25px;

}

.mode-button {

    width: auto;
    min-width: 160px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0 18px;

    border: 1px solid rgba(59,130,246,.15);
    border-radius: 999px;

    background: white;
    color: #334155;

    font-size: 14px;
    font-family: inherit;
    font-weight: 600;

    cursor: pointer;

    box-shadow:
        0 6px 18px rgba(0,0,0,.05);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        color .2s ease,
        background .2s ease;

}

.mode-button:hover {

    color: var(--blue);

    transform: translateY(-2px);

    box-shadow:
        0 10px 22px rgba(59,130,246,.10);

}

.mode-button.active {

    color: #166534;

    cursor: default;

    background: linear-gradient(
        135deg,
        #DCFCE7,
        #BBF7D0
    );

    border-color: transparent;

    box-shadow:
        0 8px 20px rgba(59,130,246,.18);

    transform: none;

}

.mode-button.active:hover {

    color: #166534;

    transform: none;

}


/* ======================================
   MOBILE – PIGUŁKI
====================================== */

@media (max-width: 650px) {

    .calculator-modes {

        gap: 8px;

    }

    .mode-button {

        min-width: 0;
        width: 100%;
        height: 48px;

    }

}


/* ======================================
   POLA INPUT
====================================== */


.input-group {

    margin-bottom: 20px;

}


.input-group label {

    display: flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 10px;

    font-weight: 600;

    font-size: 16px;

}


.input-group label img {

    width: 22px;
    height: 22px;

    display: block;

}


.input-group input {

    width: 100%;
    height: 58px;

    border: none;
    outline: none;

    background: #f8fafc;

    border-radius: 16px;

    padding: 0 18px;

    font-size: 18px;

    font-family: inherit;

    color: var(--text);

    transition: .2s;

}


.input-group input:focus {

    background: white;

    box-shadow:
        0 0 0 3px rgba(59,130,246,.15);

}


.input-group input::placeholder {

    color: #94a3b8;

}


/* ======================================
   SZYBKIE RABATY
====================================== */


.quick-discounts {

    margin-top: 5px;
    margin-bottom: 24px;

}


.quick-discounts p {

    font-size: 14px;

    color: var(--light);

    font-weight: 500;

    margin-bottom: 12px;

}


.discount-buttons {

    display: flex;

    flex-wrap: wrap;

    gap: 10px;

}


.quick-discount {

    width: auto;

    min-width: 58px;

    height: 42px;

    padding: 0 16px;

    border: 1px solid #e2e8f0;

    border-radius: 12px;

    background: #f8fafc;

    color: #475569;

    font-family: inherit;

    font-size: 14px;

    font-weight: 600;

    cursor: pointer;

    transition: .2s;

}


.quick-discount:hover {

    background: #eff6ff;

    border-color: #93c5fd;

    color: var(--blue);

    transform: translateY(-2px);

    box-shadow: none;

}


/* ======================================
   INFORMACJA O RABATACH ŁĄCZONYCH
====================================== */


.calculator-hint {

    padding: 14px 16px;

    background: #eff6ff;

    border-left: 3px solid var(--blue);

    border-radius: 10px;

    color: #475569;

    font-size: 13px;

    line-height: 1.6;

    margin-top: 5px;
    margin-bottom: 20px;

}


/* ======================================
   GŁÓWNY PRZYCISK
====================================== */


#calculate {

    width: 100%;

    height: 58px;

    border: none;

    border-radius: 16px;

    background: linear-gradient(
        135deg,
        var(--blue),
        var(--green)
    );

    color: white;

    font-family: inherit;

    font-size: 18px;

    font-weight: 600;

    cursor: pointer;

    transition: .2s;

}


#calculate:hover {

    transform: translateY(-2px);

    box-shadow:
        0 12px 25px rgba(59,130,246,.25);

}


#calculate:active {

    transform: translateY(0);

}


button:focus-visible {

    outline: 3px solid rgba(59,130,246,.4);

    outline-offset: 3px;

}


/* ======================================
   KARTA WYNIKU
====================================== */


.result-card {

    margin-top: 20px;

    background: white;

    border-radius: 24px;

    padding: 26px 22px;

    text-align: center;

    box-shadow:
        0 10px 30px rgba(0,0,0,.04);

}


.result-card h2 {

    font-size: 20px;

}


.result-number {

    margin: 10px 0;

    font-size: 42px;

    font-weight: 700;

    background: linear-gradient(
        135deg,
        var(--blue),
        var(--green)
    );

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    background-clip: text;

    overflow-wrap: anywhere;

}


.result-card p {

    color: var(--light);

    font-size: 14px;

    line-height: 1.6;

}


/* ======================================
   POLECANE NARZĘDZIA
====================================== */


.suggestions {

    margin-top: 30px;

}


.suggestions h2 {

    font-size: 22px;

    margin-bottom: 20px;

}


.suggestion-list {

    display: flex;

    flex-wrap: wrap;

    gap: 15px;

}


.suggestion-list a {

    display: flex;

    align-items: center;

    gap: 10px;

    text-decoration: none;

    background: white;

    color: #334155;

    padding: 14px 22px;

    border-radius: 999px;

    box-shadow:
        0 6px 18px rgba(0,0,0,.05);

    transition: .2s;

}


.suggestion-list img {

    width: 20px;
    height: 20px;

    display: block;

}


.suggestion-list a:hover {

    color: var(--blue);

    transform: translateY(-3px);

}


/* ======================================
   OPIS NARZĘDZIA
====================================== */


.info-section {

    margin-top: 32px;

    padding: 24px 0 8px;

    color: var(--light);

}


.info-section h2 {

    margin: 0 0 14px;

    font-size: 20px;

    font-weight: 600;

    color: var(--text);

}


.info-section p {

    margin: 0 0 16px;

    color: var(--light);

    font-size: 15px;

    line-height: 1.65;

    font-weight: 400;

}


.info-section p:last-child {

    margin-bottom: 0;

}


/* ======================================
   RESPONSYWNOŚĆ
====================================== */


@media (max-width: 650px) {


    .tool-container {

        padding: 20px 16px;

    }


    .tool-title {

        gap: 13px;

        margin-bottom: 28px;

    }


    .tool-title h1 {

        font-size: 27px;

    }


    .tool-title p {

        font-size: 13px;

        line-height: 1.5;

    }


    .tool-icon {

        width: 52px;
        height: 52px;

        border-radius: 14px;

    }


    .tool-icon img {

        width: 29px;
        height: 29px;

    }


    .calculator-card {

        padding: 20px;

        border-radius: 20px;

    }


    .calculator-modes {

        grid-template-columns: 1fr;

        gap: 6px;

        margin-bottom: 24px;

    }


    .mode-button {

        min-height: 46px;

        font-size: 14px;

    }


    .input-group input {

        height: 54px;

        font-size: 16px;

    }


    .result-card {

        padding: 22px 16px;

        border-radius: 20px;

    }


    .result-number {

        font-size: 34px;

    }


    .discount-buttons {

        gap: 8px;

    }


    .quick-discount {

        min-width: 52px;

        padding: 0 13px;

    }


    .tool-logo span {

        font-size: 21px;

    }


}


/* ======================================
   MAŁE TELEFONY
====================================== */


@media (max-width: 380px) {


    .tool-container {

        padding: 16px 12px;

    }


    .calculator-card {

        padding: 16px;

    }


    .tool-title h1 {

        font-size: 24px;

    }


    .result-number {

        font-size: 30px;

    }


    .discount-buttons {

        gap: 6px;

    }


}
