/* CSS Custom Properties for Theme Management */
:root {
    /* Light Theme Colors */
    --primary: 33 83 165; /* #2153A5 */
    --primary-dark: 25 65 130; /* #194182 */
    --secondary: 107 142 175; /* #6B8EAF */
    --background: 255 255 255; /* #F8FAFC */
    --surface: 255 255 255; /* #FFFFFF */
    --text-primary: 0 0 0; /* #0F172A */
    --text-secondary: 71 85 105; /* #475569 */
    --text-muted: 148 163 184; /* #94A3B8 */
    --border: 226 232 240; /* #E2E8F0 */
    --overlay: 0 0 0; /* #000000 */
    --gradient-start: rgba(33, 83, 165, 0.8);
    --gradient-end: rgba(107, 142, 175, 0.6);
    --bg-accent: #546B8F; 
    --bg-accent-section: #546B8F;
    --bg-accent_hover: #455f89;
    --bg-gray: rgba(84, 107, 143, 0.15);
    --bg-gray-hover: rgba(84, 107, 143, 0.30);
    --border-color-not: rgba(0,0,0,.3);
    --search-bg: rgba(255,255,255,.95);
    --blue-accent: #546B8F;
    
    /* Spacing */
    --container-max-width: 1720px;
    --section-padding: 4rem 0;
    --card-padding: 2rem;
    
    /* Typography */
    --font-family: "Montserrat", sans-serif;
    --font-size-base: 16px;
    --font-size-lg: 18px;
    --font-size-xl: 24px;
    --font-size-2xl: 32px;
    --font-size-3xl: 48px;
    --line-height-base: 1.6;
    --line-height-tight: 1.2;
    
    /* Transitions */
    --transition-fast: 0.2s ease;
    --transition-normal: 0.3s ease;
    --transition-slow: 0.5s ease;
}
input::placeholder{
    color: rgba(0,0,0,.2);
}
::-webkit-input-placeholder { /* Chrome */
  color: rgba(0,0,0,.2);
}
:-ms-input-placeholder { /* IE 10+ */
  color: rgba(0,0,0,.2);
}
::-moz-placeholder { /* Firefox 19+ */
  color: rgba(0,0,0,.2);
  opacity: 1;
}
:-moz-placeholder { /* Firefox 4 - 18 */
  color: rgba(0,0,0,.2);
  opacity: 1;
}


/* Dark Theme */
[data-theme="dark"] {
    --bg-accent: rgba(84, 107, 143, 0.2);
    --background: 15 23 42; /* #0F172A */
    --surface: 30 41 59; /* #1E293B */
    --text-primary: 225, 227, 231; /* #F8FAFC */
    --text-secondary: 203 213 225; /* #CBD5E1 */
    --text-muted: 148 163 184; /* #94A3B8 */
    --border: 51 65 85; /* #334155 */
    --overlay: 255 255 255; /* #FFFFFF */
    --bg-gray: 0 0 0;
    --border-color-not: rgba(255,255,255,1);
    --bg-accent: #171C24;
    --bg-accent-section: rgba(84, 107, 143, 0.2);
    --search-bg: #171C24;
    --blue-accent: #fff;
}

/* Accessibility Theme */
[data-accessibility="true"] {
    --font-size-base: 18px;
    --font-size-lg: 20px;
    --font-size-xl: 28px;
    --font-size-2xl: 36px;
    --font-size-3xl: 54px;
    --primary: 0 0 0; /* #000000 */
    --text-primary: 0 0 0; /* #000000 */
    --text-secondary: 0 0 0; /* #000000 */
    --background: 255 255 255; /* #FFFFFF */
    --surface: 255 255 255; /* #FFFFFF */
    --border: 0 0 0; /* #000000 */
}

/* Reset and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}
[data-theme="dark"] body{
    background-color: #171C24;
}
body {
    font-family: var(--font-family);
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
    color: rgb(var(--text-primary));
    background-color: var(--background);
overflow-x: hidden;
    transition: background-color var(--transition-normal), color var(--transition-normal);
}

.container {
    max-width: var(--container-max-width);
    margin: 0 auto;
    padding: 0 1rem;
}

/* Header Styles */
[data-theme="dark"] body header{
    background-color: #171C24;
}
.header {
    background: #fff;
    position: relative;
    top: 0;
    transition: background-color var(--transition-normal);
}
.header-wrapper{
    padding: 0 100px;

}

.top-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
}

.top-left {
    display: flex;
    gap: 2rem;
}
.top-left a{
    text-decoration: none;
    font-size: 1.125em;
    
}
.top-left .menu-top-dropdown a{
    font-size: 16px;
}

.link-hover a{
    position: relative;
    transition: .2s;
}
.link-hover a:before{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    transition: .2s;
    background: #fff;
}
.link-hover-full a:before{
    width: 100%;
    background: #fff;
    right: 0;
    left: initial;
}
.link-hover.link-hover-full a:hover:before{
    width: 0;
}
.modal-title{
    color: #000;
}
.link-hover a:hover:before{
    width: 100%;
}
.bottom-text__link.link-hover a:before{
    background: #fff;
}
.bottom-text__link{
    align-items: baseline;
}
.top-left span,.top-left span a {
    color: rgb(var(--text-primary));
    cursor: pointer;
    transition: color var(--transition-fast);
    font-weight: 700;
    text-transform: uppercase;
}
.top-left a:hover span,.top-left span:hover a{
    opacity: 1;
    color: rgb(var(--text-secondary));
}


.top-right {
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
}
.swiper-tabs .swiper-button-next.swiper-button-disabled{
  display: none;
}
.category-swiper .swiper-button-prev.swiper-button-disabled{
  display: none;
}
.search-box {
    position: relative;
    display: flex;
    align-items: center;
}

.search-box input {
    padding: 0.5rem 2rem 0.5rem 0.75rem;
    border: 1px solid rgb(var(--border));
    border-radius: 4px;
    background: rgb(var(--background));
    color: rgb(var(--text-primary));
    font-size: 14px;
    width: 200px;
    transition: border-color var(--transition-fast);
}.arrow-down-icon{
display: none;}

.search-box input:focus {
    outline: none;
	border-color: rgb(var(--primary));
}
	.company-history .container--1400{
		position:relative;
}
.year-filter-container{
   transition: .2s;
}

.search-box i {
    position: absolute;
    right: 0.75rem;
    color: rgb(var(--text-muted));
    cursor: pointer;
}
.image-gallery .swiper-button-next:after{
  content: '';
  display:inline-block;
  width:30px;
  height:60px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2025%2050'><path d='M5%2010%20L20%2025%20L5%2040' stroke='currentColor' stroke-width='1.5' fill='none' stroke-linecap='butt' stroke-linejoin='miter'/></svg>");
  background-repeat:no-repeat;
  background-position:center;
}
.image-gallery .swiper-button-prev:after {
  content: '';
  display: inline-block;
  width: 30px;
  height: 60px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2025%2050'><path d='M20%2010%20L5%2025%20L20%2040' stroke='currentColor' stroke-width='1.5' fill='none' stroke-linecap='butt' stroke-linejoin='miter'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
}

.lang-selector {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    transition: color var(--transition-fast);
}

.lang-selector:hover {
    color: var(--bg-accent);
}
[data-theme="dark"] .lang-selector:hover{
    color: #fff;
}
[data-theme="dark"] .lang-dropdown,[data-theme="dark"] .lang-selector .dropdown-item{
    background:rgb(39 44 51);
}
[data-theme="dark"] .btn-border{
    border-color: #fff;
    color: #fff;
}
.accessibility-controls {
     display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.5rem;
}

.accessibility-btn {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem;
    border: none;
    background: transparent;
    color: rgb(var(--text-secondary));
    cursor: pointer;
    border-radius: 4px;
    font-weight: 700;
    font-size: 1em;
    transition: all var(--transition-fast);

}

.btn-border{
    height: 50px;
    width: 240px;
    border: 1px solid #546B8F;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
transition: .2s
}
.btn-border:hover{
  background: var(--bg-accent);
color: #fff;
}
/* .accessibility-btn .icon-moon{
    display: none;
}*/
 .accessibility-btn.fa_moon .icon-moon{
    display: block;
}
.accessibility-btn .icon-sun{
    display: none;
 }
 #theme-toggle img{
    position: absolute;
 }
 .accessibility-btn.fa_sun .icon-sun{
    display: block;
 }
/*.accessibility-btn:hover {
    color: white;
}*/

.main-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 30px;
    background: #546B8F;
    border-radius: 30px;
}

.logo {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-weight: bold;
    color: rgb(var(--primary));
    max-width: 180px;
    width: 100%;
    transition: .2s
}
.logo:hover{
  opacity: .8;
}
.logo-wrap{
    display: flex;
    align-items: center;
    z-index: 4;
}
.logo-title{
    color: #fff;
    font-weight: 600;
    font-size: 3em;
    text-transform: uppercase;
    padding-left: 100px;
}
.logo img {
    width: 100%;
}

.logo span {
    font-size: var(--font-size-xl);
    font-weight: 700;
}

.nav-menu {
    display: flex;
    list-style: none;
    gap: 2rem;
    align-items: center;
}

.nav-item {
    position: relative;
}

.nav-link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    color: rgb(var(--text-primary));
    font-weight: 500;
    padding: 0.75rem 0;
    transition: color var(--transition-fast);
}

.nav-link:hover {
    color: rgb(var(--primary));
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background: rgb(var(--surface));
    border: 1px solid rgb(var(--border));
    border-radius: 8px;
    padding: 0.5rem 0;
    min-width: 200px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all var(--transition-normal);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}
.lang-selector .dropdown-menu{
    border-radius: 0 0 10px 10px;
}
.nav-item:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);

}

.dropdown-item {
    display: block;
    padding: 0;
    text-decoration: none;
    font-size: 1em;
    font-weight: 600;
    position: relative;
    color: rgb(var(--text-primary));
    transition: .2s;
    margin-bottom: 25px;
    text-align: center;
}
.menu-top-dropdown li:last-child .dropdown-item{
    margin-bottom: 0;
}
.dropdown-item:before{
    content: '';
    width: 0;
    position: absolute;
    height: 2px;
    border-radius: 2px;
    background: #546B8F;
    bottom: 2px;
    left: 0;
    transition: .2s;
}
.lang-selector  .dropdown-item:before{
    content: none;
}
.lang-selector .dropdown-item{
    margin: 0;
    padding: 5px 0;
   background: #e6e9ee;

}
.dropdown-item:hover:before{
    width: 100%;
}
.dropdown-item:hover {
    color: #546B8F;
}

.mobile-menu-toggle {
    display: none;
    flex-direction: column;
    gap: 4px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
}

.mobile-menu-toggle span {
    width: 25px;
    height: 3px;
    background: rgb(var(--text-primary));
    transition: all var(--transition-fast);
    border-radius: 2px;
}

/* Hero Section */
.hero {
    position: relative;
    height: 90vh;
    display: flex;
    align-items: center;
    width: 100%;
    padding-top: 163px;
    border-radius: 50px;
    padding-right: 0;
    padding-left: 0;
    z-index: 2;
    margin-top: -150px;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;

}
.hero-wrapper{
    padding: 0 100px;
pointer-events: none;
}
.parallax-container{
    overflow: hidden;
}
.layer-4,.layer-3{
    overflow: hidden;
}
.hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
}

.hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
    z-index: -1;
}
.parallax-container{
    border-radius: 50px;
    position: relative;
}
.hero--overlay{
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
       /* Начальный прозрачный фон */
       //background-color: rgba(69, 95, 137, 1);
background-color: #fff;
      transition: opacity 0.1s ease; /* Плавность изменения фона */
      z-index: 5;
      opacity: 0;
}
.hero-content {
    text-align: center;
    color: white;
    max-width: 800px;
    margin: 0 auto;
}

.hero-title {
    font-size: var(--font-size-3xl);
    font-weight: 900;
    line-height: var(--line-height-tight);
    margin-bottom: 1rem;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.hero-subtitle {
    font-size: var(--font-size-lg);
    margin-bottom: 2rem;
    opacity: 0.9;
}

.hero-btn {
    padding: 1rem 2rem;
    background: rgb(var(--primary));
    color: white;
    border: none;
    border-radius: 8px;
    font-size: var(--font-size-lg);
    font-weight: 600;
    cursor: pointer;
    transition: all var(--transition-normal);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.hero-btn:hover {
    background: rgb(var(--primary-dark));
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(33, 83, 165, 0.3);
}

/* Services Section */
.services {
    padding: var(--section-padding);
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}

.service-card {
    background: rgb(var(--surface));
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: all var(--transition-normal);
    border: 1px solid rgb(var(--border));
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

.service-image {
    position: relative;
    height: 200px;
    overflow: hidden;
}

.service-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-slow);
}

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

.service-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
    opacity: 0.7;
}

.service-content {
    padding: var(--card-padding);
}

.service-content h3 {
    font-size: var(--font-size-xl);
    font-weight: 700;
    margin-bottom: 1rem;
    color: rgb(var(--text-primary));
}

.service-content p {
    color: rgb(var(--text-secondary));
    margin-bottom: 1.5rem;
}

.service-btn {
    padding: 0.75rem 1.5rem;
    background: rgb(var(--primary));
    color: white;
    border: none;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
    transition: all var(--transition-normal);
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 0.5px;
}

.service-btn:hover {
    background: rgb(var(--primary-dark));
    transform: translateY(-1px);
}

/* News Section */
.news {
    padding: var(--section-padding);
    background: rgb(var(--background));
}

.section-title {
    font-size: 3.75em;
    font-weight: 600;
    margin-bottom: 55px;
    color: rgb(var(--text-primary));
    text-align: left;
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
}

.news-item {
    background: rgb(var(--surface));
    border-radius: 12px;
    overflow: hidden;
}


.news-image {
    height: 200px;
    overflow: hidden;
}

.news-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-slow);
}
.sections-wrapper .item-list{
padding-left:15px;
padding-right: 15px;
}
.news-item:hover .news-image img {
    transform: scale(1.05);
}

.news-content {
    padding: 1.5rem;
}

.news-date {
    color: rgb(var(--text-muted));
    font-size: 14px;
    font-weight: 500;
}

.news-title {
    font-size: var(--font-size-lg);
    font-weight: 600;
    margin: 0;
    color: rgb(var(--text-primary));
    line-height: var(--line-height-tight);
}

.news-excerpt {
    color: rgb(var(--text-secondary));
    line-height: 1.6;
}
.bottom-text_develop a{
    margin-left: 10px;
}
.news-date-time{
 color: var(--blue-accent);
font-size: 2em;
font-weight: 600;
margin-top: 30px;
line-height: 1;
}
.bottom-text_develop{
    color: #fff;
    font-size: 1em;
     font-weight: 500;
     padding-left: 20px;
}
/* Footer */
.footer {
    background: var(--bg-accent-section);
    color: white;
    padding: 60px 0 0;
    border-radius: 80px 80px 0 0;
}
.site-logo__item{
    display: flex;
    flex: 0 0 180px;
    align-items: center;
text-decoration: none;
color: #fff;
}
.site-logo__item p{
    font-size: 0.5em;
    margin-left: 10px;
    margin-bottom: 0;

}
.footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    margin-bottom: 2rem;
}

