/* =========================================================
   DAY IN HAPPY CHILD
   Mobile first
   ========================================================= */

.hc-day {
    position: relative;
    overflow: hidden;
    background: #fffdf9;
    color: #12345b;
    font-family: 'Montserrat', sans-serif;
}

.hc-day *,
.hc-day *::before,
.hc-day *::after {
    box-sizing: border-box;
}

.hc-day__container {
    position: relative;
    max-width: 1540px;
    margin: 0 auto;
    padding: 48px 20px 54px;
}


/* =========================================================
   MAIN
   ========================================================= */

.hc-day__main {
    display: flex;
    flex-direction: column;
    gap: 38px;
}


/* =========================================================
   PHOTO
   ========================================================= */

.hc-day__visual {
    position: relative;
    width: 100%;
    padding-bottom: 34px;
}

.hc-day__photo {
    position: relative;
    z-index: 1;
    width: 100%;
    aspect-ratio: 1 / 0.88;
    overflow: hidden;
    border-radius: 50%;
}

.hc-day__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: fill;
}


/* Возраст */

.hc-day__age {
    position: relative;
    z-index: 3;
    width: 210px;
    margin: -40px auto 0;
    padding: 16px 20px 18px;
    text-align: center;
    background: #ffd958;
    border-radius: 50%;
    transform: rotate(-4deg);
    box-shadow: 0 6px 18px rgba(20, 52, 91, 0.08);
}

.hc-day__age-small {
    display: block;
    margin-bottom: 3px;
    color: #12345b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
}

.hc-day__age strong {
    display: block;
    color: #ff5a1f;
    font-size: 27px;
    font-weight: 800;
    line-height: 1.1;
}


/* =========================================================
   DECOR
   ========================================================= */

.hc-day__decor {
    position: absolute;
    z-index: 2;
    pointer-events: none;
    user-select: none;
}

.hc-day__decor--heart {
    top: -22px;
    right: 8px;
    width: 42px;
    transform: rotate(12deg);
}

.hc-day__decor--leaf {
    left: -4px;
    bottom: 40px;
    width: 42px;
    transform: rotate(-18deg);
}

.hc-day__decor--rays {
    left: 3px;
    bottom: 78px;
    width: 44px;
}


/* =========================================================
   SCHEDULE HEADING
   ========================================================= */

.hc-day__schedule {
    position: relative;
}

.hc-day__heading {
    position: relative;
    margin-bottom: 30px;
}

.hc-day__heading-text {
    position: relative;
    z-index: 2;
}

.hc-day__title {
    position: relative;
    display: inline-block;
    margin: 0 0 18px;
    color: #12345b;
    font-size: 31px;
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.6px;
}

.hc-day__title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -9px;
    width: 52px;
    height: 3px;
    border-radius: 10px;
    background: #ff5a1f;
}

.hc-day__title span {
    color: #ff5a1f;
}

.hc-day__subtitle {
    max-width: 520px;
    margin: 0;
    color: #526982;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.55;
}

.hc-day__sun {
    position: absolute;
    z-index: 1;
    top: -20px;
    right: -10px;
    width: 70px;
    opacity: 0.9;
}


/* =========================================================
   TIMELINE
   ========================================================= */

.hc-day__timeline {
    position: relative;
}

.hc-day-event {
    position: relative;
    display: grid;
    grid-template-columns: 48px 42px minmax(0, 1fr);
    column-gap: 10px;
    min-height: 76px;
    padding-bottom: 13px;
}


/* Вертикальная линия */

.hc-day-event::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 41px;
    bottom: -2px;
    left: 69px;
    width: 2px;
    background: #ff6a32;
}

.hc-day-event:last-child::after {
    display: none;
}


/* Время */

