/* Страница заказа и «спасибо» — в стиле Ostex «Movimiento» (постер: чёрные линейки, красный, жёлтый) */
body.order-page{min-height:100vh; display:flex; flex-direction:column; background:var(--paper);}
body.order-page main{flex:1;}
.order-page header.site{position:relative;}
.back-link{font-weight:800; font-size:14px; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; color:var(--ink);}
.back-link:hover{color:var(--red);}
.order{padding:54px 0 80px;}
.order-grid{display:grid; grid-template-columns:360px minmax(0,1fr); gap:32px; align-items:start;}

/* summary */
.summary{position:sticky; top:24px; background:var(--ink); color:#E9E5DE; padding:26px; border:2px solid var(--ink); box-shadow:8px 8px 0 var(--red);}
.sum-kicker{display:inline-block; background:var(--yellow); color:var(--ink); font-size:12px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; padding:4px 10px;}
.sum-prod{display:flex; gap:18px; align-items:center; margin:18px 0 18px; padding-bottom:18px; border-bottom:2px solid #3A3835;}
.sum-prod img{width:58px; flex:none;}
.sum-prod h2{color:#fff; font-size:44px; margin:0 0 4px;}
.sum-prod p{font-size:14px; margin:0 0 10px; color:#B9B3AA;}
.sum-price{display:flex; align-items:baseline; gap:10px; flex-wrap:wrap;}
.sum-price s{color:#8F8A82; font-size:15px;}
.sum-price strong{font-size:38px; font-weight:900; font-variation-settings:"wdth" 72; color:var(--yellow); line-height:1;}
.sum-price strong small{font-size:15px; margin-left:3px;}
.sum-price span{background:var(--red); color:#fff; font-weight:900; font-size:12px; padding:3px 8px;}
.sum-list{list-style:none; margin:0; padding:0;}
.sum-list li{display:flex; justify-content:space-between; gap:14px; padding:10px 0; border-bottom:1px solid #3A3835; font-size:14.5px;}
.sum-list li span{color:#8F8A82; text-transform:uppercase; letter-spacing:.06em; font-size:12.5px; font-weight:700;}
.sum-list li b{text-align:right; color:#fff;}
.sum-steps{margin:20px 0 0; padding:0; list-style:none; counter-reset:s;}
.sum-steps li{counter-increment:s; display:flex; gap:12px; align-items:center; font-size:14.5px; padding:6px 0;}
.sum-steps li::before{content:counter(s); width:28px; height:28px; flex:none; border-radius:50%; background:var(--red); color:#fff; font-weight:900; display:flex; align-items:center; justify-content:center; font-size:13px;}

/* form */
.form-card{position:relative; background:var(--white); border:2px solid var(--ink); padding:36px 38px 32px; box-shadow:8px 8px 0 var(--ink);}
.form-no{position:absolute; right:26px; top:18px; font-size:64px; font-weight:900; font-variation-settings:"wdth" 70; line-height:1; color:transparent; -webkit-text-stroke:1.5px var(--red);}
.form-card h1{font-size:clamp(36px,4.6vw,58px); line-height:.95; margin-bottom:14px; max-width:12ch;}
.form-sub{color:var(--ink-soft); margin-bottom:20px; max-width:560px;}
.pay-box{background:var(--yellow); border:2px solid var(--ink); padding:14px 18px; margin-bottom:26px;}
.form-alert{background:var(--red-50); color:var(--red-deep); border:2px solid var(--red); padding:12px 18px; margin-bottom:16px; font-weight:700; font-size:15px;}
.grid.one{display:grid; grid-template-columns:1fr; gap:16px; max-width:520px;}
.f{display:flex; flex-direction:column; min-width:0;}
.f label{font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin-bottom:6px;}
.f input{width:100%; font:inherit; font-size:17px; color:var(--ink); background:#fff; border:2px solid var(--ink); border-radius:0; padding:12px 14px; height:54px; -webkit-appearance:none; appearance:none; transition:box-shadow .12s;}
.f input::placeholder{color:#A8A198;}
.f input:focus{outline:none; box-shadow:4px 4px 0 var(--red);}
.err{display:none; color:var(--red-deep); font-size:13px; margin-top:5px; font-weight:700;}
.f.bad input{border-color:var(--red); background:#FFF6F5;}
.f.bad .err,.err.show{display:block;}
.agree{display:flex; gap:12px; align-items:flex-start; margin:22px 0 4px; font-size:14.5px; color:var(--ink-soft); cursor:pointer;}
.agree input{width:22px; height:22px; flex:none; margin:1px 0 0; accent-color:var(--red);}
.agree a{color:var(--ink);}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.btn.submit{margin-top:22px;}
.btn.submit:disabled{opacity:.7; cursor:wait; transform:none;}
.safe{font-size:13.5px; color:var(--ink-soft); margin:18px 0 0;}

/* thanks */
.thanks{display:flex; align-items:center; padding:64px 0 90px;}
.thanks .wrap{width:100%;}
.thanks-card{max-width:640px; margin:0 auto; background:var(--white); border:2px solid var(--ink); box-shadow:10px 10px 0 var(--red); padding:48px 40px; text-align:center;}
.tick{width:84px; height:84px; margin:0 auto 24px; border-radius:50%; background:var(--red); display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 8px var(--yellow);}
.thanks-card h1{font-size:clamp(34px,5vw,56px); line-height:.95; margin:0;}

.order-foot{background:var(--ink); color:#B9B3AA; padding:26px 0; font-size:13.5px; text-align:center;}
.order-foot a{color:#fff;}
.order-foot p{margin:8px 0 0;}

@media (max-width:900px){
  .order-grid{grid-template-columns:1fr;}
  .summary{position:relative; top:0; padding:20px 22px;}
  .sum-steps{display:none;}
}
@media (max-width:560px){
  .order{padding:24px 0 60px;}
  .form-card{padding:26px 18px; box-shadow:5px 5px 0 var(--ink);}
  .form-no{display:none;}
  .btn.submit{width:100%;}
  .thanks-card{padding:34px 20px; box-shadow:6px 6px 0 var(--red);}
  .back-link{font-size:12px;}
}
