* { margin: 0; padding: 0; outline: 0; }

body, html { height: 100%; }

body {
    font-size: 11px;
    line-height: 19px;
    font-family: arial, sans-serif;
    color: #696969;
  	background: #fff;
    min-width: 942px;
}

/* === Search (check_in.php, dancers.php): mobile layout (results BELOW input) === */
@media (max-width: 768px){
  .checkin-controls{ width:100%; }

  /* outer wrapper keeps visual spacing; requested fixed height */
  .checkin-search-box{
    position: relative;
    width: 100%;
    height: 100px; /* requested */
    margin: 12px 0 0;
  }

  /* this is the “one whole” input: border + input + cross INSIDE */
  .checkin-search-input{
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden; /* cross can’t escape */
    border: 1px solid rgba(0,0,0,.18);
    border-radius: 14px;
    background: #fff;
  }

  .checkin-search-input input#serchJ{
    width: 100%;
    height: 44px;
    border: 0 !important;
    outline: none;
    background: transparent;
    box-sizing: border-box;
    padding: 0 52px 0 16px; /* space for the cross on the right */
    font-size: 18px;
    line-height: 44px;
    text-align: center;
  }

  .checkin-search-input .checkin-search-cancel{
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px !important;  /* avoid global button{width:100%} */
    height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 3;
  }

  .checkin-search-input .checkin-search-cancel img{
    width: 20px;
    height: 20px;
    display: block;
  }

  /* results go BELOW the input */
  #panelFilterPoisk{
    position: static !important;
    width: 100%;
    margin-top: 12px;
    clear: both;
  }
}

/* =============================
   Mobile: selection blocks styling
   Calm, readable, consistent
   ============================= */
@media (max-width: 768px) {
  /* 1) Unified "not selected" banners (Festival / Club)
     The markup comes from PHP blocks with inline background-color: #ff000a */
  div[style*="#ff000a"]{
    background: #FFF3F3 !important;            /* soft red instead of pure red */
    border: 1px solid rgba(200, 60, 60, 0.28) !important;
    border-radius: 14px !important;
    padding: 10px 12px !important;
    margin: 10px 12px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06) !important;
  }
  div[style*="#ff000a"] h1,
  div[style*="#ff000a"] h4{
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    color: #7A1B1B !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  /* 2) Festival selection card (yellow background: #feed01 from inline styles) */
  div[style*="#feed01"]{
    background: #FFFFFF !important;
    border: 1px solid rgba(0,0,0,0.10) !important;
    border-radius: 16px !important;
    padding: 14px 12px !important;
    margin: 10px 12px !important;
    color: #111 !important;
    box-shadow: 0 6px 18px rgba(0,0,0,0.06) !important;
  }
  div[style*="#feed01"] h1{
    margin: 0 0 12px 0 !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #111 !important;
    text-align: center !important;
  }
  div[style*="#feed01"] label{
    display: block !important;
    margin: 0 0 6px 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: rgba(0,0,0,0.72) !important;
  }
  div[style*="#feed01"] select{
    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(0,0,0,0.18) !important;
    background: #fff !important;
    color: #111 !important;
    font-size: 16px !important;
    outline: none !important;
  }
  div[style*="#feed01"] p{
    margin: 8px 0 0 0 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    color: rgba(160, 0, 0, 0.88) !important;
  }
  /* The submit in this card is #submit_s in markup */
  div[style*="#feed01"] #submit_s{
    width: 100% !important;
    height: 46px !important;
    margin-top: 12px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(0,0,0,0.10) !important;
    background: rgba(46, 125, 50, 0.10) !important;
    color: #1E5B22 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06) !important;
  }
}



a { color: #b0c5ff; text-decoration: none; cursor: pointer; }
a:hover { text-decoration: underline; }
a img { border: 0; }

article, aside, details, footer, header, menu, nav, section { display: block; }
input, textarea, select { font-size: 12px; font-family: arial, sans-serif; }
textarea { overflow: auto; }

.cl { display: block; height: 0; font-size: 0; line-height: 0; text-indent: -4000px; clear: both; }
.notext { font-size: 0; line-height: 0; text-indent: -4000px; }
.left, .alignleft { float: left; display: inline; }
.right, .alignright { float: right; display: inline; }

.shell { width: 942px; margin: 0 auto; }
header { height: 129px; background-color:#FEF4F4;}
header .shell { position: relative; }
#logo {
	position: absolute;
	top: 12px;
	left: 0;
	width: 190px;
	font-size: 0;
	line-height: 0;
	height: 110px;
}
#logo a {
  height: 110px;
  background: url(../images/logo-crystal.webp) no-repeat center center;
  background-size: contain;
  display: block;
  text-indent: -4000px;
}
#navigation { text-align: right; font-size: 16px; padding-top: 0px; }
#navigation ul { list-style: none; list-style-position: outside; }
#navigation ul li { display: inline; background: url(images/nav-border.png) no-repeat right 1px; padding: 0 16px 0 6px; }
#navigation ul li.last { background: transparent; padding-right: 0; }
#navigation li a { color: #4d8419; }
#navigation li a:hover ,
#navigation li.active a { color: #db844f; text-decoration: none; }
/*вывод пользователя*/
#id_pipe { text-align: right; font-size: 16px; padding: 0 0 10px 0; }
#id_pipe h1 { font-size:16px; color:#4d8419; margin:0; padding: 10px 0 0 0 ; }
#id_pipe p { font-size:10px; color: #FF090D; margin:0; padding: 0; }
/*верхняя строка статуса если не выбран пользователь*/




/*кнопрка сохранить*/
 #submit_s {	
							padding: 3px 10px;
							background-color: #C6E6CB;
							cursor: pointer;
							font-size:16px;
							color: #000000;
							text-decoration:none;
							border: 1px solid #FA0004; 
							position: relative; 
							border-radius: 7px;
								 -moz-border-radius: 7px; 
								 -webkit-border-radius: 7px; 
								 -o-border-radius: 7px;
 }
#submit_s:hover {	
								text-decoration: none; 
 								color: #FDFDFD; 
								background-color: #FF0004 ; 
}
/*#submit_s:active {
								text-decoration: none; 
 								color: #FDFDFD; 
								background-color: #FF0004 ; 
}*/

/*Конец кнопки*/

/*Кнопка из простой ссылки*/
 a.buy-btn_f {  
					
					padding: 3px 5px; 
					vertical-align: middle;
					height: 10px; 
					border: 1px solid #E6324B; 
					line-height: 0px; 
					position: relative; 
					font-size: 12px; 
					color: #77777b; 
					border-radius: 4px;
					 -moz-border-radius: 4px; 
					 -webkit-border-radius: 4px; 
					 -o-border-radius: 4px;
					}

 a.buy-btn_f:hover { 
 								text-decoration: none; 
 								color: #FDFDFD; 
								background-color: #FF0004 ; 
								}
								
/*Кнопка 2*/
 a.buy-btn_f2 {  
					
					padding: 3px 5px; 
					vertical-align: middle;
					height: 10px; 
					border: 1px solid #feed01; 
					line-height: 0px; 
					position: relative; 
					font-size: 12px; 
					color: #FBFBFB; 
					border-radius: 4px;
					 -moz-border-radius: 4px; 
					 -webkit-border-radius: 4px; 
					 -o-border-radius: 4px;
					}

 a.buy-btn_f2:hover { 
 								text-decoration: none; 
 								color: #feed01; 
								background-color: #000000 ; 
								}


/*закрыть. кнопка из простой ссылки*/

/*Востановление пароля НАДПИСЬ*/
#pass_dua{ 
		margin: 5px;	
	}
#pass_dua a{ 
		font-size:14px;
		color:#FF0004;
		text-decoration:none;
	}
	#pass_dua a:hover{ 
		padding: 2px 4px;
		background-color: #57FC64;
		height: 5px;
		font-size:14px;
		color: #000000;
		text-decoration:none;
		border: 1px solid #FA0004; 
		position: relative; 
		border-radius: 5px;
					 -moz-border-radius: 6px; 
					 -webkit-border-radius: 6px; 
					 -o-border-radius: 6px;
	}

/*ЗАКРЫТЬ Востановление пароля НАДПИСЬ*/
#post_left{
	 width:50%; 
	 float: left;
	 margin: 10px; 
	 padding: 10px ;  
	 overflow: hidden;
	 background: #aeeab0;
	 
	}

#post_0{
	
	width:98%; 
	float: left;
	text-align:left;
	position: relative; 
	margin: 0 0 10px 0;
	padding: 5px;
	}
#post_0:hover {
	background-color:#F4F2B4;
	}	
#post_1{
	width:10%; 
	float: left;
	text-align:left;
	position: relative;
	
	}
	#post_1 span{ margin: 2px 5px; }
#post_2{
	width:80%; 
	float: left;
	text-align:left;
	position: relative; 
	}
/*Размер и подсветка иконки*/
.icon-envelope-letter	{
	font-size:18px;
	}
#post_right{
		width:40%; 
		float: right; 
		margin: 10px; 
		padding: 10px ; 
		overflow: hidden;
		background: #fff;
		
}
	


/*Блоки*/
.block_s{
width:94%; 
float: left;
margin: 0px 10px 10px 10px;  
overflow: hidden;
background: #f2dfb4 ; 
padding: 10px 10px 10px 10px ; 
color: #000;   
}
/*Конец юлоков*/
/*Блоки*/
.block_red{
width:94%; 
float: left;
margin: 0px 10px 10px 10px;  
overflow: hidden;
background: #F76669 ; 
padding: 10px 10px 10px 10px ; 
color: #000;  
font-size:16px; 
-moz-box-shadow: 5px 5px 7px rgba(33, 33, 33, 1); 
-webkit-box-shadow: 5px 5px 7px rgba(33, 33, 33, 7); 
-box-shadow: 5px 5px 7px rgba(33, 33, 33, 7);
-o-transform: rotate(0deg); 
}

.block_reg{
		width:94%; float: 
		left;margin: 0px 0px 10px 10px;  
		overflow: hidden;
		background: #eab57d ;
		 padding: 5px 10px 5px 10px ;
		  color: #000;
}
.block_reg h1{ 
			margin: 0px 10px 0px 10px;
			font-size:18px;
	}
.block_reg:hover{
	background: #75a04d;
	 color: #FFFFFF;
	}
/*Конец юлоков*/


