body {
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	color: #666;
	font-size: 16px;
	line-height: 20px;
	width: 100%;
}
h1, h2, h3, h4, h5, h6, h7, h8, h9, h10, h11, h12, h14, h16, h17, h18, h19 {
	color: #444;
}
/* default font size */
.fa {
	font-size: 18px;
}
/* Override the bootstrap defaults */
h1 {
	font-size: 33px;
	color: #121212;
}
h2 {
	font-size: 30px;
	color: #121212;
	font-weight: bold;
}
h3 {
	font-size: 20px;
	color: #121212;
	
}
h4 {
	font-size: 15px;
}
h5 {
	font-size: 12px;
	color: #FFFFFF;
}
h6 {
	font-size: 12px;
	color: #095f6e;
}
h7 {
	font-size: 26px;
	color: #095f6e;
	font-weight: bold;
	
}
h8 {
	font-size: 16px;
	color: #121212;
	font-weight: normal;
}
h9 {
	font-size: 24px;
	color: #095f6e;
	font-weight: bold;

}
h10 {
	font-size: 28px;
	color: #121212;
	font-weight: bold;
}
h11 {
	font-size: 24px;
	color: #008000;
	font-weight: bold;
}
h12 {
	font-size: 16px;
	color: #008000;
}

h16 {
	font-size: 24px;
    font-weight: bold;
}
h17 {
	font-size: 14px;
	color: #095f6e;

	display: justify;
}
h18 {
	font-size: 30px;
	color: #095f6e;
	font-weight: bold;
	
}
h19 {
	font-size: 10px;
	color: #095f6e;
}
.video-container {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9; /* Sets the shape (adjust to 4/3 or 1/1 as needed) */
  overflow: hidden;    /* Ensures border-radius works on the video */
  margin-bottom: 10px;
}

.video-container video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;      
  height: 100%;        /* Change from auto to 100% to fill the container */
  object-fit: cover;   /* 'cover' prevents stretching; 'fill' will stretch the video */
  border-radius: 6px;
}
a {
	color: #121212;
}
a:hover {
	text-decoration: none;
	color: #0d889e;
}

.well {
	color: #121212;
	background: #e1ecee;
	border: 1px solid #e1ecee;
	
}
legend {
	font-size: 18px;
	padding: 7px 0px
}
label {
	font-size: 14px;
	font-weight: normal;
}
select.form-control, textarea.form-control, input[type="text"].form-control, input[type="password"].form-control, input[type="datetime"].form-control, input[type="datetime-local"].form-control, input[type="date"].form-control, input[type="month"].form-control, input[type="time"].form-control, input[type="week"].form-control, input[type="number"].form-control, input[type="email"].form-control, input[type="url"].form-control, input[type="search"].form-control, input[type="tel"].form-control, input[type="color"].form-control {
	font-size: 14px;
	border: 1px solid #e1ecee;
}
.input-group input, .input-group select, .input-group .dropdown-menu, .input-group .popover {
	color: #074e5b;
	background-image: none;
	box-shadow: none;
	text-shadow: none;	
	min-height: 37px;
	border-color: #e1ecee;
	
}
.input-group .input-group-addon .btn {
	color: #095f6e;
	background-color: #e1ecee;
	border-color: #e1ecee;
	font-size: 14px;
	height: 30px;
}
.vertical-number-input {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  width: auto; /* Change from 20px to auto */
  text-align: center;
}

.number-field {
  width: 45px; /* Ensure this is wide enough for the digits */
  display: inline-block; 
  appearance: none; 
  -moz-appearance: textfield;
}

.up-button, .down-button {
    width: 44px; /* Optimal touch target for 2026 standards */
    height: 44px;
    cursor: pointer;
    background-color: #f4f4f4; /* Subtle neutral background */
    border: 1px solid #095f6e;
    border-radius: 6px;
    font-size: 20px;
    font-weight: bold;
    color: #095f6e;
    
    /* Center the symbols (+/-) */
    display: flex;
    align-items: center;
    justify-content: center;
    
    /* Smooth transition for hover/active states */
    transition: all 0.2s ease-in-out;
    user-select: none; /* Prevents text selection on rapid clicking */
}

/* Hover effect: Subtle color shift */
.up-button:hover, .down-button:hover {
    background-color: #095f6e;
    color: #ffffff;
}

/* Active effect: Physical "press" feedback */
.up-button:active, .down-button:active {
    transform: scale(0.95);
    background-color: #074a56;
}

/* Disabled state (e.g., when quantity is 0) */
.up-button:disabled, .down-button:disabled {
    background-color: #e0e0e0;
    border-color: #ccc;
    color: #999;
    cursor: not-allowed;
}
/* 1. Remove default arrows (spinners) across all browsers */
.number-field::-webkit-outer-spin-button,
.number-field::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.number-field {
  -moz-appearance: textfield; /* Firefox specific */
  appearance: none;           /* 2026 standard */
  
  /* 2. Visual Styling */
  width: 50px; 
  height: 44px; /* Matches modern 2026 touch target button height */
  border: 1px solid #095f6e;
  border-left: none;  /* Connects cleanly to buttons if they are adjacent */
  border-right: none; 
  background-color: #ffffff;
  
  /* 3. Text Alignment */
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  color: #095f6e;
  
  /* 4. Functional settings */
  outline: none;
  padding: 0;
}

/* Optional: Subtle highlight when the user focuses on the row */
.vertical-number-input:focus-within .number-field {
  background-color: #f0f7f8;
}

/* Ensure outer container also flows horizontally */
.bulk-add-item-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 15px;
  padding-bottom: 5px;
}

.nav-tabs {
	margin-bottom: 15px;
}
div.required .control-label:before {
	content: '* ';
	color: #F00;
	font-weight: bold;
}
/* Gradent to all drop down menus */
.dropdown-menu li > a:hover {
	text-decoration: none;
	color: #095f6e;
	background-color: #095f6e;
}

/* top */
#top {
    display: flex;
justify-content: center;
    background-color: #095f6e;
    border-bottom: 3px solid #ff0000;
    padding: 4px 0;
    margin: 0 auto;
    min-height: 40px;
    font-size: 19px;
    max-width: 1570px;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

#top #form-currency .currency-select,
#top #form-language .language-select {
    text-align: left;
}

