/* =================== БАЗОВЫЕ СТИЛИ И ПЕРЕМЕННЫЕ =================== */
:root {
 --primary: #FF6B00;
 --primary-dark: #E05C00;
 --accent: #0057FF;
 --success: #00B341;
 --warning: #FFD600;
 --danger: #FF3B30;
 --dark: #1A1A1A;
 --light: #FFFFFF;
 --gray: #6C757D;
 --gray-light: #F8F9FA;
}

* {
 margin: 0;
 padding: 0;
 box-sizing: border-box;
 font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
}

body {
 background-color: var(--gray-light);
 color: var(--dark);
 line-height: 1.6;
}

.container {
 max-width: 1300px;
 margin: 0 auto;
 padding: 0 20px;
 width: 100%;
}

.layout {
 display: flex;
 flex-direction: column;
 min-height: 100vh;
}

.main {
 flex: 1 1 auto;
}

/* =================== ШАПКА САЙТА =================== */
.header {
 background: #fff;
 box-shadow: 0 2px 15px rgba(0,0,0,0.08);
 position: relative;
 z-index: 1000;
}

.header-container {
 display: flex;
 justify-content: space-between;
 align-items: center;
 padding: 15px 20px;
 max-width: 1300px;
 margin: 0 auto;
}

.logo-container {
 display: flex;
 align-items: center;
}

.logo-link {
 display: flex;
 align-items: center;
 text-decoration: none;
 color: #000;
 padding: 8px 12px;
 border-radius: 8px;
 background: rgba(255,107,0,0.05);
 border: 2px solid transparent;
 transition: all 0.3s ease;
 max-width: 320px;
}

.logo-link:hover {
 background: rgba(255,107,0,0.1);
 border-color: var(--primary);
 transform: translateY(-2px);
 box-shadow: 0 5px 15px rgba(255,107,0,0.1);
}

.logo-img {
 width: 80px;
 height: 80px;
 margin-right: 15px;
 object-fit: contain;
 flex-shrink: 0;
 border-radius: 6px;
}

.logo-text-container {
 display: flex;
 flex-direction: column;
 line-height: 1.2;
}

.logo-title {
 font-size: 1.1em;
 font-weight: 600;
 color: #000;
 margin-bottom: 3px;
}

.logo-subtitle {
 font-size: 0.8em;
 color: #666;
 font-style: italic;
}

.header-left {
 display: flex;
 align-items: center;
 gap: 30px;
 flex-grow: 1;
}

.header-right {
 display: flex;
 align-items: center;
 gap: 20px;
}

.header-mobile-button {
 background: none;
 border: none;
 cursor: pointer;
 padding: 8px;
 display: flex;
 align-items: center;
 justify-content: center;
}

.header-mobile-icon {
 width: 24px;
 height: 24px;
 fill: #333;
}

/* Поиск */
.header-search {
 position: relative;
}

.header-search-panel {
 position: absolute;
 top: 100%;
 right: 0;
 background: white;
 padding: 15px;
 box-shadow: 0 5px 20px rgba(0,0,0,0.1);
 border-radius: 8px;
 display: none;
 z-index: 1001;
}

.header-search-panel.active {
 display: block;
}

.header-search-form {
 display: flex;
 gap: 10px;
}

.header-search-input {
 padding: 10px 15px;
 border: 1px solid #ddd;
 border-radius: 6px;
 min-width: 250px;
}

.header-search-button {
 background: var(--primary);
 color: white;
 border: none;
 padding: 8px 16px;
 border-radius: 6px;
 font-weight: 600;
 cursor: pointer;
 transition: background 0.3s;
 white-space: nowrap;
}

.header-search-button:hover {
 background: var(--primary-dark);
}

/* Корзина */
.header-cart {
 position: relative;
}

/* =================== КОМПАКТНОЕ ГОРИЗОНТАЛЬНОЕ МЕНЮ =================== */
.header-nav-container {
 background: rgba(255, 255, 255, 0.95);
 backdrop-filter: blur(10px);
 border-bottom: 1px solid rgba(0, 0, 0, 0.1);
 box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08);
 position: sticky;
 top: 0;
 z-index: 999;
}

.compact-nav {
 max-width: 1200px;
 margin: 0 auto;
 padding: 0 20px;
 position: relative;
}

.compact-nav-list {
 display: flex;
 justify-content: center;
 list-style: none;
 margin: 0;
 padding: 0;
 gap: 5px;
}

.compact-nav-item {
 position: relative;
 flex: 1;
 max-width: 180px;
}

.compact-nav-link {
 display: flex;
 flex-direction: column;
 align-items: center;
 text-align: center;
 padding: 12px 10px;
 text-decoration: none;
 color: #333;
 background: transparent;
 border-radius: 8px;
 transition: all 0.25s;
 border: 1px solid transparent;
 position: relative;
 overflow: hidden;
 height: 100%;
}

.compact-nav-link:hover {
 background: rgba(255,107,0,0.08);
 color: var(--primary);
 transform: translateY(-2px);
 border-color: rgba(255,107,0,0.2);
 box-shadow: 0 5px 15px rgba(255,107,0,0.1);
}

.compact-nav-link::before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 3px;
 background: linear-gradient(90deg, var(--primary), #FF9500);
 transform: translateY(-100%);
 transition: transform 0.3s ease;
}

.compact-nav-link:hover::before {
 transform: translateY(0);
}

.nav-icon {
 font-size: 1.5rem;
 margin-bottom: 6px;
 display: block;
 transition: transform 0.3s ease;
}

.compact-nav-link:hover .nav-icon {
 transform: scale(1.1);
}

.nav-text {
 font-size: 0.85rem;
 font-weight: 600;
 line-height: 1.2;
 display: block;
 transition: transform 0.3s ease;
}

.compact-nav-link:hover .nav-text {
 transform: translateY(1px);
}

