* { margin:0; padding:0; font-size:16px; font-family: 'Open Sans', sans-serif; }
.show-div {
  display: block;
}
.hide{display:none;}
#promo_cont span.hide{display: none;}
#err{color:red;}
body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
section { padding: 20px 0 30px 0; }
#main {
	flex-grow: 1;
	width:100%;
	height:100%;
	background: linear-gradient(45deg, #f8c3b9, #c8aeed);
}
img { border:0;max-width:100%;pointer-events:none;}
ul,li{ list-style: none; }
ol  li { list-style:none;list-style-position: inside; }
a { font-weight:bold; text-decoration:none;color:inherit; }
h1,h2,h3,h4 { width: 100%; text-align:center;margin: 20px 0 20px 0; }
h1 { font-size: 40px; }
@media only screen and (max-width: 420px) {
#zag-gl h1 {
	font-size: 30px;
}
}
h2 { font-size: 40px; }
#stati h2{ font-size: 30px; }
h3 { font-size: 18px; }
h4 { font-size: 16px; }
h5 { margin: 20px 0; }
.wrapper {
	display: flex;
	flex-direction: column;
	justify-content:center;
	width: 98%;
	margin: 0 auto;
	max-width:1400px;
}
header {
	position: relative;
	width: 100%;
	padding: 20px 0 20px 0;
	background:#424242;
	background: linear-gradient(45deg, black, #d42727);
}
.menu-triger {
	display: none;
}

#box-header {
	width:100%;
	display: flex;	
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: center;
}
#logo{
	width: 230px;
	margin: 0 5px 0px 0;
	display: flex;
	align-items: center;
	padding: 0 5px;	
}
#logo:hover {
	border-radius: 5px;
	background: rgb(93 98 98 / 70%);
	/* padding: 0 2px; */
}
#logo a{
	display:flex; 
	vertical-align:middle;
}
#logo span {
	font-size: 65px;
	text-shadow: 3px 1px 3px #eecd12;
	color:#fff
}
#slogan {
	color:#fff;
	margin: 12px 0 0 10px;
	text-align: center;
	}
#slogan span{
	font-size: 30px;
	width: 100%;
	display: inline-block;
}
#knopki-vyzova {
	display: flex;
	justify-content: space-around;
	align-items: center;
}
#knopki-vyzova span,#vr-rab p,.raschitat span {
	font-weight: 800;
}

.obr-zv,.vyzv-zamershika,.raschitat {
	display: flex;
    margin: 15px 5px 10px 5px;
    padding: 13px 20px;
    border-radius: 20px;
    justify-content: center;
    background: linear-gradient(#e6e78a, #f7da66);
    /* box-shadow: 1px 2px 1px -1px; */
    align-items: center;
    width: 200px;
}
.obr-zv:hover,.vyzv-zamershika:hover,.raschitat:hover {
	background: radial-gradient(#85ab51, #318116);
	cursor:pointer;
}
#kontakts {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-around;
	padding: 0 10px;
	border-radius: 10px;
}
.telefon { color:#fff; }
.telefon:hover { color:#f6a622; }
.telefon p { font-size:16px; }
#mess {
	display: flex;
	/*flex-direction: column;*/
	justify-content: space-around;
}
#mess img { width:50px;aspect-ratio: 10 / 10; }
#vc,#tg {
	width:50px;
	height:50px;
	/* background: linear-gradient(45deg, #825009, #d8901b); */
	border-radius:50%;
	margin:5px;
	box-shadow: 0px 0.5px 0.5px #1f0303;
}
#vc { background: linear-gradient(45deg, #29a72b, #27f879);
}
#tg { background: linear-gradient(45deg, #6eb8f3, #116cac); }
#vc:hover { background: linear-gradient(45deg, #205b21, #067833); }
#tg:hover { background: linear-gradient(45deg, #3a78a9, #04385d); }
.shadow {
position: relative; }
.top {

	/* background: url(/img/top-fon.webp) center; */
	/* background-size: cover; */
	min-height: 400px;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	justify-content: center;
}
    /*############TOOP###############################*/
    #top-blok,#top-blok-gl {
    	display: flex;
        flex-wrap: wrap;
        justify-content: center;
    	/* align-items: center; */
    	width:100%;
    }
