/* Precios públicos ocultos; los importes guardados en WooCommerce no cambian. */
.dh-quote-mode .woocommerce-Price-amount,.dh-quote-mode .woocommerce div.product p.price,.dh-quote-mode .woocommerce div.product span.price,.dh-quote-mode .price,.dh-quote-mode .wc-block-components-product-price,.dh-quote-mode .wc-block-grid__product-price{display:none!important}
/* Los formularios de WooCommerce se conservan para poder elegir variaciones y cantidades. */
.dh-quote-mode .woocommerce form.cart button.single_add_to_cart_button,.dh-quote-mode .woocommerce .add_to_cart_button,.dh-quote-mode .woocommerce .ajax_add_to_cart,.dh-quote-mode .wp-block-woocommerce-product-button,.dh-quote-mode .wc-block-components-product-button,.dh-quote-mode a[href*="add-to-cart="]{display:none!important}
.dh-quote-button{display:inline-flex!important;justify-content:center;align-items:center;gap:7px;border:0!important;border-radius:5px!important;background:#111!important;color:#22e36a!important;padding:12px 15px!important;font-weight:700!important;font-size:14px!important;line-height:1.3!important;text-decoration:none!important;cursor:pointer!important;white-space:normal;max-width:100%;text-align:center}
.dh-quote-button:hover,.dh-quote-button:focus{background:#202020!important;color:#55ff97!important}
.dh-quote-add:disabled{opacity:.7;cursor:wait}
.woocommerce ul.products li.product .dh-quote-button{width:100%;box-sizing:border-box;margin-top:10px}
.dh-quote-page{max-width:990px;margin:25px auto;padding:20px;color:#1e2527}
.dh-quote-page h2{font-size:28px;font-weight:700}.dh-quote-page h3{margin:30px 0 14px}
.dh-quote-lines{border:1px solid #dfe5e5;border-radius:10px;overflow:hidden}
.dh-line{display:flex;align-items:center;gap:16px;padding:13px 16px;border-bottom:1px solid #e8eeee}
.dh-line:last-child{border-bottom:0}
.dh-line-image img{height:82px;width:82px;object-fit:contain}
.dh-line-details{flex:1;min-width:150px;display:flex;flex-direction:column;gap:3px;font-size:14px}
.dh-line-details span,.dh-quote-price-note{color:#657477;font-size:13px}
.dh-line>label{font-size:12px;display:flex;flex-direction:column;gap:4px}
.dh-line-quantity{width:77px!important;padding:8px!important;border:1px solid #b6c2c5!important;border-radius:5px!important;color:#111!important}
.dh-remove{background:transparent!important;border:1px solid #dee1e1!important;border-radius:5px!important;color:#555!important;padding:8px 10px!important;cursor:pointer}
.dh-customer-form{display:flex;flex-direction:column;gap:15px}
.dh-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.dh-customer-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.dh-customer-form input,.dh-customer-form textarea{width:100%;padding:12px 13px;border:1px solid #cdd4d6;border-radius:6px;color:#202729;background:white;font-size:15px}
.dh-customer-form input::placeholder,.dh-customer-form textarea::placeholder{color:#889597;opacity:.72}
.dh-submit{align-self:flex-start}.dh-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.dh-notice{padding:14px;border-radius:6px}.dh-success{background:#e7f9ed;color:#126633}.dh-error{background:#fdecec;color:#a30d0d}
.dh-rec-backdrop{position:fixed;inset:0;z-index:999999;background:rgba(15,23,27,.66);display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box}
.dh-rec-dialog{max-width:660px;width:100%;max-height:min(90vh,780px);overflow-y:auto;background:#fff;color:#172427;border-radius:13px;box-shadow:0 18px 65px #0005;padding:23px;box-sizing:border-box}
.dh-rec-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.dh-rec-top h2{margin:0;font-size:23px!important;line-height:1.3;font-weight:700;color:#152426}
.dh-rec-close{font-size:27px;line-height:1;border:0;background:none;color:#48595f;cursor:pointer;padding:0 4px}
.dh-rec-intro{margin:8px 0 18px;font-size:14px;color:#647176}
.dh-rec-list{display:flex;flex-direction:column;gap:0}
.dh-rec-card{border-top:1px solid #e5eaec;display:flex;align-items:center;gap:13px;padding:13px 0}
.dh-rec-card>img{width:73px;height:73px;object-fit:contain;flex-shrink:0}
.dh-rec-details{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px;font-size:14px}
.dh-rec-details strong{overflow-wrap:anywhere}.dh-rec-details small{color:#687578}
.dh-rec-add{background:#102721;border-radius:5px;border:0;color:#fff!important;padding:9px 11px;font-size:12px;text-align:center;cursor:pointer;text-decoration:none;flex-shrink:0}
.dh-rec-add:disabled{opacity:.7;cursor:default}.dh-rec-add.dh-added{background:#287846}
.dh-rec-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;border-top:1px solid #e6edef;margin-top:9px;padding-top:17px}
.dh-rec-continue{border:1px solid #cbd5d7!important;background:#fff!important;padding:11px 14px!important;border-radius:5px;color:#293b3d!important;cursor:pointer}
@media(max-width:620px){.dh-quote-page{padding:10px}.dh-form-grid{grid-template-columns:1fr}.dh-line{flex-wrap:wrap;gap:9px}.dh-line-image img{width:62px;height:62px}.dh-line-details{min-width:calc(100% - 85px)}.dh-rec-dialog{padding:16px}.dh-rec-top h2{font-size:20px!important}.dh-rec-card{flex-wrap:wrap}.dh-rec-add{margin-left:auto}.dh-rec-footer>*{flex:1}}

.dh-floating-quote{position:fixed;right:20px;bottom:24px;z-index:9995;display:flex;align-items:center;gap:10px;background:#101b18;color:#fff!important;border-radius:30px;padding:12px 15px;font-weight:700;text-decoration:none!important;box-shadow:0 7px 22px #0003;font-size:14px}.dh-floating-quote:hover{color:#fff!important;background:#1b3630}.dh-floating-quote strong{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;background:#30cb6b;border-radius:99px;color:#071d10;padding:0 5px;font-size:12px}.dh-quote-mode .dh-floating-quote{line-height:1}@media(max-width:620px){.dh-floating-quote{right:12px;bottom:13px;font-size:12px;padding:10px 13px}}

/* v1.0.1 — WooCommerce y Elementor pueden imprimir el botón de compra en formularios
 * sin un ancestro .woocommerce. Ocultamos solo los botones NATIVOS, no el nuestro.
 * No altera los botones de las opciones de variaciones ni el selector de cantidad.
 */
body.dh-quote-mode form.cart button.single_add_to_cart_button,
body.dh-quote-mode form.cart input.single_add_to_cart_button,
body.dh-quote-mode form.cart button[name="add-to-cart"],
body.dh-quote-mode form.cart input[name="add-to-cart"][type="submit"],
body.dh-quote-mode .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button,
body.dh-quote-mode .elementor-widget-woocommerce-product-add-to-cart button[name="add-to-cart"],
body.dh-quote-mode .woocommerce .product a.add_to_cart_button:not(.dh-quote-button),
body.dh-quote-mode .woocommerce .product a.ajax_add_to_cart:not(.dh-quote-button) {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
/* Mantener un único botón de cotización junto a la cantidad, incluso en Elementor. */
body.dh-quote-mode form.cart .dh-quote-button {
    display: inline-flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
    vertical-align: middle;
}

/* v1.0.2: la misma lista se actualiza sin recargar; evitar dos encabezados. */
.dh-quote-page [hidden]{display:none!important}
.dh-quote-alert:empty{display:none!important}
.dh-line-title{color:#18272a;text-decoration:none;overflow-wrap:anywhere;font-size:14px;font-weight:600}
.dh-line-title:hover{text-decoration:underline}
.dh-quote-whatsapp-note{color:#657477;font-size:13px;line-height:1.5;margin:0}
.dh-quote-page .dh-submit:disabled{opacity:.7;cursor:wait}

/* Selección nativa WooCommerce: Elementor no siempre coloca .woocommerce como ancestro. */
body.dh-quote-mode .single_add_to_cart_button:not(.dh-quote-button),
body.dh-quote-mode a.add_to_cart_button:not(.dh-quote-button),
body.dh-quote-mode button.add_to_cart_button:not(.dh-quote-button){display:none!important}

/* v1.0.3: confirmación tras guardar la solicitud en WordPress. */
.dh-quote-confirmation{border:1px solid #cee7d8;background:#f5fbf7;border-radius:10px;padding:24px 26px;margin:18px 0 28px;color:#19492f}
.dh-quote-confirmation h2{margin:0 0 10px!important;font-size:24px!important;color:#19492f}
.dh-quote-confirmation p{margin:0;color:#2c4d3c;font-size:16px;line-height:1.5}