#top #form-currency .currency-select:hover,
#top #form-language .language-select:hover {
    text-shadow: none;
    color: #ffffff; /* Поменял на белый, чтобы текст был виден при наведении */
    background-color: #074e5b; /* Сделал чуть темнее для акцента */
}

#top .btn-link, 
#top-links li, 
#top-links a {
    color: #FFFFFF;
    text-shadow: none;
    text-decoration: none;
    background-color: transparent; /* Убрал фиксированный цвет, чтобы не перекрывал фон родителя */
    transition: color 0.3s ease; /* Добавил плавности */
}

#top .btn-link:hover, 
#top-links a:hover {
    color: #e1ecee;
}

#top-links .dropdown-menu a {
    color: #074e5b;
    text-shadow: none;
    background-color: #FFFFFF;	
}

#top-links .dropdown-menu a:hover {
    color: #FFFFFF;
    background-color: #095f6e;
}

#top .btn-link strong {
    font-size: 14px;
    line-height: 14px;
}

#top-links {
    padding-top: 6px;
}

#top-links a + a {
    margin-left: 15px;
}

/* logo */
#logo {
    margin: 0 auto 10px auto; /* Centers horizontally: top/bottom margin 0/10px, left/right auto */
    max-height: 50px;
    max-width: 268px;
    display: block; /* Ensures margin: auto; works correctly */
}
#logo h1 {
	font-size: 28px;
	margin-bottom: 20px;
	margin-top: -5px;
}
/* search */
#search {


}
#search .input-lg {
	height: 41px;
	line-height: 20px;
	padding: 0 10px;
    border: 1px solid #095f6e;
}
#search .btn-lg {
	border: 1px solid #095f6e;
	background-color: #095f6e;
	background-image: none;
	font-size: 15px;
	color: #FFFFFF;
	line-height: 18px;
	padding: 10px 35px;
	transition: 0.3s;

}
#search .btn-lg:hover {
	border: 1px solid #095f6e;
	background-color: #e1ecee;
	background-image: none;
	font-size: 15px;
	color: #095f6e;
	line-height: 18px;
	padding: 10px 35px;
	box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
	
}
/* cart */
#cart {
	margin-bottom: 10px;
	margin-top: 10px;
}
#cart > .btn {
	font-size: 14px;
	line-height: 18px;
	color: #FFF;
	background-image: none;
	background-color: #095f6e;
	border: 1px solid #095f6e;
	transition: 0.3s;
}
#cart > .btn:hover {
	font-size: 14px;
	line-height: 18px;
	color: #095f6e;
	background-image: none;
	background-color: #e1ecee;
	border: 1px solid #e1ecee;
}
#cart.open > .btn {
	background-image: none;
	background-color: #e1ecee;
	border: 1px solid #e1ecee;
	color: #095f6e;
	box-shadow: none;
	text-shadow: none;
}
#cart.open > .btn:hover {
	color: #095f6e;
}
#cart .dropdown-menu {
	background: #fff;
	z-index: 1001;
	font-size: 14px;
	
}
#cart .dropdown-menu {
	min-width: 100%;
}
@media (max-width: 478px) {
	#cart .dropdown-menu {
		width: 100%;
		
	}
}
#cart .dropdown-menu table {
	margin-bottom: 10px;

}
#cart .dropdown-menu li > div {
	min-width: 427px;
	padding: 0 10px;
	
}
@media (max-width: 478px) {
	#cart .dropdown-menu li > div {
		min-width: 100%;
			
	}
}
#cart .dropdown-menu li p {
	margin: 20px 0;
}
/* menu */
#menu {
	background-color: transparent; /* Было #095f6e */
    min-height: 40px;
    padding-top: 20px;
	
}
#menu .nav > li > a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 10px; /* Одинаково со всех сторон */
    min-height: 15px;
    margin-bottom: 10px;
    margin-right: 10px;
    color: #000000;
    font-weight: bold;
    font-size: clamp(14px, 1vw, 18px);
    white-space: nowrap;
    line-height: 1; /* Помогает точнее центровать текст по вертикали */
    background-color: transparent;
    border: 2px solid #e2e2e2;
    border-radius: 50px;
    text-decoration: none; /* Убирает подчеркивание ссылки */
    transition: all 0.3s ease; /* Плавность при наведении */
    transition: transform 0.2s ease, border-color 0.2s ease;
}
#menu .nav > li > a:hover, #menu .nav > li.open > a {
	 border-color: #FF0000;
    transform: scale(1.1); /* Увеличение на 10% */
    z-index: 1; /* Чтобы увеличенная кнопка была поверх соседей */

	
}
#menu .dropdown-menu {
	border-color: #e1ecee;
	border-top-right-radius: 5px;
	border-top-left-radius: 5px;
	position: absolute;
	transition: all .5s ease;
	margin-top:-3px;
	
}
#menu .dropdown-inner {
	display: table;
	margin: 10px 10px 10px 10px;
	
}
#menu .dropdown-inner ul {
	display: table-cell;
	
}
#menu .dropdown-inner a {
	display: flex;
	padding: 5px 5px 5px 5px;
	color: #000000;
	font-size: 14px;
	text-align-last: center;
	text-align: center;
	border-radius: 5px;
}
#menu .dropdown-inner li a:hover {
	color: #000000;
	background-color: #e1ecee;
	border-radius: 5px;
	transition: all .5s ease;
	
}
#menu .see-all {
	display: block;
	margin-top: 0.5em;
	border-top: 1px solid #DDD;
	padding: 3px 20px;
	-webkit-border-radius: 0 0 4px 4px;
	-moz-border-radius: 0 0 4px 4px;
	border-radius: 0 0 3px 3px;
	font-size: 12px;
}
#menu .see-all:hover, #menu .see-all:focus {
	text-decoration: none;
	color: #ffffff;
	background-color: rgba(0, 0, 0, 0.1);
	background-image: linear-gradient(to bottom, #095f6e, #1f90bb);
	background-repeat: repeat-x;
}
#menu #category {
	float: left;
	padding-left: 15px;
	font-size: 16px;
	font-weight: 700;
	line-height: 40px;
	color: #fff;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
}
#menu .btn-navbar {
	font-size: 15px;
	font-stretch: expanded;
	color: #FFF;
	padding: 2px 18px;
	float: right;
	background-color: #095f6e;

}
#menu .btn-navbar:hover, #menu .btn-navbar:focus, #menu .btn-navbar:active, #menu .btn-navbar.disabled, #menu .btn-navbar[disabled] {
	color: #ffffff;
	background-color: #095f6e;
}
@media (min-width: 768px) {
	#menu .dropdown:hover .dropdown-menu {
		display: block;
	}
}
@media (max-width: 767px) {
	#menu {
		border-radius: 4px;
		display: none;
	}
	#menu div.dropdown-inner > ul.list-unstyled {
		display: table;
		background: #FFFFFF;
		float: right;
	}
	#menu div.dropdown-menu {
		margin-left: 0 !important;
		background: #FFFFFF;
	}
	#menu .dropdown-inner {
		display: block;
		background: #FFFFFF;

	}
	#menu .dropdown-inner a {
		color: #095f6e;
		width: 100%;
	}
	#menu .dropdown-menu a:hover,
	#menu .dropdown-menu ul li a:hover {
		background: rgba(0, 0, 0, 0.1);
	}
	#menu .see-all {
		margin-top: 0;
		border: none;
		border-radius: 0;
		color: #fff;
	}
}
@media (min-width: 768px) {
    #menu .navbar-nav {
        float: none;           /* Убираем обтекание слева */
        text-align: center;    /* Центрируем содержимое */
        width: 100%;           /* Растягиваем на всю ширину */
    }

    #menu .nav > li {
        float: none;           /* Убираем стандартное прижатие влево */
        display: inline-block; /* Выстраиваем в ряд и разрешаем центрирование */
        vertical-align: top;
    }

    /* Исправляем выравнивание текста в выпадающем меню (чтобы не наследовало центр) */
    #menu .dropdown-menu {
        text-align: left;
    }
}
.sidenav {
  height: 100%;
  width: 0;
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  background-color: #FFFFFF;
  overflow-x: hidden;
  transition: 0.5s;
  padding-top: 60px;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
  
}