#izo-top { width: 35%;margin: 2%;min-width:300px }
#izo-top img { width:100%;aspect-ratio: 700 / 529; }
#zag-gl,#text-gl,.faq-container,#stati,#text-full{
	display: flex;
	flex-direction: row;
	flex-wrap:wrap;
	justify-content: space-around;
	text-align: center;
	box-shadow: 5px 5px 3px #583737;
	1background: rgb(133 103 79 / 60%);
	background: #000;
	padding: 0 20px 20px 20px;
	border-radius: 30px;
	box-sizing: border-box;
	margin: 0 0 30px 0;
	border: 2px solid #fff;
	width:100%;
}
#text-full{text-align: left;}
#text-gl,.faq-container,#stati,#text-full{color:#fff;}
#text-box{
	justify-content: space-around;
    display: flex;
    flex-wrap: wrap;
}
.text-blok,#stati p{
    text-align: left;
    font-size: 20px;
    line-height: 1.7;
	width:80%;
	padding: 10px 0;
    border-bottom: 1px solid transparent;
    border-image: linear-gradient(90deg, transparent 0%, #f8b75b 10%, #f8b75b, #f8b75b 90%, transparent);
    border-image-slice: 1;
}
#main-stati{background:#000}
/* .stati{background: url(/img/fon-stat.webp);} */
#stati{background: linear-gradient(90deg, rgb(0 0 0 / 0.2) 10%, rgb(0 0 0 / 0.9) 50%, rgb(0 0 0 / 0.2) 90%);}
#stati h2{width:80%;}
.text-img{max-width: 90px;margin:0 0 0 10px}
#box-img-gl{margin:10px 0 0 0;width:40%;display: flex;align-items: center;min-width: 270px;}
.line-s{    
	width: 100%;
    height: 1px;
	background: linear-gradient(90deg, transparent 0%, #f8b75b 10%, #f8b75b, #f8b75b 90%, transparent);
    margin: 20px 0;
}
.zag-img{width:100%;}
#box-zag{
	padding: 0 10px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    width: 50%;
	
}
#box-zag h1{color:#f1aaaa;margin:0;}
#box-gen{background:#fff;padding:10px 30px 30px 30px;}
#box-mode,#mode{
	display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
	margin: 0 0 10px 0;
	
}
#mode{margin:0;}
.mode-simple, .mode-advanced, #suno-model, .pol{
	padding: 5px 10px;
	background: #4a5b55;
    color: #fff;
    border: 1px solid #fff;
	border-radius:7px;
	cursor: pointer;
	}
.mode-simple:hover, .mode-advanced:hover, .pol:hover{ background: linear-gradient(45deg, #5f6c68, #fbb38f);
}
.active-mode,.active-mode:hover, .active-pol, .active-pol:hover{background: #8C513C;cursor:auto;}
#suno-model{cursor:auto;}
#box_vvod{
	display: flex;
    flex-direction: column;
    align-items: center;
}
#promo_cont {
	display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
    background: #fff;
    margin: 0 0 20px 0;
    padding: 10px;
    border: 4px solid #fbb38f;
    border-radius: 20px;
}
#promo_cont span{display: inline-block;width:100%;}
input.promo{width: 200px;}
#prost-rej,#full-rej{width:100%;}
#my_prompt,#my_text,#my_style{
    height: 100px;
    border: 4px solid #fbb38f;
    border-radius: 10px;
	padding: 10px;
	width:100%;
	box-sizing:border-box;
	resize: vertical;
}
#gen{
    display: flex;
    margin: 5px;
    padding: 13px 20px;
    border-radius: 30px;
    justify-content: center;
    background: radial-gradient(#fff823, #f68c3c);
    box-shadow: 1px 2px 1px -1px;
    align-items: center;
	width:220px;
}
#gen span {
    font-weight: 800;
}
#gen:hover{
    background: radial-gradient(#9d8f67, #8b690b);
    cursor: pointer;
}
#song-style{
    padding: 10px;
    background: #e7d2bf;
    border-radius: 10px;
}
#gender{
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#nastroiki-treka{
	max-width: 400px;
    margin: 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#nastroiki-treka label{
	width: 100%;
    display: flex;
	flex-flow: row wrap;
}
#nastroiki-treka .righted{margin:0 0 0 5px;}
/* .righted{  order: 999;margin-left: 10px;} */
.lefted{margin-right: auto;}
#box-otpr-audio{
	width: 100%;
    display: flex;
    justify-content: center;
    margin: 0 0 20px 0;
}
.otpravit-audio{
	position:relative;
	/* display: flex; */
    /* justify-content: center; */
	}
