/* WC Form Builder – theme-independent frontend layout v1.4.7 */

.wcfb-product-form,
.wcfb-form-wrapper,
.wcfb-form-wrapper *{
  box-sizing:border-box;
}

.wcfb-product-form,
.wcfb-form-wrapper{
  width:100%;
  max-width:100%;
  clear:both;
}

.wcfb-form-wrapper h3{
  display:block;
  width:100%;
  margin:0 0 18px;
  line-height:1.2;
}

.wcfb-form-fields{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px 22px;
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
}

.wcfb-form-fields .wcfb-field{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
  clear:none !important;
}

.wcfb-form-fields .wcfb-field-full,
.wcfb-form-fields .wcfb-field-textarea{
  grid-column:1 / -1;
}

.wcfb-form-fields label{
  display:block !important;
  width:100%;
  margin:0 0 8px !important;
  padding:0 !important;
  line-height:1.35;
  font-weight:600;
  opacity:1 !important;
  visibility:visible !important;
}

.wcfb-form-fields input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.wcfb-form-fields select,
.wcfb-form-fields textarea{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-height:42px;
  margin:0 !important;
  padding:10px 12px !important;
  border:1px solid #c8c8c8 !important;
  border-radius:4px;
  background:#fff !important;
  color:#111 !important;
  opacity:1 !important;
  visibility:visible !important;
  box-shadow:none !important;
  line-height:1.4;
  appearance:auto;
  -webkit-appearance:auto;
}

.wcfb-form-fields textarea{
  min-height:110px;
  resize:vertical;
}

.wcfb-required{
  color:#d63638;
  margin-left:4px;
}

@media (max-width:768px){
  .wcfb-form-fields{
    grid-template-columns:1fr;
  }
  .wcfb-form-fields .wcfb-field,
  .wcfb-form-fields .wcfb-field-full,
  .wcfb-form-fields .wcfb-field-textarea{
    grid-column:1 / -1;
  }
}


/* v1.4.7 hard fallback: protects controls from aggressive theme/WPBakery/WooCommerce CSS. */
.wcfb-form-wrapper .wcfb-control,
.wcfb-product-form .wcfb-control,
.wcfb-form-wrapper input.wcfb-input,
.wcfb-form-wrapper select.wcfb-select,
.wcfb-form-wrapper textarea.wcfb-textarea,
.wcfb-product-form input.wcfb-input,
.wcfb-product-form select.wcfb-select,
.wcfb-product-form textarea.wcfb-textarea{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:44px !important;
  height:auto !important;
  margin:0 !important;
  padding:10px 12px !important;
  border:1px solid #c8c8c8 !important;
  border-radius:4px !important;
  background:#fff !important;
  color:#111 !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  position:relative !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  z-index:auto !important;
  line-height:1.4 !important;
  box-sizing:border-box !important;
  pointer-events:auto !important;
  -webkit-text-fill-color:#111 !important;
}

.wcfb-form-wrapper textarea.wcfb-textarea,
.wcfb-product-form textarea.wcfb-textarea{
  min-height:110px !important;
}


/* ========================================================================== 
   v1.5.0 legacy WooCommerce registration product layout restore
   Scope: only single product pages with an attached WC Form Builder form.
   ========================================================================== */
body.single-product.wcfb-has-product-form,
body.single-product.wcfb-registration-product-page{
  background:#f4f1e8;
}

body.single-product.wcfb-has-product-form .woocommerce-notices-wrapper,
body.single-product.wcfb-registration-product-page .woocommerce-notices-wrapper{
  max-width:1180px;
  margin:24px auto 0;
  padding:0 20px;
}

body.single-product.wcfb-has-product-form div.product,
body.single-product.wcfb-registration-product-page div.product,
body.woocommerce.single-product.wcfb-has-product-form div.product,
body.woocommerce.single-product.wcfb-registration-product-page div.product{
  width:min(1180px, calc(100vw - 40px)) !important;
  max-width:1180px !important;
  margin:48px auto 64px !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:minmax(260px,340px) minmax(0,1fr) !important;
  gap:48px !important;
  align-items:start !important;
  clear:both !important;
}

body.single-product.wcfb-has-product-form div.product::before,
body.single-product.wcfb-has-product-form div.product::after,
body.single-product.wcfb-registration-product-page div.product::before,
body.single-product.wcfb-registration-product-page div.product::after{
  content:none !important;
  display:none !important;
}

body.single-product.wcfb-has-product-form div.product div.images,
body.single-product.wcfb-registration-product-page div.product div.images,
body.single-product.wcfb-has-product-form div.product .woocommerce-product-gallery,
body.single-product.wcfb-registration-product-page div.product .woocommerce-product-gallery{
  width:100% !important;
  max-width:340px !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  grid-column:1 !important;
}

