:root {
    --card-radius: 16px;
    --block-padding: 32px;
    --block-spacer: 60px;
}

.btn-show-more {
    background: var(--white-color);
}

.webinar-page {
    padding: var(--block-spacer) 0;
    background: #f2f4f7;
    color: rgba(33, 33, 33, 1);
}

.webinar-page .container {
    max-width: 1270px;
}

.webinar-page section {
    background: #ffffff;
    border-radius: var(--card-radius);
    padding: var(--block-padding);
    margin-bottom: var(--block-spacer);
}

.info {
    justify-content: start;
}

.info .info_item {
    margin-top: 0;
    text-decoration: none;
}

.promo-block {
    display: grid;
    align-items: stretch;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    padding: 0 !important;
    background: transparent !important;
    margin-top: var(--block-spacer);
}

.promo-card-left {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}


.title {
    font-weight: 600;
    letter-spacing: -2%;
    font-size: 36px;
    line-height: 48px;
}

.title-smal {
    font-size: 20px;
    line-height: 28px;
    font-weight: 500;
    letter-spacing: -2%;
}

.descr {
    font-weight: 200;
    font-size: 18px;
    line-height: 24px;
}

.event_title {
    font-size: 32px;
    line-height: 40px;
}

.brand-logo {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;

    border-radius: var(--card-radius);
}

.promo-info-right {
    background: #ffffff;
    border-radius: var(--card-radius);
    padding: var(--block-padding);
    display: flex;
    flex-direction: column;
    gap: 32px;
    align-items: flex-start;
}

.promo-info-right .btn {
    margin-top: auto;
}

/* 2. Стили секции "О мероприятии" */
.about-lead {
    margin-top: 40px;
}

.about-list {
    margin-top: 20px;
    list-style: none;
    padding-left: 0;
}

.about-list li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 16px;
    line-height: 1.5;
}

.about-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    font-weight: bold;
}

/* 3. Стили секции "О спикере" */
.speaker-card {
    display: grid;
    grid-template-columns: 1fr 285px;
    gap: var(--block-spacer);
    margin-top: 40px;
}

.speaker-card:first-of-type {
    margin-top: 60px;
}

.speaker-wrapper {
    display: flex;
    gap: 24px;
}

.speaker-photo-wrapper {
    width: 325px;
    height: 325px;
    border-radius: 20px;
    overflow: hidden;
    flex-shrink: 0;
}

.speaker-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}

.speaker-title {
    color: #888888;
    font-size: 14px;
    margin-bottom: 20px;
    line-height: 1.4;
}

.speaker-achievements {
    margin-top: 8px;
}

.speaker-contacts {
    display: flex;
    flex-direction: column;
}

.speaker-contacts .info {
    margin-top: 16px;
    flex-wrap: wrap;
    gap: 12px 0;
}

.contacts-list {
    list-style: none;
    padding-left: 0;
}

.contacts-list li {
    margin-bottom: 12px;
}

.contacts-list a {
    text-decoration: none;
    font-size: 14px;
    color: #0099ff;
}

/* 4. Стили секции "Подарок" */
.gift-block {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}

.gift-block .btn {
    flex-shrink: 0;
}

.gift-icon-box {
    width: 150px;
    height: 150px;
    flex-shrink: 0;
}

.gift-icon-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gift-left {
    display: flex;
    gap: var(--block-spacer);
    align-items: flex-start;
}

.gift-info .descr {
    margin-top: 12px;
}

/* Общая секция партнеров */
.partners-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 40px;
}

/* Карточка партнера */
.partners-section,
.webinars-section {
    padding: 0 !important;
    background: transparent !important;
}

.partner-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.partner-logo-box {
    background: #ffffff;
    border-radius: 20px;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px;
}

.partner-content .btn {
    margin-top: 12px;
}

.partner-logo-box img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.partner-content {
    padding: 20px;
}

.partner-content .descr {
    margin-top: 8px;
    font-size: 16px;
    line-height: 24px;
}

.more-link {
    color: #00a6de;
    font-weight: 500;
}

.partners-footer {
    display: flex;
    justify-content: center;
}

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