.hc-day-event__time {
    padding-top: 10px;
    color: #ff5a1f;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}


/* Иконка */

.hc-day-event__icon {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #fff1e9;
}

.hc-day-event__icon img {
    display: block;
    width: 35px;
    height: 35px;
    object-fit: contain;
}


/* Разные мягкие фоны */

.hc-day-event:nth-child(2) .hc-day-event__icon,
.hc-day-event:nth-child(5) .hc-day-event__icon,
.hc-day-event:nth-child(7) .hc-day-event__icon {
    background: #fff0cf;
}

.hc-day-event:nth-child(3) .hc-day-event__icon,
.hc-day-event:nth-child(9) .hc-day-event__icon {
    background: #e5f4ff;
}

.hc-day-event:nth-child(4) .hc-day-event__icon {
    background: #e4f8e6;
}

.hc-day-event:nth-child(6) .hc-day-event__icon,
.hc-day-event:nth-child(8) .hc-day-event__icon {
    background: #eee5ff;
}

.hc-day-event:nth-child(10) .hc-day-event__icon {
    background: #ffe4ec;
}


/* Текст события */

.hc-day-event__content {
    min-width: 0;
    padding: 6px 10px 10px 12px;
    border-radius: 14px;
    background: rgba(255, 248, 241, 0.72);
}

.hc-day-event__content h3 {
    margin: 0 0 4px;
    color: #12345b;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.25;
}

.hc-day-event__content p {
    margin: 0;
    color: #61738a;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
}


/* =========================================================
   EXTRA ACTIVITIES
   ========================================================= */

.hc-day__extra {
    position: relative;
    z-index: 2;
    margin-top: 48px;
}

.hc-day__extra-head {
    margin-bottom: 24px;
}

.hc-day__extra-title {
    position: relative;
    margin: 0 0 20px;
    color: #12345b;
    font-size: 26px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.4px;
}

.hc-day__extra-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -9px;
    width: 52px;
    height: 3px;
    border-radius: 10px;
    background: #ff5a1f;
}

.hc-day__extra-note {
    margin: 0;
    color: #61738a;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
}


/* Карточки */

.hc-day__extra-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}

.hc-day-extra {
    position: relative;
    min-height: 176px;
    overflow: hidden;
    padding: 20px 128px 20px 18px;
    border: 1px solid #f3eee8;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 7px 24px rgba(20, 52, 91, 0.05);
}

.hc-day-extra__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 12px;
    border-radius: 50%;
    background: #fff0e8;
}

.hc-day-extra__icon img {
    display: block;
    width: 35px;
    height: 35px;
    object-fit: contain;
}

.hc-day-extra:nth-child(2) .hc-day-extra__icon {
    background: #f5e7ff;
}

.hc-day-extra:nth-child(3) .hc-day-extra__icon {
    background: #fff0cf;
}

.hc-day-extra:nth-child(4) .hc-day-extra__icon {
    background: #e5f8e8;
}

.hc-day-extra:nth-child(5) .hc-day-extra__icon {
    background: #e5f4ff;
}

.hc-day-extra__content {
    position: relative;
    z-index: 2;
}

.hc-day-extra__content h3 {
    margin: 0 0 8px;
    color: #12345b;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.2;
}

.hc-day-extra__content p {
    margin: 0;
    color: #61738a;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.45;
}

.hc-day-extra__person {
    position: absolute;
    z-index: 1;
    right: -5px;
    bottom: 0;
    width: 135px;
    height: 155px;
    object-fit: contain;
    object-position: right bottom;
}


/* =========================================================
   CTA
   ========================================================= */

.hc-day__actions {
    position: relative;
    z-index: 3;
    display: flex;
    justify-content: center;
    margin-top: 30px;
}

.hc-day__button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    width: 100%;
    min-height: 58px;
    padding: 14px 24px;
    border-radius: 999px;
    background: #ff5a1f;
    color: #fff;
    text-decoration: none;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.2;
    box-shadow: 0 9px 24px rgba(255, 90, 31, 0.2);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.hc-day__button:hover,
.hc-day__button:focus {
    background: #f24c12;
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(255, 90, 31, 0.27);
}

.hc-day__button-arrow {
    font-size: 29px;
    font-weight: 400;
    line-height: 1;
}


/* Нижний декор */

.hc-day__decor--bottom-leaf,
.hc-day__decor--star,
.hc-day__decor--button-rays,
.hc-day__decor--cloud {
    display: none;
}



/* =========================================================
   ЦВЕТА ИКОНОК РАСПИСАНИЯ
   ========================================================= */

/* 01 Встречаем детей, оранжевый */
.hc-day-event:nth-child(1) .hc-day-event__icon img {
    filter: invert(44%) sepia(98%) saturate(2928%) hue-rotate(347deg) brightness(102%) contrast(101%);
}

