/*
Theme Name: Рыбинский музей заповедник 
Theme URI:  
Description: The original музей-2026  theme.
Version: 2026
Author: alisa
*/

/* CSS Document */




  /*Убрать обводку браузера*/
a.active.focus,
a.active:focus,
a.focus,
a:active.focus,
a:active:focus,
a:focus,
button.active.focus,
button.active:focus,
button.focus,
button:active.focus,
button:active:focus,
button:focus,
.btn.active.focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn:active:focus,
.btn:focus {
outline: 0!important;
outline-color: transparent!important;
outline-width: 0!important;
outline-style: none!important;
box-shadow: 0 0 0 0 rgba(0,123,255,0)!important;
}
/*Конец Убрать обводку браузера*/
:focus {
    outline-style: none;
   /* outline-width: 0px !important;  */
    outline-color: none !important;
}

  :root {
            --primary-red: #ba2f26; 
            --dark-bg: #1a1a1a;
            --light-gray: #f8f9fa;
            --text-gray: #666;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        /* Franz Grotesque Regular */
@font-face {
    font-family: 'FranzGrotesque';
    src: url('/wp-content/themes/myzey-2026/fonts/FranzGrotesque-Regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Casus Pro Light Italic */
@font-face {
    font-family: 'CasusPro';
    src: url('/wp-content/themes/myzey-2026/fonts/CasusPro-LightItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

/* Casus Pro Book Italic */
@font-face {
    font-family: 'CasusPro';
    src: url('/wp-content/themes/myzey-2026/fonts/CasusPro-BookItalic.ttf') format('truetype');
    font-weight: 450;
    font-style: italic;
    font-display: swap;
}

/* Casus Pro Italic */
@font-face {
    font-family: 'CasusPro';
    src: url('/wp-content/themes/myzey-2026/fonts/CasusPro-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

/* Casus Pro Black */
@font-face {
    font-family: 'CasusPro';
    src: url('/wp-content/themes/myzey-2026/fonts/CasusPro-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* Casus Pro Regular */
@font-face {
    font-family: 'CasusPro';
    src: url('/wp-content/themes/myzey-2026/fonts/CasusPro.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Casus Pro Bold Italic */
@font-face {
    font-family: 'CasusPro';
    src: url('/wp-content/themes/myzey-2026/fonts/CasusPro-BoldItalic.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

/* Casus Pro Book */
@font-face {
    font-family: 'CasusPro';
    src: url('/wp-content/themes/myzey-2026/fonts/CasusPro-Book.ttf') format('truetype');
    font-weight: 450;
    font-style: normal;
    font-display: swap;
}

/* Casus Pro Bold */
@font-face {
    font-family: 'CasusPro';
    src: url('/wp-content/themes/myzey-2026/fonts/CasusPro-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Casus Pro Black Italic */
@font-face {
    font-family: 'CasusPro';
    src: url('/wp-content/themes/myzey-2026/fonts/CasusPro-BlackItalic.ttf') format('truetype');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

/* Casus Pro Demibold */
@font-face {
    font-family: 'CasusPro';
    src: url('/wp-content/themes/myzey-2026/fonts/CasusPro-Demibold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

/* Casus Pro Light */
@font-face {
    font-family: 'CasusPro';
    src: url('/wp-content/themes/myzey-2026/fonts/CasusPro-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/* Casus Pro Demibold Italic */
@font-face {
    font-family: 'CasusPro';
    src: url('/wp-content/themes/myzey-2026/fonts/CasusPro-DemiboldItalic.ttf') format('truetype');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}
      .decnone {
       text-decoration: none;
      }

        body {
            font-family: 'FranzGrotesque';
            overflow-x: hidden;
        }
        
        h1, h2, h3, h4, h5 {
         font-family: 'CasusPro';
        }
        
        h2 {
        margin: 40px 0px;
        }
        
        @media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1928px;
    }
}

        /* Top Bar */
        .top-bar {
            
            padding: 8px 0;
            font-size: 14px;
            border-bottom: 1px solid #000;
           
        }


       .top-bar .d-flex   {
          justify-content: space-between;
        }
       
        .d-flex.textright {
          justify-content: flex-end;
          gap: 40px;
        }

        .top-bar a {
            color: #000;
            text-decoration: none;
            margin-right: 15px;
        }

        /* Header */
        .main-header {
            background: white;
          /*  padding: 15px 0; */
            border-bottom: 1px solid #000;
            position: sticky;
            top: 0;
            z-index: 1000;
        }
        
        
               /* big Header */
               
               /* ─── Внутренний контейнер: выстраивает столбики ─────── */
.mega-menu__inner {
  display: flex;            /* ← главный переключатель на столбики */
  flex-direction: row;      /* столбики идут горизонтально */
  align-items: flex-start;  /* каждый столбик прижат к верху */
  gap: 48px;                /* расстояние между столбиками */
  max-width: 1200px;
  margin: 0 auto;
  padding: 32px 24px 40px;
}

/* ─── Один столбик ───────────────────────────────────── */
.mega-menu__col {
  display: flex;
  flex-direction: column;   /* пункты внутри столбика идут вертикально */
  min-width: 160px;
  flex: 1 1 160px;          /* столбики тянутся равномерно */
}

/* Заголовок столбика */
.mega-menu__col-title {
  display: block;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e8e8e8;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #c0392b;
}

/* Список ссылок внутри столбика */
.mega-menu__col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;   /* ← пункты строго в столбик */
  gap: 10px;
}

.mega-menu__col ul a {
  font-size: 14px;
  color: #333;
  text-decoration: none;
  transition: color .15s, padding-left .15s;
  display: block;
}

.mega-menu__col ul a:hover {
  color: #c0392b;
  padding-left: 6px;        /* лёгкий сдвиг при наведении */
}
        
                    /* ───── Шапка ───── */
.main-header {
  position: relative;
  background: #fff;
  z-index: 1000;
}

.header-inner {
  width: 100%;
}

/* ───── Навигация ───── */
.main-nav {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-item {
  position: static; /* важно: позиционирование относительно шапки, не самого пункта */
}

.nav-item > a {
  display: block;
  padding: 20px 18px;
  font-size: 15px;
  color: #222;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s;
}

.nav-item > a:hover,
.nav-item.is-open > a {
  color: #b5001f; /* фирменный красный — замените на свой */
}

/* ───── Мегаменю ───── */
.mega-menu {
  /* растягиваем на всю ширину вьюпорта */
  position: fixed;
  top: auto; /* рассчитывается через JS */
  left: 0;
  width: 100%;

  background: #fff;
  border-top: 3px solid #b5001f;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);

  /* анимация появления */
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;

  pointer-events: none;
}

/* показываем при наведении на родительский пункт */
.nav-item:hover .mega-menu,
.nav-item.is-open .mega-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.mega-menu-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 36px 24px;
}

.mega-menu-inner ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 40px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.mega-menu-inner ul li a {
  display: inline-block;
  font-size: 15px;
  color: #333;
  text-decoration: none;
  padding: 6px 0;
  border-bottom: 1px solid transparent;
  transition: color 0.2s, border-color 0.2s;
}

.mega-menu-inner ul li a:hover {
  color: #b5001f;
  border-bottom-color: #b5001f;
}

.mega-menu-inner ul {
  display: grid;
  grid-template-rows: repeat(4, auto);
  grid-auto-flow: column;
  grid-auto-columns: auto;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 8px 30px;
}

        
         /* big Header end*/

        .logo {
            font-size: 11px;
            color: var(--primary-red);
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            
        }
        
        .logo img {
        width: 100%;
                    }

        .main-nav {
            display: flex;
            align-items: center;
            gap: 30px;
            justify-content: space-between;
        }

        .main-nav a {
            color: #333;
            text-decoration: none;
            font-size: 14px;
            font-weight: 500;
            transition: color 0.3s;
        }

        .main-nav a:hover {
            color: var(--primary-red);
        }

        .header-icons {
            display: flex;
            gap: 20px;
            align-items: center;
        }

        .header-icons i {
            font-size: 20px;
            cursor: pointer;
            color: #333;
            transition: color 0.3s;
        }

        .header-icons i:hover {
            color: var(--primary-red);
        }

        .mobile-menu-btn {
            display: none;
            background: none;
            border: none;
            font-size: 24px;
            cursor: pointer;
        }

        /* Hero Section */
        .hero-section {
            position: relative;
            height: 70vh;
            min-height: 500px;
            overflow: hidden;
        }

        .hero-video {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .hero-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.3);
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .hero-content {
            text-align: center;
            color: white;
            z-index: 10;
        }

        .hero-content h1 {
            font-size: 48px;
            font-weight: 300;
            margin-bottom: 20px;
            text-shadow: 2px 2px 10px rgba(0,0,0,0.5);
        }
        
        .allpage h1 {
        margin: 60px 0px;
        }

        .hero-btn {
            background: var(--primary-red);
            color: white;
            padding: 12px 40px;
            text-decoration: none;
            border-radius: 0;
            display: inline-block;
            margin-top: 20px;
            font-weight: 500;
            transition: background 0.3s;
        }

        .hero-btn:hover {
            background: #a01829;
            color: white;
        }

        /* Info Bar */
        .info-bar {
            background: white;
            padding: 30px 0;
            border-bottom: 1px solid #e0e0e0;
        }

        .info-item {
            display: flex;
            align-items: flex-start;
            gap: 15px;
            padding: 15px;
        }

        .info-icon {
            color: var(--primary-red);
            font-size: 24px;
        }

        .info-text h5 {
            font-size: 14px;
            font-weight: 600;
            margin-bottom: 5px;
        }

        .info-text p {
            font-size: 13px;
            color: var(--text-gray);
            margin: 0;
        }

        /* Section Title */
        .section-title {
            font-size: 28px;
            font-weight: 300;
            margin-bottom: 30px;
            margin-top: 50px;
        }

        /* Card */
        
        .category-card .col-md-3 {
             margin-bottom: 30px;
        }
        
        #breadcrumbs {
        margin: 15px 0px;
        }
      #breadcrumbs a {
        color: var(--primary-red);
        }
        
        .museum-card {
            position: relative;
            overflow: hidden;
            border-radius: 0;
            border: none;
          /*  margin-bottom: 30px; */
          /*  cursor: pointer;  */
            transition: transform 0.3s;
        }

        .museum-card a {
        text-decoration: none;
        color: #fff;
        }

     /*   .card-overlay a:hover .museum-card {
            transform: translateY(-5px);
        } */
        
        .museum-card  .kypitbilet {
        position: absolute;
     border: 1px solid #fff;
     font-size: 12px;
      color: #fff;
      padding: 5px 10px;
      top: 30px;
      right: 30px;
      z-index: 1000;
        }

        .museum-card  .pushkin {
        position: absolute;
     border: 1px solid #fff;
     font-size: 12px;
      color: #fff;
      padding: 5px 10px;
      top: 75px;
      right: 30px;
      z-index: 1000;
        }

        .museum-card img {
            width: 100%;
            height: 320px;
            object-fit: cover;
        }

        .card-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: linear-gradient(to top, rgba(0,0,0,1), transparent);
            color: white;
            padding: 20px;
                display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
        }

        .card-overlay .vystavkatitle {
            font-size: 16px;
            font-weight: 500;
            margin-bottom: 5px;
            color: #fff;
            text-decoration: none;
            display: block;
        }


        
        
        .metkamyzeya {
         font-size: 14px;
        }
        
        .card-overlay p {
            font-size: 12px;
            margin: 0;
            opacity: 1;
           text-shadow: 0px 0px 5px rgba(0, 0, 0, 1);
        }
        
        
       .card-overlay  h5  {
       color: #fff;
       }

        /* Stats Section */
        .stats-section {
            padding: 60px 0;
          /*  background: var(--light-gray); */
            margin: 50px 0;
        }

        .stat-item {
            text-align: center;
        }

        .stat-number {
            font-size: 100px;
            font-weight: 300;
            color: #000;
            margin-bottom: 10px;
        }

        .stat-label {
            font-size: 14px;
            color: var(--text-gray);
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        /* Banner Section */
        .promo-banner {
            position: relative;
            height: 300px;
            background:  url(/wp-content/uploads/karta.jpg) center no-repeat;
            background-size: contain;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 50px 0;
            overflow: hidden;
            
        }

        .banner-content {
            text-align: right;
            color: white;
            position: relative;
            z-index: 10;
        }

        .banner-content h2 {
            font-size: 42px;
            font-weight: 700;
            text-transform: uppercase;
            margin-bottom: 20px;
        }

        .banner-btn {
            background: var(--primary-red);
            color: white;
            padding: 12px 30px;
            text-decoration: none;
            font-weight: 600;
            display: inline-block;
            margin-right: 17%;
        }

        /* More Button */
        .more-btn {
            text-align: center;
            margin: 30px 0;
        }

        .more-btn button {
            border: 1px solid #ddd;
            background: white;
            padding: 10px 30px;
            color: #333;
            font-size: 14px;
            cursor: pointer;
            transition: all 0.3s;
        }

        .more-btn button:hover {
            border-color: var(--primary-red);
            color: var(--primary-red);
        }

        /* Footer */
        
        .fblock {
         display: flex;
             justify-content: space-between;
        }
        
         .textright {
          text-align: right;
         }
        
        .main-footer {
            background: #000;
            color: white;
            padding: 50px 0 20px;
        }

        .ocenka {
         display: flex;
         justify-content: end;
        }
        
        #ssttbutton {
    font-size: 22px !important;
    position: fixed;
    right: 10px !important;
    bottom: 10px !important;
    }

        .main-footer a {
        color: #fff;
        }

        .footer-section h5 {
            font-size: 14px;
            font-weight: 600;
            margin-bottom: 20px;
            text-transform: uppercase;
            color: var(--primary-red);
        }

        .footer-section ul {
            list-style: none;
            padding: 0;
        }

        .footer-section ul li {
            margin-bottom: 10px;
        }

        .footer-section ul li a {
            color: #fff;
            text-decoration: none;
            font-size: 13px;
            transition: color 0.3s;
        }

        .footer-section ul li a:hover {
            color: var(--primary-red);
        }


        a.red {
        color: var(--primary-red) !important;
        }

        .social-icons {
            display: flex;
            gap: 15px;
            margin-top: 20px;
            justify-content: end;
        }

        .social-icons a {
            color: white;
            font-size: 20px;
            transition: color 0.3s;
        }

        .social-icons a:hover {
            color: var(--primary-red);
        }

        .footer-bottom {
            border-top: 1px solid #333;
            margin-top: 30px;
            padding-top: 20px;
            
            font-size: 12px;
            color: #666;
        }
        
        
         .footer-bottom a {
           color: #666;
         }

        /* Search Overlay */
        .search-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(255, 255, 255, 0.98);
            z-index: 9999;
            display: none;
            align-items: center;
            justify-content: center;
        }

        .search-overlay.active {
            display: flex;
        }

        .search-content {
            width: 90%;
            max-width: 800px;
            text-align: center;
        }

        .search-close {
            position: absolute;
            top: 30px;
            right: 30px;
            font-size: 36px;
            cursor: pointer;
            color: #333;
        }

        .search-input-wrapper {
            position: relative;
        }

        .search-input-wrapper input {
            width: 100%;
            padding: 20px 60px 20px 20px;
            font-size: 24px;
            border: none;
            border-bottom: 2px solid #333;
            background: transparent;
            outline: none;
        }

        .search-input-wrapper i {
            position: absolute;
            right: 20px;
            top: 50%;
            transform: translateY(-50%);
            font-size: 24px;
            color: #333;
        }

        /* Mobile Menu */
        .mobile-menu-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.5);
            z-index: 9998;
            display: none;
        }

        .mobile-menu-overlay.active {
            display: block;
        }

        .mobile-menu {
            position: fixed;
            top: 0;
            right: -100%;
            width: 100%;
            height: 100%;
            background: white;
            z-index: 9999;
            transition: right 0.3s ease;
            overflow-y: auto;
        }

        .mobile-menu.active {
            right: 0;
        }

        .mobile-menu-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 20px;
            border-bottom: 1px solid #e0e0e0;
        }

        .mobile-menu-close {
            font-size: 28px;
            cursor: pointer;
            color: #333;
        }

        .mobile-menu-links {
            padding: 20px;
        }

        .mobile-menu-links a {
            display: block;
            padding: 15px 0;
            color: #333;
            text-decoration: none;
            font-size: 18px;
          /*  border-bottom: 1px solid #f0f0f0; */
            transition: color 0.3s;
        }

        .mobile-menu-links a:hover {
            color: var(--primary-red);
        }
        
        .mobile-nav-item__row  {
        border-bottom: 1px solid #f0f0f0; 
        }
        
 .mobile-submenu        {
    list-style-type: none;
          padding-left: 1rem;
}
      .mobile-submenu    a {
        padding:  5px 0;
      }
        
        
        .mobile-nav-item__arrow {
    transition: transform 0.25s ease;
}

.mobile-nav-item.is-open .mobile-nav-item__arrow {
    transform: rotate(180deg);
}

.mobile-submenu {
    /* hidden убирает блок, но можно добавить анимацию через max-height */
}

.mobile-nav-item__row {
 display: flex;
justify-content: space-between;
}

button.mobile-nav-item__toggle {
    border: none;
    background: none;
}

        
        
        .contsingle a {
           color: #000;
        }

        .knopkared {
         background: #ba2f26;
         border: 1px solid #ba2f26;
         color: #fff !important;
         padding: 7px 20px;
         display:   inline-block;
         margin-bottom: 15px;
         text-decoration: none;
         text-transform: uppercase;
        }
        
        .knopkared:hover {
         background: #fff !important;
         border: 1px solid #ba2f26;
         color: #000 !important;
        
        }

        .knopkaredborer {
        border: 1px solid #ba2f26;
           color: #000 !important;
           padding: 7px 20px;
            background: #fff;
             display:  inline-block;
             margin-bottom: 15px;
             text-decoration: none;
              text-transform: uppercase;
        }
        
         .knopkaredborer:hover {
         background: #ba2f26;
         border: 1px solid #ba2f26;
         color: #fff !important;
         
        }
        
        
        iframe {
    border: 0;
    margin: 60px 0px;
}


        /* Responsive */
        @media (max-width: 991px) {
        
                .allpage h1 {
    margin: 30px 0px;
}

.ocenka {
    display: flex;
    justify-content: center;
}

        .fblock {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    text-align: center;
}

.logof {
margin-bottom: 30px;
}

 footer .textright {
text-align: center;
}

footer .social-icons {
    display: flex;
    gap: 15px;
    margin-top: 20px;
    justify-content: center;
}
      
    footer  .textright h5 {
       display: none;
      }
        
            .main-nav {
                display: none;
            }

            .mobile-menu-btn {
                display: block;
            }

            .hero-content h1 {
                font-size: 36px;
            }

            .section-title {
                font-size: 24px;
            }

            .stat-number {
                font-size: 36px;
            }

            .banner-content h2 {
                font-size: 28px;
            }
        }

        @media (max-width: 767px) {
             
             .m-none {
              display: none;
             }
             
             
             .main-header {
    background: white;
    padding: 1px 0;
    
    }
            
        
      .top-bar {
             border-bottom: none;
        }
        
      .top-bar   .d-flex {
    display: flex !important;
    flex-direction: column;
}
              .mobibtn {
               display: flex;
               justify-content: space-between;
        align-items: center;
        
        border-bottom: 1px solid #000;
        padding-bottom: 7px;
        margin-bottom: 7px;
              }
              .mobibtn .logo {
              width: 80%;
              }
                 .mobisecondmenu {
              flex-direction: row !important;
              justify-content: space-between;
              
             }
            .hero-content h1 {
                font-size: 28px;
            }

            .hero-section {
                height: 50vh;
                min-height: 400px;
            }

            .search-input-wrapper input {
                font-size: 18px;
            }

            .info-item {
                margin-bottom: 20px;
            }
        }
        
        
        /* Основные стили слайдера */
.museum-slider {
     
}

.section-title {
    font-size: 2rem;
    font-weight: 600;
    color: #212529;
}

.slider-wrapper {
    overflow: hidden;
}

.slider-track {
    position: relative;
    width: 100%;
}

.slider-slide {
    display: none;
    animation: fadeIn 0.5s ease-in-out;
}

.slider-slide.active {
    display: block;
}


@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateX(20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Карточки музеев */
.museum-card {
    background: #fff;
    /*border-radius: 8px; */
    overflow: hidden;
  /*  box-shadow: 0 2px 8px rgba(0,0,0,0.1);     */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.metkagde {
 font-size: 14px;
 color: #fff;
 text-decoration: none;
}

.mb60 {
 margin-bottom: 60px;
}

.knopkawhite {
 display: inline-block;
 font-size: 14px;
 border: 1px solid #fff;
 padding: 5px 10px;
 color: #fff;
 text-decoration: none;
 margin-bottom: 15px;
}

 /*.card-overlay a:hover  .museum-card {
    transform: translateY(-5px);
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
}   */

.museum-card-image {
    width: 100%;
    height: 320px;
    overflow: hidden;
}

 

.museum-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.museum-card:hover .museum-card-image img {
    transform: scale(1.05);
}

.museum-card-body {
    padding: 1.25rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.museum-card-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #212529;
    margin-bottom: 1rem;
    line-height: 1.4;
    min-height: 2.8em;
}

.museum-card-location,
.museum-card-schedule {
    font-size: 0.875rem;
    color: #6c757d;
    margin-bottom: 0.75rem;
    line-height: 1.5;
    display: flex;
    gap: 0.5rem;
}

.museum-card-location i,
.museum-card-schedule i {
    color: #C41E3A;
    flex-shrink: 0;
    margin-top: 0.125rem;
}

.vagno {
  border: 10px solid #ba2f26;
  background-color: #fff;
  position: relative;
  z-index: 1;
  padding: 10px;
  text-align: center;
}

.vagno::after,
.vagno::before {
  content: "";
  display: block;
  border: 10px solid #fff;
  z-index: 20;
  position: absolute;
}

.vagno::after {
  left: -10px;
  top: 15px;
  right: -10px;
  bottom: 15px;
  border-top: none;
  border-bottom: none;
}

.vagno::before {
  left: 15px;
  top: -10px;
  right: 15px;
  bottom: -10px;
  border-left: none;
  border-right: none;
}

/* Навигация слайдера */
.slider-navigation {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    margin-top: 3rem;
}

.slider-pagination {
    font-size: 1.125rem;
    color: #212529;
    font-weight: 500;
    min-width: 60px;
    text-align: center;
}

.current-slide {
    color: #C41E3A;
    font-weight: 600;
}

.slider-arrow {
    background: transparent;
    border: none;
    color: #C41E3A;
    font-size: 1.5rem;
    cursor: pointer;
    padding: 0.5rem;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

.slider-arrow:hover {
    background: rgba(196, 30, 58, 0.1);
    transform: scale(1.1);
}

.slider-arrow:disabled {
    color: #dee2e6;
    cursor: not-allowed;
}

.slider-arrow:disabled:hover {
    background: transparent;
    transform: none;
}

/* Адаптивность */
@media (max-width: 991px) {
    .museum-card-title {
        font-size: 1rem;
    }
}

@media (max-width: 767px) {
    .section-title {
        font-size: 1.5rem;
        margin-bottom: 2rem !important;
    }
    
    .museum-card-image {
        height: 180px;
    }
    
    .slider-navigation {
        margin-top: 2rem;
    }
}


/* Стили для индикаторов с цифрами */
.carousel-indicators-numbers {
    display: flex;
    justify-content: left;
    gap: 10px;
    bottom: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
    left: 30px;
}

.carousel-indicators-numbers button {
   /* width: 40px;
    height: 40px;  
    border-radius: 50%;  */
    background-color: none;
    /* border: 2px solid #fff;   */
    color: #fff;
    font-weight: bold;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    text-indent: 0;
}

.carousel-indicators-numbers button:hover {
  /*  background-color: rgba(255, 255, 255, 0.8); */
    transform: scale(1.1);
}

.carousel-indicators-numbers button.active {
  /*  background-color: #007bff;
    color: #fff;
    border-color: #007bff; */
    transform: scale(1.2);
}

/* Стили для слайдера */
 

.carousel {
    margin-bottom: 30px;
}

/* Стрелки навигации */
.carousel-control-prev,
.carousel-control-next {
    width: 5%;
    opacity: 0.8;
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
    opacity: 1;
}

/* ПОЛНОЕ СКРЫТИЕ стандартных полосок */
.carousel-indicators-numbers [data-bs-target] {
    text-indent: 0 !important;
  /*  width: 40px !important;
    height: 40px !important; */
    /*border-radius: 50% !important;*/
    opacity: 1 !important;
  background: none !important;
  color: #fff;
    /*  border: 2px solid #fff !important; */
}

.carousel-indicators-numbers [data-bs-target]::before {
    content: none !important;
}

.carousel-indicators-numbers [data-bs-target]::after {
    content: none !important;
}

/* Убираем стандартные стили Bootstrap */
.carousel-indicators-numbers li {
    text-indent: 0 !important;
}

.carousel-indicators-numbers {
    margin-bottom: 1rem;
}

.carousel-indicators-numbers button {
  /*  width: 40px;
    height: 40px; */
    border-radius: 50%;
    margin: 0 8px;
   /* background-color: rgba(255, 255, 255, 0.5);
    border: 2px solid #fff;   */
    color: #333;
    font-weight: bold;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: left;
    opacity: 1 !important;
    text-indent: 0 !important;
}

.carousel-indicators-numbers button:hover {
  /*  background-color: rgba(255, 255, 255, 0.8);  */
    transform: scale(1.1);
}

.carousel-indicators-numbers button.active {
   /* background-color: #007bff !important;
    color: #fff !important;
    border-color: #007bff !important; */
    transform: scale(1.2);
}

.pagination {
    margin: 30px 0;
    display: flex;
    justify-content: center;
}

.pagination__list {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 0;
    margin: 0;
}

.pagination__item a,
.pagination__item span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 10px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
    color: var(--primary-red);
    text-decoration: none;
    background: #fff;
    transition: background 0.2s, color 0.2s;
}


.pagination__item a:hover {
    background: var(--primary-red);
    color: #fff;
    border-color: var(--primary-red);
}

.pagination__item--active span {
    background: var(--primary-red);
    color: #fff;
    border-color: var(--primary-red);
    font-weight: 600;
    pointer-events: none;
}

.pagination__item span.dots {
    border: none;
    background: transparent;
    color: #555;
}

.nointro .image_intro {
display: none;
}

/* Исключаем скрытие элементов, чтобы показать несколько карточек */
@media (max-width: 767px) {
    .carousel-inner .carousel-item > div { display: none; }
    .carousel-inner .carousel-item > div:first-child { display: block; }
}

.carousel-inner .carousel-item.active,
.carousel-inner .carousel-item-next,
.carousel-inner .carousel-item-prev { display: flex; }

/* Планшеты: отображаем по 2 элемента (шаг сдвига 50%) */
@media (min-width: 768px) and (max-width: 991px) {
    .carousel-inner .carousel-item-end.active,
    .carousel-inner .carousel-item-next { transform: translateX(50%); }
    .carousel-inner .carousel-item-start.active, 
    .carousel-inner .carousel-item-prev { transform: translateX(-50%); }
}

/* Десктопы: отображаем по 4 элемента (шаг сдвига 25%) */
@media (min-width: 992px) {
    .carousel-inner .carousel-item-end.active,
    .carousel-inner .carousel-item-next { transform: translateX(25%); }
    .carousel-inner .carousel-item-start.active, 
    .carousel-inner .carousel-item-prev { transform: translateX(-25%); }
}

.carousel-inner .carousel-item-end,
.carousel-inner .carousel-item-start { transform: translateX(0); }