body.single-product.wcfb-has-product-form div.product div.images img,
body.single-product.wcfb-registration-product-page div.product div.images img,
body.single-product.wcfb-has-product-form div.product .woocommerce-product-gallery img,
body.single-product.wcfb-registration-product-page div.product .woocommerce-product-gallery img{
  width:100% !important;
  height:auto !important;
  max-height:440px !important;
  object-fit:contain !important;
  display:block !important;
  margin:0 auto !important;
}

body.single-product.wcfb-has-product-form div.product div.summary,
body.single-product.wcfb-registration-product-page div.product div.summary,
body.single-product.wcfb-has-product-form div.product .summary,
body.single-product.wcfb-registration-product-page div.product .summary{
  width:100% !important;
  max-width:100% !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  grid-column:2 !important;
  color:#0b0b0d !important;
}

body.single-product.wcfb-has-product-form .product_meta,
body.single-product.wcfb-registration-product-page .product_meta{
  margin:0 0 10px !important;
  font-family:var(--font-mono, monospace) !important;
  font-size:11px !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:#6f7581 !important;
}

body.single-product.wcfb-has-product-form .product_title,
body.single-product.wcfb-registration-product-page .product_title{
  margin:0 0 18px !important;
  font-family:var(--font-display, Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif) !important;
  font-size:clamp(30px,3.4vw,46px) !important;
  line-height:.95 !important;
  letter-spacing:-.02em !important;
  text-transform:uppercase !important;
  color:#0b0b0d !important;
}

body.single-product.wcfb-has-product-form p.price,
body.single-product.wcfb-registration-product-page p.price,
body.single-product.wcfb-has-product-form span.price,
body.single-product.wcfb-registration-product-page span.price{
  margin:0 0 22px !important;
  font-family:var(--font-display, Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif) !important;
  font-weight:900 !important;
  font-size:24px !important;
  color:#0b0b0d !important;
  text-align:right !important;
}

body.single-product.wcfb-has-product-form .woocommerce-product-details__short-description,
body.single-product.wcfb-registration-product-page .woocommerce-product-details__short-description{
  margin:0 0 26px !important;
  font-size:15px !important;
  line-height:1.55 !important;
  color:#4b5563 !important;
}

body.single-product.wcfb-has-product-form .cart,
body.single-product.wcfb-registration-product-page .cart{
  display:block !important;
  width:100% !important;
  margin:22px 0 0 !important;
}

body.single-product.wcfb-has-product-form .wcfb-product-form,
body.single-product.wcfb-registration-product-page .wcfb-product-form{
  margin:24px 0 20px !important;
  padding:0 !important;
  width:100% !important;
  max-width:100% !important;
  clear:both !important;
}

