/* SoloPro Presupuestos. Hereda tipografía y botones del tema. */
.spq-boton-wrap { margin: 0.75em 0 1.25em; clear: both; }
/* [2026-11-01] Más visible: en staging pasaba desapercibido. Usa el color principal del tema (WoodMart). */
.spq-boton-wrap .button.spq-abrir { display: block; width: 100%; max-width: 420px; padding: 12px 18px; border: 2px solid var(--wd-primary-color, #1d2a44); border-radius: var(--btn-accented-brd-radius, 4px); background: transparent; color: var(--wd-primary-color, #1d2a44); font-weight: 600; text-transform: none; line-height: 1.3; }
.spq-boton-wrap .button.spq-abrir:hover, .spq-boton-wrap .button.spq-abrir:focus { background: var(--wd-primary-color, #1d2a44); color: #fff; }
.spq-boton-carrito { text-align: center; }
.spq-aviso-carrito { margin: 0 0 20px; padding: 14px 18px; border: 1px solid #d6e2ee; border-left: 4px solid var(--wd-primary-color, #1d2a44); background: #f3f7fb; color: #1d2a44; line-height: 1.5; }
.spq-ayuda-boton { margin: 6px 0 14px; font-size: 0.85em; color: #666; }
/* Botón «Pedir presupuesto», junto a «Añadir al carrito». WoodMart da flex: 1 1 100% a todo lo que hay en form.cart y separa con gap: 10px.
   Menos relleno lateral que el de WoodMart (20px) para que quepa en la fila; en la misma fila, flex iguala la altura de los dos botones.
   text-transform: none porque el tema ponía en mayúscula cada palabra («Añadir Al Presupuesto»). */
form.cart .button.spq-anadir-presupuesto { border: 2px solid var(--wd-primary-color, #1d2a44); border-radius: 4px; background: transparent; color: var(--wd-primary-color, #1d2a44); font-weight: 600; text-transform: none; padding-inline: 16px; flex: 0 0 auto; margin-left: 0; }
form.cart .button.spq-anadir-presupuesto:hover, form.cart .button.spq-anadir-presupuesto:focus { background: var(--wd-primary-color, #1d2a44); color: #fff; }
@media (max-width: 600px) { form.cart .button.spq-anadir-presupuesto { flex: 1 1 100%; width: 100%; } }
/* Aviso fijo tras «Pedir presupuesto»: en form.cart ocupa su propia fila, debajo de los botones. */
.spq-anadido { margin: 0; font-size: 0.9em; color: #1e6b34; }
.spq-anadido::before { content: "\2713\00a0"; font-weight: 700; }
.spq-anadido[hidden] { display: none; }
.spq-anadido a { font-weight: 600; text-decoration: underline; }
/* Listados: solo en la vista de lista de WoodMart (en la cuadrícula no cabe). Con borde, como en la ficha; las
   mayúsculas, las del tema, como su «Añadir al carrito». WoodMart pinta los botones con
   .wd-product.product-list-item .wd-add-btn>a, así que estas reglas necesitan un selector más fuerte. */
.wd-product .wd-add-btn > a.spq-archivo-presupuesto, .spq-archivo-presupuesto ~ .spq-anadido { display: none; }
.wd-product.product-list-item .wd-add-btn > a.spq-archivo-presupuesto { display: inline-flex; border: 2px solid var(--wd-primary-color, #1d2a44); border-radius: 4px; background-color: transparent; color: var(--wd-primary-color, #1d2a44); box-shadow: none; }
.wd-product.product-list-item .wd-add-btn > a.spq-archivo-presupuesto:hover, .wd-product.product-list-item .wd-add-btn > a.spq-archivo-presupuesto:focus { background-color: var(--wd-primary-color, #1d2a44); color: #fff; }
.wd-product.product-list-item .spq-archivo-presupuesto ~ .spq-anadido:not([hidden]) { display: block; flex-basis: 100%; }
/* WooCommerce pone «Ver carrito» detrás del botón al añadir; el aviso ya lleva su enlace. */
.spq-archivo-presupuesto + .added_to_cart { display: none; }
.spq-boton-carrito .button.spq-abrir { max-width: none; margin-top: 10px; }
.spq-boton-carrito small { display: block; margin-top: 6px; color: #666; }

body.spq-abierto { overflow: hidden; }
.spq-modal[hidden] { display: none; }
.spq-modal { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: flex-start; justify-content: center; padding: 4vh 16px; overflow-y: auto; }
.spq-fondo { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.55); }
.spq-caja { position: relative; width: 100%; max-width: 640px; background: #fff; color: #222; border-radius: 8px; padding: 28px 28px 20px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3); }
.spq-cerrar { position: absolute; top: 8px; right: 10px; background: none; border: 0; font-size: 28px; line-height: 1; cursor: pointer; color: #666; padding: 4px 8px; }
.spq-caja h2 { margin: 0 0 4px; font-size: 1.4em; }
.spq-intro { margin: 0 0 16px; color: #555; }

.spq-lineas { border: 1px solid #e3e3e3; border-radius: 6px; margin-bottom: 12px; }
.spq-linea { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-bottom: 1px solid #eee; }
.spq-linea:last-child { border-bottom: 0; }
.spq-linea img { width: 56px; height: 56px; object-fit: contain; flex: none; }
.spq-linea-info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.spq-linea-info small { color: #777; }
.spq-linea-precio { font-weight: 600; }
.spq-cantidad input { width: 64px; text-align: center; }
.spq-quitar { background: none; border: 0; font-size: 22px; color: #999; cursor: pointer; padding: 4px 8px; }
.spq-quitar:hover { color: #c00; }
.spq-vacio { margin: 0; padding: 12px; color: #777; }

.spq-datos { border: 0; padding: 0; margin: 0 0 8px; }
.spq-datos legend { font-weight: 600; font-size: 1.1em; margin-bottom: 8px; }
.spq-datos p { margin: 0 0 10px; flex: 1; min-width: 0; }
.spq-datos label { display: block; font-size: 0.9em; margin-bottom: 2px; }
.spq-datos input, .spq-datos select, .spq-datos textarea { width: 100%; box-sizing: border-box; }
.spq-fila { display: flex; gap: 12px; }
.spq-sugerencia { display: block; font-size: 0.85em; margin-top: 4px; color: #a15c00; }
.spq-sugerencia[hidden], .spq-provincia-es[hidden], .spq-provincia-otro[hidden], .spq-comprobacion[hidden] { display: none; }
.spq-comprobacion { display: block; font-size: 0.85em; margin-top: 4px; color: #b32d2e; }
.spq-comprobacion.es-correcto { color: #1a7f37; }
.spq-sugerencia button { background: none; border: 0; padding: 0; color: inherit; text-decoration: underline; cursor: pointer; font: inherit; font-weight: 600; }

.spq-trampa { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.spq-check label { display: flex; gap: 8px; align-items: flex-start; font-size: 0.9em; }
.spq-check input { margin-top: 3px; flex: none; }
.spq-error { background: #fdecea; color: #8a1c13; border-radius: 6px; padding: 10px 12px; margin: 10px 0; }
.spq-error[hidden], .spq-ok[hidden], .spq-form[hidden] { display: none; }
.spq-acciones { margin: 14px 0 0; text-align: right; }
.spq-ok { text-align: center; padding: 20px 0 8px; }

@media (max-width: 600px) {
	.spq-caja { padding: 22px 16px 16px; }
	.spq-fila { flex-direction: column; gap: 0; }
	.spq-acciones .button { width: 100%; }
}
