Государственный академический Большой симфонический оркестр имени П. И. Чайковского

<?php

/**
*
* Sets up theme defaults and registers support for various WordPress features.
*/

use ColibriWP\Theme\Core\Hooks;
use ColibriWP\Theme\Core\Utils;
use Kubio\StarterContent\StarterContent;
use ColibriWP\Theme\Defaults;
use ColibriWP\Theme\Translations;
use Kubio\Core\Activation;
use Kubio\Theme\Components\CssOutput;
use Kubio\Theme\Components\Footer;
use Kubio\Theme\Components\FrontHeader\Buttons;
use Kubio\Theme\Components\FrontHeader\Hero as FrontPageHero;
use Kubio\Theme\Components\FrontHeader\Image;
use Kubio\Theme\Components\FrontHeader\Navigation;
use Kubio\Theme\Components\FrontHeader\Subtitle;
use Kubio\Theme\Components\FrontHeader\Title;
use Kubio\Theme\Components\FrontHeader\TopBar;
use Kubio\Theme\Components\FrontHeader\TopBarListIcons;
use Kubio\Theme\Components\FrontHeader\TopBarSocialIcons;
use Kubio\Theme\Components\FrontPageContent;
use Kubio\Theme\Components\Header;
use Kubio\Theme\Components\Header\Logo;
use Kubio\Theme\Components\HeaderMenu;
use Kubio\Theme\Components\InnerHeader\Hero as InnerHero;
use Kubio\Theme\Components\InnerHeader\Navigation as InnerNavigation;
use Kubio\Theme\Components\InnerHeader\Title as InnerTitle;
use Kubio\Theme\Components\InnerHeader\TopBar as InnerTopBar;
use Kubio\Theme\Components\MainContent;
use Kubio\Theme\Components\MainContent\ArchiveLoop;
use Kubio\Theme\Components\MainContent\PostLoop;
use Kubio\Theme\Components\PageContent;
use Kubio\Theme\Components\PageNotFound;
use Kubio\Theme\Components\SingleContent;
use Kubio\Theme\Flags;
use Kubio\Theme\Theme;

require_once get_template_directory() . '/vendor/autoload.php';
require_once __DIR__ . '/inc/safari-polyfills.php';

function kubio_register_components($components) {
$namespace = 'ColibriWP\\Theme\\Components';

$components = array_merge(
$components,
array(

// header components
'header' => Header::class,
'logo' => Logo::class,
'header-menu' => HeaderMenu::class,

// inner page fragments
'inner-nav-bar' => InnerNavigation::class,
'inner-hero' => InnerHero::class,
'inner-title' => InnerTitle::class,
'inner-top-bar' => InnerTopBar::class,

// front page fragments
'front-hero' => FrontPageHero::class,
'front-title' => Title::class,
'front-subtitle' => Subtitle::class,
'buttons' => Buttons::class,
'front-nav-bar' => Navigation::class,
'top-bar-list-icons' => TopBarListIcons::class,
'top-bar-social-icons' => TopBarSocialIcons::class,
'front-top-bar' => TopBar::class,
'front-image' => Image::class,

// footer components
'front-footer' => Footer::class,

// general components
'css' => CssOutput::class,

// page content
'main' => MainContent::class, // blog loop
'single' => SingleContent::class, // single page
'content' => PageContent::class, // inner page content
'front-page-content' => FrontPageContent::class, // front page content
'search' => "{$namespace}\\PageSearch", // search page
'page-not-found' => PageNotFound::class, // 404 page

// inner content fragments

// main content
'main-loop' => ArchiveLoop::class, // no usage found
'post-loop' => PostLoop::class, // single page content
'archive-loop' => ArchiveLoop::class, // blog page content

)
);

return $components;
}

Hooks::prefixed_add_filter('components', 'kubio_register_components', 20);
Theme::load(
array(
'themeBaseRelativePath' => '',
'themeRelativePath' => '',
)
);

/**
* @return Theme
*/
function kubio_theme() {
return Theme::getInstance();
}

function kubio_assets() {
return kubio_theme()->getAssetsManager();
}


kubio_theme()
->add_theme_support('automatic-feed-links')
->add_theme_support('title-tag')
->add_theme_support('post-thumbnails')
->add_theme_support(
'custom-logo',
array(
'flex-height' => true,
'flex-width' => true,
'width' => 150,
'height' => 70,
)
);

add_action('after_setup_theme', function() {
kubio_theme() ->register_menus(
array(
'header-menu' => esc_html__('Header Menu', 'kubio'),
'footer-menu' => esc_html__('Footer Menu', 'kubio'),
)
);
}, 1);
if (!apply_filters('kubio_is_enabled', false)) {
kubio_assets()
->registerTemplateScript(
'kubio-theme',
'/theme/theme.js',
array('jquery', 'jquery-effects-slide', 'jquery-effects-core')
)
->registerStylesheet('kubio-theme', '/theme/theme.css');
kubio_assets()->loadLocalGoogleFonts();
// foreach ( Defaults::get( 'fonts', array() ) as $family => $variants ) {
// kubio_assets()->addGoogleFont( $family, $variants );
// }

add_action('wp_enqueue_scripts', 'kubio_print_color_scheme', 0);
} else {
kubio_assets()
->registerStyle('kubio-theme', kubio_assets()->getBaseURL() . '/theme/fse-base-style.css');
Hooks::prefixed_add_filter('skip_google_fonts', '__return_true');
}

function kubio_theme_add_woocommerce_support() {
add_theme_support(
'woocommerce',
array(
'product_grid' => array(
'default_rows' => 3,
'min_rows' => 2,
'max_rows' => 8,
'default_columns' => 3,
'min_columns' => 2,
'max_columns' => 4,
),
)
);


add_theme_support('kubio-woocommerce');
}

add_action('after_setup_theme', 'kubio_theme_add_woocommerce_support');

add_filter( 'kubio/activation/after_activation_redirect_url', 'kubio_after_activation_redirect_url' );
function kubio_after_activation_redirect_url( $url ) {
if ( Flags::get( 'start_source', false ) == 'notice-homepage' ) {
$url = add_query_arg(
array(
'page' => 'kubio-get-started',
'kubio-designed-imported' => intval( ! ! Flags::get( 'import_design', false ) ),
),
admin_url( 'admin.php' )
);
}
return $url;
}

Hooks::add_wp_ajax(
'front_set_predesign',
function () {
check_ajax_referer( 'kubio_front_set_predesign_nonce', 'nonce' );
$with_ai = Utils::pathGet( $_REQUEST, 'AI', 'no' );
$source = sanitize_text_field( Utils::pathGet( $_REQUEST, 'source', 'notice' ) );
$index = intval( Utils::pathGet( $_REQUEST, 'index', 0 ) );

if ( $with_ai === 'yes' ) {
Flags::set( 'start_with_ai', true );
} else {
Flags::set( 'import_design', true );
Flags::set( 'import_design_index', $index );
}

// customizer source
$start_source = $source;

if ( $source === 'notice' ) {
$start_source = $with_ai === 'yes' ? "{$source}-ai" : "{$source}-homepage";
}

Flags::set( 'start_source', $start_source );

wp_send_json_success();
}
);

function kubio_get_builder_plugin_slug() {

if (!function_exists('get_plugins')) {
require_once ABSPATH . 'wp-admin/includes/plugin.php';
}

$plugins = get_plugins();

if (isset($plugins['kubio-pro/plugin.php'])) {
return 'kubio-pro';
}

return 'kubio';
}

function kubio_theme_plugins($plugins) {

$plugin_slug = kubio_get_builder_plugin_slug();

$plugins[$plugin_slug] = array(
'name' => $plugin_slug === 'kubio-pro' ? __('Kubio PRO', 'kubio') : __('Kubio', 'kubio'),
'description' => \ColibriWP\Theme\Translations::translate('page_builder_plugin_description'),
'plugin_path' => $plugin_slug . '/plugin.php',
);

return $plugins;
}

Hooks::prefixed_add_filter('theme_plugins', 'kubio_theme_plugins');

add_filter(
'kubio/remote_data_url',
function( $url ) {
if ( strpos( $url, 'with-front' ) !== false && Flags::get( 'import_design_index', 0 ) !== 0 ) {
$front_slug = 'with-front-' . Flags::get( 'import_design_index' );
$base_url = 'https://themes.kubiobuilder.com';
$file_name = get_stylesheet() . '__' . get_template() . '__' . $front_slug . '.data';
return "{$base_url}/{$file_name}";
}
return $url;
}
);


add_action(
'kubio/after_activation',
function () {
$activation_instance = Activation::load();
if ( ! $activation_instance->isCLI() ) {
$start_source = Flags::get( 'start_source', 'other' );
if ( $start_source == 'starter-sites' ) {
$url = add_query_arg(
array(
'page' => 'kubio-get-started',
'tab' => 'demo-sites',
),
admin_url( 'admin.php' )
);
wp_redirect( $url );
exit();
}
}
}
);