.footer-section h4 {
    font-weight: 600;
    margin-bottom: 1rem;
}

.footer-section p {
    margin-bottom: 0.5rem;
    opacity: 0.9;
    line-height: 1.6;
}
.footer-contacts p{
    color: #E0E0E0;
}
.footer-logo {
    display: flex;
    gap: 1rem;
    margin-bottom: 15px;
    flex-direction: column;
}
.footer-contacts  .footer-phone{
    font-weight: 700;
    color: #fff;
    margin-top: 20px;
}
.footer-list-menu{
    margin-top: 25px;
}
.footer-list-menu a{
    color: #E0E0E0;
    font-weight: 500;
    text-decoration: none;
}
.footer-list-menu a:hover{
    text-decoration: none;
}
.footer-list-menu p{
    margin-bottom: 15px;
}
.footer-menu-title{
    font-size: 1.5em;
}
.footer-logo{
    max-width: 180px;
    width: 100%;
}
.footer-logo img {
    width: 100%;
}


.footer-logo__text {
    font-size: 1.5em;
    margin: 0;
    font-weight: 700;
}

.site-logo {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.site-logo img {
    height: 30px;
    opacity: 0.7;
    transition: opacity var(--transition-fast);
}

.site-logo img:hover {
    opacity: 1;
}

.social-links {
    display: flex;
    gap: 1rem;
    margin-top: 1rem;
flex-wrap: wrap;
}
.social-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    background: rgba(255, 255, 255, 0.1);
    color: white;
    text-decoration: none;
    transition: all var(--transition-fast);
}
.link-hover .socials-fullscreen-menu a:hover:before{
	content: none;
}

.fullscreen-menu-body .column .social-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    background: rgba(255, 255, 255, 0.1);
    color: white;
    text-decoration: none;
    transition: all var(--transition-fast);
flex-shrink: 0;
}

.social-links a:hover {
    background: rgba(255, 255, 255, 0.4);
    transform: translateY(-2px);
}

.footer-bottom {
    border-top: 1px solid rgba(217, 217, 217, 0.5);
    padding-top: 20px;
    text-align: center;
    font-size: 14px;
padding-bottom: 5px;
}
.bottom-text__link{
    display: flex;
}
.bottom-text__link a{
    color: #E0E0E0;
    text-decoration: none;
    margin-left: 30px;
    font-weight: 500;
}
.bottom-text__link a:hover{
    color: #fff;
}
.bottom-bottom__text{
    display: flex;
    justify-content: space-between;
}


/* Modal Styles */
.modal-content {
    border: none;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.modal-header {
    background: rgb(var(--bg-accent));
    color: white;
    border-radius: 12px 12px 0 0;
    border-bottom: none;
}

.modal-title {
    font-weight: 600;
}

.btn-close {
    filter: invert(1);
}

.queue-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin-bottom: 2rem;
    padding: 1.5rem;
    background: rgb(var(--background));
    border-radius: 8px;
}

.current-queue,
.estimated-time {
    text-align: center;
}

.current-queue h6,
.estimated-time h6 {
    color: rgb(var(--text-secondary));
    font-weight: 600;
    margin-bottom: 1rem;
}

.queue-number {
    font-size: 3rem;
    font-weight: 700;
    color: rgb(var(--primary));
    line-height: 1;
}

.time-display .time {
    font-size: 2rem;
    font-weight: 700;
    color: rgb(var(--primary));
}

.queue-form .form-label {
    font-weight: 600;
    color: rgb(var(--text-primary));
}

.queue-form .form-control,
.queue-form .form-select {
    border: 2px solid rgb(var(--border));
    border-radius: 6px;
    padding: 0.75rem;
    transition: border-color var(--transition-fast);
}

.queue-form .form-control:focus,
.queue-form .form-select:focus {
    border-color: rgb(var(--primary));
    box-shadow: 0 0 0 3px rgba(33, 83, 165, 0.1);
}

.modal-footer .btn-primary {
    background: rgb(var(--primary));
    border: none;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
}

.modal-footer .btn-primary:hover {
    background: rgb(var(--primary-dark));
}

/* Responsive Design */
@media (max-width: 1024px) {

    
    .hero-title {
        font-size: 2.5rem;
    }
    
    .services-grid {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    }
    
    .news-grid {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    }
}

@media (max-width: 768px) {
    :root {
        --font-size-3xl: 2rem;
        --font-size-2xl: 1.5rem;
    }
    
    .top-bar {
        flex-direction: column;
        gap: 1rem;
        padding: 5px 0;
    }
    
    .top-left {
        gap: 1rem;
        flex-wrap: wrap;
    }
    
    .search-box input {
        width: 150px;
    }
    
    .nav-menu {
        display: none;
    }
    
    .mobile-menu-toggle {
        display: flex;
    }
    
    
    .hero-content {
        padding: 0 1rem;
    }
    
    .hero-title {
        font-size: 2rem;
    }
    
    .services-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .news-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .footer-content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .queue-info {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

@media (max-width: 480px) {
    .container {
        padding: 0 1rem;
    }
    
    .hero-title {
        font-size: 1.75rem;
    }
    
    .service-content,
    .news-content {
        padding: 1.5rem;
    }
    
    .accessibility-controls {
        flex-wrap: wrap;
        gap: 0.25rem;
    }
    .social-links{
        gap: 5px;
    }
    
}

/* Search Icon Styles */
.search-icon-wrapper {
    position: relative;
}

.search-icon-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: none;
    background: transparent;
    color: rgb(var(--text-secondary));
    cursor: pointer;
    border-radius: 4px;
    transition: all var(--transition-fast);
    font-size: 16px;
}
.search-icon-btn svg path,#icon-search-white path{
    fill: rgb(var(--text-primary));
}
[data-theme="dark"] #search-toggle svg, .sv_theme.color2 #search-toggle svg,.search-input-group svg{
    filter: invert(100%);
}
.header-btn{
    background: var(--bg-gray);
    padding: 10px;
    height: 50px;
    width: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    color: var(--text-primary);
    transition: .2s;
    flex-shrink: 0;
}
.header-btn:hover,.lang-selector:hover .dropdown-toggle{
  background: var(--bg-gray-hover);
}

[data-theme="dark"] .header-btn{
    background: rgba(255,255,255,.07);
}
[data-theme="dark"] .accessibility-btn svg path{
 fill: #fff;
}
.lang-selector:hover .lang-dropdown,.lang-selector:hover .dropdown-item{
  background: #cbd2dd;
}

[data-theme="dark"] .lang-selector{
    background: transparent;
}
#theme-toggle{
    position: absolute;
    right: -40px;
}
/* Search Modal Styles */
.search-form{
    max-width: 840px;
    width: 100%;
}
.search-form .search-input-group {
    border-radius: 20px;

}


.search-form .form-control{
    border: none;
    background: transparent;
    border-radius: 10px;
}
.search-form__title{
    font-size: 3.75em;
    margin-bottom: 50px;
    font-weight: 600;
    line-height: 1;
}
.search-form .form-control {
    flex: 1;
    padding: 0.75rem 1rem;
    font-size: 1.25em;
    font-weight: 700;
}
.btn-accent{
    background: var(--bg-accent);
    color: #fff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    font-weight: 700;
    max-width: 150px;
    width: 100%;
        justify-content: center;
}
.btn-accent:hover,.btn.btn-accent:focus,.btn.btn-accent:active,.btn.btn-accent:focus-visible{
    background-color: var(--bg-accent_hover);
    color: #fff;
}
.btn-accent svg{
    margin-right: 10px;
}
.btn-accent svg fill,.btn-accent svg path{
    fill: #fff;
}
.search-form .form-control:focus {

    box-shadow: 0;
}

.search-suggestions h6 {
    color: rgb(var(--text-secondary));
    font-size: 14px;
    margin-bottom: 0.75rem;
}

.suggestion-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.simplebar-scrollbar.simplebar-visible:before{
  opacity: .3;
}
.suggestion-tag {
    padding: 0.25rem 0.75rem;
    background: rgb(var(--background));
    color: rgb(var(--text-secondary));
    border: 1px solid rgb(var(--border));
    border-radius: 20px;
    font-size: 14px;
    cursor: pointer;
    transition: all var(--transition-fast);
}

.suggestion-tag:hover {
    background: rgb(var(--primary));
    color: white;
    border-color: rgb(var(--primary));
}

/* About Page Styles */
.hero-about {
    position: relative;
    height: 40vh;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.breadcrumbs {
    padding: 30px 0 0 0;
    
}
.simplebar-content{
   display: flex;
}
.breadcrumb {
    margin: 0;
    padding: 0;
    background: none;
   flex-wrap: nowrap;
 padding-bottom: 10px;
  /* overflow-x: auto;
    scrollbar-color: #0000004d transparent; 
    transition: all 0.3s ease;

  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; 
  -ms-overflow-style: none; */
}
.simplebar-track.simplebar-horizontal{
  height: 7px;
}
.simplebar-track {
  opacity: 0;
background: #D9D9D9;
  transition: opacity 0.2s ease-in-out; /* Smooth transition for visibility */
border-radius: 7px;
}

/* Make the scrollbar track visible on hover of the wrapper */
.breadcrumb:hover .simplebar-track {
  opacity: 1;
}

/* Optionally, you can also make the scrollbar itself visible on hover */
.breadcrumb:hover .simplebar-scrollbar {
  opacity: 1; /* Adjust as needed */
}
.simplebar-scrollbar:before{
  top: 0;
	bottom: 0;
    right: 0;
    left: 0;
}
.breadcrumb::-webkit-scrollbar {

    height: 0px;
   transition: height 0.3s ease;
}

.breadcrumb:hover::-webkit-scrollbar {
    height: 2px; 
}
.breadcrumb::-webkit-scrollbar { display: none; }
  .breadcrumb:hover::-webkit-scrollbar { display: block; height:2px; }

/* B. Стилизация трека (дорожки/фона скроллбара) */
.breadcrumb::-webkit-scrollbar-track {
    /* Задаем цвет трека */
    background: #d2d2d2;
    border-radius: 10px;
}
/* C. Стилизация ползунка (самого движущегося элемента) */
.breadcrumb::-webkit-scrollbar-thumb {
    background-color: #0000004d; 
    border-radius: 10px;
}

.breadcrumb::-webkit-scrollbar-thumb:hover {
    background-color: #0000004d; 
}

@media (min-width: 1440px) {
	.breadcrumbs,.page-banner,.content-page,.contact-section.inner-section{
   padding-left: 5rem;
   padding-right: 5rem;
}
	.content-page .container{
   padding-right: 200px;
}
	.content-page .gallery-wrapper.container,.content-page.inner-section .container{
   padding-right: 1rem;
}
}
.content-page .detail_picture{
  width: 100%;
height: 800px;
border-radius: 40px;
margin-bottom: 50px;
object-fit: cover;
}
.breadcrumb-item {
    font-size: 1em;
    position: relative;
flex-shrink: 0;
}

.breadcrumb-item a {
    color: var(--text-primary);
    text-decoration: none;
    transition: color var(--transition-fast);
}

.breadcrumb-item a:hover {
    color: rgba(0,0,0,.5);
}

[data-theme="dark"] .breadcrumb-item a:hover {
    color: #546B8F;
}

.breadcrumb-item.active {
    color: rgba(0,0,0,.5);
}
[data-theme="dark"] .breadcrumb-item.active{
 color: #fff;
}
[data-theme="dark"] .breadcrumb-item+.breadcrumb-item::before{
background: #fff}
.breadcrumb-item+.breadcrumb-item{
    padding-left: 30px;
}
.breadcrumb-item+.breadcrumb-item::before{
    content: '';
    position: absolute;
    top: 50%;
    left: 7px;
    width: 15px;
    height: 1px;
    background: #000;
}
/* Company History Section */
.company-history {
    padding: 4rem 0;
}

.history-header {
    text-align: center;
    margin-bottom: 4rem;
}

.history-header .section-title {
    font-size: var(--font-size-2xl);
    font-weight: 700;
    margin-bottom: 1.5rem;
    color: rgb(var(--text-primary));
}

.section-description {
    font-size: var(--font-size-lg);
    color: rgb(var(--text-secondary));
    max-width: 800px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Year Filter Slider */
.company-history{
  position: relative;
    overflow: hidden;

}
.year-filter-container {
    max-width: 1270px;
	 position: relative;
top: 0;
left: 50%;
    transform: translateX(-50%);
    background: #e6e9ee;
    border-radius: 20px;
    padding: 25px 50px 0 50px;
}
.year-btn{
transition: .2s}
.fixed-position .year-btn{
  font-size: 1.5em;
 padding-bottom: 15px;
}
.year-filter-wrapper{
  position: relative;
  z-index: 3;

}
.fixed-position .year-filter-container{
    position: fixed;
   top: 20px;

}
.fixed-position .year-filter-container{
    padding: 15px 15px 0 15px;
}

.year-filter-swiper .swiper-wrapper {
    align-items: center;
}

 .year-btn{
    padding: 0 0 25px;
    color: var(--bg-accent);
    cursor: pointer;
    transition: all var(--transition-normal);
    font-weight: 600;
    font-size: 2.5em;
    min-width: 80px;
    white-space: nowrap;
    border: none;
    background: transparent;
    position: relative;
}
[data-theme="dark"] .year-btn{
    color: #fff;
}
.year-btn:before{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 95%;
    height: 0;
    background: var(--bg-accent);
    transition: .2s;
    border-radius: 20px;
}

.year-btn:hover {
    color: var(--bg-accent_hover);
}
.year-btn.active:before{
    height: 7px;
}


.year-filter-swiper .swiper-button-next,
.year-filter-swiper .swiper-button-prev {
    color: rgb(var(--primary));
    width: 30px;
    height: 30px;
    margin-top: -15px;
}

.year-filter-swiper .swiper-button-next:after,
.year-filter-swiper .swiper-button-prev:after {
    font-size: 16px;
    font-weight: bold;
}

/* Timeline Section */
.timeline-section {
    margin-top: 2rem;
}

.timeline-container {
    display: flex;
    gap: 3rem;
    align-items: start;
    position: relative;
}

/* Timeline Sidebar */
.timeline {
    position: absolute;
    height: 101%;
    width: 5px;
    left: 315px;
    background: #D9D9D9;
    top: 60px;
}
.timeline-line{
    display: block;
    height: 100%;
    width: 5px;
    background: rgb(var(--border));
    height: calc(100% + 49px);
    position: absolute;
    right: 30px;
    top: 65px;
    bottom: 0;
}
.timeline-line-fill{
    background: #546B8F;
    height: 0;
    width: 5px;
    display: block;
   border-radius: 10px;
}

/*.timeline::before {
    content: '';
    position: absolute;
    right: 30px;
    top: 65px;
    bottom: 0;
    width: 5px;
    background: rgb(var(--border));
    height: calc(100% + 49px);
}*/

.timeline-item {
    position: relative;
    display: flex;
    width: 350px;
    flex-shrink: 0;
    gap: 1rem;
    cursor: pointer;
    transition: all var(--transition-normal);
margin-top: 0;
line-height: 1;
}
.timeline-item:last-child{
    margin-bottom: 50px;
}
.timeline-year {
    font-size: 6em;
    font-weight: 600;
    color: rgba(84, 107, 143, .5);
    transition: all var(--transition-normal);
    min-width: 100px;
}

.timeline-dot {
    position: absolute;
    right: 18px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgb(var(--surface));
    border: 3px solid rgb(var(--border));
    transition: all var(--transition-normal);
    z-index: 2;
top: 30px;
}

.timeline-item.active .timeline-year {
    color: var(--bg-accent);
}

.timeline-item.active .timeline-dot {
    background: var(--bg-accent);
    border-color: var(--bg-accent);
    transform: scale(1.3);
}

.timeline-item:hover .timeline-year {
    color: var(--bg-accent);
}
[data-theme="dark"] .timeline-item .timeline-year{
    color: #fff;
}   
.timeline-item:hover .timeline-dot {
    border-color: var(--bg-accent);
    transform: scale(1.3);
}

/* Timeline Content */
.timeline-content {
    position: relative;
    width: 100%;
}

.history-event {
    display: flex;
    opacity: 1;
   margin-bottom: 110px;
    
}
.history-event__item{
    display: flex;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    width: 100%;
    margin-left: 45px;

}
.history-event__item:hover .event-image img{
    transform: scale(1.05);
}

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.event-image {
    width: 400px;
    height: 300px;
    overflow: hidden;
    border-radius: 30px;
}

.event-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-slow);
}

.event-image{
margin-right: 50px;}
.event-content {
    padding: 0 20px 0 0;
    display: flex;
    flex-direction: column;
    width: calc(100% - 400px);
 color: rgb(var(--text-primary));
}

.event-content h3 {
    font-size: 2.25em;
    font-weight: 700;
    margin-bottom: 1rem;
    color: rgb(var(--text-primary));
    line-height: var(--line-height-tight);
}

.event-content p {
    color: rgb(var(--text-primary));
    line-height: 1.6;
    font-size: var(--font-size-base);
}

/* Responsive Design for About Page */
@media (max-width: 1024px) {
    .timeline-container {
        grid-template-columns: 150px 1fr;
        gap: 2rem;
    }
    

    .history-event.active {
        grid-template-columns: 1fr;
    }
    
    .event-image {
        height: 200px;
    }
    
    .event-content {
        padding: 1.5rem;
    }
}

@media (max-width: 768px) {
    .timeline-container {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .timeline-sidebar {
        position: static;
        order: 2;
        margin-top: 2rem;
    }
    
    .timeline {
        display: flex;
        overflow-x: auto;
        padding: 1rem 0;
        gap: 2rem;
        padding-left: 0;
    }
    
    .timeline::before {
        display: none;
    }
    
    .timeline-item {
        flex-shrink: 0;
        margin-bottom: 0;
        flex-direction: column;
        text-align: center;
        min-width: 100px;
    }
    
    .timeline-year {
        font-size: 1.25rem;
        min-width: auto;
    }
    
    .timeline-dot {
        margin-top: 0.5rem;
    }
    
    .timeline-content {
        order: 1;
    }
    
    .year-filter-container {
        margin-bottom: 2rem;
    }
    
    .year-filter-swiper {
        padding: 0 1rem;

    }

    .history-event.active {
        grid-template-columns: 1fr;
    }
	.history-event{
       margin-bottom: 40px;
}
    
    .event-image {
        height: 180px;
    }
    
    .event-content {
        padding: 1.25rem;
    }
    
    .event-content h3 {
        font-size: var(--font-size-lg);
    }
    
    .section-description {
        font-size: var(--font-size-base);
        padding: 0 1rem;
    }
}


/* Parallax Hero Styles */
.parallax-container {
    position: relative;
    height: 100%;
    width: 100%;
margin-top: 10px;
}

.parallax-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 119%;
    will-change: transform;
    background-size: cover;
    background-position: 0 -90px;
    border-radius: 50px;
}
.parallax-layer:nth-child(2){
    background-position: bottom;
    padding: 0 15px;
}
.parallax-layer:nth-child(3){
   background-position: bottom; 
}
.parallax-layer img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    margin-top: -35px;
    border-radius: 50px;
}
/*.parallax-layer img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}*/

