
/* Блокировка прокрутки основного сайта при открытом окне */
body.age-gate-locked {
  overflow: hidden !important;
  height: 100vh !important;
  touch-action: none !important; /* Блокировка свайпов на iOS/Android */
}

/* Полупрозрачная полноэкранная подложка */
.age-gate-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.88); /* Прозрачность фона (от 0.0 до 1.0) */
  z-index: 2147483647; /* Максимально возможный z-index в браузерах */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
  backdrop-filter: blur(4px); /* Эффект размытия заднего плана */
}

/* Белое модальное окно */
.age-gate-modal {
  background-color: #ffffff;
  padding: 32px 24px;
  border-radius: 12px;
  max-width: 440px;
  width: 100%;
  text-align: center;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
  box-sizing: border-box;
}

/* Заголовок */
.age-gate-title {
  margin: 0 0 12px 0;
  font-size: 22px;
  font-weight: 700;
  color: #111111;
  line-height: 1.3;
}

/* Текст с предупреждением */
.age-gate-text {
  margin: 0 0 24px 0;
  font-size: 15px;
  color: #555555;
  line-height: 1.5;
}

/* Кнопки */
.age-gate-buttons {
  display: flex;
  gap: 12px;
  flex-direction: column;
}

/* Адаптируем кнопки под ПК (в одну строчку) */
@media (min-width: 480px) {
  .age-gate-buttons {
    flex-direction: row;
  }
}

.age-gate-btn {
  flex: 1;
  padding: 14px 18px;
  font-size: 15px;
  font-weight: 600;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.1s ease;
  -webkit-tap-highlight-color: transparent;
}

.age-gate-btn:active {
  transform: scale(0.98);
}

/* Кнопка "Мне есть 18 лет" */
.age-gate-btn-confirm {
  background-color: #eb2d50; /* Зелёная */
  color: #ffffff;
}

.age-gate-btn-confirm:hover {
  background-color: #eb2d50;
}

/* Кнопка "Покинуть сайт" */
.age-gate-btn-decline {
  background-color: #e0e0e0; /* Серый фон */
  color: #333333;
}

.age-gate-btn-decline:hover {
  background-color: #d6d6d6;
}






html body {
font-family: 'Montserrat';
font-weight: 500;
font-size: 14px;
line-height: 24px;
background-color: #0e0e0e;
color: #eee;
}

img {
    max-width:100%;
    height:auto;
    border:0;
}

@media (min-width: 276px) {

h1 {
font-family: 'Montserrat';
font-weight: 700;
color: #E5E5E5;
font-size: 20px;
line-height: 20px;
}

h2 {
font-family: 'Montserrat';
font-weight: 700;
color: #E5E5E5;
font-size: 18px;
}

h3 {
font-family: 'Montserrat';
font-weight: 700;
color: #E5E5E5;
font-size: 16px;
}
}


@media (min-width: 768px) {

h1 {
font-family: 'Montserrat';
font-weight: 800;
color: #E5E5E5;
font-size: 24px;
line-height: 34px;
}

h2 {
font-family: 'Montserrat';
font-weight: 800;
color: #E5E5E5;
font-size: 24px;
}

h3 {
font-family: 'Montserrat';
font-weight: 800;
color: #E5E5E5;
font-size: 22px;
}

h4 {
font-family: 'Montserrat';
font-weight: 800;
color: #E5E5E5;
font-size: 16px;
}

h5 {
font-family: 'Montserrat';
font-weight: 800;
color: #E5E5E5;
font-size: 16px;
}

h6 {
font-family: 'Montserrat';
font-weight: 600;
color: #E5E5E5;
font-size: 16px;
}
}


@media (min-width: 1400px) {

h1 {
font-family: 'Montserrat';
font-weight: 800;
color: #E5E5E5;
font-size: 30px;
line-height: 34px;
}

h2 {
font-family: 'Montserrat';
font-weight: 800;
color: #E5E5E5;
font-size: 24px;
}

h3 {
font-family: 'Montserrat';
font-weight: 800;
color: #E5E5E5;
font-size: 22px;
}

h4 {
font-family: 'Montserrat';
font-weight: 800;
color: #E5E5E5;
font-size: 16px;
}

h5 {
font-family: 'Montserrat';
font-weight: 800;
color: #E5E5E5;
font-size: 16px;
}

h6 {
font-family: 'Montserrat';
font-weight: 600;
color: #E5E5E5;
font-size: 16px;
}

}

hr {
	border: solid #ee2d52;
	border-width: 3px 0 0;
	width: 50px;
	margin: 30px 0 30px;
	height: 0;
	clear: both;
	text-align: left;
	-moz-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
	-webkit-transition: all 0.5s ease-in-out;
	-ms-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}

.themed-grid-col {
  padding-top: 1rem;
  padding-bottom: 1rem;
  background-color: #f2f2f2;
  border: 1px solid #e2e2e2;
}

.themed-container {
  padding: .4rem;
  margin-bottom: 1rem;
}

div.gy-2 div.content-box,
div.gy-2 div.content-box p,
div.gy-2 div.content-box ul,
div.gy-2 div.content-box ol {
	color: #dcd5d6!important;
	line-height: 24px;
}

blockquote {
font-family: 'Montserrat';
color: #fff;
font-weight: 400;
font-size: 14px;
padding: 2px 16px;
background-color: #eb2d50;
border: 2px solid #333;
border-radius: 10px;
width: 100%;
}

div.content-box p a {
	color: #eb2d50;
}


div.content-box div.box-doc {
margin-bottom: 20px;	
}