.sidenav a {
  padding: 8px 8px 8px 32px;
  text-decoration: none;
  font-size: 23px;
  color: #095f6e;
  display: flex; /* 1. Use flexbox on the anchor tag */
  align-items: center; /* 2. Center content vertically */
  transition: 0.3s;
  border-bottom: 1px solid #e1ecee;
  /* vertical align center is achieved by the two lines above */
}

.sidenav a:hover {
  color: #095f6e;
    border: none;
	background-color: none;
	border-bottom: 1px solid #e1ecee;
}

.sidenav .closebtn {
  position: absolute;
  top: 0;
  right: 25px;
  font-size: 36px;
  margin-left: 50px;
}

@media screen and (max-height: 450px) {
  .sidenav {padding-top: 15px;}
  .sidenav a {font-size: 18px;}
}
/* content */
#content {
	min-height: 600px;
	color: #444;
}
.table{
    border:0px solid #e1ecee;
	background-color: #FFFFFF;
	border-radius: 4px;
	padding: 15px;
}
table.table-bordered {
	border:1px solid #e1ecee;
	background-color: #FFFFFF;
}
table.table-bordered .thead .tr. .th .colspan {
	border:1px solid #e1ecee;
	background-color: #FFFFFF;
}
table.table-bordered .tbody .tr. .td {
	border:1px solid #e1ecee;
	background-color: #FFFFFF;
}
	
table.table-bordered .text-left {
    border:1px solid #e1ecee;
 

}
.table-hover tbody tr:hover td, .table-hover tbody tr:hover th {
  background-color: #edf4f5;
}
table.table-bordered .text-right {
	border:1px solid #e1ecee;
	white-space: nowrap;
}
table.table-bordered .text-center {
	border:1px solid #e1ecee;
}
table.table-bordered .quantity-cart {
	border:1px solid #e1ecee;
	text-align: center;
}
/* footer */
footer {
	margin-top: 30px;
	padding-top: 30px;
	background-color: #e1ecee;
	border-top: 0px solid #095f70;
	color: #e1e1e1;
	max-width: 1570px;
	border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    text-align: left;

    /* Optional: Center the entire #top element on the page if the screen is wider than 1600px */
    margin-left: auto;
    margin-right: auto;
    display: block; /* Ensures margin auto works */
}
footer hr {
	border-top: none;
	border-bottom: 0px solid #666;
}
footer a {
	color: #095f70;
}
footer a:hover {
	color: #0d889e;
}
footer h5 {
	font-family: 'Open Sans', sans-serif;
	font-size: 18px;
	font-weight: bold;
	color: #095f70;
}	
footer h6 {
	font-family: 'Open Sans', sans-serif;
	font-size: 14px;
	color: #095f6e;
	text-align: center;
	}
}
/* alert */
.alert {
	padding: 8px 14px 8px 14px;
}
.alert-success.alert-dismissible {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    min-width: 300px;
    background-color: #e1ecee; /* Стандартный цвет OpenCart */
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    border: 0px solid #095f6e;
    border-radius: 4px;
    
    /* Используем одну общую анимацию */
    animation: alertCycle 5s ease-in-out forwards;
}

@keyframes alertCycle {
    0% { opacity: 0; transform: translateX(50px); }          /* Появление справа */
    10% { opacity: 1; transform: translateX(0); }           /* Задержка в видимом состоянии */
    90% { opacity: 1; transform: translateX(0); }           
    100% { opacity: 0; transform: translateX(50px); pointer-events: none; } /* Уход вправо и отключение кликов */
}

