/* Velvon Industries B2B Enquiry Builder — monochrome frontend v4.2 */
.vbe-onepage{
  --vbe-accent:#0b0b0b;
  --vbe-panel:#ffffff;
  --vbe-bg:#f5f5f5;
  --vbe-charcoal:#292929;
  --vbe-grey:#6b6b6b;
  --vbe-muted:#777777;
  --vbe-border:#d9d9d9;
  --vbe-border-hover:#bcbcbc;
  --vbe-white:#ffffff;
  width:100%;
  margin:0;
  color:var(--vbe-charcoal);
  background:var(--vbe-bg);
  padding:76px 24px;
  font-family:"Fira Sans",Arial,sans-serif;
}
.vbe-onepage *{box-sizing:border-box}
.vbe-form-title,.vbe-form-card{width:100%;max-width:1200px;margin-left:auto;margin-right:auto}
.vbe-form-title{text-align:center;margin-bottom:34px;max-width:840px}
.vbe-form-title>span{display:block;color:var(--vbe-muted);font-family:"Yantramanav",Arial,sans-serif;font-size:10px;line-height:1.4;font-weight:800;letter-spacing:4px;text-transform:uppercase;margin-bottom:13px}
.vbe-form-title h2{color:#0b0b0b;font-size:35px;line-height:1.18;font-weight:700;letter-spacing:-.55px;text-transform:uppercase;margin:0 0 15px}
.vbe-form-title p{color:var(--vbe-grey);font-family:"Nunito Sans",Arial,sans-serif;font-size:14px;line-height:1.75;max-width:760px;margin:0 auto}
.vbe-brand-points{display:flex;flex-wrap:wrap;justify-content:center;gap:0;margin:22px auto 0;border:1px solid var(--vbe-border);background:#fff;width:fit-content;max-width:100%}
.vbe-brand-points span{position:relative;padding:10px 17px;color:#4f4f4f;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;white-space:nowrap}
.vbe-brand-points span+span:before{content:"";position:absolute;left:0;top:25%;height:50%;width:1px;background:#dedede}

.vbe-form-card{background:var(--vbe-panel);border:1px solid var(--vbe-border);border-radius:3px;padding:40px 42px;box-shadow:0 10px 34px rgba(0,0,0,.035)}
.vbe-section{padding:32px 0;border-bottom:1px solid #e5e5e5}
.vbe-section:first-of-type{padding-top:0}
.vbe-section-heading{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-bottom:21px}
.vbe-section-heading strong{font-size:16px;line-height:1.35;font-weight:700;text-transform:uppercase;color:#0b0b0b}
.vbe-section-heading small{font-family:"Nunito Sans",Arial,sans-serif;font-size:12px;line-height:1.55;color:var(--vbe-muted)}

.vbe-category-pills,.vbe-size-pills,.vbe-quantity-pills,.vbe-option-pills,.vbe-inline-options{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:17px}
.vbe-category-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}
.vbe-category-pills input,.vbe-size-pills input,.vbe-quantity-pills input,.vbe-option-pills input,.vbe-product-card input,.vbe-colors input,.vbe-inline-options input{position:absolute;opacity:0;pointer-events:none}
.vbe-category-pills span,.vbe-size-pills span,.vbe-quantity-pills span,.vbe-option-pills span,.vbe-inline-options span{display:block;border:1px solid var(--vbe-border);background:#fff;color:var(--vbe-charcoal);padding:11px 15px;border-radius:2px;font-size:10px;line-height:1;font-weight:700;letter-spacing:.65px;text-transform:uppercase;cursor:pointer;transition:.2s ease}
.vbe-category-pills span{padding:15px 18px;text-align:center;font-size:11px;letter-spacing:1.1px}
.vbe-category-pills label:hover span,.vbe-size-pills label:hover span,.vbe-quantity-pills label:hover span,.vbe-option-pills label:hover span,.vbe-inline-options label:hover span{border-color:#9d9d9d}
.vbe-category-pills label.is-selected span,.vbe-size-pills label.is-selected span,.vbe-quantity-pills label.is-selected span,.vbe-option-pills label.is-selected span,.vbe-inline-options label.is-selected span{border-color:var(--vbe-accent)!important;background:var(--vbe-accent)!important;background-image:none!important;color:#fff!important;box-shadow:none!important}

.vbe-subcategory-wrap{margin:4px 0 18px;padding:16px 18px;background:#f7f7f7;border:1px solid var(--vbe-border)}
.vbe-subcategory-label{font-size:9px;font-weight:800;letter-spacing:1.4px;color:#777;margin-bottom:11px;text-transform:uppercase}
.vbe-subcategory-pills{display:flex;flex-wrap:wrap;gap:8px}
/* Strong specificity + !important prevents Elementor/theme button colors from leaking into Velvon product-group buttons. */
.vbe-onepage button.vbe-subcategory-btn{appearance:none!important;-webkit-appearance:none!important;border:1px solid var(--vbe-border)!important;background:#ffffff!important;background-image:none!important;color:#292929!important;box-shadow:none!important;text-shadow:none!important;padding:11px 15px!important;border-radius:2px!important;font-family:"Fira Sans",Arial,sans-serif!important;font-size:9.5px!important;line-height:1!important;font-weight:700!important;letter-spacing:.8px!important;text-transform:uppercase!important;cursor:pointer!important;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease!important}
.vbe-onepage button.vbe-subcategory-btn:hover{background:#f2f2f2!important;border-color:#9c9c9c!important;color:#0b0b0b!important;transform:translateY(-1px)!important}
.vbe-onepage button.vbe-subcategory-btn.is-selected{background:#0b0b0b!important;background-image:none!important;border-color:#0b0b0b!important;color:#ffffff!important;box-shadow:none!important}
.vbe-select-category-note{margin:0 0 18px;padding:14px 15px;border:1px dashed #c9c9c9;background:#fafafa;color:#777;font-family:"Nunito Sans",Arial,sans-serif;font-size:12px;line-height:1.6}

.vbe-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:16px 0 18px}
.vbe-product-card{position:relative;border:1px solid var(--vbe-border);border-radius:3px;background:#ffffff;padding:10px;text-align:left;cursor:pointer;transition:.25s ease;min-height:0;overflow:hidden}
.vbe-product-card:before{content:"";position:absolute;top:0;left:0;width:0;height:3px;background:#0b0b0b;transition:width .3s ease}
.vbe-product-card:hover,.vbe-product-card.is-selected{border-color:#a9a9a9;transform:translateY(-3px);background:#fff;box-shadow:0 12px 28px rgba(0,0,0,.06)}
.vbe-product-card:hover:before,.vbe-product-card.is-selected:before{width:100%}
.vbe-product-card .vbe-tick{position:absolute;top:11px;left:11px;width:23px;height:23px;border:1px solid #bcbcbc;background:#fff;color:transparent;border-radius:2px;font-size:12px;display:flex;align-items:center;justify-content:center;z-index:2}
.vbe-product-card.is-selected .vbe-tick{background:#0b0b0b;border-color:#0b0b0b;color:#fff}
.vbe-product-image{width:100%;height:auto;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;margin:5px 0 11px;overflow:hidden;background:#f3f3f3}
.vbe-product-image img{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center center!important;transition:none!important;background:transparent!important}
.vbe-product-card:hover .vbe-product-image img{transform:none!important}
.vbe-product-image>span{color:#8b8b8b;font-size:11px}
.vbe-product-group{display:block;color:#858585;font-family:"Yantramanav",Arial,sans-serif;font-size:8.5px;line-height:1.35;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;margin:0 4px 5px}
.vbe-product-card strong{display:block;color:#0b0b0b;font-size:11px;line-height:1.35;font-weight:700;text-transform:uppercase;padding:0 4px 5px}
.vbe-empty{padding:15px;border:1px dashed #c9c9c9;background:#fafafa;color:var(--vbe-muted);font-family:"Nunito Sans",Arial,sans-serif;font-size:12px;line-height:1.6;margin-bottom:14px}

.vbe-wide,.vbe-field input,.vbe-field select,.vbe-section textarea{width:100%;background:#fff!important;color:#292929!important;border:1px solid #d3d3d3!important;border-radius:2px!important;min-height:46px;padding:11px 13px!important;font-family:"Nunito Sans",Arial,sans-serif!important;font-size:13px!important;box-shadow:none!important;transition:border-color .2s ease}
.vbe-section textarea{min-height:98px;resize:vertical}
.vbe-wide:focus,.vbe-field input:focus,.vbe-field select:focus,.vbe-section textarea:focus{outline:none!important;border-color:#0b0b0b!important}
.vbe-fields-grid,.vbe-custom-frontend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}
.vbe-custom-frontend-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}
.vbe-span-2{grid-column:1/-1}
.vbe-field label{display:block;color:#292929;font-size:10px;line-height:1.4;font-weight:700;letter-spacing:.35px;text-transform:uppercase;margin-bottom:7px}
.vbe-field select option{color:#111;background:#fff}

.vbe-upload-row{display:grid;grid-template-columns:2fr 1fr;gap:16px}
.vbe-upload-zone{position:relative;min-height:190px;border:1px dashed #8f8f8f;background:#fafafa;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:26px;cursor:pointer;transition:.2s ease}
.vbe-upload-zone:hover{border-color:#0b0b0b;background:#fff}
.vbe-upload-zone input{position:absolute;opacity:0;width:1px;height:1px}
.vbe-upload-icon{font-size:28px;color:#0b0b0b;line-height:1}
.vbe-upload-zone strong{margin-top:8px;font-size:13px;color:#0b0b0b}
.vbe-upload-zone small{color:var(--vbe-muted);font-family:"Nunito Sans",Arial,sans-serif;margin-top:7px}
.vbe-upload-zone em{font-style:normal;color:#555;font-family:"Nunito Sans",Arial,sans-serif;font-size:11px;margin-top:11px;max-width:100%;word-break:break-word}
.vbe-upload-help{background:#0b0b0b;border:1px solid #0b0b0b;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:#fff}
.vbe-upload-help>span{font-size:28px;color:#fff}
.vbe-upload-help strong{font-size:12px;margin:8px 0;color:#fff;letter-spacing:.6px}
.vbe-upload-help small{font-family:"Nunito Sans",Arial,sans-serif;font-size:10px;color:#bdbdbd;line-height:1.6}

.vbe-colors{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}
.vbe-colors label{text-align:center;cursor:pointer}
.vbe-colors label span{display:block;width:34px;height:34px;background:var(--swatch);border:2px solid #fff;box-shadow:0 0 0 1px #c9c9c9;cursor:pointer;margin:0 auto 6px}
.vbe-colors label small{font-family:"Nunito Sans",Arial,sans-serif;font-size:9px;color:var(--vbe-muted)}
.vbe-colors label.is-selected span{box-shadow:0 0 0 2px #0b0b0b}
.vbe-moq-note{margin:10px 0 15px;color:var(--vbe-muted);font-family:"Nunito Sans",Arial,sans-serif;font-size:11px;line-height:1.5}
.vbe-order-grid{margin-top:14px}

.vbe-submit-area{text-align:center;padding-top:31px}
.vbe-consent{display:flex;align-items:flex-start;justify-content:center;gap:9px;color:var(--vbe-grey);font-family:"Nunito Sans",Arial,sans-serif;font-size:11px;line-height:1.5;margin:0 auto 19px;max-width:720px}
.vbe-consent input{margin-top:2px}
.vbe-submit-area button{appearance:none;border:1px solid #0b0b0b;background:#0b0b0b;color:#fff;font-family:"Fira Sans",Arial,sans-serif;font-weight:700;font-size:10px;letter-spacing:1.25px;text-transform:uppercase;padding:16px 32px;border-radius:2px;cursor:pointer;transition:.2s ease}
.vbe-submit-area button:hover{background:#fff;color:#0b0b0b;filter:none;transform:translateY(-2px)}
.vbe-submit-area button:disabled{opacity:.55;cursor:wait;transform:none}
.vbe-message{min-height:18px;margin:12px 0 0;font-family:"Nunito Sans",Arial,sans-serif;font-size:12px}
.vbe-message.is-error{color:#b42318}
.vbe-message.is-success{color:#2f6d49}
.vbe-hp{position:absolute!important;left:-99999px!important;opacity:0!important}
.vbe-accessory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}

@media(max-width:991px){
  .vbe-onepage{padding:60px 22px}
  .vbe-product-grid,.vbe-accessory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vbe-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vbe-custom-frontend-grid{grid-template-columns:1fr}
  .vbe-upload-row{grid-template-columns:1fr}
  .vbe-form-card{padding:30px 26px}
}
@media(max-width:600px){
  .vbe-onepage{padding:48px 16px}
  .vbe-form-title{margin-bottom:28px}
  .vbe-form-title>span{font-size:9px;letter-spacing:3px}
  .vbe-form-title h2{font-size:27px;line-height:1.22}
  .vbe-form-title p{font-size:14px}
  .vbe-brand-points{width:100%;display:grid;grid-template-columns:1fr}
  .vbe-brand-points span{white-space:normal}
  .vbe-brand-points span+span:before{top:0;left:15%;width:70%;height:1px}
  .vbe-form-card{padding:24px 18px}
  .vbe-section{padding:25px 0}
  .vbe-category-pills{grid-template-columns:1fr;gap:7px}
  .vbe-category-pills span{padding:13px 14px}
  .vbe-product-grid,.vbe-accessory-grid{grid-template-columns:1fr;gap:12px}
  .vbe-product-card{min-height:auto}
  .vbe-product-image{height:auto!important;aspect-ratio:1/1}
  .vbe-fields-grid{grid-template-columns:1fr}
  .vbe-section-heading{display:block}
  .vbe-section-heading strong{display:block;font-size:15px}
  .vbe-section-heading small{display:block;margin-top:6px}
  .vbe-category-pills span,.vbe-size-pills span,.vbe-quantity-pills span,.vbe-option-pills span,.vbe-inline-options span{padding:10px 12px}
  .vbe-upload-zone{min-height:170px}
  .vbe-submit-area button{width:100%}
}
