/*
Theme Name: Binariums 2025 Pro
Theme URI: https://www-binariums.com/
Author: Premium Craft
Description: Полный клон дизайна 2025 — визуально 100%, технически 0% совпадений
Version: 5.5
*/

:root {
    --dark-bg: #0a1e3d;
    --cyan: #00d4ff;
    --panel-bg: #1e3a5c;
    --white: #ffffff;
    --green-btn: #34c759;
    --cyan-btn: #00d4ff;
    --gold: #ffd700;
    --green-num: #34c759;
    --soft-white: rgba(255,255,255,0.9);
    --dark-overlay: rgba(10,30,61,0.88);
}

* { box-sizing:border-box; margin:0; padding:0; }
body { font-family:'Roboto',sans-serif; background:var(--dark-bg); color:var(--white); }
.wrapper { max-width:1240px; margin:0 auto; padding:0 20px; }

h1,h2,h3,h4,h5,h6 { text-align:center; color:var(--gold); }

/* ====================== HEADER =*/
.top-header {
    background:linear-gradient(90deg,#101f2a 0%,#164472 80%,#1e90ff 100%);
    padding:20px 0;
    position:relative;
    z-index:10;
}
.header-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.logo img { height:40px; }
.menu-area { display:flex; }
.menu-area ul {
    display:flex;
    gap:25px;
    list-style:none;
}
.menu-area a {
    color:var(--white);
    text-decoration:none;
    font-weight:500;
}
.menu-area a:hover { color:var(--cyan); text-shadow:0 0 8px var(--cyan); }

.burger {
    display:none;
    background:none;
    border:none;
    cursor:pointer;
    padding:10px;
}
.burger span {
    display:block;
    width:25px;
    height:3px;
    background:var(--white);
    position:relative;
}
.burger span::before,
.burger span::after {
    content:''; position:absolute; width:25px; height:3px; background:var(--white); left:0;
}
.burger span::before { top:-8px; }
.burger span::after { bottom:-8px; }

/* ====================== HERO ====================== */
.main-banner {
    position:relative;
    min-height:100vh;
    width:100%;
    padding-top:100px;
}
.banner-bg {
    position:absolute;
    top:0; left:0; width:100%; height:100%;
    background-size:cover;
    background-position:center;
    z-index:1;
}
.banner-content {
    position:relative;
    z-index:2;
    text-align:center;
    padding:40px 20px;
    display:flex;
    flex-direction:column;
    align-items:center;
    opacity:0;
    animation:fadeIn 1s ease forwards;
}
.banner-title {
    font-size:72px;
    font-weight:700;
    margin-bottom:40px;
    line-height:1.1;
}
.banner-text {
    font-size:28px;
    margin-bottom:60px;
    line-height:1.5;
}
.banner-text span,
.banner-text i { display:block; margin-bottom:12px; }
.banner-text b { color:var(--cyan); }

.banner-cta { margin-bottom:80px; }
.btn-main {
    display:inline-block;
    padding:25px 60px;
    background:var(--green-btn);
    color:var(--dark-bg);
    text-decoration:none;
    font-size:26px;
    font-weight:600;
    border-radius:8px;
    transition:all .3s;
    box-shadow:0 4px 15px rgba(0,212,255,0.3);
}
.btn-main:hover {
    background:var(--cyan-btn);
    transform:scale(1.05) translateY(-2px);
    box-shadow:0 6px 20px rgba(0,212,255,0.5);
}
.btn-download {
    display:none;
    padding:10px 30px;
    background:var(--cyan);
    color:var(--dark-bg);
    font-size:18px;
    border-radius:8px;
    margin-top:15px;
}
.btn-download:hover {
    background:var(--green-btn);
    transform:scale(1.05) translateY(-2px);
}

.stats-head {
    font-size:28px;
    font-weight:500;
    color:var(--cyan);
    margin-bottom:40px;
    line-height:1.4;
}
.stats-row {
    display:flex;
    justify-content:center;
    gap:80px;
    max-width:100%;
}
.stat-item {
    text-align:center;
    min-width:220px;
}
.stat-item__head {
    font-size:24px;
    color:var(--gold);
    font-weight:400;
    margin-bottom:4px;
    text-transform:uppercase;
}
.stat-item__num {
    font-size:42px;
    color:var(--green-num);
    margin-bottom:8px;
}
.stat-item__info { font-size:18px; }

/* ====================== ACCOUNTS ====================== */
.accounts-block {
    padding:80px 0;
    background:linear-gradient(180deg,#0f2b4a 0%,#1e3a5c 100%);
    border-top:1px solid rgba(255,255,255,0.2);
}
.accounts-block h2 { font-size:36px; font-weight:700; margin-bottom:60px; }
.accounts-table {
    display:grid;
    grid-template-columns:200px repeat(5,minmax(0,220px));
    grid-template-rows:repeat(4,auto);
    gap:10px;
    margin-bottom:40px;
    background:rgba(0,0,0,0.2);
    padding:20px;
    border-radius:12px;
}
.labels-col {
    display:grid;
    grid-template-rows:repeat(4,1fr);
    height:100%;
}
.label-item {
    font-size:20px;
    font-weight:600;
    color:var(--cyan);
    text-align:left;
    padding:10px 0;
    display:flex;
    align-items:center;
}
.account-card {
    text-align:center;
    padding:10px;
    background:var(--panel-bg);
    border-radius:8px;
    box-shadow:inset 0 2px 4px rgb(43 112 48);
    display:grid;
    grid-template-rows:repeat(4,1fr);
    height:100%;
    transition:transform .3s;
}
.account-card:hover { transform:scale(1.05); }
.account-card > div {
    font-size:18px;
    margin:0;
    padding:10px 0;
    display:flex;
    align-items:center;
    justify-content:center;
    white-space:normal;
}
.card-name { font-size:28px; font-weight:600; color:var(--cyan); }
.card-cashback { font-weight:700; color:var(--green-num); }
.accounts-actions { text-align:center; }

/* ====================== STEPS & PAYMENTS ====================== */
.steps-block {
    padding:80px 0;
    background:var(--dark-bg);
    border-top:1px solid rgba(255,255,255,0.2);
}
.steps-block h2 { font-size:36px; font-weight:700; margin-bottom:60px; }
.steps-row {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
    margin-bottom:60px;
}
.step-card {
    text-align:center;
    padding:20px;
    transition:transform .3s;
}
.step-card:hover { transform:translateY(-5px); }
.step-img {
    display:inline-block;
    width:100%;
    max-width:130px;
    height:auto;
    aspect-ratio:1/1;
    background-size:contain;
    background-repeat:no-repeat;
    margin-bottom:15px;
}
.step-1 { background-image:url('../images/step-1.webp'); }
.step-2 { background-image:url('../images/step-2.webp'); }
.step-3 { background-image:url('../images/step-3.webp'); }
.step-4 { background-image:url('../images/step-4.webp'); }
.step-card h3 {
    font-size:26px;
    font-weight:600;
    color:var(--gold);
    margin-bottom:10px;
}
.step-card p { font-size:18px; color:rgba(255,255,255,0.8); }

.steps-info {
    width:90%;
    margin:0 auto 60px;
    text-align:justify;
    color:var(--soft-white);
    font-size:18px;
    line-height:1.6;
    border-top:1px solid rgba(255,255,255,0.2);
    padding-top:40px;
}

.payments-block { text-align:center; }
.payments-block h3 {
    font-size:20px;
    color:var(--cyan);
    margin-bottom:30px;
}
.payment-row {
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:20px;
}
.payment-item {
    width:180px;
    height:105px;
    background-size:150px 75px;
    background-position:center;
    background-repeat:no-repeat;
    box-shadow:0 0 10px rgba(0,234,255,0.5), inset 0 0 5px rgba(0,234,255,0.3);
    border-radius:10px;
    border:1px solid #107e7e;
    transition:transform .3s;
}
.payment-item:hover { transform:scale(1.05); }

/* ====================== FOOTER ====================== */
.main-footer {
    padding:60px 0 20px;
    background:linear-gradient(180deg,#101f2a 0%,#0a1e3d 100%);
    border-top:1px solid rgba(255,255,255,0.2);
}
.footer-inner { margin-bottom:40px; overflow:hidden; }
.footer-columns {
    display:flex;
    flex-wrap:wrap;
    gap:50px;
    justify-content:center;
}
.footer-col h4 {
    font-size:20px;
    font-weight:600;
    color:var(--cyan);
    margin-bottom:15px;
}
.footer-col a {
    color:var(--soft-white);
    text-decoration:none;
    font-size:16px;
    line-height:2;
}
.footer-col a:hover { color:var(--gold); }
.footer-bottom { text-align:center; clear:both; }
.footer-bottom p { font-size:14px; color:rgba(255,255,255,0.6); }

/* ====================== SHARE MENU ====================== */
.share-fixed {
    position:fixed;
    top:50%;
    right:20px;
    transform:translateY(-50%);
    display:flex;
    flex-direction:column;
    gap:15px;
    z-index:100;
}
.share-fixed a {
    display:block;
    width:40px;
    height:40px;
    background-size:contain;
    background-repeat:no-repeat;
    transition:transform .3s;
}
.share-fixed a:hover { transform:scale(1.1); }

/* ====================== FAQ ====================== */
.faq-block { margin:80px 0; }
.faq-block h2 { font-size:36px; margin-bottom:50px; }
.faq-item {
    margin-bottom:12px;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 4px 15px rgba(0,212,255,0.1);
    transition:all .3s;
}
.faq-item:hover { box-shadow:0 6px 20px rgba(0,212,255,0.25); }
.faq-toggle {
    width:100%;
    background:linear-gradient(135deg,#1e3a5c,#163656);
    color:#fff;
    padding:20px 25px;
    font-size:19px;
    font-weight:600;
    text-align:left;
    border:none;
    cursor:pointer;
    display:flex;
    justify-content:space-between;
    align-items:center;
    transition:background .3s;
}
.faq-toggle:hover { background:linear-gradient(135deg,#00d4ff,#0099cc); }
.faq-toggle::after { content:"+"; font-size:28px; color:#00d4ff; font-weight:bold; }
.faq-item.active .faq-toggle::after { content:"−"; }
.faq-answer {
    max-height:0;
    overflow:hidden;
    background:#0f1f2e;
    padding:0 25px;
    font-size:17px;
    line-height:1.6;
    color:#ddd;
    transition:all .4s;
}
.faq-item.active .faq-answer {
    max-height:600px;
    padding:25px;
    border-top:1px solid #00d4ff33;
}
.faq-item.active { box-shadow:0 8px 25px rgba(0,212,255,0.3); }

/* ====================== АНИМАЦИЯ И RESPONSIVE ====================== */
@keyframes fadeIn {
    from { opacity:0; transform:translateY(20px); }
    to { opacity:1; transform:translateY(0); }
}

@media (max-width:768px) {
    .burger { display:block; }
    .menu-area {
        display:none;
        position:fixed;
        top:80px;
        right:-250px;
        width:250px;
        height:calc(100% - 80px);
        background:var(--panel-bg);
        flex-direction:column;
        padding:20px;
        transition:right .8s ease-in-out;
        z-index:10;
    }
    .menu-area.active { display:flex; right:0; }
    .main-banner { padding-top:80px; }
    .banner-title { font-size:48px; }
    .banner-text { font-size:22px; margin-bottom:40px; }
    .btn-main { padding:20px 50px; font-size:22px; }
    .btn-download { display:inline-block; }
    .stats-row { flex-direction:column; gap:50px; }
    .accounts-table { grid-template-columns:repeat(2,1fr); }
    .labels-col { display:none; }
    .steps-row { grid-template-columns:repeat(2,1fr); }
    .share-fixed { right:10px; gap:10px; }
    .share-fixed a { width:32px; height:32px; }
}

@media (max-width:480px) {
    .banner-title { font-size:40px; }
    .banner-text { font-size:20px; padding:0 15px; }
    .btn-main { padding:15px 40px; font-size:18px; }
    .btn-download { padding:8px 25px; font-size:16px; }
    .stats-row { padding:0 10px; }
    .accounts-table,
    .steps-row { grid-template-columns:1fr; }
    .share-fixed { right:5px; gap:12px; }
    .share-fixed a { width:36px; height:36px; }
}

h1 { font-size:48px; margin-bottom:40px; color:var(--gold); }