

/* Start:/local/templates/aspro-allcorp3/assets/css/pages/_common-layout.css?17786688966191*/
/* Общие layout-правила, вынесенные из pages/*.css (дубли между файлами) */

/* Вынесено из abiturientam/index.php автоматически. Не редактировать inline в странице. */

/* Fix CSS Variables */























:root {























    --color-primary: #f26829;























    --color-primary-hover: #d25a24;























    --color-gray-1: #e9e9e9;























    --color-gray-2: #f5f5f5;























    --color-text-gray: #979797;























    --color-text-black: #2C2C2C;























    --color-black: #2C2C2C;























    --color-white: #ffffff;























    --color-bg-base: #ffffff;























}

body .wrapper_inner .left_block { display: none !important; }

body .wrapper_inner .right_block { width: 100% !important; float: none !important; padding: 0 !important; overflow-x: visible !important; }

body .maxwidth-theme > [class*="col-"] { width: 100% !important; padding: 0 !important; float: none !important; }

.right_block.narrow_Y, .content-md { padding: 0 !important; }

/* ===== next block ===== */

.ft-help-black-hover:hover {
                background-color: #ff6a00 !important;
                border-color: #ff6a00 !important;
                color: #ffffff !important;
            }

/* ===== next block ===== */

/* Extreme gap removal for Aspro Allcorp3 bottom section */
.right_block, .maxwidth-theme, #content, .wrapper_inner, .page-top-wrapper, .body, .main, .container, .footer_inner, .page-top {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

footer, #footer, .footer-wrapper, .wrap_bg, .footer-v1, .footer-v2, .footer-v3, .footer-v4, .footer-v5, .footer-v6, .footer-v7, .footer-v8, .footer-v9 {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Slight negative margin to perfect the spacing */
.ft-help {
    margin-bottom: -50px !important;
    position: relative !important;
    z-index: 10 !important;
}

/* Force hide Aspro's standard top wrapper and left block */




body .page-top-wrapper,




#pagetitle,




.topic,




.page-top {




    display: none !important;




    height: 0 !important;




    overflow: hidden !important;




    visibility: hidden !important;




    opacity: 0 !important;




}

/* Scoped reset to allow edge-to-edge designs - TARGET ONLY PARENT WRAPPERS */




#content > .maxwidth-theme,




.body_media > .maxwidth-theme {




    max-width: 100% !important;




    width: 100% !important;




    padding-left: 0 !important;




    padding-right: 0 !important;




    overflow-x: visible !important;




}

/* =========================================================
   FORMY OBUCHENIYA — page wrapper alignment fix
   Aspro's template_*.css { .container { padding: 0 } } loads AFTER our
   page_*.css and silently overrides any non-!important padding on
   .container-derived selectors. That broke two things:
     1) .container--forms (main /formy-obucheniya/) — title glued to hero
        because padding-top was lost.
     2) .pt-extra-intro on subpages (zaochnoe, ochno-zaochnaya) — text
        pinned to the left edge because padding-left:204px was wiped.
   Plus h2 title needed margin-top:60px on full-time-intro because the
   parent's padding-top wasn't enough on this layout.
   ========================================================= */

/* Compound selectors (.container--applicants-layout.container--xxx) have
   specificity 0-2-0, which beats applicants.css's .container--applicants-layout
   { padding: 0 203px !important } (0-1-0) — that shorthand was wiping our
   padding-top because applicants.css loads after _common-layout.css. */
.container--applicants-layout.container--forms,
.container--applicants-layout.container--full-time-intro {
    padding-top: 60px !important;
    padding-left: 203px !important;
    padding-right: 203px !important;
}

.container--forms-details {
    padding-left: 204px !important;
    padding-right: 207px !important;
    padding-bottom: 120px !important;
}

.container.pt-extra-intro {
    width: 100% !important;
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 204px !important;
    padding-right: 204px !important;
    box-sizing: border-box !important;
}

/* Reset h2 margin so padding-top of the parent isn't eaten by margin-collapsing
   with the first child h2 (browsers collapse parent padding+child margin in
   some flow contexts; force margin-top:0 on the first title). */
.container--applicants-layout.container--forms .forms-content__title,
.container--applicants-layout.container--full-time-intro .forms-content__title,
.container--applicants-layout.container--full-time-intro .ft-intro__title {
    margin-top: 0 !important;
}

