/* Контакты (макет «Контакты»): направления, адреса и карта, как доехать, форма «Напишите нам» */
.ct-pg{padding-bottom:72px;font-size:15px;line-height:1.55;color:var(--ink)}
.ct-pg .ct-head{padding-top:18px;display:flex;flex-direction:column;gap:12px;max-width:820px}
.ct-pg .ct-head p{margin:0;color:var(--muted)}
.ct-pg .ct-sec{padding-top:56px}
.ct-pg .ct-sec-t{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}

/* направления: магазин / установка / прочие вопросы */
.ct-pg .ct-dep{margin-top:40px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.ct-pg .ct-d{border-top:1px solid var(--line);padding:22px 0 0;display:flex;flex-direction:column;gap:8px;min-width:0}
.ct-pg .ct-d h2{margin:0;font-size:18px;color:var(--navy)}
.ct-pg .ct-d p{margin:0;font-size:14px;color:var(--muted);min-height:calc(1.55em * 2)}
.ct-pg .ct-tel{font-size:22px;font-weight:700;color:var(--navy);white-space:nowrap;margin-top:auto;text-decoration:none}
.ct-pg .ct-mail{font-size:14.5px;color:var(--navy);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}

/* адреса + карта */
.ct-pg .ct-pl{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;align-items:start}
.ct-pg .ct-list{display:flex;flex-direction:column;gap:14px;min-width:0}
.ct-pg .ct-pt{border:1px solid transparent;box-shadow:0 1px 2px rgba(14,33,66,.05),0 4px 16px rgba(14,33,66,.07);padding:20px 22px;display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:border-color .15s,box-shadow .15s;background:#fff}
.ct-pg .ct-pt:hover{box-shadow:0 2px 4px rgba(14,33,66,.06),0 10px 26px rgba(14,33,66,.11)}
.ct-pg .ct-pt.on{box-shadow:inset 4px 0 0 var(--yel),0 2px 4px rgba(14,33,66,.06),0 10px 26px rgba(14,33,66,.11)}
.ct-pg .ct-pt:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.ct-pg .ct-pt-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ct-pg .ct-pt h3{margin:0;font-size:17px;color:var(--navy);line-height:1.3}
.ct-pg .ct-num{flex:none;width:28px;height:28px;border-radius:50%;background:var(--soft);color:var(--navy);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}
.ct-pg .ct-pt.on .ct-num{background:var(--navy);color:#fff}
.ct-pg .ct-rows{display:flex;flex-direction:column;gap:8px;font-size:14.5px}
.ct-pg .ct-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;align-items:baseline;min-width:0}
.ct-pg .ct-row small{font-size:12.5px;color:var(--muted)}
.ct-pg .ct-row a{color:var(--navy)}
.ct-pg .ct-row span{min-width:0;overflow-wrap:anywhere}
.ct-pg .ct-svc{display:flex;flex-wrap:wrap;gap:6px}
.ct-pg .ct-svc span{width:56px;height:40px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;padding:4px}
.ct-pg .ct-svc img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.ct-pg .ct-acts{display:flex;flex-wrap:wrap;gap:8px}
.ct-pg .ct-acts .ct-btn{height:42px;padding:0 16px;font-size:14px}
/* карта Яндекса — открыта сразу */
.ct-pg .ct-map{position:relative;aspect-ratio:7/6;overflow:hidden;background-color:var(--soft);background-image:linear-gradient(#dfe4ea 1px,transparent 1px),linear-gradient(90deg,#dfe4ea 1px,transparent 1px);background-size:44px 44px}
.ct-pg .ct-veil{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center}
.ct-pg .ct-veil b{font-size:20px;color:var(--navy)}
.ct-pg .ct-veil span{font-size:13px;color:var(--muted);max-width:340px}
.ct-pg .ct-veil .row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.ct-pg .ct-ymap{position:absolute;inset:0}

/* как доехать */
.ct-pg .ct-way{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
.ct-pg .ct-ph{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ct-pg .ct-ph-i{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--soft)}
.ct-pg .ct-ph-i img{width:100%;height:100%;object-fit:cover;display:block}
.ct-pg .atext > :first-child{margin-top:0}
.ct-pg .ct-txt{max-width:820px}

/* форма */
.ct-pg .ct-fb{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:40px;align-items:start;background:var(--soft);padding:32px}
.ct-pg .ct-fb-l{display:flex;flex-direction:column;gap:12px}
.ct-pg .ct-fb-l p{margin:0;color:var(--muted)}
.ct-pg .ct-soc{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.ct-pg .ct-lnk{display:inline-flex;align-items:center;gap:8px;color:var(--navy);font-weight:600;font-size:14px;white-space:nowrap;text-decoration:none}
.ct-pg .ct-lnk svg{transition:transform .15s}.ct-pg .ct-lnk:hover svg{transform:translateX(3px)}
.ct-pg .ct-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ct-pg .ct-f{display:flex;flex-direction:column;gap:5px;min-width:0}
.ct-pg .ct-f label{font-size:13px;font-weight:600}
.ct-pg .ct-f label i,.ct-pg .ct-agree i{font-style:normal;color:#b42318}
.ct-pg .ct-f input,.ct-pg .ct-f textarea{box-sizing:border-box;width:100%;border:1px solid var(--line);border-radius:4px;font:inherit;font-size:15px;color:var(--ink);background:#fff}
.ct-pg .ct-f input{height:44px;padding:0 12px}
.ct-pg .ct-f textarea{min-height:88px;padding:10px 12px;resize:vertical}
.ct-pg .ct-f input:focus,.ct-pg .ct-f textarea:focus{outline:2px solid var(--navy);outline-offset:-1px;border-color:var(--navy)}
.ct-pg .ct-wide{grid-column:1/-1}
.ct-pg .ct-agree{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);cursor:pointer}
/* согласие — переключатель, как на главной */
.ct-pg .ct-agree a{color:var(--navy);text-decoration:underline}
.ct-pg .ct-msg{margin:0;padding:12px 14px;background:#fdecea;color:#8a1c12;font-size:14px}
.ct-pg .ct-msg.ok{background:#e8f3ec;color:#1d5b34}
.ct-pg .ct-end{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.ct-pg .ct-cap{min-width:0}
.ct-pg .ct-cap[hidden]{display:none}
.ct-pg .ct-end .ct-btn{min-height:46px;padding:0 32px}

@media (max-width:1199px){.ct-pg .ct-pl{grid-template-columns:1fr 1fr}}
@media (max-width:991px){
  .ct-pg .ct-dep{grid-template-columns:1fr 1fr}.ct-pg .ct-dep .ct-d:last-child{grid-column:1/-1}
  .ct-pg .ct-pl{grid-template-columns:1fr}.ct-pg .ct-map{aspect-ratio:16/10;order:-1}
  .ct-pg .ct-way{grid-template-columns:1fr;gap:20px}
  .ct-pg .ct-fb{grid-template-columns:minmax(0,1fr);gap:20px;padding:28px}
}
@media (max-width:767px){
  .ct-pg .ct-sec{padding-top:40px}
  .ct-pg .ct-dep{grid-template-columns:1fr;gap:24px}.ct-pg .ct-dep .ct-d:last-child{grid-column:auto}.ct-pg .ct-d{padding:18px 0 0}.ct-pg .ct-d p{min-height:0}.ct-pg .ct-tel{font-size:20px}
  .ct-pg .ct-map{aspect-ratio:4/3}.ct-pg .ct-pt{padding:16px}.ct-pg .ct-acts .ct-btn{flex:1 1 100%}.ct-pg .ct-ph{grid-template-columns:1fr 1fr}
  .ct-pg .ct-fb{padding:20px 16px;margin:0 -16px}.ct-pg .ct-form{grid-template-columns:repeat(2,minmax(0,1fr))}.ct-pg .ct-em{grid-column:1/-1}
}
@media (max-width:479px){.ct-pg .ct-end{grid-template-columns:minmax(0,1fr)}.ct-pg .ct-end .ct-btn{width:100%}}
@media (max-width:419px){.ct-pg .ct-form{grid-template-columns:minmax(0,1fr)}}