.question-descr {
    max-width: 500px;
}

/* Контейнер секции */
.webinars-section {
    padding: 40px 0;
}

.webinars-section h2 {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 32px;
    color: #1a1a1a;
}

/* Сетка на 2 равные колонки */
.webinars-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

/* Карточка вебинара */
.webinar-card {
    background: #ffffff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.02);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.webinar-card .title-smal {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
}

/* Область изображения */
.webinar-thumb {
    display: block;
    width: 100%;
    height: 356px;
    overflow: hidden;
}

.webinar-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.webinar-body {
    gap: 16px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    align-items: flex-start;
    justify-content: space-between;
}

/* Нижняя кнопка "Показать еще" */
.webinars-footer {
    display: flex;
    justify-content: center;
}

.breadcrumbs-container {
    display: flex;
    margin-left: 48px;
    color: rgba(33, 33, 33, 1);
}

.breadcrumbs-link {
    text-decoration: none;
    color: rgba(33, 33, 33, 1);
}

/* 1919px - 1280px */
@media (max-width: 1919px) {
    .webinar-page .container {
        max-width: 1184px;
    }

    .event_title {
        font-size: 28px;
        line-height: 36px;
    }

    .speaker-photo-wrapper {
        width: 250px;
        height: 250px;
    }

    .speaker-card {
        grid-template-columns: 1fr 209px;
    }

    .gift-icon-box {
        width: 120px;
        height: 120px;
    }

    .webinar-thumb {
        height: 331px;
    }
}

/* 1279px - 1040px */
@media (max-width: 1279px) {
    :root {
        --block-padding: 24px;
        --block-spacer: 40px;
    }

    .webinar-page .container {
        max-width: 1008px;
    }

    .promo-block {
        grid-template-columns: 550px 1fr;
    }

    .promo-info-right {
        gap: 17px;
    }

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

    .about-lead {
        margin-top: 24px;
    }

    .descr {
        font-size: 16px;
        line-height: 20px;
    }

    .breadcrumbs-container {
        margin-left: 16px;
    }

    .speaker-card:first-of-type,
    .speaker-card {
        margin-top: 24px;
    }

    .webinar-thumb {
        height: 283px;
    }

    .btn-medium {
        font-size: 14px;
        gap: 8px;
    }
}

/* 1039px - 768px */
@media (max-width: 1039px) {
    .webinar-page .container {
        max-width: 736px;
    }

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

    .promo-card-left {
        height: 420px;
    }

    .promo-info-right {
        gap: 24px;
    }

    .speaker-card {
        grid-template-columns: 1fr;
    }

    .speaker-contacts {
        flex-direction: row;
        align-items: center;
        gap: 16px;
        flex-wrap: wrap;
    }

    .speaker-contacts .info {
        margin-top: 0;
    }

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

    .webinar-thumb {
        height: 205px;
    }

    .webinars-grid {
        gap: 16px;
    }

    .pagination .btn {
        margin-top: 24px;
    }

    .gift-block {
        flex-wrap: wrap;
    }

    .gift-block .btn {
        width: 100%;
        align-items: center;
        justify-content: center;
    }

    .gift-block {
        gap: 24px;
        justify-content: center;
    }
}


@media (max-width: 767px) {
    :root {
        --block-spacer: 28px;
    }

    .webinar-page .container {
        padding: var(--block-spacer) 16px;
        max-width: 358px;
        width: 100%;
    }

    .promo-card-left {
        height: 205px;
    }

    .promo-info-right .title {
        font-size: 20px;
        line-height: 24px;
    }

    .promo-info-right .btn {
        width: auto;
    }

    .speaker-wrapper {
        flex-wrap: wrap;
    }

    .speaker-photo-wrapper {
        max-height: 310px;
        width: 100%;
    }

    .speaker-card {
        gap: 40px;
    }

    .gift-left {
        flex-direction: column;
        width: 100%;
    }

    .partners-grid {
        grid-template-columns: 1fr;
    }

    .partner-content .btn {
        width: 100%;
        justify-content: center;
    }

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