/* === БАЗОВЫЕ ПЕРЕМЕННЫЕ === */
:root {
    --bg-sand: #EFECE1;    
    --dark-brown: #332315; 
    --olive: #4E5941;      
    --red: #a80019;       
    --text-dark: #2A2A2A;  
    --white: #FFFFFF;
    --gold: #d4a373;
    --serif: 'Playfair Display', serif;
    --sans: 'Manrope', sans-serif;
    --transition: all 0.4s ease;
}

/* Принудительно задаем шрифты для всей страницы */
.page-activities { font-family: var(--sans) !important; color: var(--text-dark); }
.page-activities h1, 
.page-activities h2, 
.page-activities h3, 
.page-activities .section-title {
    font-family: var(--serif) !important;
}

/* === 1. ВНУТРЕННИЙ HERO === */
.inner-hero { position: relative; height: 65vh; min-height: 500px; display: flex; align-items: center; justify-content: center; text-align: center; }
.inner-hero-bg { position: absolute; inset: 0; z-index: 1; background-size: cover; background-position: center; }
.inner-hero-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.5) 100%); }

.inner-hero-content { position: relative; z-index: 3; color: var(--white); padding: 0 20px; max-width: 800px; text-shadow: 0 4px 20px rgba(0,0,0,0.5); margin-top: 50px; }
.breadcrumbs { font-size: 11px; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 25px; opacity: 0.8; font-weight: 600; font-family: var(--sans) !important; }
.breadcrumbs a { color: var(--white); transition: var(--transition); text-decoration: none; }
.breadcrumbs a:hover { color: var(--red); }
.breadcrumbs .sep { margin: 0 10px; opacity: 0.5; }

.inner-hero h1 { font-size: clamp(36px, 5vw, 64px); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 20px; line-height: 1.1; }
.inner-hero p { font-family: var(--sans) !important; font-size: 16px; font-weight: 500; line-height: 1.7; opacity: 0.9; margin-bottom: 40px; }

/* === 2. ЭКШН СЕТКА === */
.activities-section { padding: 120px 0 80px; background: var(--bg-sand); }
.activity-row { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; margin-bottom: 120px; }
.activity-row:last-child { margin-bottom: 0; }

.activity-row.reverse .activity-text { order: -1; }

.activity-img { height: 450px; border-radius: 8px; overflow: hidden; box-shadow: 0 20px 50px rgba(0,0,0,0.05); }
.activity-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; display: block; }
.activity-row:hover .activity-img img { transform: scale(1.03); }

.activity-text { padding: 20px 0; }
.activity-text .section-title { text-align: left !important; margin-bottom: 20px; color: var(--dark-brown); font-size: clamp(28px, 4vw, 42px); line-height: 1.2; text-transform: uppercase; }
.act-desc p { font-family: var(--sans) !important; font-size: 15px; color: var(--text-dark); font-weight: 500; line-height: 1.8; margin-bottom: 30px; opacity: 0.9; }

.activity-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 35px; }
.activity-tags span { display: inline-block; padding: 6px 15px; border: 1px solid var(--dark-brown); border-radius: 30px; font-family: var(--sans) !important; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; color: var(--dark-brown); font-weight: 700; transition: var(--transition); cursor: default; }
.activity-tags span:hover { background: var(--red); color: var(--white); border-color: var(--red); }

/* === 3. ДЕТСКАЯ АНИМАЦИЯ === */
.kids-section { padding: 100px 0; background: var(--white); }
.kids-header { text-align: center; margin-bottom: 60px; }
.kids-header .section-title { text-align: center !important; color: var(--dark-brown); font-size: clamp(28px, 4vw, 42px); text-transform: uppercase; margin-bottom: 15px; line-height: 1.2; }
.kids-header p { font-family: var(--sans) !important; font-size: 16px; color: var(--text-dark); opacity: 0.7; font-weight: 500; }

