
@charset "UTF-8";

/* =========================================
   1. ОБЩИЕ СТИЛИ
========================================= */


/* =========================================
   2. СТИЛИ ДЛЯ КЛУБОВ (CLUBS)
========================================= */
/*.club-card { ... }


/* =========================================
   3. СТИЛИ ДЛЯ ВОРКШОПОВ (WORKSHOPS)
========================================= */
/*/*.workshops-section { ... }
.workshop-card { ... }


/* =========================================
   4. СТИЛИ ДЛЯ FREIZEIT
========================================= */
/*.freizeit-section { ... }
.freizeit-card { ... }


/* =========================================
   5. СТИЛИ ДЛЯ СОБЫТИЙ (EVENTS)
========================================= */
/*.events-section { ... }
.event-card { ... }
/*Стили КЛУБОВ*/

    


    /* --- ОБЩИЕ СТИЛИ СТРАНИЦА ПРОВАЙДЕРА (PROV PAGE) --- */
:root { --primary-color: #e68000; --text-dark: #1a1a1a; --text-gray: #666; }
.atfun-provider-wrapper { font-family: 'Poppins', sans-serif; max-width: 1500px !important; margin: 0 auto; padding: 20px; }

/* Шапка */
.prov-header { background: #fff; border-radius: 20px; padding: 35px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); display: flex; gap: 30px; align-items: center; margin-bottom: 40px; border: 1px solid #eee; }
.prov-logo-wrap { flex-shrink: 0; width: 140px; height: 140px; border-radius: 50%; overflow: hidden; border: 4px solid #fff; box-shadow: 0 4px 15px rgba(0,0,0,0.1); background: #f4f4f4; display: flex; align-items: center; justify-content: center; }
.prov-logo-img { width: 100%; height: 100%; object-fit: cover; }
.prov-info { flex: 1; }
.prov-title { font-family: 'Montserrat', sans-serif; font-size: 28px; font-weight: 800; margin: 0 0 8px 0; color: var(--text-dark); }
.prov-header-tags { display: flex; gap: 8px; margin-bottom: 12px; flex-wrap: wrap; }
.header-tag { padding: 4px 12px; border-radius: 15px; font-size: 11px; font-weight: 600; background: #eee; color: #555; text-transform: uppercase; }
.header-tag.age { background: #fff3e0; color: #e68000; text-transform: none; }
.prov-main-address { display: inline-flex; align-items: center; gap: 6px; color: var(--text-gray); font-size: 16px; margin-bottom: 12px; text-decoration: none !important; transition: color 0.2s ease; }
.prov-main-address:hover { color: var(--primary-color); }
.prov-desc { font-size: 14px; line-height: 1.6; color: var(--text-gray); margin-bottom: 20px; max-width: 650px; }
.prov-contacts { display: flex; flex-wrap: wrap; gap: 12px; }
.prov-btn { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 50px; font-size: 14px; font-weight: 600; text-decoration: none !important; transition: all 0.2s ease; border: 1px solid #ddd; background: #fff; color: var(--text-dark); }
.prov-btn:hover { border-color: var(--primary-color); color: var(--primary-color); transform: translateY(-2px); }
.prov-map-mini { flex-shrink: 0; width: 300px; height: 180px; border-radius: 16px; overflow: hidden; border: 1px solid #eee; }
.prov-map-mini iframe { width: 100%; height: 100%; border: 0; }

/* Табы */
.prov-filters { display: flex; gap: 10px; margin-bottom: 30px; border-bottom: 1px solid #eee; overflow-x: auto; padding-bottom: 5px; }
.filter-btn { background: none; border: none; padding: 10px 20px; font-family: 'Montserrat', sans-serif; font-size: 15px; font-weight: 600; color: #888; cursor: pointer; border-bottom: 3px solid transparent; white-space: nowrap; transition: 0.3s; }
.filter-btn.active { color: var(--text-dark); border-bottom-color: var(--primary-color); }

/* Сетка (4 колонки) */
.prov-grid { display: none; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.prov-grid.active { display: grid; }

/* --- 1. СТИЛИ КАРТОЧЕК EVENTS/WORKSHOPS (HOME STYLE) --- */
.card-home { 
    background: white; border-radius: 16px; overflow: hidden; 
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); border: 1px solid #e0e0e0; 
    transition: transform 0.3s ease; display: flex; flex-direction: column; 
    min-height: 270px !important; position: relative; 
}
.card-home:hover { transform: translateY(-5px); box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12); }
.card-image { position: relative; width: 100%; height: 160px !important; overflow: hidden; background: #f5f7fa; }
.card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.card-home:hover .card-image img { transform: scale(1.05); }
.card-image-link { display: block; height: 100%; width: 100%; color: inherit; text-decoration: none !important; }

/* Бейджи для Events */
.age-badge, .category-badge, .workshop-price-badge, .event-price-badge { 
    position: absolute !important; background: rgba(255, 255, 255, 0.95) !important; 
    padding: 4px 10px !important; border-radius: 20px; font-size: 11px !important; 
    font-weight: 600; color: #333 !important; z-index: 10; 
    border: 1px solid rgba(0,0,0,0.1); white-space: nowrap;
}
.workshop-price-badge, .event-price-badge { top: 12px; left: 12px; }
.workshop-price-badge.free, .event-price-badge.free { background: #02b893 !important; color: white !important; }
.category-badge { top: 10px; right: 10px; }
.age-badge { bottom: 10px; left: 12px; }

.card-content { padding: 15px; flex-grow: 1; display: flex; flex-direction: column; }
.card-dates { font-size: 13px; color: #666; margin-bottom: 8px; font-weight: 500; text-decoration: none !important;}
.card-title { font-size: 18px; font-weight: 600; margin: 0 0 6px 0; line-height: 1.3; }
.card-title a { text-decoration: none !important; color: #1a1a1a; } /* Убираем подчеркивание у заголовка */
.card-title a:hover { text-decoration: none !important; color: var(--primary-color); } /* При желании можно добавить изменение цвета */
.card-address { margin-top: auto; font-size: 13px; color: #4a5568; padding-top: 6px; border-top: 0px solid #f0f0f0; }
.card-address a { text-decoration: none !important; color: #4a5568; display: flex; align-items: center; gap: 4px; }
.card-address a:hover { text-decoration: none !important; color: var(--primary-color); }
.card-image-link { text-decoration: none !important; } /* Убираем подчеркивание у ссылки-картинки */

/* --- 2. СТИЛИ КАРТОЧЕК CLUBS, FREIZEIT, CAMPS & BIRTHDAYS --- */
.club-card {
    background: white; border-radius: 16px; overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); border: 1px solid #e0e0e0;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex; flex-direction: column; height: 100%; box-sizing: border-box; position: relative;
    min-height: 380px; 
}
.club-card:hover { transform: translateY(-4px); box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12); }
.club-card-image { position: relative; width: 100%; height: 200px; overflow: hidden; flex-shrink: 0; background: #f5f7fa; }
.club-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.club-card:hover .club-card-image img { transform: scale(1.05); }

/* Бейджи для Clubs/Freizeit (стандарт) */
.club-category-badge {
    position: absolute; top: 12px; left: 12px; /* У клубов слева */
    background: rgba(255, 255, 255, 0.95); padding: 4px 10px;
    border-radius: 20px; font-size: 11px; font-weight: 600; color: #333;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15); z-index: 20;
}
.club-age-badge {
    position: absolute; bottom: 12px; left: 12px;
    background: rgba(255, 255, 255, 0.95); padding: 4px 10px;
    border-radius: 20px; font-size: 11px; font-weight: 600; color: #333;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15); z-index: 20;
}
.club-price-badge {
    position: absolute; bottom: 12px; right: 12px;
    background: rgba(255, 255, 255, 0.95); padding: 4px 10px;
    border-radius: 20px; font-size: 11px; font-weight: 600; color: #333;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15); z-index: 20;
}
.club-price-badge.free { background: #02b893 !important; color: white !important; }

/* Специфично для CAMPS */
.camp-card .club-price-badge { top: 12px; left: 12px; bottom: auto; right: auto; }
.camp-card .club-category-badge { top: 12px; right: 12px; left: auto; }

/* Специфично для BIRTHDAYS (Как в шорткоде Kindergeburtstage) */
.birthday-card .club-price-badge { top: 12px; left: 12px; bottom: auto; right: auto; } /* Цена ВВЕРХУ СЛЕВА */
.birthday-card .club-specialized-badge { 
    position: absolute; top: 12px; right: 12px;
    background: rgba(52, 152, 219, 0.95); color: white;
    padding: 4px 10px; border-radius: 20px; font-size: 11px; font-weight: 600;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15); z-index: 20;
}
.birthday-card .club-age-badge { bottom: 12px; left: 12px; } /* Возраст ВНИЗУ СЛЕВА */

.club-card-content { padding: 16px; display: flex; flex-direction: column; flex-grow: 1; }
.club-organization { font-size: 17px; font-weight: 700; margin: 0 0 10px 0; color: #1a1a1a; line-height: 1.3; }

.club-card-meta { display: flex; flex-direction: column; gap: 8px; margin-top: auto; }
.club-meta-item { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: #666; }
.club-meta-item a { color: inherit; text-decoration: none !important; }
.club-meta-item a:hover { color: #f68016; text-decoration: none !important; }

/* Кнопка регистрации */
.camp-register-btn { margin-top: 15px; display: flex; justify-content: center; align-items: center; width: 100%; box-sizing: border-box; border: 2px solid #c75f02; border-radius: 50px; padding: 8px 16px; font-size: 14px; font-weight: 600; color: #c75f02; background: transparent; text-decoration: none; transition: all 0.3s ease; }
.camp-register-btn:hover { background: #c75f02; color: white; }

/* Адаптив */
@media (max-width: 1200px) { .prov-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px) { .prov-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) {
    .prov-header { flex-direction: column; text-align: center; }
    .prov-map-mini { width: 100%; height: 160px; margin-top: 15px; }
    .prov-grid { grid-template-columns: repeat(2, 1fr); }
    .prov-header-tags, .prov-contacts, .prov-main-address { justify-content: center; }
}
@media (max-width: 480px) { .prov-grid { grid-template-columns: 1fr; } }





 /* ========= 2. СТИЛИ ДЕТАЛЬНАЯ СТРАНИЦА КЛУБА 
 
 /* ===== ОБЩИЕ СТИЛИ ===== */
    .atfun-club-detail-page { max-width: 1400px; margin: 0 auto; font-family: 'Montserrat', 'Poppins', sans-serif; color: #333; padding: 20px; box-sizing: border-box; }
    
    /* ВЕРХНИЙ БЛОК */
    .atfun-club-detail-container { display: flex; flex-wrap: nowrap; gap: 40px; margin-bottom: 40px; align-items: flex-start; }
    .atfun-club-hero { width: 65%; flex: 0 0 65%; height: 500px; position: relative; border-radius: 30px !important; overflow: hidden; background: #000; }
    .atfun-club-hero .blur-bg { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-size: cover; background-position: center; filter: blur(30px); opacity: 0.4; z-index: 1; }
    .atfun-club-hero .main-img { position: relative; display: block; width: 100%; height: 100%; object-fit: cover; z-index: 2; }
    
    
    .atfun-club-info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
    .club-title { font-size: 32px; font-weight: 800; margin-top: 0; margin-bottom: 15px; line-height: 1.2; color: #1a1a1a; }
    .parent-club-hint { background: #f5f5f5; padding: 10px 16px; border-radius: 12px; margin-bottom: 20px; font-size: 14px; color: #555; display: inline-flex; align-items: center; gap: 8px; border: 1px solid #eaeaea; }
    
    .info-row { margin-bottom: 20px; display: flex; align-items: flex-start; }
    .icon-location { width: 25px; height: 25px; margin-right: 15px; flex-shrink: 0; color: #e68000; display: flex; align-items: center; justify-content: center; margin-top: -2px;  }
    .info-content { flex: 1; }
    .venue-name { display: block; font-size: 24px !important; font-weight: 700 !important; color: #e68000 !important; margin-top: 0; margin-bottom: 6px !important; line-height: 1.2; }
    .map-link { color: #0073e6; font-size: 17px; text-decoration: none !important; font-weight: 500; transition: color 0.2s; word-break: break-word; }
    
    .club-badges { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 10px; }
    .club-badges .badge { background: #e0e0e0; padding: 6px 14px; border-radius: 20px; font-size: 11px; font-weight: 600; text-transform: uppercase; color: #333; display: inline-block; }
    .club-badges .badge.age { background: #e0e0e0 !important; }
    
    .club-contacts { margin-top: 20px; display: flex; flex-direction: column; gap: 12px; text-decoration: none !important; }
    .contact-item { display: flex; align-items: center; gap: 12px; font-size: 16px; color: #333; text-decoration: none !important;}
    .contact-item .dashicons { width: 20px; height: 20px; font-size: 20px; color: #666; text-decoration: none !important;}
    .contact-item a { color: #333; text-decoration: none; border-bottom: 1px solid transparent; transition: all 0.2s; text-decoration: none !important;}
    .contact-item a:hover { color: #e68000; border-bottom-color: #e68000; text-decoration: none !important; }
    
    .action-price-row { margin-top: 30px; display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
    .atfun-btn-primary { background-color: #e68000; color: #fff !important; padding: 14px 45px !important; border-radius: 19px; font-weight: 700; text-decoration: none !important; font-size: 19px; border: none; cursor: pointer; text-align: center; transition: all 0.2s ease; display: inline-block; }
    .atfun-btn-primary:hover { background-color: #c26900; transform: translateY(-2px); color: #fff !important; }

    /* ОПИСАНИЕ КЛУБА */
    .club-description-full { margin-bottom: 40px; }
    .club-description-full h3 { font-size: 22px; font-weight: 700; margin-bottom: 15px; color: #1a1a1a; }
    .desc-content { font-size: 18px; line-height: 1.6; color: #444; margin-bottom: 18px; }
    .desc-content.collapsed { max-height: 120px; overflow: hidden; position: relative; }
    .desc-content.collapsed::after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 40px; background: linear-gradient(transparent, #fff); }
    .text-btn { background: none; border: none; color: #666; cursor: pointer; font-weight: 600; font-size: 16px; padding: 0; }
    .text-btn:hover { color: #e68000; }

    /* СРЕДНИЙ БЛОК */
    .atfun-middle-section { display: flex; gap: 40px; margin-top: 40px; align-items: flex-start; border-top: 1px solid #eee; padding-top: 40px; }
    .atfun-desc-col { flex: 1; padding-right: 20px; }
    .atfun-map-col { flex: 1; }
    .atfun-map-col.full-width { flex: 0 0 100%; width: 100%; }
    .atfun-section-title { font-size: 24px; font-weight: 700; margin-bottom: 20px; color: #1a1a1a; }
    .club-map-container iframe { border-radius: 16px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
    .map-external-link { margin-top: 10px; font-size: 15px; }

    /* НИЖНИЙ БЛОК: ПРОВАЙДЕР */
    .company-section { width: 100%; margin-top: 50px; padding-top: 30px; border-top: 1px solid #eee; }
    .company-section h3 { font-size: 24px; font-weight: 700; margin-bottom: 20px; color: #1a1a1a; }
    
    .provider-card-modern {
        background: #fff; border-radius: 20px; padding: 30px; 
        display: flex; align-items: center; gap: 30px; 
        box-shadow: 0 5px 25px rgba(0,0,0,0.06); border: 1px solid #f0f0f0;
        flex-wrap: wrap;
    }
    .prov-logo-wrap {
        width: 100px; height: 100px; border-radius: 50%; overflow: hidden; 
        background: #fff; border: 1px solid #eee; flex-shrink: 0;
        display: flex; align-items: center; justify-content: center;
    }
    .prov-logo-img { width: 100%; height: 100%; object-fit: cover; }
    .prov-details { flex: 1; min-width: 250px; }
    .prov-name {
        font-size: 26px; font-weight: 800; color: #1a1a1a; 
        text-decoration: none !important; margin-bottom: 10px; display: block;
    }
    .prov-name:hover { color: #e68000; }
    .prov-address {
        display: flex; align-items: flex-start; gap: 8px; color: #666; font-size: 15px; margin-bottom: 15px;
    }
    .prov-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 15px; }
    .prov-btn-gray {
        background: #f2f2f2; color: #333; padding: 8px 16px; border-radius: 20px;
        text-decoration: none; font-size: 14px; font-weight: 600; display: inline-flex; align-items: center; gap: 6px;
        transition: all 0.2s;
    }
    .prov-btn-gray:hover { background: #e0e0e0; color: #000; }
    .prov-tags { display: flex; gap: 8px; flex-wrap: wrap; }
    .prov-tag {
        font-size: 12px; font-weight: 700; text-transform: uppercase; padding: 4px 10px; border-radius: 6px;
    }
    .prov-tag.type { color: #e68000; background: #fff4e5; }
    .prov-tag.age { color: #666; background: #eee; }

    /* ===== СТИЛИ КАРТОЧЕК В СЛАЙДЕРЕ ===== */
    .club-card {
        background: white; border-radius: 16px; overflow: hidden;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); border: 1px solid #e0e0e0;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
        display: flex; flex-direction: column; height: 100%; box-sizing: border-box; position: relative;
        min-height: 380px; 
    }
    .club-card:hover { transform: translateY(-4px); box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12); }
    .club-card-image { position: relative; width: 100%; height: 200px; overflow: hidden; flex-shrink: 0; background: #f5f7fa; }
    .club-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
    .club-card:hover .club-card-image img { transform: scale(1.05); }

    /* Бейджи */
    .club-category-badge {
        position: absolute; top: 12px; left: 12px;
        background: rgba(255, 255, 255, 0.95); padding: 4px 10px;
        border-radius: 20px; font-size: 11px; font-weight: 600; color: #333;
        box-shadow: 0 2px 8px rgba(0,0,0,0.15); z-index: 20;
    }
    .club-age-badge {
        position: absolute; bottom: 12px; left: 12px;
        background: rgba(255, 255, 255, 0.95); padding: 4px 10px;
        border-radius: 20px; font-size: 11px; font-weight: 600; color: #333;
        box-shadow: 0 2px 8px rgba(0,0,0,0.15); z-index: 20;
    }
    
    .club-card-content { padding: 16px; display: flex; flex-direction: column; flex-grow: 1; }
    .club-organization { font-size: 17px; font-weight: 700; margin: 0 0 10px 0; color: #1a1a1a; line-height: 1.3; }
    .club-organization a { color: inherit; text-decoration: none; }
    .club-organization a:hover { color: #e68000; }

    .club-card-meta { display: flex; flex-direction: column; gap: 8px; margin-top: auto; }
    .club-meta-item { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: #666; }
    .club-meta-item a { color: inherit; text-decoration: none !important; }
    .club-meta-item a:hover { color: #f68016; text-decoration: underline !important; }

    /* СЛАЙДЕР */
    .more-locations-section { margin-top: 60px; width: 100%; }
    .section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; flex-wrap: wrap; gap: 15px; }
    .section-title { font-size: 24px; font-weight: 700; margin: 0; color: #1a1a1a; }
    .scroll-buttons { display: flex; gap: 8px; }
    .scroll-button { display: flex; background: #fff; border: 1px solid #ddd; border-radius: 50%; width: 36px; height: 36px; align-items: center; justify-content: center; cursor: pointer; transition: all 0.2s; padding: 0; }
    .scroll-button:hover { background: #f5f5f5; transform: scale(1.1); }
    .scroll-button:disabled { opacity: 0.5; cursor: default; pointer-events: none; }
    .scroll-button .dashicons { font-size: 20px; width: 20px; height: 20px; }
    .cards-slider { display: flex; overflow-x: auto; gap: 20px; padding: 10px 0; scroll-behavior: smooth; scrollbar-width: none; }
    .cards-slider::-webkit-scrollbar { display: none; }
    .cards-slider .club-card { flex: 0 0 300px; min-width: 300px; }

    /* АДАПТИВНОСТЬ */
    @media (max-width: 1024px) { .atfun-club-hero { flex: 0 0 55%; height: 450px; } }
    @media (max-width: 992px) { 
        .atfun-middle-section { flex-direction: column; }
        .atfun-desc-col { padding-right: 0; margin-bottom: 40px; }
    }
    @media (max-width: 768px) {
        .atfun-club-detail-container { flex-direction: column; }
        .atfun-club-hero { flex: none; width: 100%; height: 350px; }
        .atfun-club-info { width: 100%; }
        .provider-card-modern { flex-direction: column; text-align: center; }
        .prov-address, .prov-actions, .prov-tags { justify-content: center; }
        .scroll-buttons { display: none; }
        .cards-slider .club-card { flex: 0 0 85%; min-width: 85%; }
    }


    /* ========== СТИЛИ ДЕТАЛЬНОЙ СТРАНИЦЫ ИВЕНТЫ И ВОРКШОПЫ

    /* =========================================
   ОСНОВНОЙ КОНТЕЙНЕР
   ========================================= */
.atfun-detail-page {
    max-width: 1400px;
    margin: 0 auto;
    font-family: 'Montserrat', 'Poppins', sans-serif;
    color: #333;
    padding: 20px;
    box-sizing: border-box;
}

/* =========================================
   ВЕРХНИЙ БЛОК
   ========================================= */
.atfun-detail-container {
    display: flex;
    flex-wrap: nowrap;
    gap: 40px; 
    margin-bottom: 40px;
    align-items: flex-start;
}

/* ЛЕВАЯ КОЛОНКА (ФОТО) */
.atfun-hero-image {
    width: 65%;          
    flex: 0 0 65%;       
    height: 500px;       
    position: relative;
    border-radius: 30px !important;
    overflow: hidden;
    background: #000;
}
.atfun-hero-image .blur-bg {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-size: cover;
    background-position: center;
    filter: blur(30px);
    opacity: 0.4;
    z-index: 1;
}
.atfun-hero-image .main-img {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 2;
}

/* ПРАВАЯ КОЛОНКА (ИНФО) */
.atfun-info-sidebar {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

h1.item-title {
    font-size: 30px;
    font-weight: 800;
    margin-top: 0;
    margin-bottom: 20px;
    line-height: 1.2;
    color: #1a1a1a;
}

/* ИКОНКИ */
.info-row {
    margin-bottom: 15px;
    display: flex;
    align-items: flex-start;
}
.info-row .icon {
    margin-right: 15px; 
    flex-shrink: 0; 
    color: #666;
    display: flex;
    align-items: center;
    justify-content: center;
}
.info-row .icon.icon-time { width: 40px; height: 40px; margin-top: -4px; }
.info-row .icon.icon-location { width: 25px; height: 25px; margin-top: -4px; }
.info-row .icon svg { width: 100%; height: 100%; }
.info-content { flex: 1; }
.info-divider { height: 1px; background: #eee; margin: 15px 0; }

.time-info, .time-info strong {
    font-size: 19px !important;
    color: #868483;
    font-weight: 600;
    line-height: 1.4;
}
.venue-name {
    display: block;
    font-size: 24px !important;
    font-weight: 700;
    color: #e68000;
    margin-top: 5px;
    margin-bottom: 10px !important;
    line-height: 1.2;
}
.location-info { font-size: 16px; color: #555; line-height: 1.5; }
.city-wrap { display: inline-block; }
.map-link {
    color: #0073e6; font-size: 17px; text-decoration: none !important;
    font-weight: 500; transition: color 0.2s;
}
.map-link:hover { color: #005bb5; }

/* БЕЙДЖИ */
.content-badges {
    display: flex; flex-wrap: wrap; gap: 10px;
    margin: 8px 0 !important;
}
.badge, .content-badge {
    background: #c5c4c4; padding: 6px 14px; border-radius: 20px;
    font-size: 11px; font-weight: 600; text-transform: uppercase;
    color: #333; display: inline-block;
}
.content-badge.age { background: #e0e0e0 !important; }

/* КНОПКА И ЦЕНА */
.action-price-row {
    margin-top: 30px;
    display: flex; align-items: center; gap: 20px; flex-wrap: wrap;
}
.atfun-btn-primary {
    background-color: #e68000; color: #fff !important; padding: 14px 45px !important;
    border-radius: 19px; font-weight: 700; text-decoration: none !important;
    font-size: 19px; border: none; cursor: pointer; text-align: center;
}
.atfun-btn-primary:hover { background-color: #c26900; transform: translateY(-2px); }
.price-display { font-size: 24px; font-weight: 700; color: #000; }

/* НИЖНИЕ СЕКЦИИ */
.full-width-section { width: 100%; margin-top: 50px; }
.description-section h3, .organizer-section h3, .more-items-section h3 {
    font-size: 24px; font-weight: 700; margin-bottom: 20px; color: #1a1a1a;
}
.desc-content { font-size: 18px; line-height: 1.6; color: #444; margin-bottom: 18px; }
.desc-content.collapsed { max-height: 120px; overflow: hidden; position: relative; }
.desc-content.collapsed::after {
    content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 40px;
    background: linear-gradient(transparent, #fff);
}
#toggle-desc-btn { background: none; border: none; color: #666; cursor: pointer; font-weight: 600; font-size: 16px; }

/* ОРГАНИЗАТОР */
.organizer-card {
    background: #f8f9fa; border-radius: 12px; padding: 30px;
    display: flex; align-items: center; gap: 30px; border: 1px solid #eee;
}
.org-logo-link { display: block; flex-shrink: 0; text-decoration: none; }
.org-logo-container {
    width: 100px; height: 100px; border-radius: 50%; overflow: hidden;
    background: #fff; border: none; box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    display: flex; align-items: center; justify-content: center;
}
.org-logo { width: 100%; height: 100%; object-fit: cover; display: block; }

/* SVG Placeholder */
.org-placeholder-svg {
    width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: #f4f4f4;
}
.org-placeholder-svg svg { width: 60%; height: 60%; fill: #bbbbbb; }

.org-info { flex: 1; display: flex; align-items: center; }
.org-name-link {
    font-size: 32px; font-weight: 700; color: #e68000 !important;
    text-decoration: none !important; line-height: 1.2;
}
.org-name-link:hover { color: #c26900 !important; }

/* --- CSS ДЛЯ СЛАЙДЕРА (ИЗ ПРЕДЫДУЩЕГО БЛОКА) --- */
.home-section { margin: 40px 0; padding: 0 20px; font-family: 'Montserrat', 'Poppins', sans-serif; position: relative; }
.section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; flex-wrap: wrap; gap: 15px; }
.section-title-container { flex: 1; min-width: 200px; }
.section-title { margin: 0; font-size: 20px; font-weight: 700; color: #333; display: flex; align-items: center; gap: 10px; }
.scroll-buttons { display: flex; align-items: center; gap: 8px; }
.scroll-button { display: none; background: #ffffffff !important; color: #000000ff !important; border: 1px solid #000000ff; border-radius: 50%; width: 36px; height: 36px; cursor: pointer; transition: all 0.3s ease; align-items: center; justify-content: center; flex-shrink: 0; z-index: 10; padding: 0; }
.scroll-button:hover { transform: scale(1.2); }
.scroll-button:active { transform: scale(0.95); }
.scroll-button .dashicons { font-size: 20px; width: 20px; height: 20px; }
@media (min-width: 992px) { .scroll-button { display: flex; } }
.cards-container { position: relative; }
.cards-slider { display: flex; overflow-x: auto; scroll-behavior: smooth; gap: 20px; padding: 10px 0; flex: 1; scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-snap-type: x mandatory; touch-action: pan-y; }
.cards-slider::-webkit-scrollbar { display: none; }
.card-home { flex: 0 0 calc(25% - 15px); min-width: 280px; background: white; border-radius: 16px; overflow: hidden; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); border: 1px solid #e0e0e0; transition: transform 0.3s ease, box-shadow 0.3s ease; display: flex; flex-direction: column; height: auto !important; min-height: 350px; scroll-snap-align: start; position: relative; }
.card-home:hover { transform: translateY(-5px); box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12); }
.workshop-card-home:hover { border-color: #b6b6b6ff; }
.event-card-home:hover { border-color: #bababaff; }
.card-image { position: relative; width: 100%; height: 180px !important; overflow: hidden; flex-shrink: 0; background: #f5f7fa; margin: 0; padding: 0; }
.card-image img { width: 100%; height: 100%; object-fit: cover; border-radius: 16px 16px 0 0; transition: transform 0.5s ease; display: block; }
.card-home:hover .card-image img { transform: scale(1.05); }
.default-image { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.card-icon { font-size: 60px; color: white; opacity: 0.8; }
.age-badge, .category-badge, .workshop-price-badge, .event-price-badge { position: absolute !important; background: rgba(255, 255, 255, 0.95) !important; padding: 4px 10px !important; border-radius: 20px; font-size: 11px !important; font-weight: 600; color: #333 !important; z-index: 10; border: 1px solid rgba(0,0,0,0.1); white-space: nowrap; border-color: #838584; }
.workshop-price-badge, .event-price-badge { top: 12px; left: 12px; }
.workshop-price-badge.free, .event-price-badge.free { background: #02b893 !important; color: white !important; }
.category-badge { top: 10px; right: 10px; }
.age-badge { bottom: 10px; left: 12px; }
.card-image-link { text-decoration: none; display: block; color: inherit; }
.card-content { padding: 16px; display: flex; flex-direction: column; flex-grow: 1; height: auto !important; box-sizing: border-box; position: relative; padding: 5px 15px 15px 15px !important; overflow: visible; }
.card-dates { margin: 10px 0 12px 0; font-size: 14px; color: #666 !important; line-height: 1.4; font-family: "Poppins", sans-serif; font-weight: 500; flex-shrink: 0; }
.card-title { font-size: 20px; font-weight: 600; margin: 0 0 10px 0; padding: 0; color: #1a1a1a; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: auto; flex-shrink: 0; }
.card-title a { color: #1a1a1a; text-decoration: none !important; }
.card-title a:hover { color: #c75f02; }
.card-address { font-size: 13px; color: #4a5568; margin: 0 0 7px 0; display: flex; align-items: flex-start; gap: 5px; flex-shrink: 0; margin-top: auto; }
.card-address-link { color: inherit; text-decoration: none !important; display: flex; align-items: flex-start; gap: 5px; flex: 1; }
.card-address-link:hover { color: #c75f02 !important; }
.card-address-icon { width: 13px; height: 13px; margin-top: 2px; flex-shrink: 0; }