div.content-box div.box-doc div.box {
	height: 100%;
	border: 2px solid #222;
	border-radius: 10px;
	padding: 20px 30px;
-moz-box-sizing: border-box; /* Для Firefox */
-webkit-box-sizing: border-box; /* Для Safari и Chrome */
box-sizing: border-box; /* Для IE и Opera */
box-shadow: 0 4px 10px rgba(0, 0, 0, 5%);
font-family: 'Montserrat';
font-weight: 400;
color: #e2e2e2;
font-size: 14px;
background-color: #111;
text-decoration: none;
}

div.content-box div.box-doc div.box:hover {
	height: 100%;
	border: 2px solid #3d3d3d;
	border-radius: 10px;
	padding: 20px 30px;
-moz-box-sizing: border-box; /* Для Firefox */
-webkit-box-sizing: border-box; /* Для Safari и Chrome */
box-sizing: border-box; /* Для IE и Opera */
box-shadow: 0 4px 10px rgba(0, 0, 0, 9%);
}

div.content-box div.box-doc div.box a {
	color: #ddd;
}


/********************************* Header ************************************/

div.header-line {
	border-bottom: 1px solid #222;
}

div.header-line div.box {
	margin: 10px 0px;
}

div.header-logo {
font-family: 'Montserrat';
font-weight: 300;
color: #e2e2e2;
font-size: 13px;
line-height: 14px;
}

div.header-adress {
font-family: 'Montserrat';
font-weight: 300;
color: #e2e2e2;
font-size: 13px;
line-height: 15px;
}

div.header-feedback a {
font-family: 'Montserrat';
color: #eb2d50;
font-weight: 600;
font-size: 13px;
padding: 10px 16px;
background-color: #0e0e0e;
border: 2px solid #eb2d50;
width: auto!important;
border-radius: 50px;
cursor: pointer;
text-decoration: none;
}

div.header-feedback a:hover {
font-family: 'Montserrat';
color: #fff;
font-weight: 600;
font-size: 13px;
padding: 10px 16px;
background-color: #eb2d50;
border: 2px solid #eb2d50;
width: auto!important;
border-radius: 50px;
cursor: pointer;
text-decoration: none;	
}

div.header-phone {
	line-height: 18px;
	text-align: right;
}

@media (min-width: 268px) {

div.header-phone a {
font-family: 'Montserrat';
font-weight: 600;
color: #e2e2e2;
font-size: 13px;
text-decoration: none;
}

div.header-cart {
	text-align: left;
}

}

@media (min-width: 768px) {

div.header-phone a {
font-family: 'Montserrat';
font-weight: 700;
color: #e2e2e2;
font-size: 18px;
text-decoration: none;
}

div.header-cart {
	text-align: right;
}

}

@media (min-width: 1400px) {

div.header-phone a {
font-family: 'Montserrat';
font-weight: 700;
color: #e2e2e2;
font-size: 18px;
text-decoration: none;
}

div.header-cart {
	text-align: right;
}

}

div.header-phone {
font-family: 'Montserrat';
font-weight: 300;
color: #e2e2e2;
font-size: 13px;
line-height: 20px;
}

div.header-menu {
	text-align: right;
}

div.header-menu div.menu-btn {
cursor: pointer;
}

div.header-menu div.menu-btn:hover {
  opacity: 0.6;
}

div.header-cart div#cart-info {
background-image: url(../images/cart.svg);
background-position: left;
background-repeat: no-repeat;
height: 40px;
width: 35px;
display: inline-block;
text-align: right;	
}

div.header-cart div#cart-info span#cart_small_goods {
font-family: 'Montserrat';
font-weight: 500;
color: #fff;
font-size: 13px;
display: inline-block;
width: 23px;
height: 23px;
text-align: center;
border-radius: 50px;
background-color: #0e0e0e;
border: 1px solid #999;
line-height: 20px;
}

div.header-cart div#cart-info span#cart_small_goods:hover {
background-color: #0e0e0e;
border: 1px solid #eb2d50;
color: #eb2d50;
}

div.header-cart div#watchlist-info {
background-image: url(../images/favorite.svg);
background-position: left;
background-repeat: no-repeat;
height: 40px;
width: 35px;
display: inline-block;
text-align: right;	
}

div.header-cart div#watchlist-info span.catalog-watchlist-count {
font-family: 'Montserrat';
font-weight: 500;
color: #fff;
font-size: 13px;
display: inline-block;
width: 23px;
height: 23px;
text-align: center;
border-radius: 50px;
background-color: #0e0e0e;
border: 1px solid #999;
line-height: 20px;
}

div.header-cart div#watchlist-info span.catalog-watchlist-count:hover {
background-color: #0e0e0e;
border: 1px solid #eb2d50;
color: #eb2d50;
}


/************************** Search box ****************************/


.search-text {
font-family: 'Rubik';
font-weight: 400;
color: #999;
font-size: 12px;
line-height: 13px;
}

.search-form table {
background-color: #111;
border: 1px solid #222;
border-radius: 4px;
}

.search-form input.query {
	width: 100%;
	padding: 10px;
	padding-left: 10px;
	background-color: #111;
font-family: 'Montserrat';
font-weight: 500;
color: #fff;
font-size: 14px;
border:0px;
cursor: text;
}

.search-form input#button {
	border: 0px;
	background-color: transparent;
	background-image: url(../images/search_ico_active.png);
	background-position: center;
	background-repeat: no-repeat;
	width: 40px;
	height: 32px;
	padding: 0px;
	margin: 0px;
	color: #fff;
	cursor: pointer;
}

.search-form input#button:hover {
	border: 0px;
	background-image: url(../images/search_ico.png);
	background-position: center;
	background-repeat: no-repeat;
}



/********************************** Index image+text ******************************************/