.top-section { background: #f6f3f3 url(images/top-section.png) repeat-x center 0; }

.slider-holder { margin-bottom: 0px; position: relative; }
.slider-holder span.slider-shadow { background: url(images/slider-shadow.png) no-repeat 0 0; width: 976px; height: 25px; position: absolute; bottom: -25px; right: -20px; }
.slider-holder span.overlay { height:  291px; width:  930px; position: absolute; top: 4px; left: 5px; box-shadow: 0px 0px 3px rgba(0,0,0,0.2) inset; -moz-box-shadow: 0px 0px 3px rgba(0,0,0,0.2) inset; -webkit-box-shadow: 0px 0px 3px rgba(0,0,0,0.2) inset; -o-box-shadow: 0px 0px 3px rgba(0,0,0,0.2) inset; border-radius: 7px; -moz-border-radius: 7px; -webkit-border-radius: 7px; -o-border-radius: 7px;  }

.flexslider { width: 940px; position: relative; z-index: 2; height: 299px; border-radius: 8px; -moz-border-radius: 8px; -webkit-border-radius: 8px; -o-border-radius: 8px; border: 1px solid #dedede !important; }
.flexslider ul { list-style: none; list-style-position: outside; position: relative; }
.flexslider ul li { float: left; width: 940px; height: 299px; position: relative; }
.flexslider ul li img { width: 940px; height: 299px; }
.flexslider ul li .slide-cnt { width: 776px; position: absolute; top: 46px; left: 63px; }
.flexslider ul li .slide-cnt h2 { font-size: 44px; line-height: 55px; text-align: center; font-weight: normal; padding-bottom: 85px; }
.flexslider ul li .slide-cnt .btns { width: 360px; height: 30px; margin: 0 auto; background: url(images/slider-btns.png) no-repeat 0 0;}
.flexslider ul li .slide-cnt .btns a.left-btn { background: url(images/left-btn.png) no-repeat 0 0; padding: 0 0 0 12px; float: left; font-size: 15px; font-weight: bold; color: #fff; text-shadow: rgba(0,0,0,0.6) 0px 1px 2px; }
.flexslider ul li .slide-cnt .btns a.left-btn span { background: url(images/left-btn.png) no-repeat right 0; padding: 0 28px 0 0; float: left; position: relative; left: 20px; line-height: 30px; height: 30px; }
.flexslider ul li .slide-cnt .btns a.right-btn { float: right; font-size: 15px; color: #696969; font-weight: bold; line-height: 30px; margin-right: 28px; }
.flexslider ul li .slide-cnt .btns a.right-btn:hover { color: #333; }
.flexslider ul li .slide-cnt .btns a:hover { text-decoration: none; color: #ebe5f2; } 

.boxes { padding-bottom: 29px; }
.boxes .box { width: 268px; float: left; background: #fff url(images/box-bg.png) repeat-x 0 bottom; position: relative; border: 1px solid #e6e6e6; padding: 10px; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; margin: 0 0 0 120px ;}
.boxes .box h4 { font-size: 16px; color: #696969; text-align: center; text-transform: uppercase; }
.boxes .box h4 a { color: #696969; text-shadow: rgba(251,251,251,1) 1px 1px 0px; }
.boxes .box h4 a:hover { color: #333; text-decoration: none; }
.boxes .box .img-holder { position: relative; width: 268px; margin:  0 auto 5px auto; border: 1px solid #bababa; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px; -o-border-radius: 6px; }
.boxes .box .img-holder:before { position: absolute; font-size: 0; line-height: 0; text-indent: -4000px; top: 0; left:  0; right:  0; bottom: 0;  box-shadow: 0px 0px 0px rgba(0,0,0,0.5) inset; -moz-box-shadow: 0px 0px 3px rgba(0,0,0,0.5) inset; -webkit-box-shadow: 0px 0px 3px rgba(0,0,0,0.5) inset; -o-box-shadow: 0px 0px 3px rgba(0,0,0,0.5) inset;  border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; -o-border-radius: 3px; }
.boxes .box img { display: block; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; -o-border-radius: 3px; }
.boxes .box span.box-shadow { background: url(images/box-shadow.png) no-repeat 0 0; width: 298px; height: 9px; position: absolute; bottom: -9px; left: 0; }

.main { background: none !important; background-image: none !important; background-color: transparent; padding-top: 60px; padding-bottom: 47px; }
.main section { padding-bottom: 50px; }
.main h2 { font-size: 20px; line-height: 20px; font-weight: normal; }
.main h3 { font-weight: normal; font-size: 18px; color: #696969; padding-bottom: 19px; }
.main h3 a { color: #696969; }


.main .cols .col_center { width: 240px; float: left; font-size: 14px; padding: 0 0px 0 80px; }
.main .cols .col_center ul { list-style: none; list-style-position: outside; }
.main .cols .col_center ul li { background: url(images/list-arr.png) no-repeat 0 6px; padding-left: 14px; color: #696969; font-size: 12px; padding-bottom: 4px; }
.main .cols .col_center ul li a { color: #696969; }

.main .cols .col { width: 300px; float: left; }
.main .cols .col + .col { padding-left: 20px; }
.main .cols .last-col { padding-right: 0; }
.main .cols .col ul { list-style: none; list-style-position: outside; }
.main .cols .col ul li { background: url(images/list-arr.png) no-repeat 0 6px; padding-left: 14px; color: #696969; font-size: 12px; padding-bottom: 4px; }
.main .cols .col ul li a { color: #696969; }

.section-bottom  { padding-top: 56px;  background: url(images/section-bottom.png) repeat-x center 0; }
.section-bottom .cols .col { width: 274px; float: left; }
.section-bottom .cols .col + .col { padding-left: 55px; }
.section-bottom .cols .col h2 { font-size: 20px; line-height: 20px; font-weight: normal; }
.section-bottom .cols .col h2 span.plus { color: #bebebe; }
.section-bottom .cols .col h3 { color: #696969; font-size: 18px; font-weight: normal; position: relative; padding-bottom: 25px; height: 100%; }
.section-bottom .cols .col h3 a { color: #696969; padding-left: 67px; }
.section-bottom .cols .col h3 span { width: 48px; height: 46px; position: absolute; top: -17px; left: 2px; display: block;  background: url(images/title-ico.png) no-repeat 0 0; }
.section-bottom .cols .col h3 span.about-ico { background-position: 0 0; }
.section-bottom .cols .col h3 span.news-ico { background-position: -48px 0; }
.section-bottom .cols .col h3 span.subscribe-ico { background-position: -97px 0; }
.section-bottom .cols .col p { color: #696969; padding-bottom: 18px; }
.section-bottom .cols .col a:hover { color: #696969; }
.section-bottom .cols .col a.more-btn { padding: 5px 24px 5px 24px; font-size: 12px; color: #fff; font-weight: bold;  background: url(images/more-btn.png) repeat-x 0 0; border-radius: 12px; -moz-border-radius: 12px; -webkit-border-radius: 12px; -o-border-radius: 12px; }
.section-bottom .cols .col a.more-btn:hover { text-decoration: none; background-position: 0 bottom; }
.section-bottom .cols .col ul { list-style: none; list-style-position: outside; }
.section-bottom .cols .col ul li { background: transparent; background-color: #f3eaea; margin-bottom: 2px; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; padding: 7px 9px 8px; }
.section-bottom .cols .col ul li.bg { background-color: #f8f4f4;  }
.section-bottom .cols .col ul li small { font-size: 11px; display: block; line-height: 16px; }
.section-bottom .cols .col ul li h5 { font-size: 14px; font-weight: bold; }

.section-bottom .cols .subscribe-col { padding-left: 44px  !important; }
.section-bottom .cols .subscribe-col .col-cnt { width: 234px; padding-left: 15px; }
.section-bottom .cols .subscribe-col p { padding-bottom: 14px; }

.section-bottom .cols .col form { position: relative; width: 235px; padding-bottom: 23px; height: 100%; }
.section-bottom .cols .col input.field { width: 143px; height: 15px; padding: 4px 24px 4px 15px; border: 0; background-color: #f4eef5;  border-radius: 11px; -moz-border-radius: 11px; -webkit-border-radius: 11px; -o-border-radius: 11px;
box-shadow: 3px 2px 2px #eae5eb inset; -moz-box-shadow: 3px 2px 2px #eae5eb inset; -webkit-box-shadow: 3px 2px 2px #eae5eb inset; -o-box-shadow: 3px 2px 2px #eae5eb inset; font-size: 12px; color: #b1aeb2; }
.section-bottom .cols .col input.submit-btn { width: 70px; height: 23px; background: url(images/submit-btn.png) repeat-x 0 0; text-align: center; line-height: px; cursor: pointer; border: 0;
border-radius: 12px; -moz-border-radius: 12px; -webkit-border-radius: 12px; -o-border-radius: 12px; color: #fff; font-size: 11px; font-weight: bold; position: absolute; top: 0; right: 0; }
.section-bottom .cols .col input.submit-btn:hover { background-position: 0 bottom;  }

#wrapper { min-height: 100%; height: auto !important; height: 100%; margin: 0 auto -46px; }
#footer, #footer-push { height: 46px; }
#footer { background-color: #ece8df; line-height: 46px; }
#footer p.copy { color: #6A579E; }
#footer p.copy a { color: #afafaf; text-decoration: underline; }
#footer p.copy a:hover { text-decoration: none; }

.footer-nav ul { list-style: none; list-style-position: outside; }
.footer-nav ul li { display: inline; background: url(images/nav-border.png) no-repeat right 0; padding: 0 10px; }
.footer-nav ul li.last { background: transparent; padding-right: 0; }
.footer-nav li a { color: #6A579E; }
.footer-nav li a:hover ,
.footer-nav li.active a { color: #696969; text-decoration: none; }


/*список котегорий */	
.couples
 {
	 width:210px; 
	 float: left; 
	 margin: 5px 0px 0px 0px;  
	 overflow: hidden;
	 background: #FFF ; 
	 padding: 10px 10px 10px 10px ;
	 border: 2px solid #b3df89; 
	 color: #000; 
	 font-size:16px;  
}

.couples:hover {

   color: #000;
  background: #b3df89 ;
 
}
.couples a {text-decoration: none; color: #000; }


/*    загрузка файла  */
/* --   После нажатия кнопки  */
.loading{
	display: none;
	text-align: center;
	padding: 10px 0;
	font-size: 24px;
	color: rgba(214,53,56,1.00);
	
	}
.loading.active {
	display: block;
	}
/* --   До нажатия кнопки  */	
.loadingNO{
	display: block;
	}
.loadingNO.active {
	display: none;
	}
	



/* Таблица регистрации пар*/	
	
	.features-table
{
width: 100%;
margin: 0 auto;
border-collapse: separate;
border-spacing: 0;
text-shadow: 0 1px 0 #fff;
color: #2a2a2a;
background: #fafafa;
background-image: -moz-linear-gradient(top, #fff, #eaeaea, #fff); /* Firefox 3.6 */
background-image: -webkit-gradient(linear,center bottom,center top,from(#fff),color-stop(0.5, #eaeaea),to(#fff));
}
 
.features-table td
{
height: 30px;
line-height: 20px;
padding: 0 10px;
border-bottom: 1px solid #cdcdcd;
box-shadow: 0 1px 0 white;
-moz-box-shadow: 0 1px 0 white;
-webkit-box-shadow: 0 1px 0 white;
white-space: nowrap;

}
 
/*Body Таблица регистрации пар*/
.features-table tbody td
{

font: normal 12px Verdana, Arial, Helvetica;

}
 
.features-table tbody td:first-child
{
width: auto;
text-align: left;
}
 
.features-table td:nth-child(2), .features-table td:nth-child(3)
{
background: #efefef;
background: rgba(144,144,144,0.15);
border-right: 1px solid white;
}

.features-table td:nth-child(4)
{
background: #e7f3d4;
background: rgba(184,243,85,0.3);
}
/*Header Таблица регистрации пар*/
.features-table thead td
{
font: bold 1.3em 'trebuchet MS', 'Lucida Sans', Arial;
-moz-border-radius-topright: 10px;
-moz-border-radius-topleft: 10px;
border-top-right-radius: 10px;
border-top-left-radius: 10px;
border-top: 1px solid #eaeaea;
}
 
.features-table thead td:first-child
{
border-top: none;
}
 
	/*Body Таблица WDC регистрации пар*/
.features-table-wdc
{
width: 100%;
margin: 0 auto;
border-collapse: separate;
border-spacing: 0;
text-shadow: 0 1px 0 #fff;
color: #2a2a2a;
background: #fafafa;
background-image: -moz-linear-gradient(top, #fff, #eaeaea, #fff); /* Firefox 3.6 */
background-image: -webkit-gradient(linear,center bottom,center top,from(#fff),color-stop(0.5, #eaeaea),to(#fff));
}
 
.features-table-wdc td
{
height: 50px;
line-height: 50px;
padding: 0 20px;
border-bottom: 1px solid #cdcdcd;
box-shadow: 0 1px 0 white;
-moz-box-shadow: 0 1px 0 white;
-webkit-box-shadow: 0 1px 0 white;
white-space: nowrap;

}
	
.features-table-wdc tbody td
{

font: normal 12px Verdana, Arial, Helvetica;

}
 
.features-table-wdc tbody td:first-child
{

width: auto;
text-align: left;
}
 
.features-table-wdc td:nth-child(2)
{
background: #efefef;
background: rgba(144,144,144,0.15);
border-right: 1px solid white;
}

.features-table-wdc td:nth-child(3)
{
background: #e7f3d4;
background: rgba(184,243,85,0.3);
border-right: 1px solid white;
}
/*Header Таблица регистрации пар*/
.features-table-wdc thead td
{
font: bold 1.3em 'trebuchet MS', 'Lucida Sans', Arial;
-moz-border-radius-topright: 10px;
-moz-border-radius-topleft: 10px;
border-top-right-radius: 10px;
border-top-left-radius: 10px;
border-top: 1px solid #eaeaea;
}
 
.features-table-wdc thead td:first-child
{
border-top: none;
}
/*таблица регистрации пар*/


/*стиль таблицы*/
input, textarea, select {
    
    
    background:#efefef;
    border:1px solid #dedede;
	padding:5px;
    font-size: 12px;
	border-radius:5px;
    color:#3a3a3a;
    -moz-border-radius:5px;
    -webkit-border-radius:5px;
    
}
form10, input {
	text-align:center;
	}

.error {
    color: #F00;
    font-weight: 400px;
}
/*Инструкция*/
.help_block_title{
	width:100%; 
	float: left;
	margin: 10px; 
	padding: 10px; 
	background: #61F66A ;
	}
	
.help_block{
	width:100%; 
	float: left;
	margin: 10px; 
	padding: 10px; 
	background: #b3df89 ;
	}
.help_block img{
	align-content:center;
	width: 900px;
	border: #fff solid 2px;
	margin: 10px 0;
	}	
.help_block h1{
	color:#000000;
	font-size:16px;
	}
.help_block p{
	text-align:left;
	color:#000000;
	font-size:14px;
	}
	
	.help_block li{
		margin: 0 0 0 20px;
	text-align:left;
	color:#000000;
	font-size:14px;
	}
	
	
/*#button_yy 
{
font:  14px Verdana, Arial, sans-serif;
text-decoration: none;
color: #000000;
padding:0px 30px 0px 0px;
border-color:#ccccff;
border-style:solid;
border-width:2px;
background:white;
}*/
	
	
	/*.uploadButton {
    display: block;
    width: 200px;
    background: #3df;
    padding: 10px;
    color: #FFF;
    font-size: 12px;
    font-weight: bold;
    font-family: Tahoma;
    text-align: center;
    border-radius: 10px;
    cursor: pointer;
}
.uploadButton:hover {
    background: #3ce;
}*/

/*.uploadButton {
    display: block;
    width: 200px;
    background: #3df;
    padding: 10px;
    color: #FFF;
    font-size: 16px;
    font-weight: bold;
    font-family: Tahoma;
    text-align: center;
    border-radius: 10px;
    cursor: pointer;
}
.uploadButton:hover {
    background: #3ce;
}
.filename {
     background: #fff;
     border: 0;
}*/

.file-upload {
     position: relative; /* Даем возможность делать позиционирование, внутри данного элемента */
     overflow: hidden; /* Все что выходит за пределы - скрываем */
     width: 100%; /* Кнопка на всю ширину блока */
     max-width: 520px;
     
width: 200px;
     height: auto; /* Не фиксируем высоту — чтобы текст не обрезался */
     min-height: 48px;
     background: #bfe9bf;
     border-radius: 3px;
     padding: 0;
     color: #fff;
     text-align: center;
	 font-size: 12px;
}
.file-upload:hover {
     background: #7aad55;
}
.file-upload input[type="file"]{
    /* Firefox-safe: keep input clickable (do not use display:none) */
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: 3;
}

.file-upload label {
     /* Растягиваем label на всю возможную площадь блока .file-upload */
     display: flex;
     align-items: center;
     justify-content: center;
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     cursor: pointer;
}
.file-upload label::before{
     content: "";
     width: 18px;
     height: 18px;
     flex: 0 0 18px;
     position: absolute;
     left: 16px;
     top: 50%;
     transform: translateY(-50%);
     background-repeat: no-repeat;
     background-position: center;
     background-size: contain;
     /* простая иконка «загрузка» (SVG data URI) */
     background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 5 17 10'/%3E%3Cline x1='12' y1='5' x2='12' y2='20'/%3E%3C/svg%3E");
}
.file-upload span {
     line-height: 1.2;
     padding: 14px 46px; /* оставляем место под иконку слева и запас справа */
     display: block;
     width: 100%;
     text-align: center;
}
.filename {
     background: #fff;
     border: 0;
}



/*Таблица 4 колонки*/
#dTable1 { width: 100%; margin-bottom: 20px; background: #eef9e4; border-top: 5px solid #d7eec1; border-collapse: collapse; }
#dTable1 tbody td:nth-child(1) { text-align:left; }
#dTable1 tbody td:nth-child(2) { width: 60px; text-align:center; }
#dTable1 tbody td:nth-child(3) { width: 60px; text-align:center; }
#dTable1 tbody td:nth-child(4) { width: 60px; text-align:center; border-left: 2px solid #000; }
#dTable1 th { font-size: 14px; color: black; text-align:center; padding: 5px; background: #d7eec1; border: none; border-bottom: 5px solid #fff;}
#dTable1 td { font-size: 14px; padding: 5px; border: none; border-bottom: 5px solid #fff; }
#dTable1 tr:hover { background: #d5e6a2; /* Цвет фона */}

/*Таблица 3 колонки*/
#dTable2 { width: 100%; margin-bottom: 20px; background: #eef9e4; border-top: 5px solid #d7eec1; border-collapse: collapse; }
#dTable2 tbody td:nth-child(1) { text-align:left; }
#dTable2 tbody td:nth-child(2) { width: 60px; text-align:center; }
#dTable2 tbody td:nth-child(3) { width: 60px; text-align:center; border-left: 2px solid #000; }
#dTable2 th { font-size: 14px; color: black; text-align:center; padding: 5px; background: #d7eec1; border: none; border-bottom: 5px solid #fff;}
#dTable2 td { font-size: 14px; padding: 5px; border: none; border-bottom: 5px solid #fff; }
#dTable2 tr:hover { background: #d5e6a2; /* Цвет фона */}

/* Кнопки действий в таблицах (редактировать/удалить) — увеличиваем кликабельную область и гарантируем клики */
#dTable2 a.row-action{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  text-decoration: none;
  cursor: pointer;
  position: relative;
  z-index: 2;
}
#dTable2 a.row-action img{
  display:block;
  pointer-events: none;
}
#dTable2 a.row-action:hover{
  background: rgba(200, 244, 208, 0.65);
}

/* trainer.php / assignee.php: действия в таблице как в dancers.php (без увеличенных "кнопок") */
#dTable2.dtable-like-dancers a.row-action{
  display: inline-block;
  width: auto;
  height: auto;
  padding: 0;
  border-radius: 0;
  background: transparent;
  line-height: 0;
}
#dTable2.dtable-like-dancers a.row-action:hover{
  background: transparent;
}
#dTable2.dtable-like-dancers a.row-action img{
  display: inline-block;
  vertical-align: middle;
  pointer-events: none;
}

/*Таблица 3 Состав участников*/
#dTable3 { width: 100%; margin-bottom: 20px; background: #eef9e4; border-top: 5px solid #d7eec1; border-collapse: collapse; }
#dTable3 tbody td:nth-child(1) { width: 30px; text-align:center; }
#dTable3 tbody td:nth-child(2) { text-align:left; }
#dTable3 tbody td:nth-child(3) { width: 100px; text-align:center; border-left: 2px solid #000; }
#dTable3 th { font-size: 14px; color: black; text-align:center; padding: 5px; background: #d7eec1; border: none; border-bottom: 5px solid #fff;}
#dTable3 td { font-size: 14px; padding: 5px; border: none; border-bottom: 5px solid #fff; }
#dTable3 tr:hover { background: #d5e6a2; /* Цвет фона */}

/*Таблица 6 Зарегистрированные*/
#dTable4 { width: 100%; margin-bottom: 20px; background: #eef9e4; border-top: 5px solid #d7eec1; border-collapse: collapse; }
#dTable4 tbody td:nth-child(1) { width: 60px; text-align:center; font-size: 35px; color: #000; }
#dTable4 tbody td:nth-child(2) { text-align:left; font-size: 14px }
#dTable4 tbody td:nth-child(2) p { text-align:left; font-size: 12px; font-style: italic; }
#dTable4 tbody td:nth-child(3) { width: 200px;  text-align:left; font-size: 14px; line-height: 14px; }
#dTable4 tbody td:nth-child(4) { width: 60px; text-align:center; font-size: 14px }
#dTable4 tbody td:nth-child(5) { width: 60px; text-align:center; font-size: 14px }
#dTable4 tbody td:nth-child(6) { width: 60px; text-align:center; border-left: 2px solid #000; }
#dTable4 th { font-size: 14px; color: black; text-align:center; padding: 5px; background: #d7eec1; border: none; border-bottom: 5px solid #fff;}
#dTable4 td { font-size: 14px; padding: 5px; border: none; border-bottom: 5px solid #fff; }
#dTable4 tr:hover { background: #d5e6a2; /* Цвет фона */}

/* ==============================
   REGISTERED.PHP – мобильная таблица
   превращаем dTable4 в карточки, чтобы вся информация помещалась на экране
   ============================== */
@media (max-width: 768px){
  #dTable4.reg-table--registered{
    background: transparent;
    border-top: none;
    margin-bottom: 14px;
  }
  #dTable4.reg-table--registered thead{ display:none; }
  #dTable4.reg-table--registered,
  #dTable4.reg-table--registered tbody{ display:block; width:100%; }

  #dTable4.reg-table--registered tr{
    display:block;
    position:relative;
    background:#fff;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 18px;
    padding: 14px 14px 12px;
    margin: 12px 0;
    box-shadow: 0 8px 24px rgba(0,0,0,.08);
  }

  #dTable4.reg-table--registered td{
    display:block;
    width:100% !important;
    padding:0 !important;
    border:none !important;
    background:transparent !important;
    text-align:left !important;
  }

  /* № заявки – бейдж в правом верхнем углу */
  #dTable4.reg-table--registered td:nth-child(1){
    position:absolute;
    top: 12px;
    right: 12px;
    width:auto !important;
    padding: 6px 10px !important;
    font-size: 20px !important;
    line-height: 1 !important;
    background:#e6f6e2 !important;
    border:1px solid #cfeccc !important;
    border-radius: 999px;
    font-weight: 800;
  }

  /* Название + состав */
  #dTable4.reg-table--registered td:nth-child(2){
    padding-right: 120px !important; /* место под бейдж */
  }
  #dTable4.reg-table--registered td:nth-child(2) b{
    display:block;
    font-size: 18px;
    line-height: 1.2;
    margin: 0 0 6px;
  }
  #dTable4.reg-table--registered td:nth-child(2) p{
    margin: 0;
    font-size: 13px;
    line-height: 1.35;
    color: #444;
    font-style: normal;
  }

  /* Категория */
  #dTable4.reg-table--registered td:nth-child(3){
    margin-top: 10px;
    padding-top: 10px !important;
    border-top: 1px solid rgba(0,0,0,.08) !important;
    font-size: 13px;
    line-height: 1.35;
  }
  #dTable4.reg-table--registered td:nth-child(3)::before{
    content: "Категория";
    display:block;
    font-size: 12px;
    color: #6b7280;
    margin: 0 0 4px;
  }

  /* Фонограмма */
  #dTable4.reg-table--registered td:nth-child(4){
    margin-top: 10px;
    padding-top: 10px !important;
    border-top: 1px solid rgba(0,0,0,.08) !important;
    display:flex;
    align-items:center;
    gap: 10px;
    font-size: 13px;
  }
  #dTable4.reg-table--registered td:nth-child(4)::before{
    content: "Фонограмма";
    font-size: 12px;
    color: #6b7280;
  }
  #dTable4.reg-table--registered .reg-music{
    display:inline-flex;
    align-items:center;
    gap: 8px;
  }
  #dTable4.reg-table--registered .reg-music img{ display:block; }
  #dTable4.reg-table--registered .reg-music__text{
    font-weight: 700;
    color: #111;
  }

  /* Действия: Редактировать / Удалить — 2 кнопки в ряд */
  #dTable4.reg-table--registered td:nth-child(5),
  #dTable4.reg-table--registered td:nth-child(6){
    width: calc(50% - 6px) !important;
    margin-top: 12px;
    padding-top: 12px !important;
    border-top: 1px solid rgba(0,0,0,.08) !important;
  }

  /* ВАЖНО: порядок кнопок на мобилке — Удалить слева, Редактировать справа */
  #dTable4.reg-table--registered td:nth-child(6){
    float:left;
    margin-right: 12px;
  }
  #dTable4.reg-table--registered td:nth-child(5){
    float:right;
  }

  /* фикс высоты карточки при float-кнопках */
  #dTable4.reg-table--registered tr::after{
    content:"";
    display:block;
    clear:both;
  }
  #dTable4.reg-table--registered .reg-action{
    display:flex;
    align-items:center;
    justify-content:center;
    gap: 8px;
    width: 100%;
    padding: 12px 10px;
    border-radius: 14px;
    border: 1px solid rgba(0,0,0,.10);
    background: #f6f7f8;
    text-decoration:none;
    color:#111;
    font-weight: 800;
  }
  #dTable4.reg-table--registered .reg-action img{ width: 18px; height: 18px; }

  /* Цвета кнопок — в общем стиле, но с понятным смыслом */
  #dTable4.reg-table--registered .reg-action--delete{
    background:#ffe6e6;
    border-color:#f5b4b4;
    color:#111;
  }
  #dTable4.reg-table--registered .reg-action--edit{
    background:#e6f6e2;
    border-color:#cfeccc;
    color:#111;
  }
  /* Убираем hover-подсветку карточек на мобилке (registered.php) */
  #dTable4.reg-table--registered tr:hover{ background: #fff !important; }
  #dTable4.reg-table--registered tbody tr:hover > td{ background: transparent !important; }

}

/* На десктопе оставляем таблицу как есть — скрываем доп. подписи */
@media (min-width: 769px){
  .reg-music__text{ display:none; }
  .reg-action span{ display:none; }
}

#dTable5 { width: 100%; margin-bottom: 20px; background: #eef9e4; border-top: 5px solid #d7eec1; border-collapse: collapse; }
#dTable5 tbody td:nth-child(1) { width: 30px; text-align:center; }
#dTable5 tbody td:nth-child(2) { text-align:left; }
#dTable5 tbody td:nth-child(3) { width: 80px; text-align:center; }
#dTable5 tbody td:nth-child(4) { width: 100px; text-align:center; }
/* На всякий случай фиксируем ширину «возраста» как последнего столбца */
#dTable5 th:first-child, #dTable5 td:first-child { width: 30px; }
#dTable5 th:last-child, #dTable5 td:last-child { width: 100px; }
#dTable5 th { font-size: 14px; color: black; text-align:center; padding: 5px; background: #d7eec1; border: none; border-bottom: 5px solid #fff;}
#dTable5 td { font-size: 14px; padding: 5px; border: none; border-bottom: 5px solid #fff; }
#dTable5 tr:hover { background: #d5e6a2; /* Цвет фона */}

/* =====================================================
   TABLES – единый стиль (белая подложка + подсветка строк)
   Требование:
   - все таблицы на белой подложке
   - при наведении подсвечивается ВСЯ строка нежно-зелёным
   - если в строке стоит галочка (checkbox/radio) — строка подсвечена ПОСТОЯННО
   ===================================================== */

/* Белая подложка для всех основных таблиц */
#dTable1,
#dTable2,
#dTable3,
#dTable4,
#dTable5,
table {
  background: #fff !important;
  background-image: none !important;
}

/* Убираем «разрывы» между строками (толстые белые линии), чтобы подсветка была цельной */
#dTable1 td,
#dTable2 td,
#dTable3 td,
#dTable4 td,
#dTable5 td,
#dTable1 th,
#dTable2 th,
#dTable3 th,
#dTable4 th,
#dTable5 th {
  border-bottom: 1px solid #e6e7ea !important;
}

/* Нежно‑зелёный hover на всю строку */
#dTable1 tbody tr:hover > td,
#dTable2 tbody tr:hover > td,
#dTable3 tbody tr:hover > td,
#dTable4 tbody tr:hover > td,
#dTable5 tbody tr:hover > td,
table tbody tr:hover > td {
  background: rgba(179, 223, 137, 0.18) !important;
}

/* ПОСТОЯННАЯ подсветка строки, если чекбокс/радио отмечен
   1) Через класс .is-selected (JS fallback)
   2) Через :has() (работает даже если JS не отработал) */

/* JS fallback */
table tbody tr.is-selected > td {
  background: rgba(179, 223, 137, 0.38) !important;
}
table tbody tr.is-selected:hover > td {
  background: rgba(179, 223, 137, 0.46) !important;
}

/* CSS :has() — подсветка по факту checked (главное для check_in.php) */
table tbody tr:has(input[type="checkbox"]:checked) > td,
table tbody tr:has(input[type="radio"]:checked) > td {
  background: rgba(179, 223, 137, 0.38) !important;
}
table tbody tr:has(input[type="checkbox"]:checked):hover > td,
table tbody tr:has(input[type="radio"]:checked):hover > td {
  background: rgba(179, 223, 137, 0.46) !important;
}

/* =====================================================
   FIX: trainer.php + assignee.php — hover по ЛЮБОЙ части строки
   Требование: при наведении мышью на строку подсвечиваются ВСЕ <td>
   даже если над ячейками есть фоновые слои/контейнеры.
   ===================================================== */

/* Поднимаем таблицу/ячейки над возможными декоративными слоями контейнеров */
#dTable2.dtable-like-dancers{
  position: relative;
  z-index: 5;
}
#dTable2.dtable-like-dancers td,
#dTable2.dtable-like-dancers th{
  position: relative;
  z-index: 6;
}

/* ЯВНЫЙ hover как на dancers.php (не полупрозрачный) */
#dTable2.dtable-like-dancers tbody tr:hover > td,
#dTable2.dtable-like-dancers tbody tr.is-hover > td{
  background: #d5e6a2 !important;
}


.uvedRazdel { width:100%; float: left; margin: 0px 0; overflow: hidden; background: #b3df89; padding: 10px; color: #000; font-size:12px; text-align: center; }
.uvedRazdel2 { width:100%; float: left; margin: 10px 0; overflow: hidden; background: #b3df89; padding: 10px; color: #000; font-size:16px; text-align: center; }
.uvedRazdel2 a { color:darkgreen; }
.uvedRazdelRight {width:100%; float: left; margin: 0px 0px 0px 0px; overflow: hidden; position: relative; background: #b3df89; padding: 10px; color: #000; }
.uvedRazdelRightBloc1 { width:100%; float: left; overflow: hidden; margin: 0px 10px 10px 10px; text-align: center; }
.uvedRazdelRightBloc1 h2 { font-size: 20px; font-weight: 600; }
.uvedRazdelRightBloc1 p { margin: 0px; font-size: 12px; }

.uvedRazdel3 { width:100%; float: left; margin: 10px 0 0 0; overflow: hidden; background: #b3df89; padding: 10px 10px 5px 10px ; color: #000; font-size:12px; text-align: center; }
.uvedRazdel3_1 { width:100%; float: left; margin: 0px 0; overflow: hidden; background: #b3df89; padding: 0px 10px 0 10px ; color: #000; font-size:12px; text-align: center; }


.uvedRazdelOK {width: 100%; margin: 10px 0px 10px 0px;overflow: hidden; background: #66ff66 ; padding: 10px  ; color: #000; font-size: 12px; text-align: center; }
.uvedRazdelError {width: 100%; margin: 10px 0px 10px 0px;overflow: hidden; background: #FF6666 ; padding: 10px  ; color: #000; font-size: 12px; text-align: center; }
/* ===== Мобильное уведомление (модальное окно ошибки) ===== */
.uvedRazdelErrorWrap{width:100%; margin:0; padding:0;}
.uvedClose{display:none;}

@media (max-width: 768px){
  .uvedRazdelErrorWrap{
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    z-index: 99999;
  }
  .uvedRazdelErrorWrap .uvedRazdelError{
    width: min(92vw, 520px);
    margin: 0;
    max-height: 80vh;
    overflow: auto;
    padding: 18px 16px 14px;
    border-radius: 18px;
    box-shadow: 0 20px 60px rgba(0,0,0,.35);
    font-size: 15px;
    text-align: left;
    position: relative;
  }
  .uvedRazdelErrorWrap .uvedRazdelError h2{
    font-size: 20px;
    margin: 0 0 8px 0;
    text-align: center;
  }
  .uvedRazdelErrorWrap .uvedRazdelError p{
    font-size: 15px;
    line-height: 1.35;
    margin: 0;
  }
  .uvedClose{
    display: block;
    position: absolute;
    top: 10px;
    right: 10px;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    border: none;
    background: rgba(255,255,255,.25);
    color: #000;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
  }
  .uvedClose:active{transform: scale(0.98);}
  html.has-uved-modal, body.has-uved-modal{overflow: hidden;}
}

/* ===== Уведомления как модальное окно (весь сайт) ===== */
/* затемнение фона */
.site-notice-overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
  z-index: 99998;
}
.site-notice-overlay.is-active{
  opacity: 1;
  pointer-events: auto;
}

/* блокируем прокрутку на фоне */
html.notice-open,
body.notice-open{
  overflow: hidden;
}

/* само модальное уведомление */
.site-notice-modal{
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: min(92vw, 520px) !important;
  max-height: 80vh;
  overflow: auto;
  margin: 0 !important;
  padding: 18px 16px 14px !important;
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
  text-align: left !important;
  z-index: 99999;
}

.site-notice-modal.site-notice--success{
  background: #c9f5c9 !important;
  color: #083a14 !important;
}
.site-notice-modal.site-notice--error{
  background: #d83a3a !important;
  color: #fff !important;
}

.site-notice-modal h2,
.site-notice-modal h4,
.site-notice-modal p,
.site-notice-modal a{
  color: inherit;
}
.site-notice-modal h2{
  font-size: 20px;
  margin: 0 0 8px 0;
  text-align: center;
}
.site-notice-modal p{
  font-size: 15px;
  line-height: 1.35;
  margin: 0;
}

/* нижняя полоска с крестиком */
.site-notice-closebar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 14px;
  padding-top: 10px;
  border-top: 1px solid rgba(0,0,0,.18);
  cursor: pointer;
}
.site-notice--error .site-notice-closebar{
  border-top-color: rgba(255,255,255,.25);
}
.site-notice-closelabel{
  font-size: 14px;
  opacity: .9;
}
.site-notice-closebtn{
  width: 40px;
  height: 34px;
  border: none;
  background: rgba(255,255,255,.18);
  color: inherit;
  border-radius: 12px;
  font-size: 22px;
  line-height: 1;
}

/* ===== Подтверждение удаления (модальное окно, весь сайт) ===== */
.site-confirm-overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
  z-index: 100000;
}
.site-confirm-overlay.is-active{
  opacity: 1;
  pointer-events: auto;
}
html.confirm-open,
body.confirm-open{
  overflow: hidden;
}
.site-confirm-modal{
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(92vw, 520px);
  max-height: 80vh;
  overflow: auto;
  background: #fff;
  color: #111;
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
  padding: 16px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
  z-index: 100001;
}
.site-confirm-modal.is-active{
  opacity: 1;
  pointer-events: auto;
}
.site-confirm-title{
  margin: 0 0 10px 0;
  font-size: inherit; /* стандартный размер шрифта сайта */
  font-weight: 700;
  text-align: center;
}
.site-confirm-desc p{
  margin: 0;
  font-size: inherit;
  line-height: 1.35;
}
.site-confirm-actions{
  display: flex;
  gap: 10px;
  margin-top: 14px;
}
.site-confirm-btn{
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.12);
  background: #f6f6f6;
  color: #111;
  cursor: pointer;
  font-size: inherit;
  line-height: 1.1;
}
.site-confirm-btn:active{ transform: scale(0.99); }
.site-confirm-delete{
  background: #d83a3a;
  border-color: rgba(0,0,0,.12);
  color: #fff;
}
.site-confirm-cancel{
  background: #f6f6f6;
}
.site-confirm-ico{
  display: inline-flex;
}

/* Старая спец-обвязка .uvedRazdelErrorWrap больше не должна превращаться в оверлей */
.uvedRazdelErrorWrap{
  position: static !important;
  inset: auto !important;
  background: transparent !important;
  display: block !important;
  padding: 0 !important;
  z-index: auto !important;
}
.uvedClose{ display:none !important; }



.form1 { width:100%; float: left; margin: 0px 0; overflow: hidden; background: #b3df89; padding: 10px; color: #000; font-size:12px; text-align: center; }
.form1_1 { width:100%; float: left; margin: 0px 0; overflow: hidden; background: #fff; padding: 10px; color: #000; font-size:12px; text-align: center; }
.form1_2 { width:50%; float: right; margin: 0px 0; overflow: hidden; background: #b3df89; padding: 5px; color: #000; font-size:12px; text-align: center; }
.form1_3 { width:30%; float: left; margin: 0px 0; overflow: hidden; background: #fff; padding: 5px; color: #000; font-size:12px; text-align: center;  }
.form1_3 input { width:95%;  }
.form1_4 { width:20%; float: left; margin: 0px 0; overflow: hidden; background: #fff; padding: 5px; color: #000; font-size:12px; text-align: center;  }
.form1_4 input { width:95%;  }
.form1_5 { width:15%; float: left; margin: 0px 0; overflow: hidden; background: #fff; padding: 5px; color: #000; font-size:12px; text-align: center;  }
.form1_5 input { width:95%;  }

.form2 { width:100%; float: left; margin: 0px 0; overflow: hidden; background: #b3df89; padding: 0px; color: #000; font-size:12px; text-align: left; }
.form2_1 { width:100%; float: left; margin: 0px 0; overflow: hidden; background: #b3df89; padding: 0px; color: #000; font-size:12px; text-align: center; }
.form2_1 h2 { font-size: 20px; font-weight: 600; }
.form2_1 h3 { font-size: 20px; font-weight: 600; }
.form2_2 { padding: 5px 15px; width:100%; float: left; }
.form2_3 { width:100%; float: left; margin: 10px 0px 5px 0px; }
.form2_4 { width:50%; float: left; margin: 0px 0; overflow: hidden; padding: 0px; color: #000; font-size:12px; text-align: center;  }
.form2_6 { width:20%; float: left; margin: 0px 0; overflow: hidden; padding: 0px; color: #000; font-size:12px; text-align: center;  }
.form2_5 { width:100%; float: left; margin: 0px 0; overflow: hidden; padding: 0px; color: #000; font-size:12px; text-align: center;  }
.form2_6 input { width:95%;  }
.form2_5 input { width:95%;  }
.form2_4 input { width:95%;  }
.form2_3 input { width:95%;  }
.form2_7 { padding: 5px 15px; font-size:16px; }

.batton_1 { position: relative; overflow: hidden; width: 100%; height: auto; min-height: 52px; background: #f00; border-radius: 12px; padding: 0; color: #fff; text-align: center; font-size: 14px; }
.batton_1:hover { background: #7aad55; }
.batton_1 input[type="file"]{  display: none; }
.batton_1 label {display: flex; align-items: center; justify-content: center; position: absolute; top: 0; left: 0; width: 100%; height: 100%; cursor: pointer; }
.batton_1 label::before{
  content: "";
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 5 17 10'/%3E%3Cline x1='12' y1='5' x2='12' y2='20'/%3E%3C/svg%3E");
}
.batton_1 span { line-height: 1.2; padding: 14px 52px; display:block; width: 100%; text-align: center; }
.batton_1 { background: #f00; border: 0; }

/* Выделяем «строку выбора» (руководитель/категория) при checked */
.selectable-row{ 
  border-radius: 12px;
  padding: 8px 12px;
  transition: background 160ms ease;
}
.selectable-row label{ display:flex; align-items:flex-start; gap: 10px; cursor:pointer; }
.selectable-row input[type="checkbox"],
.selectable-row input[type="radio"]{ width: 20px; height: 20px; margin-top: 2px; }
.selectable-row.is-selected{ background: rgba(179,223,137,0.35); }

/* Выделение строк в таблицах (категории/и т.п.) */
tr.is-selected{ background: rgba(179,223,137,0.28) !important; }

.note-age-rule{ 
  font-size: 13px; 
  color: rgba(0,0,0,0.55);
  margin: 10px 0 0;
}

.consent-row{
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  gap: 10px;
  padding: 10px 0;
  font-size: 14px;
  line-height: 1.25;
}
.consent-row input[type="checkbox"]{ width: 22px; height: 22px; margin-top: 1px; }



/* === Mobile adaptive additions (css2) ===================================== */
.mobile-header{display:none;}
.mobile-menu-overlay{display:none;}
html.menu-open, html.menu-open body{overflow:hidden;}

@media (max-width: 768px){
  /* Base mobile layout */
  html, body { width: 100%; overflow-x: hidden; }
  body { background: #f6f7f9; font-size: 16px; line-height: 1.35; }

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

  .shell { width: auto !important; max-width: 100% !important; padding: 0 12px !important; box-sizing: border-box; }

  /* Убираем «зелёную подложку» на мобилке, делаем секции читаемыми */
  .uvedRazdelRight,
  .uvedRazdel,
  .uvedRazdel2,
  .uvedRazdel3,
  .uvedRazdel3_1,
  .form1,
  .form2,
  .form2_1{
    background: transparent !important;
  }

  .uvedRazdelRight{ padding: 0 !important; }

  .form2{
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.06);
    margin: 0 0 14px 0;
    padding: 6px 0;
  }

  .form2_1{
    padding: 12px 2px 8px !important;
    text-align: left !important;
  }
  .form2_1 h2, .form2_1 h3{ font-size: 18px !important; margin: 0 !important; }

  .form2_2{ padding: 4px 10px !important; }

  /* Подсказка про возраст — меньше, но читаемо */
  .note-age-rule{ font-size: 13px; color: rgba(0,0,0,0.55); text-align: center; }

  /* Таблицы — белый фон и аккуратные отступы */
  #dTable3, #dTable5{ background: #ffffff !important; border-top: 0; border-radius: 16px; overflow: hidden; }
  #dTable3 th, #dTable3 td, #dTable5 th, #dTable5 td{ padding: 10px 8px; }
  #dTable3 th, #dTable5 th{ font-size: 13px; }
  #dTable3 td, #dTable5 td{ font-size: 14px; }

  /* Состав: # = 30px, Возраст = 100px */
  #dTable3 th:nth-child(1), #dTable3 td:nth-child(1){ width: 30px !important; }
  #dTable3 th:nth-child(3), #dTable3 td:nth-child(3){ width: 100px !important; }

  /* Turn off the old header nav only when JS is available (so без JS всё не ломается) */
  html.js #navigation { display: none !important; }
  html.js #logo { display: none !important; }

  html.js .mobile-header{
    display:flex;
    position: sticky;
    top: 0;
    z-index: 9999;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    background: rgba(255,255,255,0.96);
    border-bottom: 1px solid rgba(0,0,0,0.08);
    backdrop-filter: blur(6px);
  }

  #logo-mobile { margin: 0 !important; }
  #logo-mobile a{
    display:block;
    text-decoration:none;
    font-size: 16px;
    line-height: 1.15;
    letter-spacing: 0.3px;
  }

  /* "Меню" button (hamburger + label) */
  .menu-btn{
    border: 1px solid rgba(0,0,0,0.12);
    background: #fff;
    border-radius: 999px;
    padding: 8px 12px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-sizing: border-box;
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    color: rgba(0,0,0,0.8);
    white-space: nowrap;
  }
  .menu-btn:active{ transform: translateY(1px); }

  .menu-icon{
    width: 22px;
    height: 14px;
    display: inline-flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .menu-icon span{
    display:block;
    height: 2px;
    width: 100%;
    background: rgba(0,0,0,0.75);
    border-radius: 2px;
  }
  .menu-text{ font-weight: 600; letter-spacing: 0.2px; }

  .mobile-menu-overlay{
    position: fixed;
    inset: 0;
    z-index: 20000;
    background: rgba(255,255,255,0.98);
    backdrop-filter: blur(8px);
    display: none;
  }
  .mobile-menu-overlay.is-open{ display:block; }

  .mobile-menu-panel{
    height: 100%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 18px 14px 28px;
    box-sizing: border-box;
  }

  .mobile-menu-close{
    width: 44px;
    height: 40px;
    border: 1px solid rgba(0,0,0,0.12);
    background: #fff;
    border-radius: 12px;
    font-size: 18px;
    line-height: 1;
    margin-left: auto;
    display:block;
    cursor:pointer;
  }

  /* Exit block inside overlay */
  #id_pipe_mobile{
    margin: 14px 0 12px;
    padding: 14px 14px 12px;
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.06);
    text-align: left;
  }
  #id_pipe_mobile h1{
    font-size: 16px !important;
    margin: 0 0 8px !important;
  }
  #id_pipe_mobile p{
    margin: 0 0 12px !important;
    color: rgba(0,0,0,0.65);
    font-size: 13px;
  }

  /* Menu list */
  .mobile-menu-list{
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .mobile-menu-list li{
    margin: 10px 0;
  }
  .mobile-menu-list a{
    display:block;
    padding: 14px 14px;
    border-radius: 16px;
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.08);
    box-shadow: 0 6px 20px rgba(0,0,0,0.05);
    color: rgba(0,0,0,0.9);
    text-decoration: none;
    font-size: 16px;
    line-height: 1.2;
  }

  /* Lighter, cleaner controls */
  input[type="text"],
  input[type="password"],
  input[type="email"],
  input[type="number"],
  input[type="tel"],
  select,
  textarea{
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    border-radius: 12px;
    border: 1px solid rgba(0,0,0,0.12);
    padding: 12px 12px;
    font-size: 16px;
    background: #fff;
  }

  input[type="submit"], button, #submit_s{
    width: 100% !important;
    box-sizing: border-box;
    border-radius: 12px;
    padding: 12px 14px;
    border: 1px solid rgba(0,0,0,0.12);
    background: #ffffff;
    font-weight: 700;
    cursor: pointer;
  }

  /* «Сохранить» как заметная кнопка внизу (мобилка) */
  html.has-sticky-save body{ padding-bottom: 96px; }
  html.has-sticky-save #submit_s{
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 12px;
    width: calc(100% - 24px) !important;
    border-radius: 16px;
    background: #cfeec2;
    border-color: rgba(0,0,0,0.08);
    box-shadow: 0 10px 28px rgba(0,0,0,0.14);
  }

  /* Кнопка загрузки фонограммы — на всю ширину, текст + иконка видны */
  .batton_1, .file-upload{ max-width: 100% !important; border-radius: 14px; }
  .batton_1 span, .file-upload span{ font-size: 15px; }

    /* Tables: fit screen (mobile) */
  table{
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse;
  }
  th, td{
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  /* check_in.php: fixed width for "Выбрать" column + readable checkbox */
  #dTable2 th:nth-child(3),
  #dTable2 td:nth-child(3){
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
    text-align: center;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
  #dTable2 th:nth-child(2),
  #dTable2 td:nth-child(2){
    width: 90px !important;
    min-width: 90px !important;
    max-width: 90px !important;
    text-align: right;
    white-space: nowrap;
  }
  #dTable2 th:nth-child(1),
  #dTable2 td:nth-child(1){
    text-align: left;
  }
  #dTable2 input[type="checkbox"]{
    width: 22px;
    height: 22px;
    transform: scale(1.05);
  }

  /* trainer.php / assignee.php: экшены компактные, как в dancers.php */
  #dTable2.dtable-like-dancers th:nth-child(2),
  #dTable2.dtable-like-dancers td:nth-child(2){
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }
  #dTable2.dtable-like-dancers th:nth-child(3),
  #dTable2.dtable-like-dancers td:nth-child(3){
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

/* The marked block: "Соло / Дуэты / ..." full width */
  .couples{
    width: 100% !important;
    float: none !important;
    margin: 8px 0 !important;
    padding: 12px 12px !important;
    border-radius: 14px;
    box-sizing: border-box;
  }

  /* Generic boxes become lighter */
  .green, .red, .grey, .tourney, .club{
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.06);
  }
}
/* === End mobile adaptive additions ======================================= */

/* === Mobile: плашки выбранного фестиваля/коллектива + кнопка закрыть === */
/* desktop: по умолчанию показываем "выйти" и прячем крестик */
.status-banner__close-x{ display: none; }

/* === Выбор фестиваля/коллектива (когда НЕ выбран) ======================= */
/* ВАЖНО: стили затрагивают ТОЛЬКО блоки с классом .select-card */
.select-card{
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
  margin: 10px 0;
  box-sizing: border-box;
}

.select-card__head{
  background: #ff000a;
  color: #feed01;
  padding: 10px 12px;
  text-align: center;
  font-weight: 800;
  font-size: 18px;
  line-height: 1.1;
}

.select-card__body{
  padding: 12px;
  background: #ffffff;
  color: rgba(0,0,0,0.85);
  font-size: 15px;
  line-height: 1.25;
}

.select-card__hint{
  margin: 0 0 10px 0;
  font-weight: 700;
}

.select-card__form{ margin: 0; }

.select-card__label{
  display: block;
  margin: 0 0 6px 0;
  font-size: 13px;
  font-weight: 700;
  color: rgba(0,0,0,0.70);
}

.select-card__row{
  display: flex;
  gap: 10px;
  align-items: center;
}

.select-card__select{
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  height: 46px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.16);
  background: #fff;
  font-size: 15px;
  box-sizing: border-box;
}

.select-card__btn{
  flex: 0 0 auto;
  height: 46px;
  padding: 0 18px;
  border-radius: 12px;
  border: 1px solid #4d8419;
  background: #C6E6CB;
  color: rgba(0,0,0,0.85);
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  box-sizing: border-box;
  white-space: nowrap;
}
.select-card__btn:hover{
  background: #4d8419;
  color: #fff;
}

.select-card__error{
  margin: 8px 0 0 0;
  font-size: 12px;
  color: #d40000;
  font-weight: 700;
}

@media (max-width: 768px){
  /* на мобилке кнопка под селектом */
  .select-card__row{ flex-direction: column; align-items: stretch; }
  .select-card__btn{ width: 100%; }

  /* На тач-устройствах :hover может «прилипать» — держим нежный зелёный */
  .select-card__btn:hover{
    background: #C6E6CB;
    color: rgba(0,0,0,0.85);
  }
  .select-card__btn:active{
    transform: translateY(1px);
    background: #b9dec0;
  }
}

/* === Desktop: выбранный фестиваль/коллектив оформляем как мобильную карточку,
   но с десктопной типографикой и горизонтальной компоновкой ================== */
@media (min-width: 769px){
  .status-banner.status-banner--tourney,
  .status-banner.status-banner--club{
    background: #f3f8ef !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: 14px !important;
    padding: 12px 16px !important;
    margin: 10px 0 0 !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.06) !important;

    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    text-align: left !important;
    color: rgba(0,0,0,0.78) !important;
    text-transform: none !important;
  }

  .status-banner.status-banner--tourney .status-banner__title,
  .status-banner.status-banner--club .status-banner__title{
    margin: 0 !important;
    padding: 0 !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    word-break: break-word;
    flex: 1 1 auto;
    min-width: 0;
  }

  .status-banner.status-banner--tourney .status-banner__title b,
  .status-banner.status-banner--club .status-banner__title b{
    font-weight: 800 !important;
    font-size: 18px !important;
    color: rgba(0,0,0,0.88) !important;
  }

  .status-banner.status-banner--tourney .status-banner__close,
  .status-banner.status-banner--club .status-banner__close{
    position: static !important;
    transform: none !important;
    margin-left: 12px !important;
    height: 40px !important;
    padding: 0 14px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(0,0,0,0.12) !important;
    background: rgba(255,255,255,0.92) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    box-shadow: none !important;
    color: rgba(0,0,0,0.72) !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 768px){
  .status-banner{
    background: #f3f8ef !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: 14px !important;
    padding: 10px 56px 10px 12px !important; /* справа место под крестик */
    margin: 10px 10px 0 !important;

    box-shadow: 0 8px 24px rgba(0,0,0,0.06) !important;

    position: relative !important;
    display: block !important;

    text-align: left !important;
    color: rgba(0,0,0,0.78) !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    text-transform: none !important;
  }

  .status-banner b,
  .status-banner strong{
    font-weight: 700 !important;
    color: rgba(0,0,0,0.86) !important;
  }

  /* если внутри используются заголовки — делаем спокойнее и компактнее */
  .status-banner h1,
  .status-banner h2,
  .status-banner h3,
  .status-banner h4{
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  .status-banner__title{
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    word-break: break-word;
  }

  /* Кнопка закрытия (крестик) — всегда справа и по центру по высоте */
  .status-banner__close{
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(0,0,0,0.12) !important;
    background: rgba(255,255,255,0.92) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    box-shadow: none !important;
    color: rgba(0,0,0,0.7) !important;
  }

  .status-banner__close-text{ display: none !important; }
  .status-banner__close-x{ display: inline !important; font-size: 26px !important; line-height: 1 !important; }

  /* Если внутри этих плашек вдруг попадут кнопки — пусть выглядят аккуратно */
  .status-banner input[type="submit"],
  .status-banner input[type="button"],
  .status-banner button,
  .status-banner a.button{
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;

    padding: 7px 12px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(0,0,0,0.14) !important;
    background: rgba(255,255,255,0.92) !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;

    box-shadow: none !important;
    color: rgba(0,0,0,0.75) !important;
  }

  .status-banner input[type="submit"]:active,
  .status-banner button:active{
    transform: translateY(1px);
  }
}

/* === MOBILE OVERRIDES: header/menu/adaptive (v-final) === */
@media (max-width: 768px){

  /* Stop desktop min-width from forcing horizontal overflow */
  html, body{
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  body{
    min-width: 0 !important;
  }

  /* Header must show ONLY the top mobile bar (logo + menu) */
  header{
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    position: relative !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  header .shell,
  header #navigation,
  header #logo{
    display: none !important;
  }

  /* Ensure mobile header bar is the only visible/sticky header element */
  .mobile-header{
    display: flex !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 20000 !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    background: rgba(255,255,255,0.96) !important;
    border-bottom: 1px solid rgba(0,0,0,0.08) !important;
    backdrop-filter: blur(6px) !important;
  }

  /* MENU button: fixed width 100px so icon + word fit, never stretches to 100% */
  button.menu-btn,
  .menu-btn{
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;

    /* Taller, but compact */
    height: 40px !important;
    padding: 8px 10px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;

    box-sizing: border-box !important;
  }
  .menu-btn .menu-text{
    display: inline !important;
    font-weight: 600 !important;
  }
  .menu-btn .menu-icon{
    width: 18px !important;
    height: 12px !important;
    flex: 0 0 18px !important;
  }

  /* Extra safety: common containers should not exceed viewport */
  #wrapper,
  #wrapper *{
    box-sizing: border-box;
  }



  /* Mobile: tables must fit viewport (registration tables etc.) */
  .uvedRazdelRight{
    overflow: visible !important; /* prevent clipping of wide tables */
  }
  .uvedRazdelRight::after{
    content: "";
    display: block;
    clear: both;
  }
  .uvedRazdelRight table{
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
  }
  .uvedRazdelRight th,
  .uvedRazdelRight td{
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  /* Mobile: remove repeating background image from .main */
  .main{
    background: none !important;
  }

  /* Mobile: service message (uvedRazdel) - centered, readable, consistent on all pages */
  .uvedRazdel,
  .uvedRazdelRight{
    float: none !important;
    width: calc(100% - 24px) !important;
    max-width: 560px !important;
    margin: 18px auto 0 auto !important;
    padding: 16px 14px !important;

    box-sizing: border-box !important;
    border-radius: 18px !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    background: #fff !important;
    box-shadow: 0 10px 22px rgba(0,0,0,0.06) !important;

    text-align: center !important;
    color: rgba(0,0,0,0.78) !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
  }

  .uvedRazdel b,
  .uvedRazdelRight b,
  .uvedRazdel strong,
  .uvedRazdelRight strong{
    font-weight: 800 !important;
    color: rgba(0,0,0,0.82) !important;
  }


}


/* === Mobile: service message text (uvedRazdel) - cleaner, stronger typography === */
@media (max-width: 768px) {
  .uvedRazdel h1,
  .uvedRazdelRight h1,
  .uvedRazdel2 h1{
    margin: 0 !important;
    padding: 0 !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 750 !important;
    letter-spacing: -0.01em !important;
    color: rgba(0,0,0,0.86) !important;
  }

  .uvedRazdel,
  .uvedRazdelRight,
  .uvedRazdel2{
    text-wrap: balance;
  }

  .uvedRazdel br,
  .uvedRazdelRight br,
  .uvedRazdel2 br{
    content: "";
  }
}


/* === Check-in page: desktop layout (classic two-column view) === */
@media (min-width: 769px) {
  .checkin-layout{
    display: flex;
    align-items: flex-start;
    gap: 32px;
    width: 100%;
  }

  .checkin-menu{
    flex: 0 0 260px;
    width: 260px;
    margin: 10px 0 0;
  }

  .checkin-menu-list{
    margin: 0;
    padding: 0;
  }
  .checkin-menu-list li{
    list-style: none;
  }
  .checkin-menu-list a{
    text-decoration: none;
  }

  /* Use existing "couples" look, but fit the menu column */
  .checkin-menu .couples{
    width: 100%;
    box-sizing: border-box;
    float: none;
  }

  .checkin-content{
    flex: 1 1 auto;
    min-width: 0;
    margin: 10px 0 0;
  }

  .checkin-content .uvedRazdelRight{
    margin: 0 0 12px 0;
  }
  .checkin-controls{
    /* В десктопе результаты поиска должны идти НИЖЕ строки поиска (как на v1) */
    display: block;
    margin-top: 10px;
  }

  
  .checkin-search-box{
    position: relative;
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
  }

  /* “One whole” input: border + input + cross INSIDE */
  .checkin-search-input{
    position: relative;
    width: 100%;
    overflow: hidden;
    border: 1px solid rgba(0,0,0,.18);
    border-radius: 14px;
    background: #fff;
  }

  .checkin-search-input input{
    width: 100%;
    height: 44px;
    border: 0 !important;
    outline: none;
    background: transparent;
    box-sizing: border-box;
    padding: 0 56px 0 18px;
    font-size: 18px;
    line-height: 44px;
    text-align: center;
  }

  .checkin-search-input .checkin-search-cancel{
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 3;
  }

  .checkin-search-input .checkin-search-cancel img{
    width: 20px;
    height: 20px;
    display: block;
  }
  #panelFilterPoisk{
    width: 100% !important;
    max-width: 820px;
    position: static !important;
    float: none !important;
    clear: both !important;
    margin: 12px auto 0;
    padding: 0;
    border: 0;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(0,0,0,.08);
    display: none; /* показывается скриптом, когда есть результаты */
  }
  #panelFilterPoisk table,
  #panelFilterPoisk #Table2{
    width: 100% !important;
  }



  .checkin-table-wrap{
    width: 100%;
    margin: 10px 0 0;
  }
}



/* Mobile: stack inputs in the “Info about performance” block (Автор/Репетитор/Музыка/Длительность) */
@media (max-width: 768px){
  .form2_3{ float: none !important; width: 100% !important; margin: 10px 0 0 !important; }
  .form2_4,
  .form2_6{ float: none !important; width: 100% !important; text-align: left !important; }

  .form2_4{ margin: 0 0 12px 0 !important; }
  .form2_6{ margin: 0 0 10px 0 !important; }

  .form2_4 label,
  .form2_5 label{
    display: block !important;
    text-align: left !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  .form2_4 input[type="text"],
  .form2_5 input[type="text"],
  .form2_4 select,
  .form2_6 select{
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: 16px !important;
    padding: 12px 12px !important;
    border-radius: 14px !important;
  }
}


/* Time-board (duration mm:ss) — looks like a scoreboard, taps open native selects */
.time-board{width:100% !important;}
.time-board__title{
  font-weight: 700;
  font-size: 16px;
  line-height: 1.3;
  margin: 0 0 10px 0;
  text-align: left;
}
.time-board__panel{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 14px;
  padding: 14px 12px;
  border: 1px solid rgba(0,0,0,.14);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
}
.time-board__cell{
  position: relative;
  width: 45%;
  max-width: 190px;
}
.time-board__display{
  height: 58px;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.18);
  background: linear-gradient(180deg, #ffffff 0%, #fbfbfb 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 32px;
  font-weight: 800;
  letter-spacing: 2px;
  color: #111;
  user-select: none;
}
.time-board__select{
  position:absolute;
  left:0; top:0;
  width:100%;
  height:58px;
  opacity:0;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
.time-board__caption{
  margin-top: 8px;
  text-align:center;
  font-size: 12px;
  font-weight: 700;
  color: rgba(0,0,0,.55);
}
.time-board__colon{
  font-size: 36px;
  font-weight: 900;
  line-height: 1;
  color: rgba(0,0,0,.6);
  margin-top: -10px;
  user-select: none;
}
.time-board__hint{
  margin-top: 8px;
  font-size: 12px;
  color: rgba(0,0,0,.55);
  text-align: center;
}
@media (max-width: 768px){
  .time-board__panel{padding: 14px 12px;}
  .time-board__cell{width: 46%; max-width: none;}
  .time-board__display{font-size: 34px;}
}

/* Desktop: keep Автор музыки + Продолжительность фонограммы on one row */
@media (min-width: 769px){
  .form2_3--music-time{
    display: flex;
    align-items: flex-start;
    gap: 18px;
  }
  /* Make the duration "tablo" take 50% width on desktop (same as соседнее поле) */
  .form2_3--music-time > .form2_4{
    float: none !important;
    width: 50% !important;
    flex: 0 0 50%;
    margin: 0;
  }

  /* Desktop: make duration "tablo" ~2x more compact (height + overall scale) */
  .time-board__title{
    font-size: 14px;
    margin: 0 0 6px 0;
  }
  .time-board__panel{
    gap: 10px;
    padding: 7px 10px;
    border-radius: 14px;
  }
  .time-board__cell{max-width: 120px;}
  .time-board__display{
    height: 30px;
    border-radius: 10px;
    font-size: 18px;
    letter-spacing: 1px;
  }
  .time-board__select{height: 30px;}
  .time-board__colon{
    font-size: 20px;
    margin-top: -4px;
  }
  .time-board__caption{
    margin-top: 4px;
    font-size: 10px;
  }
  .time-board__hint{
    margin-top: 4px;
    font-size: 10px;
  }
}


/* ===== Mobile section header (uvedRazdel2) ===== */
@media (max-width: 768px){
  .uvedRazdel2{
    background: #dff5d8;
    border: 1px solid #b7e3b0;
    border-radius: 16px;
    padding: 12px 14px;
    margin: 6px 0 14px;
    text-align: left;
    box-shadow: 0 10px 24px rgba(0,0,0,0.06);
  }
  .uvedRazdel2 h1{
    margin: 0 0 6px 0 !important;
    font-size: 22px;
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -0.2px;
    color: #0e2a14;
  }
  .uvedRazdel2 p{
    margin: 0;
    font-size: 14px;
    line-height: 1.35;
    color: #12361b;
    opacity: 0.88;
  }
  .uvedRazdel2 p + p{ margin-top: 4px; }
}


/* ===== "Пожалуйста, выберите раздел" hint (arrow points to section menu) ===== */
.pick-section-hint{
  position: relative;
  overflow: visible !important;
  background: #fff !important;
  border: 1px solid #b7e3b0 !important;
  border-radius: 18px !important;
  padding: 16px 18px !important;
  box-shadow: 0 10px 22px rgba(0,0,0,0.06) !important;
  text-align: left !important;
}

.pick-section-hint h1{
  margin: 0 !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: -0.2px !important;
  color: #0e2a14 !important;
}

.pick-section-hint__arrow{
  position: absolute;
  width: 0;
  height: 0;
  pointer-events: none;
}

/* Desktop: arrow points LEFT to the section menu */
@media (min-width: 769px){
  .pick-section-hint__arrow{
    left: -22px;
    top: 26px;
  }
  .pick-section-hint__arrow::before{
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    border-right: 22px solid #b7e3b0;
    left: 0;
    top: 0;
  }
  .pick-section-hint__arrow::after{
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-right: 20px solid #fff;
    left: 2px;
    top: 2px;
    filter: drop-shadow(-2px 2px 2px rgba(0,0,0,0.08));
  }
}

/* Mobile: arrow points UP to the section menu */
@media (max-width: 768px){
  .pick-section-hint__arrow{
    top: -22px;
    left: 22px;
  }
  .pick-section-hint__arrow::before{
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
    border-bottom: 22px solid #b7e3b0;
    left: 0;
    top: 0;
  }
  .pick-section-hint__arrow::after{
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-bottom: 20px solid #fff;
    left: 2px;
    top: 2px;
    filter: drop-shadow(0 2px 2px rgba(0,0,0,0.08));
  }
}



/* Mobile: personal_data.php form fields stack vertically (one per row) */
@media (max-width: 768px){
  .form1_1{float:none; width:100%; overflow: visible; text-align:left;}
  .form1_3{float:none; width:100%; display:block; text-align:left; padding:10px 12px; box-sizing:border-box;}
  .form1_3 label{display:block; font-size:14px; line-height:1.25;}
  .form1_3 input{width:100% !important; box-sizing:border-box; font-size:16px; padding:12px 12px; border-radius:12px;}
  .form1{float:none; width:100%; overflow: visible;}
  .form1 #submit_s{width:100% !important; font-size:16px; padding:14px 12px; border-radius:14px;}
}



/* Mobile: dancers.php add/edit form layout (surname/name stacked, DOB in one row) */
@media (max-width: 768px){
  .dancers-form .form1_1{
    display: block;
    width: 100%;
  }

  /* Surname + Name: one under another */
  .dancers-form .form1_4{
    float: none !important;
    width: 100% !important;
    margin: 0 0 10px 0;
    padding: 8px 10px;
    box-sizing: border-box;
    text-align: left;
    border-radius: 14px;
  }
  .dancers-form .form1_4 input{
    width: 100% !important;
    box-sizing: border-box;
    font-size: 16px;
    padding: 12px 12px;
    border-radius: 12px;
  }

  /* Date of birth row */
  .dancers-form .dob-row{
    display: flex;
    gap: 10px;
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 10px 0;
    background: #f4fbf2;
    border: 1px solid #cfe8c8;
    border-radius: 16px;
    padding: 8px;
  }
  .dancers-form .dob-row .form1_5{
    float: none !important;
    width: auto !important;
    flex: 1 1 0;
    margin: 0;
    padding: 8px 10px;
    box-sizing: border-box;
    text-align: left;
    border-radius: 14px;
  }

  /* widths: Day + Month slightly smaller, Year slightly bigger */
  .dancers-form .dob-row .form1_5:nth-child(1){ flex-basis: 26%; }
  .dancers-form .dob-row .form1_5:nth-child(2){ flex-basis: 30%; }
  .dancers-form .dob-row .form1_5:nth-child(3){ flex-basis: 44%; }

  .dancers-form .dob-row input,
  .dancers-form .dob-row select{
    width: 100% !important;
    box-sizing: border-box;
    font-size: 16px;
    padding: 12px 10px;
    border-radius: 12px;
  }

  /* ensure day/month/year digits are fully visible */
  .dancers-form #day_w,
  .dancers-form #year_w{
    text-align: center;
  }

  .dancers-form .dob-row select{
    -webkit-appearance: menulist;
    appearance: auto;
  }

  .dancers-form label{
    display:block;
    font-size: 14px;
    line-height: 1.15;
  }
}

/* HELP page modern */
.help-page{
  width:100%;
  max-width: 980px;
  margin: 0 auto;
  padding: 4px 0 18px;
}
.help-hero{
  background: #c8f4d0;
  border: 1px solid #a8e6b3;
  border-radius: 16px;
  padding: 12px 14px;
  margin: 0 0 12px;
}
.help-hero__title{
  margin: 0;
  font-size: 22px;
  line-height: 1.15;
  color: #0b2f14;
}
.help-hero__subtitle{
  margin: 6px 0 0;
  font-size: 14px;
  line-height: 1.4;
  color: #0f3a1a;
}
.help-card{
  background: #fff;
  border: 1px solid #e6e7ea;
  border-radius: 16px;
  padding: 14px;
  margin: 0 0 12px;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}
.help-card__title{
  margin: 0 0 6px;
  font-size: 18px;
  color: #111;
}
.help-card__text{
  margin: 0 0 10px;
  font-size: 14px;
  color: #333;
}
.help-gallery{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.help-shot{
  margin: 0;
  background: #f6f7f9;
  border: 1px solid #e6e7ea;
  border-radius: 14px;
  padding: 10px;
}
.help-shot img{
  width: 100%;
  height: auto;
  display:block;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.08);
}
.help-shot figcaption{
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.35;
  color: #2b2b2b;
}
.help-step{
  background: #fff;
  border: 1px solid #e6e7ea;
  border-radius: 16px;
  padding: 14px;
  margin: 12px 0;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}
.help-step h2{
  margin: 0 0 10px;
  font-size: 18px;
  line-height: 1.2;
  color: #111;
}
.help-step p{
  margin: 8px 0;
  font-size: 14px;
  line-height: 1.45;
  color: #111;
  text-align: left;
}
.help-step img{
  width: 100%;
  max-width: 900px;
  height: auto;
  display:block;
  margin: 10px 0;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.08);
}
.help-list{
  margin: 8px 0 10px 18px;
  padding: 0;
}
.help-list li{
  margin: 4px 0;
  font-size: 14px;
  line-height: 1.45;
  color: #111;
}
.help-muted{
  color: #4a4a4a;
  font-size: 13px;
}
.help-footer-note{
  margin: 12px 0 0;
  padding: 10px 14px;
  background: #c8f4d0;
  border: 1px solid #a8e6b3;
  border-radius: 16px;
}
.help-footer-note p{
  margin: 0;
  color: #0f3a1a;
  font-size: 14px;
  text-align: center;
}
@media (max-width: 768px){
  .help-page{
    padding: 0 10px 18px;
  }
  .help-hero{
    margin-top: 2px;
  }
  .help-gallery{
    grid-template-columns: 1fr;
  }
  .help-shot{
    padding: 10px;
  }
}
/* END HELP page modern */

/* HELP page spacing tweaks */
.page-help .top-section{ padding: 0; }
.page-help .top-section .shell{ padding: 0; }
.page-help .slider-holder{ display:none; }
.page-help .main{ padding-top: 0; }


/* DESKTOP UI like HELP */

/* DESKTOP UI like HELP */
@media (min-width: 769px){
  body{
    background:#f6f7f8;
  }

  /* чуть шире и современнее контейнер */
  .shell{
    width: 96%;
    max-width: 1100px;
    margin: 0 auto;
  }

  /* базовая двухколоночная раскладка внутренних страниц */
  .checkin-layout{
    display:flex;
    align-items:flex-start;
    gap: 16px;
    margin-top: 8px;
  }
  .checkin-menu{
    width: 260px;
    background:#fff;
    border: 1px solid #e6e7ea;
    border-radius: 16px;
    padding: 12px;
    box-shadow: 0 6px 18px rgba(0,0,0,.06);
  }
  .checkin-menu-list{
    display:flex;
    flex-direction:column;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style:none;
  }
  .checkin-menu-list a{
    text-decoration:none;
    display:block;
  }
  .checkin-menu-list .couples{
    margin: 0;
    padding: 10px 12px;
    border-radius: 12px;
    background:#f7f8fa;
    border: 1px solid rgba(0,0,0,.06);
    color:#111;
    text-align:left;
    font-size: 14px;
    line-height: 1.25;
    cursor:pointer;
  }
  .checkin-menu-list a:hover .couples{
    background:#c8f4d0;
    border-color:#a8e6b3;
  }

  /* Active menu item (current section) */
  .checkin-menu-list a.is-active .couples,
  .checkin-menu-list .couples.is-active{
    background:#c8f4d0;
    border-color:#a8e6b3;
    font-weight: 600;
  }

  .checkin-content{
    flex: 1 1 auto;
    width: auto;
    padding: 0;
  }

  /* убираем старую "зелёную подложку" на десктопе, делаем как help.php */
  .uvedRazdelRight{
    background: transparent;
    padding: 0;
    margin: 0;
    float: none;
  }

  /* шапка раздела как hero на help.php */
  .uvedRazdelRightBloc1{
    background:#c8f4d0;
    border: 1px solid #a8e6b3;
    border-radius: 16px;
    padding: 12px 14px;
    margin: 0 0 12px 0;
    text-align:left;
    box-shadow: 0 6px 18px rgba(0,0,0,.06);
    float:none;
  }
  .uvedRazdelRightBloc1 h2{
    margin: 0 0 6px;
    font-size: 20px;
    line-height: 1.15;
    color:#0b2f14;
    font-weight: 700;
  }
  .uvedRazdelRightBloc1 p{
    margin: 4px 0;
    font-size: 13px;
    line-height: 1.4;
    color:#0f3a1a;
  }

  /* "окна" (карточки) для контента/форм */
  .checkin-controls,
  .checkin-content > form,
  .checkin-content .help-card,
  .checkin-content .help-step{
    background:#fff;
    border: 1px solid #e6e7ea;
    border-radius: 16px;
    padding: 14px;
    margin: 0 0 12px 0;
    box-shadow: 0 6px 18px rgba(0,0,0,.06);
  }

  /* если внутри формы уже есть wrap — убираем дублирующие отступы */
  .checkin-content > form .checkin-table-wrap{
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
  }

  /* таблицы — чище */
  #dTable2, #dTable, table{
    border-collapse: separate;
    border-spacing: 0;
  }
  #dTable2 thead th, #dTable thead th{
    background:#f7f8fa;
    border-bottom: 1px solid #e6e7ea;
  }
  #dTable2 td, #dTable2 th,
  #dTable td, #dTable th{
    border-right: 1px solid #e6e7ea;
  }
  #dTable2 tr td:last-child, #dTable2 tr th:last-child,
  #dTable tr td:last-child, #dTable tr th:last-child{
    border-right: 0;
  }
  #dTable2 tbody tr td, #dTable tbody tr td{
    background:#fff;
  }
  #dTable2 tbody tr:nth-child(even) td,
  #dTable tbody tr:nth-child(even) td{
    background:#fbfbfc;
  }

  /* поля и селекты — единый стиль */
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="number"],
  input[type="password"],
  textarea,
  select{
    border: 1px solid #d4d8dd;
    border-radius: 12px;
    padding: 10px 12px;
    font-size: 14px;
    line-height: 1.25;
    background:#fff;
    outline:none;
  }
  input[type="text"]:focus,
  input[type="email"]:focus,
  input[type="tel"]:focus,
  input[type="number"]:focus,
  input[type="password"]:focus,
  textarea:focus,
  select:focus{
    border-color:#7fdc90;
    box-shadow: 0 0 0 3px rgba(127,220,144,.25);
  }

  /* кнопки */
  input[type="submit"], button{
    border-radius: 12px;
  }

  /* нижняя зона с кнопкой "Далее/Сохранить" — без зелёной плашки на всю ширину */
  .uvedRazdel2, .uvedRazdel3, .uvedRazdel3_1{
    background: transparent;
    padding: 0;
    margin: 12px 0;
    float:none;
  }
}

/* END DESKTOP UI like HELP */

/* ===== Desktop fixes: remove clipping, full-width headers ===== */
@media (min-width: 769px){
  /* Remove top clipping on section titles (Регистрация/Танцоры/Профиль/Зарегистрированные) */
  .uvedRazdel2,
  .uvedRazdel{
    overflow: visible !important;
  }
  .uvedRazdel2 h1,
  .uvedRazdel h1{
    line-height: 1.15;
    padding-top: 6px;
    padding-bottom: 2px;
    margin-top: 0;
  }

  /* Do not clip green hero/header blocks on the right content area */
  .uvedRazdelRight{
    overflow: visible !important;
  }
  .uvedRazdelRightBloc1{
    width: 100%;
    box-sizing: border-box;
  }
}



/* registered.php edit: удобный тап по названию категории */
@media (max-width: 768px){
  #dTable3 td label{ display:block; cursor:pointer; }
  #dTable3 td:nth-child(1) input[type="checkbox"]{ transform: scale(1.15); }
  .form2_2.selectable-row label{ display:flex; align-items:flex-start; gap:10px; }
}


/* registered.php: заголовок выбранной карточки (№ ... / ...) — как на check_in.php + кнопка «Не сохранять» */
.uvedRazdelRight.has-close{
  float: none !important;
  width: calc(100% - 24px) !important;
  max-width: 980px !important;
  margin: 18px auto 18px auto !important;
  padding: 16px 14px !important;

  box-sizing: border-box !important;
  border-radius: 18px !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  background: #fff !important;
  box-shadow: 0 10px 22px rgba(0,0,0,0.06) !important;

  text-align: left !important;
color: rgba(0,0,0,0.78) !important;

  position: relative !important;
  overflow: visible !important;
  clear: both !important;
}


/* Desktop: заголовок в шапке формы без обёртки .form2_1 (как на мобильной) */
.uvedRazdelRight.has-close > h2{
  margin: 0 !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  color: rgba(0,0,0,0.86) !important;
}
.uvedRazdelRight.has-close > h2 b{
  font-weight: 800 !important;
  /* Убираем hover-подсветку карточек на мобилке (registered.php) */
  #dTable4.reg-table--registered tr:hover{ background: #fff !important; }
  #dTable4.reg-table--registered tbody tr:hover > td{ background: transparent !important; }

}

/* На десктопе скрываем старую обёртку, если где-то осталась */
@media (min-width: 769px){
  .form-like-mobile .uvedRazdelRight.has-close .form2_1{
    display: none !important;
  }
  .form-like-mobile .uvedRazdelClose{
    width: 44px !important;
    height: 44px !important;
    line-height: 44px !important;
    border-radius: 16px !important;
    top: 14px !important;
    right: 14px !important;
    font-size: 24px !important;
  }
}
.uvedRazdelClose{
  position: absolute !important;
  top: 10px !important;
  right: 12px !important;

  width: 34px !important;
  height: 34px !important;
  line-height: 34px !important;

  display: block !important;
  text-align: center !important;

  border-radius: 12px !important;
  background: rgba(0,0,0,0.06) !important;
  color: rgba(0,0,0,0.55) !important;
  text-decoration: none !important;

  font-size: 22px !important;
  font-weight: 800 !important;
}

.uvedRazdelClose:hover,
.uvedRazdelClose:focus{
  background: rgba(0,0,0,0.10) !important;
  color: rgba(0,0,0,0.78) !important;
  outline: none !important;
}


/* Desktop: comfortable padding for form controls (fix clipped/too-narrow inputs) */
@media (min-width: 769px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="number"],
  input[type="password"],
  textarea,
  select {
    padding: 10px 12px !important;
    box-sizing: border-box;
    max-width: 100%;
  }
}


/* Active menu item (current section) - all screens */
.checkin-menu-list a.is-active .couples,
.checkin-menu-list .couples.is-active{
  background:#c8f4d0;
  border-color:#a8e6b3;
  font-weight: 600;
}



/* =====================================================
   Desktop forms styled like mobile (check_in.php + registered.php)
   Scope: only inside .form-like-mobile to avoid affecting other pages
   ===================================================== */
@media (min-width: 769px){

  /* Base typography + spacing inside forms */
  .form-like-mobile{
    font-size: 15px;
    line-height: 1.35;
    color: rgba(0,0,0,0.86);
  }

  /* Make the right content column read like a single, neat vertical flow */
  .form-like-mobile .uvedRazdel2,
  .form-like-mobile .uvedRazdelRight,
  .form-like-mobile .uvedRazdelError,
  .form-like-mobile .uvedRazdelOK{
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
  }

  /* Neutralize legacy green backgrounds for the form area */
  .form-like-mobile .uvedRazdelRight{
    background: transparent !important;
    padding: 0 !important;
  }

  /* Header card with close (like mobile) */
  .form-like-mobile .uvedRazdelRight.has-close{
    position: relative;
    background: #fff !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: 24px !important;
    padding: 18px 62px 18px 22px !important;
    margin: 18px auto 16px auto !important;
    box-shadow: 0 10px 32px rgba(0,0,0,0.08) !important;
  }
  .form-like-mobile .uvedRazdelRight.has-close > h2{
    margin: 0 !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.2px !important;
    text-align: left !important;
    color: rgba(0,0,0,0.88) !important;
    white-space: normal !important;
  }
  .form-like-mobile .uvedRazdelRight.has-close > h2 b{
    font-weight: 900 !important;
  }

  /* Sections: header (.form2_1) + body (.form2) should look like a single card */
  .form-like-mobile .form2_1{
    background: #fff !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-bottom: 0 !important;
    border-radius: 22px 22px 0 0 !important;

    margin: 16px 0 0 0 !important;
    padding: 16px 18px 12px 18px !important;

    text-align: left !important;
    color: rgba(0,0,0,0.86) !important;
  }
  .form-like-mobile .form2_1 h3,
  .form-like-mobile .form2_1 h2{
    margin: 0 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
  }

  .form-like-mobile .form2{
    background: #fff !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-top: 0 !important;
    border-radius: 0 0 22px 22px !important;

    margin: 0 0 16px 0 !important;
    padding: 12px 18px 16px 18px !important;

    font-size: 15px !important;
    overflow: visible !important;
  }

  /* Any standalone blocks (uploads / additional controls) also as cards */
  .form-like-mobile .form2_3,
  .form-like-mobile .checkin-table-wrap{
    background: #fff !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: 22px !important;
    padding: 14px 18px !important;
    margin: 16px 0 !important;
    box-shadow: 0 10px 28px rgba(0,0,0,0.06) !important;
  }

  /* Table/info blocks: keep requested class .form2_1 but make it a full card (not a section header) */
  .form-like-mobile .form2_1.form2_1--tableblock{
    background: #fff !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: 22px !important;
    padding: 14px 18px !important;
    margin: 16px 0 !important;
    box-shadow: 0 10px 28px rgba(0,0,0,0.06) !important;

    /* override section-header defaults */
    border-bottom: 1px solid rgba(0,0,0,0.08) !important;
    text-align: left !important;
    overflow: visible !important;
  }

  /* Submit wrapper: remove green background on desktop, keep only the button */
  .form-like-mobile .form1{
    background: transparent !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  /* Required star marker inside labels */
  .form-like-mobile .req-star{
    color: #d93025 !important;
    font-weight: 800 !important;
    margin-left: 6px;
  }

  /* Remove empty separator blocks that look like random blank cards */
  .form-like-mobile .form2_3:empty{
    display: none !important;
  }

  /* Controls inside sections */
  .form-like-mobile .form2_2{
    padding: 10px 6px !important;
    font-size: 15px !important;
  }
  .form-like-mobile .form2_2 label{
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    cursor: pointer;
    user-select: none;
  }
  .form-like-mobile .form2_2 input[type="checkbox"],
  .form-like-mobile .form2_2 input[type="radio"]{
    width: 22px !important;
    height: 22px !important;
    flex: 0 0 auto !important;
  }

  /* Inputs: one consistent style, never overflow */
  .form-like-mobile input[type="text"],
  .form-like-mobile input[type="number"],
  .form-like-mobile input[type="tel"],
  .form-like-mobile input[type="email"],
  .form-like-mobile input[type="date"],
  .form-like-mobile input[type="time"],
  .form-like-mobile select,
  .form-like-mobile textarea{
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;

    height: 44px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(0,0,0,0.18) !important;
    background: #fff !important;
    color: #111 !important;
    font-size: 15px !important;
    outline: none !important;
  }
  .form-like-mobile textarea{
    height: auto !important;
    min-height: 92px !important;
    resize: vertical;
  }

  .form-like-mobile input:focus,
  .form-like-mobile select:focus,
  .form-like-mobile textarea:focus{
    border-color: rgba(46, 125, 50, 0.55) !important;
    box-shadow: 0 0 0 4px rgba(46, 125, 50, 0.12) !important;
  }

  /* Tables inside cards should not break layout */
  .form-like-mobile .checkin-table-wrap table,
  .form-like-mobile .tabls{
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    table-layout: fixed !important;
  }
  .form-like-mobile .checkin-table-wrap th,
  .form-like-mobile .checkin-table-wrap td,
  .form-like-mobile .tabls th,
  .form-like-mobile .tabls td{
    padding: 10px 10px !important;
    vertical-align: middle !important;
    font-size: 14px !important;
    word-wrap: break-word !important;
    overflow-wrap: anywhere !important;
  }

  /* Buttons: like mobile (comfortable, clear) */
  .form-like-mobile input[type="submit"],
  .form-like-mobile button,
  .form-like-mobile #submit_s{
    width: 100% !important;
    max-width: 420px !important;

    height: 48px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(0,0,0,0.10) !important;
    background: rgba(46, 125, 50, 0.14) !important;
    color: rgba(0,0,0,0.86) !important;

    font-size: 16px !important;
    font-weight: 800 !important;
    letter-spacing: 0.2px;

    display: block !important;
    margin: 14px auto 0 auto !important;
    cursor: pointer;
  }
  .form-like-mobile input[type="submit"]:hover,
  .form-like-mobile button:hover,
  .form-like-mobile #submit_s:hover{
    background: rgba(46, 125, 50, 0.22) !important;
  }
  .form-like-mobile input[type="submit"]:active,
  .form-like-mobile button:active,
  .form-like-mobile #submit_s:active{
    transform: translateY(1px);
  }

  /* Make legacy inline widths behave */
  .form-like-mobile .form2_4{
    width: 100% !important;
    float: none !important;
    text-align: left !important;
    font-size: 15px !important;
  }
}





/* =====================================================
   CHECK_IN.PHP (desktop): keep the form layout as-is,
   but align ONLY the big table card to the search width.
   (Do NOT touch other blocks.)
   ===================================================== */
@media (min-width: 769px){
  /* Center the table card (the one wrapping #dTable3/#dTable5 etc.) */
  .page-checkin.form-like-mobile .checkin-content .form2_1.form2_1--tableblock{
    float: none !important;
    width: 100% !important;
    max-width: 820px;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  /* “Please choose a section” hint: stable height + readable */
  .page-checkin .pick-section-hint{
    min-height: 84px;
    display: flex;
    align-items: center;
  }
}

/* =====================================================
   Selection summary bar (check_in.php + registered.php change group)
   Scoped by `html.has-selection-summary` so it won't affect other pages.
   ===================================================== */
html.has-selection-summary .selection-summary{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  background: #fff;
  border-top: 1px solid rgba(0,0,0,0.12);
  box-shadow: 0 -6px 18px rgba(0,0,0,0.10);
  padding: 10px 12px;
  font-size: 15px;
  line-height: 1.25;
}

/*
  Important: the summary bar is fixed and may overlap the last controls
  on long forms (including the music upload button). To keep everything
  visible and clickable, add bottom padding ONLY when the summary exists.
*/
html.has-selection-summary body{
  padding-bottom: 140px;
}

/* If there is also a fixed submit bar, give extra space */
html.has-sticky-save.has-selection-summary body{
  padding-bottom: 220px;
}

html.has-selection-summary .selection-summary__top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-weight: 600;
}

html.has-selection-summary .selection-summary__count.is-bad{
  color: #c00000;
}

html.has-selection-summary .selection-summary__need{
  font-weight: 500;
  color: rgba(0,0,0,0.75);
}

html.has-selection-summary .selection-summary__list{
  margin-top: 8px;
  font-weight: 500;
  color: rgba(0,0,0,0.85);
  white-space: normal;
  word-break: break-word;
}

html.has-selection-summary .selection-summary__list[data-empty="1"]{
  display: none;
}

html.has-selection-summary .selection-summary .sel-item{
  white-space: normal;
}

/* If there is a fixed "Далее/Сохранить" button (existing logic), keep summary above it */
html.has-sticky-save.has-selection-summary .selection-summary{
  bottom: 72px;
}

/* Desktop layout: left meta + right list (wraps to multiple lines) */
@media (min-width: 769px){
  html.has-selection-summary .selection-summary{
    padding: 12px 16px;
    font-size: 16px;
  }
  html.has-selection-summary .selection-summary{
    display: grid;
    grid-template-columns: 360px 1fr;
    column-gap: 16px;
    row-gap: 6px;
    align-items: start;
  }
  html.has-selection-summary .selection-summary__top{
    grid-column: 1 / 2;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 4px;
  }
  html.has-selection-summary .selection-summary__list{
    grid-column: 2 / 3;
    margin-top: 0;
  }
}

/* Mobile: one line top, list below */
@media (max-width: 768px){
  html.has-selection-summary .selection-summary__picked,
  html.has-selection-summary .selection-summary__need{
    font-size: 14px;
  }
}



/* =====================================================
   Registered.php: custom audio player (desktop + mobile)
   Scoped to .reg-audio-player so it won't affect other pages.
   ===================================================== */
.reg-audio-player{
  max-width: 520px;
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  padding: 12px 12px;
  display: flex;
  gap: 12px;
  align-items: center;
}
.reg-audio-player__btn{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 0;
  background: #6da047;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  flex: 0 0 44px;
}
.reg-audio-player__btn:hover{ filter: brightness(0.95); }
.reg-audio-player__btn:active{ transform: translateY(1px); }

.reg-audio-player__body{
  flex: 1 1 auto;
  min-width: 0;
}
.reg-audio-player__title{
  font-size: 14px;
  font-weight: 700;
  color: rgba(0,0,0,0.82);
  margin-bottom: 6px;
}
.reg-audio-player__seek{
  width: 100%;
  margin: 0;
}
.reg-audio-player__time{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 12px;
  color: rgba(0,0,0,0.62);
  margin-top: 4px;
}



@media (min-width: 769px){
  .reg-audio-player{
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 768px){
  .reg-audio-player{
    max-width: 100%;
    padding: 10px;
    border-radius: 14px;
  }
  .reg-audio-player__btn{
    width: 48px;
    height: 48px;
    flex-basis: 48px;
  }
  .reg-audio-player__title{
    font-size: 15px;
  }
}

/* Desktop check-in floating next button: keep it to the right of selection summary */
@media (min-width: 769px){
  .checkin-floating-next-btn{
    left: auto !important;
    right: 8px !important;
    bottom: 14px !important;
    width: 128px !important;
    max-width: calc(100vw - 16px) !important;
    min-height: 48px !important;
    padding: 10px 14px !important;
    border-radius: 14px !important;
    font-size: 18px !important;
  }
}


/* Registered.php: extra bottom save button is mobile-only */
.registered-bottom-save-wrap--mobile{ display:none; }
@media (max-width: 768px){
  .registered-bottom-save-wrap--mobile{ display:block; }
}
