/*! ANDONA (c) 2026 https://www.andona.click */
:root {}


.as-mt-30 {
    margin-top: 30px
}
.as-mt-20-30 {
    margin-top: 20px
}
.as-mt-20-40 {
    margin-top: 20px
}

.as-mb-30 {
    margin-bottom: 30px
}
.as-mb-20-30 {
    margin-bottom: 20px
}
.as-mb-30-40 {
    margin-bottom: 30px
}
.as-mb-30-50 {
    margin-bottom: 30px
}
.as-my-20-30 {
    margin-block: 20px
}

@media (min-width: 1200px) {
    .as-mt-20-30 {
        margin-top: 30px
    }
    .as-mt-20-40 {
        margin-top: 40px
    }

    .as-mb-20-30 {
        margin-bottom: 30px
    }
    .as-mb-30-40 {
        margin-bottom: 40px
    }
    .as-mb-30-50 {
        margin-bottom: 50px
    }

    .as-my-20-30 {
        margin-block: 30px
    }
}

/*
 * Contact Form 7
 */
.wpcf7 .screen-reader-response {
    position: absolute;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    word-wrap: normal !important;
}
.wpcf7 form .wpcf7-response-output {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
    font-size: 12px;
    text-align: center;
    display: none;
}

.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
    display: none;
}

.wpcf7-form-control-wrap {
    position: relative;
}
.wpcf7-not-valid {
    border: 1px solid var(--primary-color);
}
.wpcf7-not-valid-tip {
    color: var(--primary-color);
    font-size: 12px;
    font-weight: normal;
    position: absolute;
    display: none;
}
.wpcf7 .wpcf7-submit:disabled {
    cursor: not-allowed;
}
.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"] {
    direction: ltr;
}
.wpcf7-reflection > output {
    display: list-item;
    list-style: none;
}
.wpcf7-spinner, form.submitting .wpcf7-spinner {
    display: none;
}

.uk-input:focus::placeholder {
    color: transparent;
}

/*
 * ...
 */

.as-block-icon-primary {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--secondary-color);

    &:before {
        content: '';
        width: 24px;
        height: 24px;
        background: url(../img/icon/play.svg) no-repeat center/contain;
    }
}

.as-buttons-group {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;

    & .uk-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
    }

    @media (min-width: 1200px) {
        & {
            flex-wrap: nowrap;
        }
    }
}

.as-labels-block {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
@media (min-width: 1200px) {
    .as-labels-block {
        margin-block: 30px;
    }
}

.as-button-outline {
    background-color: #fff;
    border: 1px solid #0A0A0A;

    &:hover {
        background-color: var(--muted-background);
    }
}


/* -------------------------------------------------------------- *
 * ------------------- #asHeader
** ------------------------------------------------------------ */
#asHeader {
    padding-block: 20px 25px;
}
#asHeader-panel {
    gap: 10px;
}
#asHeader-contact {
    gap: 10px;

    & .as-contact-phone {
        margin-left: 15px;
    }
}

@media (min-width: 1200px) {
    #asHeader {
        padding-block: 27px 36px;
    }
}

@media (max-width: 1199px) {
    #asHeader-panel .uk-logo {
        width: 100px;
    }
}


/* -------------------------------------------------------------- *
 * ------------------- Content
** ------------------------------------------------------------ */
#as-section-hero {
    color: #fff;
    letter-spacing: -0.13px;
}
#as-sec-hero-wrap {
    height: 730px;
    padding: 20px;
    box-sizing: border-box;
}
#as-sec-hero-panel {
    max-width: 623px;
    box-sizing: border-box;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

@media (min-width: 1200px) {
    #as-sec-hero-wrap {
        height: 800px;
        padding: 50px;
    }
    #as-sec-hero-top {
        letter-spacing: -0.48px;
    }
}


/* ================ about */
#as-section-about {
    padding-top: 150px;
    color: var(--secondary-color);
}
#as-sec-about-desc > * {
    max-width: 643px;
}