.kids-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: stretch; }
.kids-info-box { background: var(--bg-sand); padding: 50px; border-radius: 12px; display: flex; flex-direction: column; justify-content: center; }
.kids-info-box h3 { font-size: 32px; margin-bottom: 20px; color: var(--dark-brown); }
.kids-info-box p { font-family: var(--sans) !important; font-size: 15px; font-weight: 500; line-height: 1.8; margin-bottom: 35px; color: var(--text-dark); opacity: 0.9; }

.kids-list { list-style: none; padding: 0; margin: 0; }
.kids-list li { font-family: var(--sans) !important; display: flex; align-items: center; gap: 15px; font-size: 14px; margin-bottom: 20px; font-weight: 600; color: var(--dark-brown); transition: var(--transition); }
.kids-list li:hover { color: var(--red); transform: translateX(5px); }
.k-icon { width: 24px; text-align: center; display: flex; align-items: center; justify-content: center; }
.k-icon i { font-size: 20px; color: var(--olive); transition: var(--transition); }
.k-icon img { width: 20px; height: 20px; object-fit: contain; }
.kids-list li:hover .k-icon i { color: var(--red); }

.kids-img-box { border-radius: 12px; overflow: hidden; min-height: 400px; box-shadow: 0 15px 40px rgba(0,0,0,0.05); }
.kids-img-box img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; display: block; }
.kids-grid:hover .kids-img-box img { transform: scale(1.03); }

/* === 4. ТИМБИЛДИНГ И КОРПОРАТИВЫ === */
.teambuilding-promo { background: var(--dark-brown); color: var(--white); padding: 120px 0; }
.team-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }

.team-img { height: 450px; border-radius: 8px; overflow: hidden; }
.team-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; display: block; }
.team-inner:hover .team-img img { transform: scale(1.03); }

.team-text h2 { color: var(--gold); margin-bottom: 25px; text-transform: uppercase; font-size: clamp(28px, 4vw, 42px); line-height: 1.2; text-align: left !important; }

/* Железобетонный отступ для блока с описанием (ПК) */
.t-desc { margin-bottom: 40px; }
.t-desc p { font-family: var(--sans) !important; font-size: 15px; margin-bottom: 15px; font-weight: 400; line-height: 1.8; opacity: 0.9; }
.t-desc p:last-child { margin-bottom: 0; } /* Убираем лишний отступ у последнего параграфа */

.team-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 40px; }
.team-benefit { background: rgba(255,255,255,0.03); padding: 25px 20px; border-radius: 6px; border-left: 2px solid var(--gold); transition: var(--transition); }
.team-benefit:hover { border-left-color: var(--red); background: rgba(255,255,255,0.08); transform: translateY(-3px); }
.team-benefit i { color: var(--gold); font-size: 24px; margin-bottom: 15px; display: block; transition: var(--transition); }
.ben-img-icon { width: 24px; height: 24px; object-fit: contain; margin-bottom: 15px; filter: brightness(0) saturate(100%) invert(77%) sepia(21%) saturate(762%) hue-rotate(345deg) brightness(88%) contrast(93%); }
.team-benefit:hover i { color: var(--white); transform: scale(1.1); }
.team-benefit span { font-family: var(--sans) !important; display: block; font-weight: 600; font-size: 13px; text-transform: uppercase; letter-spacing: 1px; color: var(--white); }

/* === 5. ГАЛЕРЕЯ === */
.gallery { padding: 100px 0 120px; background: var(--bg-sand); }
.gallery .section-title { text-align: center !important; color: var(--dark-brown); font-size: clamp(28px, 4vw, 42px); text-transform: uppercase; margin-bottom: 50px; }
.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 250px; gap: 15px; }
.gal-item { position: relative; overflow: hidden; border-radius: 6px; display: block; cursor: zoom-in; background: #000; }
.gal-item.video-icon { cursor: pointer; }
.gal-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; display: block; }
.gal-item:hover img { transform: scale(1.05); opacity: 0.6; }

.gal-overlay { position: absolute; inset: 0; background: rgba(51, 35, 21, 0.6); display: flex; align-items: center; justify-content: center; opacity: 0; transition: 0.4s; color: var(--red); font-size: 40px; pointer-events: none; }
.gal-item:hover .gal-overlay { opacity: 1; }

