.nsks-contact{ 
    padding:28px 0 40px; 
}
.nsks-contact__inner{ 
    display:grid; 
    grid-template-columns: 1.1fr 1.4fr; 
    gap:22px; 
}
.nsks-contact__title{ 
    font-size:32px; 
    font-weight:800; 
    margin:0 0 12px; 
}
.nsks-contact__list{ 
    list-style:none; 
    padding:0; 
    margin:0 0 10px; 
    display:grid; 
    gap:14px; 
}
.nsks-contact__item{ 
    display:flex; 
    gap:12px; 
    align-items:flex-start; 
}
.nsks-contact__icon{
    width:50px; height:50px; flex:0 0 34px;
    display:grid; place-items:center;
    border-radius:50%;
}
.nsks-contact__icon img{ 
    max-width:50px; 
    max-height:50px; 
    display:block; 
}

.nsks-contact__label{ 
    font-weight:700; 
    font-size:14px; 
    color:#333; 
    line-height:1.3; 
}
.nsks-contact__text{ 
    color:#4b5563; 
    line-height:1.45; 
    text-decoration:none; 
}
.nsks-contact__text:hover{ 
    text-decoration:underline;
}

.nsks-contact__socials{ 
    display:flex; 
    align-items:center; 
    margin:10px 0 16px; 
}
.nsks-social{
    width:50px; 
    height:50px; 
    border-radius:50%;
    display:grid; 
    flex:0 0 34px;
    transition:transform .12s, box-shadow .12s;
}
.nsks-social img{ 
    min-width:50px !important; 
    min-height:50px !important; 
    display:block; 
    object-fit: contain;
}

.nsks-contact__card{
    background:#fb842f; 
    color:#fff; 
    border-radius:16px;
    padding:18px; 
    max-width:520px; 
    box-shadow:0 10px 24px rgba(251,132,47,.25);
}
.nsks-card__title{ 
    font-weight:800; 
    font-size:20px; 
    margin-bottom:10px; 
}

.nsks-contact__right{ 
    position:relative; 
}
.nsks-map{ 
    position:relative; 
    border-radius:18px; 
    overflow:hidden; 
    background:#eef2f7; 
    min-height:420px; 
}
.nsks-map__iframe{ 
    position:absolute; 
    inset:0; 
    width:100%; 
    height:100%; 
    border:0; 
}
.nsks-map__balloon{
    position:absolute; 
    right:18px; 
    top:18px; 
    z-index:2;
    background:#fff; 
    color:#111827; 
    border-radius:12px; 
    padding:12px 14px;
    box-shadow:0 16px 36px rgba(0,0,0,.16); 
    max-width:280px; 
    font-size:14px; 
    line-height:1.4;
}
.nsks-map__balloon-row{
    margin-top:6px; 
}
.nsks-map__balloon-link{ 
    display:inline-block;
    margin-top:6px; 
    color:#fb842f; 
    text-decoration:underline; 
}

/* Адаптив */
@media (max-width: 1100px){
    .nsks-contact__inner{ grid-template-columns: 1fr; }
    .nsks-contact__right{ order:2; }
    .nsks-contact__left{ order:1; }
    .nsks-contact__card{ max-width:100%; }
    .nsks-map{ min-height:360px; }
}
@media (max-width: 480px){
    .nsks-contact__title{ font-size:28px; }
}




/* Контейнер формы */
.nsks-cf7 {
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-family: 'Inter', sans-serif;
}

/* Две колонки для имени и телефона */
.nsks-cf7__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

/* Поля формы */
.nsks-cf7 input[type="text"],
.nsks-cf7 input[type="tel"],
.nsks-cf7 textarea {
    width: 100%;
    padding: 12px 14px;
    border-radius: 8px;
    border: none;
    font-size: 14px;
    background: #fff;
    box-shadow: inset 0 0 0 1px #ddd;
    transition: box-shadow 0.2s, border-color 0.2s;
}

.nsks-cf7 input:focus,
.nsks-cf7 textarea:focus {
    outline: none;
    box-shadow: inset 0 0 0 2px #fb842f;
}

/* Текстовое поле */
.nsks-cf7 textarea {
    min-height: 80px;
    resize: vertical;
}

/* Кнопка */
.nsks-cf7__submit input[type="submit"] {
    width: 100%;
    padding: 12px;
    background: #000;
    color: #fff;
    font-weight: 600;
    font-size: 15px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
}

.nsks-cf7__submit input[type="submit"]:hover {
    background: #222;
}

/* Согласие */
.nsks-cf7__consent {
    font-size: 12px;
    color: #333;
    display: flex;
    gap: 6px;
    align-items: flex-start;
}

.nsks-cf7__consent a {
    color: #fb842f;
    text-decoration: underline;
}

/* Адаптив */
@media (max-width: 480px) {
    .nsks-cf7__row {
        grid-template-columns: 1fr;
    }
}