@media (min-width: 220px) {

div.top-bg {
background-image: url(../images/bg.jpg);
background-position: center;
background-repeat: no-repeat;
background-size: contain;
padding: 5px 0px 10px 0px;
}

div.top-box {
padding: 5px 0px 10px 0px;	
}

div p.pop {
color: #f2f2f2;
font-family: 'Montserrat';
font-weight: 700;
font-size: 22px;
padding: 20px 0px 20px 0px;
}

div p.pop span {
color: #ee2d52;
}

div.top-image h1 span {
	color: #ee2d52;
	font-size: 30px;
	font-weight: 800;
	font-family: 'Montserrat';
	line-height: 34px;
}

}


@media (min-width: 768px) {

div.top-bg {
background-image: url(../images/bg.jpg);
background-position: center;
background-repeat: no-repeat;
background-size: contain;
padding: 20px 0px 50px 0px;
}

div.top-box {
padding: 20px 0px 50px 0px;
}

div p.pop {
color: #f2f2f2;
font-family: 'Montserrat';
font-weight: 700;
font-size: 22px;
padding: 20px 0px 20px 0px;
}

div p.pop span {
color: #ee2d52;	
}

div.top-image h1 span {
	color: #ee2d52;
	font-size: 50px;
	font-weight: 800;
	font-family: 'Montserrat';
}

}

/********************************** Index Catalog Box ******************************************/


div.cat-index-box div.box {
height: 100%;
border-radius: 15px;
padding-bottom: 10px;
	height: 100%;
	border: 2px solid #222;
	border-radius: 10px;
font-family: 'Montserrat';
font-weight: 400;
color: #e2e2e2;
font-size: 14px;
background-color: #111;
}

div.cat-index-box div.box:hover {
height: 100%;
border-radius: 15px;
padding-bottom: 10px;
	height: 100%;
	border: 2px solid #3d3d3d;
	border-radius: 10px;
font-family: 'Montserrat';
font-weight: 400;
color: #e2e2e2;
font-size: 14px;
background-color: #111;
}

div.cat-index-1,
div.cat-index-2,
div.cat-index-3,
div.cat-index-4,
div.cat-index-5,
div.cat-index-6,
div.cat-index-7,
div.cat-index-8,
div.cat-index-9 {
	margin-bottom: 30px;
}

div.cat-index-1 a div {
height: 200px;
background-image: url(../images/cat/cat-1.jpg);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
border-top-left-radius: 15px;
border-top-right-radius: 15px;
}

div.cat-index-2 a div {
height: 200px;
background-image: url(../images/cat/cat-2.jpg);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
border-top-left-radius: 15px;
border-top-right-radius: 15px;
}

div.cat-index-3 a div {
height: 200px;
background-image: url(../images/cat/cat-3.jpg);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
border-top-left-radius: 15px;
border-top-right-radius: 15px;
}

div.cat-index-4 a div {
height: 200px;
background-image: url(../images/cat/cat-4.jpg);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
border-top-left-radius: 15px;
border-top-right-radius: 15px;
}

div.cat-index-5 a div {
height: 200px;
background-image: url(../images/cat/cat-5.jpg);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
border-top-left-radius: 15px;
border-top-right-radius: 15px;
}

div.cat-index-6 a div {
height: 200px;
background-image: url(../images/cat/cat-6.jpg);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
border-top-left-radius: 15px;
border-top-right-radius: 15px;
}

div.cat-index-7 a div {
height: 200px;
background-image: url(../images/cat/cat-7.jpg);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
border-top-left-radius: 15px;
border-top-right-radius: 15px;
}

div.cat-index-8 a div {
height: 200px;
background-image: url(../images/cat/cat-8.jpg);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
border-top-left-radius: 15px;
border-top-right-radius: 15px;
}

div.cat-index-9 a div {
height: 200px;
background-image: url(../images/cat/cat-9.jpg);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
border-top-left-radius: 15px;
border-top-right-radius: 15px;
}

div.cat-index-box p {
padding: 0px 25px;
}

div.cat-index-box p a {
font-family: 'Montserrat';
font-weight: 600;
color: #fff;
font-size: 18px;
text-decoration: none;
}

div.cat-index-box div.box p a {
  transition: color 0.3s ease;
}

div.cat-index-box:hover p a {
	color: #ee2d52;
}


/********************************** Service Box ****************************************/


div.service-box-bg {
background-image: url(../images/bg.jpg);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
padding-top: 50px;
padding-bottom: 30px;
}

div.service-box,
div.service-box-2 {
margin-bottom: 20px;	
}

div.service-box div.box {
	height: 100%;
	border: 2px solid #222;
	border-radius: 10px;
	padding: 20px 30px;
-moz-box-sizing: border-box; /* Для Firefox */
-webkit-box-sizing: border-box; /* Для Safari и Chrome */
box-sizing: border-box; /* Для IE и Opera */
box-shadow: 0 4px 10px rgba(0, 0, 0, 5%);
font-family: 'Montserrat';
font-weight: 400;
color: #e2e2e2;
font-size: 14px;
background-color: #111;
text-decoration: none;
}

div.service-box div.box:hover {
	height: 100%;
	border: 2px solid #3d3d3d;
	border-radius: 10px;
	padding: 20px 30px;
-moz-box-sizing: border-box; /* Для Firefox */
-webkit-box-sizing: border-box; /* Для Safari и Chrome */
box-sizing: border-box; /* Для IE и Opera */
box-shadow: 0 4px 10px rgba(0, 0, 0, 9%);
}

div.service-box div.box p.big {
font-family: 'Montserrat';
font-weight: 800;
color: #ee2d52;
font-size: 30px;	
}

