/*=========================================================
    TAX CALCULATOR PRO
    Version 2.0 Commercial Edition
=========================================================*/

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

:root{

    --primary:#2563eb;
    --primary2:#1d4ed8;
    --success:#22c55e;
    --danger:#ef4444;
    --warning:#f59e0b;

    --white:#ffffff;

    --glass:rgba(255,255,255,.12);
    --glass2:rgba(255,255,255,.08);

    --border:rgba(255,255,255,.18);

    --shadow:0 20px 45px rgba(0,0,0,.35);

    --radius:24px;

}

html,
body{

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

    font-family:'Poppins',sans-serif;

}

body{

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;

    overflow-x:hidden;

}

/*=========================================================
Overlay
=========================================================*/

.overlay{

    min-height:100vh;

    background:
    linear-gradient(
    135deg,
    rgba(8,15,35,.82),
    rgba(16,35,60,.88));

    padding:40px;

    position:relative;

    z-index:2;

}

/*=========================================================
Floating Background
=========================================================*/

.floating-icons{

    position:fixed;

    inset:0;

    overflow:hidden;

    pointer-events:none;

    z-index:1;

}

.floating-icons span{

    position:absolute;

    color:rgba(255,255,255,.06);

    font-size:40px;

    animation:float 25s linear infinite;

}

.floating-icons span:nth-child(1){

    left:8%;
    animation-delay:0s;
}

.floating-icons span:nth-child(2){

    left:25%;
    animation-delay:5s;
}

.floating-icons span:nth-child(3){

    left:42%;
    animation-delay:9s;
}

.floating-icons span:nth-child(4){

    left:60%;
    animation-delay:12s;
}

.floating-icons span:nth-child(5){

    left:75%;
    animation-delay:15s;
}

.floating-icons span:nth-child(6){

    left:88%;
    animation-delay:20s;
}

.floating-icons span:nth-child(7){

    left:95%;
    animation-delay:25s;
}

@keyframes float{

0%{

transform:translateY(110vh) rotate(0deg);

opacity:0;

}

15%{

opacity:1;

}

100%{

transform:translateY(-150px) rotate(360deg);

opacity:0;

}

}

/*=========================================================
Hero
=========================================================*/

.hero-header{

    max-width:1400px;

    margin:auto;

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:35px;

}

.hero-left{

    display:flex;

    align-items:center;

    gap:25px;

}

.company-logo{

    width:95px;

    height:95px;

    border-radius:50%;

    background:#fff;

    object-fit:contain;

    padding:8px;

    box-shadow:var(--shadow);

}

.hero-header h1{

    color:#fff;

    font-size:38px;

    letter-spacing:1px;

}

.hero-header p{

    color:#dbeafe;

    margin-top:5px;

}

.hero-badges{

    display:flex;

    gap:12px;

    margin-top:18px;

    flex-wrap:wrap;

}

.hero-badges span{

    padding:8px 18px;

    border-radius:50px;

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

    color:#fff;

    font-size:13px;

}

/*=========================================================
Theme Button
=========================================================*/

#themeBtn{

    width:60px;

    height:60px;

    border-radius:50%;

    border:none;

    cursor:pointer;

    background:var(--glass);

    color:#fff;

    backdrop-filter:blur(15px);

    transition:.3s;

}

#themeBtn:hover{

    transform:rotate(30deg);

}

/*=========================================================
Statistics
=========================================================*/

.stats-bar{

    max-width:1400px;

    margin:auto;

    display:grid;

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

    gap:20px;

    margin-bottom:35px;

}

.stat-card{

    background:var(--glass);

    backdrop-filter:blur(18px);

    border-radius:20px;

    border:1px solid var(--border);

    padding:22px;

    display:flex;

    align-items:center;

    gap:18px;

    color:#fff;

    transition:.3s;

}

.stat-card:hover{

    transform:translateY(-5px);

}

.stat-card i{

    font-size:30px;

    color:#60a5fa;

}

.stat-card h3{

    margin-top:4px;

}

/*=========================================================
Calculator
=========================================================*/

.calculator-wrapper{

    max-width:1400px;

    margin:auto;

    display:grid;

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

    gap:30px;

}

.card{

    background:var(--glass);

    backdrop-filter:blur(20px);

    border-radius:var(--radius);

    border:1px solid var(--border);

    padding:35px;

    box-shadow:var(--shadow);

    transition:.35s;

    position:relative;

    overflow:hidden;

}

