/* Source: assets/font/pilot-fonts14.css */
/* Four measured guest profiles only. Same complete Myriad glyphs and metrics in WOFF2. */
@font-face {
    font-family: 'Myriad Pro';
    src: url("../../font/optimized14/MYRIADPRO-REGULAR.woff2") format('woff2'), url("../../font/MYRIADPRO-REGULAR.woff") format('woff');
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: 'Myriad Pro';
    src: url("../../font/optimized14/MYRIADPRO-SEMIBOLD.woff2") format('woff2'), url("../../font/MYRIADPRO-SEMIBOLD.woff") format('woff');
    font-weight: 600;
    font-display: swap;
}
@font-face {
    font-family: 'Myriad Pro';
    src: url("../../font/optimized14/MYRIADPRO-BOLD.woff2") format('woff2'), url("../../font/MYRIADPRO-BOLD.woff") format('woff');
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: 'Myriad Pro';
    src: url("../../font/optimized14/MyriadPro-Light.woff2") format('woff2'), url("../../font/MyriadPro-Light.woff") format('woff');
    font-weight: 300;
    font-display: swap;
}
/* Measured Arial fallback: align advance widths and Myriad's ascent/descent while loading. */
@font-face {
    font-family: 'RLC Myriad Fallback';
    src: local('Arial');
    font-weight: 300 400;
    size-adjust: 91.469%;
    ascent-override: 104.079%;
    descent-override: 27.332%;
    line-gap-override: 0%;
}
@font-face {
    font-family: 'RLC Myriad Fallback';
    src: local('Arial Bold');
    font-weight: 600;
    size-adjust: 89.680%;
    ascent-override: 108.497%;
    descent-override: 27.877%;
    line-gap-override: 0%;
}
@font-face {
    font-family: 'RLC Myriad Fallback';
    src: local('Arial Bold');
    font-weight: 700;
    size-adjust: 94.592%;
    ascent-override: 104.554%;
    descent-override: 26.429%;
    line-gap-override: 0%;
}
body.rlc-quality-pilot {
    font-family: 'Myriad Pro', 'RLC Myriad Fallback', Arial, sans-serif;
}

/* Source: assets/css/normalize.css */
html,
body,
div,
span,
h1,
h2,
h3,
h4,
h5,
h6,
p,
iframe,
ol,
ul,
li,
form,
label,
i,
footer,
header,
menu,
nav,
a,
table,
thead,
tbody,
tfoot,
tr,
th,
td,
video,
canvas,
section,
    /*commonly used tags*/
applet,
object,
blockquote,
pre,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
ins,
kbd,
hgroup,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
dl,
dt,
dd,
fieldset,
legend,
article,
aside,
details,
embed,
figure,
figcaption,
output,
section,
summary,
time,
mark,
audio,
center,
ruby {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
label {
    display: block;
}
html{
    scroll-behavior: smooth;
}
ol,
ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

* {
    outline: none;
    box-sizing: border-box;
}

input::-webkit-inner-spin-button,
input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

a {
    display: inline-block;
    text-decoration: none;
    font: inherit;
}

button {
    cursor: pointer;
    position: relative;
}

input,
button,
select,
textarea {
    display: inline-block;
    padding: 0;
    border: 0;
    font: inherit;
}


img {
    max-width: 100%;
    max-height: 100%;
}

html,
body {
    margin: 0;
    padding: 0;
    position: relative;
    height: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-family: 'Myriad Pro',sans-serif;
    background: var(--white);

}


/* Source: assets/images/icons/icon.css */


.icon {
    display: inline-block;
    height: 1em;
    width: 1em;
    mask-size: contain;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-position: center;
}
.icon-eye{
    mask-image: url("../../images/icons/eye.svg");
    -webkit-mask-image: url("../../images/icons/eye.svg");
}
.icon-check{
    mask-image: url("../../images/icons/check.svg");
    -webkit-mask-image: url("../../images/icons/check.svg");
}
.icon-error{
    mask-image: url("../../images/icons/error.svg");
    -webkit-mask-image: url("../../images/icons/error.svg");
}
.icon-arrow{
    mask-image: url("../../images/icons/arrow.svg");
    -webkit-mask-image: url("../../images/icons/arrow.svg");
}
.read-more-icon{
    mask-image: url("../../images/icons/arrow.svg");
    -webkit-mask-image: url("../../images/icons/arrow.svg");
}
.self-study-arrow{
    mask-image: url("../../images/icons/arrow.svg");
    -webkit-mask-image: url("../../images/icons/arrow.svg");
}
.bread-icon-back{
    mask-image: url("../../images/icons/arrow.svg");
    -webkit-mask-image: url("../../images/icons/arrow.svg");
}
.icon-arrow-small{
    mask-image: url("../../images/icons/arrow2.svg");
    -webkit-mask-image: url("../../images/icons/arrow2.svg");
}
.module-icon-arrow{
    mask-image: url("../../images/icons/arrow.svg");
    -webkit-mask-image: url("../../images/icons/arrow.svg");
}
.beginner-link-icon{
    mask-image: url("../../images/icons/arrow.svg");
    -webkit-mask-image: url("../../images/icons/arrow.svg");
}
.grammar-arrow{
    mask-image: url("../../images/icons/arrow.svg");
    -webkit-mask-image: url("../../images/icons/arrow.svg");
}
.black-arrow{
    mask-image: url("../../images/icons/arrow.svg");
    -webkit-mask-image: url("../../images/icons/arrow.svg");
}
.check_circle{
    mask-image: url("../../images/icons/check_circle.svg");
    -webkit-mask-image: url("../../images/icons/check_circle.svg");
}

.question-mark{
    mask-image: url("../../images/icons/questionMark.svg");
    -webkit-mask-image: url("../../images/icons/questionMark.svg");
}
.logOut-icon{
    mask-image: url("../../images/icons/logOut.svg");
    -webkit-mask-image: url("../../images/icons/logOut.svg");
}
.icon-premium{
    mask-image: url("../../images/icons/premium.svg");
    -webkit-mask-image: url("../../images/icons/premium.svg");
}
.icon-premium-cart{
    mask-image: url("../../images/icons/premium.svg");
    -webkit-mask-image: url("../../images/icons/premium.svg");
}
.icon-play{
    mask-image: url("../../images/icons/playIcon.svg");
    -webkit-mask-image: url("../../images/icons/playIcon.svg");
}

.icon-pause{
    mask-image: url("../../images/icons/pause.svg");
    -webkit-mask-image: url("../../images/icons/pause.svg");
}


/* Source: assets/css/flex.css */


.G-flex {
    display: flex;
}

.G-inline-flex {
    display: inline-flex;
}

.G-center {
    justify-content: center;
    align-items: center;
    display: flex;
}
.G-column-center {
    justify-content: center;
    align-items: center;
    display: flex;
    flex-direction: column;
}
.G-image{
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.G-justify-center {
    justify-content: center;
    display: flex;
}

.G-justify-between {
    justify-content: space-between;
    display: flex;
}

.G-justify-around {
    justify-content: space-around;
    display: flex;
}

.G-justify-end {
    justify-content: flex-end;
    display: flex;
}
.G-justify-start{
    justify-content: flex-start;
    display: flex;
}

.G-align-center {
    align-items: center;
    display: flex;
}

.G-align-start {
    align-items: flex-start;
    display: flex;
}

.G-align-end {
    align-items: flex-end;
    display: flex;
}

.G-flex-column {
    flex-direction: column;
    display: flex;
}

.G-flex-wrap {
    flex-wrap: wrap;
    display: flex;
}


/* Source: assets/css/general.css */
:root {
    --wheat: #F1F3F4;


    --white: #F9F9FA;
    --white2: #FFFFFF;
    --white3: #F3F3F5;

    --white4: #F3F3FF;
    --white5: #EEE4FF;

    --black: #000000;
    --black2: #141414;

    --black3: #00000066;
    --black4: #00000080;

    --light-black: #5B5B5B14;
    --light-black2: #1C2026;

    --blueviolet: #A580E0;
    --dark-blueviolet: #BA78EF;
    --light-blueviolet: #EEE4FF;
    --light-blueviolet2: #F3F3FF;
    --light-blueviolet3: #F8EBFF;
    --light-blueviolet5: #F2E2FF;
    --dark-blueviolet2: #B5A8FF;
    --light-blueviolet6: #E4DFFF;


    --gray: #4C4C4C;
    --gray2: #4C4C4C80;


    --red: #FF5964;
    --red3: #FF636D;
    --red2: #FF6506;
    --light-red: #FFDDE6;
    --light-red2: #FFECC7;


    --light-green: #E6FFD3;
    --green: #A2F38E;
    --light-green2: #DAFFD1;
    --green2: #437D16;


    --rose: #FF99F6;
    --light-rose: #FFEBFD;

    --blue: #80BFFF;
    --light-blue: #DCEEFF;

    --gold: #D2FF1E;
    --light-gold: #F3FFC5;

    --mediumBlue: #2B438D;
    --light-blue2: #CCD6F7;


}


.wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100%;

}

main {
    flex: 1 1 auto;
}

.container {
    max-width: 1228px;
    width: 100%;
    margin: 0 auto;
    padding: 0 14px;
}
.audio-player{
    display: flex;
    align-items: center;
    justify-content: center;
}
.audio-player audio {
    width: 100%;
    height: 32px;
}

.text-wrap {
    display: block;
}

.desktop-text-wrap {
    display: block;
}


.img-mobile {
    display: none;
}


.hero-title {
    font-weight: 600;
    font-size: 60px;
    line-height: 64px;
    text-align: center;
    color: var(--black2);
}

.hero-tag {
    position: absolute;

}


.tag-name {
    font-weight: 400;
    font-size: 11.57px;
    line-height: 14.46px;
    font-family: 'SF Compact Display';
    color: var(--gray);
    margin-left: 15px;
    margin-bottom: 5px;

}

.tag-flag {
    max-width: 30px;
    width: 100%;
    height: 30px;
}

.tag-info {
    gap: 10px;
}


.hero-description {
    width: 100%;
    margin: 0 auto;
}


.hero-description p,
.hero-description .hero-intro {
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    text-align: center;
    color: var(--gray);
    margin-bottom: 20px;

}

.tag-text {
    position: relative;
    padding: 10px 15px;
    border-radius: 20px;
    background: var(--white2);
    z-index: 1;
}

.tag-text span {
    font-family: 'SF Compact Display', sans-serif;
    font-weight: 400;
    font-size: 20.24px;
    color: var(--black2);
    line-height: 108%;

}

.tag-decor {
    position: absolute;
    z-index: -2;
}

.left-decor--one {
    left: -5px;
    bottom: -5px;
}

.right-decor--one {
    right: -3px;
    bottom: -5px;
}

.btn-black {
    padding: 15px 40px;
    background: var(--black2);
    border-radius: 6px;
    font-weight: 600;
    font-size: 20px;
    line-height: 24px;
    text-align: center;
    color: var(--white2);
    transition: .3s;
    border: 1px solid transparent;

}

.btn-black:hover {
    background: var(--white);
    border: 1px solid var(--black2);
    color: var(--black2);
}

.btn-blueviolet {
    padding: 15px 40px;
    background: var(--blueviolet);
    border-radius: 6px;
    font-weight: 600;
    font-size: 20px;
    line-height: 24px;
    text-align: center;
    color: var(--white2);
    transition: .3s;

}

.btn-blueviolet:hover {
    background: var(--black2);
    color: var(--white2);
}


.section-title {
    font-weight: 600;
    font-size: 36px;
    line-height: 40px;
    text-align: center;
    color: var(--black2);

}

.block-cnt {
    margin-top: 48px;
}


.section {
    margin-top: 80px;

}

.section-m80 {
    margin-top: 80px;

}

.block-title {
    font-weight: 600;
    font-size: 28px;
    line-height: 32px;
    color: var(--black2);

}

.block-text {
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    margin-top: 12px;
    color: var(--gray);

}

.icon-arrow {
    font-size: 15px;
    background: var(--black2);

}

.icon-bg {
    transition: .3s;
    position: absolute;
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    border-radius: 6px;
    background: transparent;

}

.materials-items {
    gap: 20px;
    flex-wrap: wrap;
}

.material-item {
    flex: 1 1 32.2%;
    background: var(--white);
    box-shadow: 0px 0px 16px 0px var(--light-black);
    padding: 12px;
    border-radius: 12px;
    gap: 16px;
    position: relative;
    transition: .3s;
}

.material-item:hover {
    background: var(--blueviolet);
}


.material-item:hover p {
    color: var(--white2);
}

.material-item:hover .icon-arrow {
    background: var(--white2);
}

.material-item:nth-child(1) {
    flex: 1 1 40%;

}

.material-item:nth-child(2) {
    flex: 1 1 40%;

}

.material-img {
    max-width: 112px;
    width: 100%;
    height: 112px;
}

.material-item p {
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    color: var(--black2);
    transition: .3s;


}

.material-item .icon-arrow {
    bottom: 15px;
    right: 15px;
    top: unset;
    transition: .3s;
    position: absolute;

}

.material-item .icon-bg {
    bottom: 15px;
    right: 15px;
    top: unset;
    transition: .3s;

}

.materials-title {
    font-weight: 600;
    font-size: 28px;
    line-height: 32px;
    text-align: center;
    color: var(--black2);

}


.additional-materials-section {
    padding: 80px 0 0;
}

.materials-titles {
    position: relative;
    max-width: max-content;
    margin: 0 auto;
}

.block-titles {
    position: relative;
    max-width: max-content;
    margin: 0 auto;
}

.materials-decor {
    position: absolute;
    top: -80px;
    left: -80px;

}

.block-decor {
    position: absolute;
    top: -80px;
    left: -80px;
}


.trust-container {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
}

.trust-body {
    position: relative;
    min-height: 418px;
    z-index: 2;
    padding: 14px;
}

.trust-decor {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.trust-decor img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 40px;
}

.trust-cnt {
    background: linear-gradient(97.38deg, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.3) 100%);
    padding: 24px;
    border-radius: 12px;
    backdrop-filter: blur(32px);
    --webkit-filter: blur(20px);
    box-shadow: 0px 0px 20px 0px var(--light-black);
    position: relative;
    min-width: 549px;

}

.trust-cnt::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 12px;
    padding: 1px;
    background: linear-gradient(97.38deg, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.3));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: destination-out;
    mask-composite: exclude;
    z-index: -1;
}

.trust-title {
    font-weight: 600;
    font-size: 26px;
    line-height: 30px;
    text-align: center;
    color: var(--black2);

}

.trust-sub-title {
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    text-align: center;
    color: var(--gray);
    margin-top: 16px;

}

.text-mobile {
    display: none;
}

.trust-btn {
    margin-top: 32px;
}


.cart-items {
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
}

.cart {
    max-width: 285px;
    width: 100%;
    position: relative;
    background: var(--white);
    box-shadow: 0px 0px 16px 0px var(--light-black);
    border-radius: 12px;
    z-index: 2;
    overflow: hidden;
    padding: 20px;
    min-height: 248px;

}

.cart-icon {
    max-width: 60px;
    width: 100%;
    height: 60px;
}

.cart-decor {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
}

.cart-texts {
    margin-top: auto;
    gap: 4px;
}

.cart-texts span {
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: var(--gray);
}

.cart-texts p {
    font-weight: 600;
    font-size: 20px;
    line-height: 24px;
    color: var(--black2);
    margin-top: auto;
    transition: .3s;
}

.cart-texts b {
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    color: var(--gray);

}

