
.modal-close {
position: absolute;
top: 16px;
right: 16px;
background: none;
border: none;
font-size: 28px;
cursor: pointer;
color: var(--text-secondary);
line-height: 1;
}

.modal-close:hover {
color: var(--text);
}

.modal h2 {
font-family: 'Montserrat', sans-serif;
font-size: 24px;
font-weight: 700;
margin-bottom: 8px;
}

.modal-subtitle {
color: var(--text-secondary);
font-size: 15px;
margin-bottom: 24px;
}

.modal .form-group {
margin-bottom: 16px;
}

.modal .form-group label {
display: block;
font-size: 14px;
font-weight: 500;
color: var(--text-secondary);
margin-bottom: 6px;
}

.modal .form-control {
width: 100%;
padding: 12px 14px;
border: 1px solid var(--border);
border-radius: 8px;
font-size: 16px;
font-family: inherit;
}

.modal .form-control:focus {
outline: none;
border-color: var(--primary);
box-shadow: 0 0 0 3px rgba(196,30,58,0.1);
}

.modal textarea.form-control {
min-height: 100px;
resize: vertical;
}

.modal .btn {
width: 100%;
justify-content: center;
margin-top: 8px;
}

.modal-success {
text-align: center;
padding: 20px 0;
display: none;
}

.modal-success.active {
display: block;
}

.modal-success-icon {
width: 64px;
height: 64px;
background: rgba(34,197,94,0.1);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 16px;
color: #22C55E;
font-size: 32px;
}

.modal-success h3 {
font-size: 20px;
font-weight: 700;
margin-bottom: 8px;
}

.modal-success p {
color: var(--text-secondary);
}

.checkbox-consent {
display: flex;
align-items: flex-start;
gap: 10px;
font-size: 13px;
color: var(--text-secondary);
margin-bottom: 16px;
}

.checkbox-consent input {
width: 18px;
height: 18px;
margin-top: 2px;
accent-color: var(--primary);
flex-shrink: 0;
}

.checkbox-consent a {
color: var(--primary);
text-decoration: none;
}

@media (max-width: 1023px) {
.nav {
display: none;
}
.header-actions .btn-outline {
display: none;
}
.menu-toggle {
display: block;
}
.hero h1 {
font-size: 48px;
}
.steps,
.services-grid,
.features-grid,
.gallery-grid {
grid-template-columns: repeat(2, 1fr);
}
.calculator-grid,
.contacts-grid {
grid-template-columns: 1fr;
}
.footer-grid {
grid-template-columns: 1fr 1fr;
}
}

@media (max-width: 639px) {
.container {
padding: 0 16px;
}
.section {
padding: 64px 0;
}
.hero h1 {
font-size: 36px;
}
.hero-actions {
flex-direction: column;
}
.hero-contacts {
flex-wrap: wrap;
white-space: normal;
gap: 8px 16px;
}
.hero-contacts .hero-sep {
display: none;
}
.section h2 {
font-size: 28px;
}
.steps,
.services-grid,
.features-grid,
.gallery-grid,
.footer-grid {
grid-template-columns: 1fr;
}
.calculator {
padding: 24px;
}
.calculator-result-price {
font-size: 36px;
}
.footer-store {
flex-direction: column;
gap: 16px;
text-align: center;
}
.mobile-bar {
display: block;
}
body {
padding-bottom: 70px;
}
}

.contact-channels,.map-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}

.contact-channel{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border:1px solid #dedede;border-radius:10px;font-size:14px;line-height:1.3;color:inherit;text-decoration:none;background:#fff;min-height:44px}

.contact-channel svg{flex:none}
.contact-channel:hover{border-color:var(--primary);color:var(--primary)}

.footer-social{flex-wrap:wrap}
.footer-social .contact-channel{width:auto;height:auto;color:#eee;background:transparent;border-color:#555;font-size:13px;padding:9px}

.map-actions{padding:12px;background:#fff}
.map-placeholder{overflow:hidden}
.map-placeholder iframe{min-height:380px;width:100%;border:0}

.messenger-channel-btn{display:flex;align-items:center;gap:10px}

@media(max-width:600px){.contact-channel{font-size:13px}.map-actions .contact-channel{width:100%}}

.map-placeholder{flex-direction:column;justify-content:flex-start}
.footer-social .contact-channel{border-radius:10px}

.map-placeholder iframe{height:480px;min-height:480px;flex:none}

.published-works{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:24px}
.work-card{display:block;color:inherit;text-decoration:none;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.work-card img{width:100%;height:230px;object-fit:cover}
.work-card h3,.work-card p{margin:16px}
.work-card p{font-size:14px;color:var(--text-secondary)}
@media(max-width:700px){.published-works{grid-template-columns:1fr}}
