/* hablo · diseño hablo para las pantallas del flujo de compra de consultoría
   (contratar, gracias, desistimiento). Mismas clases que genera hablo_consultoria*.py.
   NO se usa en /consultoria/condiciones: el contrato se sirve byte a byte (huella SHA-256). */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#F0F2F4;color:#333;font:500 16px/1.75 'Manrope',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
main{max-width:640px;margin:28px auto 56px;padding:36px 40px 40px;background:#fff;border-radius:25px 25px 25px 0;box-shadow:0 2px 6px rgba(20,20,20,.04),0 18px 40px -28px rgba(20,20,20,.18)}
a{color:inherit;text-decoration:none;background-image:linear-gradient(to right,currentColor 0,currentColor 100%);background-position:100% 100%;background-repeat:no-repeat;background-size:100% 1px;transition:background-size .4s,color .3s}
a:hover{color:#F14F44;background-size:0 1px}
.brand{display:inline-flex;align-items:center;background-image:none}
.brand img{display:block;height:34px;width:auto}
.brand+h1{margin-top:28px}
.back{display:block;width:fit-content;color:#6B6B6B;font-size:14px;margin:26px 0 20px}
.step,.eyebrow{color:#6B6B6B;font-size:14px;font-weight:600;letter-spacing:.02em}
h1{font:400 clamp(30px,5.2vw,44px)/1.12 'Sora',sans-serif;letter-spacing:-.05em;color:#141414;margin:8px 0 16px}
h2{font:400 24px/1.25 'Sora',sans-serif;letter-spacing:-.05em;color:#141414;margin:34px 0 8px}
p{color:#333;margin:0 0 14px}
.order{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;margin:24px 0;background:#F0F2F4;border-radius:18px 18px 18px 0}
.order strong,.order span{display:block}
.order strong{color:#141414;font-weight:700}
.order span{color:#6B6B6B;font-size:14px;font-weight:500}
.price{font:400 28px/1.15 'Sora',sans-serif;letter-spacing:-.04em;color:#141414;white-space:nowrap;text-align:right}
.price span{font:500 13px/1.4 'Manrope',sans-serif;letter-spacing:0}
label{display:block;font-weight:700;color:#141414;margin:20px 0 8px;font-size:15px}
input,select{width:100%;padding:15px 18px;border:1px solid #E0E0E0;border-radius:18px;background:#fff;color:#141414;font:500 16px/1.4 'Manrope',system-ui,sans-serif;transition:border-color .2s,box-shadow .2s}
input::placeholder{color:#8A8A8A}
input:focus,select:focus{outline:none;border-color:#141414;box-shadow:0 0 0 3px rgba(20,20,20,.08)}
.hint{font-size:13.5px;line-height:1.6;color:#6B6B6B;margin:8px 0 0}
fieldset{border:0;padding:0;margin:0;min-width:0}
.consents{border-top:1px solid #E0E0E0;margin-top:28px;padding-top:6px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;font-weight:500;line-height:1.6;color:#333;cursor:pointer;margin:16px 0 0}
.check input{flex:0 0 20px;width:20px;height:20px;margin:3px 0 0;padding:0;accent-color:#141414}
.legal{font-size:13px;line-height:1.65;color:#6B6B6B;margin:16px 0 0}
.secure{text-align:center;font-size:13.5px;color:#6B6B6B;margin:14px 0 0}
button{display:block;width:100%;margin-top:26px;padding:18px 24px;border:0;border-radius:999px;background:#141414;color:#fff;font:600 17px/1.3 'Manrope',system-ui,sans-serif;cursor:pointer;transition:background .2s}
button:hover{background:#F14F44}
.button{display:inline-flex;align-items:center;justify-content:center;margin:18px 0 0;padding:15px 28px;border-radius:999px;background:#141414;background-image:none;color:#fff;font-weight:600;transition:background .2s}
.button:hover{background:#F14F44;color:#fff}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #F14F44;outline-offset:3px}
.error{padding:14px 16px;border:1px solid #F4B4AE;border-radius:14px 14px 14px 0;background:#FDECEA;color:#9B1C12;margin:18px 0}
.summary{margin:24px 0;padding:20px 22px;background:#F0F2F4;border-radius:18px 18px 18px 0;overflow-wrap:anywhere}
.summary strong{color:#141414}
.summary p:last-child{margin-bottom:0}
.reference{font-size:13px;color:#6B6B6B}
small{display:block;margin-top:26px;color:#6B6B6B;font-size:14px}
@media (max-width:640px){main{margin:14px;padding:26px 20px 30px;border-radius:22px 22px 22px 0}.order{flex-direction:column;align-items:flex-start}.price{text-align:left}}