div.service-box div.box a {
font-family: 'Montserrat';
font-weight: 700;
color: #e2e2e2;
font-size: 18px;
line-height: 20px;
text-decoration: none;
}

div.service-box-2 div.box {
	height: 100%;
	border: 2px solid #efebff;
	border-radius: 10px;
	padding: 20px 30px;
-moz-box-sizing: border-box; /* Для Firefox */
-webkit-box-sizing: border-box; /* Для Safari и Chrome */
box-sizing: border-box; /* Для IE и Opera */
box-shadow: 0 4px 10px rgba(0, 0, 0, 5%);
font-family: 'Montserrat';
font-weight: 600;
color: #000;
font-size: 14px;
line-height: 22px;
background-color: #f9f7ff;
}

div.service-box-2 div.box:hover {
	height: 100%;
	border: 2px solid #674fdc;
	border-radius: 10px;
	padding: 20px 30px;
-moz-box-sizing: border-box; /* Для Firefox */
-webkit-box-sizing: border-box; /* Для Safari и Chrome */
box-sizing: border-box; /* Для IE и Opera */
box-shadow: 0 4px 10px rgba(0, 0, 0, 9%);
}

div.service-box-2 div.box p.big {
font-family: 'Montserrat';
font-weight: 800;
color: #674fdc;
font-size: 30px;
}




/*********************************** FeedBack *****************************************/

div.form-bg {
	background-image: url(../images/form-bg.jpg);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
	border-top: 1px solid #222;
	background-color: #000;
}

div.fomr-bg h3 {
	color: #eee;
}

div.form-bg ul li {
	color: #eee;
}

div.forma-call-box {
	margin-top: 20px;
}


/************************************ Footer ***************************************/

div.footer {
margin-bottom: 30px;
font-family: 'Montserrat';
color: #f2f2f2;
font-weight: 400;
font-size: 14px;
border-top: 0px solid #333;
padding-top: 30px;
}

div.footer p {
font-family: 'Montserrat';
color: #eee;
font-weight: 800;
font-size: 14px;
text-transform: uppercase;
}

div.footer a {
font-family: 'Montserrat';
color: #ccc;
font-weight: 300;
font-size: 14px;
text-decoration: none;
}

div.footer a.phone {
font-family: 'Montserrat';
color: #f2f2f2;
font-weight: 700;
font-size: 16px;
text-decoration: none;
}

div.footer-copyright {
margin-top: 30px;
margin-bottom: 30px;
padding-top: 30px;
font-family: 'Montserrat';
color: #ccc;
font-weight: 300;
font-size: 12px;
}

div.footer-copyright span {
color: #eb2d50;	
}

div.footer-copyright a {
font-family: 'Montserrat';
color: #ccc;
font-weight: 300;
font-size: 13px;
text-decoration: none;
}



/*********************************** Table Design *****************************************/


/* Container & Base typography */
.custom-table-wrapper {
  margin: 0 auto;
/*  font-family: system-ui, -apple-system, 'Rubik', 'Montserrat', sans-serif;*/
  color: #fefefe;
}

/* Table layout */
.modern-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 12px; /* Разделение строк на независимые карточки */
  margin-top: -12px;
}

/* Table Header */
.modern-table thead td {
  padding: 12px 20px;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  color: rgba(254, 254, 254, 0.45);
  font-weight: 500;
  border-bottom: 1px solid rgba(235, 45, 80, 0.2);
  color: #ddd;
}

/* Row Cards Background & Elevation */
.modern-table tbody tr {
  background-color: #161618; /* Приподнятый слой поверх #0e0e0e */
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

/* Card Rounded Corners & Borders */
.modern-table tbody td {
  padding: 20px 24px;
  vertical-align: middle;
  border-top: 1px solid rgba(254, 254, 254, 0.05);
  border-bottom: 1px solid rgba(254, 254, 254, 0.05);
}

.modern-table tbody td:first-child {
  border-left: 1px solid rgba(254, 254, 254, 0.05);
  border-top-left-radius: 12px;
  border-bottom-left-radius: 12px;
  width: 30%;
  font-size: 1.05rem;
  color: #fefefe;
  position: relative;
}

.modern-table tbody td:last-child {
  border-right: 1px solid rgba(254, 254, 254, 0.05);
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
  color: rgba(254, 254, 254, 0.78);
  font-size: 0.95rem;
  line-height: 1.6;
}

/* Hover & Focus Interactions */
.modern-table tbody tr:hover {
  background-color: #1c1c20;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5), 
              0 0 16px rgba(235, 45, 80, 0.12); /* Мягкое свечение акцентным цветом */
}

/* Red Indicator Line on Hover */
.modern-table tbody tr:hover td:first-child {
  border-left-color: #eb2d50;
}

.modern-table tbody tr:hover td:first-child strong {
  color: #eb2d50;
  transition: color 0.3s ease;
}

/* Responsive Styles for Mobile Devices */
@media (max-width: 768px) {
  .modern-table, 
  .modern-table thead, 
  .modern-table tbody, 
  .modern-table tr, 
  .modern-table td {
    display: block;
    width: 100%;
  }

  .modern-table thead {
    display: none; /* Скрываем заголовки на мобильных */
  }

  .modern-table tbody tr {
    margin-bottom: 16px;
    padding: 16px 20px;
    border-radius: 12px;
    border: 1px solid rgba(254, 254, 254, 0.08);
  }

  .modern-table tbody td {
    padding: 6px 0 !important;
    border: none !important;
  }

  .modern-table tbody td:first-child {
    font-size: 1.1rem;
    margin-bottom: 6px;
  }

  .modern-table tbody td:first-child strong {
    color: #eb2d50;
  }

  .modern-table tbody td:last-child {
    font-size: 0.9rem;
  }
}



/* Container & Base typography */
.opt-table-wrapper {
  width: 100%;
  margin: 20px 0;
  color: #fefefe;
}

/* Table layout (ПК) */
.opt-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 10px; /* Разделение строк на независимые карточки */
  margin-top: -10px;
  font-size: 0.95rem;
}