add_filter(
'kubio/advanced_mode_enabled',
function ($value) {
return false;
}
);


Hooks::prefixed_add_action(
'after_plugin_activated',
function ( $slug ) {

if ( $slug === kubio_get_builder_plugin_slug() ) {
$hash = uniqid( 'activate-' );

Flags::set( 'activation-hash', $hash );

$start_source = Flags::get( 'start_source', 'other' );
if ( strpos( $start_source, 'customizer-sidebar' ) === 0 ) {
$url = add_query_arg(
array(
'page' => 'kubio',
'kubio-activation-hash' => $hash,
'source' => $start_source,
),
admin_url( 'admin.php' )
);
} else {
if ( $start_source === 'starter-sites' ) {
$url = add_query_arg(
array(
'page' => 'kubio-get-started',
'tab' => 'demo-sites',
'kubio-activation-hash' => $hash,
),
admin_url( 'admin.php' )
);
} else {
$url = add_query_arg(
array(
'page' => 'kubio-get-started',
'kubio-activation-hash' => $hash,
'kubio-designed-imported' => intval( ! ! Flags::get( 'import_design', false ) ),
),
admin_url( 'admin.php' )
);
}
}

wp_send_json_success(
array(
'redirect' => $url,
)
);
}
}
);

add_action(
'kubio/admin-page/before-get-started',
function () {
if (isset($_GET['kubio-designed-imported']) && intval($_GET['kubio-designed-imported'])) : ?>
<div class="kubio-admin-page-page-section kubio-get-started-section-1 wrap">
<div class="kubio-admin-row get-started-imported notice notice-success">
<div>
<p class="imported-title">
<?php
echo esc_html(
sprintf(
__('%s design has been successfully imported!', 'kubio'),
kubio_theme()->getName()
)
);
?>
</p>
<p class="imported-subtitle">
<?php
echo esc_html(
sprintf(
__('%s design has been successfully imported! You can take a look at your new design or start editing it', 'kubio'),
kubio_theme()->getName()
)
);
?>
</p>
</div>
<div class="button imported-view-site-button">
<a href="<?php echo esc_url(site_url()); ?>">
<?php echo esc_html(__('View site', 'kubio')); ?>
</a>

</div>
</div>
</div>

<?php
endif;
}
);

add_filter('kubio/has_block_templates_support', '__return_true');
add_filter('kubio/enable_try_online', '__return_true');
add_filter('kubio/show-supplementary-upgrade-to-pro', '__return_true');
add_filter('kubio/enable_ai_capabilities', '__return_true');
add_filter( 'kubio/is_black_wizard_onboarding_enabled', '__return_true' );
add_filter( 'kubio/front_page_revert_notice_is_enabled', '__return_true' );

function kubio_try_online_url() {
return "https://kubiobuilder.com/go/try-theme/" . get_template();
}

add_filter('kubio/editor-try-online/url', 'kubio_try_online_url', 10);

function kubio_render_header_style() {

?>
<base target="_top">
<?php

kubio_theme()->get('css')->render();
}
add_action('wp_head', 'kubio_render_header_style', 100);


add_filter('body_class', function ($classes) {
if (!apply_filters('kubio_is_enabled', false)) {
$classes[] = 'kubio-theme';
}

return $classes;
});

add_filter('admin_body_class', function ($classes) {

if (!apply_filters('kubio_is_enabled', false)) {
return "$classes kubio-theme";
}

return $classes;
});

function kubio_onboarding_init() {
// Onboarding notice remains disabled after switching multiple kubio themes.
update_option( "kubio-onboarding-notice-disabled", false );
}

add_action('after_switch_theme', 'kubio_onboarding_init');
Hooks::prefixed_add_filter(
'translations',
function( $translations ) {
$translations['customize_preview_overlay_message'] = __( 'These features are part of the Kubio Page Builder plugin. Using them will install the plugin.', 'kubio' );
$translations['customize_preview_overlay_button_1'] = __( 'Edit this section', 'kubio' );
$translations['customize_preview_overlay_button_2'] = __( 'Replace this section', 'kubio' );

return $translations;
}
);



add_filter(
'kubio_starter_content_overlay_style',
function() {

return array(
'background' => 'rgba(0,0,0,0.8)',
'transition' => 'opacity 0.3s ease',
'button-1' => array(
'normal' => array(
'background' => 'transparent',
'color' => '#fff',
'border' => '#fff',
),
'hover' => array(
'background' => 'rgba(255,255,255,0.2)',
'color' => '#fff',
'border' => '#fff',
),
),
'button-2' => array(
'normal' => array(
'background' => 'transparent',
'color' => '#fff',
'border' => '#fff',
),
'hover' => array(
'background' => 'rgba(255,255,255,0.2)',
'color' => '#fff',
'border' => '#fff',
),
),
);
}
);

add_filter(
'kubio_starter_content_pages',
function() {
return array(
StarterContent::HOME_SLUG => array(
'post_title' => __( 'Home', 'kubio' ),
'in_menu' => true,
),

// StarterContent::ABOUT_SLUG => array(
// 'post_title' => __( 'About', 'kubio' ),
// 'in_menu' => true,
// ),

StarterContent::BLOG_SLUG => array(
'post_title' => __( 'Blog', 'kubio' ),
'in_menu' => true,
),

// StarterContent::CONTACT => array(
// 'post_title' => __( 'Contact', 'kubio' ),
// 'in_menu' => true,
// ),

);
}
);

StarterContent::init();





// 🔧 Регистрируем таксономию "Годы" для типа записи "video"
function register_video_year_taxonomy() {
register_taxonomy('video_year', 'video', [
'labels' => [
'name' => 'Годы',
'singular_name' => 'Год',
'search_items' => 'Поиск года',
'all_items' => 'Все годы',
'edit_item' => 'Редактировать год',
'update_item' => 'Обновить год',
'add_new_item' => 'Добавить новый год',
'new_item_name' => 'Название нового года',
'menu_name' => 'Годы',
],
'hierarchical' => true,
'show_ui' => true,
'show_admin_column' => true,
'rewrite' => ['slug' => 'video-year'],
'show_in_rest' => true,
]);
}
add_action('init', 'register_video_year_taxonomy');


// 🎬 Шорткод: Видео не найдены.
function custom_video_gallery_shortcode($atts) {
$atts = shortcode_atts([
'year' => ''
], $atts);

ob_start();

$args = [
'post_type' => 'video',
'posts_per_page' => -1,
];

// Фильтрация по году (если задан)
if (!empty($atts['year'])) {
$args['tax_query'] = [
[
'taxonomy' => 'video_year',
'field' => 'slug',
'terms' => sanitize_title($atts['year']),
]
];
}

$query = new WP_Query($args);

if ($query->have_posts()) :
echo '<div class="video-gallery">';
while ($query->have_posts()) : $query->the_post();
$video_url = get_field('video_url');

echo '<div class="video-item">';
echo '<h4>' . get_the_title() . '</h4>';

// ✅ Показываем миниатюру, если есть
if (has_post_thumbnail()) {
echo get_the_post_thumbnail(get_the_ID(), 'medium');
}

// ✅ Вывод видео через wp_oembed_get
if (!empty($video_url)) {
echo wp_oembed_get($video_url);
}

echo '</div>';
endwhile;
echo '</div>';
wp_reset_postdata();
else :
echo 'Видео не найдены.';
endif;

return ob_get_clean();
}
add_shortcode('video_gallery', 'custom_video_gallery_shortcode');







