:root{
    --bg: #0a0b10;
    --card: rgba(255,255,255,.06);
    --card2: rgba(255,255,255,.08);
    --borderfooter__left: rgba(255,255,255,.10);
    --text: rgba(255,255,255,.92);
    --muted: rgba(255,255,255,.62);
    --muted2: rgba(255,255,255,.45);
    --primary: #6366f1;
    --primary2:#7c3aed;
    --shadow: 0 18px 60px rgba(0,0,0,.55);
    --radius: 18px;
}

*{box-sizing:border-box;font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol}
html,body{height:100%}
html, body {
    overflow-x: hidden;
    width: 100%;
}

body{
    margin:0;
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
    color: var(--text);
    background: var(--bg);
}

.bg{
    position:fixed; inset:0; z-index:-1;
    background:
        radial-gradient(900px 520px at 15% 10%, rgba(99,102,241,.28), transparent 60%),
        radial-gradient(900px 520px at 80% 90%, rgba(124,58,237,.18), transparent 60%),
        radial-gradient(700px 420px at 80% 20%, rgba(16,185,129,.10), transparent 60%);
    filter: saturate(110%);
}

.container{
    width:100%;
    max-width:1100px;
    margin-left:auto;
    margin-right:auto;
    padding-left:15px;
    padding-right:15px;
}


.page{padding:34px 15px 60px 15px}

.topbar{
    position:sticky; top:0; z-index:10;
    background: rgba(10,11,16,.72);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--border);
    padding: 15px;
}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}
.brand__logo{
    width:38px;height:38px;border-radius:14px;
    display:grid;place-items:center;
    background: rgba(255,255,255,.08);
    border:1px solid var(--border);
}
.brand__logo--sm{width:32px;height:32px;border-radius:12px}
.brand__text{font-weight:700;letter-spacing:.2px}

.nav{display:flex;gap:16px}
.nav a{
    color: var(--muted);
    text-decoration:none;
    font-size:14px;
    padding:8px 10px;
    border-radius:12px;
}
.nav a:hover{color:var(--text);background:rgba(255,255,255,.06)}

.topbar__actions{display:flex;gap:10px;align-items:center}
.inline{display:inline}

.btn{
    border:1px solid var(--border);
    background: rgba(255,255,255,.06);
    color: var(--text);
    padding:10px 14px;
    border-radius:14px;
    cursor:pointer;
    font-weight:600;
    font-size:14px;
    text-decoration:none;
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    transition:.18s ease;
}
.btn:hover{background: rgba(255,255,255,.10)}
.btn--primary{
    border-color: rgba(99,102,241,.35);
    background: linear-gradient(135deg, rgba(99,102,241,.95), rgba(124,58,237,.95));
    box-shadow: 0 18px 50px rgba(99,102,241,.22);
}
.btn--primary:hover{filter:brightness(1.06)}
.btn--ghost{background: transparent}

.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:1.35fr .95fr}
@media(max-width:980px){.grid-2{grid-template-columns:1fr}.nav{display:none}}

.card{
    background: var(--card);
    border:1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}
.card__pad{padding:18px}
.card:hover{background: var(--card2)}

.h1{font-size:44px;line-height:1.05;margin:0}
.h2{font-size:28px;margin:0}
.p{color:var(--muted);font-size:16px;line-height:1.55;margin:10px 0 0}
.muted{color:var(--muted)}
.small{color:var(--muted2);font-size:13px}

.badges{display:flex;flex-wrap:wrap;gap:8px}
.badge{
    font-size:12px;
    color: rgb(255, 255, 255);
    border:1px solid var(--border);
    background: rgb(39, 39, 170);
    padding:8px 10px;
    border-radius:999px;
    width: auto;
    height: 30px;
}
.new{
    border-color: rgba(99,102,241,.35);
    background: linear-gradient(135deg, rgba(99,102,241,.95), rgba(124,58,237,.95));
    box-shadow: 0 18px 50px rgba(99,102,241,.22);}
.pro{
    border-color: rgb(25, 104, 25);
    background: linear-gradient(135deg, rgb(42, 140, 42), rgb(38, 225, 38));
    box-shadow: 0 18px 50px rgb(29, 120, 29);}
.popular{
    border-color: rgb(81, 3, 3);
    background: linear-gradient(135deg, rgb(252, 2, 2), rgb(108, 5, 5));
    box-shadow: 0 18px 50px rgb(81, 3, 3);
}
.badge--new{border-color:rgba(16,185,129,.35)}
.badge--pro{border-color:rgba(99,102,241,.35)}
.badge--popular{border-color:rgba(245,158,11,.35)}

.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}

