/* ==========================================================
   LUCO PEOPLE CALCULATOR STYLES
   Notice Period Calculator
========================================================== */

/* ---------- Colour Palette ---------- */

:root{

    --primary:#0B5ED7;
    --primary-dark:#084298;
    --primary-light:#edf5ff;

    --success:#198754;

    --text:#1f2937;

    --muted:#6b7280;

    --border:#dbe3ea;

    --background:#f5f7fa;

    --card:#ffffff;

    --shadow:0 10px 30px rgba(0,0,0,.08);

    --radius:12px;

}

/* ---------- Info Box ---------- */

.info-box {

    background:var(--primary-light);

    border-left:4px solid var(--primary);

    border-radius:10px;

    padding:20px 24px;

    margin:25px 0 35px;

}


.info-box strong {

    display:block;

    color:var(--primary);

    margin-bottom:10px;

    font-size:1.05rem;

}


.info-box p {

    margin:0;

    color:var(--text);

}


/* ---------- Form Heading ---------- */

.form-heading {

    font-size:1.25rem;

    margin-bottom:20px;

    color:var(--text);

}


/* ---------- Main Result ---------- */

.main-result {

    background:var(--primary-light);

    border:2px solid var(--primary);

    border-radius:12px;

    padding:25px;

    text-align:center;

    margin-bottom:25px;

}


.main-result span {

    display:block;

    color:var(--muted);

    font-weight:600;

    margin-bottom:8px;

}


.main-result strong {

    display:block;

    color:var(--primary);

    font-size:2.2rem;

}


/* ---------- Reset ---------- */

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

body{

    background:var(--background);

    font-family:
    "Segoe UI",
    Arial,
    Helvetica,
    sans-serif;

    color:var(--text);

    line-height:1.6;

    padding:40px 20px;

}


/* ---------- Main Container ---------- */

.calculator-container{

    max-width:900px;

    margin:auto;

}


/* ---------- Cards ---------- */

.calculator-card,
.results-card,
.disclaimer{

    background:var(--card);

    border-radius:var(--radius);

    box-shadow:var(--shadow);

    border:1px solid var(--border);

    padding:35px;

    margin-bottom:30px;

}


/* ---------- Header ---------- */



.calculator-header{

    margin-bottom:30px;

}

.calculator-header h1{

    font-size:2rem;

    color:var(--primary);

    margin-bottom:10px;

}

.calculator-header p{

    color:var(--muted);

    max-width:650px;

}


/* ---------- Grid Layout ---------- */

.grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:22px;

}


/* ---------- Form ---------- */

.field{

    display:flex;

    flex-direction:column;

}

.field label{

    font-weight:600;

    margin-bottom:8px;

}

.field small{

    color:var(--muted);

    margin-top:6px;

    font-size:.85rem;

}


/* ---------- Inputs ---------- */

input,
select{

    width:100%;

    padding:14px;

    border-radius:8px;

    border:1px solid var(--border);

    font-size:1rem;

    transition:.25s;

    background:#fff;

}

input:focus,
select:focus{

    outline:none;

    border-color:var(--primary);

    box-shadow:0 0 0 3px rgba(11,94,215,.15);

}


/* ---------- Buttons ---------- */

.button-row{

    display:flex;

    gap:15px;

    margin-top:35px;

    flex-wrap:wrap;

}

button{

    cursor:pointer;

    border:none;

    border-radius:8px;

    padding:14px 26px;

    font-size:1rem;

    font-weight:600;

    transition:.25s;

}

#calculateButton{

    background:var(--primary);

    color:white;

}

#calculateButton:hover{

    background:var(--primary-dark);

    transform:translateY(-2px);

}

button[type="reset"]{

    background:#eef2f7;

    color:#374151;

}

button[type="reset"]:hover{

    background:#dce4ed;

}


/* ---------- Results ---------- */

.results-card h2{

    color:var(--primary);

    margin-bottom:25px;

}

.result-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

    gap:20px;

}

.result-item{

    background:#fafbfc;

    border:1px solid var(--border);

    border-radius:10px;

    padding:20px;

}

.result-item .label{

    display:block;

    color:var(--muted);

    font-size:.9rem;

    margin-bottom:8px;

}

.result-item strong{

    font-size:1.35rem;

}


/* ---------- Highlight ---------- */

.highlight{

    background:#ecfdf3;

    border:2px solid var(--success);

}

.highlight strong{

    color:var(--success);

    font-size:1.6rem;

}


/* ---------- Timeline ---------- */

.timeline{

    display:flex;

    flex-direction:column;

    gap:16px;

}

.timeline-row{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:15px;

    border-bottom:1px solid var(--border);

}

.timeline-row:last-child{

    border-bottom:none;

}


/* ---------- Disclaimer ---------- */

.disclaimer h3{

    color:var(--primary);

    margin-bottom:12px;

}

.disclaimer p{

    margin-bottom:12px;

    color:var(--muted);

}


/* ---------- Utility ---------- */

.hidden{

    display:none;

}


/* ---------- Print ---------- */

@media print{

    body{

        background:white;

        padding:0;

    }

    .calculator-card{

        display:none;

    }

    .results-card{

        box-shadow:none;

        border:none;

    }

}

/* ---------- Information Box ---------- */

.info-box {

    background: var(--primary-light);

    border-left: 4px solid var(--primary);

    border-radius: 10px;

    padding: 20px 24px;

    margin: 25px 0 35px 0;

}


.info-box strong {

    display:block;

    color:var(--primary);

    font-size:1.05rem;

    margin-bottom:10px;

}


/* ---------- Mobile ---------- */

@media (max-width:700px){

    body{

        padding:20px;

    }

    .calculator-card,
    .results-card,
    .disclaimer{

        padding:22px;

    }

    .calculator-header{

    flex-direction:column;

}

    .calculator-header h1{

        font-size:1.6rem;

    }

    .button-row{

        flex-direction:column;

    }

    button{

        width:100%;

    }

    .timeline-row{

        flex-direction:column;

        align-items:flex-start;

        gap:6px;

    }

}