/* =========================================================
   YIWALLET WEBSITE - MAIN STYLE
   Domain: yiwalletapp.in
   Theme: Yellow + Black + White
========================================================= */

*{
    box-sizing:border-box;
    margin:0;
    padding:0;
}

html{
    scroll-behavior:smooth;
    scroll-padding-top:90px;
}

body{
    font-family:"Poppins",Arial,Helvetica,sans-serif;
    background:#f7f7f7;
    color:#171717;
    line-height:1.75;
    overflow-x:hidden;
}

img{
    max-width:100%;
    height:auto;
    display:block;
}

a{
    color:inherit;
    text-decoration:none;
}

button{
    font-family:inherit;
}


/* =========================================================
   SITE WRAPPER
========================================================= */

.site-wrapper{
    width:100%;
    min-height:100vh;
}


/* =========================================================
   HEADER
   IMPORTANT: FIXED HEADER
========================================================= */

.header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:72px;
    z-index:99999;

    background:#ffffff;
    border-bottom:1px solid #e5e5e5;

    box-shadow:0 4px 18px rgba(0,0,0,0.08);
}

.header-inner{
    width:100%;
    max-width:1180px;
    height:72px;
    margin:auto;

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:0 22px;
}


/* =========================================================
   BRAND
========================================================= */

.brand{
    display:flex;
    align-items:center;
    gap:12px;

    min-width:0;
}

.brand-logo{
    width:45px;
    height:45px;

    display:flex;
    align-items:center;
    justify-content:center;

    overflow:hidden;
    border-radius:50%;
    background:#f4c430;
}

.brand-logo img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.brand-name{
    font-size:23px;
    font-weight:700;
    color:#111111;
    letter-spacing:-0.4px;
}

.brand-name::first-letter{
    color:#d69e00;
}


/* =========================================================
   MENU BUTTON
========================================================= */

.menu-button{
    width:45px;
    height:45px;

    border:0;
    outline:0;
    cursor:pointer;

    background:#111111;
    border-radius:10px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;

    transition:all .25s ease;
}

.menu-button span{
    width:22px;
    height:2.5px;
    background:#f4c430;
    border-radius:10px;

    transition:all .25s ease;
}

.menu-button:hover{
    background:#f4c430;
}

.menu-button:hover span{
    background:#111111;
}


/* =========================================================
   MENU
========================================================= */

.menu{
    position:fixed;
    top:72px;
    right:-330px;

    width:310px;
    max-width:88vw;
    height:calc(100vh - 72px);

    overflow-y:auto;

    background:#111111;

    padding:25px 18px 35px;

    box-shadow:-8px 10px 30px rgba(0,0,0,0.20);

    transition:right .30s ease;

    z-index:99998;
}

.menu.show{
    right:0;
}

.menu a{
    display:block;

    padding:13px 15px;
    margin-bottom:7px;

    color:#ffffff;
    font-size:15px;
    font-weight:500;

    border-radius:8px;

    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;
}

.menu a:hover{
    background:#f4c430;
    color:#111111;
    transform:translateX(-3px);
}


/* =========================================================
   HEADER MENU BUTTON ACTIVE
========================================================= */

.menu-button.active{
    background:#f4c430;
}

.menu-button.active span{
    background:#111111;
}

.menu-button.active span:nth-child(1){
    transform:translateY(7.5px) rotate(45deg);
}

.menu-button.active span:nth-child(2){
    opacity:0;
}

.menu-button.active span:nth-child(3){
    transform:translateY(-7.5px) rotate(-45deg);
}


/* =========================================================
   MAIN TOP SPACING
   Because header is fixed
========================================================= */

main,
.hero{
    position:relative;
}


/* =========================================================
   HERO
========================================================= */

.hero{
    margin-top:72px;

    min-height:560px;

    padding:75px 20px 70px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    text-align:center;

    background:
        radial-gradient(
            circle at top center,
            #fff4bf 0%,
            #ffffff 45%,
            #f5f5f5 100%
        );

    border-bottom:1px solid #e5e5e5;
}

.hero-logo{
    width:150px;
    height:150px;

    margin-bottom:25px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#f4c430;

    padding:7px;

    box-shadow:
        0 12px 35px rgba(0,0,0,0.16);
}

.hero-logo img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:50%;
}

.hero h1{
    max-width:900px;

    margin-bottom:18px;

    font-size:clamp(30px,5vw,48px);
    line-height:1.2;
    font-weight:700;

    color:#111111;
}

.hero h1 strong{
    color:#d69e00;
}

.hero p{
    max-width:800px;

    margin:0 auto 28px;

    font-size:17px;
    color:#555555;
}


/* =========================================================
   HERO BUTTONS
========================================================= */

.hero-buttons{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;

    gap:12px;
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:145px;

    padding:12px 22px;

    border-radius:8px;

    font-size:14px;
    font-weight:600;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background .2s ease,
        color .2s ease;
}