.list{margin:12px 0 0;padding:0;list-style:none}
.list li{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.list li:last-child{border-bottom:none}

.products{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
@media(max-width:980px){.products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.products{grid-template-columns:1fr}}

.product{
    padding:16px;
    border-radius: 18px;
    border:1px solid var(--border);
    background: rgba(255,255,255,.05);
    transition:.18s ease;
    text-decoration:none;color:var(--text);
}
.product:hover{background: rgba(255,255,255,.09);transform: translateY(-1px)}
.product__title{font-weight:700;margin:0 0 6px}
.product__desc{color:var(--muted);font-size:13px;line-height:1.45;min-height:38px}
.product__bottom{display:flex;align-items:center;justify-content:space-between;margin-top:12px}
.price{font-size:18px;font-weight:800}

.form{
    display:grid; gap:12px;
}
.field label{display:block;font-size:13px;color:var(--muted);margin:0 0 6px}
.field input, .field textarea{
    width:100%;
    padding:12px 12px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.12);
    background: rgba(0,0,0,.18);
    color: var(--text);
    outline:none;
}
.field input:focus, .field textarea:focus{
    border-color: rgba(99,102,241,.42);
    box-shadow: 0 0 0 4px rgba(99,102,241,.12);
}

.toast{
    border-radius: 16px;
    border:1px solid var(--border);
    padding:12px 14px;
    margin:0 0 14px;
    background: rgba(255,255,255,.06);
}
.toast--success{border-color: rgba(16,185,129,.35)}
.toast--danger{border-color: rgba(239,68,68,.35)}
.toast__title{font-weight:800;margin-bottom:6px}
.toast__list{margin:0;padding-left:18px;color:var(--muted)}

.footer{
    border-top: 1px solid var(--border);
    padding:18px 0;
    color: var(--muted);
}
.footer__inner{display:flex;justify-content:space-between;align-items:center;gap:12px}
.footer a{color:var(--text);text-decoration:none}
.footer a:hover{text-decoration:underline}
/* ---------- Animations / Effects ---------- */

@keyframes fadeUp {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

.reveal {
    opacity: 0;
    transform: translateY(10px);
}

.reveal.is-visible {
    animation: fadeUp .55s ease forwards;
}

.product {
    position: relative;
    will-change: transform;
}

.product:hover {
    transform: translateY(-3px);
}

/* subtle glow */
.product:hover::after{
    content:"";
    position:absolute;
    inset:-1px;
    border-radius: 18px;
    pointer-events:none;
    box-shadow: 0 0 0 1px rgba(99,102,241,.14), 0 22px 70px rgba(0,0,0,.55);
}

/* price block */
.price-row{display:flex;gap:10px;align-items:baseline}
.old-price{
    color: rgba(255,255,255,.45);
    text-decoration: line-through;
    font-weight: 700;
    font-size: 14px;
}
.new-price{
    font-size: 18px;
    font-weight: 900;
}

/* section head */
.section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:12px;
}
.section-head .p{margin:0}

/* testimonials */
.testimonials{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:14px;
    margin-top:18px;
}
@media(max-width:980px){.testimonials{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.testimonials{grid-template-columns:1fr}}

.quote{
    background: rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.10);
    border-radius: 18px;
    padding:16px;
}
.quote__text{color:rgba(255,255,255,.78);line-height:1.55}
.quote__name{margin-top:10px;font-weight:800}
.quote__meta{color:rgba(255,255,255,.45);font-size:12px}

/* audience blocks */
.audience{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:14px;
    margin-top:18px;
}
@media(max-width:980px){.audience{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.audience{grid-template-columns:1fr}}

.aud{
    padding:16px;
    border-radius: 18px;
    border:1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.05);
}
.aud__title{font-weight:900}
.aud__desc{margin-top:6px;color:rgba(255,255,255,.62);font-size:13px;line-height:1.5}

/* "Popular" auto badge */
.badge--popular{
    border-color: rgba(245,158,11,.38);
    background: rgba(245,158,11,.10);
}
/* ---------- Animations / Effects ---------- */

@keyframes fadeUp {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

.reveal {
    opacity: 0;
    transform: translateY(10px);
}

.reveal.is-visible {
    animation: fadeUp .55s ease forwards;
}

.product {
    position: relative;
    will-change: transform;
}

.product:hover {
    transform: translateY(-3px);
}

/* subtle glow */
.product:hover::after{
    content:"";
    position:absolute;
    inset:-1px;
    border-radius: 18px;
    pointer-events:none;
    box-shadow: 0 0 0 1px rgba(99,102,241,.14), 0 22px 70px rgba(0,0,0,.55);
}

/* price block */
.price-row{display:flex;gap:10px;align-items:baseline}
.old-price{
    color: rgba(255,255,255,.45);
    text-decoration: line-through;
    font-weight: 700;
    font-size: 14px;
}
.new-price{
    font-size: 18px;
    font-weight: 900;
}

/* section head */
.section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:12px;
}
.section-head .p{margin:0}

/* testimonials */
.testimonials{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:14px;
    margin-top:18px;
}
@media(max-width:980px){.testimonials{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.testimonials{grid-template-columns:1fr}}

.quote{
    background: rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.10);
    border-radius: 18px;
    padding:16px;
}
.quote__text{color:rgba(255,255,255,.78);line-height:1.55}
.quote__name{margin-top:10px;font-weight:800}
.quote__meta{color:rgba(255,255,255,.45);font-size:12px}

/* audience blocks */
.audience{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:14px;
    margin-top:18px;
}
@media(max-width:980px){.audience{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.audience{grid-template-columns:1fr}}

.aud{
    padding:16px;
    border-radius: 18px;
    border:1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.05);
}
.aud__title{font-weight:900}
.aud__desc{margin-top:6px;color:rgba(255,255,255,.62);font-size:13px;line-height:1.5}

/* "Popular" auto badge */
.badge--popular{
    border-color: rgba(245,158,11,.38);
    background: rgba(245,158,11,.10);
}
.products--cats { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 980px) { .products--cats { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .products--cats { grid-template-columns: 1fr; } }
/* ===========================
   Mobile Burger Menu
   =========================== */

.nav--desktop { display:flex; gap:16px; }
.hide-sm { display:inline-flex; }

.burger{
    display:none;
    width:44px;height:44px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.06);
    cursor:pointer;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:0;
}
.burger span{
    display:block;
    width:18px;height:2px;
    background: rgba(255,255,255,.88);
    border-radius:2px;
    transition: .18s ease;
}

@media (max-width: 980px){
    .nav--desktop{ display:none; }
    .hide-sm{ display:none; }
    .burger{ display:inline-flex; }
}

/* Overlay container */
.mnav{
    position: fixed;
    inset: 0;
    z-index: 60;
    display: none;
}
.mnav.is-open{ display:block; }

.mnav__backdrop{
    position:absolute; inset:0;
    background: rgba(0,0,0,.55);
    backdrop-filter: blur(6px);
    opacity:0;
    transition: .22s ease;
}
.mnav.is-open .mnav__backdrop{ opacity:1; }

.mnav__panel{
    position:absolute;
    top:10px; right:10px;
    width:min(380px, calc(100% - 20px));
    /*max-height: calc(100% - 20px);*/
    overflow:auto;

    background: rgb(23, 31, 44);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    box-shadow: 0 30px 90px rgba(0,0,0,.65);

    transform: translateY(-10px);
    opacity: 0;
    transition: .22s ease;
}
.mnav.is-open .mnav__panel{
    transform: translateY(0);
    opacity: 1;
}

.mnav__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding: 14px 14px 10px;
    border-bottom: 1px solid rgba(255,255,255,.10);
}
.mnav__title{ font-weight: 900; }
.mnav__close{
    width:38px;height:38px;
    border-radius: 14px;
    border:1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.88);
    cursor:pointer;
}