/* Header */
.opt-table thead th {
  padding: 12px 20px;
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(254, 254, 254, 0.45);
  font-weight: 500;
  text-align: left;
  border-bottom: 1px solid rgba(235, 45, 80, 0.3); /* Красный акцент под шапкой */
}

/* Row Cards Background & Elevation */
.opt-table tbody tr {
  background-color: #161618;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Card Cells Styling */
.opt-table tbody td {
  padding: 16px 20px;
  vertical-align: middle;
  border-top: 1px solid rgba(254, 254, 254, 0.05);
  border-bottom: 1px solid rgba(254, 254, 254, 0.05);
  color: rgba(254, 254, 254, 0.85);
}

/* Rounded Corners & Left Border Indicator for Rows */
.opt-table tbody td:first-child {
  border-left: 2px solid rgba(254, 254, 254, 0.05);
  border-top-left-radius: 12px;
  border-bottom-left-radius: 12px;
  font-weight: 600;
  color: #fefefe;
  transition: border-color 0.3s ease, color 0.3s ease;
}

.opt-table tbody td:last-child {
  border-right: 1px solid rgba(254, 254, 254, 0.05);
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
  color: #fefefe;
  font-weight: 600;
}

/* Hover & Glow Interactions */
.opt-table tbody tr:hover {
  background-color: #1c1c20;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5), 
              0 0 16px rgba(235, 45, 80, 0.15); /* Неоновое свечение */
}

.opt-table tbody tr:hover td:first-child {
  border-left-color: #eb2d50; /* Подсветка левого края красным */
  color: #eb2d50;
}

/* ==========================================
   Responsive Styles for Mobile Devices
   ========================================== */
@media (max-width: 768px) {
  .opt-table, 
  .opt-table thead, 
  .opt-table tbody, 
  .opt-table tr, 
  .opt-table td {
    display: block;
    width: 100%;
  }

  /* Скрываем классическую шапку */
  .opt-table thead {
    display: none;
  }

  /* Мобильная карточка товара */
  .opt-table tbody tr {
    margin-bottom: 16px;
    padding: 12px 16px;
    border-radius: 12px;
    background-color: #161618;
    border: 1px solid rgba(254, 254, 254, 0.08);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
  }

  .opt-table tbody tr:hover {
    transform: none; /* Отключаем сдвиг на тачскринах */
  }

  /* Ячейка внутри мобильной карточки */
  .opt-table tbody td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(254, 254, 254, 0.05) !important;
    border-radius: 0 !important;
    text-align: right;
    font-size: 0.9rem;
    color: #fefefe;
  }

  .opt-table tbody td:last-child {
    border-bottom: none !important;
  }

  /* Вывод названия заголовка из data-label слева */
  .opt-table td::before {
    content: attr(data-label);
    font-size: 0.8rem;
    letter-spacing: 0.03em;
    color: rgba(254, 254, 254, 0.45);
    text-align: left;
    padding-right: 12px;
    font-weight: 400;
  }

  /* Выделение категории (первой ячейки) в мобильной карточке */
  .opt-table tbody td:first-child {
    color: #eb2d50;
    font-size: 1rem;
    font-weight: 600;
    border-bottom: 1px solid rgba(235, 45, 80, 0.2) !important;
    padding-bottom: 12px !important;
    margin-bottom: 4px;
  }
}




/****************************************** Catalog Filter *************************************************/



div.filter-box-catalog {
background-color: #161618;
border: 1px solid #222;
border-radius: 4px;
line-height: 16px;
}

div.filter-box-catalog p {
margin: 10px 5px 10px 10px;
font-family: 'Montserrat';
font-weight: 600;
font-size: 16px;
color: #eb2d50;
}

.catalog-items-filter-group {
clear:both;
position:relative;
padding: 5px 10px 5px 0px;
}

.catalog-items-filter-group a {
text-decoration: none;
background-color:transparent!important;
font-family: 'Montserrat';
font-weight: 400;
font-size: 14px;
color: #ccc!important;
}

.catalog-items-filter-group a:hover {
background-color:transparent!important;
text-decoration: none!important;
color: #eee!important;
}

.catalog-items-filter-group.opened a {
color: #ccc!important;
font-family: 'Montserrat';
font-weight: 400;
font-size: 14px;
}

.catalog-items-filter-item {
padding:10px 0;
}

.catalog-items-filter-item ul {
list-style:none;
margin:0;
padding:0;
}

.catalog-items-filter-item ul br{
clear:both;
}

.catalog-items-filter-item ul li {
float:left;
padding-top: 2px;
padding-bottom: 2px;
}

.catalog-items-filter-item ul li table td.td-check {
width: 20px;
}

.catalog-items-filter-item ul li table td.td-check checkbox {
cursor: pointer;
}

/** Parametr Name **/

.catalog-items-filter-item ul li table td.td-check-name {
width: 100%;
line-height:16px;
font-family: 'Montserrat';
font-weight: 400;
font-size: 13px;
color: #eee;
display: inline-block;
cursor: pointer;
padding: 4px 0px 5px 0px;
}

.catalog-items-filter-item ul.tabableselect li {
padding:0 1%!important; 
width: 28%!important; 
margin: 1%!important; 
min-width:28%!important; 
min-height:50px; 
white-space: normal;
text-align: center;
cursor: pointer;
}

