/* ===== ÀÍÈÌÀÖÈß ÂÑÅÕ ÊÍÎÏÎÊ ===== */
.button1, .button2,
input[type="submit"], input[type="button"], input[type="reset"],
button, .btn, .forum-buttons a, .buttons a, .pagination a {
    position: relative;
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
    will-change: transform;
}

/* Áëèê, ïðîáåãàþùèé ïî êíîïêå */
.button1::before, .button2::before,
input[type="submit"]::before, input[type="button"]::before,
button::before, .btn::before, .buttons a::before {
    content: '';
    position: absolute;
    top: 0; left: -120%;
    width: 60%; height: 100%;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,.55), transparent);
    transform: skewX(-20deg);
    transition: left .6s ease;
    pointer-events: none;
}

.button1:hover::before, .button2:hover::before,
input[type="submit"]:hover::before, input[type="button"]:hover::before,
button:hover::before, .btn:hover::before, .buttons a:hover::before {
    left: 130%;
}

/* Ïîäú¸ì ïðè íàâåäåíèè */
.button1:hover, .button2:hover,
input[type="submit"]:hover, input[type="button"]:hover,
button:hover, .btn:hover, .buttons a:hover {
    transform: translateY(-2px) scale(1.03);
}

/* Íàæàòèå */
.button1:active, .button2:active,
input[type="submit"]:active, input[type="button"]:active,
button:active, .btn:active, .buttons a:active {
    transform: translateY(0) scale(.97);
}

/* ===== ÏËÀÂÍÎÅ ÏÎßÂËÅÍÈÅ ÁËÎÊÎÂ ===== */
.cat, .row1, .row2, .forum, .topic, .post, .card {
    transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}

/* ===== ÏÎËß ÂÂÎÄÀ ===== */
input[type="text"], input[type="password"], input[type="email"],
textarea, select {
    transition: border-color .3s ease, box-shadow .3s ease, background .3s ease;
}
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus,
textarea:focus, select:focus {
    outline: none;
    box-shadow: 0 0 0 4px rgba(93, 173, 226, .25);
}

/* ===== ÀÄÀÏÒÈÂ ===== */
@media (max-width: 768px) {
    .button1, .button2, button, .btn { padding: 8px 16px !important; font-size: 13px !important; }
}