// Добавляем шорткод для галереи оркестра
function orchestra_gallery_shortcode() {
ob_start();
?>
<div class="orchestra-gallery-container">
<!-- ВСТАВЬТЕ СЮДА ВЕСЬ HTML КОД ГАЛЕРЕИ -->
<div class="gallery-header">
<h1>Состав оркестра</h1>
<div class="search-box">
<div class="search-icon">🔍</div>
<input type="text" id="orchestraSearchInput" placeholder="Поиск музыканта по имени...">
</div>
</div>

<div class="no-results" id="orchestraNoResults">
<p>Ничего не найдено. Попробуйте другой запрос.</p>
</div>

<!-- Секция дирижера -->
<div class="conductor-section">
<h2>Дирижёр оркестра</h2>
<div class="conductor-card">
<div class="conductor-photo">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/color_crop_6895b91149b17.png" alt="Денис Лотоев">
</div>
<div class="conductor-info">
<div class="conductor-name">Денис Лотоев</div>
<div class="conductor-role">Заслуженный артист Российской Федерации</div>
<a href="https://bso.tw1.ru/lotoev/" class="conductor-btn">Подробнее</a>
</div>
</div>
</div>

<div class="section-title">ПЕРВЫЕ СКРИПКИ</div>
<div class="musicians-grid">

<!-- Костылев С.Г. -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Сергей-Костылев.jpg', 'Костылев С.Г.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Сергей-Костылев.jpg" alt="Костылев С.Г.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Сергей Костылев</div>
<div class="musician-role">1-й концертмейстер оркестра</div>
</div>
<a href="https://bso.tw1.ru/sergey-kostylev/" class="details-btn">Подробнее</a>
</div>

<!-- Майборода Ю.И. -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Юрий-Майборода-2.png', 'Майборода Ю.И.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Юрий-Майборода-2.png" alt="Майборода Ю.И.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Юрий Майборода</div>
<div class="musician-role">2-й концертмейстер оркестра</div>
</div>
<a href="https://bso.tw1.ru/yuriy-mayboroda/" class="details-btn">Подробнее</a>
</div>

<!-- Синцова Е.А. -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Екатерина-Синцова-2.jpeg', 'Синцова Е.А.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Екатерина-Синцова-2.jpeg" alt="Синцова Е.А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Екатерина Синцова</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/ekaterina-sintsova/" class="details-btn">Подробнее</a>
</div>

<!-- Амбарцумян М.Л. -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Мария-Амбарцумян-2.jpg', 'Амбарцумян М.Л.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Мария-Амбарцумян-2.jpg" alt="Амбарцумян М.Л.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Мария Амбарцумян</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/mariya-ambartsumyan/" class="details-btn">Подробнее</a>
</div>

<!-- Елена Кондратинская -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Елена-Кондратинская-2.png', 'Кондратинская Е.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Елена-Кондратинская-2.png" alt="Кондратинская Е.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Елена Кондратинская</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/elena-kondratinskaya/" class="details-btn">Подробнее</a>
</div>

<!-- Александра Рысалиева -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Александра-Рысалиева-2.jpeg', 'Рысалиева А.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Александра-Рысалиева-2.jpeg" alt="Рысалиева А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Александра Рысалиева</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/aleksandra-rysalieva/" class="details-btn">Подробнее</a>
</div>

<!-- Алексей Зива -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Алексей-Зива-3.jpeg', 'Зива А.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Алексей-Зива-3.jpeg" alt="Зива А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Алексей Зива</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/aleksey-ziva/" class="details-btn">Подробнее</a>
</div>

<!-- Сергей Чеканов -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Сергей-Чеканов-2.png', 'Чеканов С.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Сергей-Чеканов-2.png" alt="Чеканов С.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Чеканов С.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/sergey-chekanov/" class="details-btn">Подробнее</a>
</div>

<!-- Константин Ильицкий -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Константин-Ильицкий-2.jpg', 'Ильицкий К.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Константин-Ильицкий-2.jpg" alt="Ильицкий К.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Ильицкий К.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/konstantin-ilitskiy/" class="details-btn">Подробнее</a>
</div>

<!-- Василий Перваков -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Василий-Перваков-2.png', 'Перваков В.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Василий-Перваков-2.png" alt="Перваков В.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Перваков В.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/vasiliy-pervakov/" class="details-btn">Подробнее</a>
</div>

<!-- Нина Арифулова -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Нина-Арифулова-2.jpg', 'Арифулова Н.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Нина-Арифулова-2.jpg" alt="Арифулова Н.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Арифулова Н.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/nina-arifulova/" class="details-btn">Подробнее</a>
</div>

<!-- Наталья Андреева -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Наталья-Андреева-2.png', 'Андреева Н.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Наталья-Андреева-2.png" alt="Андреева Н.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Андреева Н.</div>
<div class="musician-role">Заслуженная артистка РФ</div>
</div>
<a href="https://bso.tw1.ru/natalya-andreeva/" class="details-btn">Подробнее</a>
</div>
</div>

<div class="musicians-grid">
<!-- Павел Солдатиков -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Павел-Солдатиков-2.png', 'Солдатиков П.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Павел-Солдатиков-2.png" alt="Солдатиков П.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Солдатиков П.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/pavel-soldatikov/" class="details-btn">Подробнее</a>
</div>

<!-- Александр Кузин -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Александр-Кузин-2.png', 'Кузин А.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Александр-Кузин-2.png" alt="Кузин А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Кузин А.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/aleksandr-kuzin/" class="details-btn">Подробнее</a>
</div>

<!-- Вера Белевич -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Вера-Белевич-Залуженная-артистка-Российской-Федерации-2.png', 'Белевич В.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/%D0%92%D0%B5%D1%80%D0%B0-%D0%91%D0%B5%D0%BB%D0%B5%D0%B2%D0%B8%D1%87-%D0%97%D0%B0%D1%81%D0%BB%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F-%D0%B0%D1%80%D1%82%D0%B8%D1%81%D1%82%D0%BA%D0%B0-%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B9%D1%81%D0%BA%D0%BE%D0%B9-%D0%A4%D0%B5%D0%B4%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8-2.png" alt="Белевич В.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Белевич В.</div>
<div class="musician-role">Заслуженная артистка РФ</div>
</div>
<a href="https://bso.tw1.ru/vera-belevich/" class="details-btn">Подробнее</a>
</div>

<!-- Мария Постевая -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Мария-Постевая-2.jpg', 'Постевая М.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Мария-Постевая-2.jpg" alt="Постевая М.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Постевая М.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/mariya-postevaya/" class="details-btn">Подробнее</a>
</div>

<!-- Павел Старченко -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Павел-Старченко-2.jpeg', 'Старченко П.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Павел-Старченко-2.jpeg" alt="Старченко П.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Старченко П.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/pavel-starchenko/" class="details-btn">Подробнее</a>
</div>
</div>

<!-- ВТОРЫЕ СКРИПКИ (исправленные с вынесенной кнопкой) -->
<div class="section-title">ВТОРЫЕ СКРИПКИ</div>
<div class="musicians-grid">
<!-- Владимир Никонов -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Владимир-Никонов-Концертмейстер-Заслуженный-артист-РФ-3.jpg', 'Никонов В.М.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Владимир-Никонов-Концертмейстер-Заслуженный-артист-РФ-3.jpg" alt="Никонов В.М.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Никонов В.М.</div>
<div class="musician-role">Концертмейстер, Заслуженный артист РФ</div>
</div>
<a href="https://bso.tw1.ru/vladimir-nikonov/" class="details-btn">Подробнее</a>
</div>

<!-- Юлия Налогина -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Юлия-Налогина-Заместитель-концертмейстера-2.png', 'Налогина Ю.А.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Юлия-Налогина-Заместитель-концертмейстера-2.png" alt="Налогина Ю.А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Налогина Ю.А.</div>
<div class="musician-role">Заместитель концертмейстера</div>
</div>
<a href="https://bso.tw1.ru/yuliya-nalogina/" class="details-btn">Подробнее</a>
</div>

<!-- Вероника Лебедева -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Вероника-Лебедева-2.png', 'Лебедева В.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Вероника-Лебедева-2.png" alt="Лебедева В.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Лебедева В.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/veronika-lebedeva/" class="details-btn">Подробнее</a>
</div>

<!-- Дмитрий Рафаэльянц -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Дмитрий-Рафаэльянц-2.png', 'Рафаэльянц Д.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Дмитрий-Рафаэльянц-2.png" alt="Рафаэльянц Д.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Рафаэльянц Д.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/dmitriy-rafaelyants/" class="details-btn">Подробнее</a>
</div>

<!-- Дмитрий Сидоров -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Дмитрий-Сидоров-2.jpeg', 'Сидоров Д.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Дмитрий-Сидоров-2.jpeg" alt="Сидоров Д.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Сидоров Д.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/dmitriy-sidorov/" class="details-btn">Подробнее</a>
</div>

<!-- Виктор Волошин -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Виктор-Волошин-2.jpeg', 'Волошин В.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Виктор-Волошин-2.jpeg" alt="Волошин В.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Волошин В.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/viktor-voloshin/" class="details-btn">Подробнее</a>
</div>

<!-- Марк Островский -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Марк-Островский-1-2.jpg', 'Островский М.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Марк-Островский-1-2.jpg" alt="Островский М.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Островский М.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/mark-ostrovskiy/" class="details-btn">Подробнее</a>
</div>

<!-- Максим Ерахтин -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Максим-Ерахтин-2.jpg', 'Ерахтин М.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Максим-Ерахтин-2.jpg" alt="Ерахтин М.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Ерахтин М.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/maksim-erakhtin/" class="details-btn">Подробнее</a>
</div>

<!-- Владимир Спектор -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Владимир-Спектор.jpg', 'Спектор В.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Владимир-Спектор.jpg" alt="Спектор В.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Спектор В.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/vladimir-spektor/" class="details-btn">Подробнее</a>
</div>

<!-- Галина Пахолкова -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Галина-Пахолкова-2.png', 'Пахолкова Г.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Галина-Пахолкова-2.png" alt="Пахолкова Г.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Пахолкова Г.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/galina-pakholkova/" class="details-btn">Подробнее</a>
</div>

<!-- Алексей Панкратов -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Алексей-Панкратов-2.jpg', 'Панкратов А.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Алексей-Панкратов-2.jpg" alt="Панкратов А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Панкратов А.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/aleksey-pankratov/" class="details-btn">Подробнее</a>
</div>

<!-- Армен Гжанянц -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Армен-Гжанянц-2.png', 'Гжанянц А.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Армен-Гжанянц-2.png" alt="Гжанянц А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Гжанянц А.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/armen-gzhanyants/" class="details-btn">Подробнее</a>
</div>

<!-- Валентина Сушко -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Валентина-Сушко-2.jpg', 'Сушко В.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Валентина-Сушко-2.jpg" alt="Сушко В.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Сушко В.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/valentina-sushko/" class="details-btn">Подробнее</a>
</div>

<!-- Елена Шумилина -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Елена-Шумилина-2.png', 'Шумилина Е.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Елена-Шумилина-2.png" alt="Шумилина Е.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Шумилина Е.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/elena-shumilina/" class="details-btn">Подробнее</a>
</div>

<!-- Екатерина Врублевская -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Екатерина-Врублевская-2.jpg', 'Врублевская Е.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Екатерина-Врублевская-2.jpg" alt="Врублевская Е.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Врублевская Е.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/ekaterina-vrublevskaya/" class="details-btn">Подробнее</a>
</div>

<!-- Николай Нуриджанов -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Николай-Нуриджанов-2.png', 'Нуриджанов Н.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Николай-Нуриджанов-2.png" alt="Нуриджанов Н.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Нуриджанов Н.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/nikolay-nuridzhanov/" class="details-btn">Подробнее</a>
</div>
</div>

<!-- АЛЬТЫ -->
<div class="section-title">АЛЬТЫ</div>
<div class="musicians-grid">
<!-- Владимир Агафонов -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Владимир-Агафонов-Концертмейстер-Заслуженный-артист-Российской-Федерации-4.jpg', 'Агафонов В.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Владимир-Агафонов-Концертмейстер-Заслуженный-артист-Российской-Федерации-4.jpg" alt="Агафонов В.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Агафонов В.</div>
<div class="musician-role">Концертмейстер, Заслуженный артист РФ</div>
</div>
<a href="https://bso.tw1.ru/vladimir-agafonov/" class="details-btn">Подробнее</a>
</div>

<!-- Елена Бакулина -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Елена-Бакулина-4.png', 'Бакулина Е.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Елена-Бакулина-4.png" alt="Бакулина Е.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Бакулина Е.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/elena-bakulina/" class="details-btn">Подробнее</a>
</div>

<!-- Константин Бабич -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Константин-Бабич-4.png', 'Бабич К.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Константин-Бабич-4.png" alt="Бабич К.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Бабич К.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/konstantin-babich/" class="details-btn">Подробнее</a>
</div>

<!-- Елена Скоробогатова -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Елена-Скоробогатова-4.png', 'Скоробогатова Е.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Елена-Скоробогатова-4.png" alt="Скоробогатова Е.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Скоробогатова Е.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/elena-skorobogatova/" class="details-btn">Подробнее</a>
</div>

<!-- Ольга Тихонова -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Ольга-Тихонова-4.png', 'Тихонова О.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Ольга-Тихонова-4.png" alt="Тихонова О.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Тихонова О.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/olga-tikhonova/" class="details-btn">Подробнее</a>
</div>

<!-- Татьяна Марьянова -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Татьяна-Марьянова-4.jpg', 'Марьянова Т.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Татьяна-Марьянова-4.jpg" alt="Марьянова Т.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Марьянова Т.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/tatyana-maryanova/" class="details-btn">Подробнее</a>
</div>

<!-- Марк Смедюк -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Марк-Смедюк-4.png', 'Смедюк М.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Марк-Смедюк-4.png" alt="Смедюк М.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Смедюк М.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/mark-smedyuk/" class="details-btn">Подробнее</a>
</div>

<!-- Артем Агаев -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Артем-Агаев-1-4.jpeg', 'Агаев А.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Артем-Агаев-1-4.jpeg" alt="Агаев А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Агаев А.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/artem-agaev/" class="details-btn">Подробнее</a>
</div>

<!-- Игорь Бурский -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Игорь-Бурский-4.png', 'Бурский И.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Игорь-Бурский-4.png" alt="Бурский И.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Бурский И.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/igor-burskiy/" class="details-btn">Подробнее</a>
</div>

<!-- Пётр Павлов -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Пётр-Павлов-4.jpg', 'Павлов П.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Пётр-Павлов-4.jpg" alt="Павлов П.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Павлов П.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/pyetr-pavlov/" class="details-btn">Подробнее</a>
</div>

<!-- Виктор Юшко -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Виктор-Юшко-4.png', 'Юшко В.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Виктор-Юшко-4.png" alt="Юшко В.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Юшко В.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/viktor-yushko/" class="details-btn">Подробнее</a>
</div>

<!-- Рената Мулюкова -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Рената-Мулюкова-4.jpeg', 'Мулюкова Р.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Рената-Мулюкова-4.jpeg" alt="Мулюкова Р.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Мулюкова Р.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/renata-mulyukova/" class="details-btn">Подробнее</a>
</div>

<!-- Антон Баранов -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Антон-Баранов-4.jpg', 'Баранов А.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Антон-Баранов-4.jpg" alt="Баранов А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Баранов А.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/anton-baranov/" class="details-btn">Подробнее</a>
</div>

<!-- Полина Туренко -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Полина-Туренко-4.jpeg', 'Туренко П.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Полина-Туренко-4.jpeg" alt="Туренко П.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Туренко П.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/polina-turenko/" class="details-btn">Подробнее</a>
</div>
</div>

<!-- ВИОЛОНЧЕЛИ -->
<div class="section-title">ВИОЛОНЧЕЛИ</div>
<div class="musicians-grid">
<!-- Фёдор Землеруб -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Фёдор-Землеруб-Концертмейстер-1.png', 'Землеруб Ф.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Фёдор-Землеруб-Концертмейстер-1.png" alt="Землеруб Ф.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Землеруб Ф.</div>
<div class="musician-role">Концертмейстер</div>
</div>
<a href="https://bso.tw1.ru/fyedor-zemlerub/" class="details-btn">Подробнее</a>
</div>

<!-- Игорь Рогачев -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Игорь-Рогачев-Заслуженный-артист-Российской-Федерации-1.png', 'Рогачев И.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Игорь-Рогачев-Заслуженный-артист-Российской-Федерации-1.png" alt="Рогачев И.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Рогачев И.</div>
<div class="musician-role">Заслуженный артист РФ</div>
</div>
<a href="https://bso.tw1.ru/igor-rogachev/" class="details-btn">Подробнее</a>
</div>

<!-- Наталья Распопова -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Наталья-Распопова-1.png', 'Распопова Н.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Наталья-Распопова-1.png" alt="Распопова Н.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Распопова Н.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/natalya-raspopova/" class="details-btn">Подробнее</a>
</div>

<!-- Денис Калинский -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Денис-Калинский-1.png', 'Калинский Д.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Денис-Калинский-1.png" alt="Калинский Д.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Калинский Д.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/denis-kalinskiy/" class="details-btn">Подробнее</a>
</div>


<!-- Петр Сурайкин -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Петр-Сурайкин-1.png', 'Сурайкин П.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Петр-Сурайкин-1.png" alt="Сурайкин П.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Сурайкин П.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/petr-suraykin/" class="details-btn">Подробнее</a>
</div>

<!-- Наталья Борисова -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Наталья-Борисова-1.png', 'Борисова Н.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Наталья-Борисова-1.png" alt="Борисова Н.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Борисова Н.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/natalya-borisova/" class="details-btn">Подробнее</a>
</div>

<!-- Михаил Звонников -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Михаил-Звонников-1.jpg', 'Звонников М.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Михаил-Звонников-1.jpg" alt="Звонников М.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Звонников М.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/mikhail-zvonnikov/" class="details-btn">Подробнее</a>
</div>

<!-- Сергей Булгадарян -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Сергей-Булгадарян-1.jpg', 'Булгадарян С.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Сергей-Булгадарян-1.jpg" alt="Булгадарян С.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Булгадарян С.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/sergey-bulgadaryan/" class="details-btn">Подробнее</a>
</div>

<!-- Сергей Голощапов -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Сергей-Голощапов-1.png', 'Голощапов С.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Сергей-Голощапов-1.png" alt="Голощапов С.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Голощапов С.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/sergey-goloshchapov/" class="details-btn">Подробнее</a>
</div>

<!-- Игорь Тынчеров -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Игорь-Тынчеров-2.png', 'Тынчеров И.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Игорь-Тынчеров-2.png" alt="Тынчеров И.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Тынчеров И.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/igor-tyncherov/" class="details-btn">Подробнее</a>
</div>

<!-- Давид Ежов -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Давид-Ежов-1.jpg', 'Ежов Д.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Давид-Ежов-1.jpg" alt="Ежов Д.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Ежов Д.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/david-ezhov/" class="details-btn">Подробнее</a>
</div>
</div>

<!-- КОНТРАБАСЫ -->
<div class="section-title">КОНТРАБАСЫ</div>
<div class="musicians-grid">
<!-- Игорь Голованов -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Игорь-Голованов-Концертмейстер-Заслуженный-артист-России-1.png', 'Голованов И.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Игорь-Голованов-Концертмейстер-Заслуженный-артист-России-1.png" alt="Голованов И.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Голованов И.</div>
<div class="musician-role">Концертмейстер, Заслуженный артист России</div>
</div>
<a href="https://bso.tw1.ru/igor-golovanov/" class="details-btn">Подробнее</a>
</div>

<!-- Владимир Ильицкий -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Владимир-Ильицкий-1.jpg', 'Ильицкий В.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Владимир-Ильицкий-1.jpg" alt="Ильицкий В.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Ильицкий В.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/vladimir-ilitskiy/" class="details-btn">Подробнее</a>
</div>

<!-- Станислав Бетер -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Станислав-Бетер-1.jpeg', 'Бетер С.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Станислав-Бетер-1.jpeg" alt="Бетер С.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Бетер С.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/stanislav-beter/" class="details-btn">Подробнее</a>
</div>

<!-- Павел Алферов -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Павел-Алферов-1.jpeg', 'Алферов П.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Павел-Алферов-1.jpeg" alt="Алферов П.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Алферов П.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/pavel-alferov/" class="details-btn">Подробнее</a>
</div>

<!-- Игорь Никифоров -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Игорь-Никифоров-1.jpg', 'Никифоров И.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Игорь-Никифоров-1.jpg" alt="Никифоров И.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Никифоров И.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/igor-nikiforov/" class="details-btn">Подробнее</a>
</div>

<!-- Александр Карпенко -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Александр-Карпенко-1.png', 'Карпенко А.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Александр-Карпенко-1.png" alt="Карпенко А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Карпенко А.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/aleksandr-karpenko/" class="details-btn">Подробнее</a>
</div>

<!-- Глеб Дёмин -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Глеб-Дёмин-1.jpg', 'Дёмин Г.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Глеб-Дёмин-1.jpg" alt="Дёмин Г.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Дёмин Г.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/gleb-dyemin/" class="details-btn">Подробнее</a>
</div>

<!-- Василисса Середина -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Василисса-Середина-1.jpg', 'Середина В.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Василисса-Середина-1.jpg" alt="Середина В.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Середина В.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/vasilissa-seredina/" class="details-btn">Подробнее</a>
</div>

<!-- Даниил Веснин -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Даниил-Веснин-1.jpg', 'Веснин Д.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Даниил-Веснин-1.jpg" alt="Веснин Д.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Веснин Д.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/daniil-vesnin/" class="details-btn">Подробнее</a>
</div>

<!-- Эрежиб Молокаев -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Эрежиб-Молокаев-1.jpg', 'Молокаев Э.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Эрежиб-Молокаев-1.jpg" alt="Молокаев Э.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Молокаев Э.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/erezhib-molokaev/" class="details-btn">Подробнее</a>
</div>
</div>

<!-- ФЛЕЙТЫ -->
<div class="section-title">ФЛЕЙТЫ</div>
<div class="musicians-grid">
<!-- Илья Лебедев -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Илья-Лебедев-Солист.jpg', 'Лебедев И.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Илья-Лебедев-Солист.jpg" alt="Лебедев И.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Лебедев И.</div>
<div class="musician-role">Солист</div>
</div>
<a href="https://bso.tw1.ru/ilya-lebedev/" class="details-btn">Подробнее</a>
</div>

<!-- Антон Сильверстов -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Антон-Сильверстов-2.jpg', 'Сильверстов А.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Антон-Сильверстов-2.jpg" alt="Сильверстов А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Сильверстов А.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/anton-silverstov/" class="details-btn">Подробнее</a>
</div>

<!-- Вера Фисейская -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Вера-Фисейская-1.jpg', 'Фисейская В.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Вера-Фисейская-1.jpg" alt="Фисейская В.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Фисейская В.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/vera-fiseyskaya/" class="details-btn">Подробнее</a>
</div>

<!-- Станислав Михайловский -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Станислав-Михайловский-флейта-пикколо-1.jpg', 'Михайловский С.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Станислав-Михайловский-флейта-пикколо-1.jpg" alt="Михайловский С.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Михайловский С.</div>
<div class="musician-role">Флейта-пикколо</div>
</div>
<a href="https://bso.tw1.ru/stanislav-mikhaylovskiy/" class="details-btn">Подробнее</a>
</div>

<!-- Артём Васильев -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Артём-Васильев-1.jpg', 'Васильев А.')">
<img src="https://bso.tw1.ru/Vasilev.jpg" alt="Васильев А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Васильев А.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/artem-vasilev/" class="details-btn">Подробнее</a>
</div>
</div>

<!-- ГОБОИ -->
<div class="section-title">ГОБОИ</div>
<div class="musicians-grid">
<!-- Олег Панин -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Олег-Панин-Первый-солист-Заслуженный-артист-Российской-Федерации-1.png', 'Панин О.')">
<img src="https://bso.tw1.ru/Panin.png" alt="Панин О.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Панин О.</div>
<div class="musician-role">Первый солист, Заслуженный артист РФ</div>
</div>
<a href="https://bso.tw1.ru/oleg-panin/" class="details-btn">Подробнее</a>
</div>

<!-- Сергей Тихонов -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Сергей-Тихонов-Заслуженный-артист-России-1.png', 'Тихонов С.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Сергей-Тихонов-Заслуженный-артист-России-1.png" alt="Тихонов С.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Тихонов С.</div>
<div class="musician-role">Заслуженный артист России</div>
</div>
<a href="https://bso.tw1.ru/sergey-tikhonov/" class="details-btn">Подробнее</a>
</div>

<!-- Екатерина Кириллова -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Екатерина-Кириллова-2.jpg', 'Кириллова Е.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Екатерина-Кириллова-2.jpg" alt="Кириллова Е.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Кириллова Е.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/ekaterina-kirillova/" class="details-btn">Подробнее</a>
</div>
</div>

<!-- КЛАРНЕТЫ -->
<div class="section-title">КЛАРНЕТЫ</div>
<div class="musicians-grid">
<!-- Антон Моисеенко -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/%D0%90%D0%BD%D1%82%D0%BE%D0%BD-%D0%9C%D0%BE%D0%B9%D1%81%D0%B5%D0%B5%D0%BD%D0%BA%D0%BE-%D0%A1%D0%BE%D0%BB%D0%B8%D1%81%D1%82-1.jpg', 'Моисеенко А.')">
<img src="https://bso.tw1.ru/Moiseenko.jpg" alt="Моисеенко А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Моисеенко А.</div>
<div class="musician-role">Солист</div>
</div>
<a href="https://bso.tw1.ru/anton-moyseenko/" class="details-btn">Подробнее</a>
</div>

<!-- Владимир Шлеин -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Владимир-Шлеин-Солист-регулятор-Заслуженный-артист-России-1.png', 'Шлеин В.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Владимир-Шлеин-Солист-регулятор-Заслуженный-артист-России-1.png" alt="Шлеин В.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Шлеин В.</div>
<div class="musician-role">Солист, регулятор, Заслуженный артист России</div>
</div>
<a href="https://bso.tw1.ru/vladimir-shlein/" class="details-btn">Подробнее</a>
</div>

<!-- Станислав Суслов -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Станислав-Суслов-1.jpg', 'Суслов С.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Станислав-Суслов-1.jpg" alt="Суслов С.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Суслов С.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/stanislav-suslov/" class="details-btn">Подробнее</a>
</div>
</div>

<!-- ФАГОТЫ -->
<div class="section-title">ФАГОТЫ</div>
<div class="musicians-grid">
<!-- Иван Шатковский -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Иван-Шатковский-1.jpg', 'Шатковский И.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Иван-Шатковский-1.jpg" alt="Шатковский И.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Шатковский И.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/ivan-shatkovskiy/" class="details-btn">Подробнее</a>
</div>

<!-- Александр Попов -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Александр-Попов-Фагот-2-1.png', 'Попов А.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Александр-Попов-Фагот-2-1.png" alt="Попов А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Попов А.</div>
<div class="musician-role">Фагот 2</div>
</div>
<a href="https://bso.tw1.ru/aleksandr-popov/" class="details-btn">Подробнее</a>
</div>

<!-- Ярослав Кострыкин -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Ярослав-Кострыкин-Контрфагот-регулятор-фагот-2-1.png', 'Кострыкин Я.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Ярослав-Кострыкин-Контрфагот-регулятор-фагот-2-1.png" alt="Кострыкин Я.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Кострыкин Я.</div>
<div class="musician-role">Контрфагот, регулятор, фагот 2</div>
</div>
<a href="https://bso.tw1.ru/yaroslav-kostrykin/" class="details-btn">Подробнее</a>
</div>

<!-- Илья Быков -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Илья-Быков-1.png', 'Быков И.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Илья-Быков-1.png" alt="Быков И.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Быков И.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/bykov-ilya-valerievich/" class="details-btn">Подробнее</a>
</div>
</div>

<!-- ТРУБЫ -->
<div class="section-title">ТРУБЫ</div>
<div class="musicians-grid">
<!-- Александр Козлов -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Александр-Козлов-Первый-солист-Заслуженный-артист-Российской-Федерации-1-1.jpg', 'Козлов А.')">
<img src="https://bso.tw1.ru/Kozlov.jpg" alt="Козлов А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Козлов А.</div>
<div class="musician-role">Первый солист, Заслуженный артист РФ</div>
</div>
<a href="https://bso.tw1.ru/aleksandr-kozlov/" class="details-btn">Подробнее</a>
</div>

<!-- Юрий Архангельский -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Юрий-Архангельский-Солист-1.jpeg', 'Архангельский Ю.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Юрий-Архангельский-Солист-1.jpeg" alt="Архангельский Ю.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Архангельский Ю.</div>
<div class="musician-role">Солист</div>
</div>
<a href="https://bso.tw1.ru/yuriy-arkhangelskiy/" class="details-btn">Подробнее</a>
</div>

<!-- Антон Шпарварт -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Антон-Шпарварт-Регулятор-2-3-4-1.png', 'Шпарварт А.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Антон-Шпарварт-Регулятор-2-3-4-1.png" alt="Шпарварт А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Шпарварт А.</div>
<div class="musician-role">Регулятор 2, 3, 4</div>
</div>
<a href="https://bso.tw1.ru/anton-shparvart/" class="details-btn">Подробнее</a>
</div>

<!-- Александр Смирнов -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Александр-Смирнов-Регулятор-группы-1.jpg', 'Смирнов А.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Александр-Смирнов-Регулятор-группы-1.jpg" alt="Смирнов А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Смирнов А.</div>
<div class="musician-role">Регулятор группы</div>
</div>
<a href="https://bso.tw1.ru/aleksandr-smirnov/" class="details-btn">Подробнее</a>
</div>

<!-- Серафим Иваненко -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Серафим-Иваненко-Регулятор-2-3-4-1.jpeg', 'Иваненко С.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Серафим-Иваненко-Регулятор-2-3-4-1.jpeg" alt="Иваненко С.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Иваненко С.</div>
<div class="musician-role">Регулятор 2, 3, 4</div>
</div>
<a href="https://bso.tw1.ru/serafim-ivanenko/" class="details-btn">Подробнее</a>
</div>
</div>


<!-- ВАЛТОРНЫ -->
<div class="section-title">ВАЛТОРНЫ</div>
<div class="musicians-grid">
<!-- Алексей Камеш -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Алексей-Камеш-Первый-солист-Заслуженный-артист-России-1.png', 'Камеш А.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Алексей-Камеш-Первый-солист-Заслуженный-артист-России-1.png" alt="Камеш А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Камеш А.</div>
<div class="musician-role">Первый солист, Заслуженный артист России</div>
</div>
<a href="https://bso.tw1.ru/aleksey-kamesh/" class="details-btn">Подробнее</a>
</div>

<!-- Дмитрий Никитин -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Дмитрий-Никитин-Солист-1.png', 'Никитин Д.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Дмитрий-Никитин-Солист-1.png" alt="Никитин Д.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Никитин Д.</div>
<div class="musician-role">Солист</div>
</div>
<a href="https://bso.tw1.ru/dmitriy-nikitin/" class="details-btn">Подробнее</a>
</div>

<!-- Сергей Дорохов -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Сергей-Дорохов-1.jpg', 'Дорохов С.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Сергей-Дорохов-1.jpg" alt="Дорохов С.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Дорохов С.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/sergey-dorokhov/" class="details-btn">Подробнее</a>
</div>

<!-- Геннадий Широков -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Геннадий-Широков-Валторна-2-1.png', 'Широков Г.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Геннадий-Широков-Валторна-2-1.png" alt="Широков Г.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Широков Г.</div>
<div class="musician-role">Валторна 2</div>
</div>
<a href="https://bso.tw1.ru/gennadiy-shirokov/" class="details-btn">Подробнее</a>
</div>

<!-- Алексей Булгаков -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Алексей-Булгаков-1.jpg', 'Булгаков А.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Алексей-Булгаков-1.jpg" alt="Булгаков А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Булгаков А.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/aleksey-bulgakov/" class="details-btn">Подробнее</a>
</div>

<!-- Александр Слёзкин -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Александр-Слёзкин-1.png', 'Слёзкин А.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Александр-Слёзкин-1.png" alt="Слёзкин А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Слёзкин А.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/aleksandr-slyezkin/" class="details-btn">Подробнее</a>
</div>
</div>

<!-- ТРОМБОНЫ -->
<div class="section-title">ТРОМБОНЫ</div>
<div class="musicians-grid">
<!-- Дмитрий Шаров -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Дмитрий-Шаров-Регулятор-1-2-Заслуженный-артист-России-3.png', 'Шаров Д.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Дмитрий-Шаров-Регулятор-1-2-Заслуженный-артист-России-3.png" alt="Шаров Д.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Шаров Д.</div>
<div class="musician-role">Регулятор 1, 2, Заслуженный артист России</div>
</div>
<a href="https://bso.tw1.ru/dmitriy-sharov/" class="details-btn">Подробнее</a>
</div>

<!-- Архип Самсонов -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Архип-Самсонов-3.jpeg', 'Самсонов А.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Архип-Самсонов-3.jpeg" alt="Самсонов А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Самсонов А.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/arkhip-samsonov/" class="details-btn">Подробнее</a>
</div>

<!-- Кирилл Колосков -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Кирилл-Колосков-Регулятор-2-3-3.jpg', 'Колосков К.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Кирилл-Колосков-Регулятор-2-3-3.jpg" alt="Колосков К.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Колосков К.</div>
<div class="musician-role">Регулятор 2, 3</div>
</div>
<a href="https://bso.tw1.ru/kirill-koloskov/" class="details-btn">Подробнее</a>
</div>

<!-- Юрий Колосов -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Юрий-Колосов-Первый-солист-3.jpg', 'Колосов Ю.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Юрий-Колосов-Первый-солист-3.jpg" alt="Колосов Ю.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Колосов Ю.</div>
<div class="musician-role">Первый солист</div>
</div>
<a href="https://bso.tw1.ru/yuriy-kolosov/" class="details-btn">Подробнее</a>
</div>
</div>

<!-- ТУБА -->
<div class="section-title">ТУБА</div>
<div class="musicians-grid">
<!-- Юрий Соболев -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Юрий-Соболев-Туба-2.jpg', 'Соболев Ю.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Юрий-Соболев-Туба-2.jpg" alt="Соболев Ю.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Соболев Ю.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/yuriy-sobolev/" class="details-btn">Подробнее</a>
</div>
</div>


<!-- КЛАВИШНЫЕ И УДАРНЫЕ -->
<div class="section-title">КЛАВИШНЫЕ И УДАРНЫЕ</div>
<div class="musicians-grid">
<!-- Георгий Хачикян -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Георгий-Хачикян-рояль-челеста-2.jpg', 'Хачикян Г.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Георгий-Хачикян-рояль-челеста-2.jpg" alt="Хачикян Г.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Хачикян Г.</div>
<div class="musician-role">Рояль, челеста</div>
</div>
<a href="https://bso.tw1.ru/georgiy-khachikyan/" class="details-btn">Подробнее</a>
</div>

<!-- Андрей Никитин -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Андрей-Никитин-Концертмейстер-2.jpg', 'Никитин А.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Андрей-Никитин-Концертмейстер-2.jpg" alt="Никитин А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Никитин А.</div>
<div class="musician-role">Концертмейстер</div>
</div>
<a href="https://bso.tw1.ru/andrey-nikitin/" class="details-btn">Подробнее</a>
</div>

<!-- Игорь Крапенков -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Игорь-Крапенков-Заслуженный-артист-России-2.png', 'Крапенков И.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Игорь-Крапенков-Заслуженный-артист-России-2.png" alt="Крапенков И.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Крапенков И.</div>
<div class="musician-role">Заслуженный артист России</div>
</div>
<a href="https://bso.tw1.ru/igor-krapenkov/" class="details-btn">Подробнее</a>
</div>

<!-- Андрей Винницкий -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Андрей-Винницкий-2.jpg', 'Винницкий А.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Андрей-Винницкий-2.jpg" alt="Винницкий А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Винницкий А.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/andrey-vinnitskiy/" class="details-btn">Подробнее</a>
</div>

<!-- Андрей Мартынов -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Андрей-Мартынов-2.jpg', 'Мартынов А.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Андрей-Мартынов-2.jpg" alt="Мартынов А.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Мартынов А.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/andrey-martynov/" class="details-btn">Подробнее</a>
</div>

<!-- Дмитрий Лазарев -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Дмитрий-Лазарев-2.jpg', 'Лазарев Д.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Дмитрий-Лазарев-2.jpg" alt="Лазарев Д.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Лазарев Д.</div>
<div class="musician-role">Артист</div>
</div>
<a href="https://bso.tw1.ru/dmitriy-lazarev/" class="details-btn">Подробнее</a>
</div>
</div>

<!-- АРФЫ -->
<div class="section-title">АРФЫ</div>
<div class="musicians-grid">
<!-- Мария Москвитина -->
<div class="musician-card">
<div class="photo-container" onclick="openOrchestraModal('https://bso.tw1.ru/wp-content/uploads/2025/08/Мария-Москвитина-Солист.png', 'Москвитина М.')">
<img src="https://bso.tw1.ru/wp-content/uploads/2025/08/Мария-Москвитина-Солист.png" alt="Москвитина М.">
<div class="zoom-indicator">🔍</div>
</div>
<div class="musician-info">
<div class="musician-name">Москвитина М.</div>
<div class="musician-role">Солист</div>
</div>
<a href="https://bso.tw1.ru/mariya-moskvitina/" class="details-btn">Подробнее</a>
</div>
</div>
</div>

<!-- Модальное окно -->
<div id="orchestraImageModal" class="orchestra-modal">
<span class="close-modal" onclick="closeOrchestraModal()">×</span>
<img class="modal-content" id="orchestraModalImage">
<div class="modal-caption" id="orchestraModalCaption"></div>
</div>

<style>
.orchestra-gallery-container {
max-width: 1400px;
margin: 0 auto;
padding: 20px 40px;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background: #f9f5f0;
color: #5a4a42;
line-height: 1.6;
}

.gallery-header {
text-align: center;
margin-bottom: 30px;
padding: 25px;
background: linear-gradient(135deg, #8b6b61 0%, #a99282 100%);
color: #fff8f0;
border-radius: 12px;
box-shadow: 0 5px 15px rgba(139, 107, 97, 0.15);
}

.gallery-header h1 {
margin-bottom: 15px;
font-size: 2.2rem;
}

.search-box {
max-width: 500px;
margin: 0 auto;
position: relative;
}

.search-box input {
width: 100%;
padding: 8px 15px 8px 35px ; /* Уменьшил отступы */
border: none;
border-radius: 25px; /* Немного меньше скругление */
box-shadow: 0 2px 8px rgba(139, 107, 97, 0.1); /* Легче тень */
font-size: 0.6rem; /* Меньше шрифт */
background: #fff8f0;
color: #5a4a42;
}

.search-icon {
position: absolute;
left: 12px;
top: 50%;
transform: translateY(-50%);
color: #8b6b61;
font-size: 16px;
}

.conductor-section {
text-align: center;
margin-bottom: 40px;
padding: 25px;
background: linear-gradient(135deg, #d7ccc8 0%, #efebe9 100%);
border-radius: 12px;
}

.conductor-section h2 {
color: #5d4037;
margin-bottom: 20px;
font-size: 1.6rem;
}

.conductor-card {
max-width: 500px;
background: white;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 5px 15px rgba(93, 64, 55, 0.1);
margin: 0 auto;
}

.conductor-photo {
height: 350px;
overflow: hidden;
}

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

.conductor-info {
padding: 20px;
}

.conductor-name {
font-weight: 600;
margin-bottom: 8px;
color: #5d4037;
font-size: 1.3rem;
}

.conductor-role {
color: #8d6e63;
margin-bottom: 15px;
font-size: 1rem;
font-weight: 400;
}

.conductor-btn {
display: inline-block;
background: white;
color: #8d6e63;
padding: 3px 8px;
border-radius: 10px;
text-decoration: none;
font-size: 0.7rem !important;
margin: 0 auto;
min-width: 65px;
max-width: 90px;
transition: all 0.3s ease;
border: 0.5px solid #d7ccc8;
text-align: center;
font-weight: 400;
line-height: 1.2;
}

.conductor-btn:hover {
transform: translateY(-2px);
box-shadow: 0 2px 6px rgba(139, 107, 97, 0.2);
background: #f5f5f5;
color: #5d4037;
border-color: #8d6e63;
}



.section-title {
background: linear-gradient(135deg, #a1887f 0%, #8d6e63 100%);
color: #fff8f0;
padding: 15px 20px;
margin: 30px 0 20px;
border-radius: 8px;
font-size: 1.3rem;
}

/* Сетка - 4 колонки на десктопе, 2 на мобильном */
.musicians-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20px;
margin-bottom: 30px;
}



/* Grid решение для карточек */
.musician-card {
background: white;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 4px 10px rgba(139, 107, 97, 0.1);
transition: transform 0.3s ease;
display: grid;
grid-template-rows: 200px 1fr auto; /* Фото, контент, кнопка */
height: 100%;
min-height: 380px;
}



.photo-container, .no-photo {
grid-row: 1;
height: 200px;
overflow: hidden;
}

.no-photo {
display: flex;
align-items: center;
justify-content: center;
background: #f0f0f0;
color: #999;
}

.photo-container img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.3s ease;
}

.photo-container:hover img {
transform: scale(1.05);
}

.zoom-indicator {
position: absolute;
bottom: 10px;
right: 10px;
background: rgba(93, 64, 55, 0.7);
width: 28px;
height: 28px;
border-radius: 50%;
display: flex !important;
align-items: center;
justify-content: center;
z-index: 2;
opacity: 0;
transition: opacity 0.3s ease;
}

.zoom-indicator img {
display: none !important;
}

.zoom-indicator:after {
content: "🔍";
font-size: 14px;
color: white;
}

.photo-container:hover .zoom-indicator {
opacity: 1 !important;
}




.musician-info {
grid-row: 2;
padding: 15px;
text-align: center;
display: flex;
flex-direction: column;
justify-content: space-between; /* Важно: равномерное распределение */
min-height: 120px; /* Минимальная высота для контента */
}




.details-btn {
grid-row: 3;
display: inline-block; /* Меняем с flex на inline-block */
background: white;
color: #8d6e63;
padding: 3px 8px; /* Уменьшаем отступы */
border-radius: 10px; /* Немного меньше скругление */
text-decoration: none;
font-size: 0.7rem !important; /* Добавляем !important */
margin: 0 auto 10px auto;
min-width: 65px;
max-width: 90px;
transition: all 0.3s ease;
border: 0.5px solid #d7ccc8; /* Тоньше рамка */
text-align: center;
font-weight: 400;
line-height: 1.2; /* Добавляем line-height */
}

.details-btn:hover {
transform: translateY(-2px);
box-shadow: 0 2px 6px rgba(139, 107, 97, 0.2);
background: #f5f5f5; /* Легкий фон при наведении */
color: #5d4037; /* Темнее текст при наведении */
}


.musician-name {
font-weight: 600;
margin-bottom: 8px;
color: #5d4037;
}





.musician-role {
color: #8d6e63;
margin-bottom: 15px;
font-size: 0.9rem;
line-height: 1.4;
flex-grow: 1;
font-weight: 500; /* Добавляем эту строку - делает текст полужирным */
}






.no-photo {
height: 200px;
display: flex;
align-items: center;
justify-content: center;
background: #f0f0f0;
color: #999;
}

.no-results {
text-align: center;
padding: 30px;
color: #8d6e63;
display: none;
}

/* Модальное окно */
.orchestra-modal {
display: none;
position: fixed;
z-index: 10000;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.95);
overflow: hidden;
align-items: center;
justify-content: center;
}

.orchestra-modal.show {
display: flex;
}

.modal-content {
max-width: 90%;
max-height: 80%;
object-fit: contain;
}

.close-modal {
position: fixed;
top: 20px;
right: 25px;
color: white;
font-size: 30px;
cursor: pointer;
z-index: 10001;
background: rgba(0, 0, 0, 0.5);
width: 40px;
height: 40px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
}

.modal-caption {
position: fixed;
bottom: 20px;
left: 0;
width: 100%;
text-align: center;
color: white;
padding: 10px;
background: rgba(0, 0, 0, 0.6);
}

/* Адаптивность */
@media (max-width: 1200px) {
.musicians-grid {
grid-template-columns: repeat(3, 1fr);
}

.orchestra-gallery-container {
padding: 20px 30px;
}
}

@media (max-width: 900px) {
.musicians-grid {
grid-template-columns: repeat(2, 1fr);
}

.orchestra-gallery-container {
padding: 15px 20px;
}

.gallery-header h1 {
font-size: 1.8rem;
}

.conductor-photo {
height: 300px;
}
}

@media (max-width: 600px) {
.musicians-grid {
grid-template-columns: 1fr;
gap: 15px;
}

.orchestra-gallery-container {
padding: 15px;
}

.section-title {
font-size: 1.1rem;
padding: 12px 15px;
}

.modal-content {
max-width: 95%;
max-height: 85%;
}

.close-modal {
top: 15px;
right: 20px;
font-size: 25px;
}

.conductor-photo {
height: 280px;
}
}
</style>

<script>
// Функции модального окна
function openOrchestraModal(imageSrc, musicianName) {
const modal = document.getElementById('orchestraImageModal');
const modalImg = document.getElementById('orchestraModalImage');
const captionText = document.getElementById('orchestraModalCaption');

// Блокируем прокрутку
document.body.style.overflow = 'hidden';
document.body.style.height = '100%';

modal.classList.add('show');
modalImg.src = imageSrc;
captionText.innerHTML = musicianName;
}

function closeOrchestraModal() {
const modal = document.getElementById('orchestraImageModal');
modal.classList.remove('show');

// Восстанавливаем прокрутку
document.body.style.overflow = '';
document.body.style.height = '';
}

// Закрытие по клику вне изображения
document.getElementById('orchestraImageModal').addEventListener('click', function(e) {
if (e.target === this) closeOrchestraModal();
});

// Поиск музыкантов (дирижер теперь исключается из поиска)
document.addEventListener('DOMContentLoaded', function() {
const searchInput = document.getElementById('orchestraSearchInput');
const noResults = document.getElementById('orchestraNoResults');
const allCards = document.querySelectorAll('.musician-card');
const allSections = document.querySelectorAll('.section-title');
const allGrids = document.querySelectorAll('.musicians-grid');
const conductorSection = document.querySelector('.conductor-section');

function performSearch() {
const searchTerm = searchInput.value.trim().toLowerCase();
let foundResults = false;

// Скрываем все карточки и секции
allCards.forEach(card => card.style.display = 'none');
allSections.forEach(section => section.style.display = 'none');
allGrids.forEach(grid => grid.style.display = 'none');

// Скрываем дирижера при поиске
if (searchTerm !== '') {
conductorSection.style.display = 'none';
} else {
conductorSection.style.display = 'block';
}

// Если поиск пустой - показываем всё
if (searchTerm === '') {
allCards.forEach(card => card.style.display = 'block');
allSections.forEach(section => section.style.display = 'block');
allGrids.forEach(grid => grid.style.display = 'grid');
noResults.style.display = 'none';
return;
}

// Ищем совпадения
allCards.forEach(card => {
const nameElement = card.querySelector('.musician-name');
if (nameElement) {
const name = nameElement.textContent.toLowerCase();
if (name.includes(searchTerm)) {
card.style.display = 'block';
foundResults = true;

// Показываем родительскую секцию
const grid = card.closest('.musicians-grid');
if (grid) {
grid.style.display = 'grid';
const section = grid.previousElementSibling;
if (section && section.classList.contains('section-title')) {
section.style.display = 'block';
}
}
}
}
});

// Сообщение если ничего не найдено
noResults.style.display = foundResults ? 'none' : 'block';
}

searchInput.addEventListener('input', performSearch);
});
</script>
</div>

<style>
/* ВСТАВЬТЕ СЮДА ВЕСЬ CSS КОД ГАЛЕРЕИ */

@media (max-width: 600px) {
.conductor-card {
width: 100% !important;
max-width: 100% !important;
}
}

/* Исправления для галереи оркестра */
.orchestra-gallery-container .search-box input {
padding-left: 45px !important;
}

.orchestra-gallery-container .search-icon {
left: 15px !important;
pointer-events: none;
}

.orchestra-gallery-container .conductor-section {
margin-bottom: 30px !important;
padding: 20px !important;
}

.orchestra-gallery-container .conductor-card {
margin: 0 auto !important;
}

.orchestra-gallery-container .conductor-info {
padding: 20px 20px 25px 20px !important;
}



/* Мобильная версия */
@media (max-width: 600px) {
.orchestra-gallery-container .conductor-section {
margin-bottom: 20px !important;
padding: 15px !important;
}

.orchestra-gallery-container .conductor-photo {
height: 280px !important;
}

.orchestra-gallery-container .conductor-info {
padding: 15px !important;
}

.orchestra-gallery-container .search-box input {
padding-left: 40px !important;
}

.orchestra-gallery-container .search-icon {
left: 12px !important;
}
}


.musician-role {
flex-grow: 1 !important;
}

.zoom-indicator {
position: absolute;
bottom: 10px;
right: 10px;
background: rgba(93, 64, 55, 0.7);
color: white;
width: 28px;
height: 28px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
z-index: 2; /* Добавляем это */
opacity: 0; /* Сначала скрываем */
transition: opacity 0.3s ease; /* Плавное появление */
}

.photo-container:hover .zoom-indicator {
opacity: 1; /* Показываем при наведении */
}

</style>

<script>
jQuery(document).ready(function($) {
// Функции модального окна
function openOrchestraModal(imageSrc, musicianName) {
const modal = document.getElementById('orchestraImageModal');
const modalImg = document.getElementById('orchestraModalImage');
const captionText = document.getElementById('orchestraModalCaption');

// Блокируем прокрутку
document.body.style.overflow = 'hidden';
document.body.style.height = '100%';

modal.classList.add('show');
modalImg.src = imageSrc;
captionText.innerHTML = musicianName;
}

function closeOrchestraModal() {
const modal = document.getElementById('orchestraImageModal');
modal.classList.remove('show');

// Восстанавливаем прокрутку
document.body.style.overflow = '';
document.body.style.height = '';
}

// Закрытие по клику вне изображения
document.getElementById('orchestraImageModal').addEventListener('click', function(e) {
if (e.target === this) closeOrchestraModal();
});

// Поиск музыкантов (дирижер теперь исключается из поиска)
const searchInput = document.getElementById('orchestraSearchInput');
const noResults = document.getElementById('orchestraNoResults');
const allCards = document.querySelectorAll('.musician-card');
const allSections = document.querySelectorAll('.section-title');
const allGrids = document.querySelectorAll('.musicians-grid');
const conductorSection = document.querySelector('.conductor-section');

function performSearch() {
const searchTerm = searchInput.value.trim().toLowerCase();
let foundResults = false;

// Скрываем все карточки и секции
allCards.forEach(card => card.style.display = 'none');
allSections.forEach(section => section.style.display = 'none');
allGrids.forEach(grid => grid.style.display = 'none');

// Скрываем дирижера при поиске
if (searchTerm !== '') {
conductorSection.style.display = 'none';
} else {
conductorSection.style.display = 'block';
}

// Если поиск пустой - показываем всё
if (searchTerm === '') {
allCards.forEach(card => card.style.display = 'block');
allSections.forEach(section => section.style.display = 'block');
allGrids.forEach(grid => grid.style.display = 'grid');
noResults.style.display = 'none';
return;
}

// Ищем совпадения
allCards.forEach(card => {
const nameElement = card.querySelector('.musician-name');
if (nameElement) {
const name = nameElement.textContent.toLowerCase();
if (name.includes(searchTerm)) {
card.style.display = 'block';
foundResults = true;

// Показываем родительскую секцию
const grid = card.closest('.musicians-grid');
if (grid) {
grid.style.display = 'grid';
const section = grid.previousElementSibling;
if (section && section.classList.contains('section-title')) {
section.style.display = 'block';
}
}
}
}
});

// Сообщение если ничего не найдено
noResults.style.display = foundResults ? 'none' : 'block';
}

if (searchInput) {
searchInput.addEventListener('input', performSearch);
}

// Инициализация - убедимся, что все карточки видны при загрузке
allCards.forEach(card => {
card.style.display = 'block';
});
});
</script>

<!-- Модальное окно -->
<div id="orchestraImageModal" class="orchestra-modal">
<span class="close-modal" onclick="closeOrchestraModal()">×</span>
<img class="modal-content" id="orchestraModalImage">
<div class="modal-caption" id="orchestraModalCaption"></div>
</div>
<?php
return ob_get_clean();
}
add_shortcode('orchestra_gallery', 'orchestra_gallery_shortcode');