/* === OPTIMIZED CSS === */
/* Variables for common SVGs */
:root {
    --arrow-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M8.24563 10.5554L12.5321 6.13514C12.7996 5.85932 12.6374 5.33203 12.2852 5.33203H3.71223C3.35996 5.33203 3.19782 5.85932 3.4653 6.13514L7.75176 10.5554C7.89383 10.702 8.10357 10.702 8.24563 10.5554Z' fill='%23353B4D'/%3E%3C/svg%3E");
    --arrow-down-orange: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M8.24563 10.5554L12.5321 6.13514C12.7996 5.85932 12.6374 5.33203 12.2852 5.33203H3.71223C3.35996 5.33203 3.19782 5.85932 3.4653 6.13514L7.75176 10.5554C7.89383 10.702 8.10357 10.702 8.24563 10.5554Z' fill='%23F7941D'/%3E%3C/svg%3E");
    --arrow-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='15' viewBox='0 0 22 15' fill='none'%3E%3Cpath d='M21.7071 8.07039C22.0976 7.67986 22.0976 7.0467 21.7071 6.65617L15.3431 0.292213C14.9526 -0.0983109 14.3195 -0.0983109 13.9289 0.292213C13.5384 0.682738 13.5384 1.3159 13.9289 1.70643L19.5858 7.36328L13.9289 13.0201C13.5384 13.4107 13.5384 14.0438 13.9289 14.4343C14.3195 14.8249 14.9526 14.8249 15.3431 14.4343L21.7071 8.07039ZM0 7.36328V8.36328H21V7.36328V6.36328H0V7.36328Z' fill='%23353B4D'/%3E%3C/svg%3E");
    --arrow-right-blue: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='15' viewBox='0 0 22 15' fill='none'%3E%3Cpath d='M21.7071 8.07039C22.0976 7.67986 22.0976 7.0467 21.7071 6.65617L15.3431 0.292213C14.9526 -0.0983109 14.3195 -0.0983109 13.9289 0.292213C13.5384 0.682738 13.5384 1.3159 13.9289 1.70643L19.5858 7.36328L13.9289 13.0201C13.5384 13.4107 13.5384 14.0438 13.9289 14.4343C14.3195 14.8249 14.9526 14.8249 15.3431 14.4343L21.7071 8.07039ZM0 7.36328V8.36328H21V7.36328V6.36328H0V7.36328Z' fill='%23293890'/%3E%3C/svg%3E");
    --star-gray: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M1.01512 5.84924L3.10739 5.44019C3.80102 5.30458 4.40487 4.88731 4.77124 4.29042L6.4235 1.59856C6.91337 0.80048 8.08663 0.800479 8.57649 1.59856L10.2288 4.29042C10.5951 4.88731 11.199 5.30458 11.8926 5.44019L13.9849 5.84924C14.9747 6.04274 15.3429 7.24944 14.626 7.95021L12.8699 9.66683C12.2677 10.2555 12.0061 11.1037 12.1739 11.9236L12.4983 13.5092C12.7054 14.5213 11.6436 15.3264 10.706 14.8682L8.61713 13.8472C7.91317 13.5032 7.08682 13.5032 6.38287 13.8472L4.29395 14.8682C3.35642 15.3264 2.29461 14.5213 2.50168 13.5092L2.82611 11.9236C2.99386 11.1037 2.73227 10.2555 2.1301 9.66683L0.373988 7.95021C-0.342901 7.24944 0.0253323 6.04274 1.01512 5.84924Z' fill='%238D8D96'/%3E%3C/svg%3E");
    --star-yellow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M1.01512 5.84924L3.10739 5.44019C3.80102 5.30458 4.40487 4.88731 4.77124 4.29042L6.4235 1.59856C6.91337 0.80048 8.08663 0.800479 8.57649 1.59856L10.2288 4.29042C10.5951 4.88731 11.199 5.30458 11.8926 5.44019L13.9849 5.84924C14.9747 6.04274 15.3429 7.24944 14.626 7.95021L12.8699 9.66683C12.2677 10.2555 12.0061 11.1037 12.1739 11.9236L12.4983 13.5092C12.7054 14.5213 11.6436 15.3264 10.706 14.8682L8.61713 13.8472C7.91317 13.5032 7.08682 13.5032 6.38287 13.8472L4.29395 14.8682C3.35642 15.3264 2.29461 14.5213 2.50168 13.5092L2.82611 11.9236C2.99386 11.1037 2.73227 10.2555 2.1301 9.66683L0.373988 7.95021C-0.342901 7.24944 0.0253323 6.04274 1.01512 5.84924Z' fill='%23FECB00'/%3E%3C/svg%3E");
    --breadcrumb-arrow: url("data:image/svg+xml,%3Csvg width='5' height='7' viewBox='0 0 5 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.784656 6.62366L0.000656307 5.84666L2.57666 3.31266L0.000656307 0.778656L0.784656 0.00165594L4.09566 3.31266L0.784656 6.62366Z' fill='%23646F8B'/%3E%3C/svg%3E");
    --close-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 6.11942L18 18M6 17.8806L18 6' stroke='%23646F8B' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
    --check-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M11.4361 2.05601C10.7678 2.20198 10.4419 2.40217 9.62322 3.16541C8.94653 3.79518 8.89223 3.83689 8.58312 3.95367C8.39515 4.02457 8.19465 4.04542 7.41353 4.07879C6.37343 4.12049 6.14787 4.1622 5.67168 4.39159C5.10359 4.66685 4.66082 5.10895 4.37678 5.6845C4.14703 6.14745 4.10526 6.38101 4.06349 7.42368C4.03008 8.2036 4.00919 8.40379 3.93818 8.59147C3.82122 8.9001 3.78363 8.95015 3.12364 9.65916C2.48037 10.3432 2.27987 10.6434 2.11278 11.1481C2.01671 11.4359 2 11.5485 2 12.0031C2 12.4577 2.01671 12.5703 2.11278 12.8581C2.27987 13.3627 2.48037 13.663 3.12364 14.347C3.78363 15.056 3.82122 15.1061 3.93818 15.4147C4.00919 15.6024 4.03008 15.8026 4.06349 16.5825C4.10526 17.6252 4.14703 17.8587 4.37678 18.3217C4.66082 18.8972 5.10359 19.3393 5.67168 19.6146C6.14787 19.844 6.37343 19.8857 7.41353 19.9274C8.19465 19.9608 8.39515 19.9816 8.58312 20.0525C8.89223 20.1693 8.94236 20.2068 9.65246 20.8658C9.99916 21.1869 10.4002 21.5206 10.5464 21.6082C11.482 22.1629 12.7143 22.1253 13.604 21.5164C13.7084 21.4413 14.076 21.1244 14.4185 20.8032C15.3083 19.9774 15.2999 19.9816 16.5948 19.9274C17.3425 19.8982 17.5973 19.8732 17.848 19.8023C18.8045 19.5312 19.5397 18.7971 19.8112 17.842C19.8822 17.5918 19.9073 17.3374 19.9365 16.5825C19.9699 15.8026 19.9908 15.6024 20.0618 15.4147C20.1788 15.1061 20.2164 15.056 20.8764 14.347C21.5196 13.663 21.7201 13.3627 21.8872 12.8581C21.9833 12.5703 22 12.4577 22 12.0031C22 11.5485 21.9833 11.4359 21.8872 11.1481C21.7201 10.6434 21.5196 10.3432 20.8764 9.65916C20.2164 8.95015 20.1788 8.9001 20.0618 8.59147C19.9908 8.40379 19.9699 8.2036 19.9365 7.42368C19.8947 6.38101 19.853 6.14745 19.6232 5.6845C19.3434 5.10895 18.9048 4.67103 18.3283 4.39159C17.8647 4.1622 17.6307 4.12049 16.5948 4.07879C15.2999 4.02457 15.3083 4.02874 14.4185 3.20294C14.076 2.8818 13.7084 2.56483 13.604 2.48976C12.9942 2.07269 12.142 1.90169 11.4361 2.05601Z' fill='%23F7941D'/%3E%3C/svg%3E");
    --check-icon-blue: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M11.4361 2.05601C10.7678 2.20198 10.4419 2.40217 9.62322 3.16541C8.94653 3.79518 8.89223 3.83689 8.58312 3.95367C8.39515 4.02457 8.19465 4.04542 7.41353 4.07879C6.37343 4.12049 6.14787 4.1622 5.67168 4.39159C5.10359 4.66685 4.66082 5.10895 4.37678 5.6845C4.14703 6.14745 4.10526 6.38101 4.06349 7.42368C4.03008 8.2036 4.00919 8.40379 3.93818 8.59147C3.82122 8.9001 3.78363 8.95015 3.12364 9.65916C2.48037 10.3432 2.27987 10.6434 2.11278 11.1481C2.01671 11.4359 2 11.5485 2 12.0031C2 12.4577 2.01671 12.5703 2.11278 12.8581C2.27987 13.3627 2.48037 13.663 3.12364 14.347C3.78363 15.056 3.82122 15.1061 3.93818 15.4147C4.00919 15.6024 4.03008 15.8026 4.06349 16.5825C4.10526 17.6252 4.14703 17.8587 4.37678 18.3217C4.66082 18.8972 5.10359 19.3393 5.67168 19.6146C6.14787 19.844 6.37343 19.8857 7.41353 19.9274C8.19465 19.9608 8.39515 19.9816 8.58312 20.0525C8.89223 20.1693 8.94236 20.2068 9.65246 20.8658C9.99916 21.1869 10.4002 21.5206 10.5464 21.6082C11.482 22.1629 12.7143 22.1253 13.604 21.5164C13.7084 21.4413 14.076 21.1244 14.4185 20.8032C15.3083 19.9774 15.2999 19.9816 16.5948 19.9274C17.3425 19.8982 17.5973 19.8732 17.848 19.8023C18.8045 19.5312 19.5397 18.7971 19.8112 17.842C19.8822 17.5918 19.9073 17.3374 19.9365 16.5825C19.9699 15.8026 19.9908 15.6024 20.0618 15.4147C20.1788 15.1061 20.2164 15.056 20.8764 14.347C21.5196 13.663 21.7201 13.3627 21.8872 12.8581C21.9833 12.5703 22 12.4577 22 12.0031C22 11.5485 21.9833 11.4359 21.8872 11.1481C21.7201 10.6434 21.5196 10.3432 20.8764 9.65916C20.2164 8.95015 20.1788 8.9001 20.0618 8.59147C19.9908 8.40379 19.9699 8.2036 19.9365 7.42368C19.8947 6.38101 19.853 6.14745 19.6232 5.6845C19.3434 5.10895 18.9048 4.67103 18.3283 4.39159C17.8647 4.1622 17.6307 4.12049 16.5948 4.07879C15.2999 4.02457 15.3083 4.02874 14.4185 3.20294C14.076 2.8818 13.7084 2.56483 13.604 2.48976C12.9942 2.07269 12.142 1.90169 11.4361 2.05601Z' fill='%23293890'/%3E%3C/svg%3E");
}