#layer-4 {
    z-index: 1;
}

#layer-3 {
    z-index: 2;
}

#layer-2 {
    z-index: 3;
}

#layer-1 {
    z-index: 4;
	height: 115%;
}
.layer-2,.layer-3,.layer-4{
    overflow: hidden;
}
.hero-overlay {
    z-index: 5;
}

.hero-content {
    z-index: 6;
    position: relative;
}

/* Top Bar Dropdown Styles */
.top-left .dropdown {
    position: relative;
    display: inline-block;
}

.top-left .dropdown-toggle {
    cursor: pointer;
    transition: color var(--transition-fast);
}

.top-left .dropdown-toggle:hover {
    color: rgb(var(--text-secondary));
}
.dropdown-toggle::after{
    content: none;
}
.dropdown-toggle{
    font-weight: 700;
    font-size: 1em;
}
.lang-selector .dropdown-toggle{
    font-size: 16px;
}
.menu-top-dropdown {
    position: absolute;
    top: calc(100% + 25px);
    left: -30px;
    background: rgb(var(--surface));
    border: 1px solid rgb(var(--border));
    border-radius: 20px;
    padding: 30px;
    min-width: 300px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all var(--transition-normal);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    z-index: 1000;
}
.menu-top-dropdown li{
    display: inline-block;
}
.menu-top-dropdown ul{
    padding-left: 0;
    list-style: none;
    margin-bottom: 0;
}

.top-left .dropdown:hover .menu-top-dropdown{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Language Dropdown Styles */
.lang-selector {
    position: relative;
    cursor: pointer;
    background: rgba(var(--bg-gray));
}
.dropdown-item.active, .dropdown-item:active{
    background: transparent;
}
.lang-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    border-radius: 8px;
    padding: 0 0 0.5rem 0;
    min-width: 50px;
    opacity: 0;
    visibility: hidden;
    background: #e6e9ee;
    display: block;
    transform: translateY(-15px);
    transition: all var(--transition-normal);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    border: none;
}

.lang-selector:hover .lang-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(-10px);
}

/* Fullscreen Menu Styles */
.fullscreen-menu{
    height: 100vh;
}
.fullscreen-menu,.search-menu{
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1001;
    opacity: 0;
    visibility: hidden;
    transition: all var(--transition-slow);
}
.socials-fullscreen-menu{
    margin-top: 50px;
}
.fullscreen-menu.active,.search-menu.active {
    opacity: 1;
    visibility: visible;
}

.fullscreen-menu-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    backdrop-filter: blur(10px);
}

.fullscreen-menu-content {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: var(--bg-accent);
    padding: 105px 100px 20px 100px;
    overflow-y: auto;
}

.search-menu .fullscreen-menu-content{
    background: var(--search-bg);
}
.fullscreen-menu-body .column a{
    color: #fff;
    text-decoration: none;
}
.fullscreen-menu-header .search-form .search-input-group{
    background: #fff;
}
.fullscreen-menu-header .search-form{
    margin-left: -80px;
}
.fullscreen-menu-body .column h4{
    color: #fff;
    font-weight: 700;
    font-size: 1.5em;
    margin-bottom: 30px;
}
.fullscreen-menu-body .column h3{
    font-size: 1.25em;
    font-weight: 700;
    margin-bottom: 30px;
    position: relative
}
.fullscreen-menu-body .column a{
    font-size: 1em;
width: 100%;
position: relative;
}
.arrow-down-icon{
position: absolute;
right: -5px;
    top: -5px;
}
.fullscreen-menu-body .column:first-child h3{
    font-size: 1.5em;
}
.fullscreen-menu-close{
    width: 50px;
    height: 50px;
    border: none;
    background: transparent;
    color: rgb(var(--text-primary));
    font-size: 24px;
    cursor: pointer;
    border-radius: 50%;
    transition: all var(--transition-fast);
    z-index: 10;
}

.fullscreen-menu-body .column:first-child h3{
position: relative;}
.search-menu .fullscreen-menu-close {
    position: absolute;
    top: 117px;
    right: 158px;
    
}
.fullscreen-menu .fullscreen-menu-close{
    margin-top: -50px;
    flex-shrink: 0;
    margin-right: 45px;
    position: relative;

}
.fullscreen-menu-close span{
    width: 100%;
    height: 3px;
    background-color: rgba(var(--text-primary));
    display: block;
    border-radius: 3px;
}
.fullscreen-menu .fullscreen-menu-close span{
    background-color: rgba(var(--background));
}
[data-theme="dark"] .fullscreen-menu .fullscreen-menu-close span{
    background-color: #fff;
}
.fullscreen-menu-close span:first-child{
    transform: rotate(45deg) translate(4px,1px);
}
.fullscreen-menu-close span:last-child{
    transform: rotate(-45deg) translate(1px,1px);
}
.fullscreen-menu-close:hover {
    /*background: rgb(var(--primary));
    color: white;*/
    transform: scale(1.1);
}

.fullscreen-menu-body {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}
.fullscreen-menu-header{
    display: flex;
    align-items: center;
    margin-bottom: 95px;
    justify-content: space-between;
}


.fullscreen-menu .main-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}

.fullscreen-menu .column {
    width: 20%;
    margin-bottom: 30px;
}


.fullscreen-menu .column ul {
    list-style: none;
    padding: 0;
    margin-bottom: 50px;
}

.fullscreen-menu .column li {
    margin-bottom: 25px;
}



.fullscreen-nav-menu {
    list-style: none;
    text-align: center;
}

.fullscreen-nav-item {
    margin-bottom: 2rem;
    position: relative;
}

.fullscreen-nav-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    font-size: var(--font-size-2xl);
    font-weight: 600;
    color: rgb(var(--text-primary));
    text-decoration: none;
    padding: 1rem;
    transition: all var(--transition-normal);
    border-radius: 8px;
}

.fullscreen-nav-link:hover {
    color: rgb(var(--primary));
    background: rgba(var(--primary), 0.1);
}

.fullscreen-submenu {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: all var(--transition-normal);
    margin-top: 1rem;
}

.fullscreen-nav-item:hover .fullscreen-submenu {
    max-height: 300px;
    opacity: 1;
}

.fullscreen-submenu-item {
    display: block;
    padding: 0.75rem 1rem;
    color: rgb(var(--text-secondary));
    text-decoration: none;
    font-size: var(--font-size-lg);
    transition: all var(--transition-fast);
    border-radius: 6px;
    margin: 0.25rem 0;
}

.fullscreen-submenu-item:hover {
    color: rgb(var(--primary));
    background: rgba(var(--primary), 0.1);
}

.fullscreen-menu-toggle {
    display: flex;
    flex-direction: column;
    gap: 15px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
    z-index: 4;
}

.fullscreen-menu-toggle span {
    width: 60px;
    height: 3px;
    background: #fff;
    transition: all var(--transition-fast);
    border-radius: 20px;
}

.fullscreen-menu-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(13px, 11px);
}

.fullscreen-menu-toggle.active span:nth-child(2) {
    opacity: 0;
}

.fullscreen-menu-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(14px, -12px);
}

.fullscreen-menu-toggle:hover span:nth-child(1) {
    transform: translateY(4px);
}
.fullscreen-menu-toggle:hover span:nth-child(3) {
    transform: translateY(-4px);
}




@media (max-width: 768px) {
    
    .fullscreen-nav-link {
        font-size: var(--font-size-xl);
    }
    
    .fullscreen-submenu-item {
        font-size: var(--font-size-base);
    }
    
    .top-dropdown {
        position: fixed;
        top: 60px;
        left: 1rem;
        right: 1rem;
        width: auto;
        min-width: auto;
    }
}

@media (max-width: 480px) {
    .parallax-container {
        height: 240px;
        overflow: hidden;
        border-radius: 10px;
    }
    
    .fullscreen-menu-body {
        padding: 2rem 1rem;
    }
    
    .fullscreen-nav-link {
        font-size: var(--font-size-lg);
    }
}

/* Remove old nav menu styles for desktop */
.nav-menu {
    display: none;
}

.mobile-menu-toggle {
    display: none;
}

/* Catalog Page Styles */
.hero-catalog {
    position: relative;
    height: 40vh;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.catalog-section {
    padding: 4rem 0;
}

.catalog-header {
    text-align: center;
    margin-bottom: 3rem;
}

.product-categories {
    margin-bottom: 3rem;
}

.category-filters {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 55px;

    overflow: hidden;
}

.category-btn {
    padding: 0.75rem 0;
    color: rgb(var(--text-secondary));
    transition: all var(--transition-normal);
    font-weight: 600;
 white-space: break-spaces;
    text-decoration: none;
}
.category-swiper .swiper-slide{
    width: 100%;
    max-width: 180px;
}


.products-title {
    font-size: 2em;
    font-weight: 600;
    margin-bottom: 30px;
    color: rgb(var(--text-primary));
    text-align: left;
}

.product-items {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 30px;
   margin-bottom: 3rem;

}

.product-card {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    transition: all var(--transition-normal);
    height: 380px;
}

/*.product-card:hover {
    transform: translateY(-5px);
}*/

.product-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-slow);
}

.product-card:hover .product-image img {
    transform: scale(1.1);
}

.product-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
    color: white;
    padding: 20px;
    transform: translateY(0);
    transition: all var(--transition-normal);
}

/*.product-card:hover .product-overlay {
    transform: translateY(0);
}*/

.product-overlay h3 {
    font-size: var(--font-size-lg);
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.product-overlay p {
    font-size: 1em;
    font-weight: 600;
    margin-bottom: 25px;
}

.product-label {
    font-size: 0.875em;
    font-weight: 500;
    color: #05C728;
    margin-bottom: 1rem;
    position: absolute;
    bottom: 17px;
    left: 20px;
    margin-bottom: 0;
}
.news-slider-mobile{
  position: relative;
}
.news-slider-mobile .swiper-button-slider{
  display: none;
}
.product-label.out-of-stock{
 color: #e20e17;
}

.product-btn {
    padding: 0.5rem 1rem;
    color: white;
    border: none;
    border-radius: 8px;
    border: 1px solid #fff;
    font-weight: 600;
    transition: all var(--transition-fast);
    font-size: 0.875em;
    font-weight: 600;
    float: right;
    text-decoration: none;
}
.product-btn:hover{
    background: #fff;
    color: rgb(var(--text-primary));
}
.pagination-wrapper {
    display: flex;
    margin: 35px auto 0 0;
}

.pagination {
    display: flex;
    list-style: none;
    gap: 3px;
    margin: 0;
    padding: 0;
}

.page-item {
    display: flex;
}

.page-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: rgb(var(--surface));
    color: rgb(var(--text-primary));
    text-decoration: none;
    transition: all var(--transition-fast);
    border: none;
    font-size: 1.25em;
    font-weight: 600;
}

.page-item.active .page-link {

background-color: rgba(89, 113, 151, .2);
color: #000;
}

.page-item.disabled .page-link {
    opacity: 0.5;
    cursor: not-allowed;
    background: transparent;
}

/*.page-link:hover:not(.disabled) {
    background: rgb(var(--primary));
    color: white;
}*/