.cart-level-item {
    max-width: 285px;
    width: 100%;

}

.category-sub-title {
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    color: var(--gray);
    margin-top: 20px;
    text-align: center;

}


.cart-level-item a {
    min-height: 168px;
}

.cart-level-item span {
    margin-top: 12px;
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    color: var(--gray);
    display: block;
    margin-left: 12px;


}

@media (max-width: 1400px) {
}

@media (max-width: 1200px) {


}

@media (max-width: 992px) {


}

@media (max-width: 768px) {

    .desktop-text-wrap {
        display: inline;
    }

    .material-item {
        flex: 1 1 50%;
    }

    .material-item:nth-child(1) {
        flex: 1 1 50%;

    }

    .material-item:nth-child(2) {
        flex: 1 1 50%;

    }

    .trust-cnt {
        padding: 48px 24px;
        min-width: 332px;

    }

    .cart {
        max-width: unset;
        width: unset;
        flex: 1 1 50%;


    }

    .cart-level-item {
        max-width: 100%;
        width: 100%;
        flex: 1 1 50%;

    }

}

@media (max-width: 576px) {

    .img-desktop {
        display: none;
    }

    .block-cnt {
        margin-top: 40px;
    }

    .mobile-text-wrap {
        display: block;
    }

    .img-mobile {
        display: block;

    }

    .block-title {
        font-size: 26px;
        line-height: 30px;

    }

    .block-text {
        font-size: 16px;
        line-height: 22px;
        max-width: 284px;

    }

    .section-title {
        font-size: 32px;
        line-height: 36px;
    }

    .section {
        margin-top: 100px;
    }


    .materials-title {
        font-size: 26px;
        line-height: 30px;

    }

    .material-img {
        max-width: 88px;
        width: 100%;
        height: 88px;
    }

    .material-item p {
        font-size: 16px;
        line-height: 22px;

    }

    .materials-decor {
        top: -50px;
        left: -50px;
        max-width: 88px;
    }

    .block-decor {
        top: -40px;
        left: -45px;
        max-width: 88px;
    }

    .additional-materials-section {
        padding: 20px 0 0;
    }

    .trust-sub-title {
        font-size: 16px;
        line-height: 22px;
    }

    .trust-body {
        min-height: 484px;
    }

    .trust-decor img {
        object-position: 0 0;
        border-radius: 24px;
    }

    .hero-description p,
.hero-description .hero-intro {
        font-size: 16px;
        line-height: 22px;
        margin-bottom: 15px;

    }

    .category-sub-title {
        font-size: 16px;
        line-height: 22px;
        margin-top: 16px;
        text-align: start;
    }

    .max-300-Mobile {
        max-width: 300px;
    }

    .text-desktop {
        display: none;
    }

    .text-mobile {
        display: block;
    }

    .materials-items {
        gap: 12px;
    }
}

@media (max-width: 400px) {

}


.testme_question {
    padding: 24px;
    border-radius: 12px;
    box-shadow: 0px 0px 16px 0px var(--light-black);
    background: var(--white2);
    width: 100%;
}


.testme_area > :not(:last-child) {
    margin: 0 0 20px 0;
}

.testme_question_text {
    margin-top: 20px;
    font-weight: 600;
    font-size: 20px;
    color: var(--black2);
    line-height: 24px;
	margin-bottom:24px;
}

.testme_answer_block {
    margin-bottom: 7px;
    gap: 0px;
    display: flex;
    align-items: center;
    cursor: pointer;
	margin: 0 0 17px 0;
}

.testme_answer {
    padding-left: 0;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    border: 3px solid #4c4c4c;
    flex: 0 0 19px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .3s;
}

input.testme_button {
    padding: 13px 28px;
    background: var(--blueviolet);
    border-radius: 6px;
    color: var(--white2);
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    text-align: center;
    transition: .3s;
    cursor: pointer;
}
/* Visible keyboard focus after the legacy reset stylesheet removes outlines. */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [role="button"]:focus-visible, [tabindex="0"]:focus-visible {
    outline: 3px solid #68419b;
    outline-offset: 3px;
}

/* Contrast adjustments from measured pilot-page audits, preserving the light backgrounds. */
.rlc-quality-pilot .footer-menu-title,
.rlc-quality-pilot .footer-clue,
.rlc-quality-pilot .footer-clue-mobile,
.rlc-quality-pilot .bread-crumbs-menu a.active {
    color: #666666;
}
.rlc-quality-pilot .btn-register {
    background: #7950b0;
}
.rlc-quality-pilot .grammar-link,
.rlc-quality-pilot .grammar-link span,
.rlc-quality-pilot .articles-prev a,
.rlc-quality-pilot .articles-prev a span,
.rlc-quality-pilot .alphabet-item h4,
.rlc-quality-pilot .combination-item p,
.rlc-quality-pilot .combination-item.active p,
.rlc-quality-pilot .words-next a {
    color: #7144ac;
}
.rlc-quality-pilot .footer-menu-title,
.rlc-quality-pilot .footer-clue,
.rlc-quality-pilot .footer-clue-mobile,
.rlc-quality-pilot .combination-item p {
    opacity: 1;
}
.rlc-quality-pilot .peculiarities-swiper .swiper-pagination-bullet {
    display: grid;
    place-items: center;
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    background: transparent !important;
    opacity: 1 !important;
}
.rlc-quality-pilot .peculiarities-swiper .swiper-pagination-bullet::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 6px;
    background: #a580e0;
}
.rlc-quality-pilot .peculiarities-swiper .swiper-pagination-bullet-active {
    width: 60px !important;
    flex: 0 0 60px !important;
}
.rlc-quality-pilot .peculiarities-swiper .swiper-pagination-bullet-active::before {
    width: 60px;
    background: #7950b0;
}

/* Source: assets/css/header.css */

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    transition: .3s;
    padding: 20px 0;


}


.header-body {
    padding: 12px;
    gap: 20px;
    align-items: center;
    transition: .3s;
    background: var(--white2);
    border-radius: 12px;
    position: relative;

}

.header-logo {
    margin-left: 10px;
}


.menu-bg {
    display: none;
}

.menu {
    display: none;
}

.menu ul {
    gap: 41px;
    display: flex;
    flex-direction: column;
}

.menu ul li a {
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    text-align: center;
    color: var(--black);
}


.header-actions {
    gap: 12px;
    margin-left: auto;
}

.btn-login {
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    text-align: center;
    border: 1px solid var(--black2);
    color: var(--black2);
    padding: 12.5px 28px;
    border-radius: 6px;
    background: transparent;
    transition: .3s;

}


.btn-register {
    padding: 13px 28px;
    background: var(--blueviolet);
    border-radius: 6px;
    color: var(--white2);
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    text-align: center;
    transition: .3s;


}
.btn-login:hover{
    background: var(--black2);
    color: var(--white2);
}

.btn-register:hover{
    background: var(--black2);
    color: var(--white2);
}

.menu-content-mobile {
    display: none;
}


.burger {
    display: none;
}

button.burger,
button.account-burger {
    border: 0;
    background: transparent;
    cursor: pointer;
}

button.burger:focus-visible,
button.account-burger:focus-visible {
    outline: 3px solid #68419b;
    outline-offset: 4px;
}


/* Guest desktop navigation: retain the separate header authentication actions. */
@media (width > 992px) {
    .header-body.G-align-center > #rlc-main-menu {
        display: flex;
        flex: 1 1 auto;
        min-width: 0;
        justify-content: center;
    }

    #rlc-main-menu > ul {
        flex-direction: row;
        align-items: center;
        gap: 16px;
    }

    #rlc-main-menu > ul > li > a {
        display: block;
        white-space: nowrap;
    }

    #rlc-main-menu > ul > li:has(> a.menu-login),
    #rlc-main-menu > ul > li:has(> a.btn-register) {
        display: none;
    }
}

/* Two rows fit between the unchanged logo and authentication controls. */
@media (width > 992px) and (width < 1200px) {
    .header-body.G-align-center {
        padding-top: 9.5px;
        padding-bottom: 9.5px;
    }

    #rlc-main-menu > ul {
        display: grid;
        grid-template-columns: repeat(4, max-content);
        row-gap: 8px;
    }
}

@media (max-width: 1400px) {
}

@media (max-width: 1200px) {


}

@media (max-width: 992px) {
    .burger.active {
        position: relative;
        transition: .3s;
        z-index: 3;
    }

    .menu-list {
        margin-top: 50px;
        flex-direction: column;
        gap: 12px;
        flex: 1 1 auto;
    }

    .menu ul li:last-child a{
        color: var(--white);
    }




    .menu ul::-webkit-scrollbar {
        width: 8px;
    }

    .menu ul::-webkit-scrollbar-track {
        background: #e0e0e0;
        border-radius: 10px;
    }

    .menu ul::-webkit-scrollbar-thumb {
        background: linear-gradient(180deg, #888, #555);
        border-radius: 10px;
        transition: background 0.3s ease;
    }

    .menu ul::-webkit-scrollbar-thumb:hover {
        background: linear-gradient(180deg, #666, #333);
    }

    .burger {
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        padding: 14px 10px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        cursor: pointer;
        transition: .3s;
        z-index: 4;
    }

    .burger span {
        flex-shrink: 0;
        width: 23px;
        display: block;
        height: 1.5px;
        background: var(--black2);
        transition: .3s;
        border-radius: 5px;

    }


    .burger::after {
        flex-shrink: 0;
        width: 23px;
        content: '';
        display: block;
        height: 1.5px;
        background: var(--black2);
        transition: .3s;
        border-radius: 5px;

    }

    .burger::before {
        flex-shrink: 0;
        width: 23px;
        content: '';
        display: block;
        height: 1.5px;
        background: var(--black2);
        transition: .3s;
        border-radius: 5px;

    }


    .burger.active span {
        opacity: 0;
        visibility: hidden;
    }


    .burger.active::before {
        transform: rotate(-45deg);
        top: 6px;
        position: relative;


    }


    .burger.active::after {
        transform: rotate(45deg);
        bottom: 7px;
        position: relative;

    }



    .menu {
        position: fixed;
        top: 0;
        right: 0;
        width: 100%;
        height: 100vh;
        transition: .5s;
        z-index: -1;
        padding: 0 14px;
        display: flex;
        flex-direction: column;
        gap: 10px;
        opacity: 0;
        visibility: hidden;
        background: var(--black3);
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
    }


    .menu.active {
        opacity: 1;
        visibility: visible;

    }

    .menu ul {
        align-items: center;
        scroll-padding-top: 54px;
        scroll-padding-bottom: 6px;
        padding: 42px 20px 20px 20px;
        max-height: 0;
        overflow: auto;
        border-radius: 12px;
        scrollbar-width: thin;
        scrollbar-color: #999 #e0e0e0;
        position: relative;
        z-index: 2;
        margin-top: 100px;
        background: var(--white);
        transition: max-height.5s;

    }


    .menu.active ul{
        /* Reserve the existing 100px top offset and a 14px bottom gutter. */
        max-height: calc(100vh - 114px);
        max-height: calc(100dvh - 114px);

    }

}

/* The visible guest header actions need room above the first focus outline. */
@media (min-width: 769px) and (max-width: 992px) {
    .menu ul {
        padding-top: 54px;
    }
}

@media (max-width: 768px) {
    .header-actions {
        display: none;
    }

    .header-body {
        justify-content: space-between;
        padding: 9px 20px;
        border-radius: 8px;
    }


    header {
        padding: 14px 0;
    }

    .burger {
        height: 44px;
    }
    .burger.active::after {
        bottom: 6px;

    }

}

@media (max-width: 576px) {

    .btn-register {
        width: 100%;
    }
    .menu ul li {
        width: 100%;
    }
    .menu ul li a{
        display: block;
    }
    .header-logo{
        margin-left: 0;
    }
}

@media (max-width: 400px) {

}

/* Source: assets/css/footer.css */

.footer {
    padding: 0 20px;
}

.footer-wrapper {
    border-radius: 40px 40px 0 0;
    background: var(--white2);
    max-width: 1400px;
    margin: 0 auto;
    padding: 60px 85px 160px 85px;
    width: 100%;
    position: relative;
    z-index: 2;
}

.footer-body {
    gap: 140px;
    justify-content: space-between;
    flex-wrap: wrap;
}

.footer-menu-title {
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: var(--gray);
    opacity: .5;

}

.footer-menu ul {
    display: flex;
    flex-wrap: wrap;
    max-width: 186px;
    width: 100%;
    row-gap: 25px;
    column-gap: 56px;
    margin-top: 26px;
}

.footer-menu ul li a {
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    text-align: start;
    color: var(--black2);
    min-width: 63px;
    white-space: nowrap;
    transition: color 0.3s ease;
    position: relative;


}
.footer-menu ul li a::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: -10px;
    height: 3px;
    width: 0;
    background-color: var(--blueviolet);
    transition: width 0.3s ease;
    border-radius: 2px;
}
.footer-clue {
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    opacity: .5;
    color: var(--gray);
    margin-top: auto;
}
.footer-menu ul li a:hover::before {
    width: 100%;
}
.footer-menu-column {
    gap: 120px;
}

.footer-btn {
    height: max-content;
    font-weight: 400;
    font-size: 18px;
    padding: 13px 28px;

}
.footer-clue-mobile{
    display: none;
}

@media (max-width: 1400px) {

}

@media (max-width: 1200px) {

}


@media (max-width: 992px) {
    .footer-body {
        gap: 40px;
    }
    .footer-wrapper{
        padding: 48px 0 20px 0;
        border-radius: 0;
    }
    .footer-menu ul li a{
        white-space: wrap;
    }
    .footer{
        padding: 0;
    }
}

@media (max-width: 768px) {
    .footer-clue{
        display: none;
    }
    .footer-clue-mobile{
        display: flex;
        font-weight: 400;
        font-size: 14px;
        line-height: 20px;
        opacity: .5;
        color: var(--gray);
        text-align: center;
        margin: 20px auto 0 ;
    }
    .footer-body{
        flex-direction: column;
    }

}

@media (max-width: 576px) {
    .footer-menu-column{
        gap: 103px;
    }
    .footer-menu ul{
        gap: 45px;
    }
    .footer-menu:nth-child(2){
        margin-right: 21px;
    }
}
/* Source: assets/css/auth.css */

.auth-section{
    position: relative;
    z-index: 2;
    min-height: 688px;
    height: 100vh;
}
.auth-body{
    position: relative;
    z-index: 2;
    padding: 48px;
    min-height: 688px;
    height: 100vh;
    align-items: center;

}
.auth-form{
    background: var(--white2);
    box-shadow: 0px 0px 16px 0px var(--light-black);
    max-width: 532px;
    width: 100%;
    padding: 38px;
    position: relative;
    z-index: 2;
    border-radius: 28px;
    height: max-content;
}
.auth-decor {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.auth-decor img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 40px;

}

.register-img {
    position: absolute;
    bottom: 0;
    left: 170px;
    max-width: 420px;
    width: 100%;
    height: 513px;
}

.register-decor {
    position: absolute;
}

.register-decor--one {
    max-width: 124px;
    left: 37px;
    bottom: 27px;
}

.register-decor--two {
    max-width: 124px;
    top: 93px;
    left: 427px;
}

.contacts-form {
    background: var(--white2);
    box-shadow: 0px 0px 16px 0px var(--light-black);
    max-width: 590px;
    width: 100%;
    padding: 40px;
    position: relative;
    z-index: 2;
    border-radius: 28px;
    height: max-content;

}

.auth-title {
    font-weight: 600;
    font-size: 28px;
    line-height: 32px;
    text-align: center;
    color: var(--black2);

}

.auth-sub-title {
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    text-align: center;
    color: var(--gray);
    margin-top: 12px;

}

.auth-inputs {
    margin-top: 28px;
    width: 100%;
}

.auth-inputs > :not(:last-child) {
    margin-bottom: 12px;
}

.auth-input {
    width: 100%;
}

.auth-label {
    width: 100%;
    position: relative;
}

.auth-label .icon-error {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 18px;
    font-size: 20px;
    background: var(--red);
    transition: .3s;
    opacity: 0;
    visibility: hidden;
}

.auth-label.error .icon-error {
    opacity: 1;
    visibility: visible;
}

.auth-label.error input {
    border: 1px solid var(--red);
}

.auth-label.error .icon-eye {
    display: none;
}

.icon-eye {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 18px;
    font-size: 20px;
    background: var(--gray);
    transition: .3s;
    cursor: pointer;

}

.icon-eye:hover {
    background: var(--blueviolet);

}

.auth-label input {
    width: 100%;
    height: 48px;
    border-radius: 5px;
    background: var(--white2);
    border: 1px solid var(--gray2);
    padding: 12px 16px;
    transition: .3s;
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    color: var(--black2);


}
.auth-label textarea {
    width: 100%;
    height: 104px;
    border-radius: 5px;
    background: var(--white2);
    border: 1px solid var(--gray2);
    padding: 12px 16px;
    transition: .3s;
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    color: var(--black2);
    resize: none;


}

.auth-label input:hover {
    border: 1px solid var(--blueviolet);

}
.auth-label textarea:hover {
    border: 1px solid var(--blueviolet);

}

.auth-label input::placeholder {
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    color: var(--gray2);
    transition: .3s;


}
.auth-label textarea::placeholder {
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    color: var(--gray2);
    transition: .3s;


}

.auth-label input:focus::placeholder {
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    color: var(--black2);

}
.auth-label textarea:focus::placeholder {
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    color: var(--black2);

}
.auth-btn {
    margin-top: 28px;
    width: 100%;
}

.auth-agree {
    margin-top: 16px;
    gap: 10px;
    cursor: pointer;
}


.agree-icon {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    border: 1px solid var(--black2);
    border-radius: 2px;
    transition: .3s;
    margin-top: 3px;
}

.agree-icon.active {
    background: var(--light-black2);
    border: 1px solid transparent;


}


.icon-check {
    opacity: 0;
    visibility: hidden;
    font-size: 12px;
    transition: .3s;
    background: var(--white2);
}

.agree-icon.active .icon-check {
    opacity: 1;
    visibility: visible;
}

.agree-text {
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: var(--black2);

}

.agree-text a {
    color: var(--blueviolet);
    transition: .3s;
    display: inline;

}

.agree-text a:hover {
    opacity: .7;
}

.auth-tools {
    margin-top: 28px;
    gap: 8px;
    justify-content: center;

}

.auth-tools p {
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: var(--gray);

}

.auth-tools a {
    color: var(--blueviolet);
    transition: .3s;
    margin-top: -2px;
}

.auth-tools a:hover {
    opacity: .7;
}
.auth-decor-mobile{
    display: none;
}
.auth-pencil-mobile{
    display: none;
}


.authorization-img{
    max-width: 479px;
    width: 100%;
    height: 513px;
    position: absolute;
    bottom: 0;
    left: 146px;

}
@media (max-width: 1400px) {

}

@media (max-width: 1200px) {
    .register-img{
        left: 20px;
    }
    .authorization-img{
        left: 20px;

    }
}


@media (max-width: 992px) {
    .register-img{
        display: none;
    }
    .authorization-img{
        display: none;
    }
    .auth-body{
        justify-content: center;
    }

}

@media (max-width: 768px) {

}

@media (max-width: 576px) {
    .auth-body{
        padding: 40px 0 72px 0 ;
    }
    .register-decor{
        display: none;
    }
    .auth-form{
        padding: 92px 20px;
        overflow: hidden;
        border-radius: 40px;
    }
    .auth-decor-mobile{
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        z-index: -1;

    }
    .auth-pencil-mobile{
        position: absolute;
        bottom: 17px;
        right: 20px;
        max-width: 124px;
        display: block;

    }


    .auth-title{
        font-size: 26px;
        line-height: 30px;

    }
    .auth-sub-title{
        font-size: 16px;
        line-height: 22px;

    }
    .auth-btn{
        font-weight: 400;
        font-size: 18px;
        padding: 13px 20px;
        line-height: 24px;
        width: 100%;

    }
    .auth-tools a{
        margin-top: 0;
    }

}

form.wpcf7-form.invalid .wpcf7-validates-as-required {
	border:1px solid red;
}

.main_lesson_card_modal {
	position:fixed! important;
}


.progress-bar {
    width: 73%! important;
    height: 4px! important;
    background-color: #c1c2c3! important;
    border-radius: 5px! important;
}

.progress-fill {
  width: 0;
  height: 100%;
  background-color: rgba(165, 128, 224, 0.80);
  border-radius: 5px;
}


.course_m2_audio {
    width: 95%! important;
    display: flex! important;
    align-items: center! important;
    justify-content: space-between! important;
}

#playButton svg path {
    fill: #a8aaaa ! important;
    height: 10px ! important;
}

