* { margin: 0; padding: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; *behavior: url(../css/boxsizing.htc); }

body { margin: 0px; padding: 0px; color: #000000; background-color: #FFFFFF;   font: 100%/1.5em Roboto, Arial, sans-serif; min-width: 980px;}
body a { color: #336699; cursor: pointer;  } 
body a:hover {  color: #99cc33;}
img { max-width: 100%; height: auto; width: auto\9; /* ie8 */ border-style: none; }
h1, h2, h3, h4, h5 { font-weight: normal; margin-bottom: 20px; line-height: 1em;  }
p { margin-bottom: 15px; }
html, body {height: 100%; }
html {overflow-y:scroll; -webkit-text-size-adjust:none;    text-size-adjust:none}
html {scroll-behavior: smooth;}
header  {  margin: 0px;  min-height:100%; padding: 0px; }
*html header  {height:100%;}
footer { background-color: #f5f5f5;padding-top: 40px; padding-bottom: 40px; }
.clearfloat {clear: both;}
strong { font-weight: bold; }


/*сетка*/
.container { padding: 0px 20px 0px; clear: both;}
.row { clear: both; width: 100%; max-width: 1200px; margin: 0 auto; }

.col_1, .col_2, .col_3, .col_4, .col_5, .col_6, .col_7, .col_8, .col_9, .col_10, .col_11 {float: left; margin-right: 3.8%; position: relative;}

.col_1 {width: 4.85%;}  /* ie - 4.7% */
.col_2 {width: 13.5%;}  /* ie - 13.2% */
.col_3 {width: 22.15%;} /* ie - 22.05% */
.col_4 {width: 30.8%;} 	/* ie - 30.6% */
.col_5 {width: 39.45%;} /* ie - 39% */
.col_6 {width: 48.1%;} 	/* ie - 48% */
.col_7 {width: 56.75%;} /* ie - 56.75% */
.col_8 {width: 65.4%;} 	/* ie - 61.6% */
.col_9 {width: 74.05%;} /* ie - 74.05% */
.col_10 {width: 82.7%;} /* ie - 82.7% */
.col_11 {width: 91.35%;}/* ie - 91.35% */
.col_12 {clear: both; width: 100%; float: left;}

.last, .omega {margin-right: 0 !important;}
img, object, embed {max-width: 100%;}

.clear, .clearboth {clear:both !important;}
.clearleft {clear:left !important;}
.clearright {clear:right !important;}

.container:before, .container:after, .row:before, .row:after, .clear:before, .clear:after { content: ""; display: table; }
.row:after, .clear:after {    clear: both;}

/*навигация верх*/
.nav { background-color: #FFFFFF; padding-bottom: 5px; }
.nav .col_12 { display: flex; align-items: center; flex-wrap: wrap; }
.qsearch-top { flex: 0 0 240px; margin-left: auto; margin-top: 14px; margin-bottom: 0; }
.qsearch-top .qsearch-input { padding-top: 6px; padding-bottom: 6px; }
.menu{ display: block; min-width: 960px;   }
.menu li{	display: inline-block;	position: relative; z-index:3000;}
.menu li:first-child{	margin-left:0;}
.menu li a { display: block; color: #3175b8; -webkit-transition: all 0.2s ease-in-out 0s; -moz-transition: all 0.2s ease-in-out 0s; -o-transition: all 0.2s ease-in-out 0s; -ms-transition: all 0.2s ease-in-out 0s; transition: all 0.2s ease-in-out 0s; font-size: 1.3em; margin-right: 22px; padding-bottom: 15px; padding-top: 17px; }
.menu li a:hover, .menu li:hover > a{ color: #99cc33; text-decoration: none;   background: url(../i/bg_m.gif)  repeat-x;}
.menu ul { display: none; margin: 0; padding: 0 ; width: 250px; position: absolute; top: 50px; left: 0px; background-color: #acdb4f; }
.menu ul li {	display:block;	float: none;	background:none;	margin:0;	padding:0;}
.menu ul li a { display: block; color: #4e7500; border-bottom: 1px solid #ffffff; border-top: none; font-size: 1em; margin-right: 0px; text-decoration: none; padding: 12px; line-height: 1em; }
.menu ul li a:hover, .menu ul li:hover > a{ background: #76a90f; color: #FFFFFF; border-bottom: 1px solid #ffffff; border-top: none; }
.menu li:hover > ul{	display: block;}
.menu ul ul {	left: 250px;	top: 0px;}
.menu li a.activ{ color: #99cc33; text-decoration: none;  background: url(../i/bg_m.gif)  repeat-x; }

.mobile-menu{ display: none; width: 100%; padding: 11px; color: #ffffff; text-transform: uppercase; background-color: #99CC33; text-decoration: none; font-size: 1.5em; }
.mobile-menu:hover{ color: #ffffff; text-decoration: none; background-color: #333333; }
.mobile-phone{ display: none; }
.mobile-soc{ display: none; }

@media (max-width:768px){

.mobile-menu{
    position:relative;
}

.mobile-menu::after{
    content:'';
    position:absolute;
    left:50%;
    top:50%;
    width:20px;
    height:20px;
    border:2px solid rgba(255,255,255,.7);
    border-radius:50%;
    transform:translate(-50%,-50%);
    animation:ripple 2s infinite;
    pointer-events:none;
}

@keyframes ripple{
    0%{
        width:20px;
        height:20px;
        opacity:.8;
    }
    100%{
        width:60px;
        height:60px;
        opacity:0;
    }
}

}

/*блок верх*/
.top { background-color: #f5f5f5;  padding-top: 10px; padding-bottom: 10px; margin-bottom: 20px; }
.logo {}
.logo img { display: block; float: left; margin-right: 20px; }
.namesite { padding-top: 10px; margin-bottom: 0px; }
.namesite span.t1 {color: #ff7800;  font-size: 1.5em; }
.namesite strong { display: block; color: #2b5e92; font-weight: normal; font-size: 3em; margin-top: 10px; margin-bottom: 15px; }
span.green { color: #92c82b; }
.italicimg { font-style:italic; font-size:12px; text-align:center; }
.namesite span.t2 { color: #336699; font-size: 1.0625em; }
ul.cont-top { font-size: 0.875em; padding-top: 10px; float: right; }
ul.cont-top li { clear: left; padding-left: 30px; margin-bottom: 5px;  }
ul.cont-top span.maplk { font-size: 1.2em; }
ul.cont-top li.cn1 { background-position: 0px 0px; background-repeat: no-repeat; background-image: url(../i/spr.png); }
ul.cont-top li.cn2 {background-position: 0px -50px; background-repeat: no-repeat; background-image: url(../i/spr.png);}
ul.cont-top li.cn3 {background-position: 0px -100px; background-repeat: no-repeat; background-image: url(../i/spr.png);}
ul.cont-top li.cn4 {background-position: 0px -150px; background-repeat: no-repeat; background-image: url(../i/spr.png);}
ul.cont-top li.cn5 {background-position: 0px -250px; background-repeat: no-repeat; background-image: url(../i/spr.png);}
span.phontop { color: #ff7800; font-size: 1.25em; white-space: nowrap; }

/*сервисы*/
.service a { font-size: 1.2em; display: block; padding-top: 80px; text-align: center; }
.service a.s1 { background-image: url(../i/spr_sr.gif); background-position: center 0px; background-repeat: no-repeat; }
.service a.s2 {background-image: url(../i/spr_sr.gif); background-position: center -150px; background-repeat: no-repeat}
.service a.s3 {background-image: url(../i/spr_sr.gif); background-position: center -300px; background-repeat: no-repeat}
.service a.s4 {background-image: url(../i/spr_sr.gif); background-position: center -460px; background-repeat: no-repeat}

.slider { width: 100%; position: relative; margin: 20px auto 0px; padding: 0px; max-width: 1200px; }

/*content*/
.content { margin: 40px 0px; }
ul.menuleft { font-size: 1.125em; }
ul.menuleft li a {color: #6363eb; }
ul.menuleft li a:hover { color: #99cc33;} 
ul.menuleft li { margin-bottom: 15px; background: url(../i/u3.png) no-repeat 0px 9px; padding-left: 18px;}
ul.menuleft li a.activ {  color: #99cc33; text-decoration: none; }
ul.sub1 { margin-top: 15px; font-size: 0.9em; }
ul.sub1 li { background-image: none; padding-left: 0px; margin-bottom: 5px; }
ul.sub1 li a { color: #87B32D; }
ul.sub1 li a:hover { color: #336699; }
ul.sub1 li a.activ { color: #336699; text-decoration: none; }
ul.sub2 { margin-top: 5px; font-size: 0.9em; margin-bottom: 0px; }
ul.sub2 li { background-image: none; padding-left: 10px; margin-bottom: 5px; }
ul.sub2 li a { color: #336699; }
ul.sub2 li a:hover { color: #000000; }
ul.sub2 li a.activ { color: #000000; text-decoration: none; }

.navpage { font-size: 0.8em; margin-bottom: 20px; color: #808080; } 
.infopage h1 { color: #336699; font-size: 2.25em; margin-bottom: 30px; }
.infopage h2 { color: #99CC33; font-size: 2.1em; }
.infopage h3 { font-size: 1.8em; color: #9999FF; }
.infopage h4 { font-size: 1.5em; color: #666666; }
.infopage ul { margin-bottom: 20px; }
.infopage ul li { background-image: url(../i/u2.png); background-repeat: no-repeat; background-position: 0px 9px; padding-left: 15px; }

table.tabinf { width: 100%; border-collapse: collapse; font-size: 0.875em; line-height: 1.3em; }
table.tabinf th { color: white; font-weight: bold; background-color: #83AD2C; }
table.tabinf td, th { padding: 8px; border: 1px solid #ccc; text-align: left; }

table.tabinfmain { width: 100%; border-collapse: collapse; font-size: 1.0em; line-height: 1.5em; }
table.tabinfmain th { color: white; font-weight: bold; background-color: #83AD2C; }
table.tabinfmain td, th { padding: 8px; border: 1px solid #ccc; text-align: left; }
table.tabinfmain td { color: #336699; }

a.botpage {display: block; background-color: #9999FF; color: #FFFFFF; font-size: 1.125em; padding: 8px 15px; width: 120px; text-align: center;}
a.botpage:hover { background-color: #84bb15; color: #FFFFFF;}

/*акции*/
.akcya { background-color: #cee3a6; border-top: 18px solid #87bf17; border-bottom: 10px solid #87bf17; }
.link-akc { background-color: #87BF17; padding-bottom: 15px; width: 200px; margin: 0px auto; text-align: center; } 
.link-akc  a { color: #FFFFFF; font-size: 1.875em; }
.link-akc  a:hover { color: #FFCC66; }
.blok-ak { background-color: #e6f4cb; padding: 20px 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; margin-bottom: 35px; margin-top: 20px; color: #365000; }
.blok-ak img { display: block; border: 4px solid #FFFFFF; margin: 0px auto 15px; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; }
.blok-ak img:hover {
	opacity: 0.5;
	filter: alpha(opacity=0.5); /* internet explorer */
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=0.5)"; /*IE8*/
	}
.blok-ak strong { color: #FF6600; font-weight: bold; }
.blok-ak a { color: #FF6600; }
.blok-ak a:hover { color: #000000; }
.blok-ak p { padding: 0px 10px; }
.lable-akc { width: 94px; height: 94px; background-image: url(../i/labl_akc.png); background-repeat: no-repeat; position: absolute; z-index: 200; }
.lable-skidka { width: 94px; height: 94px; background-image: url(../i/labl_skidka.png); background-repeat: no-repeat; position: absolute; z-index: 200; }

/*карта индекс*/
.map-yan { width: 80%; height: 450px; margin: 0 auto;}

ul.bottomlink { margin: 30px 0px 0px; padding: 0px; list-style: none; }
ul.bottomlink li { font-size: 0.8em; margin-bottom: 0px; padding-left: 12px; background-image: url(../i/u4.gif); background-position: 0px 10px; background-repeat: no-repeat; }
ul.bottomlink a { color: #666666; }
ul.bottomlink a:hover { color: #83AD2C; }

/*анонсы*/
ul.a-anons { margin: 35px 0px 0px; padding: 0px; list-style: none; font-size: 14px; }
ul.a-anons li { padding-bottom: 10px; clear: both; background: none; padding-left: 0px; }
ul.a-anons li p { line-height: 1.4em; }
ul.a-anons li .pik { float: left; display: inline; margin-right: 20px; margin-bottom: 20px;  }
ul.a-anons li .info {overflow: hidden;}
html* ul.a-anons li .info {	float:left; }
ul.a-anons li h3 { margin-bottom: 10px; font-size: 1.6em; }

/*пагинаторы*/
.pagen { margin-bottom: 15px; text-align: left; clear: both; margin-top: 40px; }
.pagen .arr { font: 1,25em Georgia, "Times New Roman", Times, serif; padding: 0px 5px; color: #FF7200; }
.pagenum { margin-bottom: 15px; text-align: left; }
.pagenum a { padding: 2px 5px; margin-right: 5px; } 
.pagenum a:hover { background-color: #99CC33; text-decoration: none; color: #FFFFFF; }
.pagenum span.ak { color: #FFFFFF; padding: 2px 5px; background-color: #99CC33; margin-right: 5px; }

/*форма*/
.formmail { padding: 20px; border: 3px solid #99CC33; margin: 30px auto; width: 90%; border-radius: 10px; -webkit-border-radius: 10px; -moz-border-radius: 10px; -khtml-border-radius: 10px; }
table.form, table.form td { padding: 10px; line-height: 1.3em; }
.coment { font-size: 0.875em; font-style: italic; color: #CC0000; margin-bottom: 10px; }
table.form em { color: #666666; }
span.zv { font: 14px Verdana, Arial, Helvetica, sans-serif; color: #CC0000;}

ul.contactus  { margin: 0px; padding: 0px; list-style: none; }
ul.contactus  li { margin-bottom: 20px; font-size: 1em; line-height: 1.3em; background-image: none; padding: 0px; }
.contactus span.tel { font-size: 1.5em; line-height: 1.3em; white-space: nowrap; }
.contactus span.sort { color: #87B32D; font-size: 1.315em; line-height: 1.3em; }
.contactus span.com { color: #6363EB; font-size: 16px;  }

/*акции страница*/
.infopage .blok-ak { background-color: #e6f4cb; padding: 20px; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; margin-bottom: 35px; margin-top: 20px; color: #365000; }
.infopage  .blok-ak img { display: block; border: 4px solid #FFFFFF; margin: 0px 30px 0px 0px; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; float: left; }
.infopage .blok-ak img:hover {	opacity: 1;}

/*футер*/
ul.cont-bot li { margin-top: 15px; }
span.lebl-cnt { color: #9d9d9d; }
span.blu { font-size: 1.5em; color: #336699; }
.bot-centr { text-align: center; color: #7e7e7e; background-image: url(../i/logo_m.png); background-repeat: no-repeat; background-position: center top; padding-top: 100px; }
.phon-bot { background-color: #336699; color: #FFFFFF; font-size: 1.5em; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; padding: 10px 25px; text-align: center; line-height: 1.2em; }
.contact-boxes { display: grid; gap: 14px; justify-items: stretch; width: -webkit-fit-content; width: -moz-fit-content; width: fit-content; margin-left: auto; margin-right: auto; }
.contact-boxes .phon-bot, .contact-boxes .soc-bot { float: none; clear: none; display: block; width: auto; margin: 0; box-sizing: border-box; }
span.green2 { font-size: 0.8em; color: #CCFF99; white-space: nowrap; }
.rat-but { margin-top: 20px; float: right; }
.rat-but table td { padding: 5px;  }


table.vtab { width: 600px; border-collapse: collapse; font-size: 0.75em; line-height: 1.3em;}
table.vtab th { color: white; font-weight: bold; background-color: #83AD2C; font-size: 1.2em; }
table.vtab td, th {   padding: 8px;  border: 1px solid #ccc;  }


.scroll { width: 700px; background: #fff; border: 0px; overflow-x: scroll; }
table.scrolltab {  padding: 5px; margin-top: -1px; }

.description-h3 {
	cursor:pointer;
}
h3.description-h3 { font-size: 1.1em; display: block; background-color: #CEE3A6; padding: 10px; border-radius: 8px; color: #566F39; font-weight: normal; cursor:pointer;}

.description {
	display:none;
}
body.tables-open .description { display: block; }
h3.description-h3 i { background-color: #FF7E00; display: block; width: 25px; height: 25px; text-align: center; color: #FFFFFF; font-weight: bold; font-size: 1.2em; border-radius: 50%; cursor: pointer; float: left; margin-right: 10px; padding-top: 2px; }
em {font-style:italic;}
ul.page-menu {
margin-bottom: 30px;
}
ul.page-menu li {
list-style: none;
padding: 0px;
 background-image: none;
display: inline;
margin-right: 10px;
}
ul.page-menu a{
background-color: #6F6FF1;
padding: 4px 10px;
font-size: 0.875em;
text-decoration: none;
border-radius: 4px;
color: #FFFFFF;
}
ul.page-menu a:hover{
background-color: #99CC33;
color: #FFFFFF;
}
ul.page-menu a.active{
background-color: #99CC33;
}
.row.blokpikto {  display: flex;  justify-content: space-between;  align-items: stretch;}

.view-all {
	color:#6363eb;
	font-weight:bold;
	cursor: pointer;
	margin:20px 0;
}

.view-all-block {
	display:none;
	color:#33669b;
}
.purple {
	color: #0070C0;
}

/*===========================block form call===================*/
.form-page{ text-align: center; margin-top: 30px; margin-bottom: 30px; }
.form-page strong { font-size: 27px; color: #FFF; font-weight: normal; }
.phon-form span { font-size: 24px; color: #fff; white-space: nowrap; }
.form-call { background-color: #99CC33; padding: 20px; margin-bottom: 10px; border-radius: 10px; color: #464646; }
.form-page .form-control { padding: 8px; font-size: 16px; width: 250px; border-style: none; border-radius: 3px; }
.form-page .btn { background-color: #6F6FF1; color: #FFFFFF; text-decoration: none; padding: 6px 35px; display: inline-block; border-radius: 18px; font-size: 18px; border: 2px solid #FFFFFF; margin-top: -2px; -webkit-box-shadow: 0px 0px 6px #474E38; box-shadow: 0px 0px 6px #474E38; }
.form-page .btn:hover { background-color: #FF6700; -webkit-box-shadow: inset 0px 0px 6px #474E38; box-shadow: inset 0px 0px 6px #474E38; }
.form-page p.police { font-size: 12px; line-height: 1.4em; color: #A2A095; }
.form-page p.police i { font-style: normal; color: #5AAC1A; }
.form-page .form-left { float: left; }
.form-body { width: 440px; margin: 10px auto; }

/* ==== Responsive base (added) ==== */
img, iframe, video, embed, object { max-width: 100%; }
img { height: auto; }
table { max-width: 100%; }
.infopage [style*="width"] { max-width: 100% !important; }
a.tel { color: inherit; text-decoration: none; white-space: nowrap; }
/* ==== /Responsive base ==== */






/* ==== Nav responsive (added) ==== */
@media (max-width: 1000px) {
  body { min-width: 0; }
  /* top green bar: burger left + phone right */
  .nav .col_12 { display: flex; flex-wrap: wrap; align-items: stretch; background: #99CC33; }
  .mobile-menu { display: block; width: auto; background: transparent; padding: 11px 15px; }
  .mobile-menu:hover { background: rgba(0,0,0,0.12); }
  .mobile-phone { display: flex; align-items: center; margin-left: auto; padding: 8px 15px; color: #fff; font-size: 1.15em; font-weight: bold; white-space: nowrap; text-decoration: none; }
  .mobile-soc { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; padding: 8px 15px; background: rgba(0,0,0,0.08); }
  .mobile-soc .soc-ico { width: 30px; height: 30px; background-color: transparent; }
  .mobile-soc .soc-ico svg { width: 20px; height: 20px; }
  .mobile-phone:hover { color: #fff; text-decoration: none; }
  .qsearch-top { display: none; }
  /* dropdown menu below the bar */
  .menu { display: none; flex-basis: 100%; min-width: 0; width: 100%; }
  .menu.open { display: block; }
  .menu li { display: block; position: static; }
  .menu li a { margin-right: 0; padding: 12px 15px; border-bottom: 1px solid #e5e5e5; }
  .menu li a img { display: none; }
  .menu ul, .menu ul ul { display: block; position: static; width: 100%; top: auto; left: auto; background: #f6f6f6; }
  .menu ul li a { color: #4e7500; padding: 10px 15px 10px 34px; font-size: 0.95em; border-bottom: 1px solid #ececec; }
  .menu ul li a:hover, .menu ul li:hover > a { background: #eaf3d6; color: #4e7500; }
  .menu > li > a:hover, .menu > li:hover > a, .menu > li > a.activ { background: #87BF17; color: #fff; }
  /* compact header: logo + name only */
  .top { padding-top: 8px; padding-bottom: 8px; margin-bottom: 15px; }
  .top .col_6 { width: 100%; float: none; }
  .top .col_3 { display: none; }
  .logo img { max-height: 50px; width: auto; margin-right: 12px; }
  .namesite { padding-top: 4px; }
  .namesite span.t1 { font-size: 1em; }
  .namesite strong { font-size: 1.7em; margin: 2px 0; }
  .namesite .cn1 { display: none; }
}
@media (max-width: 768px) {
  .col_1,.col_2,.col_3,.col_4,.col_5,.col_6,.col_7,.col_8,.col_9,.col_10,.col_11,.col_12 { width: 100%; float: none; margin-right: 0; }
  .content { margin: 20px 0; }
  .content .row { display: flex; flex-direction: column; }
  .content .row:before, .content .row:after { display: none; }
  .content .col_9 { order: 1; }
  .content .col_3 { display: none; }
  /* footer */
  .row.blokpikto { flex-direction: column; }
  footer { padding-top: 25px; padding-bottom: 25px; }
  .blokpikto .col_4 { text-align: center; margin-bottom: 22px; }
  .blokpikto .col_4:last-child { margin-bottom: 0; }
  .cont-bot li { margin-top: 8px; }
  .rat-but { float: none; display: inline-block; margin: 15px auto 0; }
  /* forms on internal pages */
  .form-body { width: auto; max-width: 440px; }
  .form-page .form-control { width: 100%; box-sizing: border-box; }
  .form-page .form-left, .form-page .form-right { float: none; width: 100%; }
  .form-page .form-right { margin-top: 10px; }
  input, textarea, select { max-width: 100%; box-sizing: border-box; }
  /* content: unfloat images on phones */
  .infopage img { float: none !important; display: block; height: auto; margin: 10px auto !important; }
  .infopage table[align="right"], .infopage table[align="left"] { float: none !important; margin: 10px auto !important; }
}
/* ==== /Nav responsive ==== */
/* ==== Соцсети в футере (добавлено) ==== */
.soc-bot { text-align: center; background-color: #336699; color: #FFFFFF; border-radius: 10px; padding: 10px 25px; -moz-border-radius: 10px; -webkit-border-radius: 10px; }
.col_4.omega { text-align: center; }
.soc-bot-label { display: block; font-size: 0.8em; color: #CCFF99; white-space: nowrap; margin-bottom: 6px; }
.soc-bot-icons { display: flex; justify-content: center; gap: 10px; margin-bottom: 8px; }
.soc-ico { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background-color: #336699; color: #FFFFFF; transition: background-color .2s ease, transform .2s ease; }
.soc-ico:hover { transform: translateY(-2px); }
.soc-ico svg { display: block; }
/*.soc-wa:hover { background-color: #25D366; }
.soc-tg:hover { background-color: #229ED9; }
.soc-max:hover { background-color: #6C5DD3; }*/
.soc-max text { fill: #FFFFFF; }
.soc-bot-tel { display: inline-block; color: #FFFFFF; font-size: 1.5em; line-height: 1.3em; text-decoration: none; }
.soc-bot-tel:hover { color: #CCFF99; text-decoration: underline; }

@media (max-width: 768px) {
  
  .soc-bot-icons { justify-content: center; }
}

/* ==== Quick search (added) ==== */
.qsearch { position: relative; margin-bottom: 15px; }
.qsearch-icon { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: #c4aeae; pointer-events: none; }
.qsearch::before { content: "\1F50D"; position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: #999; pointer-events: none; z-index: 2; }
.qsearch-input { width: 100%; box-sizing: border-box; padding: 8px 10px 8px 32px; border: 2px solid #c2c2c2; border-radius: 6px; font-size: 14px; outline: none; }
.qsearch-input::placeholder { color: #666666; font-weight: 600; opacity: 1; }
.qsearch-input::-webkit-input-placeholder { color: #666666; font-weight: 600; opacity: 1; }
.qsearch-input::-moz-placeholder { color: #666666; font-weight: 600; opacity: 1; }
.qsearch-input:-ms-input-placeholder { color: #666666; font-weight: 600; opacity: 1; }
.qsearch-input:focus { border-color: #87BF17; }
.qsearch-results { display: none; list-style: none; margin: 4px 0 0; padding: 4px 0; position: absolute; left: 0; right: 0; z-index: 40; background: #fff; border: 1px solid #cfcfcf; border-radius: 6px; box-shadow: 0 4px 14px rgba(0,0,0,0.12); max-height: 320px; overflow-y: auto; }
.qsearch-results li { margin: 0; padding: 0; }
.qsearch-results li a { display: block; padding: 8px 12px; color: #2b5e92; text-decoration: none; font-size: 14px; line-height: 1.3; }
.qsearch-results li a:hover { background: #eaf3d6; }
.qsearch-results .qsearch-empty { padding: 8px 12px; color: #999; font-size: 13px; }
/* ==== /Quick search ==== */

/* ==== Соцсети в хэдере (добавлено) ==== */
.top-soc { white-space: normal; }
.top-soc-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.top-soc-icons { display: flex; align-items: center; gap: 6px; }
.top-soc-icons .soc-ico { width: 26px; height: 26px; background-color: transparent; }
.top-soc-icons .soc-ico svg { width: 18px; height: 18px; }
.top-soc .phontop { font-size: 1.25em; }
@media (max-width: 1180px) {
  .top-soc-row { gap: 6px; }
  .top-soc .phontop { font-size: 1.25em; }
}
/* ==== /Соцсети в хэдере ==== */




/* ===== Расписание врачей ===== */

/* ===== Расписание врачей ===== */

.calendar-page{
    width:100%;
    max-width:1380px;
    margin:0 auto;
    padding:15px;
    box-sizing:border-box;
    overflow:hidden;
}

.calendar-page *{
    box-sizing:border-box;
}

.month-title{
    text-align:center;
    color:#1f4b8c;
    font-size:34px;
    line-height:1.2;
    margin:15px 0 20px;
}

.weekdays,
.calendar{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:6px;
    width:100%;
}

.weekdays{
    margin-bottom:6px;
}

.weekdays div{
    background:#1f4b8c;
    color:#fff;
    text-align:center;
    padding:10px 4px;
    border-radius:8px;
    font-size:18px;
    font-weight:700;
    user-select:none;
}

.day{
    background:#fff;
    border:1px solid #d8e2ef;
    border-radius:10px;
    min-height:118px;
    padding:10px 4px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;

    cursor:pointer;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease,
        background-color .2s ease;
}

.day:hover{
    transform:translateY(-3px);
    background:#f4f9ff;
    border-color:#6f98cf;
    box-shadow:0 10px 24px rgba(31,75,140,.18);
}

.empty{
    visibility:hidden;
}

.number{
    font-size:34px;
    font-weight:bold;
    line-height:1;
    color:#1f4b8c;
}

.line{
    width:48px;
    height:3px;
    margin:8px 0;
    background:#84a9d8;
    border-radius:3px;
}

.doctor{
    text-align:center;
    color:#355d99;
    font-size:17px;
    line-height:1.25;
    word-break:break-word;
}

.today{
    border:3px solid #d82020;
    background:#fff8f8;
}

.today .number{
    color:#d82020;
}

.today .line{
    background:#d82020;
}

.today:hover{
    background:#fff1f1;
    border-color:#d82020;
    box-shadow:0 10px 24px rgba(216,32,32,.25);
}

/* ---------- Планшеты ---------- */

@media (max-width:900px){

    .weekdays,
    .calendar{
        gap:4px;
    }

    .weekdays div{
        font-size:13px;
        padding:6px 2px;
    }

    .day{
        min-height:88px;
        padding:5px 2px;
    }

    .number{
        font-size:24px;
    }

    .doctor{
        font-size:12px;
    }

    .line{
        width:34px;
        margin:5px 0;
    }

}

/* ---------- Телефоны ---------- */

@media (max-width:600px){

    .calendar-page{
        padding:6px;
    }

    .month-title{
        font-size:24px;
    }

    .weekdays,
    .calendar{
        gap:2px;
    }

    .weekdays div{
        font-size:10px;
        padding:5px 0;
        border-radius:4px;
    }

    .day{
        min-height:66px;
        padding:3px 1px;
        border-radius:5px;
    }

    .number{
        font-size:17px;
    }

    .doctor{
        font-size:9px;
        line-height:1.05;
    }

    .line{
        width:22px;
        height:2px;
        margin:3px 0;
    }

}