/* 02 Завтрак, жёлто-оранжевый */
.hc-day-event:nth-child(2) .hc-day-event__icon img {
    filter: invert(67%) sepia(91%) saturate(1274%) hue-rotate(359deg) brightness(98%) contrast(95%);
}

/* 03 Занятия, синий */
.hc-day-event:nth-child(3) .hc-day-event__icon img {
    filter: invert(47%) sepia(95%) saturate(2751%) hue-rotate(191deg) brightness(99%) contrast(94%);
}

/* 04 Прогулка, зелёный */
.hc-day-event:nth-child(4) .hc-day-event__icon img {
    filter: invert(60%) sepia(74%) saturate(541%) hue-rotate(78deg) brightness(92%) contrast(91%);
}

/* 05 Обед, оранжевый */
.hc-day-event:nth-child(5) .hc-day-event__icon img {
    filter: invert(44%) sepia(98%) saturate(2928%) hue-rotate(347deg) brightness(102%) contrast(101%);
}

/* 06 Дневной сон, фиолетовый */
.hc-day-event:nth-child(6) .hc-day-event__icon img {
    filter: invert(31%) sepia(91%) saturate(3186%) hue-rotate(251deg) brightness(91%) contrast(101%);
}

/* 07 Полдник, жёлто-оранжевый */
.hc-day-event:nth-child(7) .hc-day-event__icon img {
    filter: invert(67%) sepia(91%) saturate(1274%) hue-rotate(359deg) brightness(98%) contrast(95%);
}

/* 08 Развивающие занятия, фиолетовый */
.hc-day-event:nth-child(8) .hc-day-event__icon img {
    filter: invert(31%) sepia(91%) saturate(3186%) hue-rotate(251deg) brightness(91%) contrast(101%);
}

/* 09 Свободная деятельность, синий */
.hc-day-event:nth-child(9) .hc-day-event__icon img {
    filter: invert(47%) sepia(95%) saturate(2751%) hue-rotate(191deg) brightness(99%) contrast(94%);
}

/* 10 Домой, розовый */
.hc-day-event:nth-child(10) .hc-day-event__icon img {
    filter: invert(42%) sepia(83%) saturate(1611%) hue-rotate(311deg) brightness(99%) contrast(89%);
}


/* =========================================================
   ЦВЕТНЫЕ ИКОНКИ ДОПОЛНИТЕЛЬНЫХ ЗАНЯТИЙ
   ========================================================= */

/* Логопед */
.hc-day .hc-day-extra:nth-child(1) .hc-day-extra__icon img {
    filter: invert(44%) sepia(98%) saturate(2928%)
            hue-rotate(347deg) brightness(102%) contrast(101%);
}

/* Музыка */
.hc-day .hc-day-extra:nth-child(2) .hc-day-extra__icon img {
    filter: invert(35%) sepia(95%) saturate(2428%)
            hue-rotate(272deg) brightness(96%) contrast(96%);
}

/* Театр */
.hc-day .hc-day-extra:nth-child(3) .hc-day-extra__icon img {
    filter: invert(67%) sepia(91%) saturate(1274%)
            hue-rotate(359deg) brightness(98%) contrast(95%);
}

/* Хореография */
.hc-day .hc-day-extra:nth-child(4) .hc-day-extra__icon img {
    filter: invert(60%) sepia(74%) saturate(541%)
            hue-rotate(78deg) brightness(92%) contrast(91%);
}

/* Конструирование */
.hc-day .hc-day-extra:nth-child(5) .hc-day-extra__icon img {
    filter: invert(47%) sepia(95%) saturate(2751%)
            hue-rotate(191deg) brightness(99%) contrast(94%);
}


/* =========================================================
   Планшет
   ========================================================= */