.catalog-items-filter-item select {
background-color: #222!important;
border: 1px solid #3a3a3a!important;
color: #eee!important;
padding: 6px!important;
font-family: 'Montserrat';
font-weight: 500;
font-size: 14px;
border-radius: 4px;
cursor: pointer;
}

.catalog-items-filter-item select option {
color: #eee!important;
padding: 6px!important;
cursor: pointer;
font-family: 'Montserrat';
font-weight: 500;
font-size: 14px;
}

.catalog-items-filter-panel {

}

.catalog-items-filter-panel > div {
margin:4px auto;
}

.catalog-items-filter-cont {
position:relative;
padding: 10px;
border-radius: 3px;
border: 1px solid #232323;
}

div.calculate {
border: 1px solid #232323; 
position:absolute;
z-index:999; 
left: 0; 
top:0;
background: #222; 
padding:5px 6px; 
min-width: 120px;
border-radius: 2px;
font-family: 'Montserrat';
font-weight: 400;
font-size: 14px;
color: #80868a;
text-align: center;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
}


div.calculate.calculate-mobile {
position: fixed;
left: 0;
right: 0;
bottom: 0;
top: auto;
width: 100%;
min-width: 0;
box-sizing: border-box;
border-radius: 0;
border-width: 1px 0 0 0;
padding: 12px 16px;
font-size: 15px;
z-index: 9999;
}

div.calculate b {
font-family: 'Montserrat';
font-weight: 600;
font-size: 16px;
color: #ddd;
}

div.calculate.calculate-mobile b {
font-size: 18px;
}

div.calculate a {
background-color: #eb2d50;
padding: 4px;
padding-left: 6px;
padding-right: 6px;
font-family: 'Montserrat';
font-weight: 400;
font-size: 14px;
color: #fff;
border: 0px;
border-radius: 3px;
text-decoration: none;
}

div.calculate.calculate-mobile a {
padding: 8px 14px;
font-size: 15px;
margin-left: 10px;
}

input.catalog-items-filter-button-clear {
background-color: #eb2d50;
padding: 6px;
font-family: 'Montserrat';
font-weight: 400;
font-size: 14px;
color: #fff;
border: 0px;
border-radius: 3px;
cursor: pointer;
}



/************************* Page navigation & More button *****************************/

div.catalog .more-items {
	text-align: center;
	padding-top: 15px;
	padding-bottom: 15px;
}

div.catalog .more-items .catalog_items-more-items {
display: inline-block;
text-align: center;
padding: 6px;
}

div.catalog .more-items .catalog_items-more-items a {
font-family: 'Montserrat';
font-weight: 400;
font-size: 14px;
color: #ccc;
background-color: #161618;
text-align: center;
border-radius: 4px;
padding: 10px 35px;
text-decoration: none;
border: 0px;
}

div.catalog .more-items .catalog_items-more-items a:hover {
font-family: 'Montserrat';
font-weight: 400;
font-size: 14px;
color: #eee;
background-color: #333;
text-align: center;
border-radius: 4px;
padding: 10px 35px;
text-decoration: none;
border: 0px;
}

div.catalog-pages {
	text-align: center;
	padding-top: 15px;
	padding-bottom: 25px;
}

div.catalog-pages span.page_navigation {
text-align: center;
background-color: #333;
border: 1px solid #222;
padding:6px 10px 6px 10px;
font-family: 'Montserrat';
font-weight: 700;
color: #eb2d50;
font-size: 16px;
text-decoration: none;
border-radius: 3px;
}

div.catalog-pages a.pnav {
text-align: center;
padding:6px 10px 6px 10px;
font-family: 'Montserrat';
font-weight: 400;
color: #ddd;
font-size: 16px;
text-decoration: none;
border-radius: 3px;
background-color: #161618;
border: 1px solid #222;
}

div.catalog-pages a.pnav:hover {
text-align: center;
padding:6px 10px 6px 10px;
font-family: 'Montserrat';
font-weight: 400;
color: #eee;
font-size: 16px;
text-decoration: none;
border-radius: 3px;
background-color: #333;
border: 1px solid #222;
}



/*********************************** Info box Item page **************************************/

div.service-link {
background-color: #161618;
border: 1px solid #222;
border-radius: 4px;
padding: 10px 15px;	
}

input.button-watchlist {
background-image: url(../images/favorite.svg);
background-position: left;
background-repeat: no-repeat;
padding-left: 30px;
font-family: 'Rubik';
font-weight: 400;
font-size: 13px;
color: #eb2d50;
border: 0;
background-color: transparent;
cursor: pointer;
margin-bottom: 20px;
}

div.item-service div.box {
font-family: 'Rubik';
font-weight: 400;
font-size: 13px;
color: #ccc;
}

div.item-service label {
font-family: 'Montserrat';
font-weight: 500;
font-size: 14px;
color: #ccc;
display: inline-block;
padding: 2px 0 10px 0;
line-height: 16px;
}