/* Мобильная адаптация */
@media (max-width: 767px) {
    .alert-success.alert-dismissible {
        left: 10px;
        right: 10px;
        top: 10px;
        min-width: auto;
    }
}
/* breadcrumb */
.breadcrumb {
	margin: 0 0 20px 0;
	padding: 8px 0;
	border: 1px solid #ddd;
	display: none;
}
.breadcrumb i {
	font-size: 15px;
}
.breadcrumb > li {
	text-shadow: 0 1px 0 #FFF;
	padding: 0 20px;
	position: relative;
	white-space: nowrap;
}
.breadcrumb > li + li:before {
	content: '';
	padding: 0;
}
.breadcrumb > li:after {
	content: '';
	display: block;
	position: absolute;
	top: -3px;
	right: -5px;
	width: 26px;
	height: 26px;
	border-right: 1px solid #DDD;
	border-bottom: 1px solid #DDD;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.pagination {
	font-size: 12px;
	border-radius: 4px;
  }
  .pagination li {
 border: none;
  }
  .pagination li:hover {
    border: none;
  }
  .pagination>li>a, .pagination>li>span{
    font-size: 14px;
    color: #666;
    border: none;
    float: none;
    background-color: #fff;
    line-height: 100%;
    padding: 8px 10px;
	border-radius: 4px;
  }
  .pagination li.active span {
    color: #fff;
    float: none;
    border: none; 
    border-radius: 4px;
  }
  .pagination li:hover a {
    color: #FF0000;
    border: none;
	background-color: #e1ecee;
  }
  .pagination li:first-child a {
    color: #666;

  }
  .pagination li:last-child a {
    color: #666;

  }
  .pagination li:first-child a:hover {

  }
  .pagination li:last-child a:hover {
  }
  .pagination>li>a:focus, .pagination>li>a:hover, .pagination>li>span:focus, .pagination>li>span:hover {
    color: #666;
    border: none;
  }
  .pagination>.active{
    background-color: #095f6e;
  }
  .pagination>.active>a, .pagination>.active>a:focus, .pagination>.active>a:hover, .pagination>.active>span, .pagination>.active>span:focus, .pagination>.active>span:hover {
    background-color: #095f6e;
  }
/* buttons */
.buttons {
	margin: 1em 0;
}
.btn {
	padding: 7.5px 12px;
	font-size: 12px;
	border: 1px solid #095f6e;
	border-radius: 50px;
	min-width: 60px;
	min-height: 40px;
		
}
.btn-pricelist {
	color: #FFFFFF;	
	background-color: #FF0000;
	border-color: #FF0000;
    font-size: 14px;
	min-width: 263px;
	min-height: 40px;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	transition: 0.3s;
}
.btn-xs {
	font-size: 9px;
}
.btn-sm {
	font-size: 10.2px;
}
.btn-lg {
	padding: 10px 16px;
	font-size: 15px;
}
.btn-group > .btn, .btn-group > .dropdown-menu, .btn-group > .popover {
	font-size: 12px;
}
.btn-group > .btn-xs {
	font-size: 9px;
}
.btn-group > .btn-sm {
	font-size: 10.2px;
}
.btn-group > .btn-lg {
	font-size: 15px;
}

.btn-default {
    color: #ffffff;    
    background-color: #095f6e;
    border-color: #095f6e;
    font-size: 14px;
    transition: 0.3s;
    
}

.btn-default:hover, 
.btn-default:active, 
.btn-default.active, 
.btn-default.disabled, 
.btn-default[disabled] {
    color: #095f6e;
    background-color: #e1ecee;
    border-color: #e1ecee;
    box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}
.btn-category {
	color: #ffffff;	
	background-color: #095f6e;
	border-color: #095f6e;
    font-size: 14px;
	margin-top: 5px;
	margin-bottom: 5px;
}
.btn-category:hover, .btn-category:active, .btn-category.active, .btn-category.disabled, .btn-category[disabled] {
	background-color: #e1ecee;
	border-color: #095f6e;
	color: #095f6e;
    box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}
.btn-primary {
	color: #ffffff;	
	background-color: #095f6e;
	border-color: #095f6e;
    font-size: 16px;
	transition: 0.3s;
	padding-bottom: 10px;

}
.btn-primary:hover, .btn-primary:active, .btn-primary.active, .btn-primary.disabled, .btn-primary[disabled] {
	background-color: #e1ecee;
	border-color: #e1ecee;
	color: #095f6e;
    box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}
.btn-table {
	color: #095f6e;	
	background-color: #FFFFFF;
	border-color: #e1ecee;
    font-size: 16px;
	border-color: #e1ecee;
	transition: 0.3s;
	
}
.btn-phone {
	color: #095f6e;	
	background-color: transparent;
	border-color: transparent;
    font-size: 20px;
	transition: 0.3s;
	transform: scale(2);
}
.btn-phone:hover {
	background-color: transparent;
	border-color: transparent;
	color: #095f6e;
	transition: 0.3s;
    transform: scale(2.1);
}
.btn-table:hover,  .btn-table:active, .btn-table.disabled, .btn-table[disabled] {
	background-color: #e1ecee;
	border-color: #e1ecee;
	color: #095f6e;
}
.btn-table-checked, .btn-table-checked:hover {
	color: #FFFFFF;	
	background-color: #095f6e;
	border-color: #e1ecee;
    font-size: 14px;
}
.input-form {
	pointer-events: none;
	height: 40px;
	border-top: none;
	border-bottom: none;
	border-left: none;
	border-right: none;
	text-align: center;

}
.input-button-minus {
	min-width: 30px;
    height: 40px;
	font-weight: bold;
	background-color: #FFFFFF;
	border-top: 1px solid;
	border-bottom: 1px solid;
	border-left: 1px solid;
	border-right: none;
	border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
    margin-right: -5px;

}	
.input-button-minus:hover {

}
.input-button-plus {
	min-width: 30px;
    height: 40px;
	font-weight: bold;
	background-color: #FFFFFF;
	border-top: 1px solid;
	border-bottom: 1px solid;
	border-left: 0px solid;
	border-right: 1px solid;
	border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
	margin-left: -5px;

}
.input-button-plus:hover {

}

.btn-warning {
	color: #ffffff;
	background-color: #faa732;
    border-color: #faa732

}
.btn-warning:hover {
	color: #ffffff;
	background-color: #faa732;
    border-color: #faa732
}
.btn-warning:hover, .btn-warning:active, .btn-warning.active, .btn-warning.disabled, .btn-warning[disabled] {
	color: #ffffff;
	background-color: #faa732;
	
}
.btn-danger {
	color: #ffffff;
	background-color: #FF0000;
	border-color: #FF0000;
    font-size: 14px;

}
.btn-danger:hover, .btn-danger:active, .btn-danger.active, .btn-danger.disabled, .btn-danger[disabled] {
	box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}