@media (max-width: 991px) {
    .container--applicants-layout.container--forms,
    .container--applicants-layout.container--full-time-intro {
        padding-top: 40px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    .container--forms-details {
        padding-left: 16px !important;
        padding-right: 16px !important;
        padding-bottom: 40px !important;
    }
    .container.pt-extra-intro {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* CTA "ПОСМОТРЕТЬ СПЕЦИАЛЬНОСТИ" — full-time.css forgot border-radius,
   so it inherited Aspro's default --theme-button-border-radius:4px (square).
   Match the pill style used by every other CTA on these pages. */
.ft-cta-specialties__btn,
.btn.btn--primary.ft-cta-specialties__btn {
    border-radius: 136px !important;
    border: 1px solid var(--color-primary, #ff6a00) !important;
}

/* Aspro's .btn:hover sets color/border to #333 — override to orange */
.ft-cta-specialties__btn:hover,
.btn.btn--primary.ft-cta-specialties__btn:hover {
    background-color: #ffffff !important;
    color: var(--color-primary, #ff6a00) !important;
    border-color: var(--color-primary, #ff6a00) !important;
}


/* End */


/* Start:/local/templates/aspro-allcorp3/assets/css/pages/parents.css?1776423740146*/
/* ===== next block ===== */

/* INLINE TITLE FIX */ body #pagetitle, body .page-title, body h1, body h1#pagetitle { color: #ffffff !important; }

/* End */


/* Start:/local/templates/aspro-allcorp3/assets/css/applicants.css?178782017349036*/
/* Удаление штатных распорок Битрикса */


.hero-page__container::before,


.hero-page__container::after,


.container--applicants-layout::before,


.container--applicants-layout::after,


.applicants-full-blocks .container::before,


.applicants-full-blocks .container::after {


    content: none !important;


    display: none !important;


    width: 0 !important;


    height: 0 !important;


    margin: 0 !important;


    padding: 0 !important;


}





/* Breadcrumbs */


.breadcrumbs {


    display: flex;


    align-items: center;


    gap: 8px;


    font-size: 13.6px;


    font-weight: 500;


    margin-bottom: 0;


}





.breadcrumbs__link {


    color: var(--color-white) !important;


    text-decoration: none;


}





.breadcrumbs__link:hover {


    text-decoration: underline;


}





.breadcrumbs__separator img {


    height: 10px;


    opacity: 0.8;


}





/* Force the breadcrumb separator to display (Bitrix sometimes hides empty spans or images within them) */


.breadcrumbs__separator {


    display: inline-flex !important;


    align-items: center;


    visibility: visible !important;


}





.breadcrumbs__current {


    color: var(--color-white) !important;


}/* Hide default Bitrix page components if they still show up */


.page-top,


#pagetitle,


.breadcrumb {


    display: none !important;


}/* Two-column Layout */


.container--applicants-layout {


    display: flex;


    gap: 56px;


    align-items: stretch;


    width: 100% !important;


    max-width: 1440px !important;


    margin: 0 auto !important;


    padding: 0 203px !important;


    box-sizing: border-box;


}





.applicants-full-blocks {


    width: 100% !important;


    max-width: 1440px !important;


    margin: 0 auto !important;


    padding: 120px 203px 120px 203px !important;


    box-sizing: border-box;


}





.applicants-content {


    flex-grow: 1;


    display: flex;


    flex-direction: column;


    gap: 40px;


    /* Initialize container query for content area */


    container-type: inline-size;


    container-name: content-area;


}





/* Sections Base Typography */


.section-title--left {


    font-size: clamp(24px, 4vw, 31.97px);


    font-weight: 700;


    color: var(--color-primary);


    text-transform: uppercase;


    line-height: 1.14;


    margin-block-end: 16px;


}.section-title--center {


    font-size: clamp(24px, 4vw, 31.97px);


    font-weight: 700;


    color: var(--color-primary);


    text-transform: uppercase;


    line-height: 1.14;


    margin-block-end: 16px;


    text-align: center;


}





.section-subtitle--center {


    font-size: 17px;


    font-weight: 500;


    line-height: 1.4;


    margin: 0;


    text-align: center;


}





.mb-40 {


    margin-bottom: 40px;


}





/* Block 1: Intro */


.applicants-intro {


    max-width: 682px;


}





.applicants-intro__desc {


    font-size: 17px;


    font-weight: 500;


    line-height: 23.8px;


    /* leading 23.807px */


    margin: 0 0 24px 0;


    /* gap 24px before the next block */


}





.consultation-block {


    display: flex;


    flex-direction: column;


    gap: 16px;


    /* Use fluid max-inline scale */


    max-inline-size: 526px;


}





.consultation-block__title {


    font-size: 17px;


    font-weight: 700;


    text-transform: uppercase;


    line-height: 1.36;


    margin: 0;


    color: var(--color-text-black);


}





.applicants-intro__pills {


    display: flex;


    flex-direction: column;


    gap: 16px;


    align-items: flex-start;


}





/* --- Button Base Styles (Injected from components.css) --- */


.btn-custom {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700;
    font-size: 14.965px;
    line-height: 1.06 !important;
    white-space: nowrap !important;
    text-transform: uppercase;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;
    text-decoration: none;
    cursor: pointer;
}





.btn-custom-outline {
    border: 0.68px solid var(--color-primary);
    color: var(--color-primary);
    background-color: transparent;
}





.btn-custom-outline:hover {
    background-color: var(--color-primary) !important;
    color: var(--color-white) !important;
}





.btn--primary {


    background-color: var(--color-primary);


    color: var(--color-white);


    border: 1px solid var(--color-primary);


}





.btn--primary:hover {


    background-color: var(--color-white);


    color: var(--color-primary);


}





.btn-custom-pill {
    padding: 10.203px 33.33px;
    height: 50.335px;
    border-radius: 136.042px;
    gap: 6.802px;
    text-transform: uppercase;
}























/* --- Admission Overview --- */


.admission-overview-block {


    display: flex;


    flex-direction: column;


    align-items: center;


    text-align: center;


    margin-bottom: 56px;


    gap: 8px;


}





.admission-overview__title {


    font-size: 31.97px;


    font-weight: 700;


    text-transform: uppercase;


    line-height: 1.14;


    margin: 0;


}





.admission-overview__subtitle {


    font-size: 17.005px;


    font-weight: 700;


    text-transform: uppercase;


    line-height: 1.36;


    color: var(--color-text-black, #000);


    margin: 0;


}





.admission-overview__desc {


    font-size: 17.005px;


    font-weight: 500;


    line-height: 1.4;


    color: var(--color-text-black, #000);


    margin: 0;


    max-width: 1030px;


}





.admission-overview__desc b {


    font-weight: 700;


}





/* --- Block 2: Admission Steps --- */





.admission-steps-block .section-title--center {


    margin-block-end: 24px;


}





.admission-steps {


    display: grid;


    /* Modern Grid with repeat autfit / flex */


    grid-template-columns: repeat(5, 1fr);


    width: 100%;


}





.admission-step {


    flex: 1;


    display: flex;


    flex-direction: column;


    gap: 16px;


    align-items: center;


    position: relative;


}





.admission-step__top {


    display: flex;


    justify-content: center;


    width: 100%;


}





.admission-step__circle {


    width: 71px;


    height: 71px;


    border-radius: 50%;


    background-color: var(--color-primary);


    display: flex;


    justify-content: center;


    align-items: center;


    font-size: 31px;


    font-weight: 700;


    color: var(--color-white);


    flex-shrink: 0;


    position: relative;


    z-index: 2;


}





.admission-step__line {


    position: absolute;


    top: 35.5px;


    left: calc(50% + 35.5px);


    width: calc(100% - 71px - 24px);


    /* Bridge gap and leave 24px visual padding to the next circle */


    transform: translateY(-50%);


    z-index: 1;


}





.admission-step__line img {


    width: 100%;


    height: 15px;


    display: block;


}





.admission-step__text {


    font-size: 15px;


    font-weight: 700;


    line-height: 1.2;


    color: var(--color-primary);


    text-transform: uppercase;


    text-align: center;


    max-width: 160px;


    /* Keeps multi-line breaks centered tightly */


}





/* --- Block 3: Admission Helpers Grid --- */


.admission-helpers-block {


    display: flex;


    flex-direction: column;


    align-items: center;


    gap: 32px;


}





.helpers-grid {


    display: flex;


    gap: 16px;


    width: 100%;


}





.helpers-card {


    height: 279px;


    position: relative;


    border-radius: 24px;


    overflow: clip;


    /* Modern overflow property */


    padding: 24px;


    display: flex;


    flex-direction: column;


    justify-content: flex-end;


}





.helpers-card__bg {


    position: absolute;


    inset: 0;


    width: 100%;


    height: 100%;


    object-fit: cover;


    z-index: 1;


}





.helpers-card__overlay {


    position: absolute;


    inset: 0;


    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 28.37%, rgba(0, 0, 0, 0.6) 87.5%);


    z-index: 2;


}





.helpers-card__title {


    position: relative;


    z-index: 3;


    font-size: 17px;


    font-weight: 700;


    line-height: 1.16;


    color: var(--color-white);


    text-transform: uppercase;


    margin: 0;


    max-width: 186px;


}





.helpers-actions {


    display: flex;


    justify-content: center;


    width: 100%;


}





.helpers-actions__btn {


    text-transform: uppercase;


    font-size: 15px;


    font-weight: 700;


}





.specialties-banner-block::before {


    content: '';


    position: absolute;


    top: 0;


    bottom: 0;


    left: 50%;


    transform: translateX(-50%);


    width: 100vw;


    background-image: url('/local/templates/aspro-allcorp3/assets/css/../images/Rectangle 6050.png');


    background-size: cover;


    background-position: center top;


    background-repeat: no-repeat;


    z-index: -1;


}





/* --- Block 4: Specialties Banner --- */


.specialties-banner-block {


    position: relative;


    width: 100%;


    margin-top: 56px;


    margin-bottom: 56px;


    padding-top: 64px;


    padding-bottom: 64px;


}





.specialties-banner {


    position: relative;


    width: 100%;


    min-height: 452px;


    /* Высота блока (105px + 346px) */


    /* Убрал ужасный серый фон на всю ширину и отрицательный margin */


}





.specialties-banner__content {


    position: absolute;


    left: 0;


    top: 0;


    width: 595px;


    height: 380px;


    background-color: var(--color-primary);


    border-radius: 16px;


    padding: 48px 32px;


    display: flex;


    flex-direction: column;


    gap: 16px;


    z-index: 2;


    color: var(--color-white);


}





.specialties-banner__text-group {


    display: flex;


    flex-direction: column;


    gap: 8px;


}





.specialties-banner__title,


.specialties-banner__content h2,


.specialties-banner__content h2.specialties-banner__title {


    font-size: clamp(24px, 4vw, 31.97px);


    font-weight: 700;


    line-height: 1.14;


    text-transform: uppercase;


    margin: 0;


    color: var(--color-white) !important;


}





.specialties-banner__subtitle,


.specialties-banner__content h3,


.specialties-banner__content h3.specialties-banner__subtitle {


    font-size: 17.005px;


    font-weight: 700;


    text-transform: uppercase;


    line-height: 1.36;


    margin: 0;


    color: var(--color-white) !important;


}





.specialties-banner__text {


    font-size: 17.005px;


    font-weight: 500;


    line-height: 1.4;


    margin: 0;


    max-width: 100%;


}





.btn--white {


    background-color: var(--color-white);


    color: var(--color-primary);


    border: none;


    font-weight: 700;


}





.btn--white:hover {


    background-color: #f5f5f5;


}





.specialties-banner__image-wrapper {


    position: absolute;


    right: 0;


    top: 105px;


    width: 595px;


    height: 346px;


    border-radius: 16px;


    overflow: hidden;


    background-color: #f4f4f4;


    background-image: url('http://localhost:3845/assets/834432a3c210447611f3ec57ea2d647410544ded.png');


    background-repeat: repeat;


    background-size: cover;


    /* Или contain, узор должен лечь ровно */


    background-position: center;


    z-index: 1;


}





.specialties-banner__image {


    position: absolute;


    right: 0;


    top: 0;


    height: 100%;


    width: 100%;


    /* Visually restored to 100% so it doesn't crop */


    object-fit: cover;


    object-position: center;


}





/* --- Block 5: Формы обучения (New) --- */


.formats-block-new {


    display: flex;


    flex-direction: column;


    align-items: center;


    /* Центрируем контент */


    width: 100%;


}





.formats-block-new__desc {


    font-size: 17.005px;


    font-weight: 500;


    /* В макете Montserrat:Medium */


    line-height: calc(23.807 / 17.005);


    /* Точный межстрочный интервал из макета */


    color: var(--color-black);


    margin: 0;


    max-width: 100%;


}





.formats-cards-grid {


    display: grid;


    grid-template-columns: repeat(3, 1fr);


    gap: 16px;


    width: 100%;


}





.format-card {


    flex: 1;


    height: 142.84px;


    border-radius: 16px;


    border: none;


    position: relative;


    overflow: hidden;


    display: flex;


    align-items: center;


    justify-content: center;


    background-color: var(--color-primary);


    transition: transform 0.3s ease, box-shadow 0.3s ease;


    cursor: pointer;


    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);


}





.format-card:hover {


    transform: translateY(-6px);


    box-shadow: 0 12px 24px rgba(240, 120, 30, 0.25);


    /* Orange-tinted shadow */


}





.format-card__bg {


    position: absolute;


    top: 0;


    left: 0;


    width: 300%;


    height: 300%;


    object-fit: cover;


    z-index: 1;


}/* --- Block 7: Образовательный кредит --- */


.education-credit {


    padding: 0;


}





.credit-cards-grid {


    display: grid;


    grid-template-columns: repeat(3, 1fr);


    width: 100%;


    gap: 16px;


    min-height: 197px;


}





.credit-card {


    flex: 1 0 0;


    /* Растягиваем карточки поровну */


    background-color: var(--color-white);


    border: 0.68px solid #9e9e9e;


    border-radius: 16.325px;


    display: flex;


    flex-direction: column;


    align-items: center;


    justify-content: center;


    padding: 12px 8px;


    position: relative;


    height: 100%;


}





/* При использовании картинок напрямую из макета */


.credit-card__icon-wrapper {


    width: 110.6px;


    height: 102.4px;


    position: relative;


    border-radius: 10px;


    overflow: clip;


    /* clip instead of hidden */


    margin-bottom: 24px;


}





.credit-card__scaler {


    position: absolute;


    top: 50%;


    left: 50%;


    width: 1700px;


    height: 1700px;


    transform: translate(-50%, -50%) scale(0.065065);


}





.credit-card__icon-base {


    position: absolute;


    top: 50%;


    left: 50%;


    transform: translate(-50%, -50%);


    width: 2100px;


    height: 1400px;


    pointer-events: none;


    max-width: none;


    filter: hue-rotate(-164deg) saturate(175%) brightness(1.05);


    /* Match orange */


}





.credit-card__icon-mask-layer {


    position: absolute;


    top: 50%;


    left: 50%;


    transform: translate(-50%, -50%);


    width: 1700px;


    height: 1700px;


    mask-image: var(--mask-image);


    mask-size: 2100px 1400px;


    mask-position: -200px 150px;


    mask-repeat: no-repeat;


    -webkit-mask-image: var(--mask-image);


    -webkit-mask-size: 2100px 1400px;


    -webkit-mask-position: -200px 150px;


    -webkit-mask-repeat: no-repeat;


    mix-blend-mode: color;


    /* Optional: masking alpha and intersection omitted since not standard CSS, standard applies alpha masks by default */


}





.credit-card__icon-mask-layer div {


    position: absolute;


    inset: 0;


    background-color: var(--color-primary);


    border-radius: 16.387px;


}





.credit-card__title {


    font-size: 14.965px;


    font-weight: 700;


    line-height: normal;


    text-transform: uppercase;


    text-align: center;


    color: var(--color-text-black);


    margin: 0;


}/* --- Block 9: CTA Section --- */


.cta-section {


    display: flex;


    justify-content: space-between;


    align-items: center;


    gap: 34px;


    padding: 60px 0;


    /* Vertical padding */


    margin-top: 75px;


    /* From previous block as requested */


    margin-bottom: 0;


    /* Removed gap to footer */


    background-color: #F5F5F5;


    box-shadow: 0 0 0 100vmax #F5F5F5;


    clip-path: inset(0 -100vmax);


    width: 100%;


    max-width: 914px;


    /* Figma constraint */


    margin-left: auto;


    margin-right: auto;


    border-radius: 0;


}





.cta-section__content {


    flex: 1 1 0;


    display: flex;


    flex-direction: column;


    gap: 8px;


}





.cta-section__title {


    font-size: 31.97px;


    font-weight: 700;


    line-height: 1.14;


    text-transform: uppercase;


    color: var(--color-primary);


    margin: 0;


}





.cta-section__desc {


    font-size: 17.005px;


    font-weight: 500;


    line-height: 23.8px;


    color: var(--color-text-black);


    margin: 0;


}





.cta-section__actions {


    flex: 1 1 0;


    display: flex;


    flex-direction: column;


    justify-content: center;


    align-items: flex-start;


    gap: 16px;


    padding-left: 56px;


}





.cta-section__btn-outline {


    width: 100%;


    max-width: 302.66px;


    padding: 10px 33px;


    font-size: 14.965px;


    font-weight: 700;


    text-transform: uppercase;


    border: 0.68px solid var(--color-primary);


    color: var(--color-primary);


    background: transparent;


    border-radius: 136px;


    cursor: pointer;


}





    .cta-section__btn-primary {


        width: 100%;


        max-width: 384.13px;


        padding: 10px 33px;


        font-size: 14.965px;


        font-weight: 700;


        text-transform: uppercase;


        border-radius: 136px;


    }





    /* --- Sidebar Nav (Injected from components.css) --- */


    .sidebar-nav {


        flex-shrink: 0;


        width: 266px;


        align-self: flex-start;


        /* Prevents stretching to the height of the right column */


        position: relative;


        /* For the pseudo-element separator line */


    }





    .sidebar-nav::after {


        content: '';


        position: absolute;


        top: 0;


        right: -28px;


        /* half of 56px gap */


        width: 1px;


        height: 100%;


        background-color: #E6E6E6;


        /* Match the vector line color */


    }





    .sidebar-nav__list {


        display: flex;


        flex-direction: column;


        gap: 46px;


        /* 46.9px from figma */


        list-style: none;


        padding: 0;


        margin: 0;


    }





    .sidebar-nav__link {


        font-size: 13.6px;


        font-weight: 700;


        color: var(--color-text-black) !important;


        text-transform: none;


        line-height: 1.2;


        text-decoration: none;


        transition: color 0.3s;


        display: block;


    }





    .sidebar-nav__link:hover,


    .sidebar-nav__link.active {


        color: var(--color-primary) !important;


    }

/* === ABSOLUTE FOOTER GAP NUKE === */
.forms-help, .ft-help-margin {
    margin-bottom: 0 !important;
}
.right_block.narrow_Y {
    padding-bottom: 0 !important; margin-bottom: 0 !important;
}
#content {
    padding-bottom: 0 !important; margin-bottom: 0 !important;
}
.maxwidth-theme {
    padding-bottom: 0 !important; margin-bottom: 0 !important;
}
.body_media {
    padding-bottom: 0 !important; margin-bottom: 0 !important;
}
.wrapper_inner.with_container.with_right_block {
    padding-bottom: 0 !important; margin-bottom: 0 !important;
}
.wrapper1 {
    padding-bottom: 0 !important; margin-bottom: 0 !important;
}
.content-md {
    padding-bottom: 0 !important; margin-bottom: 0 !important;
}
#footer, footer, .footer-wrapper {
    margin-top: 0 !important; padding-top: 0 !important;
}


.ft-cta-specialties { margin-bottom: 0 !important; }


/* Detach Help Block from Top Elements */
.forms-help.ft-help-margin {
    margin-top: 80px !important;
}

/* --- Content Wrapper --- */
.applicants-content-wrapper {
    background-color: var(--color-white);
    padding-top: 60px !important;
    padding-bottom: 0;
}


/* --- FORCE MENU AND CONTENT WIDTHS --- */
.container--applicants-layout {
    display: flex !important;
    gap: 56px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding: 0 203px !important;
    box-sizing: border-box !important;
    justify-content: flex-start !important;
}

aside.sidebar-nav,
.sidebar-nav {
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    width: 266px !important;
    min-width: 266px !important;
    max-width: 266px !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
}

.applicants-content {
    flex-grow: 1 !important;
    flex-shrink: 1 !important;
    min-width: 0 !important;
    max-width: 682.248px !important;
    /* Ensures it never blows past the Figma grid limit */
    display: flex !important;
    flex-direction: column !important;
}


/* --- EXACT FIGMA TYPOGRAPHY OVERRIDES --- */

/* 1. Main Title */
.applicants-intro .section-title--left {
    color: #FF6A00 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 31.97px !important;
    font-weight: 700 !important;
    line-height: 36.446px !important;
    text-transform: uppercase !important;
    margin-bottom: 24px !important;
}

/* 2. Description Text */
.applicants-intro__desc {
    color: #000000 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17.005px !important;
    font-weight: 500 !important;
    line-height: 23.807px !important;
    margin-bottom: 24px !important;
}

/* 3. Subtitle (Consultation Title) */
.consultation-block__title {
    color: #000000 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17.005px !important;
    font-weight: 700 !important;
    line-height: 23.127px !important;
    text-transform: uppercase !important;
    margin-bottom: 24px !important;
}

/* 4. Consultation Pills */
.applicants-intro__pills .btn-custom-pill {
    padding: 10.203px 33.33px;
    height: 50.335px;
    border-radius: 136.042px;
    gap: 6.802px;
    text-transform: uppercase;
}

/* Ensure pill container gap strictly matches Figma spacing (approx 16px to 23px depending on rendering) */
.applicants-intro__pills {
    gap: 16px !important;
}


/* --- FIX FLEXBOX STRETCHES & SPACING --- */
.container--applicants-layout {
    align-items: flex-start !important; /* Stop right block from stretching */
}

.sidebar-nav__list {
    justify-content: flex-start !important;
    gap: 46.93px !important; /* Exact Figma gap */
}


/* --- PRECISE SPACING OVERRIDES --- */
.applicants-intro__desc {
    margin-bottom: 24px !important;
}

.consultation-block {
    gap: 0 !important; /* Remove flex gap to prevent margin stacking */
    margin-top: 0 !important;
}

.consultation-block__title {
    margin-bottom: 16px !important;
}


/* --- PRECISE 16PX MARGIN FOR CONSULTATION TITLE --- */
h3.consultation-block__title,
.consultation-block__title {
    margin-bottom: 16px !important;
    padding-bottom: 0 !important;
}

.applicants-intro__desc {
    margin-bottom: 24px !important;
    /* The screenshot shows 24px off the top text bounding box */
}

.btn-custom-primary {
    background-color: var(--color-primary);
    color: var(--color-white);
    border: 1px solid var(--color-primary);
}

.btn-custom-primary:hover {
    background-color: var(--color-white) !important;
    color: var(--color-primary) !important;
}


/* --- FULL WIDTH GRAY BACKGROUND HACK FOR SPECIALTIES BANNER (OFFSET ADJUSTED) --- */
.specialties-banner-block {
    /*
       The container (.applicants-content) is offset to the right by:
       padding-left of layout container (203px)
       + sidebar width (266px)
       + gap (56px)
       = 525px from the left edge of the screen (on 1440px desktop).

       Instead of complex calc(), we can use a pseudo-element that is fixed or absolutely positioned
       to the viewport, which is much more bulletproof across screen sizes.
    */
    position: relative;
    padding-top: 80px;
    padding-bottom: 80px;
    margin-top: 120px;
    margin-bottom: 120px;
    z-index: 1;
}

/*
   We create a pseudo-element behind the block that completely ignores parent offsets
   and stretches from the absolute left edge of the screen to the absolute right edge.
*/
.specialties-banner-block::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;

    /*
       This is the ultimate hack to break out of any container:
       Viewport width, centered horizontally relative to the *viewport*,
       regardless of where the parent container is!
    */
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);

    background-color: #F5F5F5;
    z-index: -1;
}

/* Ensure inner content stays visible and aligned */
.specialties-banner-block > .specialties-banner {
    position: relative;
    z-index: 2;
    max-width: 100%;
}



/* --- EXACT FIGMA TYPOGRAPHY FOR ADMISSION BLOCK --- */

/* ПРИЁМНАЯ КОМИССИЯ */
h2.admission-overview__title,
.admission-overview__title {
    color: #FF6A00 !important;
    text-align: center !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 31.97px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1.14 !important; /* 114% / 36.446px */
    text-transform: uppercase !important;
}

/* КАК ПОСТУПИТЬ В КОЛЛЕДЖ? */
h3.admission-overview__subtitle,
.admission-overview__subtitle {
    color: #000 !important;
    text-align: center !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17.005px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1.36 !important; /* 136% / 23.127px */
    text-transform: uppercase !important;
}

/* Поступление в колледж КЭСИ - это понятный... */
.admission-overview__desc {
    color: #000 !important;
    text-align: left !important; /* Assuming left align for paragraph text based on design */
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17.005px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 1.4 !important; /* 140% / 23.807px */
}

/* Intro Bold text */
.admission-overview__desc b {
    font-weight: 700 !important;
}

/* --- NUKE ALL GAPS ABOVE ADMISSION BLOCK --- */
.applicants-full-blocks {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.applicants-content-wrapper.cesi-custom-page .container:last-child {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* Ensure no dangling <br> tags or whitespace take up space */
.applicants-full-blocks::before {
    display: none !important;
}

/* If the problem is the gap BEFORE the full blocks container, kill margin on the layout container */
.container--applicants-layout {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}/* 2. Set the 38px gap on the outer lower container wrapper itself */
.applicants-full-blocks {
    margin-top: 38px !important;
    padding-top: 0 !important;
}

/* 3. Strip all internal margins/padding off the Admission title block inside it */
.admission-overview-block {
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

h2.admission-overview__title {
    margin-top: 0 !important;
    padding-top: 0 !important;
    line-height: 1.14 !important; /* from Figma */
}

/* 4. Ensure no invisible pseudo-elements or inherited generic bitrix styles add hidden height */
.applicants-content-wrapper {
    /* Sometimes the wrapper itself has a bottom padding */
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* === STEPS BLOCK TYPOGRAPHY & SPACING === */
.admission-steps-block {
    margin-top: 49px !important;
}

.admission-steps-block h2.section-title--center,
.admission-steps-block .section-title--center {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.36 !important;
    text-transform: uppercase !important;
    color: #000000 !important;
    margin-bottom: 26px !important; /* from the screenshot gap ~26.66 between title and steps */
}

/* Fix aspect ratio for the forms of study cards */
.format-card__bg {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important; /* contain so it doesn't crop the text in the image */
}@media (max-width: 991px) {
    .transfer-block-redesign__container {
        flex-direction: column;
        padding-top: 250px; /* space for absolute photo on top */
    }

    .transfer-block-redesign__photo-wrapper {
        position: absolute;
        top: -40px;
        left: 50%;
        transform: translateX(-50%);
        bottom: auto;
        height: auto;
        display: block;
        align-items: flex-start;
    }

    .transfer-block-redesign__content {
        margin-left: 0;
        padding: 20px;
    }
}/* =========================================================
   CUSTOM CESI TRANSFER BLOCK (ISOLATED CSS)
   ========================================================= */

.cesi-custom-transfer-wrapper {
    position: relative !important;
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    max-width: none !important;
    left: auto !important;
    transform: none !important;
    margin-top: 100px;
    margin-bottom: 80px;
    display: flex;
    justify-content: center;
}

/* The background pattern that spans full width */
.cesi-custom-transfer__bg {
    position: absolute !important;
    top: 35px !important;
    bottom: 25px !important;
    width: 100vw !important;
    left: 0 !important;
    background-color: #fafafa !important;
    background-image: url('/local/templates/aspro-allcorp3/assets/css/../images/transfer_bg_pattern.png') !important;
    background-repeat: repeat !important;
    background-size: auto !important;
    z-index: 1 !important;
}

.cesi-custom-transfer__container {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 40px; /* New Figma value */
    width: 100%;
    max-width: 1050px; /* Narrower container as per new Figma layout */
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    justify-content: center;
}

.cesi-custom-transfer__photo-col {
    width: 480px;
    flex-shrink: 0;
    z-index: 3;
    display: flex;
    margin-top: -50px !important; /* Retain lifting hack */
}

.cesi-custom-transfer__photo {
    width: 480px;
    height: auto;
    display: block;
    object-fit: cover;
    border-radius: 12px;
}

.cesi-custom-transfer__content-col {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px; /* Increased gap */
    z-index: 3;
    padding-top: 50px;
    padding-bottom: 50px;
    width: 516px;
    max-width: 100%;
}

.cesi-custom-transfer__subtitle-box {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Typography matching the Figma mockup */
.cesi-custom-transfer__title {
    color: #FF6A00;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    line-height: 1.14 !important;
    text-transform: uppercase;
    margin: 0 !important;
}

.cesi-custom-transfer__subtitle {
    color: #000;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.36 !important;
    text-transform: uppercase;
    margin: 0 !important;
}

.cesi-custom-transfer__desc {
    color: #000;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 24px !important;
    margin: 0 !important;
}

/* The List Items Styling */
.cesi-custom-transfer__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0;
}

.cesi-custom-transfer__list-item {
    display: flex;
    align-items: center;
    gap: 18px;
    background: #fff;
    border: 0.7px solid #FF6A00;
    border-radius: 136px; /* High rounding */
    padding: 0 24px 0 0; /* Padding inside list item */
}

.cesi-custom-transfer__list-num {
    background: #FF6A00;
    color: #fff;
    width: 68px; /* Huge circle */
    height: 68px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 30.6px !important;
    flex-shrink: 0;
}

.cesi-custom-transfer__list-text {
    color: #000;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    line-height: 1.36 !important;
    margin: 0;
}

/* Footer Button */
.cesi-custom-transfer__footer {
    position: absolute;
    bottom: -15px; /* Offset to center relative to bottom bg edge */
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    z-index: 5;
}

/* Solid Orange Button Matching the Image */
.btn-custom-action-orange {
    background-color: #FF6A00 !important;
    color: #fff !important;
    border: 0.7px solid #FF6A00 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 16px 48px !important;
    border-radius: 136px !important;
    text-transform: uppercase !important;
    cursor: pointer;
    transition: background 0.3s ease !important;
    height: auto !important;
}
.btn-custom-action-orange:hover {
    background-color: #E65C00 !important;
    color: #fff !important;
}

/* RESPONSIVE Adjustments */
@media (max-width: 991px) {
    .cesi-custom-transfer__container {
        flex-direction: column;
        padding: 0 40px;
        gap: 30px;
    }
    .cesi-custom-transfer__photo-col {
        width: 100%;
        max-width: 100%;
        margin-top: 0 !important;
    }
    .cesi-custom-transfer__photo {
        width: 100%;
        height: auto;
    }
    .cesi-custom-transfer__content-col {
        padding-top: 20px;
        padding-bottom: 60px;
        width: 100%;
    }
    .cesi-custom-transfer__bg {
        top: 0 !important;
    }
}
@media (max-width: 767px) {
    .cesi-custom-transfer__container {
        padding: 0 20px;
    }
}

/* --- FIX BUTTON SQUEEZE --- */

.cesi-custom-transfer-wrapper {
    flex-direction: column !important;
    align-items: center !important;
    padding-bottom: 0 !important;
}

/* Remove absolute positioning from footer so it flows naturally */
.cesi-custom-transfer__footer {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    margin-top: 40px !important; /* Gap exactly from Figma */
    margin-bottom: 0 !important;
    z-index: 5 !important;
}

/* We want the background to end halfway up the button */
/* Button is roughly 50-54px high. Thus bottom: 27px will center it perfectly */
.cesi-custom-transfer__bg {
    bottom: -23px !important;
}


/* =========================================================
   CUSTOM CESI CALENDAR BLOCK (ISOLATED CSS)
   ========================================================= */

.cesi-custom-calendar-wrapper {
    position: relative !important;
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    max-width: none !important;
    left: auto !important;
    transform: none !important;
    padding-top: 40px;
    padding-bottom: 60px;
    margin-bottom: 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #F5F5F5;
}

.cesi-custom-calendar__main-title {
    color: #FF6A00;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    line-height: 1.14 !important;
    text-transform: uppercase;
    text-align: center;
    margin: 0 0 24px 0 !important;
}

.cesi-custom-calendar__container {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
    gap: 16px;
    width: 100%;
    max-width: 1050px;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    height: auto; /* Removed fixed height to prevent clipping */
}

.cesi-custom-calendar__left-col {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 16px;
}

.cesi-custom-calendar__card {
    border-radius: 16px;
    padding: 48px 40px;
    display: flex;
    flex-direction: column;
    flex: 1;
    position: relative;
    overflow: hidden;
}

.cesi-custom-calendar__card--orange {
    background-color: #FF6A00;
    color: #ffffff;
}

.cesi-custom-calendar__card-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/local/templates/aspro-allcorp3/assets/images/e541e74b12ac60e3e6da5b26cc914748454e5aa6.webp');
    background-size: cover;
    background-position: center;
    opacity: 0.15;
    z-index: 1;
}

.cesi-custom-calendar__card-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.cesi-custom-calendar__card--white {
    background-color: #ffffff;
    border: 0.7px solid #9E9E9E;
}

.cesi-custom-calendar__card-title,
.cesi-custom-calendar__card-title-dark {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.36 !important;
    text-transform: uppercase;
    margin: 0 !important;
}
.cesi-custom-calendar__card-title-dark {
    color: #000000;
}

.cesi-custom-calendar__list,
.cesi-custom-calendar__list-dark {
    list-style: disc;
    padding-left: 25px;
    margin: 0;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 24px !important;
}
.cesi-custom-calendar__list-dark {
    color: #000000;
}

.cesi-custom-calendar__btn {
    align-self: flex-start;
    margin-top: auto;
    background-color: #FF6A00 !important;
    color: #fff !important;
    border: 0.7px solid #FF6A00 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 16px 30px !important;
    border-radius: 136px !important;
    text-transform: uppercase !important;
    cursor: pointer;
    transition: background 0.3s ease !important;
    height: auto !important;
    position: relative;
    z-index: 2;
}

.cesi-custom-calendar__btn:hover {
    background-color: #E65C00 !important;
}

.cesi-custom-calendar__right-col {
    width: 618px; /* Max width from figma */
    flex-shrink: 0;
    display: flex;
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background-color: #e0e0e0; /* Fallback */
}

.cesi-custom-calendar__photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 16px;
}

@media (max-width: 991px) {
    .cesi-custom-calendar__container {
        flex-direction: column;
        height: auto;
        padding: 0 40px;
    }
    .cesi-custom-calendar__right-col {
        width: 100%;
        height: 400px;
    }
}
@media (max-width: 767px) {
    .cesi-custom-calendar__container {
        padding: 0 20px;
    }
}

/* --- Fix Calendar Card Overflow & Fonts --- */
.cesi-custom-calendar__btn {
    margin-top: 32px !important;
    margin-bottom: 0 !important;
}
.cesi-custom-calendar__container {
    height: auto !important;
    min-height: 525px;
}
.cesi-custom-calendar__card-title,
.cesi-custom-calendar__list li {
    color: #ffffff !important;
}
.cesi-custom-calendar__card-title-dark,
.cesi-custom-calendar__list-dark li {
    color: #000000 !important;
}
.cesi-custom-calendar__list li,
.cesi-custom-calendar__list-dark li {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 24px !important;
    margin-bottom: 8px !important;
}

/* --- Fix Calendar List Bullets (Override Aspro Dashes) --- */
.cesi-custom-calendar__list,
.cesi-custom-calendar__list-dark {
    list-style-type: disc !important;
    padding-left: 20px !important;
}

.cesi-custom-calendar__list li,
.cesi-custom-calendar__list-dark li {
    display: list-item !important;
    list-style-type: disc !important;
    list-style-position: outside !important;
}

/* Hide the pseudo-element dashes injected by the template */
.cesi-custom-calendar__list li::before,
.cesi-custom-calendar__list-dark li::before,
.cesi-custom-calendar__list li::after,
.cesi-custom-calendar__list-dark li::after {
    display: none !important;
    content: none !important;
}

/* --- Fix space between previous block button and grey background --- */
.cesi-custom-calendar-wrapper {
    margin-top: 56px !important;
}

/* --- Fix Calendar Background and Margin --- */
.cesi-custom-calendar-wrapper {
    background-color: transparent !important;
    padding-top: 0 !important;
    margin-top: 56px !important; /* Total distance from previous block to title */
    border: none !important;
}

/* --- Mobile Adaptation --- */
@media (max-width: 991px) {
    /* Reset huge padding */
    .hero-page__container,
    .container--applicants-layout,
    .applicants-full-blocks {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    /* Hide Side Menu */
    .sidebar-nav {
        display: none !important;
    }

    /* Stack layout */
    .container--applicants-layout {
        display: block !important;
    }

    /* Fluid typography for titles */
    .hero-page__title--applicants {
        font-size: clamp(28px, 8vw, 61px) !important;
    }
    .hero-page__title--specialties {
        font-size: clamp(24px, 7vw, 55.2px) !important;
    }
    .section-title--left,
    .section-title--center,
    .admission-overview__title {
        font-size: clamp(16px, 7vw, 31.97px) !important;
        word-break: normal !important;
    }

    /* Shrink pills to fit text on one line */
    .applicants-intro__pills {
        gap: 8px !important;
        width: 100% !important;
    }
    .btn-custom-pill {
        font-size: clamp(8px, 2.7vw, 14.96px) !important;
        padding: 8px 12px !important;
        height: auto !important;
        min-height: 40px !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    /* Fix Admission Steps Grid */
    .admission-steps {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }
    .admission-step__line {
        display: none !important;
    }
    .admission-step__text {
        max-width: 100% !important;
    }

    /* Reset blocks spacing */
    .applicants-full-blocks {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

    /* Global mobile gap reset for main content */
    .applicants-content {
        gap: 48px !important;
    }

    /* Auto-layout for Helpers Grid (photos with tasks) */
    .helpers-grid {
        flex-direction: column !important;
    }

    /* Auto-layout for Specialties Banner */
    .specialties-banner-block {
        margin-top: 48px !important;
        margin-bottom: 48px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    .specialties-banner {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        height: auto !important;
        min-height: auto !important;
    }
    .specialties-banner__content,
    .specialties-banner__image-wrapper {
        position: relative !important;
        width: 100% !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        height: auto !important;
    }
    .specialties-banner__image-wrapper {
        aspect-ratio: 595 / 346 !important;
    }

    /* Auto-layout for Formats and Credit Grids */
    .formats-cards-grid,
    .credit-cards-grid {
        grid-template-columns: 1fr !important;
    }

    /* Auto-layout for Transfer Block */
    .transfer-block {
        flex-direction: column !important;
        gap: 24px !important;
    }
    .transfer-block__image-wrapper {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 478 / 606 !important;
    }
    .transfer-block__desc {
        font-size: 16px !important;
        line-height: normal !important;
    }

    /* Auto-layout for Events Calendar Grid */
    .events-calendar__grid {
        grid-template-columns: 1fr !important;
    }
    .events-card,
    .cesi-custom-calendar-wrapper {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    .cesi-custom-calendar__btn {
        font-size: 13px !important;
        padding: 12px 16px !important;
        height: auto !important;
        min-height: 48px !important;
        max-width: 100% !important;
        box-sizing: border-box;
        width: 100% !important;
        white-space: normal !important;
        line-height: 1.2 !important;
        text-align: center !important;
    }

    /* Remove grey bleed */
    body, div.main, .wrapper_inner, .page_wrapper {
        background-color: #ffffff !important;
    }
}

/* =========================================================================
   ABITURIENTAM PAGE - CTA MOBILE FIX (AI GENERATED)
   ========================================================================= */

@media (max-width: 1024px) {
    .cta-section {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 20px !important;
        width: 100% !important;
        padding: 40px 15px !important; /* Safe mobile padding */
        box-sizing: border-box !important;
    }

    .cta-section__content {
        width: 100% !important;
        text-align: left !important;
    }

    .cta-section__actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
        width: 100% !important;
        align-items: stretch !important;
        margin: 0 !important;
    }

    .cta-section__actions .btn-custom,
    .cta-section__btn-outline,
    .cta-section__btn-primary {
        width: 100% !important;
        max-width: 100% !important;
        white-space: normal !important; /* Ensure long text can wrap if needed */
        height: auto !important;
        min-height: 50px !important;
        padding: 12px 20px !important;
        text-align: center !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }
}

/* =========================================================================
   ABITURIENTAM PAGE - CTA MARGIN FIX (AI GENERATED)
   ========================================================================= */

@media (max-width: 1024px) {
    .cta-section {
        /* Reduce the massive desktop vertical gaps */
        margin-top: 20px !important;
        margin-bottom: 30px !important;
        padding-top: 30px !important;
        padding-bottom: 30px !important;
    }
}
/* =========================================================================
   ABITURIENTAM PAGE - FINAL MARGIN & WHITESPACE FIX (AI GENERATED)
   ========================================================================= */

@media (max-width: 1024px) {
    /* 1. Eliminate the huge dead white space below the grey CTA block */
    .cta-section {
        margin-bottom: 0 !important;
    }

    .applicants-full-blocks,
    .container--applicants-layout,
    .applicants-content {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    /* 2. Make the grey block itself more compact vertically */
    .cta-section {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
        gap: 25px !important; /* Nice breathing room between text and buttons */
    }

    .cta-section__title {
        margin-bottom: 12px !important; /* Tighter gap between title and desc */
    }

    /* 3. Ensure the footer securely hugs the bottom of the page without a huge gap */
    footer#footer, footer.footer-1, footer.footer {
        margin-top: 0 !important;
        padding-top: 40px !important;
    }
}


/* =========================================================================
   MOBILE HERO TITLE WHITE COLOR FIX
   ========================================================================= */
@media (max-width: 991px) {
    .page-top h1,
    .page-top .page-title,
    .page-top .page-title__title,
    .page-top .topic__heading,
    .hero-page h1,
    .hero-page .page-title__title,
    .hero-page .page-title,
    .hero-page .hero-page__title,
    .hero-page__title,
    .hero-page__title--applicants,
    .hero-page__title--specialties {
        color: #ffffff !important;
    }
}


/* End */
/* /local/templates/aspro-allcorp3/assets/css/pages/_common-layout.css?17786688966191 */
/* /local/templates/aspro-allcorp3/assets/css/pages/parents.css?1776423740146 */
/* /local/templates/aspro-allcorp3/assets/css/applicants.css?178782017349036 */