.btn:hover{
    transform:translateY(-2px);
}

.btn-primary{
    background:#111111;
    color:#ffffff;

    box-shadow:0 7px 18px rgba(0,0,0,0.16);
}

.btn-primary:hover{
    background:#f4c430;
    color:#111111;
}

.btn-outline{
    background:#ffffff;
    color:#111111;

    border:2px solid #111111;
}

.btn-outline:hover{
    background:#111111;
    color:#ffffff;
}

.btn-download{
    background:#f4c430;
    color:#111111;

    box-shadow:0 7px 18px rgba(212,158,0,0.25);
}

.btn-download:hover{
    background:#111111;
    color:#ffffff;
}


/* =========================================================
   CONTENT
========================================================= */

.content{
    width:100%;
    max-width:1050px;

    margin:0 auto;

    padding:45px 20px 70px;
}


/* =========================================================
   CARDS
========================================================= */

.card{
    background:#ffffff;

    margin-bottom:25px;
    padding:30px;

    border:1px solid #e6e6e6;
    border-radius:14px;

    box-shadow:0 5px 20px rgba(0,0,0,0.055);
}

.card h2{
    position:relative;

    margin-bottom:18px;
    padding-left:14px;

    font-size:26px;
    line-height:1.35;

    color:#111111;
}

.card h2::before{
    content:"";

    position:absolute;
    left:0;
    top:4px;

    width:5px;
    height:calc(100% - 8px);

    border-radius:5px;

    background:#f4c430;
}

.card h3{
    margin:22px 0 10px;

    font-size:19px;
    line-height:1.4;

    color:#222222;
}

.card p{
    margin-bottom:16px;

    font-size:15.5px;
    color:#4f4f4f;
}

.card p:last-child{
    margin-bottom:0;
}


/* =========================================================
   LISTS
========================================================= */

.card ul,
.card ol{
    margin:12px 0 18px;
    padding-left:25px;
}

.card li{
    margin-bottom:9px;

    color:#4b4b4b;
    font-size:15px;
}

.card li::marker{
    color:#d69e00;
    font-weight:700;
}


/* =========================================================
   INFO BOX
========================================================= */

.info-box{
    margin:20px 0;

    padding:17px 20px;

    background:#fff8dc;

    border-left:5px solid #f4c430;
    border-radius:8px;

    color:#3f3f3f;

    font-size:14.5px;
}


/* =========================================================
   TABLE
========================================================= */

.table-wrap{
    width:100%;
    overflow-x:auto;

    border-radius:10px;
}

table{
    width:100%;
    min-width:600px;

    border-collapse:collapse;

    background:#ffffff;
}

th,
td{
    padding:13px 15px;

    text-align:left;

    border:1px solid #e3e3e3;

    font-size:14px;
}

th{
    background:#111111;
    color:#ffffff;

    font-weight:600;
}

td{
    color:#4b4b4b;
}

tr:nth-child(even) td{
    background:#fafafa;
}


/* =========================================================
   TAGS
========================================================= */

.tags{
    display:flex;
    flex-wrap:wrap;

    gap:9px;
}

.tag{
    display:inline-block;

    padding:7px 13px;

    border-radius:30px;

    background:#fff4c4;
    color:#765600;

    border:1px solid #f1d56b;

    font-size:13px;
    font-weight:600;

    transition:all .2s ease;
}

.tag:hover{
    background:#111111;
    color:#ffffff;
    border-color:#111111;
}


/* =========================================================
   TABLE OF CONTENTS
========================================================= */

.toc{
    list-style:none;

    margin:0 !important;
    padding:0 !important;
}

.toc li{
    display:flex;
    align-items:center;

    margin-bottom:9px;
    padding:10px;

    border-radius:8px;

    background:#fafafa;
}

.toc li:hover{
    background:#fff6d2;
}

.toc-number{
    min-width:30px;
    height:30px;

    margin-right:10px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#111111;
    color:#f4c430;

    font-size:13px;
    font-weight:700;
}

.toc a{
    color:#222222;
    font-size:14px;
    font-weight:500;
}


/* =========================================================
   FAQ
========================================================= */

.faq-item{
    padding:18px 0;

    border-bottom:1px solid #e5e5e5;
}

.faq-item:last-child{
    border-bottom:0;
}

.faq-question{
    margin:0 0 8px !important;

    color:#111111 !important;

    font-size:17px !important;
}

.faq-answer{
    margin:0 !important;

    color:#555555;
    font-size:14.5px;
}


/* =========================================================
   SCREENSHOT SECTION
========================================================= */

.screenshot-grid{
    display:grid;

    grid-template-columns:
        repeat(auto-fit,minmax(220px,1fr));

    gap:20px;

    margin-top:20px;
}