#volumeButton svg path {
	fill: #a8aaaa ! important;
}
/* Source: assets/css/modal.css */

.modal-overlay {
    position: fixed;
    inset: 0;
    background: var(--black4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 20;
    opacity: 0;
    visibility: hidden;
    backdrop-filter: blur(12px);
    --webkit-filter: blur(12px);
    transition: 0.4s ease;
}

.modal {
    padding: 60px 12px 0 12px;
    background: var(--light-blueviolet);
    border-radius: 40px;
    width: 100%;
    max-width: 995px;
    transform: translateY(-30px);
    opacity: 0;
    transition: 0.4s ease;
    position: relative;
    min-height: 540px;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 2;
    pointer-events: none;

}

.modal-cnt {
    padding: 80px;
    background: var(--light-blueviolet);
    border-radius: 24px;
    width: 100%;
    transform: translateY(-30px);
    opacity: 0;
    transition: 0.4s ease;
    position: relative;
    z-index: 2;
    max-width: 1200px;

}

.modal-scrollbar {
    max-height: 100vh;
    width: 100%;
    overflow: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--light-black) #f0f0f0;
    padding: 0 14px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal-scrollbar::-webkit-scrollbar {
    width: 8px;
}

.modal-scrollbar::-webkit-scrollbar-track {
    background: var(--white);
    border-radius: 10px;
}

.modal-scrollbar::-webkit-scrollbar-thumb {
    background: var(--light-black);
    border-radius: 10px;
    transition: background 0.3s ease;
}

.modal-scrollbar::-webkit-scrollbar-thumb:hover {
    background: var(--black);
}


.modal-close {
    position: absolute;
    right: 48px;
    top: 58px;
    background: transparent;
    border: none;
    font-size: 40px;
    cursor: pointer;
    transition: .3s;
}

.modal-close:hover {
    opacity: .7;
}


.modal-subscribe-close {
    position: absolute;
    right: 38px;
    top: 38px;
    background: transparent;
    color: var(--white2);
    border: none;
    font-size: 40px;
    cursor: pointer;
    transition: .3s;
}

.modal-subscribe-close:hover {
    opacity: .7;
}

.modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

.modal-overlay.active .modal {
    transform: translateY(0);
    opacity: 1;
}
.modal-overlay.active .modal-cnt {
    transform: translateY(0);
    opacity: 1;
}

.modal-title {
    font-weight: 600;
    font-size: 36px;
    line-height: 40px;
    text-align: center;
    color: var(--black2);

}

.modal-sub-title {
    margin-top: 20px;
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    text-align: center;
    color: var(--gray);

}

.modal-btn {
    margin-top: 20px;
}

.modal-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.modal-bg img {
    border-radius: 40px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.modal-star {
    position: absolute;
    max-width: 48px;
    height: 134px;
    width: 100%;
    top: 10px;
    left: 95px;
}


.modal-stars {
    position: absolute;
    max-width: 64px;
    height: 62px;
    width: 100%;
    top: 150px;
    right: 137px;
}
.modal-decor-mobile{
    display: none;
}

@media (max-width: 1400px) {

}

@media (max-width: 1200px) {
    .modal-close {
        top: 10px;
        right: 19px;
        font-size: 30px;

    }
}


@media (max-width: 992px) {
    .modal-decor-desktop{
        display: none;
    }
    .modal-decor-mobile{
        display: block;
    }
}

@media (max-width: 768px) {
    .modal-stars {
        max-width: 32px;
        height: 31px;
        top: 216px;
        right: 41px;
    }
    .modal-star {
        max-width: 24px;
        height: 67px;
        top: 26px;
        left: 16px;
    }

}

@media (max-width: 576px) {
    .modal-title {
        font-size: 26px;
        line-height: 30px;

    }
    .modal-sub-title{
        font-size: 16px;
        line-height: 22px;

    }
    .modal-btn{
        font-size: 18px;
        padding: 13px 28px;
    }
    .modal{
        min-height: 624px;
    }
    .modal-cnt {
        padding: 24px 12px;


    }
    .modal-subscribe-close {
        right: 12px;
        top: 7px;
    }

}


/* Source: assets/css/categoryDetails.css */
.prefooter_banner {
  position: relative;
  width: 100%;
  margin: 70px 0;
  padding: 0 16px;
  overflow: hidden;
  box-sizing: border-box;
}

.prefooter_banner *,
.prefooter_banner *::before,
.prefooter_banner *::after {
  box-sizing: border-box;
}

.prefooter_banner_aside {
  position: relative;
  display: flex;
  align-items: center;
  gap: 40px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 42px;
  border: 1px solid rgba(20, 24, 35, 0.08);
  border-radius: 32px;
  background:
    radial-gradient(circle at top left, rgba(255, 211, 100, 0.16), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f8f7f3 100%);
  box-shadow: 0 24px 70px rgba(17, 24, 39, 0.08);
  overflow: hidden;
}

.prefooter_banner_aside::before {
  content: "";
  position: absolute;
  inset: 16px;
  border: 1px solid rgba(255, 211, 100, 0.24);
  border-radius: 24px;
  pointer-events: none;
}

.prefooter_banner_container {
  position: relative;
  z-index: 2;
  flex: 1 1 auto;
  min-width: 0;
}

.prefooter_banner_header_container {
  margin-bottom: 22px;
}

.prefooter_banner_header {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 10px 18px;
  border-radius: 999px;
  background: rgba(255, 211, 100, 0.14);
  border: 1px solid rgba(255, 211, 100, 0.35);
}

.prefooter_banner_header svg {
  flex: 0 0 34px;
  width: 34px;
  height: auto;
}

.prefooter_banner_title {
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 700;
  color: #2f2a1f;
  letter-spacing: -0.02em;
}

.prefooter_banner_line {
  width: 100%;
  height: 1px;
  margin: 0 0 28px;
  border: none;
  background: linear-gradient(
    90deg,
    rgba(255, 211, 100, 0.65),
    rgba(20, 24, 35, 0.08),
    transparent
  );
}

.prefooter_banner_content {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 34px;
  align-items: center;
}

.prefooter_banner_content_item {
  min-width: 0;
}

.prefooter_banner_desc_container {
  padding: 0;
}

.prefooter_banner_desc_title {
  margin: 0 0 18px;
  font-size: 24px;
  line-height: 1.3;
  font-weight: 700;
  color: #171717;
  letter-spacing: -0.03em;
}

.prefooter_banner_desc_items {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.prefooter_banner_desc_item {
  position: relative;
  padding-left: 34px;
  font-size: 16px;
  line-height: 1.55;
  color: #4b5563;
}

.prefooter_banner_desc_item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff4cf;
  border: 1px solid rgba(255, 211, 100, 0.65);
}

.prefooter_banner_desc_item::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 12px;
  width: 6px;
  height: 9px;
  border-right: 2px solid #a77912;
  border-bottom: 2px solid #a77912;
  transform: rotate(45deg);
}

.prefooter_banner_right {
  padding: 28px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(20, 24, 35, 0.07);
  box-shadow: 0 14px 36px rgba(17, 24, 39, 0.05);
}

.prefooter_banner_subtitle {
  margin: 0 0 24px;
  font-size: 16px;
  line-height: 1.7;
  color: #4b5563;
}

.personal_banner_subscription {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 14px 24px;
  border-radius: 999px;
  font-size: 15px;
  line-height: 1;
  font-weight: 700;
  text-decoration: none;
  color: #2d230e;
  background: linear-gradient(135deg, #ffd364 0%, #f4b942 100%);
  box-shadow: 0 12px 28px rgba(244, 185, 66, 0.28);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
}

.personal_banner_subscription:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(244, 185, 66, 0.36);
}

.personal_banner_subscription:active {
  transform: translateY(0);
}

.prefooter_banner_img_block {
  position: relative;
  z-index: 1;
  flex: 0 0 240px;
  max-width: 240px;
  align-self: stretch;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.prefooter_banner_img_block::before {
  content: "";
  position: absolute;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  background: rgba(255, 211, 100, 0.18);
  filter: blur(4px);
  bottom: 12px;
  right: 0;
  z-index: -1;
}

.prefooter_banner_img {
  display: block;
  width: 100%;
  max-width: 240px;
  height: auto;
  object-fit: contain;
}

/* Tablet */

@media (max-width: 1024px) {
  .prefooter_banner_aside {
    gap: 28px;
    padding: 34px;
  }

  .prefooter_banner_content {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .prefooter_banner_img_block {
    flex: 0 0 200px;
    max-width: 200px;
  }

  .prefooter_banner_img {
    max-width: 200px;
  }
}

/* Mobile */

@media (max-width: 768px) {
  .prefooter_banner {
    margin: 48px 0;
    padding: 0 14px;
  }

  .prefooter_banner_aside {
    flex-direction: column;
    align-items: stretch;
    padding: 28px 22px;
    border-radius: 26px;
  }

  .prefooter_banner_aside::before {
    inset: 10px;
    border-radius: 20px;
  }

  .prefooter_banner_header {
    width: 100%;
    justify-content: center;
    padding: 10px 14px;
  }

  .prefooter_banner_title {
    font-size: 17px;
  }

  .prefooter_banner_desc_title {
    font-size: 21px;
    text-align: center;
  }

  .prefooter_banner_desc_items {
    gap: 10px;
  }

  .prefooter_banner_desc_item {
    font-size: 15px;
    line-height: 1.5;
  }

  .prefooter_banner_right {
    padding: 22px;
    text-align: center;
  }

  .prefooter_banner_subtitle {
    font-size: 15px;
    line-height: 1.6;
  }

  .personal_banner_subscription {
    width: 100%;
    min-height: 48px;
  }

  .prefooter_banner_img_block {
    order: -1;
    max-width: 170px;
    flex: none;
    margin: 0 auto 6px;
  }

  .prefooter_banner_img {
    max-width: 170px;
  }

  .prefooter_banner_img_block::before {
    width: 160px;
    height: 160px;
    right: 50%;
    transform: translateX(50%);
  }
}

/* Small mobile */

@media (max-width: 480px) {
  .prefooter_banner_aside {
    padding: 24px 18px;
    border-radius: 22px;
  }

  .prefooter_banner_header svg {
    width: 30px;
    flex-basis: 30px;
  }

  .prefooter_banner_title {
    font-size: 16px;
  }

  .prefooter_banner_desc_title {
    font-size: 19px;
  }

  .prefooter_banner_desc_item {
    padding-left: 30px;
    font-size: 14px;
  }

  .prefooter_banner_desc_item::before {
    width: 18px;
    height: 18px;
  }

  .prefooter_banner_desc_item::after {
    left: 6px;
    top: 11px;
  }

  .prefooter_banner_right {
    padding: 18px;
    border-radius: 20px;
  }

  .prefooter_banner_subtitle {
    font-size: 14px;
  }
}















.b-exam-section {
    padding: 48px 0;
    background: var(--white2);
    color: var(--black2);
  }

  .b-exam-section * {
    box-sizing: border-box;
  }

  .b-exam-wrap {
    position: relative;
  }

  .b-exam-hero {
    padding: 34px;
    border: 1px solid var(--light-blueviolet6);
    border-radius: 28px;
    background:
      radial-gradient(circle at top right, var(--light-blueviolet3), transparent 34%),
      linear-gradient(135deg, var(--white2), var(--white4));
    overflow: hidden;
  }

  .b-exam-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--light-blueviolet);
    color: var(--light-black2);
    font-size: 14px;
    line-height: 1.3;
    font-weight: 600;
  }

  .b-exam-label::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--blueviolet);
  }

  .b-exam-title {
    margin: 0 0 16px;
    max-width: 820px;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 800;
    color: var(--black2);
  }

  .b-exam-text {
    margin: 0;
    font-size: 16px;
    line-height: 1.75;
    color: var(--gray);
  }

  .b-exam-intro-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 22px;
    margin-top: 24px;
  }

  .b-exam-card {
    padding: 24px;
    border: 1px solid var(--white5);
    border-radius: 24px;
    background: var(--white2);
    box-shadow: 0 18px 45px var(--light-black);
  }

  .b-exam-card-title {
    margin:  16px 0;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 800;
    text-align: center;
    color: var(--black2);
  }