/* Contact Page Styles */
.hero-contact {
    position: relative;
    height: 40vh;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.inner-section{
    padding: 60px 0 70px;
}

.contact-header {
    text-align: left;
}

.contact-content {
    display: flex;
    //grid-template-columns: 1fr 1fr;
    //gap: 10rem;
    margin-bottom: 4rem;
}
.contact-content .map-container,.contact-content .contact-info{
 width: 50%

}
.map-container p{
   margin-left: 10px;
}

.contact-content{
   display: flex;
   gap: 10rem;
}
.contact-details {
    padding: 0;
}

.contact-item {
    margin-bottom: 2rem;
    display: flex;
}

.contact-item h3 {
    font-size: 1.25em;
    font-weight: 400;
    color: rgb(var(--text-primary));
    margin-bottom: 0.5rem;
    width: 240px;
}

.contact-item p {
    font-size: 1.25em;
    color: rgb(var(--text-primary));
    line-height: 1.2;
    font-weight: 600;
    width: calc(100% - 240px);
}

.banking-section {
    margin-top: 45px;
    padding-top: 35px;
    border-top: 1px solid #000;
}

.banking-section h3 {
    font-size: 2em;
    font-weight: 700;
    color: rgb(var(--text-primary));
    margin-bottom: 30px;
}

.bank-details {
    padding: 0;
    margin-bottom: 1.5rem;
}

.bank-details h4 {
    font-size: 1.5em;
    font-weight: 600;
    color: rgb(var(--text-primary));
    margin-top: 30px;
    margin-bottom: 20px;
}

.bank-details p {
    margin-bottom: 0.5rem;
    font-size: 14px;
}

.additional-info {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgb(var(--border));
}

.yandex-map {
    width: 100%;
    height: 600px;
	    border-radius: 30px;
    overflow: hidden;
}

.museum-sections {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10rem;
}
.museum-sections .museum-section{
  width: 
}

.f-24{
    font-size: 1.5em;
    font-weight: 600;
    margin-top: 20px;
}
.museum-section h3 {
    font-size: 2.5em;
    font-weight: 700;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid #000;
    padding-bottom: 25px;
}

.museum-info-title {
    font-size: 2em;
    font-weight: 700;
    margin: 25px 0;
    line-height: 1.2;
}
.museum-info h4{
    font-size: 1.5em;
    font-weight: 700;
    margin: 2.2rem 0 1.5rem 0;
}

.museum-info p {
    color: rgb(var(--text-primary));
    margin-bottom: 20px;
    line-height: 1.2;
}

/* Page Content Styles */
.hero-page {
    position: relative;
    height: 40vh;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.page-content {
    padding: 4rem 0;
}

.page-header {
    text-align: center;
    margin-bottom: 3rem;
}

.page-title {
    font-size: var(--font-size-2xl);
    font-weight: 700;
    color: rgb(var(--text-primary));
    line-height: var(--line-height-tight);
    max-width: 800px;
    margin: 0 auto;
}
.page-title_inner{
    font-size: 3em;
    font-weight: 600;
    margin-bottom: 30px;
}
.page-text {
    max-width: 800px;
    margin: 0 auto 4rem;
    font-size: var(--font-size-base);
    line-height: 1.7;
    color: rgb(var(--text-secondary));
}

.page-text h3 {
    font-size: var(--font-size-xl);
    font-weight: 700;
    color: rgb(var(--text-primary));
    margin: 2rem 0 1rem;
}

.page-text ul {
    margin: 1rem 0;
    padding-left: 2rem;
}

.page-text li {
    margin-bottom: 0.5rem;
}

.image-gallery {
    margin: 80px auto 120px auto;
    max-width: 1440px;
}

.gallery-swiper {
    margin-bottom: 1rem;
    border-radius: 40px;
    overflow: hidden;
    
}
.image-gallery-wrapper,.gallery-thumbs-wrapper{
    position: relative;
    padding: 0 60px;
}
.gallery-thumbs{
    overflow: hidden;
}
.image-gallery .gallery-thumbs-wrapper{
 display: none;
}

.gallery-swiper .swiper-slide img {
    width: 100%;
    object-fit: cover;
}



.gallery-thumbs .swiper-slide {
    width: 100%;
    height: 190px;
    cursor: pointer;
    opacity: 0.6;
    transition: opacity var(--transition-fast);
}

.gallery-thumbs .swiper-slide-thumb-active {
    opacity: 1;
}

.gallery-thumbs .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
}

.image-gallery-wrapper .swiper-button-next,
.image-gallery-wrapper .swiper-button-prev {
    color: #000;
    width: 40px;
    height: 40px;
    border-radius: 50%;
}
.swiper-tabs .swiper-button-next,.swiper-tabs .swiper-button-prev,.category-swiper .swiper-button-next,.category-swiper .swiper-button-prev{
    color: rgba(var(--text-primary));
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(var(--text-primary));
}
.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled{
 display: none;
}
.swiper-button-slider{
    color: #fff;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid #fff;
}
.swiper-button-slider:after {
    font-size: 15px;
}
 .footer-content .footer-slider{
   padding: 5px 0 5px 0;
margin-left: 0;

}
 .footer-content .site-logo{
width: 100%;
position: relative;
overflow: hidden;
}
.footer-slider a{
color: #fff;}


.category-swiper .swiper-button-next{
  right: 0;
}
.category-swiper .swiper-button-prev{
  left: 0;
}

.category-swiper:before,.category-swiper:after {
    content: '';
    position: absolute;
    top: 0;
    width: 100px;
    height: 95%;
    z-index: 2;
    background: #FFF;
}
[data-theme="dark"] .category-swiper:after{
   background: linear-gradient(90deg, rgba(23, 28, 36, 0) 0%, rgba(23, 28, 36, 0.31) 20%, rgba(23, 28, 36, 1) 50%);
}
[data-theme="dark"] .category-swiper:before{
   background: linear-gradient(270deg, rgba(23, 28, 36, 0) 0%, rgba(23, 28, 36, 0.31) 20%, rgba(23, 28, 36, 1) 50%);
}
.category-swiper:after{
   background: linear-gradient(90deg, rgba(255, 255, 255, 0.41) 0%, rgba(255, 255, 255, 1) 50%);
}
.category-swiper:before{
  left: 0;
  opacity: 0;
 background: linear-gradient(270deg, rgba(255, 255, 255, 0.41) 0%, rgba(255, 255, 255, 1) 50%);
}
.category-swiper.active-arrow-left:before{
  opacity: 1;
}
.category-swiper:after{
  opacity: 1;
right: 0;
}
.category-swiper.hide-arrow-right:after{
  opacity: 0;
}


.category-swiper .swiper-button-next:after,.category-swiper .swiper-button-prev:after{
  font-size: 15px;
}
.image-gallery-wrapper .swiper-button-next{
    right: 0;
}
.image-gallery-wrapper .swiper-button-prev{
    left: 0;
}
.image-gallery-wrapper .swiper-button-next:after,
.image-gallery-wrapper .swiper-button-prev:after,
.swiper-tabs .swiper-button-next:after,.swiper-tabs .swiper-button-prev:after {
    font-size: 15px;
}
.gallery-swiper .swiper-pagination{
    bottom: 20px;
}
.gallery-swiper .swiper-slide  img{
    height: 800px;
}
.gallery-swiper .swiper-pagination-bullet {
    background: var(--text-primary);
    width: 20px;
    height: 20px;
    opacity: 1;
    border: 1px solid rgba(var(--background));
    margin: 0 10px!important;
}

.gallery-swiper .swiper-pagination-bullet-active {
    opacity: 1;
    background: rgba(var(--background));
}

.additional-images {
    margin-top: 3rem;
}

.images-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    margin-bottom: 2rem;
}
.px-150{
    padding: 0 150px;
}
.image-item img {
    width: 100%;
    height: 900px;
    object-fit: cover;
    border-radius: 40px;
}

.large-image {
    margin-bottom: 50px;
    margin-top: 50px;
}

.large-image img {
    width: 100%;
    height: 800px;
    object-fit: cover;
    border-radius: 40px;
}

.images-grid {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.grid-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.grid-item img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-radius: 40px;
}

.categories-section{
    background: var(--bg-accent-section);
    border-radius: 70px;

    margin-top: 70px;
}
@media (min-width: 1440px){
	.catalog.inner-section{
      padding-left: 5rem;
      padding-right: 5rem
}
}
.sections-wrapper{
padding: 5rem 5rem;
}
.cards {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 40px;
  }
  .card {
    position: relative;
    width: calc(50% - 10px);
    overflow: hidden;
    cursor: pointer;
    background-color: transparent;
    border: none;
  }
  .card-img{
    height: 400px;
    width: 100%;
    border-radius: 50px;
    overflow: hidden;
    position: relative;

  }
  .card-img:before{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 170px;
  background: #73737300;
background: linear-gradient(180deg,rgba(115, 115, 115, 0.16) 0%, rgba(0, 0, 0, 1) 100%);
z-index: 1;
  }
  .card:hover img{
    transform: scale(1.05);
  }
  .card img {
    width: 100%;
    border-radius: 50px;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: .2s;
  }
  .card-title {
    font-weight: 700;
    font-size: 2.5em;
    line-height: 1.2;
    color: #fff;
    padding: 25px 50px;
  }
.categories-section .card-title {
        position: absolute;
        bottom: 50px;
        left: 50px;
        padding: 0;
        z-index: 1;
        margin-bottom: 0;
    }

  /* Нижний блок с новостями */
  .news-section {
    background-color: var(--bg-accent-section);
    border-radius: 50px;
    padding: 80px 50px;
    max-width: 100%;
    margin: 50px 50px 50px 50px;
    display: flex;
position: relative;
    gap: 20px;
  }
.news-section .news-slider-mobile-nav{
	display: none;
}
  .news-title {
    font-weight: 700;
    font-size: 3.75em;
    flex-shrink: 0;
    min-width: 150px;
    color: #fff;
padding-right: 60px;
  }
  .news-items {
    display: flex;
    gap: 30px;
    flex-grow: 1;
    margin-top: 15px;
  }
  .news-item {
    line-height: 1.3;
    max-width: 400px;
    flex: 1 1 350px;
    background: transparent;
    border: none;
    margin-bottom: 30px;
  }
  .news-items a:hover{
        color: rgba(255,255,255,.8);
  }
    .news-item a{
        color: #fff;
        text-decoration: none;
        font-size: 1.25em;
        transition: .2s;
display: block;

    }


 #cookie-banner {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    max-width: 1140px;
    width: calc(100% - 40px);
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    padding: 30px 40px;
    box-sizing: border-box;
    color: #000;
    opacity: 1;
    transition: opacity 0.5s ease, visibility 0.5s ease;
    visibility: visible;
    z-index: 1000;
    display: none;
  }

  /* Скрытие баннера */
  #cookie-banner.hidden {
    opacity: 0;
    visibility: hidden;
  }

  /* Текст и ссылка */
  #cookie-banner p {
    margin: 0 0 30px 0;
    font-size: 1em;
    line-height: 1.4;
    font-weight: 600;
  }

  #cookie-banner a {
    color: #3a5f8f;
    text-decoration: underline;
    margin-top: 10px;
    display: block;
  }

  /* Контейнер для кнопок и крестика */
  #cookie-banner .controls {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    flex-wrap: wrap;
  }

  /* Кнопки */
  #cookie-banner button {
    font-size: 14px;
    padding: 10px 20px;
    border-radius: 6px;
    cursor: pointer;
    border: 1.5px solid #3a5f8f;
    background: transparent;
    color: #3a5f8f;
    transition: background-color 0.3s ease, color 0.3s ease;
    user-select: none;
  }

  /* Кнопка "Принять все" - заливка и цвет текста */
  #cookie-banner button.accept {
    background-color: #3a5f8f;
    color: #fff;
    border-color: #3a5f8f;
  }

  #cookie-banner button.accept:hover {
    background-color: #2e4a6b;
  }

  #cookie-banner button.reject:hover {
    background-color: #f0f0f0;
  }

  /* Крестик закрытия */
  #cookie-banner .close-btn {
    margin-left: auto;
    background: transparent;
    border: none;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    color: #000;
    padding: 0;
    user-select: none;
    position: absolute;
    top: 10px;
    right: 15px;
  }

  #cookie-banner .close-btn:hover {
    color: #666;
  }




.site-map .column {
    flex: 1;
    padding-right: 40px;
  }
.site-map  .column:last-child {
    padding-right: 0;
  }
.site-map  h2 {
    font-weight: 700;
    font-size: 2em;
    margin-bottom: 30px;
  }
.site-map  h3 {
    font-weight: 700;
    font-size: 16px;
    margin-top: 30px;
    margin-bottom: 12px;
  }
 .site-map ul {
    list-style: none;
    padding-left: 0;
    margin: 0 0 20px 0;
  }
 .site-map li a{
    position: relative;
    padding-left: 60px;
    margin-bottom: 25px;
    font-weight: 400;
    font-size: 1.25em;
    text-decoration: none;
    display: block;
    position: relative;
    color: rgb(var(--text-primary));
  }
.site-map  li a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 40px;
    height: 1px;
    background-color: var(--bg-accent);
    transform: translateY(-50%);
  }
.site-map .intro-text {
    font-size: 1.25em;
    margin-bottom: 25px;
  }
.site-map-wrap{
    display: flex;
}
.site-map .section-title,.section-header .section-title{
    margin-bottom: 20px;
}


  /* Заголовок */
  .header-title {
    font-size: 28px;
    font-weight: 700;
    max-width: 700px;
    margin-bottom: 8px;
  }
  .header-subtitle {
    font-size: 14px;
    font-weight: 400;
    font-style: italic;
    max-width: 700px;
    margin-bottom: 20px;
  }
  .banner-button{
    position: absolute;
    right: 0;
    bottom: 0;
transition: .2s;
transition-property: opacity, transform, background-color!important;
    background-color: var(--bg-accent);
    color: white;
    border: none;
    padding: 10px 25px;
    font-weight: 600;
    border-radius: 10px;
    font-size: 16px;
    transition: .2s;
    display: inline-flex;
    align-items: center;
    height: 50px;
    text-decoration: none;
  }
  .accent-btn{
    background-color: var(--bg-accent);
    color: white;
    border: none;
    padding: 10px 30px;
    font-weight: 600;
    border-radius: 10px;
    font-size: 1em;
    transition: background-color 0.3s ease;
    display: inline-flex;
    align-items: center;
    height: 50px;
    text-decoration: none;
  }

  .banner-button:hover,.accent-btn:hover {
    background-color: var(--bg-accent_hover);
  }
  .banner-button svg {
    width: 16px;
    height: 16px;
    margin-left: 10px;
  }

.content-page{
    margin-top: 50px;
    margin-bottom: 50px;
}
  .content-page p {
    margin-bottom: 20px;
    font-size: 1.25em;
    font-weight: 500;
  }
  .content-page h2 {
    font-size: 2.5em;
    margin-top: 20px;
    margin-bottom: 30px;
    font-weight: 600;
  }
  .content-page h3{
    font-size: 2em;
    margin-top: 20px;
    margin-bottom: 20px;
    font-weight: 600;
  }
  .content-page strong {
    font-weight: 600;
  }
