﻿@font-face{
	font-family:'Roboto';
	font-style:normal;
	font-weight:normal;
	font-display:swap;
	src:url(res/roboto-400.woff2) format('woff2'),url(res/RobotoRegular.woff) format('woff')
}
@font-face{
	font-family:'Roboto';
	font-style:normal;
	font-weight:bold;
	font-display:swap;
	src:url(res/roboto-700.woff2) format('woff2')
}

body{background: #f4f4f4; text-align:center; font-size:12px; font-family:Arial;  margin:0px; min-width:300px;  background-attachment:fixed;  background-position: center; font-family:'Roboto'; }
.ldr{display:none; text-align:right;}


.no-scroll {overflow: hidden;}

.topblock{width:100%; height: 50vh; margin-bottom: 0;  background-image: url("res/robot.webp"); background-size: cover;	background-position: right;	background-repeat: no-repeat; background-color: white; position: relative;}

.content{max-width: 1400px;  text-align: center; margin: 0 auto; }

h1{margin: 0;  padding: 1em;  text-align: center;}
.titdesc{ font-size: 1.2em;  margin-bottom: 1.5em;  border-bottom: 1px solid #d0b18f;  padding: 0 10% 1% 10%; }

.cont{width: 96%; left: 2%;
    background: rgba(0,0,0,0.75);
    position: absolute;
    top: 20%;
    border-radius: 1em;
    padding: .3em 2em .7em 2em;
    text-align: center;
    color:white;
    max-width: 100%;
}

.cont a{color: #8dc9ff;  text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.5);}
.cont p{ font-size:.9em;}
.cont_frmt{padding-bottom: 1em; color: #aaa; border-bottom: 1px solid #4d4d4d;}
.cont button{margin:1em 0;}

.topblock h1{padding: .5em; font-size: 1.8em; margin-bottom: .5em; border-bottom: 2px solid var(--orang); background: none;}

.inp{ width:96%; font-size:1em; padding: 4px; border: 2px solid #05204a;  font-family: Arial;}

#uploadbtn, .file-upload {display: none;}

.custom-button {padding: 10px 20px;
    border-radius: 5px;
    font-size: 1.3em;
    margin: 1em auto;
    display: block;
    max-width: 500px;
}

.custom-button:hover {
    background-color: #45a049;
}

.aiblock{width:100%; margin-top: 4em;   background-color: #1a1819; background-size: contain;  height:300px;}
.aiblock>div{max-width: 1300px;  display: block; margin: 0 auto;}

.aiblock>div>div{ text-align: center; height:300px; }
.aiblock>div>div:nth-child(1) { width: 40%;  display: block; float:left; background-image: url("/res/line/1.png");  background-position: center; background-size: contain; background-repeat: no-repeat;  }
.aiblock>div>div:nth-child(2) { width: 60%;  float:right; color: white;  padding: 2em; font-size: 1.4em; display: flex; align-items: center; justify-content: center;}
.aiblock h3{color: #c97507;  font-size: 1.3em; margin-bottom: .6em; text-shadow: 0px 0px 3px #000;}
@media (max-width: 600px) { .aiblock>div>div:nth-child(1){display: none;} .aiblock > div > div:nth-child(2) {width: 100%;} }

/* «Конфиденциальность» внизу страниц инструментов: белая карточка, слева иконка щита (вместо эмодзи ✅) */
.aiblock2{display:grid; grid-template-columns:56px minmax(0, 1fr); column-gap:22px; row-gap:6px; align-items:center; box-sizing:border-box; width:calc(100% - 32px); max-width:900px; margin:3em auto; padding:22px 28px; background:#fff; border:1px solid #e3eee6; border-radius:18px; box-shadow:0 6px 24px rgba(0,0,0,.06); text-align:left; color:#1e293b;}
.aiblock2::before{content:''; grid-row:1 / 3; width:56px; height:56px; border-radius:16px; background:#e8f7ee url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%2315803d" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3l7.5 3v5.5c0 4.6-3.2 8.3-7.5 9.5-4.3-1.2-7.5-4.9-7.5-9.5V6z M8.8 12.2l2.2 2.2 4.4-4.6"/></svg>') center / 30px no-repeat;}
.aiblock2 h3{margin:0; font-size:20px; line-height:1.3; align-self:end;}
.aiblock2 p{margin:0; font-size:16px; line-height:1.45; color:#475569; align-self:start;}
@media (max-width:600px){
    .aiblock2{grid-template-columns:minmax(0, 1fr); justify-items:center; row-gap:10px; padding:22px 20px; text-align:center;}
    .aiblock2::before{grid-row:auto; width:52px; height:52px; background-size:28px;}
    .aiblock2 h3{font-size:18px;}
    .aiblock2 p{font-size:15px;}
}



.m_block{
    max-width: 1200px;
    display: block;
}


.slideblock{padding: 3em .5em; background:white;}

.wrapper {display: flex; overflow: hidden; max-width: 1300px; margin: 0 auto;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.wrapper > div {flex: 1; display: flex; align-items: center; justify-content: center; text-align: center; padding: 20px;position: relative;}
.wrapper > div > div {flex: 1; }

.wrapper > div p  { font-size: 1.2em;  text-align: center;  margin: 0; }    
.wrapper > div h3 {font-size: 1.3em; margin-bottom: .3em; display: block;}    
.wrapper > div p>span { color: #868686;
  font-size: .9em;
  margin-top: 8px;
  display: block;
  font-style: italic; }   

.wrapper > div a { font-size: 1.2em;  margin: 1em;  display: inline-grid;  background: #e48100;  padding: .5em 2em;  border-radius: 5px;  color: white;}    
.wrapper > div a:hover{background: #c26f01;}

.wrapper > div > img  { max-width: 450px; }    

@media (min-width: 769px) {.wrapper:nth-child(even) {flex-direction: row-reverse;} }

        /* Мобильная версия */
@media (max-width: 768px) {
            .wrapper {
                flex-direction: column;
               /* min-height: 500px;  Увеличиваем высоту для двух блоков */
            }
            .wrapper > div {
                /* min-height: 250px; Минимальная высота каждого блока */
                flex: none; /* Сбрасываем flex-коэффициент */
                width: 100%; /* Полная ширина */
            }
            /* Сбрасываем направление для четных блоков на мобильных */
            .wrapper:nth-child(even) {flex-direction: column;}
}




/* ===== Подвал (index.php): тёмный, в цвет шапки ===== */
.footer{display:block; background:linear-gradient(135deg, #2b2d33, #36383F); color:#f9f9f9; text-align:left; font-family:'Roboto',Arial,sans-serif;}
.footer>div{box-sizing:border-box; max-width:1132px; margin:0 auto; padding-left:16px; padding-right:16px;}
.ft-tg{display:flex; align-items:center; gap:24px; padding-top:30px; padding-bottom:30px; border-bottom:1px solid rgba(255,255,255,.08);}
.ft-tg>div{flex-grow:1; display:flex; flex-direction:column; gap:4px;}
.ft-tg b{font-size:20px;}
.ft-tg span{font-size:15px; color:#b8bcc6;}
.ft-tgbtn{display:inline-flex; align-items:center; gap:10px; height:50px; padding:0 22px; border-radius:12px; background:#2AABEE; color:#fff; font-size:15px; font-weight:500; white-space:nowrap;}
.ft-tgbtn:hover{background:#229ED9; color:#fff;}
.ft-cols{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-top:40px; padding-bottom:30px;}
.ft-logo{font-size:28px; margin-bottom:12px; color:#f9f9f9;}
.ft-logo>span{color:var(--orang);}
.ft-brand>div:last-child{font-size:15px; line-height:1.5; color:#b8bcc6;}
.ft-h{font-size:13px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; color:#fff; margin-bottom:12px;}
.footer .ft-cols a{display:block; padding:5px 0; color:#b8bcc6; font-size:15px;}
.footer .ft-cols a:hover{color:#ffb24d;}
.cprght{border-top:1px solid rgba(255,255,255,.08); max-width:none !important; padding:0 !important;}
.cprght>div{box-sizing:border-box; max-width:1132px; margin:0 auto; padding:18px 16px 22px; display:flex; justify-content:space-between; gap:10px 30px; flex-wrap:wrap; font-size:13px; color:#9aa0ab;}
.cprght a{color:#d6d9df;}
.cprght a:hover{color:#ffb24d;}
@media (max-width:900px){ .ft-cols{grid-template-columns:repeat(3, minmax(0, 1fr)); gap:28px;} .ft-brand{grid-column:1 / -1;} }
@media (max-width:600px){
    .ft-tg{flex-direction:column; align-items:stretch; text-align:center;}
    .ft-tgbtn{justify-content:center;}
    .ft-cols{grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px 20px;}
    .cprght>div{flex-direction:column; text-align:center;}
}

.apipage{ user-select: auto; max-width: 1200px; }
.apipage h4{font-size: 1.2em;  color: #3f2d1b;}
.apipage h3{ padding: 1em 0;margin: 0;font-size: 1.3em;text-transform: uppercase;margin-top: 1em;}
.apipage h2{  font-size: 1.5em;  text-align: center;}
.apipage h2:first-of-type{margin: -1.5em 0 2em 0; }

.apipage .btn { background: #888;
  color: white;
  margin: .3em;
  padding: 1em;
  font-size: 1em;
  font-weight: 100; }
.apipage .btn.active { font-weight: bold; background: linear-gradient(135deg, var(--color-warning), #d97706);}
.apipage .lne { font-size: 1.6em; background: bisque; border-radius: 5px; padding: 5px; margin: .6em 0 .1em 0;}
.apipage .lne span{ font-size: .8em; font-weight: bold;}

:root{--white: #f9f9f9; --black: #36383F;  --grey: #85888C; --orang: #e48100; --orangrad: linear-gradient( #ff9305, #d87a00); --orangrad2: linear-gradient( #d37904, #ad7600); --greygrad: linear-gradient( #e1e1e1, #f2f2f2);} 

a{text-decoration: none;}
ul{list-style: none;}

/* Header */
.header{
    padding: 0 ;
    background-color: var(--black);
    box-shadow: 0px 0px 1px 0px black;
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 500;
    height: 60px;
    
}
/*
.header div{max-width: 1100px;
    transform: translate(-50%, 0);
    left: 50%;
    position: relative;
    text-align: left;}
*/
/* Logo */
.logo{display: inline-block; color: var(--white); font-size: 25px; padding: .4em .5em; height:60px; float: left; text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.4); transform: none;}
.logo>span{color: var(--orang);}


/* Nav menu */
.nav{
    width: 100%;
    height: 100%;
    position: fixed;
    top: 60px;
    background-color: var(--black);
    overflow: hidden;
    z-index: 510;
}

.menu a{display: block; padding: 20px 25px; color: var(--white);}
.menu a:hover{background-color: #0c0c0c;}
.menu .orng{ display: block; background-color: var(--orang); padding: 10px; margin: 10px 15px; border-radius: 5px; text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.5);}
.menu .orng:hover{background-color: #ff9d1e; color:black; text-shadow: none; }

.user-icon {
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 25 24"><path stroke="%23ADADB3" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12 12a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9ZM20.5 21a8.655 8.655 0 0 0-3.24-4.34A9.129 9.129 0 0 0 12 15c-1.89 0-3.733.581-5.26 1.66A8.656 8.656 0 0 0 3.5 21h17Z"></path></svg>');
background-repeat: no-repeat;
background-position: center;
width: 45px;
height: 38px;
background-color: #222;
background-size: 23px 23px;
margin: 10px 15px;
border-radius: 5px;
float: right;
display: none;
}
.user-icon:hover {background-color: #000;}

.menu_orng{
display: none;    
cursor: pointer;
  float: right;
  padding: 7px 10px;
  background-color: var(--orang);
  margin: 10px 15px;
  border-radius: 5px;
  text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.5);
  color: white;
  font-size: 18px;}
.menu_orng:hover {background-color: #ff9000;}

.nav{max-height: 0;transition: max-height .5s ease-out;}

/* Menu Icon */

.hamb{cursor: pointer; float: right;padding: 28px 23px;}

.hamb-line {
    background: var(--white);
    display: block;
    height: 2px;
    position: relative;
    width: 24px;
}

.hamb-line::before,
.hamb-line::after{
    background: var(--white);
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    transition: all .2s ease-out;
    width: 100%;}

.hamb-line::before{top: 5px;}
.hamb-line::after{top: -5px;}

.side-menu {display: none;}

/* Toggle menu icon */

.side-menu:checked ~ nav{ max-height: 100%;}

.side-menu:checked ~ .hamb .hamb-line {background: transparent;}

.side-menu:checked ~ .hamb .hamb-line::before {transform: rotate(-45deg);top:0;}

.side-menu:checked ~ .hamb .hamb-line::after {transform: rotate(45deg);top:0;}


/* Responsiveness */

@media (min-width: 500px) {.menu_orng{ display: block;}  }
@media (min-width: 400px) { .logo{font-size: 42px;  padding: 0 .5em; } }

@media (min-width: 1040px) {
    .nav{
        max-height: none;
        top: 0;
        position: relative;
        float: right;
        width: fit-content;
        background-color: transparent;
    }
    
    .menu li{ float: left; }
  
    .hamb{display: none;}

    .menu .orng{ display: none;}
    .user-icon{ display: block;}

    .cont{ width: 45%; left: 2%; top: 25%; max-width: 700px;}

    body{font-size: 14px;}
}

@media (max-width: 1040px) {
.topblock{height: 30vh;}
}

@media (max-width: 600px) {
.topblock{height: 40vh;}
}

@media (max-width: 400px) {
.cont_frmt{display:none;}
}



@media (min-width: 1230px) {

    .logo{float: none; transform: translate(-50%, 0);}
    
}
@media (min-width: 1400px) {
    .cont{  left:auto; }
}

.orng_btn {padding: 10px 20px;
    background-image: var(--orangrad);
    color: white;
    border: none;
    cursor: pointer;
    text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.5);
}


h2{margin: 1em; font-size: 2em; color:#333;font-family: arial;}
/* ===== «Помощь» (FAQ, блок .spolers на страницах): слева заголовок и контакты, справа вопросы с номерами =====
   Две колонки собирает скрипт в index.php (переносит h2 в .faq-side, вопросы - в .faq-list) */
.spolers{background:#f4f4f4; padding:64px 16px 72px; text-align:left; font-family:'Roboto',Arial,sans-serif; color:#1e293b;}
.spolers h2{margin:0 0 24px; font-size:34px; line-height:1.2; color:#1e293b; font-family:'Roboto',Arial,sans-serif;}
.faq-wrap{max-width:1100px; margin:0 auto; display:flex; gap:60px; align-items:flex-start;}
.faq-side{display:none;}
.faq-wrap .faq-side{display:flex; flex-direction:column; gap:18px; width:340px; flex:none; position:sticky; top:84px;}
.faq-wrap .faq-side h2{margin:0;}
.faq-label{font-size:13px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; color:#c96f00;}
.faq-intro{margin:0; font-size:16px; line-height:1.55; color:#64748b;}
.faq-contact{margin-top:8px; padding:20px; background:#fff; border:1px solid #e8ebef; border-radius:16px; display:flex; flex-direction:column; gap:10px; text-align:left; scroll-margin-top:90px;}
.faq-contact b{font-size:16px;}
.faq-contact>span{font-size:14px; color:#64748b; margin-bottom:4px;}
.faq-cbtn{display:flex; align-items:center; gap:10px; height:46px; padding:0 16px; border-radius:12px; font-size:15px; font-weight:500;}
.faq-tg, .faq-ml{background:#fff; color:#1e293b; border:1px solid #e2e8f0; word-break:break-all;}
.faq-tg:hover, .faq-ml:hover{color:#1e293b; border-color:#cbd5e1;}
.faq-tg svg{color:#2AABEE; flex:none;}
.faq-ml svg{flex:none;}
/* «Контакты» (scrollToHlp('#link')): карточка мигает оранжевой обводкой, чтобы её заметили */
.faq-contact.is-flash{animation:faqFlash .8s ease-out;}
@keyframes faqFlash{
    0%, 100%{box-shadow:0 0 0 0 rgba(228,129,0,0); border-color:#e8ebef; transform:scale(1);}
    15%{box-shadow:0 0 0 6px rgba(228,129,0,.35); border-color:#e48100; transform:scale(1.02);}
    35%{box-shadow:0 0 0 0 rgba(228,129,0,0); transform:scale(1);}
    55%{box-shadow:0 0 0 6px rgba(228,129,0,.35); border-color:#e48100; transform:scale(1.02);}
}
/* Страница без FAQ: только карточка контактов, по центру перед подвалом */
.faq-side.faq-alone{display:flex; justify-content:center; padding:48px 16px; background:#f4f4f4;}
.faq-alone .faq-label, .faq-alone .faq-intro{display:none;}
.faq-alone .faq-contact{width:100%; max-width:420px; margin:0; box-sizing:border-box;}

.faq-list{flex:1 1 0; min-width:0; border-top:1px solid #e2e5ea; counter-reset:faq;}
.spolers details{display:block; max-width:1100px; margin:0 auto; background:transparent; border:0; border-bottom:1px solid #e2e5ea; border-radius:0; overflow:visible;}
.faq-list details{max-width:none;}
summary::-webkit-details-marker{display:none;}
summary::-moz-list-bullet{list-style-type:none;}
summary::marker{display:none;}
.spolers summary{display:flex; align-items:center; gap:16px; padding:20px 4px; list-style:none; font-size:17px; font-weight:500; line-height:1.4; cursor:pointer; color:#1e293b; transition:color .2s;}
.spolers summary b{color:inherit; font-family:inherit;}
.spolers summary::before{counter-increment:faq; content:counter(faq, decimal-leading-zero); width:26px; flex:none; font-size:14px; font-weight:700; color:#cbd5e1;}
.spolers summary::after{content:''; width:20px; height:20px; flex:none; margin-left:auto; transition:transform .25s;
    background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%2394a3b8" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>') center / contain no-repeat;}
.spolers summary:hover, .spolers details[open] > summary{color:#c96f00;}
.spolers details[open] > summary::after{transform:rotate(180deg); background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23e48100" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>');}
.spolers summary:focus{outline:0;}
.spolers summary:focus-visible{outline:2px solid var(--orang); outline-offset:2px; border-radius:6px;}
.spolers details > summary + br{display:none;}
.spolers summary ~ *{padding:0 40px 0 46px;}
.spolers details[open]{padding-bottom:20px;}
.spolers details[open] summary ~ *{animation:sweep .4s ease-in-out;}
@keyframes sweep{0%{opacity:0;} 100%{opacity:1;}}

/* Содержимое ответов */
details p{text-align:left; margin:0; padding-bottom:.6em; font-size:16px; line-height:1.6; color:#475569;}
details b{color:#1e293b;}
details table{border-collapse:collapse; border:1px solid #e2e5ea; margin:1em 0 1em 46px; font-size:15px;}
details th, details td{border:1px solid #e2e5ea; padding:8px;}
details h5{font-size:16px; padding-top:1em; color:#1e293b;}
details td span{color:red;}

@media (max-width:900px){
    .faq-wrap{flex-direction:column; gap:28px;}
    .faq-wrap .faq-side{width:auto; position:static;}
    .faq-list{width:100%;}
}
@media (max-width:600px){
    .spolers{padding:44px 14px 52px;}
    .spolers h2{font-size:26px;}
    .spolers summary{font-size:16px; gap:12px; padding:18px 2px;}
    .spolers summary ~ *{padding:0 6px 0 38px;}
    details table{margin-left:0;}
}



#pdata{position: fixed;
	z-index: 1000;
	bottom: 0;
	width: 100%;
	background: rgba(0,0,0,0.75);
	padding: 1em;
	color: white;
	font-family: Arial;
	}
#pdata table{width: 100%;   max-width: 1050px;}
#pdata a{color:#74b7ff; }

#pdata .btclose{background: #0058ff;
	border-radius: 1em;
	border: 1px solid #003657;
	color: white;
	line-height: 2em;
	text-align: center;
	cursor: pointer;
	font-size: 1.2em;
    padding: .4em 1em;
	}
#pdata .btclose:hover{background:#02399e; }  

/* ===== ОБНОВЛЕННЫЙ CSS ДЛЯ МОДАЛЬНЫХ ОКОН ===== */
#kf_bg, #alrt_bg, #frm_bg{
position: fixed;
background: rgba(0,0,0,0.7);
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: 1000;
display: none;
}

#kf{z-index: 1100;}
#kf_bg{z-index: 1000;}
#alrt{z-index: 1010;}
#alrt_bg{z-index: 1000;}

#frm{z-index: 1010;}
#frm_bg{z-index: 1000;}

#kf, #alrt, #frm{
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 800px;
    min-width: 280px;
    width: 95%;
    max-height: 90vh;
    overflow-y: auto;
    user-select: none;
    font-size: 1.2em;
    background: white;
    padding: 1.5em;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    text-align: center;
    box-shadow: 0 0 10px rgba(0,0,0,0.8);
    z-index: 1010;
    display: none;
}

#alrt b, #frm b {color: #222;}

#frm{max-width: 750px;}
#alrt{max-width: 700px;}

#alrt button{
cursor: pointer;
  text-align: center;
  font-weight: bold;
  padding: 10px 15px;
  font-size: 1em;
  font-family: Arial;
  color: #444;
  background: #ddd;
  user-select: none;
  max-width: 300px;
  float: right;
  margin-left: 10px;
  border: none;
  border-radius: 5px;
}
#alrt button:hover{
    background: #555; 
    color: white;
}  

#frm hr, #alrt hr{
    margin: 1em -1em; 
    border: 1px dashed #999;
}
#frm p{
    font-size: 1.1em;
}
.frm_tit, .frm_tit_red {
    margin: -1em -1em 1em -1em;
    font-size: 1.5em;
    padding: .5em;
}
.frm_tit {
    background: #94d1fe; 
    color: #032d51;
}
.frm_tit_red {
    background: #fe9494; 
    color: #650303;
}

#alrt button.green {background: #35814c;  color: white;  text-shadow: 0 0 5px rgba(0,0,0,.5); }
#alrt button.orng {background: #ff9000;  color: white;  text-shadow: 0 0 5px rgba(0,0,0,.5); }


/* Адаптивность для мобильных устройств */
@media (max-width: 768px) {
    #kf, #alrt, #frm {
        width: 90%;
        padding: 1em;
        max-height: 85vh;
    }
}

@media (max-width: 480px) {
    #kf, #alrt, #frm {
        width: 95%;
        padding: 0.8em;
    }
    
    .frm_tit, .frm_tit_red {
        font-size: 1.2em;
        padding: 0.4em;
    }
}
/* ===== КОНЕЦ ОБНОВЛЕННОГО CSS ===== */

.frm_auth button{
cursor: pointer;
  text-align: center;
  padding: .3em;
  font-size: 1.5em;
  font-family: Roboto;
  user-select: none;
  width: 90%;
  display: block;
  color:#fff; text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.7); 
  background: var(--orangrad);
}
.frm_auth button:hover{background: var(--orangrad2);}
.frm_auth button:disabled { background: #999; }
.frm_auth button:active { background: #555; }

.frm_auth  input[type="text"], .frm_auth  input[type="email"]{
font-size: 1.6em;
  width: 90%;
  text-align: center;
  border-radius: .5em;
  margin: 1em 0;
  padding: .3em;
}

.frm_auth  input[type="text"]:focus, .frm_auth  input[type="email"]:focus {
    border-color: #05204a;
}


.auth_sgls{ display:none; margin: 0 auto 25px auto;  text-align: left;  font-size: 14px;  width: 90%;}
.auth_sgls input{margin: 15px; transform: scale(2);}


@media (min-width: 650px) {
    .auth_sgls, .frm_auth  input[type="text"], .frm_auth  input[type="email"], .frm_auth .btn{width: 70%;}
}

.frm_btns{display: flex; gap: 15px; justify-content: center;}
.frm_btns button{ flex: 1; cursor:pointer; padding: 12px 24px; font-size: 1.2em;  border-radius: 5px; border: 1px solid #787878;}
.frm_btns button:hover{ transform: translateY(-2px); box-shadow: 0 10px 25px rgba(0,0,0,0.2); }
.frm_btns .green{ color:white; text-shadow: 0 0 5px rgba(0,0,0,0.5); background: linear-gradient(135deg, #10b981, #059669);}


.steps{font-size: 1.2em;   padding: 1em; display: grid;}
.steps h2{font-size: 1.8em; margin: 1.5em;}
.steps ul{ max-width: 1100px; text-align: left; margin: 0 auto;}
.steps li{ margin-bottom: 1em; font-size: 1.2em;}
.steps li span{ color: #853e00; font-weight: bold;}
.steps p{font-size: 1.3em;}
.stps2{border-top: 1px solid #e2e2e2; margin-top: 2em;padding-top: 0;}

.treaty{text-align:left; padding: 1em; /*width:calc(100% - 2em); */ }


#foot{width:calc(100% - 10px); border-top:1px solid #777; padding: 5px; color: #555; margin-top: 20px; font-size:.8em; } 
#foot a{color: #555; text-decoration:underline;text-decoration-style: dotted;}


.apitb{width: 100%; border-collapse: collapse;  background:#CCC;}
.apitb td{ border: 3px solid #fff; padding:8px;}
.apitb th{ border: 3px solid #fff; padding:8px; color: #555;}

.apitb tr:hover{background: #f6bb6d;}

.apicode{
    
    /*width: calc(100% - 40px);*/width: 100%;
	resize: none;    
	background: url(/res/tarea_nums.png);
    background-attachment: local;
    background-repeat: no-repeat;
    padding-left: 35px;
    padding-top: 10px;
    border-color:#ccc;
	line-height: 16px;
	overflow-x: auto;}
	
.lft{text-align: left;}

.pravo{border-radius: 1em;
	padding: 1em;
	border: 2px solid red;}

.pravo a, #pdata a, #fpravo a{text-decoration:underline;text-decoration-style: dotted;}


.tbl{display: flex;
  min-width: 180px;
  align-items: center;
  justify-content: left;
  max-width: 500px;
  margin: 0 auto;
  text-align: left;
  font-size: 1.2em;
  border-bottom: 1px solid #BBB;}

.tbl>div{flex:1;padding: .7em; display: flex;}
.tbl>div:nth-child(1){color:#555;}
.tbl>div:nth-child(2){color:#111; flex-wrap: wrap;}

.tbl>div>b{white-space: nowrap;  margin: .3em;font-weight: bold;  font-size: 1.3em; font-weight: bold;   font-size: 1.3em;  flex: 1;  align-items: center;  justify-content: center;  display: flex;}
.tbl>div>button, .tbl>div>a{padding: 10px 15px; flex: 1;}

/* Кнопки */
.btn {
    padding: 14px 28px;
    border: none;
    border-radius: var(--radius-md);
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

/* Призыв внизу страниц инструментов: тёмная карточка в цвете шапки с оранжевым свечением по углам */
.footbtn{position:relative; overflow:hidden; box-sizing:border-box;  margin:0; padding:56px 40px;  text-align:center;
    background:radial-gradient(520px circle at calc(100% + 120px) -40px, rgba(228,129,0,.35), rgba(228,129,0,0) 65%), radial-gradient(420px circle at -100px calc(100% + 80px), rgba(228,129,0,.18), rgba(228,129,0,0) 65%), linear-gradient(135deg, #2b2d33 0%, #36383F 55%, #3d3a36 100%);
    box-shadow:0 20px 50px rgba(0,0,0,.22);}
.footbtn h3{margin:0 0 30px; padding:0; background:none; color:#fff; font-size:34px; line-height:1.2; font-weight:700; text-shadow:none;}
.footbtn div{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}
.footbtn .btn{width:auto; max-width:none; margin:0; height:56px; padding:0 30px; border-radius:14px; font-size:17px; color:#fff;}
.btn-foot1{ color: white; background:var(--orangrad); border:0; font-weight:700; text-shadow:0 0 2px rgba(0,0,0,.4); box-shadow:0 8px 24px rgba(228,129,0,.4);}
.btn-foot1:hover:not(:disabled){background:var(--orangrad2);}
.btn-foot1::after{content:''; width:20px; height:20px; background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14 M13 6l6 6-6 6"/></svg>') center / contain no-repeat; transition:transform .2s;}
.btn-foot1:hover::after{transform:translateX(3px);}
.btn-foot2{background:rgba(255,255,255,.06); border:1.5px solid rgba(255,255,255,.35); font-weight:500; text-shadow:none;}
.btn-foot2:hover:not(:disabled){background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.6);}
.btn-foot2::before{content:''; width:20px; height:20px; background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4h6v6H4z M14 4h6v6h-6z M4 14h6v6H4z M14 14h6v6h-6z"/></svg>') center / contain no-repeat;}
@media (max-width:600px){
    .footbtn{padding: 30px 20px 30px;}
    .footbtn h3{font-size:24px; line-height:1.25; margin-bottom:24px;}
    .footbtn div{flex-direction:column; gap:12px;}
    .footbtn .btn{width:100%; height:54px; font-size:16px;}
}

.btn-primary { background: linear-gradient(135deg, var(--color-primary), #7c3aed); color: white; }
.btn-secondary { background: var(--color-secondary); color: #475569; }
.btn-success { background: linear-gradient(135deg, var(--color-success), #059669); color: white; }
.btn-warning { background: linear-gradient(135deg, var(--color-warning), #d97706); color: white; }
.btn-download { background: linear-gradient(135deg, #0ea5e9, #0284c7); color: white; }
.btn-zip { background: linear-gradient(135deg, #8b5cf6, #7c3aed); color: white; }
.btn-collage { background: linear-gradient(135deg, #9b59b6, #8e44ad); color: white; }

.btn:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}

.btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: none !important;
    background: #9ca3af !important; /* Серый цвет для disabled кнопок */
}

.btn:disabled:hover {
    background: #9ca3af !important;
    transform: none !important;
    box-shadow: none !important;
}

.btn-secondary:hover { background: #e2e8f0; }

.upload-hint {
    color: var(--color-text-light);
    font-size: 14px;
    margin-top: 10px;
}




.tarifs-container{display: grid;
                grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
                gap: 20px;
                margin-bottom: 30px;
}

.tarif-item {
                background: white;
                border-radius: 12px;
                padding: 20px;
                border: 2px solid #e2e8f0;
                position: relative;
                transition: all 0.3s ease;
}
            
.tarif-item:hover {
                transform: translateY(-5px);
                box-shadow: 0 10px 25px rgba(0,0,0,0.1);
                border-color: #c7d2fe;
}
            
.tarif-item.popular {
                border-color: #10b981;
                background: linear-gradient(135deg, #f0fdf4, #dcfce7);
}
            
.popular-badge {
                position: absolute;
                top: -10px;
                left: 50%;
                transform: translateX(-50%);
                background: #10b981;
                color: white;
                padding: 4px 12px;
                border-radius: 20px;
                font-size: 12px;
                font-weight: 600;
}
            
.tarif-amount {
                font-size: 32px;
                font-weight: 700;
                color: #4f46e5;
                margin-bottom: 5px;
}
            
.tarif-price {
                font-size: 24px;
                font-weight: 600;
                color: #1e293b;
                margin-bottom: 5px;
}
            
.tarif-per-one {
                font-size: 14px;
                color: #64748b;
                margin-bottom: 15px;
}
            
.tarif-select-btn {
                width: 100%;
                padding: 10px;
                font-size: 16px;
}
            
.btn-primary {
                background: linear-gradient(135deg, #4f46e5, #4338ca);
                border: none;
                color: white;
                font-weight: 600;
                border-radius: 8px;
                cursor: pointer;
                transition: all 0.3s ease;
}
            
.btn-primary:hover {
                transform: translateY(-2px);
                box-shadow: 0 5px 15px rgba(79, 70, 229, 0.3);
}
            
.btn-secondary {
    background: #f1f5f9;
     border: 2px solid #e2e8f0;
    color: #475569;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
}
            
.btn-secondary:hover {
    background: #e2e8f0;
}


.ramka{border: 1px solid #dc7d44;
  max-width: 1300px;
  margin: 4em auto;
  border-radius: 10px;
  padding: 10px;
  background: #ffa068;}

.a_wrap{color: black;}
.a_wrap:hover{background: #dae5ff;}
.ramka .btn{margin-top: 3em;  font-size: 1.5em;}
.ramka h4{font-size: 1.6em; padding: .9em; margin-top: -10px;}
.ramka h2{margin: .4em 0 .7em 0;   font-size: 1.6em;}

.sldr_img{border: 4px solid white;
  box-shadow: 2px 2px 15px #0007;
  padding: 0px;}
.sldr_img img{width: 100%;
  display: block;}

/* ===== Мега-меню «Все инструменты» (разметка и скрипт - content/mega_menu.php) ===== */
#mmTrigger .mm-chev{vertical-align:-2px; margin-left:2px; transition:transform .2s;}
#mmTrigger.is-open{background:#2c2e34; box-shadow:inset 0 -3px 0 var(--orang);}
#mmTrigger.is-open .mm-chev{transform:rotate(180deg);}

.mm{display:none; text-align:left; font-family:'Roboto',Arial,sans-serif; color:#1e293b;}
.mm.is-open{display:block;}
.mm-bg{position:fixed; top:60px; left:0; right:0; bottom:0; z-index:490; background:rgba(20,22,28,.45);}
.mm-panel{position:fixed; top:60px; left:50%; transform:translateX(-50%); width:calc(100% - 40px); max-width:1200px; max-height:calc(100vh - 80px); overflow-y:auto; z-index:495; background:#fff; border-radius:0 0 20px 20px; box-shadow:0 24px 60px rgba(0,0,0,.28); animation:mmIn .18s ease-out;}
@keyframes mmIn{from{opacity:0; margin-top:-8px;} to{opacity:1; margin-top:0;}}
.mm-body{display:flex; gap:28px; padding:26px 26px 22px 22px;}
.mm-cols{flex:1 1 0; min-width:0; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px;}
.mm-col-head{display:flex; align-items:center; justify-content:space-between; padding:0 10px 10px; margin-bottom:6px; border-bottom:1px solid #edf0f3;}
.mm-col-head span{font-size:13px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; color:#64748b;}
.mm-col-head i{font-style:normal; font-size:12px; font-weight:700; color:#166534; background:#dcfce7; border-radius:999px; padding:3px 9px;}
.mm-list{display:flex; flex-direction:column; gap:2px;}
.mm-item{display:flex; gap:12px; align-items:center; padding:9px 10px; border-radius:12px; color:#1e293b; transition:background .15s;}
.mm-item:hover, .mm-item.is-hover{background:#fff4e5;}
.mm-ico{width:40px; height:40px; border-radius:10px; background:#f1f3f6; color:#4b5563; display:flex; align-items:center; justify-content:center; flex:none; transition:background .15s, color .15s;}
.mm-item.is-hover .mm-ico{background:var(--orang); color:#fff;}
.mm-item.is-cur .mm-txt b::after{content:'сейчас'; margin-left:8px; font-size:11px; font-weight:500; color:#9a5300; background:#ffefd9; border-radius:6px; padding:2px 6px; vertical-align:1px;}
.mm-txt{display:flex; flex-direction:column; gap:3px; min-width:0;}
.mm-txt b{font-size:15px; font-weight:500;}
.mm-txt span{font-size:13px; color:#64748b; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.mm-arr{display:none; color:#94a3b8; flex:none; margin-left:auto;}
.mm-item:focus-visible, .mm-go:focus-visible, .mm-flink:focus-visible{outline:2px solid var(--orang); outline-offset:-2px;}

.mm-prev{width:330px; flex:none; display:flex; flex-direction:column; gap:14px; background:#f8fafc; border:1px solid #edf0f3; border-radius:16px; padding:14px; box-sizing:border-box;}
.mm-pic{position:relative; height:210px; border-radius:12px; overflow:hidden; background:#eceef2;}
.mm-pic img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:none;}
.mm-pic-a{clip-path:inset(0 0 0 50%);}
.mm-pic-line{position:absolute; top:0; bottom:0; left:50%; width:2px; margin-left:-1px; background:#fff; box-shadow:0 0 6px rgba(0,0,0,.35);}
.mm-pic-l, .mm-pic-r{position:absolute; bottom:10px; font-size:12px; font-weight:700; color:#fff; border-radius:6px; padding:3px 8px;}
.mm-pic-l{left:10px; background:rgba(0,0,0,.55);}
.mm-pic-r{right:10px; background:rgba(228,129,0,.9);}
.mm-pic-line, .mm-pic-l, .mm-pic-r, .mm-pic-ico{display:none;}
.mm-pic.is-pair img, .mm-pic.is-pair .mm-pic-line, .mm-pic.is-pair .mm-pic-l, .mm-pic.is-pair .mm-pic-r{display:block;}
.mm-pic.is-one .mm-pic-a{display:block; clip-path:none;}
.mm-pic.is-ico{background:linear-gradient(135deg, #fff4e5, #eceef2);}
.mm-pic.is-ico .mm-pic-ico{display:flex; position:absolute; left:50%; top:50%; width:88px; height:88px; margin:-44px 0 0 -44px; border-radius:24px; background:#fff; color:#c96f00; align-items:center; justify-content:center; box-shadow:0 8px 24px rgba(201,111,0,.18);}
.mm-pic-ico svg{width:44px; height:44px; stroke-width:1.6;}
.mm-prev-txt{display:flex; flex-direction:column; gap:6px; flex-grow:1;}
.mm-prev-txt b{font-size:18px;}
.mm-prev-txt span{font-size:14px; line-height:1.45; color:#475569;}

.mm-foot{display:flex; flex-wrap:wrap; align-items:center; gap:4px 28px; padding:12px 32px; background:#f8fafc; border-top:1px solid #edf0f3;}
.mm-flink{display:inline-flex; align-items:center; gap:8px; min-height:36px; color:#475569; font-size:14px;}
.mm-flink:hover{color:#c96f00;}
.mm-mob{display:none;}
/* Личный кабинет / Вход - оранжевой кнопкой справа внизу (на телефоне - первой во всю ширину, ниже) */
.mm-cab{order:99; margin-left:auto; justify-content:center; padding:0 22px; min-height:42px; border-radius:12px; background:var(--orangrad); color:#fff; font-size:15px; font-weight:700; text-shadow:0 0 2px rgba(0,0,0,.4); box-shadow:0 4px 15px rgba(228,129,0,.3);}
.mm-cab:hover, .mm-cab:active{background:var(--orangrad2); color:#fff;}

@media (max-width:1200px){ .mm-prev{width:280px;} .mm-pic{height:180px;} }

/* Телефон и планшет: гамбургер открывает мега-меню на весь экран (старый выпадающий список .nav не нужен) */
@media (max-width:1039px){
    .nav{display:none;}
    .mm-bg{display:none;}
    .mm-panel{left:0; right:0; bottom:0; transform:none; width:auto; max-width:none; max-height:none; border-radius:0; box-shadow:none; -webkit-overflow-scrolling:touch;}
    .mm-body{display:block; padding:14px 12px 6px;}
    .mm-prev{display:none;}
    .mm-cols{display:flex; flex-direction:column; gap:16px;}
    .mm-col-head{border-bottom:0; padding-bottom:4px; margin-bottom:0;}
    .mm-col-head span{font-size:12px;}
    .mm-item{padding:8px 10px;}
    .mm-item:hover{background:transparent;}
    .mm-item:active{background:#fff4e5;}
    .mm-item.is-cur{background:#fff4e5;}
    .mm-item.is-cur .mm-ico{background:var(--orang); color:#fff;}
    .mm-txt{flex-grow:1;}
    .mm-txt span{white-space:normal;}
    .mm-arr{display:block;}
    /* Бесплатные - плиткой 3 в ряд */
    .mm-col-free .mm-list{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px; padding-top:6px;}
    .mm-col-free .mm-item{flex-direction:column; justify-content:center; gap:6px; height:84px; padding:0 4px; background:#f8fafc; border:1px solid #edf0f3; text-align:center;}
    .mm-col-free .mm-ico{width:auto; height:auto; background:transparent; color:#c96f00;}
    .mm-col-free .mm-item.is-cur{background:#fff4e5;}
    .mm-col-free .mm-item.is-cur .mm-ico{background:transparent; color:#c96f00;}
    .mm-col-free .mm-txt b{font-size:12px; font-weight:500;}
    .mm-col-free .mm-txt b::after, .mm-col-free .mm-txt span, .mm-col-free .mm-arr{display:none;}
    .mm-col-free .mm-txt{flex-grow:0;} /* Иначе в плитке (колонкой) текст растягивается по высоте и центрирование ломается */
    .mm-foot{flex-direction:column; align-items:stretch; gap:0; margin:8px 12px 20px; padding:8px 0 0; background:transparent;}
    .mm-flink{min-height:44px; padding:0 10px;}
    .mm-mob{display:inline-flex;}
    /* Личный кабинет / Вход - заметной оранжевой кнопкой, первой в нижнем блоке */
    .mm-cab{order:-1; margin:4px 0 10px; min-height:48px; font-size:16px;}
}
/* ===== Окно «Последний шаг» для гостя (script_auth.js, guestGate) =====
   Компьютер: две колонки (слева «сохранено» и преимущества, справа шаг). Телефон: окно снизу, «сохранено» - сверху,
   преимущества - в ряд внизу (display:contents у колонки + order) */
#frm.frm_gate{max-width:780px; width:calc(100% - 32px); padding:0; border-radius:20px; overflow-x:hidden; overflow-y:auto; box-shadow:0 30px 80px rgba(0,0,0,.35); user-select:text; font-size:16px; text-align:left;}
.gate{position:relative; display:flex; font-family:'Roboto',Arial,sans-serif; color:#1e293b; text-align:left;}
.gate-x{position:absolute; top:14px; right:14px; z-index:2; width:36px; height:36px; border:0; border-radius:50%; background:transparent; color:#94a3b8; display:flex; align-items:center; justify-content:center; cursor:pointer;}
.gate-x:hover{background:#f1f3f6; color:#1e293b;}
/* Отсчёт до возможности закрыть (gateCloseWait): цифра в кольце с бегущей дугой */
.gate-x.is-wait{cursor:default; color:#64748b; font:700 14px "Roboto",Arial,sans-serif; background:conic-gradient(#e48100 var(--p, 0%), #e2e8f0 0); padding:0;}
.gate-x.is-wait:hover{color:#64748b;}
.gate-x.is-wait span{width:30px; height:30px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center;}
.gate-x.is-wait{animation:gateRing 5s linear forwards;}
@property --p{syntax:"<percentage>"; inherits:false; initial-value:0%;}
@keyframes gateRing{to{--p:100%;}}

.gate-side{width:290px; flex:none; box-sizing:border-box; padding:32px 28px; background:#f6f7f9; border-right:1px solid #eceef2; display:flex; flex-direction:column; gap:22px;}
.gate-saved{display:flex; flex-direction:column; gap:10px;}
.gate-pic{position:relative; width:100%; aspect-ratio:1 / 1; border-radius:14px; overflow:hidden; background:#e5e7eb;}
.gate-pic img{width:100%; height:100%; object-fit:cover; display:block;}
.gate-cnt{position:absolute; right:10px; top:10px; background:rgba(0,0,0,.6); color:#fff; font-size:12px; font-weight:700; border-radius:999px; padding:3px 9px;}
.gate-pic-txt{aspect-ratio:auto; display:flex; gap:10px; align-items:flex-start; padding:16px; background:#fff; border:1px solid #e3e6ea; font-size:14px; line-height:1.45; color:#475569; font-style:italic;}
.gate-pic-txt svg{color:#c96f00; flex:none; margin-top:1px;}
.gate-ok{display:flex; align-items:center; gap:7px; font-size:14px; font-weight:500; color:#15803d;}
.gate-meta{font-size:13px; color:#64748b; margin-top:3px;}
.gate-perks{display:flex; flex-direction:column; gap:14px; margin:0; padding:18px 0 0; list-style:none; border-top:1px solid #e3e6ea;}
.gate-perks li{display:flex; gap:12px; align-items:flex-start;}
.gate-perk-ico{width:32px; height:32px; flex:none; border-radius:9px; background:#fff; border:1px solid #e3e6ea; color:#c96f00; display:flex; align-items:center; justify-content:center;}
.gate-perks b{display:block; font-size:14px; color:#1e293b;}
.gate-perks small{display:block; font-size:13px; line-height:1.4; color:#64748b;}

.gate-main{flex:1 1 0; min-width:0; box-sizing:border-box; padding:40px 40px 30px; display:flex; flex-direction:column;}
.gate-tit{margin:0 0 10px; padding-right:30px; font-size:32px; line-height:1.15; font-weight:700; letter-spacing:-.3px; color:#1e293b; font-family:'Roboto',Arial,sans-serif;}
.gate-sub{margin:0 0 24px; font-size:16px; line-height:1.5; color:#475569;}
.gate-sub b{color:#1e293b; word-break:break-all;}
.gate-form{display:flex; flex-direction:column; flex-grow:1;}
.gate-lbl{font-size:13px; font-weight:700; color:#334155; margin-bottom:8px;}
.gate-inp{box-sizing:border-box; width:100%; height:52px; padding:0 16px; border:1.5px solid #d6dbe2; border-radius:12px; font:16px 'Roboto',Arial,sans-serif; color:#1e293b; background:#fff; outline:none; transition:border-color .2s, box-shadow .2s;}
.gate-inp:focus{border-color:#e48100; box-shadow:0 0 0 4px rgba(228,129,0,.14);}
.gate-inp.is-bad{border-color:#ef4444; box-shadow:0 0 0 4px rgba(239,68,68,.12);}
.gate-gift{display:flex; align-items:center; gap:8px; margin-top:10px; font-size:13px; line-height:1.4; color:#64748b; transition:color .2s;}
.gate-gift svg{flex:none;}
.gate-gift.is-on{color:#15803d; font-weight:500;}
.gate-agr{display:none; flex-direction:column; gap:10px; margin-top:16px; padding:14px; border-radius:12px; background:#f8fafc; font-size:14px; line-height:1.4; color:#475569; animation:gateIn .25s ease-out;}
.gate-agr.is-show{display:flex;}
.gate-agr label{display:flex; gap:12px; align-items:flex-start; cursor:pointer;} /* Текст со ссылкой - в одном span, иначе ссылка становится отдельным блоком */
.gate-agr input{margin:0; width:20px; height:20px; flex:none; accent-color:#e48100; cursor:pointer;}
.gate-agr.gate-shake{background:#fff1f1;}
.gate-fill{flex-grow:1; min-height:20px;}
.gate-go{display:flex; align-items:center; justify-content:center; gap:10px; width:100%; height:52px; border:0; border-radius:12px; background:var(--orangrad); color:#fff !important; font:700 16px 'Roboto',Arial,sans-serif; text-shadow:0 0 2px rgba(0,0,0,.35); text-decoration:none; cursor:pointer; box-sizing:border-box;}
.gate-go:hover{background:var(--orangrad2);}
.gate-go svg{transition:transform .2s;}
.gate-go:hover svg{transform:translateX(3px);}
.gate-terms{margin-top:12px; font-size:12px; color:#94a3b8; text-align:center;}
.gate a{color:#b45f00;}
.gate-shake{animation:gateShake .45s;}

.gate-env{width:60px; height:60px; margin-bottom:16px; border-radius:16px; background:#fff4e5; color:#e48100; display:flex; align-items:center; justify-content:center;}
.gate-wait{display:flex; align-items:center; gap:10px; padding:12px 14px; border-radius:12px; background:#f8fafc; font-size:14px; color:#475569;}
.gate-wait.is-ok{background:#ecfdf3; color:#15803d; font-weight:700;}
.gate-spin{width:16px; height:16px; flex:none; border:2px solid #e2e8f0; border-top-color:#e48100; border-radius:50%; animation:spin .9s linear infinite;}
.gate-help{margin-top:14px; font-size:13px; line-height:1.7; color:#94a3b8; text-align:center;}
.gate-link{border:0; background:none; padding:0; font:inherit; color:#b45f00; cursor:pointer; text-decoration:underline;}
.gate-link:disabled{color:#94a3b8; cursor:default; text-decoration:none;}

@keyframes gateIn{from{opacity:0; transform:translateY(-4px);} to{opacity:1; transform:none;}}
@keyframes gateShake{0%,100%{transform:translateX(0);} 20%,60%{transform:translateX(-6px);} 40%,80%{transform:translateX(6px);}}
@keyframes spin{0%{transform:rotate(0deg);} 100%{transform:rotate(360deg);}}

/* Телефон: окно выезжает снизу */
@media (max-width:640px){
    #frm.frm_gate{top:auto; bottom:0; transform:translateX(-50%); width:100%; max-width:none; max-height:92vh; border-radius:22px 22px 0 0;}
    .gate{flex-direction:column; padding:22px 20px 20px;}
    .gate-side{display:contents;}
    .gate-saved{order:1; flex-direction:row; align-items:center; gap:12px; padding:10px; margin:0 40px 18px 0; border-radius:14px; background:#f6f7f9;}
    .gate-pic{width:56px; height:56px; flex:none; border-radius:10px;}
    .gate-cnt{display:none;}
    .gate-pic-txt{width:auto; height:auto; flex:1 1 auto; padding:0; background:none; border:0;}
    .gate-pic-txt svg{display:none;}
    .gate-saved-tx{min-width:0;}
    .gate-pic-txt + .gate-saved-tx{display:none;}
    .gate-main{order:2; padding:0;}
    .gate-tit{font-size:26px; padding-right:0;}
    .gate-sub{font-size:15px; margin-bottom:18px;}
    .gate-lbl{display:none;}
    .gate-fill{flex-grow:0; min-height:18px;}
    .gate-perks{order:3; flex-direction:row; gap:8px; margin-top:20px; padding-top:16px; border-top:1px solid #eceef2;}
    .gate-perks li{flex:1 1 0; flex-direction:column; align-items:center; gap:6px; text-align:center;}
    .gate-perks b{font-size:12px; font-weight:400; line-height:1.3; color:#475569;}
    .gate-perks small{display:none;}
    .gate-x{top:8px; right:8px; width:40px; height:40px;}
}

/* ===== Личный кабинет (content/profile.php, история - ajax/gethistory.php) ===== */
.pf{box-sizing:border-box; max-width:1132px; margin:0 auto; padding:44px 16px 20px; display:flex; flex-direction:column; gap:20px; text-align:left; font-family:'Roboto',Arial,sans-serif; color:#1e293b;}
.pf-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:6px;}
.pf-label{font-size:13px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; color:#c96f00; margin-bottom:8px;}
.pf h1.pf-email{margin:0; padding:0; font-size:32px; line-height:1.2; text-align:left; word-break:break-all;}
.pf-btn-l{display:inline-flex; align-items:center; justify-content:center; gap:8px; height:42px; padding:0 16px; border-radius:12px; background:#fff; border:1px solid #e2e8f0; color:#1e293b; font-size:14px; font-weight:500; white-space:nowrap; flex:none;}
.pf-btn-l:hover{color:#1e293b; border-color:#cbd5e1;}
.pf-btn-danger{color:#b91c1c; border-color:#fecaca;}
.pf-btn-danger:hover{color:#b91c1c; border-color:#fca5a5; background:#fef2f2;}
.pf-btn-o{display:inline-flex; align-items:center; justify-content:center; gap:8px; height:44px; padding:0 20px; border-radius:12px; background:var(--orangrad); color:#fff; font-size:15px; font-weight:700; text-shadow:0 0 2px rgba(0,0,0,.35); align-self:flex-start;}
.pf-btn-o:hover{background:var(--orangrad2); color:#fff;}
.pf-btn-tg{display:flex; align-items:center; justify-content:center; height:42px; padding:0 16px; border-radius:12px; background:#2AABEE; color:#fff; font-size:14px; font-weight:500; margin-top:auto;}
.pf-btn-tg:hover{background:#229ED9; color:#fff;}

.pf-cards{display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:20px;}
.pf-card{background:#fff; border:1px solid #e8ebef; border-radius:18px; box-sizing:border-box;}
.pf-card-t{font-size:16px; font-weight:700; color:#1e293b;}
.pf-bal{border-radius:18px; padding:24px; color:#fff; display:flex; flex-direction:column; gap:16px; background:radial-gradient(320px circle at 100% 0%, rgba(228,129,0,.4), rgba(228,129,0,0) 65%), linear-gradient(135deg, #2b2d33, #36383F);}
.pf-bal-l{font-size:14px; color:#b8bcc6;}
.pf-bal-v{font-size:44px; font-weight:700; line-height:1;}
.pf-bal-gem{font-size:30px;}
.pf-bal .pf-btn-o{margin-top:auto;}
.pf-acc{padding:20px 22px;}
.pf-acc .pf-card-t{margin-bottom:4px;}
.pf-kv{display:flex; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid #f0f2f5; font-size:15px;}
.pf-kv:last-child{border-bottom:0;}
.pf-kv span{color:#64748b; flex:none;}
.pf-kv b{font-weight:500; color:#1e293b; text-align:right; word-break:break-all;}
.pf-tg{padding:20px 22px; display:flex; flex-direction:column; gap:12px;}
.pf-tg-top{display:flex; align-items:center; gap:12px;}
.pf-tg-ico{width:42px; height:42px; flex:none; border-radius:12px; background:#e7f5fd; color:#2AABEE; display:flex; align-items:center; justify-content:center;}
.pf-tg-on{font-size:13px; color:#15803d; margin-top:2px; word-break:break-all;}
.pf-tg-off{font-size:13px; color:#94a3b8; margin-top:2px;}
.pf-tg-tx{font-size:13px; line-height:1.45; color:#64748b;}

.pf-hist{padding:22px 12px 10px;}
.pf-hist-head{display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:0 12px 14px;}
.pf-hist-t{font-size:18px; font-weight:700;}
.pf-hist-n{font-size:13px; color:#94a3b8;}
.pf-hist-load{padding:20px 12px; color:#94a3b8; font-size:14px;}
.hstTab{width:100%; border-collapse:collapse; font-size:14px;}
.hstTab th{padding:0 12px 12px; font-size:12px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; color:#94a3b8; text-align:left;}
.hstTab td{padding:13px 12px; border-top:1px solid #f0f2f5; color:#1e293b; text-align:left;}
.hstTab .hst-dt, .hstTab .hst-src, .hstTab .hst-bal{color:#475569;}
.hstTab .hst-cost{font-weight:500;}
.hst-muted{color:#94a3b8; font-weight:400;}
.hst-pill{display:inline-flex; align-items:center; height:26px; padding:0 10px; border-radius:999px; font-size:13px; font-weight:500; white-space:nowrap;}
.hst-ok{background:#ecfdf3; color:#15803d;}
.hst-er{background:#fef2f2; color:#b91c1c;}
.hst-wait{background:#fff7ec; color:#b45f00;}
.hstTab tr.nextHst td{padding:14px 12px 10px; text-align:center; border-top:1px solid #f0f2f5;}
.hstTab tr.nextHst td{cursor:pointer; color:#1e293b; font-weight:500;}
.hstTab tr.nextHst:hover td{color:#c96f00;}
.hstTab tr.hst-empty td{padding:24px 12px; text-align:center; color:#64748b;}

.pf-sec{padding:20px 24px; display:flex; align-items:center; gap:20px;}
.pf-sec-ico{width:42px; height:42px; flex:none; border-radius:12px; background:#fef2f2; color:#dc2626; display:flex; align-items:center; justify-content:center;}
.pf-sec-tx{flex-grow:1; font-size:14px; line-height:1.45; color:#64748b;}
.pf-sec-tx .pf-card-t{margin-bottom:3px;}

@media (max-width:900px){
    .pf-cards{grid-template-columns:1fr 1fr;}
    .pf-bal{grid-column:1 / -1; flex-direction:row; align-items:center; flex-wrap:wrap;}
    .pf-bal-l{width:100%;}
    .pf-bal .pf-btn-o{margin:0 0 0 auto;}
}
@media (max-width:640px){
    .pf{padding:26px 14px 10px; gap:14px;}
    .pf h1.pf-email{font-size:22px;}
    .pf-btn-l{height:40px; padding:0 12px;}
    .pf-cards{grid-template-columns:1fr; gap:14px;}
    .pf-bal{padding:20px;}
    .pf-bal-v{font-size:34px;}
    .pf-bal-gem{font-size:24px;}
    .pf-kv-mail{display:none;} /* Email - уже в заголовке */
    .pf-acc, .pf-tg{padding:16px 18px;}
    .pf-sec{flex-direction:column; align-items:stretch; gap:10px; padding:16px 18px;}
    .pf-sec-ico{display:none;}
    .pf-hist{padding:18px 16px 10px;}
    .pf-hist-head{flex-direction:column; gap:4px; padding:0 0 8px;}
    /* История: строки таблицы - карточками: инструмент и дата слева, статус и списание справа */
    .hstTab, .hstTab tbody{display:block;}
    .hstTab tr:first-child{display:none;}
    .hstTab tr{display:grid; grid-template-columns:1fr auto; gap:2px 12px; padding:12px 0; border-top:1px solid #f0f2f5;}
    .hstTab td{padding:0; border:0;}
    .hstTab .hst-tool{grid-column:1; grid-row:1; font-size:15px; font-weight:500;}
    .hstTab .hst-dt{grid-column:1; grid-row:2; font-size:12px; color:#94a3b8;}
    .hstTab .hst-src{grid-column:1; grid-row:3; font-size:12px; color:#94a3b8;}
    .hstTab td:first-child{grid-column:2; grid-row:1; text-align:right;}
    .hstTab .hst-cost{grid-column:2; grid-row:2; text-align:right; font-size:13px;}
    .hstTab .hst-bal{display:none;}
    .hstTab tr.nextHst, .hstTab tr.hst-empty{display:block; padding:0;}
    .hstTab tr.nextHst td, .hstTab tr.hst-empty td{display:block; padding:14px 0 6px;}
}

/* ===== Окно пополнения баланса (scripts.js, setBalance) ===== */
#frm.pay-modal{max-width:720px; width:calc(100% - 32px); padding:0; border-radius:20px; overflow-x:hidden; overflow-y:auto; box-shadow:0 30px 80px rgba(0,0,0,.35); user-select:text; font-size:16px; text-align:left;}
.pay{position:relative; padding:32px 36px 26px; font-family:'Roboto',Arial,sans-serif; color:#1e293b; text-align:left;}
.pay-x{position:absolute; top:14px; right:14px; width:36px; height:36px; border:0; border-radius:50%; background:transparent; color:#94a3b8; display:flex; align-items:center; justify-content:center; cursor:pointer;}
.pay-x:hover{background:#f1f3f6; color:#1e293b;}
.pay-tit{margin:0 0 6px; padding-right:30px; font-size:28px; line-height:1.2; font-weight:700; color:#1e293b; font-family:'Roboto',Arial,sans-serif;}
.pay-cur{font-size:15px; color:#64748b; margin-bottom:22px;}
.pay-cur b{color:#1e293b;}
.pay-need{margin:4px 0 20px; padding:12px 14px; border-radius:12px; background:#fff7ec; border:1px solid #f6dcb8; font-size:14px; line-height:1.45; color:#7a4a00;}
.pay-need b{color:#1e293b;}
.pay-grid{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px; margin-top:10px;}
.pay-t, .pay-row{position:relative; box-sizing:border-box; border:1.5px solid #e2e8f0; background:#fff; cursor:pointer; text-align:left; font-family:'Roboto',Arial,sans-serif; color:#1e293b; transition:border-color .15s, box-shadow .15s;}
.pay-t{display:flex; flex-direction:column; align-items:flex-start; gap:4px; padding:18px 18px 16px; border-radius:16px;}
.pay-t:hover, .pay-row:hover{border-color:#f0c48a;}
.pay-t.is-sel, .pay-row.is-sel{border-color:#e48100; box-shadow:0 0 0 4px rgba(228,129,0,.14);}
.pay-rd{position:absolute; top:16px; right:16px; width:20px; height:20px; box-sizing:border-box; border-radius:50%; border:2px solid #cbd5e1; transition:border .15s;}
.is-sel > .pay-rd{border:6px solid #e48100;}
.pay-pop{position:absolute; top:-11px; left:16px; height:22px; padding:0 10px; border-radius:999px; background:#e48100; color:#fff; font-size:12px; font-weight:700; display:flex; align-items:center;}
.pay-t-a{font-size:30px; font-weight:700; line-height:1.1;}
.pay-t-p{font-size:18px; font-weight:500; margin-top:2px;}
.pay-per{display:flex; align-items:center; gap:6px; margin-top:6px; font-size:13px; color:#64748b;}
.pay-save{font-style:normal; font-size:12px; font-weight:700; color:#15803d; background:#dcfce7; border-radius:6px; padding:1px 6px;}
.pay-big{display:flex; flex-direction:column; gap:8px; margin-top:12px;}
.pay-big[hidden], .pay-more[hidden]{display:none;}
.pay-row{display:flex; align-items:center; gap:14px; width:100%; padding:12px 16px; border-radius:12px;}
.pay-row .pay-rd{position:static; flex:none;}
.pay-row b{font-size:17px; width:100px;}
.pay-row-p{font-size:16px; font-weight:500; flex-grow:1;}
.pay-row .pay-per{margin:0;}
.pay-more{display:block; margin-top:12px; padding:0; border:0; background:none; font:500 14px 'Roboto',Arial,sans-serif; color:#b45f00; cursor:pointer;}
.pay-more:hover{color:#8a4900;}
.pay-go{display:flex; align-items:center; justify-content:center; gap:10px; height:54px; margin-top:20px; border-radius:14px; background:var(--orangrad); color:#fff !important; font:700 17px 'Roboto',Arial,sans-serif; text-shadow:0 0 2px rgba(0,0,0,.35); box-shadow:0 8px 24px rgba(228,129,0,.35);}
.pay-go:hover{background:var(--orangrad2);}
.pay-go svg{transition:transform .2s;}
.pay-go:hover svg{transform:translateX(3px);}
.pay-note{margin-top:10px; text-align:center; font-size:13px; color:#64748b;}
.pay-biz{display:flex; align-items:center; gap:16px; margin-top:22px; padding:16px 18px; border-radius:14px; background:#f6f7f9;}
.pay-biz-ico{width:40px; height:40px; flex:none; border-radius:11px; background:#fff; border:1px solid #e3e6ea; color:#c96f00; display:flex; align-items:center; justify-content:center;}
.pay-biz > div{flex-grow:1;}
.pay-biz b{display:block; font-size:15px; color:#1e293b;}
.pay-biz span:not(.pay-biz-ico){display:block; font-size:13px; line-height:1.4; color:#64748b;}
.pay-biz-btn{flex:none; height:40px; padding:0 16px; border-radius:10px; background:#fff; border:1px solid #e2e8f0; color:#1e293b; font:500 14px 'Roboto',Arial,sans-serif; cursor:pointer;}
.pay-biz-btn:hover{border-color:#cbd5e1;}

/* Телефон: окно снизу, пакеты - строками */
@media (max-width:640px){
    #frm.pay-modal{top:auto; bottom:0; transform:translateX(-50%); width:100%; max-width:none; max-height:92vh; border-radius:22px 22px 0 0;}
    .pay{padding:22px 18px 20px;}
    .pay-tit{font-size:24px;}
    .pay-grid{grid-template-columns:1fr; gap:10px;}
    .pay-t{display:grid; grid-template-columns:auto 1fr auto; align-items:center; column-gap:12px; row-gap:2px; padding:14px; border-radius:14px;}
    .pay-t .pay-rd{position:static; grid-row:1 / 3; grid-column:1;}
    .pay-t-a{grid-column:2; grid-row:1; font-size:18px;}
    .pay-t .pay-per{grid-column:2; grid-row:2; margin:0; font-size:12px;}
    .pay-t-p{grid-column:3; grid-row:1 / 3; margin:0; font-size:16px;}
    .pay-pop{position:static; grid-column:2; grid-row:1; justify-self:end; height:20px; font-size:11px;}
    .pay-row{flex-wrap:wrap; gap:4px 12px; padding:14px;}
    .pay-row b{width:auto; font-size:18px;}
    .pay-row-p{flex-grow:1; text-align:right;}
    .pay-row .pay-per{width:100%; padding-left:32px; font-size:12px;}
    .pay-row .pay-save{margin-left:32px;}
    .pay-go{height:52px; font-size:16px;}
    .pay-biz{flex-direction:column; align-items:stretch; gap:10px; padding:14px;}
    .pay-biz-ico{display:none;}
}