body.single-product.wcfb-has-product-form .wcfb-form-wrapper,
body.single-product.wcfb-registration-product-page .wcfb-form-wrapper{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

body.single-product.wcfb-has-product-form .wcfb-form-wrapper h3,
body.single-product.wcfb-registration-product-page .wcfb-form-wrapper h3{
  margin:0 0 16px !important;
  font-family:var(--font-display, Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif) !important;
  font-size:22px !important;
  line-height:1 !important;
  letter-spacing:.01em !important;
  text-transform:uppercase !important;
  color:#0b0b0d !important;
}

body.single-product.wcfb-has-product-form .wcfb-form-fields,
body.single-product.wcfb-registration-product-page .wcfb-form-fields{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px 18px !important;
  width:100% !important;
  max-width:100% !important;
}

body.single-product.wcfb-has-product-form .wcfb-field,
body.single-product.wcfb-registration-product-page .wcfb-field{
  margin:0 !important;
  padding:0 !important;
}

body.single-product.wcfb-has-product-form .wcfb-field-full,
body.single-product.wcfb-registration-product-page .wcfb-field-full,
body.single-product.wcfb-has-product-form .wcfb-field-textarea,
body.single-product.wcfb-registration-product-page .wcfb-field-textarea{
  grid-column:1 / -1 !important;
}

body.single-product.wcfb-has-product-form .wcfb-form-fields label,
body.single-product.wcfb-registration-product-page .wcfb-form-fields label{
  margin:0 0 7px !important;
  font-family:var(--font-mono, monospace) !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  color:#0b0b0d !important;
}

body.single-product.wcfb-has-product-form .wcfb-form-fields input:not([type="hidden"]),
body.single-product.wcfb-has-product-form .wcfb-form-fields select,
body.single-product.wcfb-has-product-form .wcfb-form-fields textarea,
body.single-product.wcfb-registration-product-page .wcfb-form-fields input:not([type="hidden"]),
body.single-product.wcfb-registration-product-page .wcfb-form-fields select,
body.single-product.wcfb-registration-product-page .wcfb-form-fields textarea{
  min-height:42px !important;
  border-radius:0 !important;
  border:1px solid #c8c8c8 !important;
  background:#fff !important;
  color:#111 !important;
  font-size:14px !important;
  box-shadow:none !important;
}

body.single-product.wcfb-has-product-form form.cart .quantity,
body.single-product.wcfb-registration-product-page form.cart .quantity{
  display:inline-flex !important;
  align-items:stretch !important;
  margin:0 12px 12px 0 !important;
  float:none !important;
  vertical-align:top !important;
}

body.single-product.wcfb-has-product-form form.cart .quantity input.qty,
body.single-product.wcfb-registration-product-page form.cart .quantity input.qty{
  width:52px !important;
  min-height:44px !important;
  text-align:center !important;
  border:1px solid #c8c8c8 !important;
  border-radius:0 !important;
}

body.single-product.wcfb-has-product-form form.cart button.single_add_to_cart_button,
body.single-product.wcfb-registration-product-page form.cart button.single_add_to_cart_button{
  min-height:44px !important;
  width:min(100%, 640px) !important;
  margin:0 0 12px !important;
  border:0 !important;
  border-radius:0 !important;
  background:#111b31 !important;
  color:#fff !important;
  font-family:var(--font-mono, monospace) !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  opacity:1 !important;
}

body.single-product.wcfb-has-product-form .wcpay-payment-request-wrapper,
body.single-product.wcfb-registration-product-page .wcpay-payment-request-wrapper,
body.single-product.wcfb-has-product-form .wc-stripe-payment-request-wrapper,
body.single-product.wcfb-registration-product-page .wc-stripe-payment-request-wrapper,
body.single-product.wcfb-has-product-form .express-checkout,
body.single-product.wcfb-registration-product-page .express-checkout{
  margin-top:10px !important;
  width:100% !important;
}

@media (max-width:900px){
  body.single-product.wcfb-has-product-form div.product,
  body.single-product.wcfb-registration-product-page div.product,
  body.woocommerce.single-product.wcfb-has-product-form div.product,
  body.woocommerce.single-product.wcfb-registration-product-page div.product{
    grid-template-columns:1fr !important;
    gap:28px !important;
    width:min(100%, calc(100vw - 28px)) !important;
    margin:28px auto 48px !important;
  }
  body.single-product.wcfb-has-product-form div.product div.images,
  body.single-product.wcfb-registration-product-page div.product div.images,
  body.single-product.wcfb-has-product-form div.product .woocommerce-product-gallery,
  body.single-product.wcfb-registration-product-page div.product .woocommerce-product-gallery,
  body.single-product.wcfb-has-product-form div.product div.summary,
  body.single-product.wcfb-registration-product-page div.product div.summary,
  body.single-product.wcfb-has-product-form div.product .summary,
  body.single-product.wcfb-registration-product-page div.product .summary{
    grid-column:auto !important;
    max-width:100% !important;
  }
  body.single-product.wcfb-has-product-form p.price,
  body.single-product.wcfb-registration-product-page p.price{
    text-align:left !important;
  }
}

@media (max-width:720px){
  body.single-product.wcfb-has-product-form .wcfb-form-fields,
  body.single-product.wcfb-registration-product-page .wcfb-form-fields{
    grid-template-columns:1fr !important;
  }
  body.single-product.wcfb-has-product-form form.cart button.single_add_to_cart_button,
  body.single-product.wcfb-registration-product-page form.cart button.single_add_to_cart_button{
    width:100% !important;
  }
}


/* ==========================================================================
   v1.5.1 registration cleanup: hide reviews and gallery zoom/search trigger
   Scope: only WooCommerce products with attached WC Form Builder forms.
   ========================================================================== */
body.single-product.wcfb-has-product-form .woocommerce-tabs,
body.single-product.wcfb-registration-product-page .woocommerce-tabs,
body.single-product.wcfb-has-product-form #reviews,
body.single-product.wcfb-registration-product-page #reviews,
body.single-product.wcfb-has-product-form .reviews_tab,
body.single-product.wcfb-registration-product-page .reviews_tab,
body.single-product.wcfb-has-product-form .woocommerce-Reviews,
body.single-product.wcfb-registration-product-page .woocommerce-Reviews,
body.single-product.wcfb-has-product-form .woocommerce-product-rating,
body.single-product.wcfb-registration-product-page .woocommerce-product-rating{
  display:none !important;
}

body.single-product.wcfb-has-product-form .woocommerce-product-gallery__trigger,
body.single-product.wcfb-registration-product-page .woocommerce-product-gallery__trigger,
body.single-product.wcfb-has-product-form .zoomImg,
body.single-product.wcfb-registration-product-page .zoomImg{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

body.single-product.wcfb-has-product-form div.product div.images .woocommerce-product-gallery__image a,
body.single-product.wcfb-registration-product-page div.product div.images .woocommerce-product-gallery__image a{
  cursor:default !important;
}