.content-page ul{
    padding-left: 5px;
    list-style: none;
    margin: 50px 0;
}
.content-page ol{
    padding-left: 30px;
}
.content-page li{
    position: relative;
    margin-bottom: 24px;
    font-size: 1em;
}
.content-page ul li{
    padding-left: 60px;
}
.content-page ol li{
    padding-left: 40px;
}
.content-page ul li:before{
    content: '';
    position: absolute;
    top: 13px;
    left: 0;
    width: 40px;
    height: 1px;
    background: var(--bg-accent);


}
.version-blind{
position: relative;
}
.required--notify{
   font-size: 0.75em;
margin-bottom: 5px;
color: rgba(0,0,0,.5)
}
[data-theme="dark"] .required--notify{
   color: #e1e3e7;
}

.checkbox-container input[type="checkbox"] {
  appearance: none;
  position: relative;
}

.checkbox-container .checkbox {
  position: absolute;
  height: 20px;
  border-radius: 5px;
  border: 1px solid grey;
  width: 20px;
  transition: 100ms ease-in;
  cursor: pointer;
  left: 0;
}

.checkbox-container input:checked + .checkbox {
  background: black;
  border: #000;
}

.checkbox-container input:checked + .dark {
  background: var(--bg-accent);
  border: #000;
}
[data-theme="dark"] .checkbox-container input:checked + .dark {
  background: #ffffff;
}


.version-blind:before{
content: '';
    position: absolute;
    top: 24px;
    left: 2px;
    width: 23px;
    height: 1px;
    background: #000;
    transform: translate(50%, 50%) rotate(-45deg);
opacity: 0;
}
.sv_theme .version-blind:before{
  opacity: 1;
}
  /* Структура - карточки */
  .item-list {
    display: grid;
    gap: 30px;
  }
.item-list-coll-2{
    grid-template-columns: repeat(2, 1fr);
}
.item-list-coll-3{
     grid-template-columns: repeat(3, 1fr);
}
  .item-card {
    position: relative;
    border-radius: 50px;
    overflow: hidden;
    cursor: pointer;
    color: white;
    font-weight: 700;
    text-decoration: none;
    display: flex;
    align-items: flex-end;
    min-height: 400px;
   
  }
  .item-card:hover img {
    transform: scale(1.05);
  }
  .item-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.7) 100%);
    z-index: 0;
  }
  .item-card img {
    position: absolute;
    inset: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
    z-index: -1;
     transition: 0.3s;
  }

.item-news .item__image{
    height: 350px;  
    width: 100%;
    display: block;
}
.item__title{
    font-weight: 700;
    font-size: 1.5em;
    margin-bottom: 20px;
transition: .2s;
line-height: 130%;
}
.item-content{
    color: var(--text-primary);
    margin-top: 30px;
    margin-bottom: 20px;
}
.item__text{
    font-size: 1em;
    font-weight: 400;
    text-decoration: none;
}
.item-news{
    color: var(--text-primary);
    text-decoration: none;
}
.item-news:hover .item__title{
color: var(--bg-accent-section);
}

[data-theme="dark"] .item-news:hover .item__title{
	color: unset;
}
.item-news .item__image{
    overflow: hidden;
    border-radius: 40px;
}
.item-news .item__image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 40px;
}
.item-news:hover img {
    transform: scale(1.05);
}
.item-news img{
    transition: .2s;
}
  .item-card-text {
    position: relative;
    padding: 16px 30px 30px 40px;
    z-index: 1;
    font-size: 2.5em;
    max-width: 80%;
    line-height: 1.3;
  }
.item-card-date{
    background: rgba(255,255,255,.6);
    border-radius: 20px;
    padding: 10px 20px;
    position: absolute;
    top: 20px;
    left: 20px;
    color: var(--text-primary);
    font-weight: 500;
}
.news.item-list{
    padding-top: 0;
    padding-bottom: 0;
}
.news .item-card{
    color: var(--text-primary);
}
.news .item-card img{
    z-index: 0;
}
.page-banner{
    margin-top: 45px;
    position: relative;
}
.sections-wrapper{
    margin-bottom: 70px;
}
.categories-section .sections-wrapper{
    margin-bottom: 0;
}
 .page-banner__title{
    font-size: 3.75em;
    font-weight: 600;
    line-height: 1.2;
    position: relative;
    padding-right: 270px;
 } 
.page-banner p{
    font-size: 1.25em;
    margin-top: 20px;
}
.page-banner__image{
    margin-top: 45px;
    border-radius: 40px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.page-banner__image{
    height: 800px;
    width: 100%;
    border-radius: 40px;
}
.product-cart{
    margin-top: 45px;
    margin-bottom: 70px;
}

.info-left dl { display: flex; flex-wrap: wrap; }
.info-left dt { flex-basis: 50%; }
.info-left dd { flex-basis: 50%; margin-left: auto; } 

  /* Контейнер верхней части */
  .top-container {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
    margin-bottom: 30px;
  }
  .product__image {
    flex: 1 1 555px;
    max-width: 555px;
height: 555px;
    border-radius: 30px;
   overflow: hidden;
  }
  .product__image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .product-info-mobile-title{
    display: none;
    font-weight: 600;
    font-size: 1.5em;
    line-height: 1.2;
  }
  .product-cart{
    margin-top: 30px;
  }

  .product-info {
    flex: 2 1 400px;
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
.product-cart table{
    max-width: 1150px;
}
  /* Заголовок */
  .product-info h2 {
    font-size: 2.25em;
    margin: 0 0 10px 0;
    font-weight: 600;
  }
.doc-list{
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(1, 1fr);
}

.doc-list-col-2{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}
.mt-7{
    margin-top: 70px;
}

 /*  Doc */
  .doc-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(0,0,0,0.05);
    border-radius: 10px;
    padding: 28px 28px;
    box-sizing: border-box;
    max-width: 100%;
    min-height: 80px;
height: 100%;
    transition: .2s;
  }
[data-theme="dark"] .doc-card,[data-theme="dark"] .doc-card:hover{
  background: rgba(84, 107, 143, 0.1);

}

.smooth-scroll {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
}


.smooth-scrollbar {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
}

   .doc-card[data-aos^=fade]{
    transition-property: opacity, transform, background;
   }
  .doc-card.doc-target-link{
    max-width: 850px;
    width: 100%;
}
.footer-content .swiper-button-lock{
   display: none!important;
}
.fw-bold{
    font-weight: 700;
}
.fz-40{
    font-size: 2.5em;
}
  .doc-card:hover{
     background: rgba(0,0,0,0.1);
  }
  .doc-card .download-link{
        margin-left: 30px;
  }
  .left-section {
    display: flex;
    gap: 15px;
  }
  .icon-file {
    width: 24px;
    height: 24px;
    fill: #6b7280; /* серый цвет */
  }
  .file-name {
    font-weight: 700;
    font-size: 1.125em;
    color: var(--text-primary);
    text-decoration: none;
    word-break: break-word;
  }
.left-section svg{
  flex-shrink: 0;
}
  .right-section {
    display: flex;
    align-items: center;
    gap: 30px;
    font-size: 1em;
padding-left: 35px;
    color: var(--text-primary);
  }
  .file-type {
    font-weight: 500;
text-transform: uppercase;
  }
  .file-size {
    font-weight: 400;
    color: #828282;
    min-width: 125px;
  }

  [data-theme="dark"] .doc-card .download-link svg path{
    stroke: #fff;
  }

  .download-link {
    display: flex;
    align-items: center;
    cursor: pointer;
    color: #6b7280;
    text-decoration: none;
    transition: color 0.2s ease;
  }
.download-link{
  padding: 10px;

border-radius: 5px;
transition: .2s;
}

  .download-link:hover {
    color: #2563eb;

  }
.doc-card:hover .download-link{
background: var(--blue-accent);
}
.download-link svg path,.download-link svg{
 transition: .2s
}
.doc-card:hover .download-link svg path{
  stroke: #fff;
}

[data-theme="dark"] .doc-card:hover .download-link svg path{
 stroke: #000;
}

  .icon-download {
    width: 20px;
    height: 20px;
    fill: currentColor;
  }

  /*  form  */

  .form-container {
    background: var(--bg-gray);
    border-radius: 30px;
    padding: 50px;
    width: 100%;
  }
form.form{
    display: flex;
    flex-wrap: wrap;

}
.form-wrapper input[type="text"],.form-wrapper input[type="email"],
.form-wrapper select,
.form-wrapper input[type="tel"],
.form-wrapper textarea{
    height: 65px;
}
.form-col{
    width: 50%;
    padding-right: 70px;
}
  label {
    display: block;
    font-weight: 600;
    font-size: 13px;
    color: rgba(var(--text-primary),.5);
    margin-bottom: 6px;
  }

  label.required::after {
    content: " *";
    color: #222;
  }

 .form-wrapper input[type="text"],
 .form-wrapper input[type="email"],
 .form-wrapper input[type="tel"],
 .form-wrapper select,
 .form-wrapper textarea {
    width: 100%;
    border: none;
    border-bottom: 1px solid var(--border-color-not);
    background: transparent;
    font-weight: 700;
    font-size: 1.25em;
    color: rgba(var(--text-primary));
    padding: 6px 0 0 0;
    margin-bottom: 20px;
    outline: none;
  }

 .form-wrapper input::placeholder,
 .form-wrapper select option:first-child {
    font-weight: 400;
   font-size: 1em;
    color: #a0a0a0;
  }
  .search-input-group input::placeholder{
    font-weight: 500;
  }

  select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url('data:image/svg+xml;utf8,<svg fill="%23777" height="12" viewBox="0 0 24 24" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 6px center;
    background-size: 12px 12px;
    cursor: pointer;
  }

.custom-select {
  position: relative;
}

.custom-select select {
  display: none; /*hide original SELECT element: */
}



/* Style the arrow inside the select element: */
.select-selected:after {
  position: absolute;
  content: "";
  top: 35px;
  right: 10px;
  width: 15px;
  height: 15px;
  background-image: url(/local/templates/granit/assets/img/arrow-select.svg);
    background-size: contain;
    background-repeat: no-repeat;
    transition: .2s;

}

/* Point the arrow upwards when the select box is open (active): */
.select-selected.select-arrow-active:after {
  transform: rotate(180deg) translateY(5px);;
}

/* style the items (options), including the selected item: */
.select-items div,.select-selected {
  color: #fff;
  padding: 8px 16px;
  border: 1px solid transparent;
  border-color: transparent transparent rgba(0, 0, 0, 0.1) transparent;
  cursor: pointer;
}
.select-selected{
    color: var(--text-primary);
        font-weight: 700;
    font-size: 1.25em;
    height: 65px;
    padding: 0;
    display: flex;
    align-items: center;
    background-color: transparent;
    border-bottom: 1px solid var(--border-color-not);

}
[data-theme="dark"] .select-items{
    border: 1px solid var(--border-color-not);
}

/* Style items (options): */
.select-items {
  position: absolute;
  background-color: var(--bg-accent);
  top: 100%;
  left: 0;
  right: 0;
  z-index: 99;
  transition: .2s;
}

/* Hide the items when the select box is closed: */
.select-hide {
  display: none;
}

.select-items div:hover, .same-as-selected {
  background-color: rgba(0, 0, 0, 0.1);
}



  textarea {
    resize: vertical;
    min-height: 80px;
    font-weight: 400;
  }

  .form-group {
            position: relative;
            margin-bottom: 25px;
        }

.form-control {
    width: 100%;
    padding: 10px;
    border-radius: 0;
    outline: none; /* Убирает стандартную обводку при фокусе */
    box-sizing: border-box; /* Учитывает padding и border в ширине */
    padding-top: 20px; /* Добавляем место для Label */
    background-color: transparent;
}

.form-box .form-label {
    position: absolute;
    top: 20px;
    left: 0;
    font-size: 1.25em;
    color: var(--border-color-not);
    pointer-events: none; /* Делает label кликабельным сквозь input */
    transition: all 0.2s ease-in-out;
    margin-bottom: 0;
}

.form-input:focus + .form-label,.form-select:focus + .form-label,
.form-input:not(:placeholder-shown) + .form-label,
.form-select:is(:focus, :valid) + .form-label
{
    top: -10px;
    left: 0;
    font-size: 0.875em;
    color: var(--border-color-not);
    background-color: transparent; /* Чтобы label не перекрывался при background-color input */
    padding: 0;
}

input.form-input::placeholder {
         color: transparent!important;
    }
input.form-input:focus::placeholder{
    color: #000!important;
}
/*.form-input:placeholder{
    display: none;
}*/
textarea.form-control {
    resize: vertical; /* Разрешаем изменение размера по вертикали */
}

select.form-control {
    /* Дополнительные стили для select, если нужно */
    appearance: none; /* Убирает стандартные стили select в некоторых браузерах */
    background-image: url('data:image/svg+xml;utf8,<svg fill="currentColor" viewBox="0 0 17 17" xmlns="http://www.w3.org/2000/svg"><path d="M1.00601 1.30769L8.69832 9L16.3906 1.30769" stroke="black" stroke-linecap="round" stroke-linejoin="round"/></svg>'); /* Стрелка для select */
    background-repeat: no-repeat;
    background-position: right 10px top 50%;
    background-size: 16px;
    border: none;
    padding-right: 30px; /* Увеличиваем padding, чтобы стрелка не перекрывала текст */
    border-bottom: 1px solid var(--border-color-not);
}

textarea.form-control{
border: none;
border-bottom: 1px solid var(--border-color-not); 
padding-top: 20px;
}

.form-control:focus {
    border-color: var(--bg-accent); /* Изменяем цвет рамки при фокусе */
    box-shadow: none; /* Добавляем тень при фокусе */
    background-color: transparent;
}


  .checkbox-container {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
    font-size: 11px;
    color: #777;
  }
.checkbox-container{
  position: relative;
}
.checkbox-container label{
   padding-left: 30px;
}
  .checkbox-container input[type="checkbox"] {
    margin-right: 8px;
    margin-top: 3px;
   display: none;
  }

  .checkbox-container a {
    color: #3a7bd5;
    text-decoration: underline;
  }

.form-wrapper button {
    background: var(--bg-accent);
    border-radius: 10px;
    border: none;
    color: #fff;
    padding: 10px 30px;
    font-weight: 700;
    font-size: 1em;
    height: 60px;
    max-width: 200px;
    width: 100%;
    cursor: pointer;
    transition: background-color 0.3s ease;
  }

.form-wrapper button:hover {
    background: #3a4a6d;
  }
.form-box{
    margin-top: 100px;
}
.form-box h3{
    margin-bottom: 35px;
}


  /* Две колонки с характеристиками и контактами */
  .info-columns {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
  }
  .info-left, .info-right {
    flex: 1 1 200px;
  }
  .info-left .accent-btn{
    margin-top: 40px;
  }
  .info-left dl, .info-right dl {
    margin: 0;
  }
  dt {
    font-weight: 700;
  }
  dd {
    margin: 0 0 10px 0;
  }
  .info-right dd {
    margin-bottom: 10px;
  }
  .info-right strong {
    display: block;
    margin-bottom: 10px;
    font-weight: 600;
    font-size: 1.75em;
    line-height: 1;
  }


  /* Кнопка */
  .price-button {
    background-color: #4a5d8c;
    color: white;
    border: none;
    padding: 10px 18px;
    border-radius: 4px;
    font-size: 0.9rem;
    width: fit-content;
    transition: background-color 0.3s;
  }
  .price-button:hover,
  .price-button:focus {
    background-color: #3b4a6a;
    outline: none;
  }

  /* Табы */
  .tabs {
    border-bottom: 2px solid #ccc;
    display: inline-flex;
    gap: 30px;
    margin-bottom: 30px;
    flex-wrap: wrap;
  }
  .tab {
    padding: 8px 0 15px 0;
    font-weight: 600;
    color: #444;
    border-bottom: 3px solid transparent;
    cursor: pointer;
    user-select: none;
    transition: color 0.3s, border-color 0.3s;
    border: none;
    background: transparent;
    position: relative;
    font-size: 1.25em;
  }
  .tab.active:before{
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    transition: .2s;
    background: var(--bg-accent);
  }
  .tab.active {
    border-color: #4a5d8c;
    color: #4a5d8c;
  }
  .tab:focus {
    outline: 2px solid #4a5d8c;
    outline-offset: 2px;
  }

  /* Контент табов */
  .tab-content p{
    color: var(--text-primary);
  }
  #desc p {
    margin-top: 0;
    font-size: 1em;
    margin-bottom: 30px;
  }
