/* ================================================================
   Страница «Demander un devis»: способы связи, форма, памятка.
   ================================================================ */
.devis-page{padding-bottom:56px;}

/* ---------------- шапка страницы ---------------- */
.devis-head{max-width:760px;margin-bottom:28px;}
.devis-head__title{font-size:clamp(26px,3.2vw,36px);line-height:1.15;font-weight:800;color:var(--v-black);padding-bottom:12px;}
.devis-head__text{font-size:17px;line-height:1.65;color:#3d4351;padding:0;}

/* ---------------- три способа связи ---------------- */
.devis-ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:34px;}
.devis-way{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--v-line);border-radius:14px;padding:24px 22px 22px;overflow:hidden;transition:.15s;}
.devis-way::after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--v-blue);opacity:.85;}
.devis-way:hover{border-color:rgba(46,115,184,.5);box-shadow:0 14px 30px rgba(19,43,71,.10);transform:translateY(-3px);}
.devis-way--wa::after{background:#25d366;}
.devis-way__num{position:absolute;top:14px;right:16px;font-size:44px;font-weight:900;line-height:1;color:#eef3f9;}
.devis-way__ico{width:50px;height:50px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;background:#eef4fa;border:1px solid #d6e4f2;border-radius:12px;color:var(--v-blue);margin-bottom:14px;}
.devis-way__ico svg{width:25px;height:25px;display:block;}
.devis-way--wa .devis-way__ico{background:#e7f9ee;border-color:#bfeacd;color:#128c4a;}
.devis-way__title{font-size:17px;font-weight:800;color:var(--v-black);padding-bottom:8px;}
.devis-way__text{font-size:14.5px;line-height:1.55;color:var(--v-muted);padding:0 0 18px;flex:1 1 auto;}
.devis-way__btn{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;gap:8px;background:var(--v-blue);color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;padding:12px 18px;border-radius:8px;text-decoration:none;transition:.15s;}
.devis-way__btn:hover{background:var(--v-blue-dark);color:#fff;}
.devis-way--wa .devis-way__btn{background:#25d366;}
.devis-way--wa .devis-way__btn:hover{background:#128c4a;}

/* ---------------- форма и памятка ---------------- */
.devis-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:26px;align-items:start;scroll-margin-top:140px;}
.devis-form-box{background:#fff;border:1px solid var(--v-line);border-radius:14px;padding:26px;}
.devis-form-box__title{font-size:19px;font-weight:800;color:var(--v-black);padding-bottom:18px;}

.devis-note{display:flex;flex-direction:column;gap:4px;border-radius:10px;padding:14px 16px;margin-bottom:20px;font-size:14.5px;}
.devis-note b{font-size:15px;}
.devis-note--ok{background:#f0f7f2;border:1px solid #cde7d4;border-left:4px solid var(--v-green);color:#14532d;}
.devis-note--err{background:#fdf1f0;border:1px solid #f3d2ce;border-left:4px solid #b42318;color:#7f1d1d;}

.devis-form__row{display:grid;gap:14px;margin-bottom:14px;}
.devis-form__row--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.devis-form__row--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.devis-form__trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

.devis-field{display:block;margin-bottom:14px;}
.devis-form__row .devis-field{margin-bottom:0;}
.devis-field > span{display:block;font-size:13px;font-weight:600;color:var(--v-text);margin-bottom:6px;}
.devis-field > span i{color:#b42318;font-style:normal;}
.devis-field input[type="text"],
.devis-field input[type="email"],
.devis-field select,
.devis-field textarea{width:100%;box-sizing:border-box;min-height:46px;border:1px solid #dde3ea;border-radius:9px;background:#fff;padding:11px 14px;font-size:15px;font-family:inherit;color:var(--v-text);transition:.15s;-webkit-appearance:none;appearance:none;}
.devis-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:38px;cursor:pointer;}
.devis-field textarea{min-height:130px;resize:vertical;line-height:1.55;}
.devis-field input:focus,.devis-field select:focus,.devis-field textarea:focus{border-color:var(--v-blue);box-shadow:0 0 0 3px rgba(46,115,184,.16);outline:none;}

/* поле файла */
.devis-file{margin:4px 0 20px;}
.devis-file__label{display:block;cursor:pointer;}
.devis-file__label input[type="file"]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;}
.devis-file__btn{display:inline-flex;align-items:center;gap:10px;background:#eef4fa;border:1px dashed rgba(46,115,184,.55);border-radius:10px;padding:14px 18px;font-size:14px;font-weight:600;color:var(--v-blue-dark);transition:.15s;}
.devis-file__label:hover .devis-file__btn{background:#e3edf8;border-color:var(--v-blue);}
.devis-file__btn svg{width:19px;height:19px;flex:0 0 auto;}
.devis-file__label input[type="file"]:focus-visible + .devis-file__btn{box-shadow:0 0 0 3px rgba(46,115,184,.2);}
.devis-file__hint{display:block;font-size:12.5px;color:var(--v-muted);margin-top:8px;}
.devis-file__hint.is-files{color:var(--v-green);font-weight:500;}

.devis-submit{display:inline-flex;align-items:center;justify-content:center;background:var(--v-blue);color:#fff;font-size:13.5px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;padding:16px 30px;border:0;border-radius:9px;font-family:inherit;cursor:pointer;transition:.15s;}
.devis-submit:hover{background:var(--v-blue-dark);}
.devis-form__legal{font-size:12px;color:var(--v-muted);padding:14px 0 0;}

/* памятка справа */
.devis-side{display:flex;flex-direction:column;gap:16px;}
.devis-side__box{background:#f6f9fc;border:1px solid var(--v-line);border-radius:14px;padding:20px;}
.devis-side__box--contact{background:var(--v-black);border-color:var(--v-black);}
.devis-side__title{font-size:15px;font-weight:800;letter-spacing:.3px;color:var(--v-black);padding-bottom:12px;}
.devis-side__box--contact .devis-side__title{color:#fff;}
.devis-side__list{list-style:none;margin:0;padding:0;}
.devis-side__list li{position:relative;padding:0 0 10px 20px;font-size:14px;line-height:1.5;color:#3d4351;}
.devis-side__list li::before{content:"";position:absolute;left:0;top:7px;width:7px;height:7px;border-radius:50%;background:var(--v-blue);}
.devis-side__link{display:flex;align-items:center;gap:10px;color:#dbe4ee;text-decoration:none;font-size:14.5px;padding:9px 0;transition:.15s;}
.devis-side__link svg{width:19px;height:19px;flex:0 0 auto;color:var(--v-blue-light);}
.devis-side__link:hover{color:#fff;}
.devis-side__link--wa{background:#25d366;color:#fff !important;justify-content:center;border-radius:9px;padding:13px 16px;font-weight:700;font-size:13px;letter-spacing:.6px;text-transform:uppercase;margin-bottom:6px;}
.devis-side__link--wa svg{color:#fff;}
.devis-side__link--wa:hover{background:#128c4a;}
.devis-side__note{display:block;font-size:12.5px;color:var(--v-muted-dark);padding-top:10px;margin-top:8px;border-top:1px solid rgba(255,255,255,.12);}

.devis-extra{margin-top:34px;}

/* ---------------- адаптив ---------------- */
@media(max-width:1024px){
	.devis-grid{grid-template-columns:1fr;}
	.devis-ways{grid-template-columns:1fr;gap:14px;}
	.devis-way{padding:20px;}
}
@media(max-width:640px){
	.devis-form-box{padding:18px;}
	.devis-form__row--2,.devis-form__row--3{grid-template-columns:1fr;}
	.devis-submit{width:100%;}
	.devis-way__num{font-size:36px;}
}
