.zdf-product-quote{margin:16px 0 18px;padding:14px;border:1px solid #e1e1e1;border-radius:8px;background:#fff}.zdf-product-quote-title{display:block;margin-bottom:8px}.zdf-product-quote-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.zdf-product-quote-form input[type=text]{min-width:160px;max-width:220px;padding:9px 10px;border:1px solid #c7c7c7;border-radius:4px}.zdf-product-quote-button{white-space:nowrap}.zdf-product-quote-result{margin-top:10px}.zdf-product-quote-success{display:grid;gap:3px;padding:10px 12px;border-radius:6px;background:#f3fbf6;border:1px solid #cdebd5}.zdf-product-quote-success span{font-weight:600}.zdf-product-quote-success strong{font-size:1.15em}.zdf-product-quote-success small{color:#666}.zdf-product-quote-error{padding:10px 12px;border-radius:6px;background:#fff7f7;border:1px solid #f1c4c4;color:#8a1f11}.zdf-product-quote-loading{padding:10px 12px;border-radius:6px;background:#f6f7f7;border:1px solid #e1e1e1}@media(max-width:600px){.zdf-product-quote-form input[type=text],.zdf-product-quote-button{width:100%;max-width:100%}}

.zdf-product-quote {
  clear: both;
}
.zdf-product-quote .zdf-product-quote-title {
  display: block;
}

/* Production placement: when Elementor renders WooCommerce hooks below the
   technical sheet, the JS moves this box back to the buy area. */
.single-product form.cart + .zdf-product-quote,
.elementor-widget-woocommerce-product-add-to-cart form.cart + .zdf-product-quote,
.elementor-add-to-cart form.cart + .zdf-product-quote {
  margin-top: 14px;
}
/* Preferred product-page position: after price and before the buy form. */
.zdf-product-quote[data-zdf-positioned="before_cart"],
.zdf-product-quote[data-zdf-positioned="after_price"] {
  max-width: 520px;
  margin: 12px 0 14px;
}
.zdf-product-quote + form.cart,
.zdf-product-quote + .cart {
  margin-top: 10px;
}


/* Align freight action with the site's green buy action. */
.zdf-product-quote .zdf-product-quote-button,
.zdf-product-quote-form .zdf-product-quote-button,
.zdf-product-quote-form button[type="submit"] {
  background-color: #28a745 !important;
  background-image: none !important;
  border: none !important;
  border-radius: 4px !important;
  box-shadow: 0 0 8px rgba(40, 167, 69, .35) !important;
  color: #fff !important;
  cursor: pointer !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  padding: 10px 16px !important;
  text-shadow: none !important;
  transition: transform .18s ease, opacity .18s ease, box-shadow .18s ease !important;
  white-space: nowrap;
}
.zdf-product-quote .zdf-product-quote-button:hover,
.zdf-product-quote .zdf-product-quote-button:focus,
.zdf-product-quote-form button[type="submit"]:hover,
.zdf-product-quote-form button[type="submit"]:focus {
  background-color: #218838 !important;
  background-image: none !important;
  color: #fff !important;
  opacity: .96 !important;
  transform: scale(1.03);
}
.zdf-product-quote .zdf-product-quote-button:disabled,
.zdf-product-quote-form button[type="submit"]:disabled {
  cursor: wait !important;
  opacity: .75 !important;
  transform: none !important;
}

/* Hide the old CEP/OK calculator injected by zd-woo-converte. */
.zdwc-cep-form,
.zdwc-cep-form[class],
.single-product .zdwc-cep-form,
.woocommerce ul.products li.product .zdwc-cep-form,
body.tax-product_cat .zdwc-cep-form,
body.post-type-archive-product .zdwc-cep-form {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

/* Additional conservative aliases for legacy CEP widgets. */
body.single-product .zdcp-cep-form,
body.post-type-archive-product .zdcp-cep-form,
body.tax-product_cat .zdcp-cep-form,
body.tax-product_tag .zdcp-cep-form,
body[class*="tax-pa_"] .zdcp-cep-form,
body.tax-product_tag .zdwc-cep-form,
body[class*="tax-pa_"] .zdwc-cep-form,
body .zdwc-cep-form--product,
body .zdwc-cep-form--loop {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  width: 0 !important;
  max-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}


/* Checkout freight guard. */
.zdf-checkout-guard-note,
.zdf-checkout-guard-client-message {
  margin: 12px 0 !important;
  padding: 12px 14px !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
}
.zdf-checkout-guard-note.is-ok,
.zdf-checkout-guard-client-message.is-ok {
  background: #f3fbf6 !important;
  border: 1px solid #cdebd5 !important;
  color: #244b2d !important;
}
.zdf-checkout-guard-note.is-blocking,
.zdf-checkout-guard-client-message.is-blocking {
  background: #fff8e5 !important;
  border: 1px solid #f0d37a !important;
  color: #6b4d00 !important;
}
#place_order.zdf-checkout-disabled,
button[name="woocommerce_checkout_place_order"].zdf-checkout-disabled {
  cursor: not-allowed !important;
  opacity: .58 !important;
  filter: grayscale(.3) !important;
  animation: none !important;
}

/* Checkout action standardization and hard visual lock. */
.woocommerce-checkout .zdf-continue-shopping {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 10px 10px 0 !important;
  padding: 11px 18px !important;
  border: 1px solid #28a745 !important;
  border-radius: 4px !important;
  background: #fff !important;
  background-image: none !important;
  color: #28a745 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  text-shadow: none !important;
  line-height: 1.2 !important;
}
.woocommerce-checkout .zdf-continue-shopping:hover,
.woocommerce-checkout .zdf-continue-shopping:focus {
  background: #f3fbf6 !important;
  background-image: none !important;
  color: #218838 !important;
}
.woocommerce-checkout #place_order,
.woocommerce-checkout button[name="woocommerce_checkout_place_order"],
.woocommerce-checkout .zdf-place-order-ready {
  background-color: #28a745 !important;
  background-image: none !important;
  border: none !important;
  border-radius: 4px !important;
  color: #fff !important;
  font-weight: 800 !important;
  padding: 12px 22px !important;
  text-shadow: none !important;
  box-shadow: 0 0 10px rgba(40, 167, 69, .35) !important;
  animation: zdf-checkout-action-pulse 2.6s ease-in-out infinite;
}
.woocommerce-checkout #place_order:hover,
.woocommerce-checkout #place_order:focus,
.woocommerce-checkout button[name="woocommerce_checkout_place_order"]:hover,
.woocommerce-checkout button[name="woocommerce_checkout_place_order"]:focus {
  background-color: #218838 !important;
  background-image: none !important;
  color: #fff !important;
}
.woocommerce-checkout #place_order.zdf-place-order-blocked,
.woocommerce-checkout #place_order.zdf-checkout-disabled,
.woocommerce-checkout button[name="woocommerce_checkout_place_order"].zdf-place-order-blocked,
.woocommerce-checkout button[name="woocommerce_checkout_place_order"].zdf-checkout-disabled {
  background-color: #9aa0a6 !important;
  background-image: none !important;
  color: #fff !important;
  cursor: not-allowed !important;
  opacity: .72 !important;
  box-shadow: none !important;
  animation: none !important;
}
.zdf-place-order-blocked-reason {
  display: block !important;
  clear: both !important;
  margin: 8px 0 0 !important;
  padding: 10px 12px !important;
  border-radius: 6px !important;
  background: #fff8e5 !important;
  border: 1px solid #f0d37a !important;
  color: #6b4d00 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}
.zdf-checkout-refresh {
  margin-left: 10px !important;
  padding: 7px 12px !important;
  background: #28a745 !important;
  background-image: none !important;
  border: 0 !important;
  color: #fff !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}
.zdf-checkout-refresh:hover,
.zdf-checkout-refresh:focus {
  background: #218838 !important;
  background-image: none !important;
  color: #fff !important;
}
@keyframes zdf-checkout-action-pulse {
  0%, 100% { transform: scale(1); box-shadow: 0 0 8px rgba(40, 167, 69, .25); }
  50% { transform: scale(1.018); box-shadow: 0 0 16px rgba(40, 167, 69, .48); }
}
@media (max-width: 600px) {
  .woocommerce-checkout .zdf-continue-shopping,
  .woocommerce-checkout #place_order,
  .woocommerce-checkout button[name="woocommerce_checkout_place_order"] {
    width: 100% !important;
    margin-right: 0 !important;
    text-align: center !important;
  }
  .zdf-checkout-refresh {
    display: block !important;
    margin: 10px 0 0 !important;
    width: 100% !important;
  }
}

/* Explicit checkout delivery CEP and freight fee fallback. */
.zdf-checkout-delivery-box{
  margin:0 0 20px;
  padding:16px;
  border:1px solid #cdebd5;
  border-radius:8px;
  background:#f3fbf6;
  clear:both;
}
.zdf-checkout-delivery-box h3{
  margin-top:0;
  margin-bottom:8px;
}
.zdf-checkout-delivery-intro,
.zdf-checkout-delivery-destination{
  margin:0 0 10px;
}
.zdf-checkout-delivery-box #zdf_delivery_postcode{
  max-width:180px;
  font-weight:600;
}
.zdf-checkout-delivery-action{
  padding-top:24px !important;
}
.zdf-checkout-delivery-action .button,
.zdf-checkout-refresh{
  background:#28a745 !important;
  color:#fff !important;
  border:0 !important;
  text-shadow:none !important;
}
.zdf-checkout-delivery-action .button:hover,
.zdf-checkout-refresh:hover{
  background:#218838 !important;
  color:#fff !important;
}
.woocommerce-checkout-review-order-table tr.fee th,
.woocommerce-checkout-review-order-table tr.fee td{
  font-weight:700;
}
@media(max-width:600px){
  .zdf-checkout-delivery-box #zdf_delivery_postcode,
  .zdf-checkout-delivery-action .button{width:100%;max-width:100%;}
  .zdf-checkout-delivery-action{padding-top:0 !important;}
}

/* Contextual WhatsApp action next to freight result. */
.zdf-product-quote-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-top:8px;
}
.zdf-product-quote-whatsapp{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:9px 13px !important;
  border:1px solid #28a745 !important;
  border-radius:4px !important;
  background:#fff !important;
  background-image:none !important;
  color:#218838 !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  text-decoration:none !important;
  text-shadow:none !important;
  box-shadow:none !important;
}
.zdf-product-quote-whatsapp:hover,
.zdf-product-quote-whatsapp:focus{
  background:#f3fbf6 !important;
  color:#1e7e34 !important;
  text-decoration:none !important;
}
@media(max-width:600px){
  .zdf-product-quote-whatsapp{width:100% !important;}
}