#terms p{
    margin-bottom: 5px;
    font-size: 1em;
}
  /* Таблица */
  table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 15px;
    font-size: 0.85rem;
  }
  th, td {
    border: 1px solid #999;
    padding: 15px 10px;
    text-align: left;
  }
  th {
    font-weight: 700;
  }
  td:nth-child(1), th:nth-child(1) {
    width: 60px;
    text-align: center;
  }

  /* Адаптив */
  @media (max-width: 900px) {
    .top-container {
      flex-direction: column;
    }
    .info-columns {
      flex-direction: column;
      gap: 20px;
    }
	.file-size{

  min-width: 88px;
}
	.right-section{
   gap: 15px;
}
  }
.room-card .description{
  margin-bottom: 30px;
}
  /*  Slider room list */
  .room-card {
    display: flex;
    background: #f0f0f0;
    border-radius: 30px;
    margin-bottom: 20px;
    gap: 30px;
    align-items: flex-start;
  }

  /* Контейнер слайдера фиксированной ширины, чтобы не растягивать */
  .room-card .swiper-container {
    overflow: hidden;
    flex-shrink: 0;
border-radius: 30px;
  }
  .room-card .swiper-room{
    position: relative;
  }

 .room-card .swiper-slide img {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 30px;
    object-fit: cover;
  }

  /* Текстовая часть */
  .room-info {
    flex: 1;
    padding: 55px 80px;
  }
.room-card .swiper-button-prev,.room-card .swiper-button-next{
   opacity: 0;
transition: .3s;
}
.room-card .swiper-container:hover .swiper-button-prev,.room-card .swiper-container:hover .swiper-button-next{
 opacity: 1;
}

  .room-info h3 {
    margin: 0 0 30px 0;
    font-weight: 700;
    font-size: 2.25em;
    color: var(--text-primary);

  }

  .room-info p.description {
    margin: 0 0 35px 0;
    color: var(--text-primary);
    font-size: 1.25em;
    line-height: 1.4;
  }

  /* Список удобств в 3 колонки */
  .amenities {
    display: grid;
    grid-template-columns: repeat(3, max-content);
    gap: 10px 45px;
    font-size: 1em;
    color: var(--text-primary);
  }

  .amenities div {
    display: flex;
    align-items: center;
    gap: 6px;
  }

  /* Иконки (используем SVG inline) */
  .icon {
    width: 18px;
    height: 18px;
    fill: #555;
  }

  /* Swiper навигация стрелки */
  .room-card .swiper-button-prev,
 .room-card .swiper-button-next {
    color: #202A39;
    top: 45%;
    width: 50px;
    height: 50px;
  }

  /* Буллиты снизу */
 .room-card .swiper-pagination {
    bottom: 8px !important;
    display: flex;
    justify-content: flex-end;
    padding-right: 20px;
    padding-bottom: 15px;
  }
.room-card .swiper-pagination-bullet{
    width: 15px;
    height: 15px;
    background-color: rgba(var(--background));
    opacity: .3;
  }
.room-card .swiper-pagination-bullet-active{
    background-color: rgba(var(--background));
    opacity: 1;
}
 .room-card .swiper-button-next:after,.room-card .swiper-button-prev:after{
    font-size: 20px;
}
  /* Скругление стрелок */
 .room-card .swiper-button-prev,
 .room-card .swiper-button-next {
    border-radius: 50%;
    background: rgba(255 255 255 / 0.7);
    box-shadow: 0 0 5px rgb(0 0 0 / 0.1);
  }
.swiper-room{
    width: 650px;
    height: 450px;
}
  /* Адаптив */
@media (max-height: 700px) {
.parallax-layer img{
    object-fit: contain;
}
}


  @media (max-width: 768px) {
    .room-card {
      flex-direction: column;
      gap: 0;
    }

amenities {
      grid-template-columns: repeat(2, max-content);
      gap: 8px 30px;
    }
  }



.container--1400{
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 15px;
}


 .swiper-tabs {
	width: 100%;
	overflow: hidden; /* Hide any overflowing tabs */
	padding-right: 30px;
   height: 115px;
	padding-bottom: 46px;
        }

.category-swiper{
 width: 100%;
	overflow: hidden; /* Hide any overflowing tabs */
	padding-bottom: 2px;
}
.category-btn{
 display: block;
}

.product-cart .swiper-tabs{
height: 100px
}
.swiper-tabs  .swiper-wrapper {
            display: flex;
            transition: transform 0.3s ease; /* Smooth transition for swiping */
        }
.swiper-tabs .swiper-button-prev{
    transition: .2s;
}
.swiper-tabs .swiper-button-prev{
    background: #fff;
}
.swiper-tabs .swiper-button-prev.swiper-button-disabled{
    opacity: 0;
}
.tab-slider-item {
    flex-shrink: 0;
    font-size: 1.25em;
    font-weight: 600;
    position: relative;
    width: auto; /* Allow tabs to have their natural width */
    padding: 10px 0;
    cursor: pointer;
    white-space: nowrap; /* Prevent tabs from wrapping */
    transition: background-color 0.3s ease, color 0.3s ease;

}
.tab-slider-item + .tab-slider-item:after{
  width: calc(100% + 30px);
left: -30px;
}

.tab-slider-item:before,.category-swiper .category-btn:before{
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    opacity: 0;
    transition: .2s;
z-index: 1;
    background: var(--bg-accent);
}
.tab-slider-item:after{
	content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    opacity: 1;
    transition: .2s;
    background: #D9D9D9;;
}
.tabs-slider-container .swiper-tabs-line{
  display: none;
}
.category-btn{
  height: 100%;
  position :relative;
}
.category-swiper .category-btn.active:before,.category-swiper .category-btn:hover:before{
    opacity: 1;
}
.tab-slider-item:last-child {
    margin-right: 0; /* Remove margin from the last slide */
}
.tab-slider-item.active:before{
    opacity: 1;
}

.tab-slider-item.active,.tab-slider-item:hover {
    color: var(--bg-accent);

}

.tabs-slider-container .tab-content {
    display: none;
    padding: 20px 0;
    min-height: 400px;
/*    transition: opacity 0.3s ease; 
    opacity: 0; */
   }

[data-theme="dark"] .tab-slider-item.swiper-slide-active,[data-theme="dark"] .tab-slider-item:hover,[data-theme="dark"] .tab-slider-item.active{
	color: #546B8F;
}
[data-theme="dark"] .tab-slider-item.active:before{
background: #546B8F }

.tabs-slider-container .tab-content.active {
        display: block;
/*        opacity: 1; */
        }
.swiper-tabs-line{
    width: 100%;
    height: 2px;
    background: #D9D9D9;
}
.product-cart .swiper-tabs-line{
    max-width: 485px;
}
.swiper-tabs:before{
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 100px;
    height: 100%;
    z-index: 2;
    background: #FFF;
   background: linear-gradient(90deg,rgba(255, 255, 255, 0.41) 0%, rgba(255, 255, 255, 1) 50%);
}
[data-theme="dark"] .swiper-tabs:before{
  background: linear-gradient(90deg,rgba(23, 28, 36, 0) 0%, rgba(23, 28, 36, 0.31) 20%, rgba(23, 28, 36, 1) 50%);
} 
.parallax-layer-img{
    height: 100%;
    padding-top: 35px;
margin-top: 45px;
}


.gallery-container {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 10px; 
    }

    .gallery-item {
      border-radius: 10px;
      overflow: hidden;
      box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
      transition: transform 0.3s ease-in-out;
    }

    .gallery-item img {
      display: block; 
      width: 100%;
      height: auto;
    }

    .gallery-item.item-1, .gallery-item.item-6 {
      width: 29%;
    }

    .gallery-item.item-2, .gallery-item.item-7, .gallery-item.item-11, .gallery-item.item-14 {
        width: 29%;
    }

    .gallery-item.item-3, .gallery-item.item-4 {
      width: 39%;
    }
    .gallery-item.item-8, .gallery-item.item-9 {
        width: 39%;
    }

    .gallery-item.item-5, .gallery-item.item-10 {
      width: 79%;
    }
    .gallery-item.item-12{
      width: 39%;
    }
    .gallery-item.item-13{
      width: 39%;
    }
    .gallery-item.item-15{
        width: 39%;
    }
    .gallery-item.item-16{
        width: 29%;
    }
@media (max-width: 768px) {
.gallery-item.item-1, .gallery-item.item-6, .gallery-item.item-2, .gallery-item.item-7, .gallery-item.item-11, .gallery-item.item-14, .gallery-item.item-16 {
    width: 45%;
}

.gallery-item.item-3, .gallery-item.item-4, .gallery-item.item-8, .gallery-item.item-9, .gallery-item.item-12, .gallery-item.item-13, .gallery-item.item-15 {
    width: 95%;
}
	.category-swiper{
   padding-top: 5px;
}

.gallery-item.item-5, .gallery-item.item-10 {
    width: 95%;
}
}

@media (max-width: 480px) {
.gallery-item.item-1, .gallery-item.item-6, .gallery-item.item-2, .gallery-item.item-7, .gallery-item.item-11, .gallery-item.item-14, .gallery-item.item-16{
    width: 95%;
}
 .gallery-item.item-3, .gallery-item.item-4, .gallery-item.item-8, .gallery-item.item-9, .gallery-item.item-12, .gallery-item.item-13, .gallery-item.item-15 {
            width: 95%;
        }

        .gallery-item.item-5, .gallery-item.item-10 {
            width: 95%;
        }
    }

    #loadMore {
      display: block;
      margin: 20px auto;
      padding: 10px 20px;
      background-color: rgba(84, 107, 143, 0.2);
      color: #546B8F;
      height: 60px;
      font-weight: 700;
      border: none;
      width: 100%;
      border-radius: 10px;
      cursor: pointer;
      font-size: 16px;
      transition: background-color 0.3s;
    }

    #loadMore:hover {
      background-color: rgba(84, 107, 143, 0.5);
    }


 .gallery-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: 200px;
    gap: 30px;
  }

  /* Общие стили для всех изображений */
  .gallery-grid a {
    display: block;
    overflow: hidden;
    border-radius: 40px;
    position: relative;
  }
  .gallery-grid img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
    border-radius: 15px;
  }
.gallery-grid a:hover img {
    transform: scale(1.05);
}
  /* Расположение изображений по сетке (по примеру скриншота) */

  /* 1 - большое фото сверху */
  .item--1,gallery-grid a:nth-child(10n) {
    grid-column: 1 / span 8;
    grid-row: 1 / span 2;

  }

  /* 2 - слева под большим фото */
  .item--2 {
    grid-column: 9 / span 4;
    grid-row: 1 / span 2;
  }

  /* 3 - справа от 2 */
  .item--3 {
    grid-column: 1 / span 4;
    grid-row: 3 / span 2;
  }

  /* 4 - справа от 3 */
  .item--4 {
        grid-column: 5 / span 8;
    grid-row: 3 / span 2;
  }

  /* 5 - под 2 и 3 */
  .item--5 {
        grid-column: 1 / span 8;
    grid-row: 5 / span 2;
  }

  /* 6 - справа от 5 */
  .item--6 {
    grid-column: 9 / span 4;
    grid-row: 5 / span 4;
  }

  /* 7 - под 5 и 6 */
  .item--7 {
    grid-column: 1 / span 4;
    grid-row: 7 / span 2;
  }

  /* 8 - справа от 7 */
  .item--8 {
    grid-column: 5 / span 4;
    grid-row: 7 / span 2;
  }

  /* 9 - справа от 8 */
  .item--9 {
        grid-column: 1 / span 4;
    grid-row: 9 / span 4;
  }

  /* 10 - под 7 */
  .item--10 {
    grid-column: 5 / span 8;
    grid-row: 9 / span 2;
  }

  /* 11 - справа от 10 */
  .item--11 {
        grid-column: 5 / span 4;
    grid-row: 11 / span 2;
  }

  /* 12 - справа от 11 */
  .item--12 {
        grid-column: 9 / span 4;
    grid-row: 11 / span 2;
  }

@media (max-width: 1200px) {
    .gallery-grid {

      grid-auto-rows: 120px;
    }
  }
@media (max-width: 580px) {
    .gallery-grid {

      grid-auto-rows: 50px;
    }
  }




    .pagination {
      display: flex;
      justify-content: center;
      margin-top: 20px;
    }

    .pagination a {
      display: flex;
      padding: 5px 10px;
      margin: 0;
border-radius: 4px;
      border: 1px solid #ccc;
      border-radius: 8px;
      text-decoration: none;
      color: #333;
       border: none;
    }
.page-link:focus{
    background-color: transparent;
    outline: 0;
    box-shadow: none;
}
.pagination li{
  border-radius: 8px;
overflow: hidden;
}
.pagination .page-link a:hover svg path{
  stroke: #fff!important;
}

    .pagination a:hover {
      background-color: var(--bg-accent-section);
     color: #fff;
    }
[data-theme="dark"] .pagination a,[data-theme="dark"] .page-item:hover .page-link,[data-theme="dark"] .page-item.disabled .page-link,[data-theme="dark"] .page-item.active .page-link{
   color: #E1E3E7; 
}
[data-theme="dark"] .page-item .page-link svg path{
  stroke: #E1E3E7;
}
[data-theme="dark"] .page-item .page-link{
  background: transparent;
}

    @media (max-width: 600px) {
      .container {
        padding: 0 15px;
        margin: 10px auto;
      }

      .search-bar {
        flex-direction: column;
        align-items: stretch;
      }

      .search-input {
        margin-bottom: 10px;
      }

      .search-button { margin-left: 0;}
    }

.manage-list{
        display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}