.gal-large { grid-column: span 2; grid-row: span 2; }
.gal-wide { grid-column: span 2; }

/* === КНОПКИ === */
.page-activities .btn { 
    font-family: var(--sans) !important; display: inline-flex; align-items: center; justify-content: center; 
    padding: 16px 33px; text-transform: uppercase; font-size: 13px; font-weight: 700; letter-spacing: 1px; 
    border-radius: 4px; transition: var(--transition); text-decoration: none; text-align: center; cursor: pointer;
}
.page-activities .btn-outline { background: transparent; border: 2px solid var(--dark-brown); color: var(--dark-brown); }
.page-activities .btn-outline:hover { background: var(--red); border-color: var(--red); color: var(--white); }
.page-activities .btn-gold { background: var(--gold); color: var(--dark-brown); border: none; }
.page-activities .btn-gold:hover { background: var(--red); color: var(--white); transform: translateY(-2px); box-shadow: 0 10px 20px rgba(168,0,25,0.2); }

/* === АДАПТИВ (Планшеты) === */
@media(max-width: 1024px) {
    .activity-row { gap: 40px; margin-bottom: 80px; }
    .activity-img { height: 350px; }
    .team-inner { gap: 40px; }
}

/* === АДАПТИВ (Мобильные телефоны) === */
@media(max-width: 768px) {
    .inner-hero { height: auto; padding: 160px 0 80px; }
    .activities-section { padding: 80px 0 60px; }
    
    .activity-row { grid-template-columns: 1fr; gap: 30px; margin-bottom: 60px; }
    .activity-row .activity-img, 
    .activity-row.reverse .activity-img { order: 1; }
    .activity-row .activity-text, 
    .activity-row.reverse .activity-text { order: 2; }
    .activity-img { height: 250px; }
    .activity-text { padding: 0; }
    .activity-text .section-title { font-size: 26px; margin-bottom: 15px; }
    .page-activities .btn { width: 100%; }
    
    .kids-section { padding: 60px 0; }
    .kids-grid { grid-template-columns: 1fr; gap: 30px; }
    .kids-info-box { padding: 30px 20px; }
    .kids-img-box { min-height: 250px; }
    
    /* === ТИМБИЛДИНГ === */
    .teambuilding-promo { padding: 60px 0; margin-top: 40px; margin-bottom: 40px; }
    .team-inner { grid-template-columns: 1fr; gap: 40px; }
    .team-img { height: 250px; }
    
    .team-text h2 { font-size: 26px; margin-bottom: 20px; }
    
    /* Железобетонный отступ для блока с описанием (Мобильный) */
    .t-desc { margin-bottom: 30px; } 
    
    .team-benefits { grid-template-columns: repeat(2, 1fr); gap: 10px; margin-bottom: 30px; }
    .team-benefit { padding: 15px 10px; display: flex; flex-direction: column; align-items: center; text-align: center; justify-content: center; }
    .team-benefit i, .ben-img-icon { margin-bottom: 8px; font-size: 22px; }
    .team-benefit span { font-size: 11px; line-height: 1.3; }
    
    /* === ГАЛЕРЕЯ === */
    .gallery { padding: 60px 0; margin-bottom: 40px; }
    .gallery .section-title { margin-bottom: 30px; }
    
    .gallery-grid { 
        grid-template-columns: repeat(2, 1fr); 
        grid-auto-rows: 160px; 
        gap: 8px; 
    }
    
    .gal-large, .gal-wide, .gallery-grid .gal-item { 
        grid-column: span 1 !important; 
        grid-row: span 1 !important; 
        height: 100%; 
    }
}

/* Для совсем маленьких экранов (например iPhone SE) */
@media(max-width: 400px) {
    .team-benefits { gap: 6px; }
    .team-benefit { padding: 12px 6px; }
    .team-benefit span { font-size: 10px; }
    
    .gallery-grid { grid-auto-rows: 130px; }
}