div.item-service p a.telegram {
  font-family: 'Rubik', sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: var(--text-primary, #dcd5d6);
  text-decoration: none;
  padding: 4px 0 4px 26px;
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* Иконка через маску в псевдоэлементе */
div.item-service p a.telegram::before {
  content: '';
  position: absolute;
  left: 0;
  width: 18px;
  height: 18px;
  background-color: var(--text-headline, #f5f2f3); /* Цвет иконки (светлый) */
  -webkit-mask: url(../images/telegram.svg) no-repeat center / contain;
  mask: url(../images/telegram.svg) no-repeat center / contain;
  transition: background-color 0.2s ease;
}

/* Ховер-эффект: иконка и текст окрашиваются в бренд-цвет */
div.item-service p a.telegram:hover {
  color: var(--accent-primary, #eb2d50);
}

div.item-service p a.telegram:hover::before {
  background-color: var(--accent-primary, #eb2d50);
}


div.item-service p a.telephon {
  font-family: 'Rubik', sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: var(--text-primary, #dcd5d6);
  text-decoration: none;
  padding: 4px 0 4px 26px;
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* Иконка через маску в псевдоэлементе */
div.item-service p a.telephon::before {
  content: '';
  position: absolute;
  left: 0;
  width: 18px;
  height: 18px;
  background-color: var(--text-headline, #f5f2f3); /* Цвет иконки (светлый) */
  -webkit-mask: url(../images/telephon.svg) no-repeat center / contain;
  mask: url(../images/telephon.svg) no-repeat center / contain;
  transition: background-color 0.2s ease;
}

/* Ховер-эффект: иконка и текст окрашиваются в бренд-цвет */
div.item-service p a.telephon:hover {
  color: var(--accent-primary, #eb2d50);
}

div.item-service p a.telephon:hover::before {
  background-color: var(--accent-primary, #eb2d50);
}




/* Контейнер изображения */
div.catalog-page-item div.img {
  position: relative; /* База для абсолютного позиционирования оверлея */
  display: block;
  overflow: hidden;
  border-radius: 12px; /* Закругление углов фото */
}

div.catalog-page-item div.img > a {
  display: block;
  width: 100%;
  height: 100%;
}

div.catalog-page-item div.img img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Эффект легкого зума фото при наведении на карточку */
.box:hover .img img {
  transform: scale(1.04);
}

/* Обертка для внутренней ссылки */
.img-badge {
  position: absolute;
  top: 1px; /* Отступ от нижнего края (можно заменить на top: 12px) */
  left: 12px;   /* Отступ от левого края */
  z-index: 2;
  pointer-events: none; /* Гарантирует, что слой-контейнер не перекрывает клики по фото */
}

/* Сама ссылка (бейдж/кнопка поверх фото) */
.img-badge input.button-watchlist {
background-image: url(../images/favorite.svg);
background-position: left;
background-repeat: no-repeat;
padding-left: 30px;
font-family: 'Rubik';
font-weight: 400;
font-size: 13px;
color: #eb2d50;
border: 0;
background-color: transparent;
  pointer-events: auto; /* Включает кликабельность ТОЛЬКО для тела ссылки */
  display: inline-flex;
  align-items: center;
  backdrop-filter: blur(8px); /* Эффект матового стекла (Glassmorphism) */
  -webkit-backdrop-filter: blur(8px);
  transition: all 0.25s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}


/************************************** Catalog category *****************************************/


div.catalog {
	padding-top: 0px;
	margin-top: 0px;
}


div.road-catalog {
	padding-bottom: 10px;
}

div.road-catalog div.road,
div.breadcrumbs {
font-family: 'Montserrat';
font-weight: 400;
color: #999;
font-size: 12px;
padding-top: 10px;
}

div.road-catalog div.road a,
div.breadcrumbs a.breadcrumbs-link {
font-family: 'Montserrat';
font-weight: 400;
color: #999;
font-size: 12px;
}

div.road-catalog div.road span.small,
div.breadcrumbs span.breadcrumbs-separator {
font-family: 'Montserrat';
font-weight: 400;
color: #999;
font-size: 12px;
}

div.road-catalog div.road span.oblique {
	padding-left: 15px;
	padding-right: 15px;
font-family: 'Montserrat';
font-weight: 400;
color: #999;
font-size: 10px;
}



div.sub-catalog  {
	padding-top: 6px;
	padding-bottom: 6px;
}

div.sub-catalog img.icon {
max-height: 30px;
}

div.sub-catalog a {
font-family: 'Montserrat';
font-weight: 700;
color: #999;
font-size: 14px;
display: block;
line-height: 16px!important;
padding-left: 12px;
background-image: url(../images/pink-px.png);
background-position: left;
background-repeat: no-repeat;
background-size: 3px 3px;	
}

div.sub-catalog a:hover {
color: #eb2d50;
}




div.catalog-page-item {
	margin-bottom: 30px;
}

div.catalog-page-item div.box {
height: 100%;
border: 1px solid #222;
border-radius: 4px;
padding: 10px 0;
}

div.catalog-page-item div.box:hover {
height: 100%;
border: 1px solid #333;
border-radius: 4px;
-moz-box-sizing: border-box; /* Для Firefox */
-webkit-box-sizing: border-box; /* Для Safari и Chrome */
box-sizing: border-box; /* Для IE и Opera */
box-shadow: 0 8px 20px rgba(238, 45, 82, .2);
}

div.catalog-page-item div.box div.img {
text-align: center;
}

div.catalog-page-item div.box div.img-viewed {
text-align: center;
}

div.catalog-page-item div.box div.img-viewed img {
text-align: center;
max-height: 280px;
}

div.catalog-page-item div.box div.describe {
padding: 0 15px;
}

div.catalog-page-item div.box div.describe table {
	width: 100%;
}

div.catalog-page-item div.box div.describe table tr td {
	line-height: 14px!important;
}

div.catalog-page-item div.box a {
font-family: 'Montserrat';
font-weight: 600;
font-size: 16px;
color: #eee;
line-height: 16px;
}

div.catalog-page-item div.box span.price-item {
font-family: 'Montserrat';
font-weight: 700;
font-size: 22px;
color: #eee;
}

div.catalog-page-item div.box span.price-item-old {
font-family: 'Montserrat';
font-weight: 400;
font-size: 18px;
color: #999;
text-decoration: line-through;
}


div.catalog-description-top {
font-family: 'Montserrat';
font-weight: 400;
font-size: 14px;
color: #999;
line-height: 20px;	
}



/************************************* Catalog Item page ***************************************/


div.item-info table td.code_item,
div.catalog-page-item table td.code_item {
font-family: 'Rubik';
font-weight: 400;
font-size: 13px;
color: #999;
border-bottom: 1px solid #222;
padding: 12px 15px 12px 0px;
}

div.item-info table td.item_code,
div.catalog-page-item table td.item_code {
font-family: 'Rubik';
font-weight: 400;
font-size: 15px;
color: #ddd;
border-bottom: 1px solid #222;
padding: 10px 0px 12px 0px;
}


div.cart-total-box {
margin: 10px 0px;
display: inline-block;
border: 1px solid #333;
background-color: #222;
padding: 15px 20px!important;
border-radius: 3px;
font-family: 'Montserrat';
font-weight: 600;
color: #e2e2e2;
font-size: 16px;
display: block;
}


table.amount-cart-box tr td {
padding-left: 10px;
padding-right: 10px;
}

table.amount-cart-box tr td div.amount-box button {
background-color: #444;
font-family: 'Rubik';
font-weight: 400;
color: #ccc;
font-size: 14px;
border-radius: 4px;
height: 26px;
width: 26px;
border: 0;
cursor: pointer;
}

table.amount-cart-box tr td div.amount-box button:hover {
background-color: #777;
color: #ddd;
}

div.cart-total-box div.models div.item-price-box {
padding: 8px 12px;
}

div.cart-total-box div.models div.item-price-box span,
div.cart-total-box div.models div.item-price-box span label {
font-family: 'Montserrat';
font-weight: 700;
color: #eee;
font-size: 30px;
}

div.cart-total-box div.models div.item-cart-button-box {
padding: 5px 0;
margin: 5px 0;
}

div.cart-total-box div.models div.item-buy-click-box {
padding: 5px 0;
margin: 5px 0;
}

table.amount-cart-box input.amount {
padding: 4px;
width: 36px;
text-align: center;
font-family: 'Montserrat';
font-weight: 600;
font-size: 18px;
color: #222;
border: 0px;
border-radius: 3px;
background-color: #ddd;
cursor: pointer;
margin: 0px 6px 0px 6px;
}


button.to_shopping {
font-family: 'Montserrat';
color: #eb2d50;
font-weight: 600;
font-size: 16px;
padding: 10px 16px;
background-color: #0e0e0e;
border: 2px solid #eb2d50;
width: auto!important;
border-radius: 50px;
cursor: pointer;
text-decoration: none;
}

button.to_shopping:hover {
font-family: 'Montserrat';
color: #fff;
font-weight: 600;
font-size: 16px;
padding: 10px 16px;
background-color: #eb2d50;
border: 2px solid #eb2d50;
width: auto!important;
border-radius: 50px;
cursor: pointer;
text-decoration: none;
}

button.fast-order-open-btn,
input.button-item-user {
font-family: 'Montserrat';
color: #ccc;
font-weight: 600;
font-size: 16px;
padding: 10px 16px;
background-color: #111;
border: 2px solid #333;
width: auto!important;
border-radius: 50px;
cursor: pointer;
text-decoration: none;
}

button.fast-order-open-btn:hover,
input.button-item-user:hover {
font-family: 'Montserrat';
color: #eee;
font-weight: 600;
font-size: 16px;
padding: 10px 16px;
background-color: #eb2d50;
border: 2px solid #eb2d50;
width: auto!important;
border-radius: 50px;
cursor: pointer;
text-decoration: none;
}


/************************************* Tab section ***************************************/


div#tabs main {
  min-width: 320px;
  max-width: 100%;
  padding: 10px;
  margin: 0 auto;
  background: transparent;
}

div#tabs section {
  display: none;
  padding: 20px 0 0;
  border-top: 1px solid #333;
}

div#tabs main > input {
  display: none;
}

div#tabs label {
  display: inline-block;
  margin: 0 0 -1px;
  padding: 15px 25px;
  font-weight: 600;
  text-align: center;
  color: #bbb;
  border: 1px solid transparent;
}

div#tabs label:before {
  font-family: fontawesome;
  font-weight: normal;
  margin-right: 10px;
}


div#tabs label[for*='1']:before { content: '\f15c'; }
div#tabs label[for*='2']:before { content: '\f1a9'; }
div#tabs label[for*='3']:before { content: '\f16b'; }
div#tabs label[for*='4']:before { content: '\f1a9'; }


div#tabs label:hover {
  color: #eee;
  cursor: pointer;
}

div#tabs input:checked + label {
  color: #eb2d50;
  border: 1px solid #333;
  border-top: 2px solid #eb2d50;
  border-bottom: 1px solid #333;
  border-radius: 10px 10px 0 0;
}

div#tabs #tab1:checked ~ #content1,
div#tabs #tab2:checked ~ #content2,
div#tabs #tab3:checked ~ #content3,
div#tabs #tab4:checked ~ #content4 {
  display: block;
  color: #dcd5d6;
}

#content2 table tr td,
#content2 ul li,
#content3 ul li {
border-bottom: 1px solid #333;
padding: 12px 5px 12px 0;
}

#content2 ul li strong,
#content3 ul li strong {
color: #eb2d50;	
}

@media screen and (max-width: 650px) {
 
 div#tabs label {
    font-size: 0;
  }
 div#tabs label:before {
    margin: 0;
    font-size: 18px;
  }
}

@media screen and (max-width: 400px) {
  div#tabs label {
    padding: 15px;
  }
}