.card::before{

    content:"";

    position:absolute;

    top:0;

    left:-100%;

    width:100%;

    height:4px;

    background:linear-gradient(90deg,#3b82f6,#60a5fa,#93c5fd);

    transition:.6s;

}

.card:hover::before{

    left:0;

}

.card:hover{

    transform:translateY(-8px);

}

.card h4{

    color:#fff;

    margin-bottom:25px;

}

.card label{

    color:#fff;

    display:block;

    margin-top:18px;

    margin-bottom:8px;

    font-size:14px;

}

.card input{

    width:100%;

    height:58px;

    border:none;

    border-radius:15px;

    padding:0 18px;

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

    color:#fff;

    font-size:18px;

    outline:none;

    transition:.3s;

}

.card input:focus{

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

    box-shadow:0 0 0 3px rgba(37,99,235,.25);

}

.card input::placeholder{

    color:#d1d5db;

}

/*=========================================================
Result Cards
=========================================================*/

.result-box{

    margin-top:28px;

    display:grid;

    gap:18px;

}

.result-item{

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

    border-radius:18px;

    padding:18px 22px;

}

.result-item small{

    color:#d1d5db;

}

.result-item h2{

    margin-top:8px;

    color:#4ade80;

    font-size:30px;

}


/*=========================================
ACTION BUTTONS
=========================================*/

.action-buttons{

    display:flex;

    gap:12px;

    margin-top:20px;

}

.action-buttons button{

    flex:1;

    height:56px;

    border:none;

    border-radius:14px;

    font-size:16px;

    font-weight:700;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    cursor:pointer;

    transition:.25s;

}

.primary-btn{

    background:#2563eb;

    color:#fff;

    box-shadow:0 8px 18px rgba(37,99,235,.25);

}

.primary-btn:hover{

    transform:translateY(-2px);

}

.secondary-btn{

    background:#64748b;

    color:#fff;

}

.secondary-btn:hover{

    background:#475569;

}

/*=========================================================
Footer
=========================================================*/

footer{

    text-align:center;

    margin-top:45px;

    color:#d1d5db;

}

/*=========================================================
Toast
=========================================================*/

#toast{

    position:fixed;

    right:30px;

    top:30px;

    background:#16a34a;

    color:#fff;

    padding:15px 22px;

    border-radius:14px;

    display:flex;

    align-items:center;

    gap:10px;

    transform:translateX(400px);

    transition:.4s;

    z-index:99999;

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

}

#toast.show{

    transform:translateX(0);

}


/*=========================================================
Responsive
=========================================================*/

@media(max-width:992px){

.hero-header{

flex-direction:column;

text-align:center;

gap:25px;

}

.hero-left{

flex-direction:column;

}

.stats-bar{

grid-template-columns:1fr;

}

.calculator-wrapper{

grid-template-columns:1fr;

}

.action-buttons{

flex-direction:column;

}

}

@media(max-width:600px){

.overlay{

padding:20px;

}

.hero-header h1{

font-size:28px;

}

.company-logo{

width:75px;
height:75px;

}

.result-item h2{

font-size:24px;

}

}


/*==================================================
LIGHT THEME
==================================================*/

body.light{

    background:#edf2f7;

    color:#fff;

}

body.light .overlay{

    background:linear-gradient(
        rgba(97,116,163,.95),
        rgba(79,127,166,.95)
    );

}

body.light .card,
body.light .stat-card{

    background:#ffffff;

    border:1px solid #dbe4ef;

    box-shadow:0 12px 30px rgba(15,23,42,.08);

    backdrop-filter:none;

}

body.light h1,
body.light h2,
body.light h3,
body.light h4{

    color:#0f172a;

}

body.light p,
body.light label,
body.light small{

    color:#475569;

}

body.light input{

    background:#f8fafc;

    border:1px solid #dbe4ef;

    color:#0f172a;

}

body.light input::placeholder{

    color:#94a3b8;

}

body.light input:focus{

    border-color:#2563eb;

    box-shadow:0 0 0 4px rgba(37,99,235,.15);

}

body.light .result-item{

    background:#f8fafc;

    border:1px solid #e2e8f0;

}

body.light .result-item span{

    color:#475569;

}

body.light .result-item h3{

    color:#16a34a;

}

body.light footer{

    color:#fff;

}

/*=========================================
 PWA INSTALL BUTTON
=========================================*/

.install-btn{

    margin-top:20px;

    padding:14px 28px;

    border:none;

    border-radius:50px;

    background:linear-gradient(
        135deg,
        #22c55e,
        #16a34a
    );

    color:white;

    font-size:16px;

    font-weight:600;

    cursor:pointer;

    display:flex;

    align-items:center;

    gap:10px;

    transition:.3s;

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

}


.install-btn:hover{

    transform:translateY(-3px);

}

@media(max-width:768px){

.action-buttons{

    gap:10px;

}

.action-buttons button{

    height:52px;

    font-size:15px;

    border-radius:12px;

}

}