.screenshot-card{
    overflow:hidden;

    background:#ffffff;

    border:1px solid #e5e5e5;
    border-radius:12px;

    box-shadow:0 5px 18px rgba(0,0,0,0.07);

    transition:transform .25s ease;
}

.screenshot-card:hover{
    transform:translateY(-5px);
}

.screenshot-card img{
    width:100%;
    height:260px;

    object-fit:cover;

    background:#f5f5f5;
}

.screenshot-card p{
    padding:12px 15px;
    margin:0;

    font-size:14px;
    font-weight:600;
}


/* =========================================================
   FOOTER
========================================================= */

.footer{
    width:100%;

    padding:30px 20px;

    text-align:center;

    background:#111111;
    color:#d7d7d7;

    border-top:4px solid #f4c430;

    font-size:14px;
}

.footer strong{
    color:#f4c430;
}

.footer a{
    color:#f4c430;

    margin:0 5px;

    transition:color .2s ease;
}

.footer a:hover{
    color:#ffffff;
}


/* =========================================================
   FOOTER LOGO
   Prevents logo from becoming huge
========================================================= */

.footer-logo{
    width:65px !important;
    height:65px !important;

    max-width:65px !important;
    max-height:65px !important;

    margin:0 auto 12px;

    object-fit:contain !important;
}


/* =========================================================
   BACK TO TOP
========================================================= */

.back-to-top{
    position:fixed;

    right:18px;
    bottom:18px;

    width:43px;
    height:43px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#f4c430;
    color:#111111;

    border-radius:50%;

    font-size:18px;
    font-weight:700;

    box-shadow:0 5px 15px rgba(0,0,0,0.15);

    z-index:9000;
}


/* =========================================================
   RESPONSIVE - TABLET
========================================================= */

@media (max-width:768px){

    .header,
    .header-inner{
        height:66px;
    }

    .header-inner{
        padding:0 15px;
    }

    .brand-logo{
        width:40px;
        height:40px;
    }

    .brand-name{
        font-size:20px;
    }

    .menu{
        top:66px;
        height:calc(100vh - 66px);
    }

    .hero{
        margin-top:66px;

        min-height:500px;

        padding:55px 17px 55px;
    }

    .hero-logo{
        width:125px;
        height:125px;
    }

    .hero h1{
        font-size:31px;
    }

    .hero p{
        font-size:15px;
    }

    .content{
        padding:30px 15px 55px;
    }

    .card{
        padding:23px 19px;
        border-radius:11px;
    }

    .card h2{
        font-size:23px;
    }

    .hero-buttons{
        gap:9px;
    }

    .btn{
        min-width:135px;
        padding:11px 17px;
    }
}


/* =========================================================
   RESPONSIVE - MOBILE
========================================================= */

@media (max-width:480px){

    .header-inner{
        padding:0 12px;
    }

    .brand{
        gap:8px;
    }

    .brand-logo{
        width:38px;
        height:38px;
    }

    .brand-name{
        font-size:18px;
    }

    .menu-button{
        width:42px;
        height:42px;
    }

    .menu{
        width:290px;
        max-width:85vw;
        padding:20px 14px 30px;
    }

    .menu a{
        padding:12px 13px;
        font-size:14px;
    }

    .hero{
        padding:45px 14px 45px;
    }

    .hero-logo{
        width:110px;
        height:110px;
        margin-bottom:20px;
    }

    .hero h1{
        font-size:27px;
    }

    .hero p{
        font-size:14px;
        line-height:1.65;
    }

    .hero-buttons{
        width:100%;
        flex-direction:column;
    }

    .btn{
        width:100%;
        max-width:300px;
    }

    .content{
        padding:25px 12px 45px;
    }

    .card{
        padding:20px 16px;
        margin-bottom:18px;
    }

    .card h2{
        font-size:21px;
    }

    .card h3{
        font-size:17px;
    }

    .card p,
    .card li{
        font-size:14px;
    }

    .info-box{
        padding:14px 15px;
        font-size:13.5px;
    }

    .screenshot-grid{
        grid-template-columns:1fr;
    }

    .screenshot-card img{
        height:auto;
        max-height:450px;
    }

    .footer{
        padding:25px 14px;
        font-size:13px;
    }
}


/* =========================================================
   ACCESSIBILITY
========================================================= */

:focus-visible{
    outline:3px solid #f4c430;
    outline-offset:3px;
}


/* =========================================================
   SELECTION
========================================================= */

::selection{
    background:#f4c430;
    color:#111111;
}


/* =========================================================
   SCROLLBAR
========================================================= */

::-webkit-scrollbar{
    width:8px;
}

::-webkit-scrollbar-track{
    background:#f2f2f2;
}

::-webkit-scrollbar-thumb{
    background:#c9a52c;
    border-radius:10px;
}

::-webkit-scrollbar-thumb:hover{
    background:#111111;
}