.manage-item {
    width: calc(33.333333% - 30px);
    margin: 0 15px;
    margin-bottom: 30px;
}
.manage-item__image img{
    width: 100%;
    height: 100%;
        object-fit: cover;
}
.manage-item__image{
    margin-bottom: 30px;
    border-radius: 20px;
    overflow: hidden;
    height: 600px;
    background-color: #C8C8C8;
}
.manage-item__name{
    font-size: 36px;
    line-height: 1.3;
    margin-bottom: 30px;
}
.fullscreen-menu-content .search-input-group form{
  border: none;
}
.search-menu .search-input-group form,.search-bar .search-input-group form{
border: 1px solid rgba(var(--text-primary));
}
.search-input-group form{
display: flex;
    gap: 0.5rem;

    padding: 10px;
    border-radius: 20px;
    width: 100%;
}

.page-search{
    margin: 50px 0 70px;
}

.search-bar {
      display: flex;
      align-items: center;
      margin-bottom: 20px;
    }
    .page-search-wrapper{
        max-width: 85%;
    }
    .search-bar .search-input-group{
        width: 100%;
    }
    .search-bar .form-control{
        border: none;
        padding: 0;
        padding-left: 20px;
        height: 58px;
    }

    .search-input {
      flex: 1;
      padding: 8px;
      border: 1px solid #ccc;
      border-radius: 4px;
    }

    .search-button {
      padding: 8px 12px;
      background-color: #007bff;
      color: #fff;
      border: none;
      border-radius: 4px;
      cursor: pointer;
      margin-left: 10px;
    }

    .results-count {
      font-size: 1em;
      color: var(--text-primary);
      margin-bottom: 15px;
    }
.results-text-notfound{
  font-size: 1.5em;
  font-weight: 600;
}
    .result-item {
      margin-bottom: 50px;
    }

    .result-item:last-child {
      border-bottom: none;
      margin-bottom: 0;
      padding-bottom: 0;
    }

    .result-number {
      font-size: 1.25em;
      color: var(--bg-accent);
      font-weight: 700;
      margin-right:20px;
      line-height: 1.2;
    }
    .result-item{
        display: flex;
    }

    .result-title {
      font-size: 1.5em;
      color: var(--bg-accent);
      text-decoration: none;
      font-weight: 700;
          line-height: 1.5;
          text-decoration: underline;
    }
[data-theme="dark"] .result-title,[data-theme="dark"] .result-number{
    color: #fff;
}

    .result-description {
      font-size: 1em;
      color: var(--text-primary);
      margin: 20px 0;
    }

    .result-links {
      margin-top: 10px;
    }

    .result-links a {
      font-size:  0.8125em;
      color: rgba(0,0,0,.5);
      text-decoration: none;
      margin-right: 25px;
      position: relative;
      text-decoration: underline;
    }
    .result-links a:before{
        content: '';
        position: absolute;
        top: 9px;
        right: -20px;
        width: 13px;
        height: 1px;
        background-color: rgba(0,0,0,.5);
    }
    .result-links a:last-child:before{
        content: none;
    }
    [data-theme="dark"] .result-links a{
    color: rgba(255,255,255,.7);
}
 [data-theme="dark"] .result-links a:before{
     background-color: rgba(255,255,255,.7);
 }



  /* Адаптив */

@media (max-width: 1700px){
	.footer-content{
     padding: 0px 40px;
}
}
@media (max-width: 1440px) {
  .page-banner__title{
    font-size: 2.5em;
  }
	.product-card {
    height: 310px;
}
.product__image {
    flex: 1 1 400px;
    max-width: 400px;
    height: 400px;
    border-radius: 30px;
    overflow: hidden;
}
.content-page .detail_picture{
height: 500px;
border-radius: 20px;
}

	.categories-section .sections-wrapper{
   margin-bottom: 0;
}
	.sections-wrapper{
    padding: 50px 0;

}
	.categories-section .sections-wrapper{
padding: 50px 50px;
}
	.item-list{
   gap: 20px;
}
	.categories-section .container{
  padding: 0;
}
	.news-section{
    flex-wrap: wrap;
}
  .fullscreen-menu-header .search-form{
    margin-left: 50px;
  }
  .fullscreen-menu-header .search-form{
    max-width: 500px;
  }
  .page-banner__image{
    height: 600px;
  }
  .content-page h2{
    font-size: 2em;
  }
	.contact-content .contact-info{
    padding-right: 3rem;
}
  .swiper-room{
    width: 450px;
    height: 300px;
  }
  .room-info{
    padding: 35px 35px;
    padding-left: 0;
  }
  .header-wrapper,.hero-wrapper{
    padding-left:15px;
    padding-right: 40px;
  }
  .accessibility-controls{
    margin-right: 10px;
  }
  #theme-toggle{
    right: -9px;
  }
	.main-nav{
   border-radius: 20px;
}
.manage-item__image{
    height: 400px;
}
.manage-item__name{
    font-size: 32px;
    line-height: 1.3;
    margin-bottom: 30px;
}

}


@media (max-width: 1200px) {
    .bottom-bottom__text{
        flex-wrap: wrap;
    }
    .page-title_inner{
        font-size: 2.5em;
    }
	.top-left{
    gap: 15px;
}
	.timeline-item{
    width: 200px;
}
	.timeline{
    left: 165px;
top: 135px;
}
	.timeline-dot{
    top: 30px;
}
	.event-content h3{
   font-size: 1.25em;
}
.event-image {
    width: 300px;
		height: 250px;
}
    .top-left a{
        font-size: 0.875em;
    }
    .hero{
        height: 600px;
    }
    .item-card-text{
        font-size: 1.7em;
    }
    .item-card{
        min-height: 300px;
    }
    .bottom-text__link,.bottom-text_develop{
        margin: 0 auto;
    }
    .banner-button{
        height: 40px;
    }
    .doc-list-col-2{
        grid-template-columns: repeat(1, 1fr);
        gap: 20px;
    }
    .bottom-text_develop{
        padding-left: 0;
    }
    .site-map .column{
        flex: 1 1 100%;
    }
    .site-map-wrap{
        flex-wrap: wrap;
    }
    .logo-title{
        font-size: 1.8em;
        padding-left: 40px;
    }
    .fullscreen-menu-toggle{
        gap: 10px;
    }
    .fullscreen-menu-toggle span{
        width: 50px;
    }
    .logo,.footer-logo{
        max-width: 130px;
    }
.item-list-coll-3 {
    grid-template-columns: repeat(2, 1fr);
}

    .section-title{
        font-size: 2.5em;
    }
    .products-title{
        font-size: 1.25em;
    }
    .timeline-year {
        font-size: 3em;
        min-width: 80px;
    }
    .timeline-line{
        top: 45px;
    }
    .timeline-sidebar{
        max-width: 260px;
    }
    .images-row.px-150{
        padding: 0;
    }
      .amenities{
         gap: 10px 25px;
         grid-template-columns: repeat(1, max-content);
    }
    .room-info h3{
        font-size: 1.5em;
    }
    .room-info p.description{
        font-size: 1em;
    }
    .parallax-layer img{
        object-fit: cover;
    }
    .parallax-layer:nth-child(2){
        padding: 0;
    }


}


@media (max-width: 1024px) {
    .contact-content {
        flex-direction: column;
    }
	.top-right{
    margin-right: 34px;
}
	.header-wrapper{
	padding-right: 15px;
}
	.results-text-notfound{
   font-size: 1em;
}
.breadcrumbs {
    padding: 10px 0 0 0;

}
 .footer{
        border-radius: 30px 30px 0 0;
        padding-top: 20px;
        padding-bottom: 10px;
    }
	.categories-section{
   margin-top: 50px;
}
	.item-card{
  border-radius: 30px;
}
	.news-date-time {
  font-size: 1.2em;
}
	.categories-section,.news-section,.parallax-container,.hero{
  border-radius: 30px;
}
.news-items {
		flex-wrap: wrap;
}
	.news-section{
   margin: 50px 0 30px;
}
	.contact-content .map-container, .contact-content .contact-info{
   width: 100%;
 }
	.contact-header .section-title{
   margin-bottom: 30px;
}
    .form-col{
        width: 100%;
        padding-right: 0;
    }
 .manage-item {
    width: calc(50% - 30px);

}
	.contact-section.inner-section{
   padding-top: 10px;
}
	.contact-item p{
  width: 100%;
}
    .timeline-sidebar{
        display: none;
    }
    .form-container{
        padding: 20px;
    }
	.contact-item p,.contact-item h3{
   font-size: 1em;
}
    .item-card{
        min-height: 250px;
    }
	.f-24{
  font-size: 1em;
}
	.banking-section{
   margin-top: 0;
    padding-top: 30px;
}

.contact-content{
   margin-bottom: 30px;
  gap: 2rem;
}

	.map-container p{
    margin-left: 0;
}
	.yandex-map{
   height: 400px;
}
	.bank-details h4{
  font-size: 1.25em;
margin-top: 20px;
}
	.banking-section h3{
   font-size: 1.5em;
  margin-bottom: 25px;
}
	.contact-item{
   margin-bottom: 20px;
        flex-direction: column;
}
	.gallery-grid a{
   border-radius: 20px;
}
	.gallery-grid{
   gap: 20px;
}
    .museum-sections {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .top-left{
        display: none;
    }
    .top-right{
        width: 100%;
    justify-content: flex-end;
    }
    .fullscreen-menu .column{
        width: 33.3333%;
    }
    .fullscreen-menu-content{
        padding: 40px;
    }
    
    .product-items {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 1.5rem;
    }
    .image-item img{
        height: 400px;
    }
    .museum-section h3,.fz-40{
        font-size: 1.25em;
    }
	.form-box .fz-40{
     font-size: 2em;
}
    .museum-info-title{
        font-size: 1.125em;
    }
    .museum-info h4,.form-wrapper input[type="text"], 
    .form-wrapper input[type="email"], 
    .form-wrapper select, 
    .form-wrapper textarea,
    .form-wrapper .form-label{
        font-size: 1em;
    }
    .form-wrapper .form-label{
        top: 30px;
    }
    .search-menu .fullscreen-menu-close {
    position: absolute;
    top: 20px;
		right: 20px;
      }

	.categories-section .sections-wrapper{
		padding: 40px 40px;
}
 .top-right{
      justify-content: flex-start;
    }
    .btn-border.accessibility-btn{
        position: absolute;
        right: 15px;
        width: 235px;
    }

}

.news-slider-mobile .news-item{
  padding-right: 30px;
}
@media (max-width: 768px) {
    .category-filters {
        gap: 0.5rem;
    }
	.simplebar-track.simplebar-horizontal{
    height: 2px;
}
	.sections-wrapper,.categories-section .sections-wrapper{
   padding: 20px 10px;
}
	.gallery-grid a{
       grid-column: 1 / span 12!important;
grid-row: auto!important;
}
	.breadcrumb{
    padding-bottom: 6px;
}
    .gallery-grid {
        grid-auto-rows: 220px;
    gap: 10px;
    }
    .header-wrapper, .hero-wrapper{
        padding-left: 15px;
        padding-right: 15px;
	}
	.site-logo .swiper-button-prev{
   left: 0;
}
	.timeline-year{
   font-size: 1.7em;
text-align: left;
}
	.site-logo .swiper-button-next{
   right: 0;
}
	.timeline-item{
   width: 160px;
}
	.footer-content{
    margin-bottom: 15px;
 }

	.site-logo img{
    height: 40px;
}
.site-logo .swiper-button-slider{
     width: 26px;
height: 26px;
top: 50%;
        transform: translateY(10px);
}
.swiper-button-slider:after {
    font-size: 10px;
}
	.site-logo__item{
     flex: none;
}
	.footer-content .site-logo{
   padding: 10px 0;
}
    .parallax-layer-img{
        margin-top: 5px;
	}.arrow-down-icon{
 display: block;
padding: 10px;
transition: .2s;
}
	.column.open .arrow-down-icon{
   transform: rotate(-180deg);
	}
.sections-wrapper .container{
   padding-left: 0;
padding-right: 0;
}
.item-list-coll-3 {
    grid-template-columns: repeat(1, 1fr);
}

	.footer-content{
padding: 0px 0;
}
    .search-form .search-input-group{
        padding: 5px;
    }
	.main-mobile--menu ul{
   display: none;
}
	.footer-content .site-logo{
    padding-left: 40px;
    padding-right: 40px;
}
    .fullscreen-menu-body .main-content {
            flex-direction: column;
        }
    .fullscreen-menu .fullscreen-menu-close{
        margin-right: 13px;
    }
    .search-form .form-control{
        font-size: 1em;
    }
    .search-form .form-control{
        padding: 0;
        padding-left: 15px;
    }
	.search-form .btn-accent{
      max-width: 110px;
font-weight: 500;
}
  
    .room-info{
        padding: 20px;
    }
    .fullscreen-menu  #modal-search-btn{
        max-width: 90px;
    }
    .fullscreen-menu-header{
        margin-bottom: 40px;
    }
  .manage-item {
    width: 100%;
   }
   .manage-item__name{
    font-size: 22px;
   }
.fullscreen-menu-header .search-form{
    max-width: 300px;
}
.search-form .search-input-group{
    height: 60px;
}
       .fullscreen-menu-body .column {
            width: 100%;
        }
	.fullscreen-menu-content .search-input-group form{
  height: 100%;
}
	.btn-accent{
   border-radius: 8px;
}
	.search-form .form-control{
   font-size: 14px;
}
	.fullscreen-menu-content .btn-accent svg{
	margin-right: 0;
}
	.fullscreen-menu-content  .search-form .btn-accent{
    max-width:  50px;

}
    .timeline {
        left: 132px;
        top: 100px;
    }
	.timeline-dot{
  width: 15px;
height: 15px;
top: 8px;
}
    .history-event__item{
        flex-direction: column;
        margin-bottom: 0;
        padding-left: 10px;
       margin-left: 0;
    }
	.search-input-group form{
      border-radius: 12px;
      padding: 5px;
   }
    .event-image{
        max-width: 400px;
        width: 100%;
    }
    .gallery-swiper,.image-item img,.grid-item img,.large-image img{
        border-radius: 20px;
    }
    .event-content{
        width: 100%;
    }
    .gallery-swiper .swiper-pagination-bullet{
        width: 15px;
        height: 15px;
    }
    .gallery-swiper .swiper-pagination{
        bottom: 10px;
    }
    .year-btn {
        font-size: 2em;
    }
    .gallery-thumbs .swiper-slide img{
        border-radius: 10px;
    }
    .image-gallery {
            margin: 50px auto 50px auto;
        }
    .logo-title{
        padding-left: 15px;
    }
    #theme-toggle{
        display: none;
    }
     .card {
      width: 100%;
    }
    .news-section {
      flex-direction: column;
      align-items: flex-start;
    }
    .section-title{
        font-size: 1.5em;
    }
    .intro-text,.site-map li a{
        font-size: 1em;
    }
    .site-map h2{
        font-size: 1.2em;
    }
    .news-items {
      flex-direction: column;
      gap: 10px;
      width: 100%;
    }
    .page-banner__image{
        height: 400px;
    }
    .content-page h2,{
        font-size: 1.25em;
    }
    .page-title_inner{
      font-size: 1.5em;
    }
    .content-page p{
        font-size: 1em;
    }

    .page-banner__image{
        margin-top: 30px;
        border-radius: 20px;
    }
    .item-card{
        border-radius: 20px;
    }
    .page-banner__title{
        padding-right: 0;
    }
    .page-banner p{
        font-size: 1em;
    }
    .inner-section{
        padding-top: 40px;
        padding-bottom: 40px;
    }
	.banner-button{
     position: relative;
        display: flex;
        max-width: 250px;
        margin-top: 20px;
      font-size: 14px;
}
	.catalog.inner-section{
    padding-top: 0;
}
    .item-list-coll-2{
       grid-template-columns: repeat(1, 1fr);;
    }
    .news-item {
      max-width: 100%;
    }
    .category-filters{
        margin-bottom: 30px;
    }