.input-audio-button{
	width: 290px;
    background: #1bbc9b;
    color: #fff;
    font-size: 1.125rem;
    font-weight: 700;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 20px;
    cursor: pointer;
    margin: 0 auto;
    padding: 10px 0px;
    position: relative;
    z-index: 1;
}
input[type="file"] {width: 0.1px;height: 0.1px;}
.otpravit-audio:hover .input-audio-button{background: #40773c;}
/* #audioInput:hover .input-audio-button{background: #40773c;} */
/* .input-audio-button:hover{background: #40773c;} */
.input-file{
    opacity: 0;
    position: absolute;
    z-index: 3;
    width: 290px;
    height: 100%;
    cursor: pointer;
    top: 0;
}
.progress-bar {
	width: 0%;
	height: 5px;
	background: #4CAF50;
	transition: width 0.3s;
	margin-top: 10px;
}
.progress-container {
	width: 100%;
	background: #f0f0f0;
	border-radius: 5px;
	display: none;
}
#audioPlayer{width:100%;}
/*#########Вывод песен########################*/
#vyvod-pesen{
	margin: 0 0 0 30px;
    padding: 0 10px 10px 10px;
    background: #fff;
}
#vyvod-pesen h3{margin: 10px 0 0 0;}
/*############FOOTER##########################*/
footer{
	background: #424242;
	color:#fff;
}
footer a,footer p{
	color:#fff;
}
#box-footer{
	display:flex;
	justify-content:space-around;
	align-items: center;
	min-height:100px;
}
#top-blok h1 {
	color: #ffffff;
	text-shadow: 1px 1px black, -1px -1px black;
	width:auto;
	display:inline-flex;
}
#podz-gl{
	display: flex;
	justify-content: center;
	text-align: center;
}
#zag-gl p {
	color: #fff;
	display: inline-block;
	font-size: 30px;
	font-weight: bold;
	text-shadow: 1px 1px black, -1px -1px black;
}
.cena { font-size: 45px;color: #f0a91f;font-weight: 900; }
.sr-izg { font-size: 40px; }
/*##########################################################МОБИЛОСЫ#######################*/
@media only screen and (max-width: 850px) {
    #zag-gl {
        width: 97%;
    }
    #izo-top { display:none; }
} 
@media only screen and (max-width: 660px) {
	#box-img-gl,#box-zag {width:100%;}
}
@media only screen and (max-width: 420px) {
    #zag-gl p {
        font-size: 25px;
    }
    .cena {
        font-size: 35px;
    }
    .sr-izg {
        font-size: 30px;
    }
    }
/*###################FAQ####################################################################################*/
/* .faq-container { */
	/* max-width: 900px; */
	/* margin: 0 auto; */
	/* background: white; */
	/* border-radius: 20px; */
	/* padding: 40px; */
	/* box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); */
/* } */
.faq-container {flex-direction:column;    align-items: center;}
.faq-title {
	text-align: center;
	font-size: 2.5em;
	margin-bottom: 10px;
	font-weight: 700;
}

.faq-subtitle {
	text-align: center;
	color: #666;
	font-size: 1.1em;
	margin-bottom: 40px;
}

.faq-item {
	margin-bottom: 15px;
	border: 2px solid #e0e0e0;
	border-radius: 12px;
	overflow: hidden;
	transition: all 0.3s ease;
	display: flex;
    flex-direction: column;
    width: 100%;
	max-width: 800px;
}