/* === RESET & BASE === */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var,
b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
*, *::after, *::before { padding: 0; margin: 0; box-sizing: border-box; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
body { line-height: 1; background: #F6F6F6; }
ul, ol { list-style: none; }
a { color: inherit; text-decoration: none; font-size: 100%; vertical-align: baseline; background: transparent; }

/* Typography & Base Elements */
html, body {
    color: #353B4D;
    font-family: 'Manrope', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 22px;
    scroll-behavior: smooth;
}
* { -webkit-tap-highlight-color: transparent; }
input, select { vertical-align: middle; }
input[type="checkbox"], input[type="radio"] {
    width: 14px;
    height: 14px;
    accent-color: #293890;
    vertical-align: middle;
}
strong { font-weight: 700; }

/* Headings */
.title-h1 { font-weight: 700; font-size: 58px; line-height: 64px; }
h2 { font-weight: 700; font-size: 52px; line-height: 62px; }
h3 { font-weight: 700; font-size: 40px; line-height: 48px; }
h1, h4 { font-weight: 700; font-size: 28px; line-height: 36px; }
h5 { font-weight: 700; font-size: 22px; line-height: 28px; }
.title { font-weight: 700; font-size: 62px; line-height: 74px; }

/* Links */
p > a { color: #293890; }
p > a:not(:hover) { text-decoration: underline; }

/* Container */
:root {
    --ranok-container-max: 1312px;
    --ranok-container-padding: 16px;
    --ranok-header-inner-max: 1280px;
}
.container {
    max-width: var(--ranok-container-max);
    padding: 0 var(--ranok-container-padding);
    margin: 0 auto;
}

/* Buttons */
.btn, .btn-2, .btn-3, .btn-4, .btn-5, .btn-6, .btn-7, .btn-8, button {
    background-color: transparent;
    cursor: pointer;
    border: none;
    outline: none;
    transition: all .2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-family: 'Manrope', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 22px;
}
.btn { padding: 16px 32px; border-radius: 16px; background: #293890; min-height: 50px; }
.btn:hover { color: #293890; background-color: #EBEEF5; }
.btn-2 { padding: 9px; border-radius: 8px; background: #EBEEF5; color: #293890; min-height: 42px; }
.btn-2:hover { color: #fff; background-color: #293890; }
.btn-3 { padding: 14px; border-radius: 12px; background: #F7941D; min-height: 50px; color: #353B4D; }
.btn-3:hover { background-color: #EBEEF5; }
.btn-4 { padding: 14px; border-radius: 12px; background: #fff; min-height: 50px; color: #353B4D; }
.btn-4:hover { background-color: #F7941D; }
.btn-5 { padding: 13px 27px; border-radius: 12px; border: 1px solid #C0C5D4; min-height: 52px; gap: 8px; color: #C0C5D4; }
.btn-5:hover { background-color: #F6F6F6; border-color: #F6F6F6; color: #293890; }
.btn-6 { padding: 13px 27px; border-radius: 12px; border: 1px solid #293890; min-height: 52px; gap: 8px; color: #293890; }
.btn-6:hover { background-color: #293890; color: #F6F6F6; }
.btn-7 { padding: 9px; border-radius: 8px; border: 1px solid #C0C5D4; min-height: 44px; gap: 8px; color: #8D8D96; font-size: 14px; font-weight: 500; line-height: 18px; background-color: #F6F6F6; }
.btn-7:hover { background-color: #C0C5D4; }
.btn-8 { padding: 9px 34px; border-radius: 8px; min-height: 44px; gap: 8px; color: #353B4D; background-color: #DDD; }
.btn-8:hover { background-color: #293890; color: #fff; }

/* Form Elements */
label { color: #8D8D96; font-family: 'Manrope', sans-serif; font-size: 14px; font-weight: 400; line-height: 18px; }
textarea, input, textarea::placeholder, input::placeholder {
    font-family: 'Manrope', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 22px;
    color: #8D8D96;
}
textarea, input {
    color: #353B4D;
    border: none;
    outline: none;
    background-color: transparent;
    width: 100%;
    padding: 13px 20px;
    height: 44px;
    border-radius: 16px;
    background: #EBEEF5;
}
textarea { resize: none; height: 149px; }

/* Checkbox/Radio alignment */
.contact__form-radios label, .contact__form-radios .checkbox, .contact__form-radios .radio {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.contact__form-radios input[type="checkbox"], .contact__form-radios input[type="radio"] { margin: 0; }
.contact__form-radios .radio + .radio { margin-left: 0; }

/* BuddyPress Widgets */
#buddypress .widget input[type="checkbox"], #buddypress .widget input[type="radio"] { margin: 0 6px 0 0; }
#buddypress .widget .radio + .radio { margin-left: 0; }
#buddypress .widget label { display: inline-flex; align-items: flex-start; gap: 6px; line-height: 20px; }
#buddypress .widget ul li { display: flex; align-items: flex-start; gap: 6px; min-height: 22px; }
#buddypress .widget input[type="checkbox"], #buddypress .widget input[type="radio"] { margin-top: 2px; }

/* Breadcrumbs */
.breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
}
.breadcrumbs li { display: flex; align-items: center; gap: 8px; }
.breadcrumbs li:not(:first-of-type)::before {
    content: '';
    display: inline-block;
    width: 5px;
    min-width: 5px;
    height: 7px;
    background-image: var(--breadcrumb-arrow);
    background-repeat: no-repeat;
    background-size: contain;
}
.breadcrumbs li a { color: #646F8B; font-size: 14px; font-weight: 500; line-height: 18px; display: flex; align-items: center; max-width: max-content; transition: all .2s ease; }
.breadcrumbs li a:hover, .breadcrumbs li:last-of-type a { color: #353B4D; }

/* SVG Hover helpers */
.btn:hover svg path[fill] { fill: #293890; }
.btn:hover svg path[stroke] { stroke: #293890; }
.btn-2:hover svg path[fill] { fill: #fff; }
.btn-2:hover svg path[stroke] { stroke: #fff; }
.btn-5:hover svg path[fill] { fill: #293890; }
.btn-5:hover svg path[stroke] { stroke: #293890; }
.btn-6:hover svg path[fill] { fill: #F6F6F6; }
.btn-6:hover svg path[stroke] { stroke: #F6F6F6; }

/* === CAPTURE & CERTIFICATE === */
#capture {
    display: block;
    margin: 0 auto;
    background: #fff;
    padding: 32px 24px;
    border-radius: 16px;
    box-shadow: 0 2px 16px rgba(0,0,0,0.08);
    max-width: 600px;
    width: 100%;
}
.single-certificate #capture {
    background: transparent;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
    max-width: none;
    width: auto;
}
.single-certificate #capture.fon { background-repeat: no-repeat; background-position: center; }
.single-certificate #certificate {
    background: #FFF;
    margin: 32px auto;
    overflow: hidden;
    text-align: center;
    border-radius: 16px;
    box-shadow: 2px 2px 8px rgba(81, 88, 103, 0.12);
}
.page-template-certificate #certificate {
    background: #FFF;
    border-radius: 16px;
    box-shadow: 2px 2px 8px rgba(81, 88, 103, 0.12);
}
.single-certificate .certificate_page_heading, .page-template-certificate .certificate_page_heading { margin: 12px 0; }
.single-certificate .certificate_page_heading h1, .page-template-certificate .certificate_page_heading h1 { margin: 0; }
.single-certificate .certificate_toolbar, .page-template-certificate .certificate_toolbar { margin: 0 0 30px; padding: 0; }
.single-certificate .certificate_toolbar .container, .page-template-certificate .certificate_toolbar .container {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    padding: 12px 16px;
    background: #FFF;
    border-radius: 16px;
    box-shadow: 2px 2px 8px rgba(81, 88, 103, 0.12);
}
.single-certificate .certificate_toolbar-title, .page-template-certificate .certificate_toolbar-title {
    display: flex;
    align-items: baseline;
    gap: 12px;
    flex-wrap: wrap;
}
.single-certificate .certificate_toolbar-title .title-h1, .page-template-certificate .certificate_toolbar-title .title-h1 {
    margin: 0;
    font-size: 32px;
    line-height: 40px;
}
.single-certificate .certificate_toolbar-code, .page-template-certificate .certificate_toolbar-code {
    color: #646F8B;
    font-size: 14px;
    font-weight: 600;
    line-height: 18px;
}
.single-certificate .certificate_toolbar-actions, .page-template-certificate .certificate_toolbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    flex-wrap: wrap;
    width: 100%;
}
.single-certificate .certificate_toolbar-left, .page-template-certificate .certificate_toolbar-left {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.single-certificate .certificate_toolbar-right, .page-template-certificate .certificate_toolbar-right { margin-left: auto; }
.single-certificate .certificate_toolbar-actions .btn-7, .page-template-certificate .certificate_toolbar-actions .btn-7 { padding: 8px 14px; min-height: 38px; }
.single-certificate .certificate_toolbar-button, .page-template-certificate .certificate_toolbar-button {
    background-color: #293890;
    color: #FFF;
    border: 1px solid transparent;
}
.single-certificate .certificate_toolbar-button:hover, .page-template-certificate .certificate_toolbar-button:hover {
    background-color: #1f2f7a;
    color: #FFF;
}
.single-certificate .certificate_toolbar-link, .page-template-certificate .certificate_toolbar-link {
    min-height: 38px;
    padding: 8px 14px;
    font-size: 14px;
    line-height: 18px;
    color: #353B4D;
}
.single-certificate .certificate_toolbar-link:hover, .page-template-certificate .certificate_toolbar-link:hover { color: #353B4D; }
.single-certificate .certificate_actions { display: flex; justify-content: flex-end; margin-bottom: 12px; }
.single-certificate .certificate_save_btn { white-space: nowrap; }
.single-certificate #certificate .certificate_content { position: relative; width: 100%; margin: 0 auto; max-width: 100%; }
.single-certificate #certificate, .single-certificate #certificate *, .single-certificate #certificate *::before, .single-certificate #certificate *::after { box-sizing: content-box; }
.single-certificate #certificate .row { margin-left: -15px; margin-right: -15px; }
.single-certificate #certificate [class*="col-"] { padding-left: 15px; padding-right: 15px; }

.certificate_error { padding: 8px 0 40px; }
.certificate_error_heading { margin: 12px 0; }
.certificate_error_heading h1 { margin: 0; }
.certificate_error-card {
    background: #FFF;
    border-radius: 16px;
    box-shadow: 2px 2px 8px rgba(81, 88, 103, 0.12);
    padding: 32px;
    max-width: 720px;
    margin: 24px auto 48px;
    text-align: left;
}
.certificate_error-card h2 { margin: 0 0 12px; }
.certificate_error-card p { margin: 0 0 20px; color: #646F8B; }
.certificate_error-link { display: inline-flex; }

/* === HEADER === */
.header { position: relative; margin-top: 16px; margin-bottom: 0; z-index: 9999; }
.minimal .header, .minimal header { background: transparent; box-shadow: none; }
.minimal .header__inner { background: #FFF; box-shadow: 0 1px 2px rgba(34, 38, 47, 0.08); }
.header__inner {
    padding: 15px 16px;
    border-radius: 16px;
    background: #FFF;
    box-shadow: 0 1px 2px 0 rgba(34, 38, 47, 0.08);
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: space-between;
}
.header__logo { display: flex; align-items: center; width: 100%; max-width: 140px; }
.header__content-inner { display: flex; align-items: center; gap: 4px; }
.header__menu > ul { display: flex; align-items: center; gap: 4px; }
.header__menu > ul > li > a {
    display: flex;
    align-items: center;
    max-width: max-content;
    transition: all .2s ease;
    padding: 10px 12px;
    color: #353B4D;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    line-height: 18px;
}
.header__menu > ul > li > a:hover { color: #F7941D; }
.header__bg {
    position: fixed;
    inset: 0;
    z-index: -1;
    background: rgba(53, 59, 77, 0.40);
    backdrop-filter: blur(3px);
    opacity: 0;
    pointer-events: none;
    transition: all .2s ease;
}
.header__block { position: relative; display: flex; align-items: center; gap: 8px; }
.header__auth, .header__user { padding: 8px; display: flex; align-items: center; justify-content: center; gap: 8px; }
.header__auth { padding: 0; }
.header__register, .header__login {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    font-size: 14px;
    line-height: 18px;
    padding: 9px 20px;
    min-height: 42px;
    height: 42px;
    border-radius: 8px;
    white-space: nowrap;
    box-sizing: border-box;
}
.header__login { background: #293890; color: #FFF; }
.header__login:hover { background: #1f2f7a; color: #FFF; }
.header__user-image { width: 20px; height: 20px; min-width: 20px; overflow: hidden; border-radius: 50%; }
.header__user-image img { width: 100%; height: 100%; object-fit: cover; }
.header__user-name { display: inline-flex; align-items: center; color: #293890; font-size: 14px; font-weight: 500; line-height: 18px; }
.header__check {
    padding: 8px 20px;
    color: #F7941D;
    font-size: 14px;
    font-weight: 700;
    line-height: 18px;
    transition: all .2s ease;
    display: flex;
    align-items: center;
    gap: 4px;
}
.header__check::before {
    content: '';
    width: 24px;
    min-width: 24px;
    height: 24px;
    background-image: var(--check-icon);
    background-repeat: no-repeat;
    background-size: contain;
}
.header__check:hover { color: #293890; }
.header__check:hover::before { background-image: var(--check-icon-blue); }

/* Login Modal */
.login-modal-open { overflow: hidden; }
#vibe_bp_login.login-modal {
    position: fixed !important;
    inset: 0;
    width: 100vw !important;
    height: 100vh !important;
    max-width: none !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
    z-index: 10000;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}
#vibe_bp_login.login-modal::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(53, 59, 77, 0.28);
    backdrop-filter: blur(8px);
}
#vibe_bp_login.login-modal.is-open { opacity: 1; pointer-events: auto; display: flex !important; }
#vibe_bp_login.login-modal .login-modal__content {
    position: relative;
    z-index: 1;
    width: calc(100% - 32px);
    max-width: 420px;
    background: #FFF;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 10px 30px rgba(34, 38, 47, 0.16);
}
#vibe_bp_login.login-modal .login-modal__close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #EBEEF5;
    display: flex;
    align-items: center;
    justify-content: center;
}
#vibe_bp_login.login-modal .login-modal__close::before, #vibe_bp_login.login-modal .login-modal__close::after {
    content: '';
    position: absolute;
    width: 14px;
    height: 2px;
    background: #353B4D;
}
#vibe_bp_login.login-modal .login-modal__close::before { transform: rotate(45deg); }
#vibe_bp_login.login-modal .login-modal__close::after { transform: rotate(-45deg); }

/* Dropdown Menu */
.menu-item-has-children > a { gap: 4px; position: relative; z-index: 1; }
.menu-item-has-children > a span {
    display: inline-block;
    width: 16px;
    min-width: 16px;
    height: 16px;
    background-image: var(--arrow-down);
    background-repeat: no-repeat;
    background-size: contain;
    transition: background-image .2s ease;
}
.menu-item-has-children > a:hover span { background-image: var(--arrow-down-orange); }
.header__menu-box {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    border-radius: 16px;
    background: #FFF;
    box-shadow: 2px 2px 8px 0 rgba(81, 88, 103, 0.20);
    overflow: auto;
    max-height: 60vh;
    padding: 32px;
    display: flex;
    align-items: start;
    gap: 24px;
    justify-content: space-between;
    opacity: 0;
    pointer-events: none;
    transition: all .2s ease;
}
.header.header-menu-show .header__bg, .menu-item-has-children:hover .header__menu-box { opacity: 1; pointer-events: all; }

/* Logged-in Dropdown */
#vibe_bp_login {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 200;
    width: 280px;
    max-width: 90vw;
    display: none;
    background: #FFF;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(41, 56, 144, 0.12);
}
#vibe_bp_login.active { display: block; }
#vibe_bp_login .user-menu { display: flex; flex-direction: column; gap: 8px; padding: 12px 16px; }
#vibe_bp_login .user-menu__link { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; color: #293890; font-size: 14px; font-weight: 600; transition: all .2s ease; }
#vibe_bp_login .user-menu__link:hover { background: #EBEEF5; color: #293890; }

/* === FOOTER === */
.footer { margin-top: 100px; padding: 40px 0; border-radius: 40px 40px 0 0; background: #353B4D; }
.footer__top { display: flex; align-items: stretch; justify-content: space-between; gap: 40px; }
.footer__start { display: flex; flex-direction: column; gap: 20px; justify-content: space-between; }
.footer__logo { display: flex; align-content: center; width: 100%; max-width: 140px; }
.footer__info { display: flex; flex-direction: column; gap: 12px; }
.footer__info-link { display: flex; align-items: center; gap: 8px; color: #C0C5D4; }
.footer__box { display: grid; grid-template-columns: 1fr 0.8fr 0.9fr; gap: 24px; width: 100%; max-width: 653px; }
.footer__menu { margin-top: 16px; display: flex; flex-direction: column; gap: 16px; }
.footer__menu li a { display: flex; align-items: center; max-width: max-content; transition: all .2s ease; color: #C0C5D4; }
.footer__menu li a:hover { color: #F7941D; }
.footer__name { color: #F6F6F6; font-size: 16px; font-weight: 700; line-height: 22px; }
.footer__bottom { display: flex; align-items: center; gap: 20px; justify-content: space-between; margin-top: 36px; }
.footer__copy { color: #C0C5D4; }
.footer__end, .footer__tel { width: 100%; max-width: 220px; }
.footer__end { display: flex; flex-direction: column; gap: 7px; }

/* === HERO SECTION === */
.hero__slide {
    overflow: hidden;
    border-radius: 40px;
    background: #EBEEF5;
    min-height: 492px;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    position: relative;
    z-index: 1;
}
.hero__slide-content { width: 100%; max-width: 578px; display: flex; flex-direction: column; padding: 60px 38px 60px 60px; height: auto; }
.hero__slide-descr { margin-top: 20px; margin-bottom: 20px; max-width: 394px; }
.hero__slide-btn { margin-top: auto; max-width: 198px; }
.hero__slide-image { margin-right: 94px; display: flex; align-items: end; justify-content: center; width: 100%; max-width: 510px; }
.hero__slide-image img { width: 100%; height: auto; }
.swiper-pagination-bullet { width: 60px; height: 10px; background: #F6F6F6; border-radius: 20px; opacity: 1; margin: 0 !important; position: relative; overflow: hidden; }
.swiper-pagination-bullet .progress { position: absolute; left: 0; top: 0; height: 100%; width: 0; background: #CAE7E9; border-radius: 20px; transition: width 5s linear; }
.swiper-pagination-bullet-active .progress { width: 100%; }

/* === COURSES === */
.courses { overflow: hidden; padding: 60px 0 100px; border-radius: 40px; background: #EBEEF5; }
.courses__filter { margin-top: 40px; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.courses__filter-item input { display: none; }
.courses__filter-item span {
    display: flex;
    padding: 11px 19px;
    border-radius: 80px;
    border: 1px solid #C0C5D4;
    background-color: #fff;
    transition: all .2s ease;
    cursor: pointer;
    color: #353B4D;
    font-size: 14px;
    line-height: 18px;
}
.courses__filter-item input:checked + span, .courses__filter-item span:hover {
    background-color: #293890;
    border-color: #293890;
    color: #fff;
}
.courses__block { margin-top: 40px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }

/* Product Card */
.product__item {
    display: flex;
    flex-direction: column;
    border-radius: 28px;
    border: 1px solid #DDD;
    background: #FFF;
    box-shadow: 0 1px 2px 0 rgba(34, 38, 47, 0.08);
    overflow: hidden;
    min-height: 550px;
}
.product__item-start { background-color: #EBEEF5; height: 217px; overflow: hidden; display: grid; grid-template-columns: 1fr 213px; position: relative; z-index: 1; }
.product__item-left { height: auto; padding: 16px 0 16px 20px; display: flex; flex-direction: column; justify-content: space-between; gap: 10px; }
.product__item-name { font-size: 16px; font-weight: 700; line-height: 22px; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; }
.product__item-time, .product__item-type {
    border-radius: 50px;
    padding: 6px 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    max-width: max-content;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 18px;
}
.product__item-time::before, .product__item-type::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    min-width: 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M2 3.44189C2 1.97295 3.33205 0.852312 4.80543 1.01587C5.85569 1.13247 7.02871 1.23069 8 1.23069C8.97129 1.23069 10.1443 1.13247 11.1946 1.01587C12.668 0.852312 14 1.97295 14 3.44189V13.809C14 14.7709 12.9072 15.3346 12.1118 14.783L8.68816 12.4085C8.27497 12.1219 7.72503 12.1219 7.31185 12.4085L3.88816 14.783C3.09282 15.3346 2 14.7709 2 13.809V3.44189Z' fill='white'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}
.product__item-type[data-type="webinar"] { background-color: #CAE7E9; color: #293890; }
.product__item-type[data-type="webinar"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M16 11.3333V6C16 4.52724 14.8061 3.33333 13.3333 3.33333L8.88889 3.33333C8.3119 3.33333 7.75048 3.14619 7.28889 2.8L6.93333 2.53333C6.47174 2.18714 5.91032 2 5.33333 2L2.66667 2C1.19391 2 -6.43764e-08 3.19391 0 4.66667L2.91409e-07 11.3333C3.55786e-07 12.8061 1.19391 14 2.66667 14H13.3333C14.8061 14 16 12.8061 16 11.3333Z' fill='%23293890'/%3E%3C/svg%3E");
}
.product__item-time { background-color: #EBEEF5; color: #353B4D; }
.product__item-time::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cg clip-path='url(%23clip0_80_1336)'%3E%3Cpath d='M8 0C3.6 0 0 3.6 0 8C0 12.4 3.6 16 8 16C12.4 16 16 12.4 16 8C16 3.6 12.4 0 8 0ZM8.4 8.8H4V7.6H7.2V4H8.4V8.8Z' fill='%23646F8B'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_80_1336'%3E%3Crect width='16' height='16' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
}
.product__item-content { padding: 16px 20px 40px; flex: 1; display: flex; flex-direction: column; gap: 24px; }
.product__item-title h3 { font-size: 18px; font-weight: 700; line-height: 24px; }
.product__item-title:hover h3 { color: #293890; }
.product__item-btn {
    color: #353B4D;
    font-size: 16px;
    font-weight: 500;
    line-height: 22px;
    display: flex;
    align-content: center;
    gap: 12px;
    max-width: max-content;
}
.product__item-btn::after {
    content: '';
    width: 22px;
    height: 22px;
    min-width: 22px;
    background-image: var(--arrow-right);
    background-repeat: no-repeat;
    background-size: contain;
    transition: all .2s ease;
}
.product__item-btn:hover { color: #293890; }
.product__item-btn:hover::after { background-image: var(--arrow-right-blue); }
.product__item-count { display: flex; align-items: center; gap: 8px; padding: 6px 0; color: #8D8D96; font-size: 14px; font-weight: 500; line-height: 18px; }
.product__item-count::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    min-width: 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11.0607 3.64138C11.0607 5.65251 9.4666 7.28276 7.50006 7.28276C5.53353 7.28276 3.93943 5.65251 3.93943 3.64138C3.93943 1.63031 5.53353 0 7.50006 0C9.4666 0 11.0607 1.63031 11.0607 3.64138ZM7.50006 16C9.61746 16 11.5826 15.3329 13.2053 14.1929C13.922 13.6894 14.2282 12.7303 13.8116 11.9498C12.9478 10.332 11.1678 9.32414 7.49995 9.32414C3.83224 9.32414 2.05226 10.3318 1.18841 11.9498C0.771711 12.7303 1.07798 13.6893 1.79469 14.1928C3.41742 15.3328 5.38256 16 7.50006 16Z' fill='%23646F8B'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}
.product__item-stars { display: flex; align-items: center; gap: 8px; padding: 6px 0; }
.product__item-stars--icons { display: flex; align-items: center; gap: 4px; }
.star { display: inline-block; width: 16px; height: 16px; background-image: var(--star-gray); background-repeat: no-repeat; background-size: contain; }
.star.filled { background-image: var(--star-yellow); }

/* Product type variations */
.product__item[data-product-type="1"] .product__item-start { background-color: #CAE7E9; }
.product__item[data-product-type="2"] .product__item-start { background-color: #76A0B6; }
.product__item[data-product-type="3"] .product__item-start { background-color: #B784B5; }
.product__item[data-product-type="2"] .product__item-name, .product__item[data-product-type="3"] .product__item-name { color: #fff; }

/* === FAQ === */
.faq { padding: 100px 0 114px; border-radius: 40px; background: #EBEEF5; }
.faq__inner { display: flex; align-items: start; justify-content: space-between; gap: 40px; min-height: 500px; position: relative; z-index: 1; }
.faq__block { width: 100%; max-width: 524px; display: flex; flex-direction: column; gap: 16px; }
.faq__item { border-radius: 32px; background: #F6F6F6; border: 1px solid transparent; }
.faq__item-title {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: space-between;
    padding: 32px;
    transition: color .2s ease;
    user-select: none;
}
.faq__item-title::after {
    content: '';
    display: inline-block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36' fill='none'%3E%3Cpath d='M27.1972 24.5019L29.8925 21.8066L27.2509 19.165L24.5556 21.8603L8.6953 6L6 8.6953L21.8603 24.5556L19.1595 27.2564L21.8011 29.8979L24.5019 27.1972L27.1434 29.8387L29.8387 27.1434L27.1972 24.5019Z' fill='%23293890'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    width: 36px;
    height: 36px;
    min-width: 36px;
}
.faq__item-descr { display: none; padding: 0 32px 32px; }
.faq__item.active .faq__item-descr { display: inline-block; }
.faq__item.active .faq__item-title { padding-bottom: 16px; }
.faq__item.active .faq__item-title::after { transform: rotate(-45deg); }
.faq__item.active { border-color: #293890; }
.faq__item-title:hover { color: #293890; }

/* === STATS === */
.stats { padding: 100px 0; overflow: hidden; }
.stats__block { margin-top: 40px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.stats__item { padding: 32px; border-radius: 32px; background: #293890; display: flex; flex-direction: column; gap: 12px; color: #F6F6F6; }
.stats__item span { color: #FFF; font-size: 62px; line-height: 74px; }

/* === MEDIA QUERIES === */
@media (max-width: 1280px) {
    .container { max-width: 1024px; }
    .hero__slide-image { margin: 0; }
    .footer__end, .footer__tel { max-width: 170px; }
    .about__block { grid-template-columns: repeat(3, 1fr); }
    .stats__item span { font-size: 54px; line-height: 68px; }
    .course__content { flex-direction: column; }
    .course__right, .course__left { max-width: 100%; }
    .certificate__right { max-width: 354px; }
    .calendar__slide .events__item-info { flex-direction: column; }
}
@media (max-width: 1024px) {
    .container { max-width: 768px; }
    .header__content { position: fixed; inset: 0; z-index: 123; background: rgba(53, 59, 77, 0.40); backdrop-filter: blur(3px); opacity: 0; transition: all .3s ease; pointer-events: none; }
    .header__content-inner { flex-direction: column; padding: 32px; align-items: start; max-width: 500px; margin-left: auto; background-color: #EBEEF5; height: 100%; overflow: auto; transform: translateX(100%); transition: all .2s ease; }
    .header__content.active { opacity: 1; pointer-events: all; }
    .header__content.active .header__content-inner { transform: translateX(0); }
    .header__menu > ul { flex-direction: column; align-items: start; }
    .header__block { margin-left: auto; }
    .header__burger, .header__content-close { display: flex; width: 32px; height: 32px; min-width: 32px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='33' height='27' viewBox='0 0 33 27' fill='none'%3E%3Cpath d='M0 1.5C0 0.671573 0.671573 0 1.5 0H31.5C32.3284 0 33 0.671573 33 1.5C33 2.32843 32.3284 3 31.5 3H1.5C0.671573 3 0 2.32843 0 1.5Z' fill='%23293890'/%3E%3Cpath d='M0 13.5C0 12.6716 0.671573 12 1.5 12H31.5C32.3284 12 33 12.6716 33 13.5C33 14.3284 32.3284 15 31.5 15H1.5C0.671573 15 0 14.3284 0 13.5Z' fill='%23293890'/%3E%3Cpath d='M0 25.5C0 24.6716 0.671573 24 1.5 24H31.5C32.3284 24 33 24.6716 33 25.5C33 26.3284 32.3284 27 31.5 27H1.5C0.671573 27 0 26.3284 0 25.5Z' fill='%23293890'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-size: contain; }
    .header__content-close { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' viewBox='0 0 25 25' fill='none'%3E%3Cpath d='M0.43934 0.43934C1.02513 -0.146447 1.97487 -0.146447 2.56066 0.43934L23.7739 21.6525C24.3596 22.2383 24.3596 23.1881 23.7739 23.7739C23.1881 24.3596 22.2383 24.3596 21.6525 23.7739L0.43934 2.56066C-0.146446 1.97487 -0.146447 1.02513 0.43934 0.43934Z' fill='%23293890'/%3E%3Cpath d='M0.439566 23.7753C-0.14622 23.1895 -0.14622 22.2397 0.439566 21.654L21.6528 0.440754C22.2386 -0.145032 23.1883 -0.145032 23.7741 0.440754C24.3599 1.02654 24.3599 1.97629 23.7741 2.56207L2.56089 23.7753C1.9751 24.3611 1.02535 24.3611 0.439566 23.7753Z' fill='%23293890'/%3E%3C/svg%3E"); background-size: 24px; margin-left: auto; }
    .menu-item-has-children .header__menu-box { position: initial; flex-direction: column; opacity: 1; pointer-events: all; overflow: hidden; max-height: none; padding: 20px; margin-top: 10px; display: none; }
    .menu-item-has-children.active .header__menu-box { display: flex; }
    .menu-item-has-children.active > a span { transform: rotate(180deg); background-image: var(--arrow-down-orange); }
    .courses__block { grid-template-columns: 1fr 1fr; }
    .about__block { grid-template-columns: repeat(2, 1fr); }
    .whywe__block { grid-template-columns: 1fr 1fr; }
    .whywe__item:nth-of-type(3n - 1) { margin-top: 0; margin-bottom: 0; }
    .faq__inner { flex-direction: column; }
    .faq__image { position: initial; margin: 0 auto; max-width: 440px; }
    .faq__block { max-width: 100%; }
    .stats__block { grid-template-columns: 1fr 1fr; }
    .contact__content { flex-direction: column; }
    .contact__block { max-width: 100%; }
    .activity__block { grid-template-columns: 1fr 1fr; }
    .activity__item:first-of-type { grid-column: span 2; }
    .certificate__content { flex-direction: column; gap: 20px; }
    .certificate__right { max-width: 100%; }
    .certificate__form-content { flex-direction: row; }
    .course__banner-name { font-size: 26px; line-height: 36px; }
    .calendar__grid { grid-auto-rows: 130px; }
    .event__inner { flex-direction: column; }
    .event__result, .event__left { max-width: 100%; }
}
@media (max-width: 768px) {
    .container { max-width: 480px; }
    .title-h1 { font-size: 28px; line-height: 36px; }
    h2 { font-size: 40px; line-height: 46px; }
    .single-certificate .certificate_toolbar, .page-template-certificate .certificate_toolbar { flex-direction: column; align-items: flex-start; }
    .single-certificate .certificate_toolbar-title .title-h1, .page-template-certificate .certificate_toolbar-title .title-h1 { font-size: 26px; line-height: 32px; }
    .single-certificate .certificate_toolbar-actions, .page-template-certificate .certificate_toolbar-actions { width: 100%; justify-content: flex-start; }
    .hero__slide { border-radius: 24px; flex-direction: column; }
    .hero__slide-content { padding: 32px; }
    .courses { border-radius: 24px; }
    .courses__block { grid-template-columns: 1fr; }
    .about__block { grid-template-columns: 1fr; }
    .whywe__block { grid-template-columns: 1fr; }
    .whywe__plane { left: 76px; }
    .footer { margin-top: 80px; }
    .footer__top { grid-template-columns: 1fr; }
    .footer__start { grid-row: auto; gap: 40px; }
    .contact__content { border-radius: 24px; padding: 20px; }
    .contact__item { padding: 20px; border-radius: 18px; }
    .contact__form { border-radius: 18px; padding: 30px; }
    .activity__banner { border-radius: 24px; margin-top: 30px; padding: 32px; }
    .activity__block { grid-template-columns: 1fr; }
    .activity__item:first-of-type { grid-column: auto; }
    .activity__item { border-radius: 24px; }
    .activity__bottom-contact { border-radius: 24px; padding: 32px; }
    .activity__middle { border-radius: 24px; }
    .certificate__form, .certificate__check, .certificate__bottom, .certificate__image, .certificate__left { border-radius: 24px; }
    .certificate_code_validator form, .certificate__form-content { grid-template-columns: 1fr; flex-direction: column; }
    .course__banner { grid-template-columns: 1fr; }
    .course__banner-left { padding: 32px 32px 0; gap: 24px; }
    .course__bottom { padding: 32px; }
    .course__select-inner { overflow-y: hidden; overflow-x: auto; }
    .course__select-btn::after { bottom: -16px; }
    .course__select-btn { text-wrap: nowrap; }
    .course__reviews-top { align-items: center; padding: 32px; flex-direction: column; }
    .calendar__content { margin-top: 60px; }
    .calendar__top { flex-direction: column; }
    .calendar__day, .calendar__weekday { padding: 6px; font-size: 12px; }
    .day-num { font-size: 10px; width: 20px; height: 20px; min-width: 20px; }
    .calendar__grid { grid-auto-rows: 70px; }
    .events__item { flex-direction: column; border-radius: 24px; }
    .events__item-info { border-radius: 18px; }
    .course__banner { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    h5 { font-size: 20px; line-height: 26px; }
    h2 { font-size: 36px; line-height: 42px; }
    h1, h4 { font-size: 22px; line-height: 30px; }
    .about__item { padding: 50px 32px 32px; border-radius: 24px; }
    .whywe { margin: 100px 0 100px; }
    .whywe__plane { left: 16px; max-width: 130px; bottom: -170px; }
    .whywe__item { padding: 60px 32px 32px; border-radius: 24px; }
    .stats__block { grid-template-columns: 1fr; }
    .contact__item { flex-direction: column; align-items: start; gap: 10px; }
    .contact__form { gap: 30px; padding: 20px; }
    .contact__form-block { flex-direction: column; }
    .product__item-start { grid-template-columns: 1fr 163px; }
    .course__speakers-item { flex-direction: column; gap: 20px; }
    .course__structure-bottom, .course__programm-title { flex-direction: column; align-items: start; }
    .user__reviews-top { flex-direction: column; }
    .support__inner { padding: 70px 40px 40px; max-width: 100%; border-radius: 0; }
    .certificate_code_validator .button.primary.small, .certificate__check-btn, .certificate__form-btn { width: 100%; }
}

/* Fonts */
@font-face {
    font-family: 'Manrope';
    src: url('../fonts/static/Manrope-ExtraLight.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Manrope';
    src: url('../fonts/static/Manrope-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Manrope';
    src: url('../fonts/static/Manrope-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Manrope';
    src: url('../fonts/static/Manrope-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Manrope';
    src: url('../fonts/static/Manrope-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Manrope';
    src: url('../fonts/static/Manrope-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Manrope';
    src: url('../fonts/static/Manrope-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'vicon';
    src: url('../../../wplms/assets/fonts/vicon.eot');
    src: url('../../../wplms/assets/fonts/vicon.eot') format('embedded-opentype'),
         url('../../../wplms/assets/fonts/vicon.woff') format('woff'),
         url('../../../wplms/assets/fonts/vicon.ttf') format('truetype'),
         url('../../../wplms/assets/fonts/vicon.svg') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}
.vibebp_myprofile, .vibebp_body_wrapper { font-family: 'Manrope', sans-serif; }
.vibebp_myprofile .vicon, .vibebp_myprofile [class^="vicon-"], .vibebp_myprofile [class*=" vicon-"],
.vibebp_body_wrapper .vicon, .vibebp_body_wrapper [class^="vicon-"], .vibebp_body_wrapper [class*=" vicon-"] {
    font-family: 'vicon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}