:root{font-family:Arial,sans-serif;color:#244658;background:#f3f8fb;font-size:16px;--blue:#075b91;--teal:#00aec7}*{box-sizing:border-box}body{margin:0;border-top:6px solid var(--teal)}header{max-width:1240px;margin:auto;padding:22px 28px;display:flex;align-items:center;gap:18px}header img{width:62px;height:72px;object-fit:contain;mix-blend-mode:multiply}h1{font-size:26px;margin:0 0 7px;color:var(--blue)}p{line-height:1.5;margin:0}header a{margin-left:auto;color:var(--blue);font-size:14px}h2{font-size:21px;margin:0 0 10px;color:var(--blue)}main{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;padding:0 28px 35px}.catalog,aside{background:white;border:1px solid #dbe8ef;border-radius:16px}.intro{padding:24px 24px 16px}.intro p,.note,.muted{color:#597180}.search{margin:0 24px 20px;display:block;font-size:14px;font-weight:bold}input,textarea{font:inherit;width:100%;border:1px solid #bdd0dc;border-radius:7px;padding:11px;margin-top:7px;color:#244658;background:white}input:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid #81d6e4;outline-offset:2px}.legend{display:flex;justify-content:space-between;background:#eaf5f9;padding:13px 24px;font-size:14px;font-weight:bold;color:var(--blue)}.item{padding:17px 24px;border-bottom:1px solid #e6eef3}.item-title{font-size:15px;font-weight:bold;margin-bottom:12px}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.service{border:1px solid #d4e3eb;border-radius:9px;padding:10px;min-width:0}.service.selected{border-color:var(--teal);background:#effbfd}.choice{display:flex;align-items:center;gap:7px;font-size:14px;line-height:1.35}.choice input{width:17px;height:17px;margin:0;flex-shrink:0;accent-color:var(--blue)}.price{font-weight:bold;font-size:15px;margin:9px 0}.counter{display:flex;align-items:center;justify-content:space-between;gap:4px}.counter button{width:30px;height:30px;border:1px solid #bdd0dc;background:white;border-radius:5px;color:var(--blue);font-size:20px;cursor:pointer}.counter input{width:44px;padding:4px;margin:0;text-align:center;appearance:textfield;font-size:14px}.counter input::-webkit-inner-spin-button{appearance:none}.unavailable{color:#8a9ca7;background:#f8fafb}.unavailable p{font-size:14px;margin-top:9px}aside{align-self:start;position:sticky;top:18px;padding:24px}aside label{display:block;font-size:14px;font-weight:bold;margin-top:15px}.total{display:flex;justify-content:space-between;align-items:center;border-block:1px solid #dbe8ef;padding:17px 0;margin-top:15px}.total strong{font-size:24px;color:var(--blue)}.summary-row{font-size:14px;padding:9px 0;border-bottom:1px solid #e6eef3}.summary-row span{display:block;color:#597180;margin-top:4px}.send{width:100%;padding:14px;background:var(--blue);color:white;border:0;border-radius:8px;font:inherit;font-weight:bold;margin-top:15px;cursor:pointer}.send:hover{background:#034774}.note{font-size:13px;margin-top:11px}#error{color:#a32424;font-size:14px;margin-top:12px}#handoff{font-size:14px;padding-top:12px;color:var(--blue)}#empty{padding:25px}footer{text-align:center;padding:8px 20px 28px;color:var(--blue);font-size:14px;font-weight:bold}@media(max-width:850px){main{grid-template-columns:1fr;padding:0 16px 24px}header{padding:18px 16px;flex-wrap:wrap}header a{margin-left:80px;margin-top:-8px}aside{position:static}.intro,.item{padding:18px}.search{margin-inline:18px}.legend{padding-inline:18px}.service{padding:8px}h1{font-size:24px}}
/* Keep labels, prices and counters aligned across service cards. */
.service{display:grid;grid-template-rows:minmax(2.75rem,auto) auto auto;align-content:start;gap:8px}
.choice{align-items:flex-start;min-height:2.75rem}
.choice input{margin-top:2px}
.price{margin:0;line-height:1.5}
.counter{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;gap:4px;width:100%;min-width:0}
.counter button{width:28px;height:34px;padding:0;flex-shrink:0}
.counter input{width:100%;min-width:0;height:34px;padding:3px 0}
.unavailable p{margin:0;line-height:1.5}
@media(max-width:480px){
 .services{grid-template-columns:1fr;gap:9px}
 .service{grid-template-columns:minmax(0,1fr) 70px 110px;grid-template-rows:auto;align-items:center;gap:8px;padding:12px 10px}
 .choice{min-height:0;align-items:center;line-height:1.4}
 .choice input{margin-top:0}
 .counter{grid-template-columns:30px minmax(0,1fr) 30px;gap:4px}
 .counter button{width:30px;height:38px}
 .counter input{height:38px}
 .price{font-size:14px;white-space:nowrap}
 .unavailable p{font-size:14px}
}
@media(max-width:350px){
 .item{padding:16px 12px}
 .service{grid-template-columns:minmax(0,1fr) 60px 94px;gap:6px;padding:10px 8px}
 .counter{grid-template-columns:27px minmax(0,1fr) 27px;gap:3px}
 .counter button{width:27px}
}