.btn-success {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #5bb75b;
	background-image: linear-gradient(to bottom, #62c462, #51a351);
	background-repeat: repeat-x;
	border-color: #51a351 #51a351 #387038;
}
.btn-success:hover, .btn-success:active, .btn-success.active, .btn-success.disabled, .btn-success[disabled] {
	box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}
.btn-info {
	color: #ffffff;	
	background-color: #095f6e;
	border-color: #095f6e;
    font-size: 14px;
}
.btn-info:hover {
    background-color: #e1ecee;
	border-color: #095f6e;
	color: #095f6e;
    box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}
.btn-link {
	border-color: rgba(0, 0, 0, 0.1);
	cursor: pointer;
	color: #095f6e;
	border-radius: 0;
	
}
.btn-link, .btn-link:active, .btn-link[disabled] {
	background-color: rgba(0, 0, 0, 0);
	background-image: none;
	box-shadow: none;
}
.btn-inverse {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #FF0000;
	border-color: #FF0000;
	border-radius: 50px;
}
.btn-inverse:hover, .btn-inverse:active, .btn-inverse.active, .btn-inverse.disabled, .btn-inverse[disabled] {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #FF0000;
	border-color: #FF0000;
	 box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
	 
}

/* list group */
.list-group a {
	color: #095f6e;
	border: 1px solid #e1ecee;
}
.list-group a.active, .list-group a.active:hover, .list-group a:hover {
	color: #095f6e;
	background: #e1ecee;
}
/* carousel */
.carousel-caption {
	color: #FFFFFF;
	text-shadow: 0 1px 0 #000000;
}
.carousel-control .icon-prev:before {
	content: '\f053';
	font-family: FontAwesome;
}
.carousel-control .icon-next:before {
	content: '\f054';
	font-family: FontAwesome;
}
/* filter panel */
.filter-panel {
	color: #095f6e;
	border-radius:4px;
	background: #e1ecee;
	padding: 15px;
}
/* filter content */
.filter-content {
	color: #095f6e;
	border-radius:4px;
	margin-top:10px;
	margin-bottom:10px;
}
/* filter buttons */
.btn-filter {
	color: #095f6e;	
	background-color: #FFFFFF;
	border-color: #095f6e;
    font-size: 14px;
	margin-bottom:5px;
	border-radius:25px;
}
.btn-filter:hover {
    color: #FFFFFF;	
	background-color: #095f6e;
	border-color: #095f6e;
    font-size: 14px;
	margin-bottom:5px;
}
.btn-filter-checked {
	color: #FFFFFF;	
	background-color: #095f6e;
	border-color: #e1ecee;
    font-size: 14px;
	margin-bottom:5px;
	border-radius:25px;
}
.btn-filter-checked:hover {
	color: #FFFFFF;	
	background-color: #095f6e;
	border-color: #e1ecee;
    font-size: 14px;
}
/* product list */
.product-thumb {
	border: 1px solid #e1ecee;
	margin-bottom: 20px;
	border-radius: 4px;


}
.product-thumb:hover {
	border: 1px solid #e1ecee;
	margin-bottom: 20px;
	border-radius: 4px;
transition: .3s ease;
  transform: scale(1.05);
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
}
.product-thumb .image {
	text-align: center;

}
.product-thumb .image a {

}
.product-thumb .image a:hover {

}
.product-thumb .image img {
    width:100%;
    height:100%;
	border: 1px solid #FFFFFF;
	border-radius: 4px;

}
.product-grid .product-thumb .image {
	float: inline;
}
@media (min-width: 767px) {
.product-list .product-thumb .image {
	float: left;
	padding: 0 5px;
}
}
.product-thumb h4 {
	font-weight: normal;
	font-size: 16px;
}
.product-thumb .caption {
    bottom: 10px;       /* Adjust vertical position (e.g., 20px from the bottom) */
    left: 50%;        /* Centers the text horizontally */
    background-color: none; /* Optional: semi-transparent background for readability */
    padding: 5px 5px 10px 10px; /* Optional: spacing around the text */
    font-size: clamp(14px, 1.5vw, 18px);
    text-align: center; /* Ensures text inside the span is centered */
    width: 100%;         /* Optional: constrain text width */
	white-space: nowrap;       /* Prevents the text from wrapping to a new line */
    overflow: hidden;          /* Hides any text that overflows the container width */
    text-overflow: ellipsis;   /* Displays "..." for the clipped text */

}
.product-list .product-thumb .caption {
	margin-left: 230px;
}
@media (max-width: 1200px) {
.product-grid .product-thumb .caption {
	min-height: 210px;
	padding: 0 10px;
}
}
@media (max-width: 767px) {
.product-list .product-thumb .caption {
	min-height: 0;
	margin-left: 10px;
	padding: 0 0px;
}
.product-grid .product-thumb .caption {
	min-height: 0;
}
}
.product-thumb .rating {
	padding-bottom: 10px;
	text-align: right;
}
.rating .fa-stack {
	font-size: 8px;
}
.rating .fa-star-o {
	color: #999;
	font-size: 15px;
}
.rating .fa-star {
	color: #FC0;
	font-size: 15px;
}
.rating .fa-star + .fa-star-o {
	color: #E69500;
}
h2.price {
	margin: 10px;
}
.product-thumb .price {
	font-weight: bold;
	font-size: clamp(18px, 2.5vw, 24px);
	padding-right:2px;
	text-align: center;
	white-space: nowrap;
	
}
.product-thumb .price-new {
	font-weight: 600;
}
.product-thumb .price-old {
	color: #999;
	text-decoration: line-through;
	margin-left: 10px;
}
.product-thumb .price-tax {
	color: #999;
	font-size: 14px;
	display: block;
}
.product-thumb .button-group {
	padding: 5px;
	background-color: #FFFFFF;
	overflow: auto;


}
.product-list .product-thumb .button-group {

}
@media (max-width: 768px) {
	.product-list .product-thumb .button-group {
		border-left: none;
	}
}
.product-thumb .button-group button {
	width: 100%;
	border: none;
	display: inline-block;
	float: left;
	background-color: #095f6e;
	color: #FFFFFF;
	line-height: 38px;
	font-weight: bold;
	text-align: center;
	text-transform: uppercase;
	border-radius: 4px;
	transition: 0.3s;
}
.product-thumb .button-group button + button {
	width: 20%;
	border-left: 1px solid #e1ecee;
	border-radius: 4px;

}
.product-thumb .button-group button:hover {
	color: #095f6e;
	background-color: #e1ecee;
	text-decoration: none;
	cursor: pointer;
	box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
	border-radius: 4px;
}
@media (max-width: 1200px) {
	.product-thumb .button-group button, .product-thumb .button-group button + button {
		width: 100%;
	}
}
@media (max-width: 767px) {
	.product-thumb .button-group button, .product-thumb .button-group button + button {
		width: 100%;
	}
}
.thumbnail {
	border: none;
display: inline-block;
}
.thumbnail-main {
display: inline-block;
	border: 1px solid #e1ecee;
	border-radius: 4px;
	margin-bottom: 5px;
}
.thumbnail img {
	border: 1px solid #e1ecee;
	border-radius: 4px;
	opacity: 1;
  transition: .5s ease;

}
.thumbnail :hover {
border: 1px solid #e1ecee;

}
.thumbnails {
	overflow: auto;
	clear: both;
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
    justify-content: center;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
	
}
.thumbnails > li {
	margin-left: 0px;
}
.thumbnails {
	margin-left: 0px;
}
.thumbnails > img {
	width: 100%;
	
	

}
.image-additional a {
	margin-bottom: 5px;
	display: block;
}
.image-additional img {
	border: 1px solid #e1ecee;
	border-radius: 4px;
}


.thumbnails .image-additional {
    margin-left: 1px; 
    margin-right: 1px;
}


@media (min-width: 1200px) {
	#content .col-lg-2:nth-child(6n+1),
	#content .col-lg-3:nth-child(4n+1),
	#content .col-lg-4:nth-child(3n+1),
	#content .col-lg-6:nth-child(2n+1) {
		clear:none;
		
	}
}
@media (min-width: 992px) and (max-width: 1199px) {
	#content .col-md-2:nth-child(6n+1),
	#content .col-md-3:nth-child(4n+1),
	#content .col-md-4:nth-child(3n+1),
	#content .col-md-6:nth-child(2n+1) {
		clear:none;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	#content .col-sm-2:nth-child(6n+1),
	#content .col-sm-3:nth-child(4n+1),
	#content .col-sm-4:nth-child(3n+1),
	#content .col-sm-6:nth-child(2n+1) {
		clear:none;
	}
}

