/* ==================================================
   ГЛОБАЛЬНЫЕ НАСТРОЙКИ
   ================================================== */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Manrope', sans-serif; background-color: #0d0d0d; color: #fff; overflow-x: hidden; -webkit-tap-highlight-color: transparent;}
h1, h2, h3 { font-family: 'Oswald', sans-serif; text-transform: uppercase; }
img { display: block; max-width: 100%; height: auto; }
body.no-scroll { overflow: hidden !important; }

/* ==================================================
   ПРЕЛОАДЕР (ЭКРАН ЗАГРУЗКИ)
   ================================================== */
.splash-screen { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: #0d0d0d; z-index: 999999; display: flex; flex-direction: column; justify-content: center; align-items: center; transition: opacity 0.4s ease, visibility 0.4s ease; }
.splash-logo { font-size: 2.5rem; font-family: 'Oswald', sans-serif; font-weight: 700; letter-spacing: 2px; color: #fff; margin-bottom: 25px; }
.splash-logo span { color: #ff3c00; }
.splash-progress-bg { width: 200px; height: 4px; background: #222; border-radius: 2px; overflow: hidden; position: relative; }
.splash-progress-fill { position: absolute; top: 0; left: 0; height: 100%; background: #ff3c00; width: 0%; animation: loadProgress 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards; }
@keyframes loadProgress { 0% { width: 0%; } 40% { width: 60%; } 100% { width: 100%; } }

/* ==================================================
   ШАПКА (HEADER)
   ================================================== */
.sticky-top-bar { position: sticky; top: 0; z-index: 1000; background: #0d0d0d; border-bottom: 1px solid rgba(255,255,255,0.05); width: 100%; transition: padding 0.2s; }
.header { padding: 15px 5%; display: flex; justify-content: space-between; align-items: center; width: 100%; max-width: 1600px; margin: 0 auto; }
.main-logo { font-size: 1.6rem; letter-spacing: 2px; font-weight: 700; line-height: 1; white-space: nowrap; color: #fff; text-decoration: none;}
.main-logo span { color: #ff3c00; }
.header-contacts { display: flex; gap: 8px; align-items: center; }
.contact-label { font-family: 'Manrope', sans-serif; font-size: 0.95rem; color: #fff; margin-right: 5px; font-weight: 600; white-space: nowrap; }
.square-btn { width: 40px; height: 40px; border-radius: 10px; display: flex; justify-content: center; align-items: center; text-decoration: none; color: #fff; transition: 0.3s; flex-shrink: 0; border: none; cursor: pointer; }
.btn-tg { background: #2AABEE !important; } .btn-phone { background: #4CD964 !important; } .btn-yt { background: #FF0000 !important; }

@media (max-width: 500px) { .contact-text { display: none; } .contact-label { margin-right: 2px; font-size: 1.2rem; } }
@media (max-width: 420px) {
    .header { padding: 12px 4%; } .main-logo { font-size: 1.2rem; letter-spacing: 0px; }
    .square-btn { width: 34px; height: 34px; border-radius: 8px; }
    .square-btn svg { width: 18px; height: 18px; }
}

/* ==================================================
   ОБЩИЕ БЛОКИ (ГЛАВНЫЙ ЭКРАН И ФОРМЫ)
   ================================================== */
.hero-section { padding: 50px 5% 40px; text-align: center; background: radial-gradient(circle at 50% -20%, rgba(255, 60, 0, 0.15) 0%, rgba(13,13,13,1) 70%); max-width: 1600px; margin: 0 auto; }
.hero-title { font-size: 3rem; line-height: 1.1; margin-bottom: 15px; }
.hero-title span { color: #ff3c00; }
.hero-subtitle { font-size: 1.1rem; color: #aaa; margin-bottom: 30px; max-width: 700px; margin-left: auto; margin-right: auto; line-height: 1.6; }
.btn-primary { background: #ff3c00; color: #fff; border: none; padding: 16px 30px; border-radius: 10px; font-family: 'Manrope'; font-size: 1.1rem; font-weight: 800; text-transform: uppercase; cursor: pointer; transition: 0.3s; }
.btn-primary:active { transform: scale(0.95); opacity: 0.8; }
.trust-badges { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-bottom: 30px; }
.badge { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); padding: 8px 15px; border-radius: 20px; font-size: 0.85rem; font-weight: 600; color: #ddd; display: flex; align-items: center; gap: 6px; }

/* Сетка этапов */
.section-title { padding: 0 5%; font-size: 2rem; margin: 40px auto 25px; text-align: center; }
.stages-grid { padding: 10px 5% 40px; display: grid; gap: 15px; max-width: 1200px; margin: 0 auto; grid-template-columns: 1fr; }
@media (min-width: 768px) { .stages-grid { grid-template-columns: 1fr 1fr; } }
.stage-card { background: #111; border-radius: 12px; padding: 25px; border: 1px solid rgba(255,255,255,0.05); }
.stage-card h4 { font-size: 1.2rem; margin-bottom: 10px; color: #ff3c00; }
.stage-card p { font-size: 0.95rem; color: #888; line-height: 1.5; }

/* Формы */
.form-section { padding: 0 5% 80px; max-width: 800px; margin: 0 auto; }
.form-box { background: #141414; padding: 35px 25px; border-radius: 16px; border: 1px solid rgba(255,255,255,0.05); }
.form-box h2 { text-align: center; font-size: 1.8rem; margin-bottom: 10px; }
.form-subtitle { text-align: center; color: #888; margin-bottom: 25px; font-size: 0.95rem; }
.form-group { margin-bottom: 20px; }
.form-group label { display: block; color: #aaa; margin-bottom: 8px; font-weight: 600; font-size: 0.9rem; text-transform: uppercase; }
.form-input { width: 100%; background: #0d0d0d; border: 1px solid #333; color: #fff; padding: 16px; border-radius: 10px; font-family: 'Manrope'; font-size: 1.1rem; outline: none; }
.form-input:focus { border-color: #ff3c00; }
textarea.form-input { resize: vertical; min-height: 120px; }
.phone-wrapper { display: flex; align-items: center; background: #0d0d0d; border: 1px solid #333; border-radius: 10px; padding: 0 15px; }
.phone-wrapper:focus-within { border-color: #ff3c00; }
.phone-prefix { color: #888; font-weight: 600; font-size: 1.1rem; margin-right: 5px; }
.phone-wrapper input { border: none; padding: 16px 0; background: transparent; color: #fff; outline: none;}
.order-methods { display: flex; gap: 10px; flex-direction: column; margin-top: 10px; }
.method-btn { background: rgba(255,255,255,0.05); color: #fff; padding: 16px; border-radius: 10px; cursor: pointer; font-weight: 600; font-size: 1.1rem; border: 1px solid rgba(255,255,255,0.1); transition: 0.3s; text-transform: uppercase; font-family: 'Manrope';}

/* Галочка согласия */
.privacy-box { display: flex; align-items: flex-start; gap: 10px; margin: 15px 0 5px; font-size: 0.75rem; color: #888; text-align: left; cursor: pointer; }
.privacy-box input[type="checkbox"] { margin-top: 2px; accent-color: #ff3c00; transform: scale(1.2); }
.privacy-box a { color: #fff; text-decoration: underline; }



/* ==================================================
   ПОДВАЛ (FOOTER)
   ================================================== */
.main-footer { text-align: center; padding: 40px 20px 30px; margin-top: 40px; background: #0d0d0d; border-top: 1px solid rgba(255, 255, 255, 0.05); display: flex; flex-direction: column; align-items: center; gap: 15px; }
.footer-logo { font-size: 1.8rem; font-family: 'Oswald', sans-serif; font-weight: 700; letter-spacing: 1px; color: #fff; }
.footer-logo span { color: #ff3c00; }
.footer-desc { color: #888; font-size: 0.95rem; max-width: 450px; line-height: 1.5; }
.footer-copyright { color: #444; font-size: 0.8rem; margin-top: 15px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, 0.05); width: 100%; max-width: 400px; }

/* ==================================================
   НОВАЯ КНОПКА ПРОФИЛЯ В ШАПКЕ
   ================================================== */
.profile-btn-ui {
    display: flex; align-items: center; gap: 8px; background: rgba(255, 60, 0, 0.1);
    border: 1px solid rgba(255, 60, 0, 0.3); padding: 8px 15px; border-radius: 12px;
    color: #fff; text-decoration: none; transition: 0.3s; margin-right: auto; margin-left: 20px;
}
.profile-btn-ui:hover { background: rgba(255, 60, 0, 0.2); }
.profile-btn-ui:active { transform: scale(0.95); }
.profile-btn-ui svg { stroke: #ff3c00; flex-shrink: 0; }
.profile-btn-texts { display: flex; flex-direction: column; justify-content: center; }
.p-title { font-family: 'Manrope'; font-weight: 800; font-size: 0.9rem; line-height: 1.1; }
.p-sub { font-size: 0.7rem; color: #ff3c00; font-weight: 600; line-height: 1.1; margin-top: 2px; }

/* Адаптация кнопки профиля для телефонов */
@media (max-width: 600px) {
    .profile-btn-ui { padding: 6px 10px; margin-left: 10px; gap: 6px;}
    .p-title { font-size: 0.85rem; }
    .p-sub { font-size: 0.65rem; }
}
@media (max-width: 400px) {
    .p-sub { display: none; } /* Скрываем надпись на узких экранах, чтобы не ехала верстка */
    .profile-btn-ui { padding: 8px; border-radius: 10px; margin-left: auto; margin-right: 15px;}
}

/* ==================================================
   УНИВЕРСАЛЬНАЯ КНОПКА "НАЗАД"
   ================================================== */
.back-nav-wrapper { background: #0d0d0d; width: 100%; border-top: 1px solid rgba(255,255,255,0.05); border-bottom: 1px solid rgba(255,255,255,0.05); }
.back-nav { padding: 12px 5%; max-width: 1600px; margin: 0 auto; display: flex; justify-content: flex-start; align-items: center; }
.back-btn-ui { background: transparent; color: #ff3c00; border: 1px solid #ff3c00; padding: 10px 20px; border-radius: 6px; font-weight: 700; cursor: pointer; transition: 0.3s; text-transform: uppercase; font-family: 'Manrope'; font-size: 0.9rem; }
.back-btn-ui:active { transform: scale(0.95); background: rgba(255,60,0,0.1); }

/* Кнопки перелистывания прямо на главной фотографии */
.img-nav-btn { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(0,0,0,0.5); color: #fff; border: none; width: 40px; height: 40px; border-radius: 50%; font-size: 1.2rem; cursor: pointer; z-index: 10; display: flex; justify-content: center; align-items: center; backdrop-filter: blur(4px); transition: 0.3s; }
.img-nav-btn:active { background: rgba(255, 60, 0, 0.8); transform: translateY(-50%) scale(0.9); }
.img-nav-btn.left { left: 10px; }
.img-nav-btn.right { right: 10px; }

/* Адаптация шапки под узкие экраны телефонов */
@media (max-width: 600px) {
    #main-header { flex-wrap: wrap; justify-content: space-between; gap: 10px; padding: 10px 5%; }
    .main-logo { width: auto; }
    .header-contacts { margin-left: auto; display: flex; gap: 5px; }
    .profile-btn-ui { order: 3; width: 100%; margin: 5px 0 0 0 !important; justify-content: center; }
    #main-top-bar { padding-bottom: 10px; }
}