.mnav__body{ padding: 12px 14px 14px; display:grid; gap:8px; }

.mnav__link{
    padding: 12px 12px;
    border-radius: 14px;
    border:1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.05);
    text-decoration:none;
    color: rgba(255,255,255,.88);
    font-weight: 700;
}
.mnav__link:hover{ background: rgba(255,255,255,.10); }

.mnav__sep{
    height:1px;
    background: rgba(255,255,255,.10);
    margin: 8px 0;
}

.mnav__foot{
    padding: 0 14px 14px;
    color: rgba(255,255,255,.45);
}

/* Lock scroll when menu open */
body.is-locked{ overflow:hidden; }

.promptHead{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
}
@media(max-width:620px){
    .promptHead{flex-direction:column;align-items:stretch;}
}

.promptBox{
    margin-top:14px;
    padding:14px 14px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.12);
    background: rgba(0,0,0,.22);
    color: rgba(255,255,255,.88);
    font-size:14px;
    line-height:1.6;
    white-space:pre-wrap;   /* сохраняет переносы */
    word-break:break-word;
    position:relative;
}

/* маленькая “полоска” как у code block */
.promptBox:before{
    content:"";
    position:absolute;
    left:10px; top:12px; bottom:12px;
    width:3px;
    border-radius:999px;
    background: rgba(99,102,241,.55);
    filter: blur(.2px);
    opacity:.9;
}
.pagination{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    margin-top:30px;
    flex-wrap:wrap;
}

.pages{
    min-width:38px;
    height:38px;
    padding:0 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    font-size:14px;
    font-weight:600;
    text-decoration:none;
    color:rgba(255,255,255,.85);
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.12);
    transition:.2s ease;
    cursor:pointer;
}

.pages:hover{
    background:rgba(255,255,255,.12);
    transform:translateY(-2px);
}

.pages.active{
    background:linear-gradient(135deg,#7c3aed,#6366f1);
    border:none;
    color:white;
    box-shadow:0 8px 20px rgba(124,58,237,.35);
}

.pages.disabled{
    opacity:.3;
    pointer-events:none;
}

.dots{
    padding:0 6px;
    color:rgba(255,255,255,.4);
}