/* fixed colum left + content + right*/
@media (min-width: 768px) {
    #column-left  .product-layout .col-md-3 {
       width: 100%;
    }

	#column-left + #content .product-layout .col-md-3 {
       width: 50%;
    }

	#column-left + #content + #column-right .product-layout .col-md-3 {
       width: 100%;
    }

    #content + #column-right .product-layout .col-md-3 {
       width: 100%;
    }
}

/* fixed product layouts used in left and right columns */
#column-left .product-layout, #column-right .product-layout {
	width: 100%;
}

/* fixed mobile cart quantity input */
.input-group .form-control[name^=quantity] {
	min-width: 50px;
}

/* Missing focus and border color to overwrite bootstrap */
.btn-info:hover, .btn-info:active, .btn-info.active, .btn-info.disabled, .btn-info[disabled] {
    background-image: none;
    background-color: #df5c39;
}
.navbar-nav > li > .dropdown-menu {
    display: block; /* Override the bootstrap display: none */
    height: 0;
    opacity: 0;
    overflow: hidden;
    transition: all 0.1s ease;
    -webkit-transition: all 0.1s ease;
    visibility: hidden;
    top: 200%;
}
#menu .dropdown:hover .dropdown-menu {
    height: auto;
    opacity: 1;
    visibility: visible;
    top: 100%;
}
.product-info-wrapper {
    display: flex;             /* Turns on Flexbox for this container */
    align-items: flex-start;   /* Aligns items vertically to the top */
    gap: 15px;                 /* Adds space between the image and the text block */
}

.product-details-text {
    display: flex;             /* Turns on Flexbox for the text container */
    flex-direction: column;    /* Stacks text items vertically */
	flex-grow: 1;
    min-width: 0;
}
.col-xs-3 {
    width: calc(25% - 2px); /* 25% минус margin-left (1px) и margin-right (1px) */
    margin: 1px;
    padding: 5px;             /* Обнуляем стандартные паддинги Bootstrap */
    float: left;
    position: relative;
    min-height: 1px;
    box-sizing: border-box; /* Гарантирует, что размеры считаются точно */
}

/* 1. Make the parent link the positioning context */
.banner-overlay-container {
    position: relative;
    display: block; /* Ensures the link takes up the full width of the image */
    text-decoration: none; /* Optional: removes underline from the link */
	transition: .3s ease, box-shadow .3s ease, transform .3s ease;
	 border-radius: 4px;
	 width: 100%;
}
.banner-overlay-container:hover {	
  transform: scale(1.05);
   box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);

}
.banner-overlay-container.active {
    outline: 3px solid #095f6e; outline-offset: -1px;
    border-radius: 6px;
    
}



/* 2. Style the text overlay */
.banner-text-overlay {
    position: absolute;
    bottom: 10px;
    left: 0;
    width: 100%;
    display: block;
    box-sizing: border-box;
    padding: 0.5em;
    text-align: center;
    color: #095f6e;
    font-weight: bold;
    font-size: clamp(12px, 1vw, 24px); /* Заменил cqw на vw для стабильности, если контейнер не query-parent */
    line-height: 1.2;
    overflow-wrap: anywhere;
    hyphens: auto;
    z-index: 2;
}

/* Ensure the image fills the container */
.banner-overlay-container img {
    display: block;
    width: 100%;
	padding-bottom: 40px;
    height: auto;
	border: 2px solid #095f6e;
	border-radius: 6px; 
}

/* Кнопка открытия (стили из прошлого ответа) */
.map-toggle-button {
    background-color: none;

    padding: 10px 15px;
    border: none;
    cursor: pointer;
    font-size: 16px;
    border-radius: 4px;
}

