/* «Pedir presupuesto»: ventana emergente */
.hv-dialogo { width: min(640px, calc(100vw - 24px)); max-height: calc(100vh - 24px); overflow: auto; padding: 30px clamp(18px, 4vw, 34px) 26px; border: 1px solid var(--hv-linea, #E6DCCF); border-radius: 18px; background: var(--hv-crema, #FBF7F1); color: var(--hv-tinta, #3A2F2A); box-shadow: 0 30px 70px -20px rgba(58, 47, 42, .55); }
.hv-dialogo::backdrop { background: rgba(58, 47, 42, .55); }
.hv-dialogo__cerrar-form { position: absolute; top: 10px; right: 12px; margin: 0; }
.hv-dialogo__cerrar { width: 40px; height: 40px; border: 0; border-radius: 50%; background: transparent; font-size: 28px; line-height: 1; color: var(--hv-tinta-suave, #7A6B63); cursor: pointer; }
.hv-dialogo__cerrar:hover { background: var(--hv-salvia-claro, #E5EBE1); }
.hv-presu h2, .hv-presu__ok h2 { margin: 0 0 8px; font: 600 clamp(28px, 4vw, 34px)/1.05 var(--hv-titulos, 'Cormorant Infant', Georgia, serif); }
.hv-presu__sub { margin: 0; font-size: 26px; color: var(--hv-oro, #A9864F); }
.hv-presu__articulo { margin: 0 0 14px; padding: 8px 12px; border-radius: 10px; background: #fff; border: 1px solid var(--hv-linea, #E6DCCF); font-size: 13.5px; }
.hv-presu p { margin: 0 0 12px; }
.hv-presu label { display: block; margin: 0 0 4px; font-size: 13px; font-weight: 600; }
.hv-presu label small { font-weight: 400; color: var(--hv-tinta-suave, #7A6B63); }
.hv-presu input[type=text], .hv-presu input[type=email], .hv-presu input[type=tel], .hv-presu input[type=number], .hv-presu input[type=date], .hv-presu textarea { width: 100%; padding: 10px 14px; border: 1px solid var(--hv-linea, #E6DCCF); border-radius: 12px; background: #fff; font: 400 15px/1.4 'Montserrat', sans-serif; color: inherit; }
.hv-presu input:focus, .hv-presu textarea:focus { outline: 2px solid var(--hv-salvia, #5E6E5A); outline-offset: 1px; border-color: var(--hv-salvia, #5E6E5A); }
.hv-presu__fila { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.hv-presu__web { position: absolute !important; left: -9999px; height: 0; overflow: hidden; }
.hv-presu__acepto label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: 12.5px; line-height: 1.45; }
.hv-presu__acepto input { margin-top: 3px; flex: none; }
.hv-presu__acepto a { color: var(--hv-salvia, #5E6E5A); }
.hv-presu__error { padding: 8px 12px; border-radius: 10px; background: #F7E4E4; color: #8B2D2D; font-size: 13.5px; }
.hv-presu__botones { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 4px; }
.hv-presu__wa { font-size: 13px; color: var(--hv-salvia, #5E6E5A); font-weight: 600; }
.hv-presu__ok { text-align: center; padding: 14px 0 4px; }
.hv-presu__ok svg { display: block; margin: 0 auto 10px; }
@media (max-width: 560px) { .hv-presu__fila { grid-template-columns: 1fr; } }

.hv-dialogo .hv-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 26px; border-radius: 999px; font: 600 14px/1 'Montserrat', sans-serif; text-decoration: none; cursor: pointer; border: 1px solid var(--hv-salvia, #5E6E5A); transition: background-color .15s ease; }
.hv-dialogo .hv-btn--prim { background: var(--hv-salvia, #5E6E5A); color: #fff; }
.hv-dialogo .hv-btn--prim:hover { background: #4A5A47; }
.hv-dialogo .hv-btn--prim:disabled { opacity: .6; cursor: wait; }
.hv-dialogo .hv-btn--sec { background: transparent; color: var(--hv-salvia, #5E6E5A); }
.hv-dialogo .hv-btn--sec:hover { background: var(--hv-salvia-claro, #E5EBE1); }