.faq-item:hover {
	border-color: #667eea;
	box-shadow: 0 4px 12px rgba(102, 126, 234, 0.2);
}

.faq-question {
	width: 100%;
	padding: 20px 25px;
	background: linear-gradient(45deg, #f5b357, #faed8b);
	border: none;
	text-align: left;
	font-size: 1.1em;
	font-weight: 600;
	color: #333;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: background 0.3s ease;
}

.faq-question:hover {
	background: linear-gradient(45deg, #e77314, #c0a527);
}

.faq-question.active {
	background: linear-gradient(45deg, #ea8787, #ec6a0c);
	/* color: white; */
}

.faq-icon {
	font-size: 1.5em;
	transition: transform 0.3s ease;
}

.faq-question.active .faq-icon {
	transform: rotate(180deg);
}

.faq-answer {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease, padding 0.3s ease;
	/* background: white; */
	background: #3c353;
}

.faq-answer.open {
	display: flex;
    flex-direction: column;
    align-items: flex-start;
	max-height: 500px;
	padding: 20px 25px;
}

.faq-answer p {
	color: #fff;
	line-height: 1.8;
	font-size: 1em;
}

.faq-answer ul {
	margin-left: 20px;
	margin-top: 10px;
	color: #fff;
	line-height: 1.8;
	text-align: left;
}

.faq-answer li {
	margin-bottom: 8px;
}

@media (max-width: 768px) {
	.faq-container {
		padding: 25px;
	}

	.faq-title {
		font-size: 2em;
	}

	.faq-question {
		font-size: 1em;
		padding: 15px 20px;
	}

	.faq-answer.open {
		padding: 15px 20px;
	}
}
/*################################################################TOPMENU######################################################################*/
#topmenu {
    width: 100%;
    background: #000;
	color: #e0d036;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
}
#topmenu ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}
#topmenu li{padding:10px;}
.burger-menu {display:none;}
@media (max-width: 768px) {
	/* #topmenu{display:none;} */
	/* === Кнопка Гамбургер === */
	.burger-menu {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		width: 30px;
		height: 21px;
		background: transparent;
		border: none;
		cursor: pointer;
		padding: 0;
		z-index: 102; /* Поверх всего */
		position: absolute;
		top: 10px;
		left: 10px;
	}

	.burger-menu span {
		display: block;
		width: 100%;
		height: 3px;
		background-color: white;
		border-radius: 2px;
		transition: all 0.3s ease-in-out;
	}

	/* Анимация превращения гамбургера в крестик */
	.burger-menu.active span:nth-child(1) {
		transform: translateY(9px) rotate(45deg);
	}
	.burger-menu.active span:nth-child(2) {
		opacity: 0;
	}
	.burger-menu.active span:nth-child(3) {
		transform: translateY(-9px) rotate(-45deg);
	}
	
	

	/* === Выпадающее мобильное меню === */
	.top-menu {
		position: absolute; 
		top: 0;
		left: 0;
		width: 100%;
		background-color: #424547;
		
		/* Свойства для анимации сверху вниз */
		max-height: 0; /* Изначально высота 0 */
		opacity: 0; /* Изначально прозрачное */
		overflow: hidden; /* Скрываем содержимое, которое не влезает в max-height */
		
		/* Плавная анимация высоты и прозрачности */
		transition: max-height 0.4s ease-in-out, opacity 0.3s ease-in-out;
		z-index: 100;
	}

	/* Состояние открытого меню */
	.top-menu.active {
		max-height: 100vh; 
		opacity: 1;
	}

	.top-menu ul {
		list-style: none;
		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 1rem 0;
	}

	.top-menu a {
		color: white;
		text-decoration: none;
		font-size: 1.2rem;
		padding: 1rem;
		display: block;
		width: 100%;
		text-align: center;
		transition: background-color 0.2s, color 0.2s;
	}

	.top-menu a:hover {
		background-color: #2c3e50;
		color: #3498db;
	}
}