@media (min-width: 1200px) {
    #as-section-about {
        padding-top: 200px;
    }
}
@media (max-width: 1199px) {
    #as-section-about {
        padding-bottom: 25px;
    }
}


/* ================ programs */
#as-section-programs {}
#as-sec-programs-blocks {
    display: grid;
    gap: 20px;
}
.as-sec-program-block {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 560px;
}
.as-sec-program-block ul {
    padding-left: 20px;
}

@media (min-width: 1200px) {
    #as-sec-programs-blocks {
        grid-template-columns: 1fr 1fr;
    }
    .as-sec-program-block {
        height: 750px;
    }
}

@media (max-width: 1199px) {
    .as-program-block-2 .as-sec-program-figure img {
        height: 70px;
        width: auto;
    }
}


/* ================ instructions */
#as-section-instructions {}

#as-sec-instructions-list {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
    gap: 40px 20px;
}
.as-sec-instructions-block {
    display: grid;
}
.as-sec-instructions-number {
    margin-right: 5px;
}
.as-sec-instructions-desc ul {
    list-style-type: disc;
    padding-left: 20px;
}

@media (min-width: 1200px) {
    .as-sec-instructions-block {
        grid-template-columns: 520px 1fr;
        column-gap: 40px;
    }
    .as-sec-instructions-figure {
        margin: 0;
    }
}


/* ================ figure */
#as-section-figure {}

#as-sec-figure-block {
    display: flex;
    height: 760px;
}
#as-sec-figure-panel {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    max-width: 460px;
    padding: 30px 20px;
    box-sizing: border-box;
    background: rgba(36, 36, 36, 0.30);
    margin-top: auto;
}


@media (min-width: 1200px) {
    #as-sec-figure-block {
        height: 800px;
    }
    #as-sec-figure-panel {
        height: 100%;
        padding: 50px;
    }
}


/* ================ price */
#as-section-price {}

#as-sec-price-slider {
    margin-top: 30px;
    overflow: visible;
}

#as-sec-price-header {
    max-width: 703px;
}

.as-price-slider-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 600px;
    padding: 30px;
}

.as-price-slider-images {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;

    & > li:not(:first-child) {
        margin-left: -10px;
    }

    & img {
        border-radius: 50%;
    }
}

.as-price-slider-quantity {
    gap: 20px;

    & > * {
        gap: 10px;
    }
}

#as-sec-price-slider .uk-slidenav-container {
    position: absolute;
    right: 0;
    top: -102px;
}

#as-sec-price-slider .uk-slidenav-container .uk-invisible {
    visibility: visible !important;
}


@media (min-width: 1200px) {
    #as-sec-price-slider {
        margin-top: 50px;
    }
    .as-price-slider-card {
        min-height: 720px;
        padding: 40px;
    }
}
@media (max-width: 1199px) {
    #as-section-price .uk-slider-items > * {
        width: 330px;
    }
}


/* ================ FORM */
.as-form-content-block {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 0;
}

.as-form-content-figure {
    margin: 0;
}

.as-form-title {
    margin-block: 0 30px;
}
.as-form-block-items {
    margin-block: 30px;
}
.as-form-date {
    background-image: url(../img/icon/calendar-dark.svg);
    background-repeat: no-repeat;
    background-position: 26% 50%;
}

