 /*
h1
p
  БЛОК контакты
 БЛОК С КАРТОЙ  
 калькулятор   
 */
  /* h1=========================================== */
         h1  { font-family: 'Jost Medium', 'Arial',  sans-serif; }
		 p    { font-family: 'Jost Regular', 'Arial',  sans-serif; }
        
        .ptm-pool-block {
            font-family: 'Jost Medium', 'Arial',  sans-serif;
            max-width: 1400px;
            margin: 0 auto;
            padding: 0 20px;
        }
        
        .ptm-pool-block * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        .ptm-text-head {
            text-align: center;
            max-width: 900px;
            margin: 0 auto;
        }
        
        /* Анимации */
        @keyframes ptm-fadeInUp {
            0% {
                opacity: 0;
                transform: translateY(50px);
            }
            100% {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        @keyframes ptm-fadeInDown {
            0% {
                opacity: 0;
                transform: translateY(-50px);
            }
            100% {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        /* Классы анимаций */
        .ptm-animate-up {
            opacity: 0;
            transform: translateY(50px);
            transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
        }
        
        .ptm-animate-up.ptm-animate-in {
            opacity: 1;
            transform: translateY(0);
        }
        
        .ptm-animate-down {
            opacity: 0;
            transform: translateY(-50px);
            transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
            transition-delay: 0.2s;
        }
        
        .ptm-animate-down.ptm-animate-in {
            opacity: 1;
            transform: translateY(0);
        }
        
        /* Стили заголовка */
        .ptm-page-h2 {
            font-size: 52px;
            font-weight: 400;
            text-transform: uppercase;
            color: rgb(43, 65, 157, 1);
            margin-bottom: 30px;
            position: relative;
            display: inline-block;
        }
        
        .ptm-page-h2::after {
            content: '';
            position: absolute;
            bottom: -15px;
            left: 50%;
            transform: translateX(-50%);
            width: 0;
            height: 3px;
            background: #2b419d;
            transition: width 0.6s ease;
        }
        
        .ptm-page-h2.ptm-animate-in::after {
            width: 80px;
        }
        
        .ptm-default-text {
            font-size: 20px;
            line-height: 1.6;
            color: #2F3E46;
        }
        
        /* Адаптивность блока */
        @media (max-width: 992px) {
            .ptm-page-h2 { font-size: 42px; }
        }
        
        @media (max-width: 768px) {
            .ptm-page-h2 { font-size: 32px; }
            .ptm-default-text { font-size: 18px; }
        }
        
        @media (max-width: 480px) {
            .ptm-page-h2 { font-size: 28px; }
        }
        
        /* Отступы для блока после меню */
        .ptm-after-menu {
            margin-top: 20px;
            margin-bottom: 40px;
        }
    /* h1=========================================== */
	
	
	/* БЛОК контакты =========================================== */
	
	 /* Основные стили блока */
        .about-block {
            width: 100%;
            padding: 20px 0;
            background: transparent;
			font-family:  'Jost Regular', Arial, Helvetica, sans-serif;
         }
        
        .about-block__container {
            max-width: 1400px;
            margin: 0 auto;
            padding: 0 20px;
        }
        
        .about-block__grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 40px;
            align-items: stretch;
        }
        
        /* Общие стили для карточек - прозрачный фон, только рамка */
        .about-block__card {
            background: transparent;
            border-radius: 10px;
            padding: 35px 30px;
            height: 100%;
            display: flex;
            flex-direction: column;
            border: 1px solid rgba(43, 65, 157,0.3);
        }
        
        /* Левый блок - появляется слева */
        .about-block__content-left {
            opacity: 0;
            transform: translateX(-100px);
            transition: opacity 0.8s ease, transform 0.8s ease;
        }
        
        .about-block__content-left.about-block--visible {
            opacity: 1;
            transform: translateX(0);
        }
        
        /* Правый блок - появляется справа */
        .about-block__content-right {
            opacity: 0;
            transform: translateX(80px);
            transition: opacity 0.8s ease, transform 0.8s ease;
        }
        
        .about-block__content-right.about-block--visible {
            opacity: 1;
            transform: translateX(0);
        }
         .about-block__list i { color: rgb(43, 65, 157, 1); } 
        /* Стили для заголовков */
        .about-block__title {
            color: rgb(43, 65, 157, 1);
            margin-bottom: 25px;
            font-size: 28px;
            font-weight: bold;
            position: relative;
            padding-bottom: 15px;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        
        .about-block__title:after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 50px;
            height: 3px;
            background: #2b419d;
            border-radius: 2px;
        }
        
        .about-block__title-icon {
            font-size: 32px;
        }
        
        /* Стили для списков */
        .about-block__list {
            list-style: none;
            padding: 0;
            margin: 0 0 25px 0;
            flex: 1;
        }
        
        .about-block__list-item {
            padding: 12px 0;
            border-bottom: 1px solid rgba(0,102,164,0.1);
            display: flex;
            align-items: center;
            gap: 15px;
            font-size: 20px;
            line-height: 1.5;
            color: #333;
        }
        
        .about-block__list-item:last-child {
            border-bottom: none;
        }
        
        .about-block__list-icon {
            flex-shrink: 0;
            width: 32px;
            height: 32px;
            background: rgba(0,102,164,0.1);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 16px;
            color: #0066A4;
        }
        
        .about-block__list-text {
            flex: 1;
        }
        
        /* Кнопка */
        .about-block__button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            padding: 12px 28px;
            background: #0066A4;
            color: white;
            text-decoration: none;
            border-radius: 50px;
            transition: background 0.3s ease;
            border: none;
            cursor: pointer;
            font-size: 15px;
            font-weight: 500;
            width: fit-content;
            margin-top: 10px;
        }
        
        .about-block__button:hover {
            background: #004d7c;
        }
		
		.about-block__content-left a { text-decoration: none; color: #2b419d; }
		.about-block__content-left a:hover { color: #FFD966; }
		
		/* ============================================ */
		/* АДАПТИВНАЯ ВЕРСИЯ ТОЛЬКО ДЛЯ БЛОКОВ */
		/* ============================================ */
		@media screen and (max-width: 768px) {
			.about-block {
				padding: 15px 0;
			}
			
			.about-block__container {
				padding: 0 15px;
			}
			
			/* Изменяем сетку на одну колонку */
			.about-block__grid {
				grid-template-columns: 1fr;
				gap: 25px;
			}
			
			.about-block__card {
				padding: 25px 20px;
			}
			
			.about-block__title {
				font-size: 22px;
				margin-bottom: 20px;
				padding-bottom: 12px;
			}
			
			.about-block__title:after {
				width: 40px;
				height: 2px;
			}
			
			.about-block__title-icon {
				font-size: 24px;
			}
			
			.about-block__list-item {
				padding: 10px 0;
				gap: 12px;
				font-size: 16px;
			}
			
			.about-block__list-icon {
				width: 28px;
				height: 28px;
				font-size: 14px;
			}
			
			.about-block__button {
				padding: 10px 24px;
				font-size: 14px;
				width: 100%;
				justify-content: center;
			}
			
			/* Меняем направление анимации для мобильных */
			.about-block__content-left {
				transform: translateY(30px);
			}
			
			.about-block__content-right {
				transform: translateY(30px);
			}
		}
		
		/* Дополнительная адаптация для маленьких экранов */
		@media screen and (max-width: 480px) {
			.about-block__card {
				padding: 20px 15px;
			}
			
			.about-block__title {
				font-size: 20px;
			}
			
			.about-block__list-item {
				padding: 8px 0;
				gap: 10px;
				font-size: 14px;
			}
			
			.about-block__list-icon {
				width: 24px;
				height: 24px;
				font-size: 12px;
			}
			
			.about-block__button {
				padding: 8px 20px;
				font-size: 13px;
			}
		}
	
 /* БЛОК контакты  конец=========================================== */


/* БЛОК С КАРТОЙ  ============================================ */
 
 
        /* Основной блок карты */
        .contact-map-block {
            width: 100%;
            padding: 20px 0;
        }
        
        .contact-map-block__container {
            max-width: 1400px;
            margin: 0 auto;
            padding: 0 20px;
        }
        
        /* Обертка для карты с анимацией */
        .contact-map-block__wrapper {
            position: relative;
            width: 100%;
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 20px 40px rgba(0,0,0,0.15);
            opacity: 0;
            transform: scale(0.95);
            transition: opacity 0.8s ease, transform 0.8s ease;
        }
        
        .contact-map-block__wrapper.contact-map-block--visible {
            opacity: 1;
            transform: scale(1);
        }
        
        /* Контейнер для карты */
        .contact-map-block__map {
            width: 100%;
            height: 500px;
            background: #e0e0e0;
            position: relative;
        }
        
        /* Загрузочный индикатор */
        .contact-map-block__loader {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            text-align: center;
            z-index: 10;
            background: rgba(255,255,255,0.9);
            padding: 20px 30px;
            border-radius: 15px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.1);
        }
        
        .contact-map-block__loader-spinner {
            width: 48px;
            height: 48px;
            border: 4px solid #e0e0e0;
            border-top-color: #0066A4;
            border-radius: 50%;
            animation: contact-map-spin 0.8s linear infinite;
            margin: 0 auto 15px;
        }
        
        .contact-map-block__loader-text {
            color: #666;
            font-size: 14px;
        }
        
        @keyframes contact-map-spin {
            to { transform: rotate(360deg); }
        }
        
        /* Подсказка */
        .contact-map-block__hint {
            position: absolute;
            bottom: 15px;
            left: 15px;
            background: rgba(0,0,0,0.7);
            color: white;
            padding: 8px 15px;
            border-radius: 20px;
            font-size: 12px;
            z-index: 25;
            pointer-events: none;
            font-family: Arial, sans-serif;
            backdrop-filter: blur(5px);
        }
        
        /* Стили для карты, чтобы она не перехватывала скролл */
        .ymaps-2-1-79-map {
            cursor: default !important;
        }
        
        .ymaps-2-1-79-map * {
            cursor: default !important;
        }
        
        /* Адаптивность */
        @media (max-width: 768px) {
            .about-block {
                padding: 50px 0;
            }
            
            .about-block__grid {
                grid-template-columns: 1fr;
                gap: 30px;
            }
            
            .about-block__card {
                padding: 25px 20px;
            }
            
            .about-block__title {
                font-size: 24px;
            }
            
            .about-block__content-left,
            .about-block__content-right {
                transform: translateY(30px);
            }
            
            .about-block__content-left.about-block--visible,
            .about-block__content-right.about-block--visible {
                transform: translateY(0);
            }
            
            .about-block__list-item {
                padding: 10px 0;
                font-size: 14px;
            }
            
            .about-block__list-icon {
                width: 28px;
                height: 28px;
                font-size: 14px;
            }
            
            .about-block__button {
                padding: 10px 24px;
                font-size: 14px;
            }
            
            .contact-map-block__map {
                height: 400px;
            }
            
            .contact-map-block__hint {
                font-size: 10px;
                padding: 6px 12px;
            }
        }
        
        @media (max-width: 480px) {
            .about-block__card {
                padding: 20px 15px;
            }
            
            .about-block__title {
                font-size: 22px;
            }
            
            .about-block__list-item {
                gap: 10px;
            }
            
            .contact-map-block__map {
                height: 350px;
            }
        }
/* БЛОК С КАРТОЙ   конец ============================================ */


/* калькулятор  ===================================================== */

   /* Полная изоляция стилей с префиксами */
    .contact-map-block {
        box-sizing: border-box;
    }
    
    .contact-map-block *,
    .contact-map-block *::before,
    .contact-map-block *::after {
        box-sizing: inherit;
    }
    
    /* Контейнер формы */
    .contact-map-block__wrapper--form {
        background: #ffffff;
        border-radius: 10px;
        padding: 28px;
        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    }
    
	.contact-map-block__wrapper--form:hover {  box-shadow: 0 20px 40px rgba(0,0,0,0.1); }
	
    /* ===== Все стили формы с префиксом pndf- ===== */
    .pndf-form {
        width: 100%;
        font-family: 'Jost Regular', Arial, Helvetica, sans-serif;
    }
    
    /* Блок контактов */
    .pndf-contact {
        margin-bottom: 28px;
        padding-bottom: 20px;
        border-bottom: 2px solid #e2e8f0;
    }
    
    .pndf-contact__row {
        display: flex;
        flex-wrap: wrap;
        gap: 24px;
        background: transparent;
        padding: 0;
        align-items: flex-end;
    }
    
    .pndf-contact__row:not(:last-child) {
        margin-bottom: 20px;
    }
    
    /* Заголовок секции */
    .pndf-section-title {
        margin-bottom: 20px;
    }
    
    .pndf-title {
        font-size: 18px;
        font-weight: 600;
        color: #0f172a;
        margin: 0;
        padding: 0;
    }
    
    /* Контейнер строк труб */
    .pndf-items {
        display: flex;
        flex-direction: column;
        gap: 16px;
        margin-bottom: 24px;
    }
    
    /* Строка трубы - с плавными переходами */
    .pndf-pipe-row {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        gap: 16px;
        background: #f8fafc;
        padding: 16px;
        border-radius: 12px;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        opacity: 1;
        transform: scale(1);
        overflow: hidden;
    }
    
    /* Анимация при удалении */
    .pndf-pipe-row--removing {
        opacity: 0;
        transform: scale(0.95);
        transform-origin: top;
        max-height: 200px;
        margin-bottom: 0;
        padding-top: 0;
        padding-bottom: 0;
    }
    
    /* Анимация при добавлении */
    @keyframes pndfSlideIn {
        from {
            opacity: 0;
            transform: translateY(-20px) scale(0.95);
        }
        to {
            opacity: 1;
            transform: translateY(0) scale(1);
        }
    }
    
    .pndf-pipe-row--new {
        animation: pndfSlideIn 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    /* Поле */
    .pndf-field {
        flex: 1;
        min-width: 140px;
        transition: all 0.2s ease;
    }
    
    .pndf-field--half {
        flex: 1;
        min-width: 200px;
    }
    
    .pndf-field--full {
        flex: 1;
        min-width: 100%;
        width: 100%;
    }
    
    .pndf-field--small {
        flex: 0.7;
        min-width: 120px;
    }
    
    /* Метка */
    .pndf-label {
        display: block;
        font-size: 16px;
        font-weight: 500;
        color: #1e293b;
        margin-bottom: 6px;
        letter-spacing: 0.3px;
    }
    
    /* Инпут */
    .pndf-input {
        width: 100%;
        padding: 10px 12px;
        font-size: 14px;
        font-family: inherit;
        color: #0f172a;
        background: #ffffff;
        border: 1px solid #cbd5e1;
        border-radius: 8px;
        transition: all 0.2s;
        outline: none;
    }
    
    .pndf-input:focus {
        border-color: #3b82f6;
        box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
    }
    
    /* Селект */
    .pndf-select {
        width: 100%;
        padding: 10px 12px;
        font-size: 14px;
        font-family: inherit;
        color: #0f172a;
        background: #ffffff;
        border: 1px solid #cbd5e1;
        border-radius: 8px;
        transition: all 0.2s;
        outline: none;
        cursor: pointer;
    }
    
    .pndf-select:focus {
        border-color: #3b82f6;
        box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
    }
    
    /* Группа радиокнопок */
    .pndf-radio-group {
        display: flex;
        gap: 16px;
        align-items: center;
        height: 42px;
        padding: 0 4px;
    }
    
    .pndf-radio-label {
        display: flex;
        align-items: center;
        gap: 6px;
        font-size: 14px;
        color: #1e293b;
        cursor: pointer;
        user-select: none;
        transition: all 0.2s ease;
    }
    
    .pndf-radio-label:hover {
        color: #3b82f6;
    }
    
    .pndf-radio {
        width: 16px;
        height: 16px;
        cursor: pointer;
        accent-color: #3b82f6;
        margin: 0;
        transition: transform 0.1s ease;
    }
    
    .pndf-radio:active {
        transform: scale(0.95);
    }
    
    /* Кнопка удаления */
    .pndf-remove-btn {
        width: 36px;
        height: 36px;
        background: #fee2e2;
        border: none;
        border-radius: 8px;
        font-size: 20px;
        font-weight: bold;
        color: #dc2626;
        cursor: pointer;
        transition: all 0.2s ease;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 0;
        flex-shrink: 0;
    }
    
    .pndf-remove-btn:hover {
        background: #fecaca;
        transform: scale(1.05);
    }
    
    .pndf-remove-btn:active {
        transform: scale(0.95);
    }
    
    /* Кнопка добавления */
    .pndf-actions {
        margin-bottom: 0;
    }
    
    .pndf-add-btn {
        background: #f1f5f9;
        border: 1px dashed #3b82f6;
        padding: 12px 10px;
        font-size: 16px;
        font-weight: 400;
        color: #3b82f6;
        border-radius: 40px;
        cursor: pointer;
        transition: all 0.3s ease;
        font-family: inherit;
        width: 100%;
        max-width: 220px;
    }
    
    .pndf-add-btn:hover {
        background: #eff6ff;
        border-color: #2563eb;
        color: #2563eb;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(59, 130, 246, 0.2);
    }
    
    .pndf-add-btn:active {
        transform: translateY(0);
    }
    
    /* Кнопка отправки - ссылка с градиентом и анимацией */
    .pndf-submit-wrapper {
        margin-top: 28px;
        text-align: center;
    }
    
    .pndf-submit-link {
	font-family: 'Jost Regular', Arial, Helvetica, sans-serif;
        display: inline-block;
        text-decoration: none;
        padding: 14px 32px;
        font-size: 16px;
        font-weight: 400;
        font-family: inherit;
        border-radius: 40px;
        cursor: pointer;
        transition: all 0.3s ease;
        min-width: 200px;
        text-align: center;
        border: none;
        color: white;
        
        /* Градиентный фон */
        background: linear-gradient(135deg, rgba(30, 45, 100, 1) 0%, rgba(43, 65, 157, 1) 50%, rgba(20, 35, 90, 1) 100%);
        background-size: 200% 200%;
        
        /* Анимация переливания */
        animation: pndfGradientShift 3s ease infinite;
        
        /* Тень для объема */
        box-shadow: 0 4px 15px rgba(30, 45, 100, 0.3);
    }
    
    /* Эффект при наведении */
    .pndf-submit-link:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 25px rgba(30, 45, 100, 0.4);
        animation: pndfGradientShift 1.5s ease infinite;
    }
    
    /* Эффект при нажатии */
    .pndf-submit-link:active {
        transform: translateY(1px);
        box-shadow: 0 2px 10px rgba(30, 45, 100, 0.3);
    }
    
    /* Анимация переливания градиента */
    @keyframes pndfGradientShift {
        0% {
            background-position: 0% 50%;
        }
        50% {
            background-position: 100% 50%;
        }
        100% {
            background-position: 0% 50%;
        }
    }
    
    /* Адаптив */
    @media (max-width: 992px) {
        .pndf-pipe-row {
            gap: 12px;
        }
    }
    
    @media (max-width: 768px) {
        .pndf-contact__row {
            flex-direction: column;
            gap: 16px;
            align-items: stretch;
        }
        
        .pndf-pipe-row {
            flex-direction: column;
            align-items: stretch;
        }
        
        .pndf-field--half {
            min-width: auto;
        }
        
        .pndf-field {
            min-width: auto;
        }
        
        .pndf-field--small {
            min-width: auto;
        }
        
        .pndf-radio-group {
            height: auto;
            padding: 8px 0;
        }
        
        .pndf-remove-btn {
            align-self: flex-end;
            margin-top: 8px;
        }
        
        .pndf-add-btn {
            max-width: 100%;
        }
        
        .pndf-submit-link {
            width: 100%;
            max-width: 200px;
            padding: 14px 20px;
        }
    }
	/* калькулятор  конец ============================================ */
	
	