/* Затемненный фон модального окна (Оверлей) */
.map-modal-overlay {
    display: none; /* Скрыто по умолчанию */
    position: fixed; /* Фиксирует на экране, "течет сверху" */
    z-index: 1000; /* Самый высокий уровень, поверх всего */
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7); /* Черный полупрозрачный фон */
    justify-content: center; /* Центрирует содержимое по горизонтали */
    align-items: center; /* Центрирует содержимое по вертикали */
}

/* Контейнер самого виджета/карты */
.map-modal-content {
    background-color: #e1ecee;
    padding: 1px;
    border: 1px solid #095f6e;
    width: 100%; /* Адаптивная ширина */
    max-width: 600px; /* Максимальный размер */
    border-radius: 5px;
    position: relative;
}

/* Кнопка закрытия (крестик) */
.close-button {
    color: #095f6e;
    float: right;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
    position: absolute;
    right: 10px;
    top: 5px;
	z-index: 20; 
}

.close-button:hover,
.close-button:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
}
hr {
    border: none; /* Убираем стандартную рамку */
    height: 1px; /* Задаем толщину линии */
    background-color: #095f6e; /* Задаем цвет линии */
	margin: 20px 0;
}
.video-responsive-wrapper {
    position: relative;
    /* Соотношение сторон для вертикального видео (500/333 ~ 1.5). 
       Вычисляем процент: (Height / Width) * 100% = (500 / 333) * 100% = ~150% */
    padding-top: 150%; 
    height: 0;
	 border: 0px solid #095f6e;
    width: 100%; /* Адаптивная ширина */
    max-width: 600px; /* Максимальный размер */
    border-radius: 5px;
    overflow: hidden;
    max-width: 100%; /* Гарантирует, что контейнер не выйдет за пределы родителя */
}

.video-responsive-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Удаляем прописанные в оригинальном коде width и height, 
       ими теперь управляет CSS */
}
.whatsapp-button {
    background-color: #25D366; /* WhatsApp brand color */
    color: white;
    padding: 10px 20px;
    border-radius: 5px;
    text-decoration: none; /* Removes the default underline from links */
    display: inline-flex; /* Aligns content (like an icon and text) nicely */
    align-items: center;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.whatsapp-button:hover {
    background-color: #128C7E; /* A slightly darker green on hover */
	color: white;
}
.accordion {
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	font-family:  Montserrat;
}

.accordion-item {
	margin-bottom: 15px;
	border: 0px solid #e1ecee;
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 0 10px rgba(225, 236, 238);
}

.accordion-input {
	display: none;
}

.accordion-title {
	display: block;
	padding: 15px;
	cursor: pointer;
	font-size: 19px;
	
}

.accordion-title:hover {
	
}

.accordion-title::after {
	content: '+';
	float: right;
	
}

.accordion-content {
	max-height: 0;
	padding: 0 15px;
	overflow: hidden;
	transition: max-height 0.3s ease-out;
	background: white;
}

.accordion-input:checked ~ .accordion-content {
	max-height: 500px;
	padding: 15px;
}

.accordion-input:checked ~ .accordion-title {
	background: #e1ecee;
}

.accordion-input:checked ~ .accordion-title::after {
	content: '-';
}
 /* --- НОВЫЙ КОНТЕЙНЕР ДЛЯ РАСПОЛОЖЕНИЯ БЛОКОВ РЯДОМ --- */
        .container-bani {
            display: flex;             /* Активирует горизонтальный макет */
            justify-content: center;   /* Центрирует два блока внутри контейнера */
            gap: 20px;                 /* Добавляет пространство между двумя блоками */
            margin: 20px auto;
        }

        /* --- Стили для отдельных карточек (изменены для лучшей интеграции) --- */
        .feature-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 30px 15px;
    background-color: #e1ecee; 
    border-radius: 4px;       
    text-align: center;      
    font-family: Montserrat;
}

        .feature-icon {
            width: 60px; 
            height: auto;
            margin-bottom: 15px; /* Отступ между иконкой и тексто
			
			м */
        }

        .feature-text {
            font-size: 16px;
            margin: 0;
            padding: 0;
        }
		
		@media (max-width: 768px) {
    .container-bani {
        flex-direction: column; /* Меняем направление на вертикальное (колонкой) */
        gap: 15px;              /* Можно уменьшить отступ между вертикальными блоками */
        padding: 0 15px;        /* Добавляем немного горизонтального отступа по краям экрана */
    }
}
/* Контейнер */
.container-galery {
    display: flex;
    justify-content: center;
    flex-wrap: wrap; /* Allows items to move to the next line after the 4th item */
    gap: 20px;
    margin: 10px auto;
    padding: 0 10px;
    max-width: 1200px; /* Optional: keeps the gallery from becoming too wide */
}

.feature-box-galery {
    position: relative;
    /* (100% / 4 items) - gap adjustment */
    flex: 1 1 calc(25% - 20px); 
    max-width: 280px; 
    height: 220px;
    border-radius: 4px; 
    overflow: hidden;
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease; 
}


.feature-photo-galery {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


.overlay-text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;   
    display: flex;
    align-items: center;
    justify-content: center;
    

    background: rgba(0, 0, 0, 0.3); 

   
    color: white;
    font-family: Montserrat;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    padding: 20px;
    box-sizing: border-box;
    transition: background 0.3s ease;
}


.feature-box-galery:hover {
    transform: scale(1.05);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
    z-index: 2; 
}

.feature-box-galery:hover .overlay-text {
    background: rgba(0, 0, 0, 0.5);
}

/* Мобильная версия */
@media (max-width: 768px) {
    .container-galery {
        flex-direction: row;      /* Оставляем ряд */
        flex-wrap: wrap;          /* Разрешаем перенос на новую строку */
        justify-content: center;  /* Центрируем, если карточек нечетное число */
        gap: 10px;                /* Уменьшаем отступ для мобильных */
		
    }

    .feature-box-galery {
        /* Вычитаем gap из ширины: (100% - 10px) / 2 */
        flex: 0 0 calc(50% - 10px); 
        max-width: 50%; 
        height: 160px;            /* Немного уменьшаем высоту для компактности */
    }

    .overlay-text {
        font-size: 14px;          /* Уменьшаем шрифт, чтобы текст не вылезал */
        padding: 10px;
    }
}
.announcement-bar {
    background-color: #ff0000;
    color: #FFFFFF;
    text-align: center;
    /* Уменьшаем padding-top, так как ниже добавлена безопасная зона */
    padding: 5px 10px; 
    
    /* ДИНАМИЧЕСКИЙ ШРИФТ: от 12px до 18px в зависимости от ширины экрана */
    font-size: clamp(14px, 1.5vw, 18px); 
    
    font-weight: bold;
    width: 100%;
    box-sizing: border-box;
    
    /* Учет "челок" смартфонов в 2026 году */
    padding-top: calc(5px + env(safe-area-inset-top)); 
    line-height: 1.2;
}