@media (min-width: 768px) {

    .hc-day__container {
        padding: 60px 32px 64px;
    }

    .hc-day__main {
        gap: 50px;
    }

    .hc-day__visual {
        max-width: 600px;
        margin: 0 auto;
    }

    .hc-day__photo {
        aspect-ratio: 1.15 / 1;
    }

    .hc-day__age {
        width: 235px;
    }

    .hc-day__age-small {
        font-size: 15px;
    }

    .hc-day__age strong {
        font-size: 31px;
    }

    .hc-day__title {
        font-size: 39px;
    }

    .hc-day__subtitle {
        font-size: 16px;
    }

    .hc-day__sun {
        width: 88px;
        right: 10px;
    }

    .hc-day-event {
        grid-template-columns: 58px 48px minmax(0, 1fr);
        column-gap: 13px;
        min-height: 82px;
    }

    .hc-day-event::after {
        left: 81px;
        top: 47px;
    }

    .hc-day-event__time {
        font-size: 14px;
        padding-top: 13px;
    }

    .hc-day-event__icon {
        width: 48px;
        height: 48px;
    }

    .hc-day-event__content {
        padding: 8px 14px 12px;
    }

    .hc-day-event__content h3 {
        font-size: 18px;
    }

    .hc-day-event__content p {
        font-size: 14px;
    }

    .hc-day__extra-title {
        font-size: 31px;
    }

    .hc-day__extra-head {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 30px;
    }

    .hc-day__extra-note {
        max-width: 340px;
        text-align: right;
    }
	
	.hc-day-extra__content h3 {
        font-size: 18px;
    }

    .hc-day-extra__content p {
        font-size: 14px;
    }

    .hc-day__extra-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hc-day-extra {
        min-height: 190px;
    }

    .hc-day__button {
        max-width: 500px;
        min-height: 64px;
        font-size: 19px;
    }

}


/* =========================================================
   Небольшой desktop
   ========================================================= */

@media (min-width: 992px) {

    .hc-day__container {
        padding-top: 70px;
        padding-bottom: 72px;
    }

    .hc-day__main {
        display: grid;
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
        align-items: start;
        gap: 48px;
    }

    .hc-day__visual {
        max-width: none;
        margin: 0;
        padding-bottom: 50px;
    }

    .hc-day__photo {
        aspect-ratio: 1 / 0.94;
    }

    .hc-day__age {
        position: absolute;
        left: 40px;
        bottom: 0;
        width: 225px;
        margin: 0;
    }

    .hc-day__decor--heart {
        top: 8px;
        right: -15px;
        width: 48px;
    }

    .hc-day__decor--leaf {
        left: 5px;
        bottom: 30px;
        width: 48px;
    }

    .hc-day__decor--rays {
        left: 0;
        bottom: 82px;
        width: 50px;
    }

    .hc-day__heading {
        padding-right: 90px;
    }

    .hc-day__title {
        font-size: 38px;
    }

    .hc-day__sun {
        top: -16px;
        right: 0;
        width: 82px;
    }

    .hc-day-event {
        grid-template-columns: 56px 44px minmax(0, 1fr);
        column-gap: 10px;
        min-height: 68px;
        padding-bottom: 9px;
    }

    .hc-day-event::after {
        left: 77px;
        top: 43px;
    }

    .hc-day-event__icon {
        width: 44px;
        height: 44px;
    }

    .hc-day-event__content {
        padding: 6px 10px 8px;
    }

    .hc-day-event__content h3 {
        font-size: 18px;
    }

    .hc-day-event__content p {
        font-size: 14px;
    }

    .hc-day__extra {
        margin-top: 58px;
    }

    .hc-day__extra-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 12px;
    }

    .hc-day-extra {
        min-height: 210px;
        padding: 18px 12px 110px 15px;
    }

    .hc-day-extra__content h3 {
        font-size: 18px;
    }

    .hc-day-extra__content p {
        font-size: 14px;
    }

    .hc-day-extra__person {
        right: -8px;
        width: 120px;
        height: 130px;
    }

    .hc-day__button {
        max-width: 540px;
    }

}


/* =========================================================
   Desktop
   ========================================================= */