.grammar-items-top-unset {
  margin: 0 !important;
}
  .b-exam-list {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .b-exam-list li {
    position: relative;
    padding: 13px 14px 13px 42px;
    border-radius: 16px;
    background: var(--white3);
    font-size: 16px;
    line-height: 1.45;
    color: var(--black2);
  }

  .b-exam-list li::before {
    content: "";
    position: absolute;
    top: 18px;
    left: 18px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--blueviolet);
  }

  .b-exam-stats {
    display: grid;
    gap: 12px;
  }

  .b-exam-stat {
    padding: 18px;
    border-radius: 20px;
    background: var(--light-blueviolet2);
  }

  .b-exam-stat-value {
    display: block;
    margin-bottom: 5px;
    font-size: 24px;
    line-height: 1.1;
    font-weight: 800;
    color: var(--light-black2);
  }

  .b-exam-stat-text {
    display: block;
    font-size: 14px;
    line-height: 1.45;
    color: var(--gray);
  }

  .b-exam-content {
    display: grid;
    gap: 18px;
    margin-top: 24px;
  }

  .b-exam-info {
    padding: 26px;
    border: 1px solid var(--light-blueviolet6);
    border-radius: 24px;
    background: var(--white);
  }

  .b-exam-sections {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
  }

  .b-exam-section-item {
    padding: 18px;
    border-radius: 20px;
    background: var(--white2);
    border: 1px solid var(--white5);
  }

  .b-exam-section-name {
    display: block;
    margin-bottom: 8px;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 800;
    color: var(--black2);
  }

  .b-exam-section-desc {
    margin: 0;
    font-size: 15px;
    line-height: 1.65;
    color: var(--gray);
  }

  .b-exam-note {
    margin: 18px 0 0;
    padding: 16px 18px;
    border-left: 4px solid var(--blueviolet);
    border-radius: 16px;
    background: var(--light-blueviolet3);
    font-size: 15px;
    line-height: 1.65;
    color: var(--gray);
  }

  .b-exam-table-box {
    margin-top: 28px;
    padding: 22px;
    border-radius: 28px;
    border: 1px solid var(--light-blueviolet6);
    background: var(--white2);
    box-shadow: 0 18px 45px var(--light-black);
  }

  .b-exam-table-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
  }

  .b-exam-table-title {
    margin: 0;
    font-size: 22px;
    line-height: 1.35;
    font-weight: 800;
    color: var(--black2);
  }

  .b-exam-table-subtitle {
    margin: 6px 0 0;
    max-width: 720px;
    font-size: 15px;
    line-height: 1.6;
    color: var(--gray);
  }

  .b-exam-table-scroll {
    width: 100%;
    overflow-x: auto;
    border-radius: 20px;
    border: 1px solid var(--white5);
  }

  .b-exam-table {
    width: 100%;
    min-width: 920px;
    border-collapse: collapse;
    background: var(--white2);
  }

  .b-exam-table th,
  .b-exam-table td {
    padding: 15px 16px;
    border-bottom: 1px solid var(--white5);
    text-align: left;
    vertical-align: top;
    font-size: 15px;
    line-height: 1.55;
    color: var(--gray);
  }

  .b-exam-table th {
    background: var(--light-blueviolet2);
    color: var(--black2);
    font-weight: 800;
  }

  .b-exam-table tr:last-child td {
    border-bottom: none;
  }

  .b-exam-table td:first-child,
  .b-exam-table th:first-child {
    width: 48%;
  }

  .b-exam-table td:nth-child(2),
  .b-exam-table td:nth-child(3),
  .b-exam-table td:nth-child(4),
  .b-exam-table th:nth-child(2),
  .b-exam-table th:nth-child(3),
  .b-exam-table th:nth-child(4) {
    text-align: center;
  }

  .b-exam-task {
    color: var(--black2);
    font-weight: 800;
  }

  .b-exam-level {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    min-height: 34px;
    padding: 6px 9px;
    border-radius: 12px;
    background: var(--light-blueviolet);
    color: var(--light-black2);
    font-weight: 800;
  }

  .b-exam-number {
    font-weight: 800;
    color: var(--black2);
  }

  @media (max-width: 992px) {
    .b-exam-section {
      padding: 38px 0;
    }

    .b-exam-hero {
      padding: 28px;
      border-radius: 24px;
    }

    .b-exam-title {
      font-size: 26px;
    }

    .b-exam-intro-grid {
      grid-template-columns: 1fr;
    }

    .b-exam-sections {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 768px) {
    .b-exam-section {
      padding: 30px 0;
    }

    .b-exam-hero {
      padding: 22px;
      border-radius: 22px;
    }

    .b-exam-title {
      font-size: 24px;
    }

    .b-exam-card,
    .b-exam-info,
    .b-exam-table-box {
      padding: 18px;
      border-radius: 20px;
    }

    .b-exam-table-head {
      display: block;
    }

    .b-exam-table-title {
      font-size: 20px;
    }

    .b-exam-table th,
    .b-exam-table td {
      padding: 13px 14px;
      font-size: 14px;
    }
  }

  @media (max-width: 480px) {
    .b-exam-section {
      padding: 24px 0;
    }

    .b-exam-hero {
      padding: 18px;
    }

    .b-exam-title {
      font-size: 22px;
    }

    .b-exam-text,
    .b-exam-list li {
      font-size: 15px;
    }

    .b-exam-list li {
      padding-left: 38px;
    }

    .b-exam-table-box {
      padding: 14px;
    }
  }



.dz-wrap {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.dz-text {
  margin: 0;
  line-height: 1.7;
  color: #222;
}
.dz-text u{
  text-align: center;
  display: block;
}
.dz-title {
  margin: 0;
  font-size: 28px;
  line-height: 1.3;
  color: #111;
}
.dz-subtitle {
  margin: 0;
  font-size: 22px;
  line-height: 1.4;
  color: #111;
  text-align: center;
}
.dz-subtitle u{
  text-decoration: unset;
}
.dz-note {
  padding: 18px 20px;
  border: 1px solid #e7e7e7;
  border-radius: 14px;
  background: #fafafa;
}
.dz-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.dz-card {
  border: 1px solid #e7e7e7;
  border-radius: 16px;
  padding: 16px;
  background: #fff;
}
.dz-table-box {
  overflow-x: auto;
  border: 1px solid #e7e7e7;
  border-radius: 16px;
  background: #fff;
}
.dz-table {
  width: 100%;
  border-collapse: collapse;
}
.dz-table th,
.dz-table td {
  padding: 14px 16px;
  border-bottom: 1px solid #ececec;
  text-align: left;
  vertical-align: top;
  color: #222;
}
.dz-table th {
  font-weight: 700;
  background: #f8f8f8;
  color: #111;
}
.dz-table tr:last-child td {
  border-bottom: none;
}
.dz-examples {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.dz-audio-block {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
@media (max-width: 767px) {
  .dz-title {
    font-size: 24px;
  }
  .dz-subtitle {
    font-size: 20px;
  }
  .dz-table th,
  .dz-table td {
    padding: 12px;
  }
}

.de-alphabet-section {
  width: 100%;
  margin: 40px 0;
}

.de-alphabet-intro {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 28px;
}

.de-alphabet-intro p {
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
  color: #4b5563;
}

.de-alphabet-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.de-alphabet-card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  padding: 20px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.de-alphabet-card-top {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 14px;
}

.de-alphabet-card-number {
  min-width: 42px;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #f3f4f6;
  color: #111827;
  font-size: 15px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.de-alphabet-card-main {
  flex: 1;
}

.de-alphabet-letter {
  margin: 0 0 8px;
  font-size: 26px;
  line-height: 1.2;
  font-weight: 700;
  color: #111827;
}

.de-alphabet-transcription {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.de-alphabet-transcription span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  font-size: 14px;
  line-height: 1.4;
  color: #475569;
}

.de-alphabet-example {
  padding-top: 14px;
  border-top: 1px solid #eef2f7;
}

.de-alphabet-example-label {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7280;
}

.de-alphabet-example-word {
  margin: 0 0 6px;
  font-size: 17px;
  line-height: 1.5;
  font-weight: 600;
  color: #1f2937;
}

.de-alphabet-example-translate {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: #6b7280;
}

.de-alphabet-back {
  margin-top: 28px;
  display: flex;
  justify-content: center;
}

.de-alphabet-back a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 12px 22px;
  border: 1px solid #dbe1e8;
  border-radius: 999px;
  background: #ffffff;
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  color: #1f2937;
  transition: all 0.25s ease;
}

@media (max-width: 991px) {
  .de-alphabet-grid {
    grid-template-columns: 1fr;
  }

  .de-alphabet-letter {
    font-size: 24px;
  }
}

@media (max-width: 575px) {
  .de-alphabet-section {
    margin: 30px 0;
  }

  .de-alphabet-card {
    padding: 16px;
    border-radius: 16px;
  }

  .de-alphabet-card-top {
    gap: 12px;
  }

  .de-alphabet-card-number {
    min-width: 38px;
    width: 38px;
    height: 38px;
    font-size: 14px;
    border-radius: 10px;
  }

  .de-alphabet-letter {
    font-size: 22px;
  }

  .de-alphabet-transcription span {
    font-size: 13px;
    padding: 6px 10px;
  }

  .de-alphabet-example-word {
    font-size: 16px;
  }

  .de-alphabet-example-translate {
    font-size: 14px;
  }

  .de-alphabet-back a {
    width: 100%;
    padding: 12px 18px;
    text-align: center;
    border-radius: 16px;
  }
}

.ege-eng-content {
  padding: 40px 0;
  color: #1f2937;
}

.ege-eng-content__container {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

.ege-eng-content__inner {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 24px;
  padding: 40px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
}

.ege-eng-content__title {
  margin: 40px 0 20px;
  font-size: 32px;
  line-height: 1.25;
  font-weight: 700;
  color: #111827;
}

.ege-eng-content__text {
  margin: 0 0 18px;
  font-size: 18px;
  line-height: 1.8;
  color: #374151;
}

.ege-eng-content__text:last-child {
  margin-bottom: 0;
}

.ege-eng-content__list {
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}

.ege-eng-content__list-item {
  position: relative;
  margin-bottom: 14px;
  padding-left: 24px;
  font-size: 18px;
  line-height: 1.8;
  color: #374151;
}

.ege-eng-content__list-item:last-child {
  margin-bottom: 0;
}

.ege-eng-content__list-item::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2563eb;
}

.ege-eng-content__table-wrap {
  margin: 24px 0 32px;
  overflow-x: auto;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #ffffff;
}

.ege-eng-content__table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  font-size: 16px;
  line-height: 1.5;
  background: #ffffff;
}

.ege-eng-content__table--large {
  min-width: 980px;
}

.ege-eng-content__table thead th {
  padding: 16px 14px;
  border: 1px solid #e5e7eb;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 700;
  text-align: center;
  color: #111827;
  background: #eff6ff;
  vertical-align: middle;
}

.ege-eng-content__table tbody td {
  padding: 14px 12px;
  border: 1px solid #e5e7eb;
  font-size: 15px;
  line-height: 1.5;
  color: #374151;
  text-align: center;
  vertical-align: middle;
}

.ege-eng-content__table tbody tr:nth-child(even) td {
  background: #f9fafb;
}

.ege-eng-content__table tbody td:first-child {
  text-align: left;
  font-weight: 600;
  color: #1f2937;
}

.ege-eng-content__table a {
  color: #2563eb;
  text-decoration: none;
  transition: color 0.25s ease;
}

.ege-eng-content__table a:hover {
  color: #1d4ed8;
  text-decoration: underline;
}

.ege-eng-content a {
  color: #2563eb;
  text-decoration: none;
  word-break: break-word;
  transition: color 0.25s ease;
}

.ege-eng-content a:hover {
  color: #1d4ed8;
  text-decoration: underline;
}

.ege-eng-content strong {
  font-weight: 700;
  color: #111827;
}

@media (max-width: 991px) {
  .ege-eng-content {
    padding: 32px 0;
  }

  .ege-eng-content__inner {
    padding: 30px 24px;
    border-radius: 20px;
  }

  .ege-eng-content__title {
    margin: 32px 0 18px;
    font-size: 28px;
  }

  .ege-eng-content__text,
  .ege-eng-content__list-item {
    font-size: 17px;
    line-height: 1.75;
  }

  .ege-eng-content__table {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  .ege-eng-content {
    padding: 24px 0;
  }

  .ege-eng-content__container {
    padding: 0 14px;
  }

  .ege-eng-content__inner {
    padding: 22px 16px;
    border-radius: 16px;
  }

  .ege-eng-content__title {
    margin: 28px 0 16px;
    font-size: 24px;
    line-height: 1.3;
  }

  .ege-eng-content__text,
  .ege-eng-content__list-item {
    font-size: 16px;
    line-height: 1.7;
  }

  .ege-eng-content__list-item {
    padding-left: 20px;
  }

  .ege-eng-content__list-item::before {
    top: 11px;
    width: 7px;
    height: 7px;
  }

  .ege-eng-content__table-wrap {
    margin: 20px 0 28px;
    border-radius: 14px;
  }

  .ege-eng-content__table thead th,
  .ege-eng-content__table tbody td {
    padding: 12px 10px;
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .ege-eng-content__inner {
    padding: 18px 14px;
  }

  .ege-eng-content__title {
    font-size: 21px;
  }

  .ege-eng-content__text,
  .ege-eng-content__list-item {
    font-size: 15px;
    line-height: 1.65;
  }

  .ege-eng-content__table thead th,
  .ege-eng-content__table tbody td {
    padding: 10px 8px;
    font-size: 13px;
  }
}

.page_level_texts {
  padding: 60px 0;
}

.lesson-page-iner-wrp {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.page_course_m2_container {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  background: #ffffff;
  border-radius: 28px;
  padding: 40px;
  box-shadow: 0 20px 60px rgba(31, 45, 61, 0.08);
  border: 1px solid rgba(120, 145, 180, 0.15);
}

.page_course_m2_content {
  display: flex;
  flex-direction: column;
  gap: 28px;
  margin-bottom: 30px;
}

.h2-lesson-title {
  margin: 0;
  font-size: 38px;
  line-height: 1.2;
  font-weight: 800;
  color: #1f2a44;
  text-align: center;
}

.lesson_word_course_m2 {
  display: flex;
  justify-content: center;
}

.lesson_card_word_course_m2 {
  margin: 0;
  padding: 18px 24px;
  border-radius: 18px;
  background: linear-gradient(135deg, #4f7cff 0%, #6d5dfc 100%);
  color: #ffffff;
  font-size: 20px;
  line-height: 1.4;
  font-weight: 600;
  text-align: center;
  box-shadow: 0 12px 30px rgba(79, 124, 255, 0.22);
}

.lesson_card_word_course_m2_span {
  font-weight: 800;
  color: #ffe082;
}

.page_course_m2_lesson_content {
  width: 100%;
}

.lesson_card_items_course_m2 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.lesson_card_item_course_m2 {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  background: #fff;
  border: 1px solid rgba(96, 122, 160, 0.14);
  box-shadow: 0 10px 30px rgba(38, 50, 77, 0.08);
  cursor: pointer;
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
  min-height: 100%;
}

.lesson_card_item_course_m2:hover {
  transform: translateY(-8px);
  box-shadow: 0 18px 40px rgba(38, 50, 77, 0.14);
  border-color: rgba(79, 124, 255, 0.35);
}

.lesson_card_item_course_m2:active {
  transform: translateY(-3px) scale(0.99);
}

.lesson_card_bg_course_m2 {
  position: relative;
  padding: 18px;
  background: linear-gradient(180deg, #f7faff 0%, #edf3ff 100%);
}

.main_language_card_img {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 20px;
  overflow: hidden;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 0 0 1px rgba(130, 150, 180, 0.12);
}

.card_img_m2 {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.lesson_card_description_course_m2 {
  padding: 18px 18px 22px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: center;
}

.lesson_card_title_course_m2 {
  margin: 0;
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  color: #1b2437;
}

.lesson_card_subtitle_course_m2 {
  margin: 0;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 500;
  color: #6a7487;
}

.check_alert_course_m2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  margin-top: 10px;
}

.check-button {
  min-width: 240px;
  min-height: 56px;
  border: none;
  outline: none;
  border-radius: 16px;
  background: linear-gradient(135deg, #4f7cff 0%, #6d5dfc 100%);
  box-shadow: 0 14px 30px rgba(79, 124, 255, 0.25);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    opacity 0.3s ease;
  padding: 12px 20px;
}

.check-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 36px rgba(79, 124, 255, 0.3);
}

.check-button:active {
  transform: translateY(0);
}

.check-button_test {
  margin: 0;
  font-size: 17px;
  line-height: 1;
  font-weight: 700;
  color: #ffffff;
}

.alert-message {
  min-height: 28px;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 600;
  text-align: center;
  color: #22304d;
}

#repeat_button_course_m2 {
  background: linear-gradient(135deg, #edf3ff 0%, #dfe8ff 100%);
  box-shadow: none;
  border: 1px solid rgba(79, 124, 255, 0.2);
}

#repeat_button_course_m2 .check-button_test {
  color: #3f63db;
}

/* Если скрипт добавляет классы выбора/успеха/ошибки */
.lesson_card_item_course_m2.active,
.lesson_card_item_course_m2.selected {
  border-color: #4f7cff;
  box-shadow:
    0 0 0 3px rgba(79, 124, 255, 0.15),
    0 14px 35px rgba(38, 50, 77, 0.12);
}

.lesson_card_item_course_m2.success {
  border-color: #22b573;
  box-shadow:
    0 0 0 3px rgba(34, 181, 115, 0.14),
    0 14px 35px rgba(38, 50, 77, 0.12);
}

.lesson_card_item_course_m2.error {
  border-color: #ff5f6d;
  box-shadow:
    0 0 0 3px rgba(255, 95, 109, 0.14),
    0 14px 35px rgba(38, 50, 77, 0.12);
}

.block_pagination_couse_2 {
  width: 100%;
  margin-bottom: 32px;
}

.pagination_items.pagination_items_couse_2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pagination_link_couse_2 {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 52px;
  min-height: 52px;
  padding: 0 18px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid rgba(108, 130, 170, 0.16);
  box-shadow: 0 10px 25px rgba(31, 45, 61, 0.06);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    background 0.3s ease,
    border-color 0.3s ease;
}

.pagination_link_couse_2:hover {
  transform: translateY(-4px);
}

.pagination_link_couse_2:active {
  transform: translateY(-1px);
}

.pagination_item {
  list-style: none;
  font-size: 16px;
  line-height: 1;
  font-weight: 700;
  color: #22304d;
  transition: color 0.3s ease;
}

.pagination_link_couse_2:hover .pagination_item {
  color: #a580e0;
}

.pagination_link_couse_2.active,
.pagination_link_couse_2.current,
.pagination_link_couse_2[aria-current="page"] {
  border-color: transparent;
  box-shadow: 0 14px 30px rgba(79, 124, 255, 0.22);
}

.pagination_link_couse_2.active .pagination_item,
.pagination_link_couse_2.current .pagination_item,
.pagination_link_couse_2[aria-current="page"] .pagination_item {
  color: #ffffff;
}

.pagination_items.pagination_items_couse_2 .pagination_link_couse_2 {
  flex-shrink: 0;
}

/* Tablet */
@media (max-width: 992px) {
  .block_pagination_couse_2 {
    margin-bottom: 26px;
  }

  .pagination_items.pagination_items_couse_2 {
    gap: 10px;
  }

  .pagination_link_couse_2 {
    min-width: 48px;
    min-height: 48px;
    padding: 0 16px;
    border-radius: 14px;
  }

  .pagination_item {
    font-size: 15px;
  }
}

/* Mobile */
@media (max-width: 576px) {
  .block_pagination_couse_2 {
    margin-bottom: 22px;
  }

  .pagination_items.pagination_items_couse_2 {
    gap: 8px;
    justify-content: center;
  }

  .pagination_link_couse_2 {
    min-width: 42px;
    min-height: 42px;
    padding: 0 14px;
    border-radius: 12px;
  }

  .pagination_item {
    font-size: 14px;
  }
}

/* Tablet */
@media (max-width: 992px) {
  .page_level_texts {
    padding: 50px 0;
  }

  .page_course_m2_container {
    padding: 30px 24px;
    border-radius: 24px;
  }

  .h2-lesson-title {
    font-size: 32px;
  }

  .lesson_card_word_course_m2 {
    font-size: 18px;
    padding: 16px 20px;
  }

  .lesson_card_items_course_m2 {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }

  .lesson_card_title_course_m2 {
    font-size: 20px;
  }
}

/* Mobile */
@media (max-width: 576px) {
  .page_level_texts {
    padding: 36px 0;
  }

  .page_course_m2_container {
    padding: 20px 14px;
    border-radius: 20px;
  }

  .page_course_m2_content {
    gap: 22px;
  }

  .h2-lesson-title {
    font-size: 26px;
    line-height: 1.25;
  }

  .lesson_card_word_course_m2 {
    width: 100%;
    font-size: 16px;
    padding: 14px 16px;
    border-radius: 16px;
  }

  .lesson_card_items_course_m2 {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .lesson_card_bg_course_m2 {
    padding: 14px;
  }

  .main_language_card_img {
    border-radius: 16px;
  }

  .lesson_card_description_course_m2 {
    padding: 16px 14px 18px;
  }

  .lesson_card_title_course_m2 {
    font-size: 18px;
  }

  .lesson_card_subtitle_course_m2 {
    font-size: 15px;
  }

  .check-button {
    width: 100%;
    min-width: 100%;
    min-height: 52px;
    border-radius: 14px;
  }

  .check-button_test {
    font-size: 16px;
  }
}

.bread-crumbs-section {
  margin-top: 119px;
}

.bread-crumbs-back {
  position: absolute;
  left: 0;
  width: 36px;
  height: 36px;
  background: var(--white2);
  border-radius: 8px;
  cursor: pointer;
  transition: 0.3s;
}
.category-project-cnt {
  margin: 40px auto 0;
}
.main_language_card_bg {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
.bread-crumbs-back:hover {
  background: var(--blueviolet);
}

.bread-crumbs-back:hover i {
  background: var(--white);
}

.bread-icon-back {
  font-size: 10px;
  background: var(--blueviolet);
  transform: rotate(-135deg);
}

.bread-crumbs-body {
  justify-content: center;
  width: 100%;
  gap: 20px;
  position: relative;
}
.bread-crumbs-menu {
  max-width: 1100px;
  margin: 0 auto;
}

.bread-crumbs-menu ul {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
}

.bread-crumbs-menu ul li a {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  text-align: center;
  color: var(--gray);
  transition: 0.3s;
}

.bread-crumbs-menu ul li a:hover {
  text-decoration: underline;
  opacity: 0.7;
  text-underline-offset: 5px;
  color: var(--gray);
}

.bread-crumbs-menu ul li a.active {
  color: var(--gray2);
}

.bread-crumbs-menu ul li i {
  font-size: 10px;
  background: var(--black2);
}

.category-info-section {
  margin-top: 35px;
}

.rlg-lesson-house-section {
  margin-top: 40px;
}

.rlg-lesson-house-shell {
  width: 100%;
  margin: 0 auto;
  padding: 0 15px;
}

.rlg-lesson-house-card {
  position: relative;
  overflow: hidden;
  border-radius: 15px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border: 1px solid #e5eef8;
  box-shadow: 0 20px 60px rgba(31, 71, 136, 0.08);
  padding: 20px;
}

.rlg-lesson-house-card::before {
  content: "";
  position: absolute;
  top: -120px;
  right: -120px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(75, 145, 255, 0.16) 0%,
    rgba(75, 145, 255, 0) 72%
  );
  pointer-events: none;
}

.rlg-lesson-house-card::after {
  content: "";
  position: absolute;
  left: -90px;
  bottom: -90px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(73, 203, 155, 0.14) 0%,
    rgba(73, 203, 155, 0) 72%
  );
  pointer-events: none;
}

.rlg-lesson-house-top {
  position: relative;
  z-index: 1;
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #e8eef5;
}

.rlg-lesson-house-title {
  margin: 0 0 18px;
  font-size: 26px;
  line-height: 1.15;
  font-weight: 800;
  color: #183b56;
  letter-spacing: -0.02em;
}

.rlg-lesson-house-audio {
  padding: 16px 18px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid #dfeaf6;
  box-shadow: 0 10px 30px rgba(39, 76, 119, 0.06);
}

.rlg-lesson-house-content {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 16px;
}

.rlg-lesson-house-item {
  padding: 15px;
  border-radius: 15px;
  background: #ffffff;
  border: 1px solid #e8eef5;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.rlg-lesson-house-en {
  margin: 0 0 8px;
  font-size: 16px;
  line-height: 1.45;
  color: #102a43;
}

.rlg-lesson-house-en strong {
  font-weight: 700;
}

.rlg-lesson-house-ru {
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
  color: #5b7083;
}

@media (max-width: 768px) {
  .rlg-lesson-house-section {
    padding: 28px 0;
  }

  .rlg-lesson-house-shell {
    padding: 0;
  }

  .rlg-lesson-house-card {
    padding: 22px 16px;
    border-radius: 22px;
  }

  .rlg-lesson-house-title {
    font-size: 28px;
    margin-bottom: 14px;
  }

  .rlg-lesson-house-top {
    margin-bottom: 22px;
    padding-bottom: 18px;
  }

  .rlg-lesson-house-audio {
    padding: 14px;
    border-radius: 16px;
  }

  .rlg-lesson-house-item {
    padding: 16px 14px;
    border-radius: 16px;
  }

  .rlg-lesson-house-en {
    font-size: 14px;
  }

  .rlg-lesson-house-ru {
    font-size: 12px;
  }
}

@media (max-width: 480px) {
  .rlg-lesson-house-title {
    font-size: 24px;
  }

  .rlg-lesson-house-en {
    font-size: 17px;
    line-height: 1.4;
  }

  .rlg-lesson-house-ru {
    font-size: 14px;
    line-height: 1.5;
  }

  .rlg-lesson-house-content {
    gap: 12px;
  }
}

.mx-764 {
  max-width: 764px;
  margin: 0 auto;
}

.mx-914 {
  max-width: 914px;
  margin: 0 auto;
}

.mx-718 {
  max-width: 718px;
  margin: 0 auto;
}

.mx-1025 {
  max-width: 1025px;
  margin: 0 auto;
}

.module-back {
  margin-top: 40px;
}

.module-back a {
  gap: 9px;
}

.module-back a span {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  text-align: center;
  color: var(--blueviolet);
  transition: 0.3s;
}

.module-back .module-icon-arrow {
  background: var(--blueviolet);
  font-size: 10px;
  transform: rotate(45deg);
  transition: 0.3s;
}

.module-back:hover a span {
  color: var(--black2);
}

.module-back:hover .module-icon-arrow {
  background: var(--black2);
}

.category-null-section {
  margin-top: 40px;
}

.category-null-body {
  width: 100%;
  background: var(--light-blueviolet);
  border-radius: 40px;
  min-height: 420px;
  gap: 20px;
}

.category-null-body p {
  font-weight: 600;
  font-size: 20px;
  line-height: 24px;
  text-align: center;
  color: var(--gray);
}

.category-null-img {
  max-width: 320px;
  width: 100%;
  height: 226px;
}

.category-null-body button {
  font-size: 18px;
  padding: 13px 28px;
  font-weight: 400;
}

.beginner-level-section {
  margin-top: 40px;
}

.beginner-link-icon {
  font-size: 10px;
  background: var(--black2);
  margin-top: 3px;
  flex: 0 0 10px;
}

.beginner-item-icon {
  max-width: 24px;
  width: 100%;
  height: 24px;
}

.beginner-level-items {
  gap: 20px;
}

.beginner-level-item {
  padding: 24px;
  background: var(--white);
  box-shadow: 0px 0px 16px 0px var(--light-black);
  border-radius: 12px;
}

.beginner-level-item h2 {
  font-weight: 600;
  font-size: 20px;
  line-height: 24px;
  color: var(--blueviolet);
  margin-top: 12px;
}

.beginner-links {
  margin-top: 24px;
  gap: 12px;
}

.beginner-links a {
  display: flex;
  align-items: center;
  position: relative;
  margin-left: 14px;
  gap: 8px;
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: var(--black2);
  transition: 0.3s;
}

.beginner-links a::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--blueviolet);
  left: -14px;
  top: 50%;
  transform: translateY(-50%);
}

.beginner-links a:hover {
  color: var(--blueviolet);
}

.beginner-links a:hover i {
  background: var(--blueviolet);
}

.details-title {
  padding: 12px 24px;
  border-radius: 1000px;
  background: var(--light-blueviolet);
  margin: 20px auto;
  max-width: max-content;
}

.details-title span {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  text-align: center;
  color: var(--blueviolet);
}

.words-table {
  max-width: 732px;
  width: 100%;
  margin: 40px auto 0;
  gap: 6px;
  align-items: center;
}

.words-row {
  gap: 6px;
  width: 100%;
}

.words-table-titles {
  gap: 6px;
  width: 100%;
}

.words-table-title {
  padding: 7.5px 20px;
  font-weight: 700;
  font-size: 18px;
  line-height: 24px;
  text-align: center;
  color: var(--black2);
  background: var(--light-blueviolet);
  border-radius: 4px;
  min-width: 240px;
  width: 100%;
}

.word-item {
  border: 1px solid var(--gray2);
  border-radius: 4px;
  padding: 7.5px 20px;
  font-size: 18px;
  line-height: 24px;
  text-align: center;
  font-weight: 400;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 240px;
  flex-direction: column;
  flex: 1 1 50%;
}

.word-bold-item {
  font-weight: 600;
  border: 1px solid var(--gray2);
  border-radius: 4px;
  padding: 7.5px 20px;
  font-size: 18px;
  line-height: 24px;
  text-align: center;
  min-width: 240px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 50%;
}

.words-next {
  margin-top: 24px;
}

.words-next i {
  display: flex;
  margin-top: 2px;
  transition: 0.3s;
}

.words-next a {
  gap: 9px;
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  text-align: center;
  color: var(--blueviolet);
  transition: 0.3s;
}
.words-next a br {
  display: none !important;
}

.words-next a span {
  transition: 0.3s;
}

.words-next:hover a span {
  color: var(--black2);
}

.words-next:hover i {
  background: var(--black2);
}

.riddle-btn i {
  display: flex;
  margin-top: 2px;
}

.riddle-btn button {
  gap: 9px;
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  text-align: center;
  color: var(--blueviolet);
  background: transparent;
}

.articles-next i {
  display: flex;
  margin-top: 2px;
  transition: 0.3s;
}

.articles-next a {
  gap: 9px;
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  text-align: center;
  color: var(--blueviolet);
  transition: 0.3s;
}

.articles-next:hover a span {
  color: var(--black2);
}

.articles-next:hover i {
  background: var(--black2);
}

.grammar-items {
  gap: 20px;
  margin-top: 40px;
}
.margnTop-unset{
  margin-top: unset !important;
}
.grammar-item {
  padding: 24px;
  background: var(--white);
  box-shadow: 0px 0px 16px 0px var(--light-black);
  border-radius: 12px;
}

.grammar-link {
  gap: 7px;
}

.grammar-link span {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: var(--blueviolet);
  transition: 0.3s;
}

.grammar-link i {
  margin-top: 8px;
  transition: 0.3s;
  flex: 0 0 10px;
}

.grammar-links {
  margin-top: 24px;
  gap: 12px;
}

.grammar-link:hover span {
  color: var(--black2);
}

.grammar-link:hover i {
  background: var(--black2);
}

.grammar-first-link {
  display: flex;
  align-items: flex-start;
  position: relative;
  margin-left: 14px;
  gap: 8px;
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: var(--black2);
  transition: 0.3s;
}

.grammar-first-link i {
  transition: 0.3s;
  margin-top: 8px;
}

.grammar-first-link:hover {
  color: var(--blueviolet);
}

.grammar-first-link:hover i {
  background: var(--blueviolet);
}

.grammar-first-link::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--blueviolet);
  left: -14px;
  top: 50%;
  transform: translateY(-50%);
}

.grammar-sub-link {
  display: flex;
  align-items: flex-start;
  position: relative;
  margin-left: 40px;
  gap: 8px;
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: var(--black2);
  margin-top: 12px;
}

.grammar-sub-link::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--blueviolet);
  left: -14px;
  top: 50%;
  transform: translateY(-50%);
}

.grammar-sub-link::before {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--blueviolet);
  left: -24px;
  top: 50%;
  transform: translateY(-50%);
}

