.df-calculator{
  margin:22px 0;
  padding:24px;
  border:1px solid #e7e7e7;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 28px rgba(0,0,0,.04);
  max-width:620px;
}
.df-calculator *{box-sizing:border-box}
.df-calculator-head h3{margin:0 0 6px;font-size:24px;line-height:1.25;color:#1f2937}
.df-calculator-head p{margin:0 0 20px;color:#6b7280;font-size:14px}
.df-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.df-input-grid label{display:block;font-size:14px;font-weight:600;color:#374151}
.df-input-grid label>span{display:block;margin-bottom:7px}
.df-input-wrap{position:relative}
.df-input-wrap input{
  width:100%;
  height:52px;
  border:1px solid #d7dce2;
  border-radius:9px;
  padding:0 52px 0 14px;
  font-size:16px;
  background:#fff;
}
.df-input-wrap input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.10)}
.df-input-wrap b{
  position:absolute;right:14px;top:50%;transform:translateY(-50%);
  color:#6b7280;font-size:13px
}
.df-calculate{
  width:100%;height:54px;margin-top:18px;border:0;border-radius:9px;
  background:#173d73;color:#fff;font-size:16px;font-weight:700;cursor:pointer;
  transition:.2s ease;
}
.df-calculate:hover{transform:translateY(-1px);filter:brightness(1.06)}
.df-hint{
  margin-top:16px;padding:14px;border-radius:9px;
  background:#eef5ff;color:#35516f;font-size:13px;line-height:1.5;
  display:flex;gap:9px;align-items:flex-start
}
.df-error{color:#b42318;font-size:13px;margin-top:10px;font-weight:600}
.df-result{
  margin-top:18px;border:1px solid #e4e7ec;border-radius:12px;overflow:hidden;
  animation:dfFade .25s ease;
}
.df-result[hidden]{display:none!important}
.df-result-top{padding:20px;background:#f8fafc;text-align:center}
.df-result-top span{display:block;color:#667085;font-size:13px;margin-bottom:7px}
.df-result-top strong{display:block;font-size:30px;line-height:1.2;color:#173d73;margin-bottom:7px}
.df-result-top small{color:#667085;font-size:12px;line-height:1.4}
.df-details{padding:18px 20px}
.df-details h4{margin:0 0 10px;font-size:15px;color:#1f2937}
.df-details>div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #eef0f2;font-size:14px}
.df-details>div:last-child{border-bottom:0}
.df-details span{color:#667085}
.df-details b{color:#1f2937}
.df-whatsapp{
  margin:0 18px 18px;height:54px;border-radius:9px;background:#20b358;color:#fff!important;
  text-decoration:none!important;display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:15px;transition:.2s ease
}
.df-whatsapp:hover{filter:brightness(1.05);transform:translateY(-1px)}
.df-no-whatsapp{margin:0 18px 18px;padding:12px;background:#fff8e6;border-radius:8px;font-size:13px}
@keyframes dfFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){
  .df-calculator{padding:18px;border-radius:12px}
  .df-input-grid{grid-template-columns:1fr}
  .df-calculator-head h3{font-size:21px}
}

/* v2 refinements */
.df-calculator{font-family:inherit;color:#1f2937}
.df-calculator .df-calculator-head{border-bottom:1px solid #edf0f4;padding-bottom:16px;margin-bottom:18px}
.df-calculator .df-calculator-head h3{font-weight:700;letter-spacing:-.02em}
.df-calculator .df-calculate{box-shadow:0 6px 16px rgba(23,61,115,.14)}
.df-calculator .df-result-top strong{letter-spacing:-.025em}
.df-calculator .df-whatsapp:before{content:"";width:9px;height:9px;border-radius:50%;background:#fff;margin-right:9px}
@media(max-width:768px){.df-calculator{width:100%;margin-top:18px}}

/* v3 - WoodMart visual refinements */
.df-calculator{
  max-width:none;
  padding:24px 24px 22px;
  border:1px solid #e7e9ed;
  border-radius:12px;
  box-shadow:none;
}
.df-calculator .df-calculator-head h3{
  font-size:22px;
  color:#202a35;
  margin-bottom:5px;
}
.df-calculator .df-calculator-head p{font-size:13px;color:#7b8490}
.df-input-wrap input{
  height:54px;
  border-radius:2px;
  border-color:#dfe3e8;
  text-align:left;
}
.df-calculate{
  height:52px;
  border-radius:2px;
  background:#173f78!important;
  color:#fff!important;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.01em;
}
.df-hint{
  background:#eef5ff;
  border:1px solid #d8e7fb;
  border-radius:6px;
}
.df-result{
  border-radius:8px;
  box-shadow:0 3px 14px rgba(20,35,55,.04);
}
.df-result-top{
  padding:23px 18px 21px;
  background:#f7f9fb;
}
.df-result-top strong{
  font-size:31px;
  color:#173f78;
}
.df-details{padding:17px 18px}
.df-details h4{font-size:14px}
.df-whatsapp{
  height:50px;
  border-radius:6px;
  background:#20b85a!important;
  font-size:14px;
}
.df-whatsapp:before{
  content:"\f232";
  font-family:Arial,sans-serif;
  font-weight:700;
  width:auto;height:auto;background:none;margin-right:9px;
}
/* Common WoodMart extras that aren't relevant to custom-measure furniture */
.single-product .wd-single-add-to-cart,
.single-product .wd-buttons .wd-action-btn.wd-style-text,
.single-product .wd-sizeguide-btn,
.single-product .size-guide-button{display:none!important}
@media(max-width:768px){
  .df-calculator{padding:18px 16px}
  .df-input-grid{gap:10px}
}

/* PRO v4: force the product area to match DolapFabrikasi custom-quote UX */
.single-product .df-calculator ~ *,
.single-product .summary .wd-single-add-to-cart,
.single-product .summary .wd-buy-now-btn,
.single-product .summary .single_add_to_cart_button,
.single-product .summary .quantity,
.single-product .summary .wd-product-brands,
.single-product .summary .product-brand,
.single-product .summary .wd-single-price,
.single-product .summary > .price,
.single-product .summary > .cart,
.single-product .summary .wd-buttons,
.single-product .summary .wd-action-btn.wd-style-text,
.single-product .summary .wd-sizeguide-btn{
  /* Kept intentionally conservative; JS handles theme-specific elements. */
}
.df-calculator{
  margin-top:18px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:10px;
}
.df-calculator .df-calculate{
  background:#173d78!important;
  color:#fff!important;
  border:0!important;
  border-radius:4px!important;
}
.df-calculator .df-whatsapp{
  background:#20b95a!important;
  color:#fff!important;
  border-radius:6px!important;
}
.df-calculator .df-result-top{
  background:#f7f9fb!important;
}

/* PRO v5: remove remaining WoodMart purchase/meta clutter on custom-measure products */
.single-product .df-calculator ~ .product_meta,
.single-product .summary .product_meta,
.single-product .summary .wd-product-meta,
.single-product .summary .wd-single-wishlist,
.single-product .summary .wd-single-actions,
.single-product .summary .wd-wishlist-btn{
  display:none!important;
}
.df-calculator .df-hint{transition:opacity .2s ease}
.df-calculator .df-result{margin-top:16px}