.announcement-bar span {
    display: inline-block;
    max-width: 100%;
    
    /* Позволяем тексту переноситься, если он длинный, 
       ЛИБО оставляем одну строку с многоточием */
    white-space: normal; /* Измените на nowrap, если строго нужна одна строка */
    overflow: hidden;
    text-overflow: ellipsis;
}
.red-banner {
    background-color: red; /* Sets the background to red */
    color: white;         /* Sets the text color to white for readability */
    padding: 10px;        /* Adds space around the text */
    text-align: center;   /* Centers the text within the banner */
    font-weight: bold;    /* Makes the text bold */
    width: 100%;          /* Ensures the banner spans the full width */
    box-sizing: border-box; /* Ensures padding is included in the width calculation */
    border-radius: 4px;
}
.container-fluid {
    max-width: 1600px; 
    margin-left: auto;
    margin-right: auto;
}


/* Стилизация поиска под ваш цвет #095f6e */
#search .input-lg {
    height: 45px;
    border-radius: 25px 0 0 25px;
    border: 2px solid #e2e2e2;
    padding-left: 20px;
    transition: all 0.3s;
    margin-bottom: 10px;
}

#search .input-lg:focus {
    border-color: #095f6e !important;
    outline: none;
}

#search .btn-lg {
    height: 45px;
    border-radius: 0 25px 25px 0;
    background-color: #095f6e !important;
    border: 2px solid #095f6e !important;
    color: #fff !important;
    padding: 0 25px;
    margin-bottom: 10px;
}

#search .btn-lg:hover {
    background-color: #0b788a !important;
}
.fence-section-large {
  max-width: 900px;
  margin: 0 auto;
  font-family: "Segoe UI", Roboto, sans-serif;
  line-height: 1.4;
  color: #222;
  padding: 40px 20px;
}

.main-title { color: #095f6e; font-size: 42px; font-weight: 800; margin-bottom: 20px; }
.intro-text { font-size: 24px; font-weight: 600; margin-bottom: 25px; }

.highlight-box {
  border-left: 6px solid #095f6e;
  background: rgba(9, 95, 110, 0.07);
  padding: 25px;
  margin: 25px 0;
}

.free-visit { font-size: 26px; color: #095f6e; font-weight: 700; margin: 0 0 8px 0; }
.sub-text { font-size: 18px; margin: 0; opacity: 0.8; }
.quality-text { font-size: 22px; margin: 25px 0; }
.adv-title { font-size: 28px; color: #095f6e; margin-bottom: 15px; }

.adv-list { list-style: none; padding: 0; }
.adv-list li { font-size: 20px; margin-bottom: 12px; display: flex; align-items: flex-start; }
.adv-list li::before { content: "—"; color: #095f6e; font-weight: bold; margin-right: 10px; }

.button-container { text-align: center; margin-top: 10px; }
.btn-cta-large {
  display: inline-block;
  background-color: #095f6e;
  color: #fff !important;
  padding: 20px 40px;
  text-decoration: none;
  border-radius: 10px;
  font-size: 24px;
  font-weight: 700;
  transition: 0.3s;
  box-shadow: 0 8px 15px rgba(9, 95, 110, 0.2);
}
 .mobile-phone-link {
  display: inline-block;
  font-size: 22px;
  font-weight: bold;
  color: #095f6e;
  text-decoration: none;
}
.bottom-align-col {
    display: flex;
    flex-direction: column;
    justify-content: flex-end; 
    min-height: 70px;
}
.bottom-align-col-search {
    display: flex;
    flex-direction: column;
    justify-content: flex-end; 
    min-height: 80px;
}
   .header-buttons {
      margin-top: 26px;
    }
/* --- АДАПТИВ ПОД МОБИЛЬНЫЕ (до 768px) --- */
@media (max-width: 768px) {
  .main-title { font-size: 28px; margin-bottom: 15px; }
  .intro-text { font-size: 18px; }
  
  .free-visit { font-size: 20px; }
  .sub-text { font-size: 15px; }
  .highlight-box { padding: 15px; margin: 20px 0; }
  
  .quality-text { font-size: 17px; }
  .adv-title { font-size: 22px; }
  .adv-list li { font-size: 16px; }
  
  .btn-cta-large {
    font-size: 18px;
    padding: 16px 20px;
    width: 100%; /* Кнопка на всю ширину для удобства нажатия пальцем */
    box-sizing: border-box;
  }
   /* Стили для мобильной адаптации */
  @media (max-width: 767px) {
    .text-center-mobile { text-align: center !important; }
    .inline-block-mobile { display: inline-block !important; }
    
    .mobile-phone-link {
      display: block;
      font-size: 22px;
      font-weight: bold;
      color: #095f6e;
      padding: 25px 0 5px 0;
      text-decoration: none;
    }
    .bottom-align-col {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
    #logo { margin-bottom: 15px; }
    
    /* Делаем кнопки прайса и корзины в одну линию на мобильных */
    .header-buttons {
margin-top: 5px;
      margin-bottom: 10px;
    }
 @media (max-width: 767px) {
    /* Сбрасываем позиционирование контейнера, чтобы меню центрировалось по экрану */
    #cart {
        position: static !important;
    }

    #cart .dropdown-menu {
        width: 95vw; /* Чуть меньше ширины экрана для зазоров */
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%); /* Идеальное центрирование */
        
        margin-top: 10px;
        max-height: 70vh; 
        overflow-y: auto;
        box-shadow: 0 10px 25px rgba(0,0,0,0.2);
        border-radius: 8px; /* Скругляем углы для современного вида */
    }
    
    .cart-dropdown-adjust {
        min-width: 100% !important;
    }
    .ct_phone_1 {
    display: inactive !important;
}
}