.grammar-arrow {
  font-size: 10px;
  background: var(--blueviolet);
}

.grammar-details-cnt {
  /* max-width: 940px; */
  width: 100%;
  margin: 40px auto 0;
}

.grammar-description {
  gap: 24px;
}

.grammar-modal-verbs {
  margin-bottom: 20px;
}
.grammar-description-ul ul {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.grammar-description-ul li {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: var(--black2);
}

.grammar-description p {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: var(--black2);
}

.grammar-description b {
  color: var(--black2);
  font-weight: 700;
  font-size: 18px;
  line-height: 24px;
}

.grammar-table {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.grammar-row {
  display: grid;
  grid-template-columns: minmax(220px, 320px) 1fr;
  border: 1px solid #d9d9d9;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

.grammar-col {
  padding: 16px 18px;
}

.grammar-row .grammar-col:first-child {
  background: #f7f7f7;
  border-right: 1px solid #d9d9d9;
  font-weight: 600;
}

.grammar-row .grammar-col:last-child {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.grammar-en {
  display: inline;
  font-weight: 600;
}

.grammar-ru {
  display: inline;
  color: #4b5563;
  margin-left: 6px;
}

.grammar-ru em {
  color: inherit;
}

@media (max-width: 768px) {
  .grammar-row {
    grid-template-columns: 1fr;
  }

  .grammar-row .grammar-col:first-child {
    border-right: none;
    border-bottom: 1px solid #d9d9d9;
  }

  .grammar-col {
    padding: 14px;
  }
  .grammar-description p {
    font-size: 16px;
    line-height: 22px;
  }
}

.alphabet-table {
  gap: 6px;
  width: 100%;
  justify-content: center;
  align-items: center;
  max-width: 480px;
  margin: 44px auto 0;
  margin-bottom: 20px;
}

.alphabet-table-row {
  width: 100%;
  gap: 6px;
  display: flex;
}

.articles-links {
  margin-top: 40px;
  gap: 12px;
}

.table-words {
  padding: 4px 2px;
  border: 1px solid var(--gray2);
  border-radius: 4px;
  width: 100%;
  justify-content: center;
  display: flex;
  align-items: center;
}

.table-words p {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  text-align: center;
  color: var(--black2);
}

.table-words b {
  font-weight: 700;
  font-size: 18px;
  line-height: 24px;
  text-align: center;
  color: var(--black2);
}

.table-number {
  padding: 4px 8px;
  border: 1px solid var(--gray2);
  border-radius: 4px;
  flex: 0 0 35px;
  display: flex;
  align-items: center;
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  text-align: center;
  color: var(--black2);
  justify-content: center;
}

.words-prev {
  margin-top: 40px;
}

.words-prev i {
  display: flex;
  transform: rotate(225deg);
}

.words-prev a {
  gap: 9px;
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  text-align: center;
  color: var(--blueviolet);
}

.words-prev a span {
  transition: 0.3s;
}

.words-prev:hover a span {
  color: var(--black2);
}

.words-prev:hover i {
  background: var(--black2);
}

.articles-prev a span {
  transition: 0.3s;
}

.articles-prev i {
  display: flex;
  margin-top: 2px;
  transform: rotate(225deg);
  transition: 0.3s;
}

.articles-prev a {
  gap: 9px;
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  text-align: center;
  color: var(--blueviolet);
}

.articles-prev:hover a span {
  color: var(--black2);
}

.articles-prev:hover i {
  background: var(--black2);
}

.modal-verbs {
  margin-top: 40px;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
}

.modal-verb {
  padding: 24px;
  border-radius: 12px;
  background: var(--white2);
  box-shadow: 0px 0px 16px 0px var(--light-black);
  max-width: 285px;
  width: 100%;
  gap: 5px;
  transition: 0.3s;
}

.modal-verb:hover {
  background: var(--blueviolet);
}

.modal-verb:hover p {
  color: var(--black);
}

.modal-verb:hover .grammar-arrow {
  background: var(--black);
}

.modal-verb p {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: var(--blueviolet);
  width: 100%;
  max-width: 209px;
  transition: 0.3s;
}

.modal-verb .grammar-arrow {
  margin-top: 5px;
  margin-left: auto;
  transition: 0.3s;
}

.articles-list {
  margin-top: 40px;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
}

.articles-item {
  padding: 24px;
  border-radius: 12px;
  background: var(--white2);
  box-shadow: 0px 0px 16px 0px var(--light-black);
  flex: 1 1 49%;
  width: 100%;
  gap: 5px;
  transition: 0.3s;
}

.articles-item p {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: var(--blueviolet);
  width: 100%;
  transition: 0.3s;
}

.articles-item:hover {
  background: var(--blueviolet);
}

.articles-item:hover p {
  color: var(--black);
}

.articles-item:hover .grammar-arrow {
  background: var(--black);
}

.articles-item-mobile {
  display: none;
}

.articles-item .grammar-arrow {
  margin-top: 5px;
  margin-left: auto;
}

.articles-description {
  gap: 24px;
  max-width: 940px;
  margin: 40px auto 0;
}

.articles-description p {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: var(--black2);
}

.articles-description p span {
  margin-left: 20px;
  display: block;
  position: relative;
}

.articles-description p span::after {
  content: "";
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--black2);
  left: -14px;
  top: 50%;
  transform: translateY(-50%);
}

.practice-items {
  flex-wrap: wrap;
  margin-top: 40px;
  gap: 20px;
  justify-content: center;
}

.practice-item {
  padding: 12px 36px;
  max-width: 285px;
  width: 100%;
  min-height: 100px;
  border-radius: 12px;
  box-shadow: 0px 0px 16px 0px var(--light-black);
  background: var(--white2);
  gap: 4px;
  transition: 0.3s;
}

.practice-small-item {
  max-width: 224px;
}

.practice-icon {
  max-width: 24px;
  width: 100%;
  height: 24px;
}

.practice-item p {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  text-align: center;
  color: var(--black2);
  transition: 0.3s;
}

.practice-item b {
  font-weight: 700;
}

.practice-item:hover {
  background: var(--blueviolet);
  color: var(--white2);
}

.practice-item:hover p {
  color: var(--white2);
}

.topic-items {
  flex-wrap: wrap;
  margin-top: 40px;
  gap: 20px;
  justify-content: center;
}

.topic-item {
  padding: 12px 36px;
  max-width: 285px;
  width: 100%;
  min-height: 100px;
  border-radius: 12px;
  box-shadow: 0px 0px 16px 0px var(--light-black);
  background: var(--white2);
  gap: 4px;
  transition: 0.3s;
}

.topic-icon {
  max-width: 24px;
  width: 100%;
  height: 24px;
}

.topic-item p {
  font-weight: 400;
  font-size: 16px;
  line-height: 22px;
  text-align: center;
  color: var(--black2);
}

.topic-item b {
  font-weight: 700;
}

.topic-item:hover {
  background: var(--blueviolet);
}

.dictionary-letters {
  padding: 24px 141px 24px 24px;
  border-radius: 12px;
  background: var(--white2);
  box-shadow: 0px 0px 16px 0px var(--light-black);
  margin-bottom: 40px;
  margin-top: 40px;
  flex-wrap: wrap;
  column-gap: 24px;
  row-gap: 16px;
}

.dictionary-details-letters {
  padding: 24px 40px 24px 24px;
  border-radius: 12px;
  background: var(--white2);
  box-shadow: 0px 0px 16px 0px var(--light-black);
  flex-wrap: wrap;
  column-gap: 24px;
  row-gap: 16px;
  max-width: 940px;
  margin: 40px auto 40px auto;
}

.dictionary-letter {
  gap: 6px;
}

.dictionary-letter span {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: var(--black2);
  transition: 0.3s;
}

.dictionary-letter.active span {
  color: var(--gray2);
}

.dictionary-letter i {
  transition: 0.3s;
}

.dictionary-letter.active i {
  background: var(--gray2);
}

.dictionary-letter:hover span {
  color: var(--blueviolet);
}

.dictionary-letter:hover i {
  background: var(--blueviolet);
}

.black-arrow {
  font-size: 10px;
  background: var(--black2);
  flex: 0 0 10px;
}

.dictionary-table {
  max-width: 940px;
  width: 100%;
  margin: 40px auto 0;
  gap: 6px;
  align-items: center;
}

.dictionary-table-titles {
  gap: 6px;
  width: 100%;
}

.dictionary-table-title {
  padding: 10px 20px;
  font-weight: 700;
  font-size: 18px;
  line-height: 24px;
  text-align: center;
  color: var(--black2);
  background: var(--light-blueviolet);
  border-radius: 4px;
  max-width: 300px;
  width: 100%;
}

.dictionary-big-title {
  padding: 10px 20px;
  font-weight: 700;
  font-size: 18px;
  line-height: 24px;
  text-align: center;
  color: var(--black2);
  background: var(--light-blueviolet);
  border-radius: 4px;
  max-width: 634px;
  width: 100%;
}

.dictionary-row {
  gap: 6px;
  width: 100%;
}

.dictionary-bold-item {
  font-weight: 600;
  border: 1px solid var(--gray2);
  border-radius: 4px;
  padding: 10px 20px;
  font-size: 18px;
  line-height: 24px;
  text-align: center;
  display: flex;
  align-items: center;
  max-width: 300px;
  width: 100%;
  justify-content: center;
}

.dictionary-word-item {
  border: 1px solid var(--gray2);
  border-radius: 4px;
  padding: 10px 20px;
  font-size: 18px;
  line-height: 24px;
  text-align: center;
  font-weight: 400;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 634px;
  width: 100%;
}

.tests-categories-items {
  margin-top: 40px;
}

.tests-result-info {
  max-width: 940px;
  margin: 40px auto 0;
}

.tests-cnt > :not(:last-child) {
  margin: 0 0 20px 0;
}

.tests-cnt-info > :not(:last-child) {
  margin: 0 0 20px 0;
}

.tests-cnt {
  max-width: 940px;
  margin: 40px auto 0;
}

.test-item {
  padding: 24px;
  border-radius: 12px;
  box-shadow: 0px 0px 16px 0px var(--light-black);
  background: var(--white2);
  width: 100%;
}

.good-request {
  background: var(--light-green);
}

.bad-request {
  background: var(--light-red);
}

.test-item h3 {
  font-weight: 600;
  font-size: 20px;
  color: var(--black2);
  line-height: 24px;
}

.test-questions {
  margin-top: 24px;
}

.test-questions > :not(:last-child) {
  margin: 0 0 17px 0;
}

.test-question {
  gap: 12px;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.question-icon {
  width: 19px;
  height: 19px;
  border-radius: 50%;
  border: 2px solid var(--gray);
  flex: 0 0 19px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
}

.question-icon i {
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}

.test-question.active .question-icon {
  background: var(--blueviolet);
  border: 2px solid transparent;
}

.test-question:hover .question-icon {
  background: var(--blueviolet);
  border: 2px solid transparent;
}

.test-question.active .question-icon i {
  opacity: 1;
  visibility: visible;
  font-size: 11px;
}

.test-question p {
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: var(--gray);
}

.tests-btn {
  margin-top: 40px;
}

.test-result {
  padding: 24px;
  background: var(--white2);
  margin-top: 20px;
  border-radius: 12px;
}

.test-result h3 {
  font-weight: 600;
  font-size: 20px;
  line-height: 24px;
  color: var(--black2);
  margin-top: 24px;
  padding: 0 0 12px 0;
}

.test-result h2 {
  font-weight: 600;
  font-size: 20px;
  line-height: 24px;
  color: var(--black2);
  padding: 0 0 8px 0;
}

.test-result > p {
  gap: 4px;
  display: flex;
  align-items: center;
  margin-top: 4px;
}

.test-result p > span {
  font-weight: 700;
  font-size: 18px;
  line-height: 24px;
  color: var(--blueviolet);
}

.test-result p {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: var(--black2);
}

.test-result b {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: var(--black2);
  margin-top: 12px;
  display: block;
}

.close-results {
  margin-top: 24px;
}

.topic-information-items {
  max-width: 940px;
  margin: 40px auto 0;
}

.topic-information-items > :not(:last-child) {
  margin: 0 0 40px 0;
}

.topic-information-item > :not(:last-child) {
  margin: 0 0 20px 0;
}

.topic-information-item h3 {
  font-weight: 700;
  font-size: 18px;
  color: var(--black2);
  line-height: 24px;
}

.topic-information-item p {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: var(--black2);
}

.idioms-next {
  margin-top: 40px;
}

.idioms-ifo-items {
  gap: 20px;
  max-width: 940px;
  margin: 40px auto 0;
}

.idioms-ifo-item {
  gap: 24px;
  padding: 24px;
  background: var(--white2);
  border-radius: 12px;
  box-shadow: 0px 0px 16px 0px var(--light-black);
}

.idioms-ifo-item h3 {
  font-weight: 600;
  font-size: 20px;
  line-height: 24px;
  color: var(--blueviolet);
}

.idioms-ifo-item p {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: var(--black2);
}

.expressions-table {
  max-width: 732px;
  width: 100%;
  margin: 40px auto 0;
  gap: 6px;
  align-items: center;
}

.exam-links-list {
  margin-top: 40px;
  gap: 20px;
}

.exam-links-item {
  padding: 24px;
  background: var(--white2);
  border-radius: 12px;
  box-shadow: 0px 0px 16px 0px var(--light-black);
}

.audio-player-item {
  padding: 24px;
  background: var(--white2);
  border-radius: 12px;
  box-shadow: 0px 0px 16px 0px var(--light-black);
}

.exam-links-item h3 {
  font-weight: 600;
  font-size: 20px;
  line-height: 24px;
  color: var(--black2);
}

.audio-player-item h3 {
  font-weight: 600;
  font-size: 20px;
  line-height: 24px;
  color: var(--black2);
}
.lesson-card-play {
  cursor: pointer;
}
.course_teksts_audio {
  width: 95%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 10px;
}
.exam-links {
  margin-top: 20px;
  column-gap: 24px;
  row-gap: 12px;
  flex-wrap: wrap;
}

.exam-links a {
  gap: 6px;
  display: flex;
  align-items: start;
}

.exam-links a:hover span {
  color: var(--blueviolet);
}

.exam-links a:hover i {
  background: var(--blueviolet);
}

.exam-links a i {
  margin-top: 7px;
  transition: 0.3s;
}

.exam-links a span {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: var(--black2);
  transition: 0.3s;
}

.p-24 {
  padding: 24px 36px;
}

.exam-dots-text {
  margin-top: 24px;
}

.exam-dots-text span {
  display: block;
  position: relative;
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  margin-left: 14px;
  color: var(--black2);
}

.exam-dots-text span::before {
  content: "";
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--black2);
  left: -14px;
  top: 50%;
  transform: translateY(-50%);
}

.exam-links-item p {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: var(--black2);
  /* margin-top: 24px; */
}

.audio-player {
  margin-top: 24px;
  background: var(--wheat);
  border-radius: 1000px;
  width: 100%;
  height: 48px;
}

.audio-player-results {
  margin-top: 24px;
}

.audio-player-results > :not(:last-child) {
  margin: 0 0 30px 0;
}

.audio-player-result h3 {
  font-weight: 700;
  font-size: 18px;
  line-height: 24px;
  color: var(--black2);
}

.text-blueviolet {
  color: var(--blueviolet);
}

.audio-player-result p {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: var(--black2);
}

.answers {
  margin-top: 24px;
  gap: 24px;
  flex-wrap: wrap;
}

.answers p {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: var(--black2);
  cursor: pointer;
}

.exam-tools {
  margin-top: 24px;
  gap: 12px;
}

.crosswords-cnt {
  margin-top: 40px;
}

.crosswords-cnt h3 {
  font-weight: 600;
  font-size: 28px;
  line-height: 32px;
  text-align: center;
  color: var(--black2);
}

.crosswords-items {
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 32px;
}

.crosswords-item {
  max-width: 182px;
  width: 100%;
  min-height: 100px;
  border-radius: 12px;
  padding: 12px 36px;
  background: var(--white2);
  box-shadow: 0px 0px 16px 0px var(--light-black);
  gap: 4px;
  transition: 0.3s;
}

.crosswords-item p {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  text-align: center;
  color: var(--black2);
}

.crosswords-item:hover {
  background: var(--blueviolet);
}

.crossword-icon {
  max-width: 24px;
  height: 24px;
  width: 100%;
}

.poems-player {
  margin-top: 40px;
}

.poems-items {
  border-radius: 12px;
  background: var(--white2);
  box-shadow: 0px 0px 16px 0px var(--light-black);
  padding: 24px;
  display: flex;
  max-width: 940px;
  margin: 40px auto 0;
  gap: 124px;
}

.poems-item {
}

.poems-item h3 {
  font-weight: 600;
  font-size: 18px;
  line-height: 24px;
  color: var(--blueviolet);
}

.poem-texts {
  margin-top: 10px;
}

.poem-texts > :not(:last-child) {
  margin: 0 0 20px 0;
}

.poem-texts p {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: var(--black2);
  max-width: 300px;
}

.riddles-items {
  margin-top: 40px;
  gap: 20px;
  flex-wrap: wrap;
}

.riddles-item {
  padding: 24px;
  border-radius: 12px;
  background: var(--white2);
  max-width: 590px;
  width: 100%;
  gap: 24px;
  min-height: 288px;
  display: flex;
  flex-direction: column;
}

.riddles-item-texts {
  gap: 24px;
  justify-content: space-between;
  flex: 1 1 auto;
}

.riddles-item-texts b {
  font-weight: 600;
  font-size: 18px;
  line-height: 24px;
  color: var(--black2);
  max-width: 190px;
}

.riddles-item-texts p {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: var(--black2);
  max-width: 220px;
}

.riddles-item-texts span {
  font-weight: 600;
  font-size: 18px;
  line-height: 24px;
  margin-top: 20px;
  color: var(--gray);
  opacity: 0;
  visibility: hidden;
  max-height: 0;
  transition: 0.3s;
  display: block;
}

.riddles-item-texts.active span {
  opacity: 1;
  visibility: visible;
  max-height: 200px;
}

.video-cnt {
  max-width: 732px;
  margin: 40px auto 40px auto;
  min-height: 420px;
  width: 100%;
  box-shadow: 0px 0px 16px 0px var(--light-black);
  background: var(--white2);
  border-radius: 12px;
}

.proverbs-items {
  max-width: 940px;
  margin: 40px auto 0;
}

.proverbs-items > :not(:last-child) {
  margin: 0 0 20px 0;
}

.proverbs-item {
  padding: 24px;
  background: var(--white2);
  border-radius: 12px;
  box-shadow: 0px 0px 16px 0px var(--light-black);
  width: 100%;
}

.proverbs-item h3 {
  font-weight: 600;
  font-size: 20px;
  line-height: 24px;
  color: var(--blueviolet);
}

.proverbs-item-texts {
  margin-top: 24px;
}

.proverbs-item-texts > :not(:last-child) {
  margin: 0 0 12px 0;
}

.proverbs-item-texts p {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: var(--black2);
}

.proverbs-item-texts b {
  font-weight: 700;
}

.category-header p {
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: var(--gray);
  margin-top: 20px;
  text-align: center;
}

@media (max-width: 1400px) {
}

@media (max-width: 1250px) {
  .riddles-items {
    justify-content: center;
    gap: 12px;
  }
}

@media (max-width: 1200px) {
}

@media (max-width: 992px) {
}

@media (max-width: 768px) {
  .bread-crumbs-back {
    position: initial;
  }

  .practice-item {
    padding: 12px;
    max-width: 100%;
    min-height: 107px;
    flex: 1 1 48.1%;
    gap: 8px;
  }

  .practice-big-item {
    max-width: 100%;
    flex: 1 1 auto;
  }

  .practice-small-item {
    max-width: 160px;
  }

  .practice-item p {
    font-size: 14px;
    line-height: 120%;
    text-align: center;
  }

  .topic-item {
    padding: 12px;
    max-width: 160px;
    min-height: 107px;
    gap: 8px;
  }

  .topic-item p {
    font-size: 14px;
    line-height: 120%;
    text-align: center;
  }

  .practice-items {
    margin-top: 24px;
    gap: 12px;
  }

  .topic-items {
    margin-top: 24px;
    gap: 12px;
  }

  .bread-crumbs-body {
    flex-direction: column;
    justify-content: stretch;
    align-items: stretch;
  }

  .bread-crumbs-section {
    margin-top: 98px;
  }

  .word-item {
    font-size: 14px;
    line-height: 120%;
    text-align: center;
    padding: 7px 10px;
    min-width: 108px;
    width: 100%;
  }

  .dictionary-word-item {
    font-size: 14px;
    line-height: 120%;
    text-align: center;
    padding: 7px 10px;
    min-width: 108px;
    width: 100%;
  }

  .word-bold-item {
    min-width: 108px;
    font-size: 14px;
    line-height: 120%;
    text-align: center;
    padding: 7px 10px;
    width: 100%;
  }

  .dictionary-bold-item {
    font-size: 14px;
    line-height: 120%;
    text-align: center;
    padding: 7px 10px;
    width: 100%;
  }

  .words-table-title {
    font-size: 12px;
    line-height: 120%;
    text-align: center;
    min-width: 108px;
    padding: 7px 10px;
    width: 100%;
  }

  .dictionary-table-title {
    font-size: 12px;
    line-height: 120%;
    text-align: center;
    width: 100%;
  }

  .dictionary-big-title {
    font-size: 12px;
    line-height: 120%;
    text-align: center;
    width: 100%;
  }

  .words-table-titles {
    width: 100%;
  }

  .words-row {
    width: 100%;
  }

  .dictionary-letters {
    padding: 24px 12px;
  }

  .poems-items {
    margin: 20px auto 0;
    gap: 24px;
    flex-direction: column;
  }

  .poem-texts p {
    max-width: 100%;
  }
}

@media (max-width: 576px) {
  .category-titles .section-title {
    text-align: start;
  }

  .category-header .section-title {
    text-align: start;
  }

  .category-null-body {
    min-height: 440px;
  }

  .beginner-level-item {
    padding: 24px 12px;
  }

  .beginner-links a {
    font-weight: 400;
    font-size: 14px;
    line-height: 120%;
  }

  .beginner-links {
    margin-top: 12px;
  }

  .beginner-level-item h2 {
    font-size: 16px;
    line-height: 22px;
  }

  .bread-crumbs-menu ul {
    gap: 7px;
  }

  .bread-crumbs-menu ul li a {
    font-size: 14px;
    line-height: 120%;
  }

  .bread-crumbs-menu ul li i {
    font-size: 7px;
  }

  .bread-crumbs-back {
    width: 24px;
    height: 24px;
    border-radius: 2px;
  }

  .bread-icon-back {
    font-size: 8px;
  }

  .module-back {
    justify-content: stretch;
  }

  .module-back a {
    width: 100%;
  }

  .modal-verb {
    max-width: 100%;
    flex: 1 1 auto;
  }

  .module-back a span {
    font-size: 14px;
    line-height: 120%;
  }

  .module-back a i {
    margin-left: auto;
  }

  .words-table-title {
    padding: 10px 4px;
  }

  .dictionary-table {
    margin: 24px auto 0;
  }

  .tests-categories-items {
    margin-top: 24px;
  }

  .expressions-table {
    margin: 24px auto 0;
  }

  .words-next {
    align-items: stretch;
    justify-content: stretch;
  }

  .articles-next {
    align-items: stretch;
    justify-content: stretch;
  }

  .articles-next a {
    width: 100%;
    font-size: 14px;
    line-height: 120%;
  }

  .articles-next a span {
    display: block;
    text-align: start;
  }

  .words-next a {
    width: 100%;
    font-size: 14px;
    line-height: 120%;
    text-align: start;
  }

  .articles-next i {
    margin-left: auto;
  }

  .words-next i {
    margin-left: auto;
  }

  .words-prev a {
    font-size: 14px;
    line-height: 120%;
  }

  .articles-prev a {
    font-size: 14px;
    line-height: 120%;
  }

  .grammar-titles p {
    font-size: 18px;
    line-height: 24px;
  }

  .grammar-item {
    padding: 24px 12px;
  }

  .grammar-link span {
    font-size: 14px;
    line-height: 120%;
  }

  .grammar-link i {
    margin-top: 5px;
    margin-left: auto;
  }

  .grammar-items {
    margin-top: 24px;
  }

  .grammar-first-link {
    font-size: 14px;
    line-height: 120%;
  }

  .beginner-link-icon {
    margin-top: 5px;
  }

  .grammar-links {
    margin-top: 12px;
  }

  .grammar-description {
    gap: 12px;
  }

  .grammar-details-cnt {
    margin: 24px auto 0;
  }

  .alphabet-table {
    margin: 36px auto 0;
  }

  .table-words p {
    font-size: 14px;
    line-height: 120%;
  }

  .table-words b {
    font-size: 14px;
    line-height: 120%;
  }

  .table-number {
    font-size: 14px;
  }

  .words-prev {
    margin-top: 24px;
  }

  .modal-verbs-titles p {
    margin-top: 24px;
  }

  .modal-verbs {
    margin-top: 24px;
    gap: 12px;
  }

  .articles-list {
    margin-top: 24px;
    gap: 12px;
  }

  .modal-verb p {
    font-size: 14px;
    line-height: 120%;
  }

  .articles-item {
    font-size: 14px;
    line-height: 120%;
  }

  .grammar-sub-link {
    font-size: 14px;
    line-height: 120%;
  }

  .grammar-sub-link {
    margin-left: 24px;
  }

  .grammar-sub-link::after {
    left: -14px;
  }

  .grammar-sub-link::before {
    left: -24px;
  }

  .articles-description {
    margin: 24px auto 0;
  }

  .articles-description p {
    font-size: 16px;
    line-height: 22px;
  }

  .articles-item p {
    font-size: 14px;
    line-height: 120%;
  }

  .articles-item-mobile {
    display: flex;
    align-items: center;
  }

  .articles-item-mobile .read-more-icon {
    transform: rotate(0);
  }

  .dictionary-letter span {
    font-size: 14px;
    line-height: 120%;
  }

  .dictionary-letters {
    margin-bottom: 24px;
    margin-top: 24px;
  }

  .category-info-section {
    margin-top: 27px;
  }

  .dictionary-details-letters {
    padding: 24px 12px;
    margin: 24px auto 24px auto;
  }

  .dictionary-prev {
    justify-content: flex-start;
  }

  .dictionary-prev span {
    text-align: start;
    display: block;
  }

  .tests-cnt > :not(:last-child) {
    margin: 0 0 12px 0;
  }

  .tests-cnt-info > :not(:last-child) {
    margin: 0 0 12px 0;
  }

  .tests-btn {
    margin-top: 24px;
  }

  .test-result p {
    font-size: 16px;
    line-height: 22px;
  }

  .test-result b {
    font-size: 16px;
    line-height: 22px;
  }

  .close-results {
    justify-content: start;
  }

  .tests-result-info {
    margin: 24px auto 0;
  }

  .topic-information-items {
    margin: 24px auto 0;
  }

  .topic-information-items > :not(:last-child) {
    margin: 0 0 24px 0;
  }

  .idioms-next {
    margin-top: 24px;
  }

  .idioms-ifo-item {
    gap: 12px;
  }

  .idioms-ifo-item p {
    margin-top: 8px;
  }

  .idioms-ifo-item p {
    font-size: 16px;
    line-height: 22px;
  }

  .idioms-ifo-items {
    margin: 24px auto 0;
  }

  .words-prev span {
    text-align: start;
  }

  .exam-links-item {
    padding: 24px 12px;
  }

  .exam-links {
    margin-top: 12px;
    gap: 12px;
  }

  .exam-links a {
    width: 100%;
  }

  .exam-links a span {
    width: 100%;
    font-size: 14px;
    line-height: 120%;
  }

  .black-arrow {
    font-size: 8px;
  }

  .exam-links-list {
    margin-top: 20px;
    gap: 12px;
  }

  .exam-dots-text span {
    font-size: 16px;
    line-height: 22px;
    margin-left: 24px;
  }

  .exam-dots-text span::before {
    top: 9px;
    transform: none;
  }

  .exam-links-item p {
    font-size: 16px;
    line-height: 22px;
  }

  .audio-player-item {
    padding: 24px 12px;
  }

  .audio-player-result h3 {
    font-size: 16px;
    line-height: 22px;
  }

  .audio-player-result p {
    font-size: 16px;
    line-height: 22px;
  }

  .answers {
    gap: 12px;
  }

  .answers p {
    font-size: 16px;
    line-height: 22px;
  }

  .exam-tools .articles-prev {
    justify-content: flex-start;
  }

  .crosswords-item p {
    font-size: 14px;
    line-height: 120%;
  }

  .crosswords-item {
    max-width: 160px;
    min-height: 107px;
    padding: 12px;
    gap: 8px;
  }

  .crosswords-items {
    gap: 12px;
    margin-top: 24px;
  }

  .crosswords-cnt h3 {
    font-size: 26px;
    line-height: 30px;
  }

  .category-header p {
    text-align: start;
    margin-top: 12px;
    font-size: 16px;
    line-height: 22px;
  }

  .audio-player {
    margin-top: 20px;
  }

  .riddles-item-texts {
    gap: 12px;
    flex-direction: column;
  }

  .riddles-item-texts span {
    font-size: 16px;
    line-height: 22px;
    margin-top: 12px;
  }

  .riddles-item-texts b {
    font-size: 16px;
    line-height: 22px;
  }

  .riddles-item-texts p {
    font-size: 16px;
    line-height: 22px;
  }

  .riddle-btn button {
    font-size: 14px;
    line-height: 120%;
  }

  .riddle-btn i {
    font-size: 8px;
  }

  .video-cnt {
    max-width: 732px;
    margin: 20px auto 24px auto;
    min-height: 200px;
  }

  .proverbs-item-texts p {
    font-size: 16px;
    line-height: 22px;
  }

  .sayings-items {
    margin-top: 40px;
  }

  .sayings-items .practice-item {
    min-height: 73px;
  }

  .details-title {
    padding: 10px 16px;
    margin: 24px 0 16px 0;
  }

  .details-title span {
    font-size: 14px;
    line-height: 120%;
  }

  .words-table {
    margin: 24px auto 0;
  }

  .grammar-first-link i {
    margin-top: 4px;
  }

  .beginner-link-icon {
    flex: unset;
  }

  .desktop-links {
    display: none;
  }

  .grammar-first-link span {
    width: 100%;
  }
}

.video-cnt {
  margin: 0 auto !important;
  text-align: center;
}


/* Source: assets/css/vocabulary-catalog.css */
/* Added to the existing rlc-home.css bundle. All additions belong to this page. */
.rlc-vocab { --vocab-purple: #7950b0; }
.rlc-vocab .vocab-hero { position:relative; padding:166px 0 38px; background:var(--light-blueviolet6); border-radius:0 0 40px 40px; overflow:hidden; }
.rlc-vocab .vocab-hero::before { content:""; position:absolute; inset:0; background:url('/wp-content/themes/reallanguage-theme/assets/images/detailsHeroDecor.webp') center/cover no-repeat; pointer-events:none; }
.rlc-vocab .vocab-hero > .container { position:relative; }
.rlc-vocab .vocab-breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 25px; color:var(--gray); font-size:15px; line-height:1.4; }
.rlc-vocab .vocab-breadcrumbs a { color:var(--gray); }
.rlc-vocab .vocab-breadcrumbs a:hover { color:var(--vocab-purple); text-decoration:underline; }
.rlc-vocab .vocab-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:28px; align-items:center; }
.rlc-vocab .vocab-kicker { display:flex; align-items:center; gap:8px; margin-bottom:12px; color:var(--vocab-purple); font-size:16px; }
.rlc-vocab .vocab-kicker img { width:24px; height:24px; }
.rlc-vocab .vocab-title { font-size:40px; font-weight:600; line-height:1.08; color:var(--black2); margin:0 0 14px; max-width:790px; }
.rlc-vocab .vocab-intro { font-size:18px; line-height:1.45; color:var(--gray); margin:0; max-width:790px; }
.rlc-vocab .vocab-portrait { position:relative; width:320px; height:350px; margin:0 auto; }
.rlc-vocab .vocab-portrait-person { display:block; width:320px; height:350px; object-fit:contain; }
.rlc-vocab .vocab-hallo { position:absolute; top:-17px; right:5px; width:100px; height:auto; transform:rotate(-6deg); }
.rlc-vocab .vocab-search { margin-top:22px; position:relative; max-width:820px; }
.rlc-vocab .vocab-search-icon { position:absolute; left:18px; top:50%; width:17px; height:17px; border:2px solid var(--gray); border-radius:50%; transform:translateY(-60%); pointer-events:none; }
.rlc-vocab .vocab-search-icon::after { content:""; position:absolute; width:7px; height:2px; background:var(--gray); right:-5px; bottom:-3px; transform:rotate(45deg); }
.rlc-vocab .vocab-search input { display:block; width:100%; height:52px; padding:12px 54px 12px 48px; border:1px solid #d9cee7; border-radius:8px; background:var(--white2); color:var(--black2); font:inherit; font-size:18px; box-sizing:border-box; }
.rlc-vocab .vocab-search input::placeholder { color:#666; opacity:1; }
.rlc-vocab .vocab-search input::-webkit-search-cancel-button { display:none; }
.rlc-vocab .vocab-clear { position:absolute; right:6px; top:4px; width:44px; height:44px; font:inherit; font-size:27px; background:transparent; color:var(--gray); border:0; cursor:pointer; border-radius:6px; }
.rlc-vocab .vocab-starter { display:flex; flex-wrap:wrap; gap:5px 22px; align-items:center; margin-top:14px; font-size:17px; line-height:1.4; }
.rlc-vocab .vocab-starter strong { font-weight:600; }
.rlc-vocab .vocab-starter a { color:var(--vocab-purple); display:inline-flex; align-items:center; gap:9px; min-height:44px; }
.rlc-vocab .vocab-starter a:hover { text-decoration:underline; }
.rlc-vocab .vocab-catalog { padding:38px 14px 0; }
.rlc-vocab .vocab-section-head { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:20px; }
.rlc-vocab .vocab-section-heading { position:relative; }
.rlc-vocab .vocab-section-heading h2 { margin:0 0 4px; font-size:32px; line-height:1.15; font-weight:600; }
.rlc-vocab .vocab-section-heading p { font-size:17px; color:var(--gray); line-height:1.4; }
.rlc-vocab .vocab-count { flex-shrink:0; color:var(--vocab-purple); background:var(--light-blueviolet); padding:7px 14px; border-radius:20px; font-size:16px; }
.rlc-vocab .vocab-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.rlc-vocab .vocab-group { padding:22px 23px 14px; background:var(--white2); border-radius:14px; box-shadow:0 3px 20px #00000005; border:1px solid #ebe8ef; min-width:0; }
.rlc-vocab .vocab-group-title { display:flex; align-items:center; gap:12px; margin:0 0 13px; font-size:23px; line-height:1.15; font-weight:600; min-height:50px; }
.rlc-vocab .vocab-group-icon { display:flex; align-items:center; justify-content:center; width:48px; height:48px; flex-shrink:0; border-radius:18px 22px 16px 22px; background:var(--light-blueviolet); color:var(--vocab-purple); }
.rlc-vocab .vocab-group:nth-child(1) .vocab-group-icon { background:var(--light-rose); color:#b340a9; }
.rlc-vocab .vocab-group:nth-child(2) .vocab-group-icon { background:var(--light-blue); color:#2f73af; }
.rlc-vocab .vocab-group:nth-child(3) .vocab-group-icon { background:var(--light-red2); color:#986002; }
.rlc-vocab .vocab-group:nth-child(4) .vocab-group-icon { background:var(--light-green2); color:var(--green2); }
.rlc-vocab .vocab-group-icon svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.rlc-vocab .vocab-group ul { margin:0; padding:0; list-style:none; }
.rlc-vocab .vocab-group li + li { border-top:1px solid #eeeaf3; }
.rlc-vocab .vocab-topic { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; padding:9px 2px; box-sizing:border-box; color:var(--black2); font-size:18px; line-height:1.25; border-radius:5px; }
.rlc-vocab .vocab-topic span:last-child { color:var(--vocab-purple); flex-shrink:0; font-size:21px; }
.rlc-vocab .vocab-topic:hover { color:var(--vocab-purple); background:#f7f3fd; }
.rlc-vocab .vocab-topic:hover span:first-child { text-decoration:underline; text-underline-offset:3px; }
.rlc-vocab .vocab-empty { padding:35px; background:var(--white2); border-radius:14px; border:1px solid #ebe8ef; }
.rlc-vocab .vocab-empty h3 { margin-bottom:10px; font-size:25px; font-weight:600; }
.rlc-vocab .vocab-empty p { margin:0 0 20px; color:var(--gray); font-size:18px; }
.rlc-vocab .vocab-empty button { cursor:pointer; }
.rlc-vocab .vocab-tip { display:flex; gap:18px; margin:24px 0 15px; padding:24px; border-radius:14px; background:var(--white2); border:1px solid #ebe8ef; }
.rlc-vocab .vocab-tip h2 { margin:0 0 8px; font-size:23px; line-height:1.2; font-weight:600; }
.rlc-vocab .vocab-tip p { margin:0; color:var(--gray); font-size:18px; line-height:1.45; max-width:950px; }
.rlc-vocab .vocab-return { padding:9px 0 2px; }
.rlc-vocab .vocab-back { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:50px; padding:11px 20px; border:1px solid #d5c6e5; border-radius:6px; background:var(--white2); color:var(--vocab-purple); font-size:18px; line-height:24px; transition:background-color .15s,border-color .15s; }
.rlc-vocab .vocab-back svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.rlc-vocab .vocab-back:hover { background:var(--light-blueviolet); border-color:var(--vocab-purple); }
/* Keep the existing footer components; replace brittle fixed flex gaps. */
.rlc-vocab .footer-wrapper { max-width:1228px; padding:44px 0; }
.rlc-vocab .footer-body { display:grid; grid-template-columns:150px minmax(0,1fr) auto; gap:40px; align-items:start; }
.rlc-vocab .footer-logo-column { gap:25px; }
.rlc-vocab .footer-menu-column { display:grid; grid-template-columns:minmax(145px,1fr) minmax(190px,1.15fr); gap:32px; }
.rlc-vocab .footer-menu { min-width:0; }
.rlc-vocab .footer-menu ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 18px; max-width:none; margin-top:19px; }
.rlc-vocab .footer-menu:nth-child(2) { margin-right:0; }
.rlc-vocab .footer-menu:nth-child(2) ul { grid-template-columns:1fr; }
.rlc-vocab .footer-menu ul li a { white-space:normal; min-width:0; }
.rlc-vocab .footer-btn { white-space:nowrap; }
.rlc-vocab .footer-clue { margin-top:0; }
.rlc-vocab .footer-clue-mobile { grid-column:1/-1; }
.rlc-vocab [hidden] { display:none !important; }
.rlc-vocab .vocab-sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.rlc-vocab main a:focus-visible, .rlc-vocab main button:focus-visible, .rlc-vocab main input:focus-visible { outline:3px solid var(--vocab-purple); outline-offset:3px; }
@media (max-width:1023px) {
 .rlc-vocab .vocab-hero { padding-top:137px; }
 .rlc-vocab .vocab-hero-grid { grid-template-columns:minmax(0,1fr) 220px; gap:18px; }
 .rlc-vocab .vocab-portrait, .rlc-vocab .vocab-portrait-person { width:220px; height:280px; }
 .rlc-vocab .vocab-hallo { width:85px; top:-18px; }
 .rlc-vocab .vocab-title { font-size:36px; }
 .rlc-vocab .vocab-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .rlc-vocab .footer-body { grid-template-columns:150px minmax(0,1fr); gap:28px; }
 .rlc-vocab .footer-btn { grid-column:1/-1; justify-self:start; }
}
@media (max-width:767px) {
 .rlc-vocab .vocab-hero { padding:116px 0 24px; border-radius:0 0 24px 24px; }
 .rlc-vocab .vocab-hero::before { background-image:url('/wp-content/themes/reallanguage-theme/assets/images/detailsHeroDecorMobile.webp'); }
 .rlc-vocab .vocab-breadcrumbs { font-size:14px; margin-bottom:19px; gap:5px 7px; }
 .rlc-vocab .vocab-hero-grid { grid-template-columns:1fr; }
 .rlc-vocab .vocab-portrait { display:none; }
 .rlc-vocab .vocab-title { font-size:32px; line-height:1.08; margin-bottom:12px; }
 .rlc-vocab .vocab-kicker { display:none; }
 .rlc-vocab .vocab-intro { font-size:17px; line-height:1.4; }
 .rlc-vocab .vocab-search { margin-top:18px; }
 .rlc-vocab .vocab-search input { font-size:16px; height:50px; padding-left:45px; }
 .rlc-vocab .vocab-starter { gap:0 20px; margin-top:13px; font-size:16px; }
 .rlc-vocab .vocab-starter strong { width:100%; }
 .rlc-vocab .vocab-catalog { padding-top:25px; }
 .rlc-vocab .vocab-section-head { margin-bottom:17px; gap:10px; }
 .rlc-vocab .vocab-section-heading h2 { font-size:29px; }
 .rlc-vocab .vocab-section-heading p { font-size:16px; max-width:240px; }
 .rlc-vocab .vocab-count { font-size:15px; padding:6px 10px; }
 .rlc-vocab .vocab-grid { grid-template-columns:1fr; gap:15px; }
 .rlc-vocab .vocab-group { padding:18px 19px 12px; }
 .rlc-vocab .vocab-group-title { font-size:22px; margin-bottom:10px; }
 .rlc-vocab .vocab-topic { min-height:46px; font-size:18px; }
 .rlc-vocab .vocab-tip { padding:20px; gap:12px; }
 .rlc-vocab .vocab-tip .vocab-group-icon { display:none; }
 .rlc-vocab .vocab-tip p { font-size:17px; }
 .rlc-vocab .footer-body { grid-template-columns:1fr; gap:28px; }
 .rlc-vocab .footer-wrapper { padding:32px 0 24px; }
 .rlc-vocab .footer-menu-column { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:24px; }
 .rlc-vocab .footer-menu ul { gap:15px 12px; }
 .rlc-vocab .footer-menu ul li a { font-size:16px; }
 .rlc-vocab .footer-btn { justify-self:stretch; text-align:center; }
 .rlc-vocab .footer-clue-mobile { margin:0; justify-content:center; }
}