@media (min-width: 1200px) {

    .hc-day__container {
        padding: 76px 32px 76px;
    }

    .hc-day__main {
        grid-template-columns: minmax(0, 0.98fr) minmax(0, 1.02fr);
        gap: 58px;
    }

    .hc-day__photo {
        aspect-ratio: 1.05 / 0.9;
    }

    .hc-day__age {
        left: 60px;
        width: 250px;
        padding: 18px 22px 20px;
    }

    .hc-day__age-small {
        font-size: 16px;
    }

    .hc-day__age strong {
        font-size: 34px;
    }

    .hc-day__title {
        font-size: 44px;
    }

    .hc-day__subtitle {
        max-width: 570px;
        font-size: 16px;
    }

    .hc-day__sun {
        width: 96px;
    }

    .hc-day-event {
        grid-template-columns: 60px 48px minmax(0, 1fr);
        column-gap: 13px;
        min-height: 72px;
    }

    .hc-day-event::after {
        left: 83px;
        top: 47px;
    }

    .hc-day-event__time {
        font-size: 14px;
    }

    .hc-day-event__icon {
        width: 48px;
        height: 48px;
    }

    .hc-day-event__content h3 {
        font-size: 18px;
    }

    .hc-day-event__content p {
        font-size: 14px;
    }

    .hc-day__extra-title {
        font-size: 34px;
    }

    .hc-day__extra-note {
        max-width: 480px;
        font-size: 16px;
    }

    .hc-day__extra-grid {
        gap: 14px;
    }

    .hc-day-extra {
        min-height: 190px;
        padding: 18px 88px 88px 16px;
    }

    .hc-day-extra__content h3 {
        font-size: 18px;
    }

    .hc-day-extra__content p {
        font-size: 14px;
    }

    .hc-day-extra__person {
        width: 125px;
        height: 145px;
    }

    .hc-day__actions {
        margin-top: 34px;
    }

    .hc-day__button {
        max-width: 590px;
        min-height: 68px;
        font-size: 21px;
    }

}


/* =========================================================
   Большой desktop
   ========================================================= */

@media (min-width: 1500px) {

    .hc-day__container {
        padding-top: 82px;
        padding-bottom: 82px;
    }

    .hc-day__main {
        grid-template-columns: 650px minmax(0, 1fr);
        gap: 70px;
    }

    .hc-day__photo {
        height: 540px;
        aspect-ratio: auto;
    }

    .hc-day__age {
        left: 65px;
        width: 270px;
    }

    .hc-day__age strong {
        font-size: 37px;
    }

    .hc-day__title {
        font-size: 48px;
    }

    .hc-day__subtitle {
        font-size: 17px;
    }

    .hc-day__heading {
        padding-right: 115px;
    }

    .hc-day__sun {
        width: 105px;
    }

    .hc-day-event {
        grid-template-columns: 64px 50px minmax(0, 1fr);
        column-gap: 15px;
        min-height: 70px;
    }

    .hc-day-event::after {
        left: 88px;
        top: 49px;
    }

    .hc-day-event__time {
        font-size: 15px;
    }

    .hc-day-event__icon {
        width: 50px;
        height: 50px;
    }

    .hc-day-event__content h3 {
        font-size: 20px;
        padding-bottom: 8px;
    }

    .hc-day-event__content p {
        font-size: 16px;
    }

    .hc-day__extra {
        margin-top: 64px;
    }

    .hc-day__extra-grid {
        gap: 16px;
    }

    .hc-day-extra {
        min-height: 190px;
        padding: 19px 100px 80px 18px;
    }

    .hc-day-extra__content h3 {
    	font-size: 20px;
        padding-bottom: 8px;
    }

    .hc-day-extra__content p {
        font-size: 16px;
    }

    .hc-day-extra__person {
        width: 145px;
        height: 155px;
    }

    .hc-day__button {
        max-width: 620px;
        min-height: 72px;
        font-size: 23px;
    }


    /* Декор имеет смысл возвращать только там,
       где для него действительно есть место */

    .hc-day__decor--bottom-leaf {
        display: block;
        left: 20px;
        bottom: 24px;
        width: 52px;
        transform: rotate(-20deg);
    }

    .hc-day__decor--star {
        display: block;
        right: 35px;
        bottom: 255px;
        width: 36px;
        transform: rotate(12deg);
    }

    .hc-day__decor--button-rays {
        display: block;
        left: calc(50% - 350px);
        bottom: 86px;
        width: 50px;
    }

    .hc-day__decor--cloud {
        display: block;
        z-index: 0;
        left: 25%;
        bottom: 0;
        width: 220px;
        opacity: 0.75;
    }

}