/* Responsive */
@media (max-width: 768px) {
    .nav-menu,
    .nav-date {
        display: none;
    }

    .hero h1 {
        font-size: 3rem;
    }

    .hero-banner {
        height: 500px;
    }

    .hero h1 {
        font-size: 48px;
    }

    .hero h2 {
        font-size: 18px;
        margin-bottom: 30px;
    }

    .hero-text {
        bottom: 30px;
        padding: 0 20px;
    }

    .hero-info {
        flex-direction: column;
        gap: 15px;
    }

    .hero-info-item {
        font-size: 16px;
    }

    .hero-content {
        padding: 40px 0;
    }

    .hero-benefits {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .register-btn {
        padding: 12px 15px;
        font-size: 16px;
    }

    .section-title {
        font-size: 32px;
        margin-bottom: 40px;
    }

    .speakers-container {
        display: block;
        padding: 0;
    }

    .carousel-btn {
        display: none;
    }

    .speakers-carousel {
        overflow: visible;
    }

    .speakers-wrapper {
        flex-direction: column;
        transform: none !important;
        gap: 20px;
        width: 100%;
    }

    .speaker-card {
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
        flex: 1;
    }

    .speaker-card:hover {
        transform: none;
    }

    .speaker-photo {
        height: 350px;
    }

    .speaker-content {
        padding: 25px;
    }

    .speaker-name {
        font-size: 22px;
    }

    .program-table {
        display: none;
    }

    .table-header {
        display: none;
    }

    .table-row {
        display: block;
        padding: 20px;
        margin-bottom: 10px;
        border-radius: 10px;
        border: none;
        border-bottom: 2px dotted #e5e5e5;
    }

    .table-cell {
        display: block;
        padding: 10px 0;
        border: none;
    }

    .time {
        background: none;
        font-size: 16px;
        margin-bottom: 10px;
        color: #ff4500;
    }

    .table-cell.empty {
        display: none;
    }

    .table-cell.colspan {
        padding: 15px 0;
    }

    .pricing-cards {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .pricing-card {
        padding: 30px 20px;
    }

    .pricing-price {
        font-size: 30px;
    }

    .pricing-features li {
        font-size: 14px;
    }

    .pricing-note {
        padding: 20px;
        margin: 0 20px;
    }

    .pricing-note p {
        font-size: 14px;
    }

    .hotel-info {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .hotel-description h3 {
        font-size: 26px;
    }

    .hotel-description p {
        font-size: 16px;
    }

    .hotel-subtitle {
        font-size: 28px;
        margin-bottom: 30px;
    }

    .room-price {
        font-size: 28px;
    }

    .room-image {
        height: 200px;
    }
    .additional-info {
        margin: 0 20px;
    }

    .onlymob {
        display: block; /* или flex, inline-block - в зависимости от элемента */
    }

    .hero h1 {
        font-size: 3rem;
    }

    /* Hero Section Mobile - текст под фото */
    .hero {
        margin-top: 60px; /* уменьшенный отступ для мобильных */
    }

    .hero-banner {
        height: 160px; /* уменьшенная высота для мобильных */
        align-items: flex-start; /* выравнивание по верху */
        background-position: center center;
        background-size: contain;
    }

    /* Скрываем текст на фото для мобильных */
    .hero-banner .hero-text {
        display: none;
    }

    /* Показываем текст под фото только на мобильных */
    .hero-text-mobile {
        display: block;
        text-align: center;
        padding: 30px 20px;
        background: #ffffff;
    }

    .hero-text-mobile h1 {
        font-size: 42px;
        font-weight: 800;
        margin-bottom: 15px;
        color: #1a1a1a;
        text-shadow: none;
    }

    .hero-text-mobile h2 {
        font-size: 18px;
        font-weight: 400;
        margin-bottom: 25px;
        color: #666;
        text-shadow: none;
    }

    .hero-info {
        flex-direction: column;
        gap: 12px;
        margin-bottom: 0;
    }

    .hero-info-item {
        font-size: 16px;
        color: #333;
    }

    .hero-content {
        padding: 30px 0;
    }

    .hero-benefits {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .form-submit { 
    margin-top: 10px;
}

    .form-group {margin-bottom: 10px;}

    h2.mob {font-size: 1em; margin-bottom: 10px;}
}

/* Адаптивность */
@media (max-width: 1399px) and (min-width: 900px) {
    .speakers-carousel {
        width: 790px; /* Для 2 карточек: 380*2 + 30 = 790px */
    }
}

@media (max-width: 899px) and (min-width: 769px) {
    .speakers-carousel {
        width: 380px; /* Для 1 карточки */
    }
}