@media (min-width: 1200px) {
    .wpcf7 {
        height: 100%;
    }
    .as-form, .as-form-modal {
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    .as-form-title {
        margin-bottom: 0;
    }
    .as-form-content-block {
        grid-template-columns: 630px 1fr;
    }
    .as-form-content-form {
        order: -1;
    }
    .as-form-date {
        background-position: 34% 50%;
    }
}

@media (max-width: 1199px) {
    .as-form-agree label {
        display: flex;
    }
    .as-form-agree label .uk-radio {
        margin-top: 2px;
    }
}


/* ================ form-content */
#as-section-form-content {}


/* ================ faq */
.as-accordion-number {
    margin-block: 1px auto;
}
.as-accordion-question {
    margin-right: 25px;
}

@media (min-width: 1200px) {
    .as-accordion-number {
        margin-top: 3px;
    }
}


/* ================ Календарь */
div.flatpickr-calendar {
    --width-dayContainer: 307.875px;
    max-width: 307.875px;
    margin-top: 18px;
    font-size: 1rem;
    line-height: 24px;
    border-radius: 0;
    box-shadow: 8px 8px 13px 0 rgba(189, 189, 189, 0.10);
    top: 20px;
    width: 100%;
    padding: 0 0 20px;
    font-family: var(--font-family-defauil, sans-serif);
    box-sizing: border-box;

    & * {
        box-sizing: border-box;
    }

    /* Заголовок */
    & .flatpickr-months {
        margin-block: 15px;
    }
    & .flatpickr-months .flatpickr-prev-month,
    & .flatpickr-months .flatpickr-next-month {
        top: 13px;
        width: 34px;
        height: 34px;
        box-shadow: 8px 8px 13px rgba(189, 189, 189, 0.40);
        border-radius: 10px;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    & .flatpickr-prev-month {
        left: 30px !important;
    }
    & .flatpickr-next-month {
        right: 30px !important;
    }
    & div.flatpickr-current-month {
        font-size: 1rem;
        pointer-events: none;
    }
    & .flatpickr-current-month span.cur-month,
    & .flatpickr-current-month input.cur-year {
        font-weight: 400;
    }


    /* Дата  */
    & .flatpickr-rContainer {
        margin-inline: auto;
    }
    & .flatpickr-weekday {
        color: #0A0A0A;
        font-weight: 500;
        font-size: inherit;
    }

    /* Дата days */
    & .flatpickr-days {
        width: var(--width-dayContainer);
    }
    & .dayContainer {
        width: var(--width-dayContainer);
        max-width: var(--width-dayContainer);
    }
    & .flatpickr-day {
        border-radius: 0;
    }
    & .flatpickr-day.today {
        border-color: transparent;
        background: #F5F5F5;
        color: #000;
    }
    /* selected */
    & .flatpickr-day.selected,
    & .flatpickr-day.selected:hover {
        background: var(--primary-color);
        border-color: transparent;
        color: #fff;
    }
    /* blank */
    & .flatpickr-day.prevMonthDay,
    & .flatpickr-day.nextMonthDay {
        color: #A8A8A8;
    }

    @media (min-width: 370px) and (max-width: 1199px) {
        & {
            --width-dayContainer: 320px;
            max-width: 320px;
        }
        & .flatpickr-months {
            margin-block: 18px 15px;
        }
        & .flatpickr-day {
            margin: 3px;
        }

    }
    @media (min-width: 1200px) {
        & {
            --width-dayContainer: 450px;
            max-width: 530px;
            padding-bottom: 40px;
        }
        & .flatpickr-months {
            margin-block: 25px 30px;
        }
        & .flatpickr-months .flatpickr-prev-month,
        & .flatpickr-months .flatpickr-next-month {
            top: 20px;
        }
        & .flatpickr-day {
            margin: 10px;
        }
    }
}


/* ================ Form Modal */
#asFormModal {}


/* ================ Page thanks */
#asMain-thanks #as-sec-hero-panel {
    max-width: 480px;
}
@media (min-width: 1200px) {
    #asMain-thanks #as-sec-hero-panel {
        letter-spacing: -0.48px;
    }
}


/* -------------------------------------------------------------- *
 * ------------------- #asFooter
** ------------------------------------------------------------ */
main + footer {
    margin-top: 75px;
}
#asFooter {}

#asFooter-content {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px 20px;
}
#as-footer-contacts {
    margin-block: 30px 60px;
}

@media (min-width: 1200px) {
    main + footer {
        margin-top: 100px;
    }
    #asFooter-content {
        justify-content: space-between;
        grid-template-columns: 560px minmax(500px, 680px);

        & > * {
            height: 700px;
        }
    }
    #asFooter-content-left {
        display: flex;
        flex-direction: column;
    }
    #asFooter-brand-block {
        margin-top: auto;
        max-width: 540px;
    }
}

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