.category-btn {
        width: 100%;
		font-size: 14px;
			white-space: normal;
		padding: 0;
padding-bottom: 20px;
    }
    
    .product-items {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 1rem;
    }
	.category-swiper .swiper-slide{
  height: auto;
}
    
    .product-card {
        height: 270px;
    }
	.product-overlay p{
  margin-bottom: 20px;
}
	.pagination-wrapper nav{
   width: 100%;
}
	.pagination{
   margin-top: 20px;
}
	.catalog.inner-section{
    padding-bottom: 30px;
}
	.pagination .page-item{
    margin: 0 5px;
}
	.category-swiper:before, .category-swiper:after{
  width: 50px;
}
	.category-swiper .swiper-button-next,.category-swiper .swiper-button-prev{
     top: 25px;
}
	.category-swiper .swiper-wrapper{
   padding-left: 75px;
}
    .contact-details,
    .museum-section {
        padding: 0;
	}
	.product-items{
   margin-bottom: 10px;
}
	.pagination-wrapper{
   margin-top: 0;
}
    
    .yandex-map {
        height: 300px;
    }
    
    .images-row {
        grid-template-columns: 1fr;
    }
    
    .grid-row {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .gallery-swiper .swiper-slide img {
        height: 300px;
    }

    .gallery-thumbs .swiper-slide {
        height: 100px;
    }
    .fullscreen-menu-toggle{
        gap: 7px;
        padding: 0;
    }
    .fullscreen-menu-toggle span{
        width: 35px;
        height: 2px;
    }
    .main-nav{
        padding: 20px;
        border-radius: 10px;
    }
    .top-right .btn-border{
        height: 30px;
        flex: 0 0 165px;
        font-size: 0.75em;
        border-radius: 5px;
    }
    .logo{
        max-width: 90px;
    }
    .footer-logo{
        max-width: 118px;
    }
     .logo-title,.footer-logo__text,.content-page li{
        font-size: 1em;
    }
	.content-page ul{
    margin: 25px 0;
}
    .content-page ul li{
        padding-left: 30px;
     margin-bottom: 15px;
    }
	.content-page{
       margin-bottom: 40px;
}
    .content-page ol li{
        padding-left: 5px;
    }
    .content-page ul li:before{
        width: 20px;
     top: 12px;
    }
    .file-name{
        font-size: 0.875em;
    }
    .doc-card{
        padding: 12px 10px;
		flex-direction: column;
    align-items: flex-start;
    }

	.doc-card .right-section{
		font-size: 0.875em;
}
	.doc-card .left-section{
      padding-right: 50px;
     align-items: start;
margin-bottom: 5px;
}
	.doc-list-col-2{
      gap: 10px;
}
    .doc-card .download-link{
        margin-left: 0;
		position: absolute;
        right: 10px;
        top: 17px;
    }

    .bottom-text__link{
        flex-wrap: wrap;
    }
    .bottom-text__link a,.bottom-text__link p{
        width: 100%;
        text-align: left;
        margin-left: 0;
        margin-bottom: 5px;
    }
    .bottom-text_develop{
        margin-left: 0;
        margin-top: 25px;
    }
    .page-banner__title,.content-page h2,.item-card-text{
        font-size: 2em;
      }
      .tab{
        font-size: 0.875em;
      }
      .product__image {
            flex: 1 1 310px;
            max-width: 100%;
        }
        .image-gallery-wrapper, .gallery-thumbs-wrapper{
        padding: 0 20px;
    }
    .image-gallery-wrapper .swiper-button-prev{
        left: -13px;
    }
    .image-gallery-wrapper .swiper-button-next{
        right: -13px;
    }
    .fullscreen-menu-close{
        top: 20px;
        right: 20px;
        width: 30px;
        height: 30px;
    }
    .search-form__title{
        font-size: 2em;
        margin-bottom: 35px;
    }
    .search-form .search-input-group {
        gap: 1rem;
      border-radius: 10px;
       padding: 0;
    }
    .tab-slider-item{
        font-size: 0.875em;
    }
    .hero{
        height: 380px;
        border-radius: 10px;
        margin-top: 0;
        padding-top: 20px;
    }
	.parallax-container{
    border-radius: 10px;
margin-top: 15px;
}
    .parallax-layer{
        border-radius: 10px;
    }
    .parallax-layer img{
        margin-top: -20px;
    }
    .categories-section{
        border-radius: 20px;
        margin-top: 20px;
    }
    .card-img{
        height: 250px;
        border-radius: 10px;
    }
    .card img{
        border-radius: 10px; 
    }
    .categories-section .card-title{
        position: absolute;
        bottom: 12px;
        left: 20px;
        font-size: 1.25em;
        padding: 0;
        z-index: 1;
    }
    .categories-section .cards{
        gap: 10px;
    }
    .categories-section .cards:last-child{
        margin-bottom: 0;
    }
    .news-section{
        margin-top: 20px;
        border-radius: 10px;
        padding: 20px;
        margin: 20px 15px 20px 15px;
        position: relative;
    }
    .news-title{
        font-size: 1.5em;
    }
    .news-item{
       flex: 1 1 auto;
    }
    .news-items{
        padding-left: 0;
    }
    .news-item a{
        font-size: 1em;
    }

    	.search-icon-btn.header-btn{
		   padding: 8px;
		}
        .header-btn{
        height: 30px;
        width: 30px;
    	padding: 7px;
      border-radius: 5px;
    }
         .lang-selector .dropdown-toggle {
			font-size: 13px;
		}
      	.top-right{
			 margin-right: 0;
		}
	.btn-border.accessibility-btn{
     right: 0;
}
    
}
.news-slider-mobile-nav{
  position: absolute;
top: 40px;
    right: 5px;
    width: 115px;

}
.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{
  display: flex;
  opacity: .5;
}
@media (max-width: 578px) {
		.news-slider-mobile .swiper-button-slider{
		  display: flex;
			}

	.news-items.news-slider-mobile{
   	  flex: auto;
        flex-direction: unset;
      display: block;
	}
	.news-items.news-slider-mobile .news-item{
		 flex: none;
        margin-bottom: 0;
       padding-right: 0;
border-radius: 0;
   }
.news-section .news-slider-mobile-nav{
	display: block;
}
    .content-page .detail_picture {
        height: 250px;
        border-radius: 10px;
margin-bottom: 20px;
    }
	.sections-wrapper{
   margin-bottom: 50px;
padding-bottom: 0;
}

}



@media (max-width: 480px) {
    .category-filters {
        flex-direction: column;
        align-items: center;
    }
    .fullscreen-menu-content{
        padding: 20px;
    }
    .main-nav{
        padding: 10px 20px;
    }
	.btn-border.accessibility-btn{
    width: 175px;
}
 .page-banner__title,.content-page h2,.item-card-text{
        font-size: 1.5em;
      }
	.result-title{
	  font-size: 1.25em;
	}
	.item-news .item__image{
    height: 220px;
}
	.timeline{

   left: 87px;
}
	.event-image{
  height: 170px;
}
	.timeline-item{
   width: 115px;
}
	.history-event__item{
  padding-left: 7px;
}
	.inner-section.content-page{
   margin-top: 0;
}
	.room-card .swiper-container,.room-card .swiper-slide img{
  border-radius: 20px;
}
	.fullscreen-menu-body .column:nth-child(4) h3{
      margin-bottom: 25px;
}
	.fullscreen-menu-body .column:first-child h3{
   font-size: 1.25em;
	}
	.item-card-text{
   padding: 15px 20px 20px 20px;
}
	.item__title{
   font-size: 1.25em;
margin-bottom: 12px;
 }
  	.large-image img{
   height: 300px;
}
	.item-content{
   margin-top: 15px;
}
.item-card-date{
 font-size: 0.875em;
    padding: 6px 15px;
    top: 10px;
    left: 10px;

}
.info-right dt{
  margin-bottom: 10px;
margin-top: 17px;
}
	.item-news .item__image,.item-news .item__image img{
   border-radius: 20px;
}
	.socials-fullscreen-menu{
   margin-top: 40px;
}
	.page-search{
	margin-top: 10px;
}
.product-cart .swiper-tabs{
   padding-bottom: 17px;
height: 70px;
}
	.info-left dl{
    flex-direction: column;
    align-items: flex-start;
}
	.info-left dd{
   margin-left: 0;
}
  	.tabs-slider-container .tab-content{
   padding-bottom: 0;
}
	.tabs-slider-container .tab-content{
    padding-top: 0;
	} 
 .tab-content h3{ 
    font-size: 1.3em;
}
	.top-container{
   margin-bottom: 20px;
 }
	.search-input-group span{
   display: none;
}
	.fullscreen-menu .column{
   margin-bottom; 10px;
}

	.fullscreen-menu .column{
  margin-bottom: 10px;
}
	.dropdown-item{
    font-size: 13px;

}
	.lang-dropdown{
   min-width: 23px;
}
	.fullscreen-menu .column ul{
   margin-bottom: 0;
}
	.lang-selector .dropdown-item{
   padding: 3px 0;
 }
	.lang-selector .dropdown-menu{
   padding: 9px 0 0 0;
border-radius: 0 0 5px 5px;
overflow: hidden;
}
    .swiper-room{
        max-width: 100%;
        width: 100%;
        height: 250px;
    }
    .logo {
        height: 40px;
    }

    .room-card .swiper-button-prev,.room-card .swiper-button-next{
        width: 35px;
        height: 35px;
    }
    .room-card .swiper-button-next:after, .room-card .swiper-button-prev:after{
        font-size: 16px;
    }
    .fullscreen-menu-header .search-form{
        margin-left: 20px;
        margin-right: 20px;
        position: absolute;
        top: 90px;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0 15px;
        left: 0;
    }
    .fullscreen-menu-body{
        padding: 0;
       margin-top: 100px;
     flex: none;
    }
	.fullscreen-menu-body .column h4{
  font-size: 1em;
}
    .fullscreen-menu-body .column h3,.fullscreen-menu .column li{
        margin-bottom: 20px;
    }

	.fullscreen-menu-body .column h3{
                border-bottom: 1px solid transparent;
        padding-bottom: 14px;
        margin-bottom: 15px;
}
	.fullscreen-menu-body .column.open h3{
		border-color: rgba(255, 255, 255, .5);
}
    .fullscreen-menu #modal-search-btn{
        max-width: 50px;
    }
    .fullscreen-menu #modal-search-btn{
        font-size: 0.875em;
    }
    .card-img{
        height: 180px;
    }
    .hero{
        height: 240px;
        padding-top: 0;
    }
    .bottom-text__link{
        flex-direction: column-reverse;
       margin: 0;
    }

    #cookie-banner p{
        font-size: 0.875em;
        margin-bottom: 20px;
    }
	.room-info .description{
     margin-bottom: 20px;
   }
    .content-page h3{
        font-size: 1.4em;
    }
	.amenities{
      font-size: 1em;
    }
	.room-card{
      margin-bottom: 30px;
}
	.room-info h3{
		margin-bottom: 20px;
		}


    .product-items {
        grid-template-columns: 1fr;
    }
    
    .pagination {
        gap: 0.25rem;
    }
	.search-bar .btn-accent{font-size: 0;
    max-width: 50px;
    padding: 0;
}
	.page-search-wrapper{
   max-width: 100%;
 }
	.search-bar .btn-accent svg{
    margin-right: 0;
}
  	.doc-list.mt-7{
   margin-top: 25px;
}
	.search-bar .form-control{
    height: 50px;
}

    .page-link {
        width: 35px;
        height: 35px;
        font-size: 1.25em;
    }
    
    .page-text {
        padding: 0 1rem;
    }
    
    .grid-row {
        grid-template-columns: 1fr;
    }
    
    .gallery-swiper .swiper-slide img {
        height: 250px;
    }
    .year-btn {
        font-size: 1.5em;
    }

    .page-banner{
        margin-top: 30px;
    }
    .breadcrumb-item{
        font-size: 0.8125em;
    }

    .year-filter-container{
        padding: 15px 10px 0 10px;
    }
    .company-history{
        padding-top: 30px;
    }
    
    .event-content {
        padding: 1rem;
    }
    
    .event-content h3 {
        font-size: 1.2em;
        margin-bottom: 0.75rem;
    }
    
    .history-header .section-title {
        font-size: var(--font-size-xl);
    }
    
    
    
    .suggestion-tags {
        gap: 0.25rem;
    }
    
    .suggestion-tag {
        font-size: 12px;
        padding: 0.25rem 0.5rem;
    }
    #cookie-banner{
        padding: 15px 30px 15px 15px;
    }
    .product-info-mobile-title{
        display: block;
    }
    .product-info h2{
        display: none;
    }
    .info-left .accent-btn{
    margin-top: 10px;
    font-size: 0.875em;
    padding: 10px 15px;
  }
  .item-card {
      min-height: 200px;
    }
    .item-list{
        gap: 20px;
    }
	.categories-section .item-list{
    gap: 10px;
}
    .item-card-text{
        font-size: 1.25em;
    }
}

@media (max-width: 420px) {
	#cookie-banner .accept,#cookie-banner .reject{
     width: 100%;
}
    #cookie-banner {
        padding: 15px 15px 15px 15px;
    }
	#cookie-banner p{
   padding-right: 40px;
}
}

/* High Contrast Mode for Accessibility */
[data-accessibility="true"] {
    --gradient-start: rgba(0, 0, 0, 0.8);
    --gradient-end: rgba(0, 0, 0, 0.6);
}

[data-accessibility="true"] .service-overlay,
[data-accessibility="true"] .hero-overlay {
    background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
}

[data-accessibility="true"] .service-btn,
[data-accessibility="true"] .hero-btn {
    background: black;
    color: white;
    border: 2px solid black;
    font-weight: 700;
}

[data-accessibility="true"] .service-btn:hover,
[data-accessibility="true"] .hero-btn:hover {
    background: white;
    color: black;
}

/* Smooth scrolling and performance optimizations */
* {
    will-change: auto;
}

.hero-bg img,
.service-image img,
.news-image img {
    will-change: transform;
}

/* Focus indicators for keyboard navigation */
.nav-link:focus,
.accessibility-btn:focus,
.service-btn:focus,
.hero-btn:focus {
    outline: 2px solid rgb(var(--primary));
    outline-offset: 2px;
}

/* Print styles */
@media print {
    .header,
    .hero,
    .footer {
        display: none;
    }
    
    .services,
    .news {
        padding: 1rem 0;
    }
    
    .service-card,
    .news-item {
        break-inside: avoid;
        box-shadow: none;
        border: 1px solid #ccc;
    }
}
.cat-title br{
display:none;
}