.compact-nav-item.active .compact-nav-link {
 background: linear-gradient(135deg, var(--primary) 0%, #FF9500 100%);
 color: white;
 box-shadow: 0 4px 12px rgba(255,107,0,0.3);
}

.compact-nav-item.active .compact-nav-link::before {
 display: none;
}

.compact-nav-item.active::after {
 content: '';
 position: absolute;
 bottom: 0;
 left: 50%;
 transform: translateX(-50%);
 width: 60%;
 height: 3px;
 background: var(--primary);
 border-radius: 2px;
}

.compact-nav-toggle {
 display: none;
 position: absolute;
 right: 20px;
 top: 50%;
 transform: translateY(-50%);
 background: transparent;
 border: none;
 width: 30px;
 height: 30px;
 cursor: pointer;
 flex-direction: column;
 justify-content: space-between;
 padding: 0;
 z-index: 1001;
}

.toggle-line {
 display: block;
 width: 100%;
 height: 3px;
 background: #333;
 border-radius: 2px;
 transition: all 0.3s ease;
}

.compact-nav-toggle[aria-expanded="true"] .toggle-line:nth-child(1) {
 transform: translateY(8px) rotate(45deg);
}
.compact-nav-toggle[aria-expanded="true"] .toggle-line:nth-child(2) {
 opacity: 0;
}
.compact-nav-toggle[aria-expanded="true"] .toggle-line:nth-child(3) {
 transform: translateY(-8px) rotate(-45deg);
}

/* =================== БЛОК АВТОРИЗАЦИИ =================== */
.header-auth-block {
 display: flex;
 align-items: center;
 gap: 12px;
 background: rgba(255, 255, 255, 0.9);
 padding: 6px 15px;
 border-radius: 40px;
 box-shadow: 0 4px 10px rgba(0,0,0,0.05), inset 0 1px 3px rgba(255,255,255,0.8);
 backdrop-filter: blur(5px);
 border: 1px solid rgba(0,0,0,0.08);
}

.header-auth-block .svg-icon {
 width: 22px;
 height: 22px;
 fill: var(--primary);
 filter: drop-shadow(0 2px 3px rgba(255,107,0,0.3));
}

.auth-content {
 display: grid;
 align-items: center;
 gap: 15px;
 grid-template-columns: 1fr;
}

.header-auth-block.logged-in .auth-content {
 grid-template-columns: auto 1fr;
}

.auth-links {
 display: flex;
 gap: 8px;
 font-size: 0.95rem;
 font-weight: 500;
}

.auth-links a {
 display: inline-block;
 padding: 6px 14px;
 border-radius: 30px;
 background: white;
 color: #333;
 text-decoration: none;
 font-weight: 600;
 transition: all 0.3s ease;
 border: 1px solid rgba(0,0,0,0.05);
 box-shadow: 0 4px 8px rgba(0,0,0,0.02), 0 2px 4px rgba(0,0,0,0.05);
 white-space: nowrap;
}

.auth-links a:hover {
 background: var(--primary);
 color: white;
 transform: translateY(-2px);
 box-shadow: 0 8px 15px rgba(255,107,0,0.3);
 border-color: transparent;
}

.auth-extra {
 display: flex;
 gap: 8px;
 justify-content: flex-end;
}

.extra-btn {
 display: inline-flex;
 align-items: center;
 gap: 4px;
 padding: 4px 10px;
 background: #f0f0f0;
 border-radius: 16px;
 color: #333;
 text-decoration: none;
 font-size: 0.8rem;
 font-weight: 500;
 transition: all 0.2s;
 border: 1px solid transparent;
 white-space: nowrap;
}

.extra-btn .btn-icon {
 font-size: 1rem;
}

.extra-btn:hover {
 background: var(--primary);
 color: white;
 transform: translateY(-1px);
}

/* =================== БЛОК ПРЕИМУЩЕСТВ =================== */
.advantages-box {
 padding: 40px 20px;
 max-width: 1200px;
 margin: 0 auto;
}
.advantages-box h2 {
 text-align: center;
 font-size: 2.2em;
 margin-bottom: 20px;
 color: #1a365d;
 position: relative;
 padding-bottom: 15px;
}
.advantages-box h2:after {
 content: '';
 position: absolute;
 bottom: 0;
 left: 50%;
 transform: translateX(-50%);
 width: 80px;
 height: 3px;
 background: linear-gradient(to right, var(--primary), #FF8E00);
}
.advantages {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
 gap: 30px;
 margin-top: 40px;
}
.advantage-card {
 text-align: center;
 padding: 30px 25px;
 border-radius: 12px;
 background: white;
 border: 1px solid #e0e0e0;
 transition: all 0.3s ease;
 height: 100%;
 display: flex;
 flex-direction: column;
 align-items: center;
 min-height: 320px;
 box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}
.advantage-card:hover {
 transform: translateY(-10px);
 box-shadow: 0 15px 30px rgba(255,107,0,0.15);
 border-color: var(--primary);
}
.advantage-img {
 width: 80px;
 height: 80px;
 margin-bottom: 25px;
 object-fit: contain;
}
.advantage-card .title {
 color: #1a365d;
 font-size: 1.3em;
 margin-bottom: 15px;
 min-height: 60px;
 display: flex;
 align-items: center;
 justify-content: center;
 line-height: 1.4;
}
.advantage-card .text {
 color: #555;
 line-height: 1.6;
 flex-grow: 1;
 font-size: 1em;
}

/* =================== БЛОК СТАТИСТИКИ =================== */
.stats-box {
 margin: 40px auto 0;
 padding: 50px 20px;
 background: linear-gradient(135deg, #f8f9fa 0%, #f0f7ff 100%);
 border-radius: 15px;
 border: 1px solid #e0e0e0;
 max-width: 1200px;
}
.stats-box h2 {
 text-align: center;
 font-size: 2.2em;
 margin-bottom: 20px;
 color: #1a365d;
}
.stats-container {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
 gap: 30px;
 margin-top: 40px;
}
.stat-card {
 text-align: center;
 padding: 25px 20px;
 background: white;
 border-radius: 10px;
 box-shadow: 0 8px 20px rgba(0,0,0,0.08);
 transition: all 0.3s ease;
 min-height: 180px;
 display: flex;
 flex-direction: column;
 justify-content: center;
 position: relative;
 overflow: hidden;
}
.stat-card:before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 4px;
 background: linear-gradient(to right, var(--primary), #FF8E00);
}
.stat-card:hover {
 transform: translateY(-5px);
 box-shadow: 0 15px 30px rgba(255,107,0,0.15);
}
.stat-card-counter {
 font-size: 2.8em;
 font-weight: 800;
 color: var(--primary);
 margin-bottom: 15px;
 line-height: 1;
}
.stat-card-title {
 color: #1a365d;
 font-weight: 700;
 font-size: 1.1em;
 margin-bottom: 10px;
}
.stat-card .description {
 font-size: 0.9em;
 color: #666;
 line-height: 1.5;
}
.quote-box {
 text-align: center;
 margin-top: 40px;
 padding: 25px;
 background: rgba(255,107,0,0.1);
 border-radius: 12px;
 border-left: 5px solid var(--primary);
 max-width: 800px;
 margin-left: auto;
 margin-right: auto;
}
.quote-box p {
 margin: 0;
 color: #1a365d;
 font-style: italic;
 font-size: 1.1em;
}

/* =================== ФУТЕР =================== */
.footer {
 background: linear-gradient(180deg, #ffffff 0%, #f8f9fa 100%);
 padding: 60px 0 30px;
 border-top: 3px solid var(--primary);
 margin-top: 80px;
 color: #333;
 font-size: 0.95em;
}
.footer-container {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 60px;
 max-width: 1200px;
 margin: 0 auto;
 padding: 0 25px;
}
.footer-left {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 gap: 25px;
}
.logo-footer {
 margin-bottom: 15px;
}
.logo-footer a {
 display: flex;
 align-items: center;
 text-decoration: none;
 color: inherit;
 transition: transform 0.3s ease;
}
.logo-footer a:hover {
 transform: translateY(-2px);
}
.footer-logo-img {
 width: 60px;
 height: 60px;
 margin-right: 15px;
 object-fit: contain;
 border-radius: 8px;
 border: 2px solid var(--primary);
 flex-shrink: 0;
}
.footer-logo-text {
 font-weight: 800;
 color: #000;
 font-size: 1.2rem;
 line-height: 1.3;
}
.footer-copy {
 line-height: 1.6;
}
.footer-copy strong {
 color: #1a365d;
 font-size: 1.05em;
}
.footer-description {
 font-size: 0.9em;
 color: #666;
 display: inline-block;
 margin-top: 8px;
}
.footer-contacts {
 display: flex;
 flex-direction: column;
 gap: 12px;
}
.contact-item {
 margin: 0;
 font-size: 0.95em;
 line-height: 1.5;
}
.contact-link {
 color: var(--accent);
 text-decoration: none;
 font-weight: 600;
 transition: color 0.3s;
 margin-left: 5px;
}
.contact-link:hover {
 color: var(--primary);
 text-decoration: underline;
}
.contact-hours {
 font-size: 0.85em;
 color: #666;
}
.ucoz-copy {
 font-size: 0.8em;
 color: #999;
 margin-top: 10px;
}
.footer-right {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 gap: 35px;
}
.footer-section-title {
 margin: 0 0 20px 0;
 color: #1a365d;
 font-size: 1.2rem;
 font-weight: 700;
 position: relative;
 padding-bottom: 10px;
}
.footer-section-title:after {
 content: '';
 position: absolute;
 bottom: 0;
 left: 0;
 width: 40px;
 height: 3px;
 background: linear-gradient(to right, var(--primary), #FF8E00);
}
.footer-links-list {
 list-style: none;
 padding: 0;
 margin: 0;
 columns: 2;
 column-gap: 40px;
}
.footer-links-list li {
 margin-bottom: 12px;
 break-inside: avoid;
}
.footer-link {
 color: #555;
 text-decoration: none;
 font-size: 0.95em;
 transition: all 0.3s;
 display: flex;
 align-items: center;
 padding: 5px 0;
}
.footer-link:hover {
 color: var(--primary);
 transform: translateX(5px);
}
.footer-link:before {
 content: '→';
 margin-right: 8px;
 opacity: 0;
 transition: opacity 0.3s;
}
.footer-link:hover:before {
 opacity: 1;
}
.footer-social-list {
 display: flex;
 gap: 20px;
 list-style: none;
 padding: 0;
 margin: 0;
}
.social-list-link {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 44px;
 height: 44px;
 border-radius: 50%;
 text-decoration: none;
 transition: all 0.3s;
 position: relative;
 overflow: hidden;
}
.social-list-link:hover {
 transform: translateY(-3px);
 box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
.tg-link { background: #0088cc; color: white; }
.insta-link { background: linear-gradient(45deg, #405DE6, #5851DB, #833AB4, #C13584, #E1306C, #FD1D1D); color: white; }
.vk-link { background: #2d77f7; color: white; }
.social-icon {
 width: 24px;
 height: 24px;
 transition: transform 0.3s;
}
.social-list-link:hover .social-icon { transform: scale(1.1); }
.social-label {
 position: absolute;
 bottom: -25px;
 left: 50%;
 transform: translateX(-50%);
 font-size: 0.7em;
 white-space: nowrap;
 opacity: 0;
 transition: all 0.3s;
 color: #333;
 background: white;
 padding: 2px 8px;
 border-radius: 4px;
 box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.social-list-link:hover .social-label {
 opacity: 1;
 bottom: -30px;
}
.footer-quote {
 margin-top: 20px;
 padding: 20px;
 background: rgba(255,107,0,0.08);
 border-radius: 10px;
 border-left: 4px solid var(--primary);
 text-align: center;
}
.footer-quote p {
 margin: 0;
 color: #1a365d;
 font-size: 1rem;
 font-weight: 700;
}

/* =================== СТРАНИЦА УСЛУГ (КАРТОЧКИ) =================== */
.page-container {
 max-width: 1200px;
 margin: 0 auto;
 padding: 20px;
}
.breadcrumbs {
 margin: 20px 0 40px;
 padding: 15px 0;
 border-bottom: 1px solid #dee2e6;
 font-size: 0.9rem;
}
.breadcrumbs a {
 color: var(--primary);
 text-decoration: none;
}
.breadcrumbs a:hover {
 text-decoration: underline;
}
.service-card {
 background: var(--light);
 border-radius: 15px;
 overflow: hidden;
 box-shadow: 0 10px 30px rgba(0,0,0,0.08);
 margin-bottom: 40px;
 transition: transform 0.3s, box-shadow 0.3s;
 border: 1px solid rgba(255,107,0,0.1);
}
.service-card:hover {
 transform: translateY(-10px);
 box-shadow: 0 20px 40px rgba(0,0,0,0.12);
}
.service-header {
 background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
 color: var(--light);
 padding: 30px;
}
.service-title {
 font-size: 1.8rem;
 margin-bottom: 10px;
 color: white;
}
.service-tagline {
 font-size: 1.1rem;
 opacity: 0.9;
 color: white;
}
.service-photos {
 padding: 25px;
 background: #f8f9fa;
 border-bottom: 1px solid #e9ecef;
}
.photos-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
 gap: 15px;
 margin-top: 15px;
}
.service-photo {
 width: 100%;
 height: 120px;
 object-fit: cover;
 border-radius: 8px;
 border: 2px solid white;
 box-shadow: 0 3px 10px rgba(0,0,0,0.1);
 transition: transform 0.3s;
}
.service-photo:hover {
 transform: scale(1.05);
}
.service-content {
 padding: 35px;
}
.service-description {
 font-size: 1.1rem;
 margin-bottom: 25px;
 color: var(--gray);
}
.service-features h4 {
 color: var(--dark);
 margin-bottom: 15px;
 font-size: 1.2rem;
}
.tech-list {
 display: flex;
 flex-wrap: wrap;
 gap: 10px;
 margin: 20px 0;
}
.tech-badge {
 background: rgba(255,107,0,0.1);
 color: var(--primary-dark);
 padding: 8px 15px;
 border-radius: 20px;
 font-size: 0.9rem;
 border: 1px solid rgba(255,107,0,0.2);
}
.features-grid {
 display: grid;
 grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
 gap: 20px;
 margin-bottom: 25px;
}
.feature-item {
 display: flex;
 align-items: flex-start;
 margin-bottom: 12px;
}
.feature-icon {
 color: var(--primary);
 margin-right: 12px;
 flex-shrink: 0;
 font-weight: bold;
}
.service-cta {
 margin-top: 30px;
 padding-top: 25px;
 border-top: 2px dashed #dee2e6;
}
.cta-button {
 display: inline-block;
 background: var(--primary);
 color: var(--light);
 padding: 15px 35px;
 border-radius: 8px;
 text-decoration: none;
 font-weight: bold;
 font-size: 1.1rem;
 transition: all 0.3s;
 border: 2px solid var(--primary);
}
.cta-button:hover {
 background: var(--light);
 color: var(--primary);
 transform: translateY(-3px);
 box-shadow: 0 10px 20px rgba(255,107,0,0.2);
}

/* =================== КАЛЬКУЛЯТОРЫ =================== */
.calculator-section {
 margin: 40px 0;
 padding: 30px;
 background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
 border-radius: 20px;
 border: 1px solid rgba(255,107,0,0.2);
 box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}
.calculator-title {
 font-size: 1.8rem;
 color: var(--primary);
 margin-bottom: 15px;
 display: flex;
 align-items: center;
 gap: 10px;
}
.calculator-title span { font-size: 2rem; }
.calculator-description {
 color: #555;
 margin-bottom: 25px;
}
.calculator-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
 gap: 20px;
 margin-bottom: 25px;
}
.calculator-field {
 display: flex;
 flex-direction: column;
 gap: 8px;
}
.calculator-field label {
 font-weight: 600;
 color: #333;
}
.calculator-field select,
.calculator-field input {
 padding: 12px 15px;
 border: 2px solid #e9ecef;
 border-radius: 10px;
 background: #ffffff;
 color: #333333;
}
.calculator-field select:focus,
.calculator-field input:focus {
 border-color: var(--primary);
 outline: none;
 box-shadow: 0 0 0 3px rgba(255,107,0,0.1);
}
.calculator-options {
 margin: 15px 0;
}
.calculator-options h4 {
 margin-bottom: 10px;
 color: var(--primary);
}
.calculator-options .calculator-field {
 background: rgba(255,255,255,0.5);
 padding: 10px;
 border-radius: 8px;
 border: 1px solid #e9ecef;
}
.calculator-options input[type="checkbox"] {
 width: 18px;
 height: 18px;
 margin-right: 8px;
 accent-color: var(--primary);
}
.calculator-result {
 background: linear-gradient(135deg, rgba(255,107,0,0.1) 0%, rgba(255,149,0,0.05) 100%);
 border-radius: 15px;
 padding: 20px;
 margin: 20px 0;
 border: 1px solid rgba(255,107,0,0.2);
}
.result-row {
 display: flex;
 justify-content: space-between;
 align-items: baseline;
 padding: 8px 0;
 border-bottom: 1px dashed rgba(0,0,0,0.1);
}
.result-row:last-child { border-bottom: none; }
.result-label {
 font-weight: 500;
 color: #333;
}
.result-value {
 font-size: 1.5rem;
 font-weight: 700;
 color: var(--primary);
}
.result-note {
 font-size: 0.85rem;
 color: #666;
 margin-top: 10px;
 font-style: italic;
}
.calculator-actions {
 display: flex;
 flex-wrap: wrap;
 gap: 15px;
 justify-content: center;
 margin-top: 20px;
}
.calculator-btn {
 padding: 15px 30px;
 border: none;
 border-radius: 50px;
 font-size: 1rem;
 font-weight: 600;
 cursor: pointer;
 transition: all 0.3s;
 text-decoration: none;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 8px;
 min-width: 220px;
}
.calculator-btn.primary {
 background: var(--primary);
 color: white;
 box-shadow: 0 5px 15px rgba(255,107,0,0.3);
}
.calculator-btn.primary:hover {
 transform: translateY(-3px);
 box-shadow: 0 10px 25px rgba(255,107,0,0.4);
}
.calculator-btn.telegram {
 background: #27A6E5;
 color: white;
 box-shadow: 0 5px 15px rgba(39,166,229,0.3);
}
.calculator-btn.telegram:hover {
 transform: translateY(-3px);
 box-shadow: 0 10px 25px rgba(39,166,229,0.4);
}
.calculator-disclaimer {
 margin-top: 20px;
 padding: 15px;
 background: #fff3cd;
 border-left: 4px solid #ffc107;
 border-radius: 8px;
 font-size: 0.9rem;
 color: #856404;
}
.calculator-disclaimer a {
 color: var(--primary);
 font-weight: 600;
 text-decoration: none;
}
.calculator-disclaimer a:hover {
 text-decoration: underline;
}

/* =================== КОНТАКТЫ =================== */
.contacts-section {
 background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
 color: white;
 padding: 60px 40px;
 border-radius: 15px;
 margin-top: 60px;
}
.contacts-title {
 font-size: 2rem;
 margin-bottom: 30px;
 text-align: center;
 color: white;
}
.contacts-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
 gap: 30px;
 margin-bottom: 40px;
}
.contact-card {
 background: rgba(255,255,255,0.1);
 padding: 25px;
 border-radius: 10px;
 border-left: 4px solid var(--primary);
 backdrop-filter: blur(10px);
}
.contact-title {
 color: var(--primary);
 font-size: 1.2rem;
 margin-bottom: 15px;
 display: flex;
 align-items: center;
}
.contact-title:before {
 content: "📞";
 margin-right: 10px;
}
.contact-phone {
 font-size: 1.4rem;
 font-weight: bold;
 margin: 10px 0;
 color: white;
 text-decoration: none;
 display: block;
}
.contact-phone:hover {
 color: var(--primary);
}
.contact-note {
 font-size: 0.9rem;
 opacity: 0.8;
 margin-top: 10px;
}
.social-links {
 display: flex;
 justify-content: center;
 gap: 20px;
 margin-top: 30px;
}
.social-link {
 display: inline-flex;
 align-items: center;
 background: rgba(255,255,255,0.1);
 color: white;
 padding: 12px 25px;
 border-radius: 8px;
 text-decoration: none;
 transition: all 0.3s;
}
.social-link:hover {
 background: var(--primary);
 transform: translateY(-3px);
}

/* =================== КНОПКИ КОНТАКТОВ (ОБЪЁМНЫЕ) =================== */
.contact-buttons {
 display: flex;
 flex-wrap: wrap;
 gap: 20px;
 justify-content: center;
 margin: 30px 0;
}
.contact-btn {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 12px;
 padding: 16px 32px;
 border-radius: 60px;
 font-size: 1.1rem;
 font-weight: 700;
 text-decoration: none;
 transition: all 0.3s ease;
 box-shadow: 0 8px 20px rgba(0,0,0,0.1);
 background: white;
 color: #333;
 min-width: 220px;
}
.contact-btn.call {
 background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
 color: white;
 box-shadow: 0 10px 20px rgba(37,211,102,0.3);
}
.contact-btn.call:hover {
 transform: translateY(-5px);
 box-shadow: 0 15px 30px rgba(37,211,102,0.4);
}
.contact-btn.telegram {
 background: linear-gradient(135deg, #0088cc 0%, #005f99 100%);
 color: white;
 box-shadow: 0 10px 20px rgba(0,136,204,0.3);
}
.contact-btn.telegram:hover {
 transform: translateY(-5px);
 box-shadow: 0 15px 30px rgba(0,136,204,0.4);
}
.contact-btn.email {
 background: linear-gradient(135deg, var(--primary) 0%, #FF9500 100%);
 color: white;
 box-shadow: 0 10px 20px rgba(255,107,0,0.3);
}
.contact-btn.email:hover {
 transform: translateY(-5px);
 box-shadow: 0 15px 30px rgba(255,107,0,0.4);
}
@media (max-width: 768px) {
 .contact-buttons {
 flex-direction: column;
 align-items: stretch;
 }
 .contact-btn {
 justify-content: center;
 padding: 14px 24px;
 font-size: 1rem;
 }
}

/* =================== БЛОК FAQ =================== */
.faq-box {
 background: #f8f9fa;
 border-radius: 12px;
 padding: 40px;
}
.faq-container { max-width: 900px; margin: 0 auto; }
details[name="faq_q"] {
 background: white;
 border: 1px solid #e0e0e0;
 border-radius: 8px;
 margin-bottom: 15px;
 overflow: hidden;
 transition: all 0.3s;
}
details[name="faq_q"]:hover {
 border-color: var(--primary);
 box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}
details[name="faq_q"][open] { border-color: var(--accent); }
summary {
 padding: 20px 25px;
 cursor: pointer;
 font-weight: bold;
 color: #000;
 font-size: 1.1em;
 list-style: none;
 position: relative;
 transition: background 0.3s;
}
summary:hover { background: rgba(255,107,0,0.05); }
summary::-webkit-details-marker { display: none; }
summary::after {
 content: '+';
 position: absolute;
 right: 25px;
 font-size: 1.5em;
 color: var(--primary);
 transition: transform 0.3s;
}
details[open] summary::after {
 content: '−';
 transform: rotate(180deg);
}
.details-inner {
 padding: 0 25px 25px;
 color: #555;
 line-height: 1.6;
 border-top: 1px solid #f0f0f0;
}
.details-inner a {
 color: var(--accent);
 text-decoration: none;
}
.details-inner a:hover { text-decoration: underline; }
.faq-buttons {
 display: flex;
 justify-content: center;
 gap: 15px;
 flex-wrap: wrap;
 margin-top: 20px;
}
.faq-button {
 background: var(--primary);
 color: white;
 padding: 12px 25px;
 border-radius: 8px;
 text-decoration: none;
 font-weight: bold;
 transition: all 0.3s;
}
.faq-button:hover {
 transform: translateY(-3px);
 box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
.faq-button.tg { background: #0088cc; }
.faq-button.email { background: var(--accent); }

/* =================== БЛОК "О КОМПАНИИ" =================== */
.land-box { padding: 50px 0; }
.land-box-block {
 display: flex;
 align-items: center;
 gap: 40px;
 margin-bottom: 60px;
 flex-wrap: wrap;
}
.land-box-photo {
 flex: 1;
 min-width: 300px;
}
.land-box-photo img {
 width: 100%;
 height: auto;
 border-radius: 12px;
 box-shadow: 0 10px 30px rgba(0,0,0,0.1);
 transition: transform 0.3s;
}
.land-box-photo img:hover { transform: scale(1.02); }
.land-box-text {
 flex: 1;
 min-width: 300px;
}
.land-box-text h3 {
 color: #000;
 font-size: 1.5em;
 margin-bottom: 20px;
}
.land-box-text p {
 color: #555;
 line-height: 1.6;
 margin-bottom: 20px;
}
.land-features-list { margin: 20px 0; }
.land-feature {
 display: flex;
 align-items: flex-start;
 margin-bottom: 10px;
}
.land-feature-icon {
 color: var(--primary);
 margin-right: 10px;
 flex-shrink: 0;
}
.land-equipment-grid {
 display: grid;
 grid-template-columns: repeat(2,1fr);
 gap: 15px;
 margin: 20px 0;
}
.land-equipment-item {
 padding: 10px;
 background: #f8f9fa;
 border-radius: 6px;
 text-align: center;
 transition: all 0.3s;
}
.land-equipment-item:hover {
 background: #e9ecef;
 transform: translateY(-3px);
}
.land-equipment-icon {
 font-size: 1.2em;
 color: var(--primary);
 margin-bottom: 5px;
}
.land-equipment-title { font-weight: bold; }
.land-equipment-desc { font-size: 0.9em; color: #666; }
.land-button {
 display: inline-block;
 color: white;
 padding: 12px 25px;
 border-radius: 8px;
 text-decoration: none;
 font-weight: bold;
 transition: all 0.3s;
}
.land-button:hover {
 opacity: 0.9;
 transform: translateY(-2px);
 box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
.land-button-orange { background: var(--primary); }
.land-button-blue { background: var(--accent); }
.land-button-green { background: #25D366; }
.land-box-actions {
 display: flex;
 gap: 15px;
 flex-wrap: wrap;
 margin-top: 20px;
}
.land-italic-note {
 font-style: italic;
 color: #666;
 margin-top: 15px;
}

/* =================== БЛОК ОТЗЫВОВ (СЛАЙДЕР) =================== */
.reviews-box {
 position: relative;
 padding: 50px 0;
}
.reviews-slider-container {
 position: relative;
 padding: 0 60px;
 margin: 30px 0;
}
.review-card {
 transition: all 0.3s;
 border: 1px solid #e0e0e0;
 border-radius: 12px;
 padding: 25px;
 background: white;
 height: 100%;
 display: flex;
 flex-direction: column;
}
.review-card:hover {
 transform: translateY(-5px);
 box-shadow: 0 10px 25px rgba(255,107,0,0.1);
 border-color: var(--primary);
}
.review-message {
 flex-grow: 1;
 margin-bottom: 20px;
 line-height: 1.6;
 color: #555;
}
.review-message strong {
 color: #000;
 display: block;
 margin-bottom: 10px;
}
.review-author-info {
 display: flex;
 align-items: center;
 padding-top: 15px;
 border-top: 1px solid #f0f0f0;
}
.review-avatar-img {
 width: 48px;
 height: 48px;
 border-radius: 50%;
 object-fit: cover;
 border: 2px solid var(--primary);
 margin-right: 15px;
}
.user-name {
 font-weight: bold;
 color: #000;
}
.user-sub {
 font-size: 0.9em;
 color: #666;
}
.review-button {
 background-color: var(--primary);
 color: white;
 padding: 12px 25px;
 border-radius: 8px;
 text-decoration: none;
 font-weight: bold;
 display: inline-block;
 transition: all 0.3s;
 border: none;
 cursor: pointer;
}
.review-button:hover {
 background-color: #e55a00;
 transform: translateY(-2px);
 box-shadow: 0 5px 15px rgba(255,107,0,0.2);
}

/* =================== СЛАЙДЕР КОМАНДЫ =================== */
.team-box {
 padding: 50px 0;
 background: #f8f9fa;
 border-radius: 15px;
 margin: 30px 0;
}
.team-box h2 {
 text-align: center;
 margin-bottom: 30px;
 color: #000;
}
.teams-slider-container {
 position: relative;
 padding: 0 60px;
}
.team-member {
 background: white;
 border-radius: 12px;
 overflow: hidden;
 box-shadow: 0 5px 20px rgba(0,0,0,0.08);
 transition: transform 0.3s;
}
.team-member:hover { transform: translateY(-5px); }
.team-member-img {
 width: 100%;
 height: 250px;
 object-fit: cover;
 transition: transform 0.5s;
}
.team-member:hover .team-member-img { transform: scale(1.05); }
.team-member-info {
 padding: 20px;
 text-align: center;
}
.team-member-info .user-name {
 font-size: 1.2em;
 margin-bottom: 5px;
 color: #000;
}
.team-member-info .user-sub {
 color: #666;
 font-size: 0.9em;
}
.user-social {
 display: flex;
 justify-content: center;
 gap: 10px;
 list-style: none;
 padding: 0;
 margin: 15px 0 0;
}
.user-social li a {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 36px;
 height: 36px;
 border-radius: 50%;
 background: #f0f0f0;
 color: #666;
 transition: all 0.3s;
}
.user-social li a:hover {
 background: var(--primary);
 color: white;
}
.user-social svg {
 width: 20px;
 height: 20px;
}
.swiper-lazy-preloader {
 width: 42px;
 height: 42px;
 position: absolute;
 left: 50%;
 top: 50%;
 margin-left: -21px;
 margin-top: -21px;
 border: 4px solid var(--primary);
 border-radius: 50%;
 border-top-color: transparent;
}

/* =================== БЛОК ГАРАНТИЙ =================== */
.guarantees-box {
 background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
 border-radius: 20px;
 padding: 50px 30px;
 margin: 60px 0;
 position: relative;
 overflow: hidden;
 border: 1px solid rgba(255,107,0,0.2);
 box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}
.guarantees-box::before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 5px;
 background: linear-gradient(90deg, var(--primary), var(--accent));
}
.guarantees-box::after {
 content: '✅ ГАРАНТИИ';
 position: absolute;
 top: 20px;
 right: 20px;
 background: var(--primary);
 color: white;
 padding: 8px 15px;
 border-radius: 20px;
 font-size: 0.8rem;
 font-weight: 700;
 letter-spacing: 1px;
}
.info-cards-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
 gap: 30px;
 margin-bottom: 30px;
}
.info-card {
 background: white;
 border-radius: 15px;
 padding: 30px;
 box-shadow: 0 5px 20px rgba(0,0,0,0.08);
 transition: all 0.3s;
 border: 1px solid #e9ecef;
 position: relative;
 overflow: hidden;
 text-align: center;
 height: 100%;
}
.info-card:hover {
 transform: translateY(-10px);
 box-shadow: 0 15px 30px rgba(255,107,0,0.15);
 border-color: var(--primary);
}
.info-card::before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 4px;
 background: linear-gradient(90deg, var(--primary), var(--accent));
 transform: scaleX(0);
 transform-origin: left;
 transition: transform 0.5s;
}
.info-card:hover::before { transform: scaleX(1); }
.info-card-icon {
 width: 60px;
 height: 60px;
 background: linear-gradient(135deg, var(--primary) 0%, #FF9500 100%);
 border-radius: 50%;
 padding: 15px;
 box-shadow: 0 5px 15px rgba(255,107,0,0.3);
}
.info-card-title {
 color: #333;
 font-size: 1.3rem;
 margin-bottom: 15px;
 font-weight: 700;
}
.info-card-desc {
 color: #666;
 line-height: 1.6;
 font-size: 0.95rem;
 margin: 0;
}
.guarantee-note {
 text-align: center;
 font-size: 1.2rem;
 font-weight: 700;
 color: var(--primary);
 margin: 30px 0 0 0;
 padding: 15px;
 background: rgba(255,107,0,0.1);
 border-radius: 10px;
 border: 2px solid rgba(255,107,0,0.3);
 animation: pulse 2s infinite;
}
@keyframes pulse {
 0% { box-shadow: 0 0 0 0 rgba(255,107,0,0.4); }
 70% { box-shadow: 0 0 0 10px rgba(255,107,0,0); }
 100% { box-shadow: 0 0 0 0 rgba(255,107,0,0); }
}
.info-card:hover .info-card-icon {
 transform: rotate(10deg) scale(1.1);
 transition: transform 0.3s;
}
.info-card::after {
 content: attr(data-number);
 position: absolute;
 top: 10px;
 right: 10px;
 width: 30px;
 height: 30px;
 background: rgba(255,107,0,0.1);
 color: var(--primary);
 border-radius: 50%;
 display: flex;
 align-items: center;
 justify-content: center;
 font-weight: bold;
 font-size: 0.8rem;
}

/* =================== СЛАЙДЕРЫ (SWIPER) – стрелки скрыты =================== */
.swiper-button-prev,
.swiper-button-next,
.swiper-btn,
.swiper-btn-brand,
.swiper-btn-dark,
.carousel-arrow,
.team-box .swiper-btn-brand {
 display: none !important;
}
.swiper-pagination {
 position: relative;
 margin-top: 20px;
 text-align: center;
}
.swiper-pagination-bullet {
 width: 10px;
 height: 10px;
 background: #ccc;
 margin: 0 5px;
 display: inline-block;
 border-radius: 50%;
 cursor: pointer;
 transition: all 0.3s;
}
.swiper-pagination-bullet-active {
 background: var(--primary);
 transform: scale(1.2);
}
.catalog-slider-container {
 position: relative;
 padding: 20px 40px;
 background: linear-gradient(135deg, #ffffff 0%, #f8f8f8 100%);
 border-radius: 12px;
 margin: 30px 0;
 box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}
.catalog-slide {
 background: #FFFFFF;
 border-radius: 10px;
 padding: 25px 20px;
 box-shadow: 0 2px 12px rgba(255,107,0,0.15);
 border: 1px solid rgba(255,107,0,0.1);
 height: 100%;
 display: flex;
 flex-direction: column;
}
.catalog-slide:hover {
 transform: translateY(-5px);
 box-shadow: 0 6px 25px rgba(255,107,0,0.25);
 border-color: var(--primary);
}
.catalog-slide-icon {
 font-size: 3em;
 text-align: center;
 margin-bottom: 15px;
 color: var(--primary);
}
.catalog-slide-title {
 font-size: 1.2em;
 font-weight: bold;
 color: #000;
 text-align: center;
}
.catalog-slide-desc {
 color: #555;
 line-height: 1.5;
 margin-bottom: 15px;
}
.catalog-slide-price {
 font-size: 1.3em;
 font-weight: bold;
 color: var(--accent);
 text-align: center;
 margin-bottom: 15px;
}
.catalog-slide-button {
 display: block;
 background: var(--primary);
 color: white;
 padding: 10px 15px;
 border-radius: 6px;
 text-decoration: none;
 text-align: center;
 font-weight: bold;
 transition: all 0.3s;
}
.catalog-slide-button:hover {
 background: #e05c00;
 transform: translateY(-2px);
}

/* =================== ПРОМО-СЛАЙДЕР (ГЛАВНЫЙ) =================== */
.slider-section {
 width: 100%;
 overflow: hidden;
 position: relative;
}
.promo-slider {
 width: 100%;
 height: 500px;
 border-radius: 15px;
 overflow: hidden;
 box-shadow: 0 10px 40px rgba(0,0,0,0.15);
}
.promo-card {
 position: relative;
 height: 100%;
}
.promo-card-img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 position: absolute;
 top: 0;
 left: 0;
 z-index: 1;
 transition: transform 0.8s ease;
}
.promo-slider .swiper-slide-active .promo-card-img {
 transform: scale(1.05);
}
.promo-card-inner {
 position: relative;
 z-index: 2;
 width: 100%;
 height: 100%;
 display: flex;
 align-items: center;
 background: linear-gradient(90deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0) 100%);
 padding: 40px;
}
.promo-card-content {
 max-width: 600px;
 color: white;
}
.promo-card-content h2 {
 font-size: 2.2em;
 font-weight: bold;
 margin-bottom: 15px;
 color: white;
 text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}
.promo-card-content p {
 font-size: 1.1em;
 line-height: 1.5;
 margin-bottom: 20px;
 text-shadow: 1px 1px 2px rgba(0,0,0,0.7);
}
.promo-card-content strong {
 color: var(--primary);
}
.promo-slider-controls {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 30px;
 margin-top: 20px;
}
.promo-slider-fraction {
 color: #000;
 font-weight: bold;
 font-size: 1.1em;
 min-width: 60px;
 text-align: center;
}
.promo-btn {
 display: inline-block;
 background: var(--primary);
 color: white;
 padding: 15px 30px;
 border-radius: 8px;
 text-decoration: none;
 font-weight: bold;
 font-size: 1.1em;
 transition: all 0.3s;
}
.promo-btn:hover {
 background: #e55a00;
 transform: translateY(-3px);
 box-shadow: 0 10px 20px rgba(255,107,0,0.3);
}

/* =================== КАРУСЕЛЬ БЫТОВОК (СОБСТВЕННАЯ) =================== */
.bytovka-carousel {
 position: relative;
 width: 100%;
 height: 250px;
 overflow: hidden;
}
.carousel-container {
 position: relative;
 width: 100%;
 height: 100%;
}
.carousel-slides {
 display: flex;
 transition: transform 0.5s ease;
 height: 100%;
}
.carousel-slide {
 flex: 0 0 100%;
 height: 100%;
}
.carousel-slide img {
 width: 100%;
 height: 100%;
 object-fit: cover;
}
.carousel-nav {
 position: absolute;
 bottom: 15px;
 left: 0;
 right: 0;
 display: flex;
 justify-content: center;
 gap: 8px;
 z-index: 5;
}
.carousel-dot {
 width: 10px;
 height: 10px;
 border-radius: 50%;
 background: rgba(255,255,255,0.5);
 cursor: pointer;
 transition: all 0.3s;
 border: 1px solid rgba(0,0,0,0.2);
}
.carousel-dot.active {
 background: var(--primary);
 transform: scale(1.2);
}
.carousel-counter {
 position: absolute;
 bottom: 15px;
 right: 15px;
 background: rgba(0,0,0,0.5);
 color: white;
 padding: 4px 10px;
 border-radius: 20px;
 font-size: 0.8rem;
 z-index: 5;
}

/* =================== АДАПТИВНОСТЬ =================== */
@media (max-width: 1024px) {
 .compact-nav { padding: 0 15px; }
 .compact-nav-link { padding: 10px 8px; }
 .nav-icon { font-size: 1.3rem; }
 .nav-text { font-size: 0.8rem; }
}
@media (max-width: 992px) {
 .header-left { gap: 15px; }
 .logo-img { width: 60px; height: 60px; }
 .logo-title { font-size: 1em; }
 .footer-container { gap: 40px; }
 .footer-links-list { column-gap: 30px; }
 .auth-content { gap: 10px; }
 .auth-links a { padding: 5px 10px; font-size: 0.9rem; }
 .extra-btn { padding: 3px 8px; font-size: 0.75rem; }
}
@media (max-width: 768px) {
 .main-menu-nav { display: none; }
 .logo-subtitle { display: none; }
 .header-search-input { min-width: 200px; }
 .header-nav-container {
 position: fixed;
 top: auto;
 bottom: 0;
 left: 0;
 right: 0;
 border-bottom: none;
 border-top: 1px solid rgba(0,0,0,0.1);
 z-index: 1000;
 padding: 10px 0;
 background: rgba(255,255,255,0.98);
 backdrop-filter: blur(20px);
 }
 .compact-nav { padding: 0; }
 .compact-nav-list { justify-content: space-around; gap: 2px; }
 .compact-nav-item { max-width: none; flex: 0 1 auto; }
 .compact-nav-link { padding: 8px 5px; min-width: 60px; }
 .nav-icon { font-size: 1.4rem; margin-bottom: 4px; }
 .nav-text { font-size: 0.7rem; }
 .compact-nav-item.active::after { bottom: -10px; width: 40px; height: 3px; }
 .footer { padding: 40px 0 25px; margin-top: 60px; }
 .footer-container { grid-template-columns: 1fr; gap: 40px; padding: 0 20px; }
 .footer-links-list { columns: 1; }
 .footer-right { gap: 30px; }
 .advantages { grid-template-columns: 1fr; gap: 25px; }
 .stats-container { grid-template-columns: repeat(2,1fr); gap: 20px; }
 .advantage-card { min-height: 280px; padding: 25px 20px; }
 .service-header { padding: 20px; }
 .service-title { font-size: 1.5rem; }
 .service-content { padding: 25px; }
 .photos-grid { grid-template-columns: repeat(2,1fr); }
 .service-photo { height: 100px; }
 .features-grid { grid-template-columns: 1fr; }
 .cta-button { padding: 12px 25px; font-size: 1rem; width: 100%; text-align: center; }
 .contacts-section { padding: 40px 20px; }
 .contact-phone { font-size: 1.2rem; }
 .advantages-grid { grid-template-columns: 1fr; }
 .social-links { flex-direction: column; align-items: center; }
 .social-link { width: 100%; justify-content: center; }
 .calculator-actions { flex-direction: column; }
 .calculator-btn { width: 100%; }
 .header-auth-block { padding: 4px 10px; gap: 8px; }
 .header-auth-block.logged-in .auth-content { grid-template-columns: 1fr; gap: 5px; }
 .auth-links { justify-content: center; }
 .auth-extra { justify-content: center; }
 .header-auth-block .svg-icon { width: 18px; height: 18px; }
 .user-btn { padding: 3px 8px !important; font-size: 0.8rem !important; }
 .header-search-button { padding: 6px 12px !important; font-size: 0.9rem; }
 .menu-evolving .menubar { width: 100%; padding: 70px 20px 20px; }
 .hero-section { min-height: 90vh; padding: 20px 15px; }
 .promo-slider { height: 350px; }
 .promo-card-content h2 { font-size: 1.5em; }
 .promo-card-content p { font-size: 1em; }
 .promo-btn { padding: 12px 25px; font-size: 1em; }
 .promo-card-inner { padding: 20px; background: linear-gradient(90deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.5) 100%); }
 .reviews-slider-container { padding: 0 40px; }
 .catalog-slider-container { padding: 15px 40px; }
 .teams-slider-container { padding: 0 40px; }
}
@media (max-width: 576px) {
 .footer-container { padding: 0 15px; }
 .footer-logo-text { font-size: 1.1rem; }
 .footer-social-list { justify-content: center; gap: 15px; }
 .footer-quote { padding: 15px; }
 .footer-quote p { font-size: 0.95rem; }
 .advantages-box, .stats-box { padding: 30px 15px; }
 .stats-container { grid-template-columns: 1fr; }
 .stat-card { padding: 20px 15px; }
 .stat-card-counter { font-size: 2.2em; }
 .quote-box { padding: 20px; }
}
@media (max-width: 480px) {
 .header-container { padding: 12px 15px; }
 .logo-img { width: 50px; height: 50px; }
 .logo-title { font-size: 0.9em; }
 .compact-nav-link { padding: 6px 3px; }
 .nav-icon { font-size: 1.2rem; }
 .nav-text { font-size: 0.65rem; }
 .photos-grid { grid-template-columns: 1fr; }
 .auth-links { flex-wrap: wrap; justify-content: center; }
 .auth-links a { padding: 4px 8px; font-size: 0.8rem; }
 .extra-btn { padding: 3px 6px; font-size: 0.7rem; }
 .promo-slider { height: 300px; }
 .promo-card-content h2 { font-size: 1.3em; }
 .promo-card-content p { font-size: 0.9em; }
 .promo-btn { padding: 10px 20px; font-size: 0.9em; }
 .promo-slider-controls { gap: 20px; }
 .catalog-slider-container { padding: 10px 35px; }
 .catalog-slide { padding: 15px 12px; }
 .catalog-slide-icon { font-size: 2.5em; }
 .catalog-slide-title { font-size: 1.1em; }
 .teams-slider-container { padding: 0 35px; }
 .team-member-img { height: 200px; }
}


/* =================== БЛОК ПРЕИМУЩЕСТВ (ГОРИЗОНТАЛЬНЫЙ) =================== */
.advantages-section {
 margin: 60px 0;
}

.section-title {
 font-size: 2rem;
 color: var(--dark);
 margin-bottom: 40px;
 text-align: center;
 position: relative;
 padding-bottom: 15px;
}

.section-title:after {
 content: '';
 position: absolute;
 bottom: 0;
 left: 50%;
 transform: translateX(-50%);
 width: 100px;
 height: 4px;
 background: var(--primary);
}

.advantages-grid {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 gap: 25px;
 margin-top: 40px;
}

.advantage-card {
 flex: 0 1 auto;
 width: 260px;
 background: var(--light);
 padding: 25px 20px;
 border-radius: 12px;
 text-align: center;
 box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
 border-top: 4px solid var(--primary);
 transition: transform 0.3s ease;
}

.advantage-card:hover {
 transform: translateY(-5px);
 box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.advantage-icon {
 font-size: 2.5rem;
 margin-bottom: 15px;
 display: block;
}

.advantage-title {
 font-size: 1.2rem;
 font-weight: 700;
 color: var(--dark);
 margin-bottom: 10px;
}

.advantage-card p {
 color: var(--gray);
 font-size: 0.9rem;
 line-height: 1.4;
 margin: 0;
}

/* Адаптивность: на планшетах и телефонах карточки могут переноситься на несколько строк, но остаются компактными */
@media (max-width: 992px) {
 .advantages-grid {
 gap: 20px;
 }
 .advantage-card {
 width: 240px;
 padding: 20px 15px;
 }
 .advantage-icon {
 font-size: 2rem;
 }
 .advantage-title {
 font-size: 1.1rem;
 }
}

@media (max-width: 768px) {
 .advantages-grid {
 flex-direction: column;
 align-items: center;
 gap: 20px;
 }
 .advantage-card {
 width: 100%;
 max-width: 320px;
 }
}




/* =================== ДОПОЛНИТЕЛЬНЫЕ СТИЛИ ДЛЯ СТРАНИЦЫ "О КОМПАНИИ" =================== */
.about-page {
 max-width: 1200px;
 margin: 0 auto;
 padding: 30px 20px;
 background: #ffffff;
}

/* Хлебные крошки */
.about-page .breadcrumbs {
 font-size: 0.9rem;
 color: #666;
 margin-bottom: 30px;
 padding: 10px 0;
 border-bottom: 1px solid #eee;
}
.about-page .breadcrumbs a {
 color: #FF6B00;
 text-decoration: none;
}
.about-page .breadcrumbs a:hover {
 text-decoration: underline;
}

/* Основной заголовок */
.about-header {
 text-align: center;
 margin-bottom: 40px;
 padding: 30px;
 background: linear-gradient(135deg, rgba(255,107,0,0.1) 0%, rgba(255,149,0,0.05) 100%);
 border-radius: 15px;
 border-left: 5px solid #FF6B00;
 border-right: 5px solid #FF6B00;
}
.about-title {
 font-size: 2.5rem;
 color: #333;
 margin-bottom: 15px;
 line-height: 1.2;
}
.about-title .accent {
 color: #FF6B00;
}
.about-subtitle {
 font-size: 1.2rem;
 color: #666;
 max-width: 800px;
 margin: 0 auto;
 line-height: 1.6;
}

/* Карточки преимуществ (3 в ряд) */
.about-features {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 25px;
 margin: 40px 0;
}
.about-feature {
 background: white;
 border-radius: 15px;
 padding: 30px;
 box-shadow: 0 5px 20px rgba(0,0,0,0.08);
 transition: all 0.3s ease;
 border: 1px solid #e9ecef;
 text-align: center;
}
.about-feature:hover {
 transform: translateY(-10px);
 box-shadow: 0 15px 30px rgba(255,107,0,0.15);
 border-color: #FF6B00;
}
.feature-icon {
 font-size: 2.5rem;
 margin-bottom: 20px;
 color: #FF6B00;
}
.feature-title {
 font-size: 1.3rem;
 color: #333;
 margin-bottom: 15px;
 font-weight: 700;
}
.feature-description {
 color: #666;
 line-height: 1.6;
 font-size: 0.95rem;
}

/* Блок миссии */
.about-mission {
 background: linear-gradient(135deg, #0057FF 0%, #3a7dff 100%);
 color: white;
 padding: 40px;
 border-radius: 15px;
 margin: 40px 0;
 position: relative;
 overflow: hidden;
}
.about-mission::before {
 content: '';
 position: absolute;
 top: 0;
 right: 0;
 width: 200px;
 height: 200px;
 background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path fill="rgba(255,255,255,0.1)" d="M50,0 C77.614,0 100,22.386 100,50 C100,77.614 77.614,100 50,100 C22.386,100 0,77.614 0,50 C0,22.386 22.386,0 50,0 Z"/></svg>');
 background-size: contain;
 opacity: 0.3;
}
.mission-title {
 font-size: 1.8rem;
 margin-bottom: 20px;
 color: white;
}
.mission-text {
 font-size: 1.1rem;
 line-height: 1.7;
 max-width: 800px;
 margin-bottom: 20px;
}
.mission-quote {
 background: rgba(255,255,255,0.1);
 border-left: 4px solid #FF6B00;
 padding: 20px;
 border-radius: 8px;
 margin-top: 20px;
 font-style: italic;
 font-size: 1.2rem;
}

/* Направления деятельности */
.about-directions {
 margin: 50px 0;
}
.directions-title {
 font-size: 1.8rem;
 color: #333;
 margin-bottom: 30px;
 text-align: center;
}
.directions-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
 gap: 20px;
}
.direction-item {
 background: white;
 padding: 25px;
 border-radius: 12px;
 box-shadow: 0 5px 15px rgba(0,0,0,0.05);
 border: 1px solid #e9ecef;
 transition: all 0.3s ease;
}
.direction-item:hover {
 border-color: #FF6B00;
 transform: translateY(-5px);
 box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}
.direction-item strong {
 color: #FF6B00;
 display: block;
 margin-bottom: 10px;
 font-size: 1.1rem;
}
.direction-item p {
 color: #555;
 line-height: 1.5;
}

/* История */
.about-history {
 background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
 padding: 40px;
 border-radius: 15px;
 margin: 40px 0;
 border: 1px solid rgba(0,0,0,0.1);
}
.history-title {
 font-size: 1.8rem;
 color: #333;
 margin-bottom: 25px;
 text-align: center;
}
.history-timeline {
 position: relative;
 max-width: 800px;
 margin: 0 auto;
}
.history-timeline::before {
 content: '';
 position: absolute;
 left: 20px;
 top: 0;
 bottom: 0;
 width: 3px;
 background: linear-gradient(180deg, #FF6B00 0%, #0057FF 100%);
}
.history-item {
 position: relative;
 padding-left: 50px;
 margin-bottom: 30px;
}
.history-year {
 position: absolute;
 left: 0;
 top: 0;
 background: #FF6B00;
 color: white;
 width: 40px;
 height: 40px;
 border-radius: 50%;
 display: flex;
 align-items: center;
 justify-content: center;
 font-weight: bold;
 font-size: 0.9rem;
}
.history-content {
 background: white;
 padding: 20px;
 border-radius: 10px;
 box-shadow: 0 3px 10px rgba(0,0,0,0.05);
 border: 1px solid #e9ecef;
}

/* Руководство */
.about-leadership {
 margin: 50px 0;
 text-align: center;
}
.leadership-title {
 font-size: 1.8rem;
 color: #333;
 margin-bottom: 30px;
}
.leadership-card {
 max-width: 500px;
 margin: 0 auto;
 background: white;
 padding: 30px;
 border-radius: 15px;
 box-shadow: 0 10px 30px rgba(0,0,0,0.1);
 border: 1px solid #e9ecef;
}
.leader-name {
 font-size: 1.5rem;
 color: #333;
 margin-bottom: 10px;
}
.leader-position {
 color: #FF6B00;
 font-size: 1.1rem;
 font-weight: 600;
 margin-bottom: 20px;
}
.leader-description {
 color: #666;
 line-height: 1.6;
 font-size: 1rem;
}

/* Контакты */
.about-contacts {
 background: linear-gradient(135deg, #333 0%, #555 100%);
 color: white;
 padding: 40px;
 border-radius: 15px;
 margin-top: 50px;
}
.contacts-title {
 color: #FF6B00;
 font-size: 1.8rem;
 margin-bottom: 25px;
 text-align: center;
}
.contacts-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
 gap: 20px;
 margin-bottom: 30px;
}
.contact-card {
 background: rgba(255,255,255,0.1);
 padding: 25px;
 border-radius: 10px;
 text-align: center;
 transition: all 0.3s;
 border: 1px solid rgba(255,255,255,0.1);
}
.contact-card:hover {
 background: rgba(255,255,255,0.15);
 transform: translateY(-5px);
 border-color: #FF6B00;
}
.contact-icon {
 font-size: 2rem;
 margin-bottom: 15px;
 color: #FF6B00;
}
.contact-card a {
 color: white;
 text-decoration: none;
 font-size: 1.1rem;
 font-weight: 600;
 display: block;
 margin-bottom: 5px;
}
.contact-card a:hover {
 color: #FF6B00;
}
.contact-note {
 color: #aaa;
 font-size: 0.9rem;
 margin-top: 10px;
}

/* Соцсети */
.about-social {
 text-align: center;
 margin-top: 30px;
}
.social-title {
 color: #aaa;
 margin-bottom: 15px;
 font-size: 1rem;
}
.social-links {
 display: flex;
 justify-content: center;
 gap: 15px;
}
.social-link {
 display: inline-block;
 width: 50px;
 height: 50px;
 background: rgba(255,255,255,0.1);
 border-radius: 50%;
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 1.5rem;
 color: white;
 text-decoration: none;
 transition: all 0.3s;
}
.social-link:hover {
 background: #FF6B00;
 transform: translateY(-3px);
}

/* Призыв к действию */
.about-cta {
 text-align: center;
 margin-top: 50px;
 padding: 40px;
 background: linear-gradient(135deg, rgba(255,107,0,0.1) 0%, rgba(255,149,0,0.05) 100%);
 border-radius: 15px;
 border: 2px dashed #FF6B00;
}
.cta-title {
 font-size: 1.8rem;
 color: #333;
 margin-bottom: 20px;
}
.cta-text {
 color: #666;
 font-size: 1.1rem;
 max-width: 600px;
 margin: 0 auto 30px;
 line-height: 1.6;
}
.cta-button {
 display: inline-block;
 padding: 15px 40px;
 background: linear-gradient(135deg, #FF6B00 0%, #FF9500 100%);
 color: white;
 text-decoration: none;
 border-radius: 50px;
 font-size: 1.1rem;
 font-weight: 700;
 transition: all 0.3s;
 box-shadow: 0 5px 15px rgba(255,107,0,0.3);
}
.cta-button:hover {
 transform: translateY(-5px);
 box-shadow: 0 10px 25px rgba(255,107,0,0.4);
}

/* Адаптивность для страницы о компании */
@media (max-width: 992px) {
 .about-features {
 grid-template-columns: repeat(2, 1fr);
 }
}
@media (max-width: 768px) {
 .about-title { font-size: 2rem; }
 .about-features { grid-template-columns: 1fr; }
 .about-mission, .about-history, .about-contacts { padding: 25px; }
 .history-timeline::before { left: 15px; }
 .history-item { padding-left: 40px; }
 .history-year { width: 30px; height: 30px; font-size: 0.8rem; }
 .directions-grid { grid-template-columns: 1fr; }
 .contacts-grid { grid-template-columns: 1fr; }
 .social-links { flex-wrap: wrap; }
}
@media (max-width: 480px) {
 .about-page { padding: 15px; }
 .about-title { font-size: 1.6rem; }
 .about-subtitle { font-size: 1rem; }
 .mission-quote { font-size: 1rem; padding: 15px; }
 .cta-button { padding: 12px 30px; font-size: 1rem; }
}

/* =================== СТИЛИ ДЛЯ БЛОКА ОТЗЫВОВ =================== */
.reviews-box {
 position: relative;
 padding: 50px 0;
 background: #f8f9fa;
 border-radius: 20px;
 margin: 40px 0;
}

.reviews-slider-container {
 position: relative;
 padding: 0 60px;
 margin: 30px 0;
}

.review-card {
 transition: transform 0.3s ease, box-shadow 0.3s ease;
 border: 1px solid #e0e0e0;
 border-radius: 12px;
 padding: 25px;
 background: white;
 height: 100%;
 display: flex;
 flex-direction: column;
}
.review-card:hover {
 transform: translateY(-5px);
 box-shadow: 0 10px 25px rgba(255,107,0,0.1);
 border-color: #FF6B00;
}
.review-message {
 flex-grow: 1;
 margin-bottom: 20px;
 line-height: 1.6;
 color: #555;
}
.review-message strong {
 color: #000;
 display: block;
 margin-bottom: 10px;
 font-size: 1.1em;
}
.review-author-info {
 display: flex;
 align-items: center;
 padding-top: 15px;
 border-top: 1px solid #f0f0f0;
}
.review-avatar {
 margin-right: 15px;
 flex-shrink: 0;
}
.review-avatar-img {
 width: 48px;
 height: 48px;
 border-radius: 50%;
 object-fit: cover;
 border: 2px solid #FF6B00;
}
.info-box-user {
 flex-grow: 1;
}
.user-name {
 font-weight: bold;
 color: #000;
 margin-bottom: 5px;
}
.user-sub {
 font-size: 0.9em;
 color: #666;
}
.review-button {
 background-color: #FF6B00;
 color: white;
 padding: 12px 25px;
 border-radius: 8px;
 text-decoration: none;
 font-weight: bold;
 display: inline-block;
 transition: all 0.3s;
 border: none;
 cursor: pointer;
}
.review-button:hover {
 background-color: #e55a00;
 transform: translateY(-2px);
 box-shadow: 0 5px 15px rgba(255,107,0,0.2);
}

/* Пагинация Swiper */
.swiper-pagination {
 position: relative;
 margin-top: 20px;
 text-align: center;
}
.swiper-pagination-bullet {
 width: 10px;
 height: 10px;
 background: #ccc;
 margin: 0 5px;
 display: inline-block;
 border-radius: 50%;
 cursor: pointer;
 transition: all 0.3s;
}
.swiper-pagination-bullet-active {
 background: #FF6B00;
 transform: scale(1.2);
}

/* Адаптивность отзывов */
@media (max-width: 992px) {
 .reviews-slider-container {
 padding: 0 50px;
 }
 .review-card {
 padding: 20px;
 }
}
@media (max-width: 768px) {
 .reviews-slider-container {
 padding: 0 40px;
 }
 .review-author-info {
 flex-direction: column;
 text-align: center;
 }
 .review-avatar {
 margin-right: 0;
 margin-bottom: 10px;
 }
}
@media (max-width: 576px) {
 .reviews-slider-container {
 padding: 0 20px;
 }
 .review-button {
 width: 100%;
 text-align: center;
 padding: 12px;
 }
}

/* =================== ВОССТАНОВЛЕНИЕ СТРЕЛОК КАРУСЕЛИ БЫТОВОК =================== */
.bytovka-carousel .carousel-arrow {
 display: flex !important; /* возвращаем видимость */
 width: 40px;
 height: 40px;
 background: rgba(0, 0, 0, 0.6);
 backdrop-filter: blur(2px);
 border: 2px solid rgba(255, 255, 255, 0.8);
 border-radius: 50%;
 cursor: pointer;
 align-items: center;
 justify-content: center;
 font-size: 1.8rem;
 font-weight: bold;
 color: white;
 transition: all 0.3s ease;
 z-index: 20;
 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.bytovka-carousel .carousel-arrow:hover {
 background: var(--primary);
 border-color: white;
 transform: translateY(-50%) scale(1.1);
}

/* на случай, если стрелки всё ещё не видны – добавим явное позиционирование */
.bytovka-carousel .carousel-arrow.prev {
 left: 12px;
}
.bytovka-carousel .carousel-arrow.next {
 right: 12px;
}

/* для мобильных немного уменьшим */
@media (max-width: 768px) {
 .bytovka-carousel .carousel-arrow {
 width: 36px;
 height: 36px;
 font-size: 1.5rem;
 }
 .bytovka-carousel .carousel-arrow.prev {
 left: 8px;
 }
 .bytovka-carousel .carousel-arrow.next {
 right: 8px;
 }
}


/* Адаптация для мобильных устройств */
@media (max-width: 768px) {
 .floating-buttons {
 bottom: 15px;
 right: 15px;
 }
 
 .floating-btn {
 width: 48px !important;
 height: 48px !important;
 font-size: 20px !important;
 }
 
 .slide-buttons {
 flex-direction: column;
 align-items: stretch;
 }
 
 .slide-btn {
 justify-content: center;
 }
}

/* СЛАЙДЕР ПОД ШАПКОЙ Кнопка МАКС – сине-фиолетовый градиент */
.promo-btn-max {
 background: linear-gradient(135deg, #4a00e0, #8e2de2);
 color: white;
 box-shadow: 0 4px 15px rgba(74, 0, 224, 0.4);
}

.promo-btn-max:hover {
 transform: translateY(-3px);
 box-shadow: 0 8px 25px rgba(74, 0, 224, 0.5);
 background: linear-gradient(135deg, #5b0ae8, #9e3ae8);
}

/* Мобильная адаптация промо-слайдера (текст и кнопки) */
@media (max-width: 768px) {
 .promo-card {
 padding: 15px !important;
 min-height: auto !important;
 }
 .promo-card-inner {
 padding: 20px 12px !important;
 background: rgba(0,0,0,0.55);
 border-radius: 20px;
 }
 .promo-card-content h2 {
 font-size: 1.4rem !important;
 line-height: 1.2;
 margin-bottom: 10px;
 }
 .promo-card-content p {
 font-size: 0.85rem !important;
 line-height: 1.35;
 }
 .promo-buttons-group {
 display: flex !important;
 flex-direction: row !important;
 justify-content: space-between !important;
 gap: 6px !important;
 margin-top: 15px !important;
 }
 .promo-btn {
 flex: 1 !important;
 padding: 8px 2px !important;
 font-size: 11px !important;
 border-radius: 30px !important;
 white-space: nowrap;
 text-align: center;
 }
 /* убираем возможные переносы строк внутри кнопки */
 .promo-btn br {
 display: none;
 }
 @media (max-width: 480px) {
 .promo-card-content h2 {
 font-size: 1.2rem !important;
 }
 .promo-btn {
 font-size: 9px !important;
 padding: 6px 2px !important;
 }
 .promo-btn .promo-btn-icon {
 font-size: 11px;
 }
 }
 @media (max-width: 380px) {
 .promo-btn .promo-btn-icon {
 display: none;
 }
 }
}


.social-list-link.max-link .social-icon {
 background: linear-gradient(135deg, #4a00e0, #8e2de2);
 border-radius: 50%;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 24px;
 height: 24px;
 color: white;
}