.contact-page { max-width:1600px; width:100%; padding:0 20px 40px; color:#171b2a; }
.contact-page #content { min-width:0; }
.contact-page .contact-title { margin:0 0 24px; padding:28px; border-radius:16px; background:linear-gradient(115deg,#f7f9fc 55%,#ffe7ed); font-size:clamp(24px,2.3vw,34px); font-weight:700; color:#171b2a; }
.contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; margin-bottom:24px; }
.contact-card { min-width:0; padding:28px; border:1px solid #e7eaf1; border-radius:16px; background:#fff; box-shadow:0 4px 28px #26335308; color:#646b7c; line-height:1.8; overflow-wrap:anywhere; }
.contact-card h2,.contact-card h3 { margin:0 0 14px; color:#171b2a; font-size:23px; font-weight:600; line-height:1.35; }
.contact-details { background:linear-gradient(145deg,#f7f9fc,#fff0f4); padding:28px 32px 36px; }
.contact-details h2 { margin-bottom:6px; font-size:25px; font-weight:700; }
.contact-details .contact-intro { font-size:16px; line-height:1.5; }
.contact-intro { margin:0 0 24px; }
.contact-detail { display:flex; gap:20px; align-items:center; margin:0 0 24px; font-size:16px; line-height:1.5; }
.contact-detail > i,.contact-detail > .contact-detail-icon { display:flex; align-items:center; justify-content:center; flex:0 0 48px; width:48px; height:48px; border-radius:50%; background:#eaf0ff; color:#0054f4; font-size:24px; }
.contact-detail-icon svg { display:block; width:26px; height:26px; }
.contact-detail strong,.contact-detail span,.contact-detail a { display:block; }
.contact-detail strong { color:#455069; font-size:16px; font-weight:700; }
.contact-detail a { color:#455069; }
.contact-detail a:hover { color:#0054f4; }
.contact-comment { padding-top:20px; border-top:1px solid #e7eaf1; }
.contact-form .form-group { margin:0 0 20px; }
.contact-form .control-label { display:block; margin-bottom:8px; font-size:13px; font-weight:600; color:#455069; }
.contact-form .form-control { min-height:46px; padding:11px 14px; border:1px solid #dfe4ee; border-radius:9px; background:#eaf0ff; color:#171b2a; box-shadow:none; font-size:14px; }
.contact-form textarea.form-control { min-height:120px; resize:vertical; }
.contact-form .form-control:focus { background:#fff; border-color:#0054f4; box-shadow:0 0 0 3px #0054f41a; outline:none; }
.contact-form .text-danger { margin-top:7px; color:#c52b53; font-size:12px; }
.contact-form [aria-invalid="true"] { border-color:#c52b53; }
.contact-page .btn { min-height:44px; padding:12px 22px; border-radius:9px; font-weight:600; white-space:normal; }
.contact-page .btn-primary { background:#0054f4; color:#fff; }
.contact-page .btn-primary:hover { background:#003bd5; }
.contact-page a:focus-visible,.contact-page button:focus-visible { outline:2px solid #ff4b80; outline-offset:3px; }
.contact-location { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,3fr); gap:28px; align-items:center; margin-bottom:24px; }
.contact-location--no-map { grid-template-columns:1fr; }
.contact-card address { margin:8px 0 20px; line-height:1.8; }
.contact-page .contact-map-button { display:inline-block; border:1px solid #0054f4; color:#0054f4; background:#fff; }
.contact-page .contact-map-button:hover { background:#eff4ff; }
.contact-map { display:block; width:100%; min-height:260px; border:0; border-radius:10px; background:#f7f9fc; }
.contact-store-image { display:block; max-width:100%; height:auto; margin-bottom:20px; border-radius:10px; }
.contact-stores-title { font-size:23px; color:#171b2a; margin:28px 0 20px; }
.contact-page aside .list-group { padding:10px; border:1px solid #e7eaf1; border-radius:14px; background:#fff; box-shadow:0 4px 28px #26335308; }
.contact-page aside .list-group-item { border:0; border-radius:8px; padding:12px 14px; margin-bottom:3px; color:#455069; font-size:13px; }
.contact-page aside .list-group-item:hover,.contact-page aside .list-group-item.active { background:#eff4ff; color:#0054f4; }
@media(max-width:991px) { .contact-grid,.contact-location { grid-template-columns:1fr; gap:24px; } }
@media(max-width:767px) { .contact-page { padding:0 15px 28px; } .contact-page .contact-title,.contact-card { padding:22px; } .contact-map { min-height:240px; } }
.contact-messengers { margin-top:4px; padding-top:16px; border-top:1px solid #e7eaf1; }
.contact-card .contact-messengers h3 { color:#455069; font-size:16px; font-weight:700; margin-bottom:18px; }
.contact-social-links { display:flex; flex-wrap:wrap; gap:16px 40px; }
.contact-social-links a { display:inline-flex; align-items:center; gap:14px; min-height:36px; color:#0054f4; font-size:16px; font-weight:600; line-height:1.5; }
.contact-social-links i { flex:0 0 28px; width:28px; text-align:center; font-size:28px; }
.contact-social-links a:hover { color:#003bd5; }
